Rozwijanie umiejętności programistycznych

Kto stoi w miejscu, ten się cofa – bardzo popularny cytat z książki Margot Michała Witkowskiego jest chyba najlepszym wstępem do tematu rozwoju umiejętności programistycznych. Technologie IT, języki programowania i framework’i rozwijają się w tak zawrotnym tempie, że aby nie pozostać w tyle warto uczyć się ciągle nowych rzeczy. Wiele jest w internecie dostępnych kursów MOOC, które pomagają się rozwijać. Inna formą uczenia jest podejście bardziej praktyczne polegające na rozwiązywaniu różnych problemów czy zadań programistycznych, a nawet uczestniczenia w konkursach. Z jakich platform warto skorzystać ?  Czytaj dalej „Rozwijanie umiejętności programistycznych”

Jenkins – Continuous Integration & Continuous Deployment

Rozwój oprogramowania zgodnie z praktyką ciągłej integracji (CI/CD – Continuous Integration / Continuous Deployment) wymaga, by kod aplikacji możliwe często integrowany z innymi komponentami i wdrażany w produkcji. Pojęcia Continuous Integration & Continuous Deployment są często związane z terminem DevOps, czyli metodyką wg której programiści nie tylko samodzielnie wdrażają rozwiązania jako administratorzy, lecz wykonują wiele innych zadań dla każdej z tradycyjnych ról w zespole. Na potrzeby stosowania zasad CI/CD zbudowano szereg narzędzi – jednym z nich jest JenkinsCzytaj dalej „Jenkins – Continuous Integration & Continuous Deployment”

RabbitMQ – wymiana wiadomości w rozproszonym środowisku

Wymiana wiadomości w rozproszonym środowisku, w tym również Big Data, między poszczególnymi komponentami jest realizowana przez dedykowany serwer do wymiany komunikatów taki jak np. RabbitMQ. Z kolei dzięki takim rozwiązaniom jak Docker można w szybki i prosty sposób sprawdzić jak w praktyce wysyłać oraz odbierać wiadomości do / z RabbitMQCzytaj dalej „RabbitMQ – wymiana wiadomości w rozproszonym środowisku”

Serwer Redis – szybki start

Serwer Redis przechowujący struktury danych może być używany jako baza danych czy też cache. W Redis można przechowywać nie tylko wartoście tekstowe, lecz również bardziej złożonej struktury jak listy czy zbiory danych. Poniżej przedstawię jak szybko zainstalować serwer Redis w systemie OS X, a także kilka podstawowych poleceń. Więcej informacji można znaleźć w oficjalnej dokumentacjiCzytaj dalej „Serwer Redis – szybki start”

MongoDB – najważniejsze polecenia CRUD

Popularność baz NoSQL w ostatnim czasie wzrosła. Jedną z najbardziej popularnych i coraz częściej stosowanych jest baza MongoDB. Rozpoczynając pracę z każdą z baz NoSQL trzeba nie tylko zmienić sposób myślenia o bazach danych, lecz również nauczyć się innych reguł i zasad formułowania zapytań dla operacji CRUD (ang. create, read, update and delete), czyli tworzenia, odczytywania, aktualizacji i usuwania danych. Poniżej przedstawię kilka najważniejszych poleceń. Więcej o operacjach CRUD można znaleźć w oficjalnej dokumentacji MongoDBCzytaj dalej „MongoDB – najważniejsze polecenia CRUD”

Twelve-Factor App – 12 zasad rozwoju aplikacji

Współcześnie rozwój aplikacji internetowych czy mobilnych to nie tylko sam proces kodowania, lecz szereg aspektów związanych z programowaniem takich jak zarządzanie kodem źródłowym, testowanie, wdrażanie czy monitorowanie. W ciekawym sposób powyższe zagadnienia zostały opisane w dokumencie Twelve-Factor App, w którym zebrano 12 zasad rozwoju aplikacji. Poniżej krótko opiszę każdy z wymienionych aspektów.  Czytaj dalej „Twelve-Factor App – 12 zasad rozwoju aplikacji”

Przykład aplikacji ToDo z użyciem wzorca architektonicznego MV*

Implementowanie aplikacji z użyciem nowoczesnego i sprawdzonego wzorca architektonicznego MVC (ang. model-view-controller), MVP (ang.model-view-presenter) czy MVVM (ang. model-view-viewmodel) umożliwia oddzielenie danych (modelu) od informacji prezentowanych użytkownikowi (widoku) i przeniesienie logiki do dedykowanych obiektów (kontrolerów czy prezenterów w zależności od wybranego wzorca architektonicznego). Dla uproszczenia czasem zamiast rozróżniać poszczególne wzorce używa się skrótu MV*, co zastosuje również w poniższym artykule. Czytaj dalej „Przykład aplikacji ToDo z użyciem wzorca architektonicznego MV*”

MEAN stack – MongoDB, Express, Angularjs Node.js

Nowoczesne aplikacje internetowe budowane w oparciu o sprawdzone technologie coraz częściej wykorzystują tzw. stos MEAN – MongoDB, Express, Angularjs Node.js – zestaw różnych technologi, które łączy jeden język programowania JavaScript (a dokładniej – ECMAScript 🙂 ). Dlaczego warto budować aplikacje w oparciu o stos MEAN ? Do czego służą poszczególne komponenty ?  Czytaj dalej „MEAN stack – MongoDB, Express, Angularjs Node.js”

Rozwiązania w chmurze

Cloud computing (chmura obliczeniowa) oraz cloud technologies (rozwiązania w chmurze) są pojęciami coraz częściej używanymi ze względu na szybki rozwój technologii oraz przenoszenie wielu aplikacji z tradycyjnych serwerów do chmury w Internecie. Liczba różnych możliwości oraz rodzajów rozwiązań chmurowych jest jednak ogromna – jakie zatem wybrać? Jakiego rodzaju rozwiązania w chmurze są dostępne ? Czytaj dalej „Rozwiązania w chmurze”