Posts List

WorkTimetable -Podsumowanie konkursu

WorkTimetable -Podsumowanie konkursu

Uff 10 tygodni minęło szybciej niż myślałem. Było to całkiem niezłe wyzwanie, któremu udało mi się sprostać więc mogę się uznać za zwycięzcę. A łatwe to nie było. Ostatnie dwa tygodnie to była już trochę walka z samym sobą by wytrzymać i nie odpaść na końcówce. Wymagało to dość sporo samodyscypliny by pogodzić blogowanie z innymi sprawami. A teraz przyszedł czas na małe podsumowanie konkursu Daj się Poznać 2017

WorkTimetable#10 – Połączmy ścieżki z bazą danych

WorkTimetable#10 – Połączmy ścieżki z bazą danych

W ostatnim wpisie udało mi się skutecznie połączyć z bazą danych. Jeszcze wcześniej stworzyłem działające ścieżki. Teraz przyszła pora by to wszystko połączyć w jedną całość. Zmiany w klasie Events Tak naprawdę najwięcej się zmieniło w pliku routes\events.py. Pierwsze co zrobiłem to rozdzieliłem dotychczasową klasę Events na dwie: Event i Events. Na pierwszy rzut oka może się to wydawać dziwne i niepotrzebne ale ma to swoje uzasadnienie. W klasie Events mamy do czynienia z więcej niż jednym obiektem wydarzenia, tutaj umieściłem endpointy dotyczące pobrania wszystkich rekordów oraz dodania nowego do istniejących.

Robert C. Martin Czysty kod – recenzja

Robert C. Martin Czysty kod – recenzja

Jestem studentem drugiego roku informatyki i do tej pory musiałem przeczytać wiele książek dotyczących różnych języków programowania, algorytmów itp. ale żadna nie nauczyła mnie tyle na temat programowania co Czysty kod autorstwa Roberta C. Martina. Według mnie jest to być jedna z ważniejszych książek z którą każdy programista powinien mieć do czynienia. (Nie)Czysty kod Pierwsze co należy powiedzieć o tej książce to to, że nie jest to prosta lektura. Nie da się jej przeczytać w jeden wieczór jeśli chcemy wyciągnąć z niej wszystko co ma do zaoferowania.

WorkTimetable#9 – Połączenie serwera z bazą danych sql na Azure

WorkTimetable#9  – Połączenie serwera z bazą danych sql na Azure

W ostatnim wpisie udało mi się stworzyć kontrolery do mojej aplikacji, które będą odpowiedzialne za dostarczanie danych. Jednak żeby to wszystko działało to trzeba te dane gdzieś trzymać i w jakiś sposób operować na nich. Tak więc dziś krótki poradnik jak skonfigurować SQLAlchemy we Flasku, żeby działało na bazie danych SQL na Azure. Baza danych SQL w Azure Zanim zaczniemy cokolwiek konfigurować to trzeba mieć bazę danych z którą będziemy się łączyć.

Poukładajmy kod – moduły, fukcje i klasy w Pythonie

Poukładajmy kod – moduły, fukcje i klasy w Pythonie

Bardzo często podczas pisania dłuższych aplikacji powtarzamy swój kod. Jest to nieuniknione ponieważ wykorzystujemy podobne algorytmy do różnych celów. Warto temu przeciwdziałać już na samym początku i wydzielać samodzielne kawałki kodu w specjalnie konstrukcje o których powiem dziś parę słów. Funkcje Jest to najprostszy sposób by wydzielić fragment kodu. Skąd wiedzieć kiedy ich użyć? Na pewno zawsze wtedy kiedy widzimy powtórzenia tego samego kodu które różnią się tylko argumentem na którym wykonujemy operacje.

WorkTimetable#8 – Flask-RESTful

WorkTimetable#8 – Flask-RESTful

W ostatnim wpisie pokazałem(znajdziecie go tutaj), że stworzenie prostego serwera Api nie jest ciężkie. Jednak w większości projektów takie coś może być uciążliwe i dlatego postanowiłem przepisać swoją aplikację z wykorzystaniem biblioteki, która pomaga w tworzeniu serwerów API w architekturze REST. Flask-RESTful – refactor istniejącego kodu Korzystanie z Flask-RESTful zacząłem od zainstalowania odpowiedniej biblioteki przy pomocy menadżera pip pip install flask-restful Teraz można przekształcać istniejący kod by korzystał z zalet Flask-RESTful.

WorkTimetable#7 – Stwórzmy ścieżki

WorkTimetable#7 – Stwórzmy ścieżki

W ostatnim wpisie dotyczącym projektu stworzyłem podstawowy projekt w Pythonie. Jednak z jedną ścieżką wiele nie zdziałam więc czas na zdefiniowanie ścieżek. Cały mój kod możecie zobaczyć i ściągnąć tutaj. Architektura REST Ścieżki zwane również endpoint’ami będą punktami do których będziemy się odwoływać w aplikacji żeby otrzymać lub dodać dane. W celu trzymania się pewnych standardów będę korzystał z architektury REST w której są dostępne 5 metody: GET – pobranie rekordu lub rekordów POST – dodanie nowego rekordu PUT – aktualizacja całego rekordu PATCH – aktualizacja pojedynczego pola w rekordzie DELETE – usunięcie pojedynczego rekordu lub rekordów Dodajmy własne ścieżki Mając tą podstawową wiedzę można budować już ścieżki w Pythonie.

Struktury danych w Pythonie – podstawy

Struktury danych w Pythonie – podstawy

W związku z tym, że w poprzednim wpisie(jeśli go ominęliście to znajdziecie go tutaj) zacząłem budować serwer api w Pythonie to również był to początek mojej nauki tego języka. Dziś będzie krótko na temat wbudowanych struktur danych, których będę mógł użyć przy dalszej rozbudowanie serwera. Wpis będzie realizowany dla wersji 3.6.1 Pythona. Warto o tym pamiętać szczególnie, że istnieją pewne różnice pomiędzy wersjami Pythona a szczególnie pomiędzy wersją 2 a 3.

WorkTimetable#6 – Pora na api w Pythonie

WorkTimetable#6 – Pora na api w Pythonie

Tak jak już pisałem wcześniej teraz chcę się zająć częścią serwerową aplikacji. Będę to pisał w Pythonie przy pomocy frameworka Flask. Dlaczego Python? Ponieważ jest to jeden z najpopularniejszych języków programowania na świecie, którego można użyć do naprawdę wielu rzeczy między innymi machine learning, analiza danych, tworzenie modeli statystycznych, tworzenie API itd. Powoduje to, że jest to dość ciekawa propozycja do nauki. Zanim jeszcze przejdę do części właściwej wpisu muszę ostrzeć, że jestem kompletnie zielony w tym temacie i wszystko co tutaj napisałem powstało na bazie moich prób.

WorkTimetable – podsumowanie na półmetku konkursu

Ciężko uwierzyć, że już minęło 5 tygodni od rozpoczęcia konkursu i to jest 10 post konkursowy. Ostatni tydzień był trochę zwariowany dla mnie i dlatego dziś stworzyłem małe podsumowanie tego co zrobiłem przez pierwszą połowę konkursu oraz jakie mam plany na drugą połowę. Co do pory zrobiłem w WorkTimetable Nie będę ukrywał że był to dość pracowity dla mnie okres nie tylko pod względem pisania bloga ale również w pracy i na uczelni gdzie zaczął się nowy semestr.