Wpis z mikrobloga

Chwała Wszystkim Dobrym Programistom,

od dłuższego czasu bawię się w programowaniu w Pythonie. Myślę, że ogarnąłem wystarczająco dużo aby zacząć szukać pracy jako programista. Napisałem kilka aplikacji, w tym jedną dość dużą dla firmy w której pracowałem. To program do zarzdzania zadaniami w firmie. Wpisywania aktualnych prac, przesyłek od klientów, generacji zestawień prac do akruszy kalkulacyjnych by wysłać do klienta itd. Pisanie tego nauczyło mnie typów danych, pętli, instrukcji warunkowych, obsługi bazy danych i ogólnego pojęcia z czym wiąże się ten zawód. Szukam jednak pracy jako "żółtodziób" do przyuczenia pracy w grupie (aha, bawiłem się trochę w GIT) i kogoś kto chce się w tym rozwijać. Teraz szukam ofert i widzę same ogłoszenia dla doświadczonych z płacami od 8k. Jak mogę szukać pracy dla początkującego?

#python #programowanie
  • 20
@Patrick_Rowerovsky: Przejrzyj te oferty dla doświadczonych dokładnie, co chwila jest podobny post do Twojego - często jest tak, że doświadczenie jest w sekcji "mile widziane" a nie "wymagane", wtedy to jest informacja, że dobry żółtodziób też mile widziany.

Ostatnio przejrzałem tak kilkadziesiąt ofert w Warszawie i znalazłem 2-3 od razu.

Dodatkowo teraz w Covid19 jest ciężej z praktykami/stażami, ale jak byłem studentem/absolwentem to szukałem bezpośrednio na stronach firm.
@svs_svs: Warszawa

@Islam: Bardzo chętnie. Logika napisana jest w Pythonie, front w kivy a baza danych to Firebase + zdalny dysk z komunikacją po SFTP na pliki. Program posiada również lokalną bazę danych w plikach tekstowych aby użytkownicy mogli korzystać z tych danych off-line. Ogólnie cały kod to w tej chwili 800kb i napisałem tam na tyle dużo, że ciężko mi wszystko opisać i gdybym to zrobił tekstu chyba byłoby
@Patrick_Rowerovsky: Dziękuje za wyczerpującą odpowiedź, nie spodziewałem się tego. Może trzeba było popisać jakieś unittesty? :P Jeśli powstanie jakiś film to proszę o wołanie :) Brzmi bardzo ciekawie, sam myślę nad jakimś projektem ale raczej w django, narazie się zapętliłem w tutorialach i czekam nie wiem na co
Jest osoba która ma dostęp (ja i szef firmy) do profili użytkowników i ona je przyznaje. Przy każdym logowaniu pobierany jest profil i względem niego tworzone jest menu danego użytkownika. Dążysz do tego, że użytkownik może z kompa osoby która ma dostęp do przyznawania uprawnień przyznać je sobie sama?
Dążysz do tego, że użytkownik może z kompa osoby która ma dostęp do przyznawania uprawnień przyznać je sobie sama?


@Patrick_Rowerovsky: Nie

Przy każdym logowaniu pobierasz profil - co, kiedy i w jaki sposób pobiera ten profil? I skąd?

PS. zwróć uwagę czy mnie wołasz, bo przez to gdybym sam nie sprawdził to bym nie zauważył odpowiedzi.
zwróć uwagę czy mnie wołasz,


@Ilythiiri: Ok, nie zauważyłem.

Przy logowaniu do Firebase użytkownik otrzymuje Token oraz swoje ID po czym wysyłam zapytanie z tym ID i Tokenem do Firebase i stamtąd pobieram dane w których zapisane są zakładki jakie mu się wyświetlą oraz akcje które może wykonywać np, usuwanie postów czy wyznaczenie innym dyżurów.
@Patrick_Rowerovsky: Ok, a jak wezmę token użytkownika (podsłucham komunikację po sieci, zrobię reverse enegeering, wyciągnę z pamięci komputera etc.) i zacznę ręcznie pisać do innych tabel w Firebase, to jest mnie w stanie coś powstrzymać, czy tylko logika zawarta w aplikacji?

Innymysłowy: jeśli zdobędę token którego używa aplikacja, to powstrzymuje mnie coś przed dodaniem sobie uprawnień albo pobraniem danych których mi nie pozwoliłeś?

@Ilythiiri jesli przechwycisz odpowiedz po logowaniu i wstrzykniesz tam odpowiednie dane to owszem dostaniesz te zakladki. Ogolnie to moge tez sprawdzic w logach kto do ktorych zakladek ma dostęp. Ogolnie jesyem świadomym tego i paru innych zagrozeń ale jakbym miał wszystko super dopracować to samemu nie dam rady czasowo tego stworzyć. Tym bardziej, że nie jestem biegły w security. Moglbym w sumie dodatkowo zaszyfrowac pewne dane ale nie pracuję już nad dalszym
@Patrick_Rowerovsky: No ok, ale szyfrowanie niewiele pomoże jeśli warstwa autoryzacji nie istnieje. W Twojej architekturze program jedzie bezpośrednio po bazie i tego nie da się dobrze zabezpieczyć.

Prawidłowo jest tak, że istnieje serwer (np. Django + Django Rest Framework) z którym komunikują się instalacje Twojego programu i po zalogowaniu się (login+password) otrzymują access_token (powiedzmy odpowiednik ciasteczka sesji) dzięki któremu autoryzują swoje kolejne akcje i... żadnej akcji nie podejmują bezpośrednio! Tylko proszą
@Ilythiiri ok rozumiem co napisałeś. Od dwóch dni uczę się Django więc na tę chwilę nie napiszę jeszcze apki w architekturze którą opisałeś. Zastanawiam się czy skoro mogę pisać kod po stronie Firebase to mogę tam umieścić logikę odpowiedzialną za obsługę danych i tylko ona miałaby dostęp do bazy. Dzięki za te wskazówki, nie wiedziałem, że to powinno działać w ten sposób.