admin 0Comment

Jeśli jesteś tutaj po raz pierwszy i nie bardzo wiesz o co chodzi, możesz chcieć zajrzeć do tego tematu. A jeśli nie masz na to ochoty, pokrótce wyjaśnię, że zgodnie z planem, przez sześć miesięcy mam zamiar uczyć się programowania w języku Python, oraz w mniejszej skali, w języku Java. Poświęcał będę na to osiem godzin przez pięć dni w tygodniu, co daje 40h/tydzień. Celem jest zdobycie zatrudnienia jako junior developer. Moją naukę będę podsumowywał w tematach takich jak ten, który właśnie czytasz.

Podczas trzeciego tygodnia nauki stopniowo przeszedłem z zagadnień ogólnych do planowania praktycznego ich zastosowania. Najlepszym sposobem nauki na tym etapie wydaje się być praca nad własnym projektem, co też zaczynam powoli wdrażać.

 

Zaczynam wykorzystywać OOP praktycznie

 

Jako, że interesuję się także zagadnieniami finansów osobistych, postanowiłem, że moja dalsza praca skupi się wokół pomysłu, który przyszedł mi do głowy jakiś czas temu. Napisałem wtedy stosunkowo prostą aplikację, działającą w środowisku tekstowym, która służy m.in. do planowania i zarządzania budżetem na dany miesiąc, a także pozwala zapisywać (korzystając z pythonowskiego modułu shelve) sumy dla danego miesiąca etc. Ot, prosty planner finansowy i zestawienie comiesięcznego stanu środków finansowych. Oczywiście aplikacja napisana była pierwotnie bez wykorzystania OOP, opierała się na stosowaniu oddzielnych funkcji i, nie ma co się tutaj oszukiwać, sphagetti code.

 

Pracuję nad konkretnym praktycznym projektem

 

Moim pomysłem na dalszą naukę OOP jest wykorzystanie opisywanej appki, usprawnienie jej funkcjonalności i refaktoryzowanie jej obiektowo. Jako, że docelowo ma być (względnie oczywiście, jak na moje aktualne umiejętności) stosunkowo spora a ja dopiero co zacząłem poznawać zagadnienie programowania obiektowego, idzie to powoli i w bólach ale do przodu, linijka kodu za linijką.

 

Orientuję się jak wygląda wykorzystanie Pythona w sieci

 

Oznacza to, że z etapu pisania prostych programów-skryptów, działających na moim komputerze chciałbym przejść do zagadnień web service, serwerów oraz baz danych. To spory krok i na razie napotykam na same niewiadome. Jest to jednak niezbędny krok by uzyskać umiejętności, które mogą mi się przydać w pracy zawodowej.

 

Zdecydowałem się na zapoznanie z Django

 

Jest to framework przeznaczony do tworzenia aplikacji internetowych, napisanych w Pythonie. Jak najszybciej chciałbym przy jego pomocy zacząć pracę na przykładzie opisanej powyżej aplikacji budżetowej, tyle, że nie działającej już na moim komputerze, ale jako aplikacja sieciowa. Później przyjdzie też czas na wykorzystanie w niej zewnętrznej bazy danych, co pozwoli mi poznać i ten temat.

 

Końcowe rozdziały kursu Learn Python the Hard Way są bardzo przydatne

 

Dotykają takich zagadnień jak projektowanie obiektowe, tworzenie szkieletu własnych projektów czy test-driven development (oczywiście na bardzo podstawowym poziomie) – innymi słowy, tym, co jest naturalnymi kolejnymi zagadnieniami do poznania po moim podstawowym kursie oraz co świetnie zazębia się z opisywanymi wyżej zagadnieniami.

 

Java? Nic nowego

 

Nadal uczę się podstaw, m.in. control flow statements. Cóż, trzeba najpierw nauczyć się chodzić żeby móc potem biegać. Cieszę się, że naukę Javy rozpocząłem posiadając już pewną wiedzę z zakresu Pythona – w tym momencie nauka drugiego języka najczęściej polega na porównywaniu jak pożądane efekty osiąga się w porównaniu do pierwszego języka. Nauka programowania od zera na podstawie Javy byłaby dużo ciężka chociaż nie niemożliwa oczywiście.

 

***

 

Ten tydzień jest szczególnie ważny, ponieważ w jego trakcie przeszedłem z, w dużej części, oderwanej od praktyki nauki zagadnień do pracy ze skonkretyzowanym celem -w tym wypadku aplikacją napisaną zgodnie z OOP, mającą najpierw działać jako osobny program offline a następnie, jako aplikacja web by końcowo zostać postawionym na serwerze i wykorzystywać zewnętrzną bazę danych.

Dodaj komentarz