Posts List

API Platform-wprowadzenie

API Platform-wprowadzenie

Od kilku lat prawie wszystkie aplikacje internetowe tworzone są w architekturze REST. Schemat tworzenia takiego oprogramowania najczęściej wygląda następująco: stwórz klasę encji, która reprezentuje tabelę w bazie danych, pozwól użytkownikowi stworzyć obiekt tej klasy, pobrać go oraz edytować i na koniec pobrać wszytskie obiekty z danej encji. Potem dochodzi filtrowanie tej listy, paginacja i sortowanie. Nie jest to najciekawsze zajęcie i sprawia, że marnujemy czas na powtarzalne czynności zamiast skupić się na logice biznesowej. Ale może da sie jakoś usprawnić ten proces?

MySQL w Node.js

MySQL w Node.js

Backend wiele ważnych zadań do wykonania ale chyba najważniejszym zadaniem jest zapisywanie i wyciąganie informacji z bazy danych. Nieważne czy jest to zwykła baza SQL, Redis czy Elasticsearch potrzebujemy mieć miejsce do zapisywania informacji by ich nie stracić i móc wykorzystać póżniej. W każdym języku mamy dedykowane biblioteki, które pomagają nam w tym. Nie inaczej jest w Node.js, o którym dzisiaj piszę.

Definiowanie ścieżek w Express.js

Definiowanie ścieżek w Express.js

W ostatnim poście (jeśli go ominęliście to zerknijcie tutaj) opisałem po krótce jak można zacząć zabawę z frameworkiem Express.js. Dziś chciałbym pokazać najważniejszą rzecz według mnie w takim systemie a więc możliwość tworzenia endpointów. Jeśli chcecie zobaczyć co możemy stworzyć w tej kwestii w Express.js zapraszam do czytania.

Express.js - Hello World

Express.js - Hello World

W podsumowaniu poprzedniego roku zastanawiałem się czym się zająć w kwestii backendu. Początkowo myślałem o Go albo .Net ale póki co postanowiłem dalej kontynuować temat Node.js. Uznałem, że lepiej będzie dla mnie jak się skupię póki co na Javascript a potem można poznawać inne języki. Zdecydowałem się również na framework Express, który mam zamiar wykorzystać w mojej pracy inżynierskiej. Dziś szybki wstęp jak zacząć z nim pracę.

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.

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.