Blog

DevOps Engineer

W ostatnich miesiącach dużą część czasu przeznaczam na rozwój w obszarze DevOps, a dokładniej w tematach związanych z automatyzacją, z ciągłą integracją i wdrażaniem, testowaniem aplikacji itd. Korzystam z kursów online, szukam samodzielnie różnych materiałów i ćwiczę na domowym labie. Najważniejsze z rzeczy, które się uczę, spisują w dokumencie DevOps-Engineer na GitHub. Materiały są w ciągłym rozwoju, ale być może rozpoczynającemu przygodę w temacie mogą okazać się pomocne :). Zapraszam do korzystania.

IntelliJ IDEA – wersja Ultimate za darmo ?

W świecie programistycznym w ostatnich latach bardzo popularne są IDE od firmy JetBrains np. IntelliJ IDEA, PyCharm czy GoLand. Niektóre z nich są dostępne w wersji darmowej tzn. Community, natomiast pozostałe są płatne. Niewiele jednak osób wie, że dostęp do pełnych wersji w sposób legalny i darmowy można pozyskać w ramach programu JetBrains EAP (Early Access Program). Jeśli do tej pory nie korzystałeś z produktów firmy JetBrains, gorąco zachęcam. Warto 🙂

Testowanie aplikacji

Budowanie aplikacji w dowolnej technologii z wykorzystaniem techniki TDD (ang. test driven development), czyli w skrócie rozwijania kodu poprzez pisanie niedziałających testów, doprowadzenie kodu, by testy działały i aplikacja realizowała daną funkcję, a następnie refaktorowanie kodu aplikacji oraz testów, pozwala implementować rozwiązania posiadające mniej błędów. Jakich narzędzi i bibliotek warto użyć do testowania ? Czytaj dalej „Testowanie aplikacji”

Ukończone 2 szkolenia online

W ostatnich kilku miesiącach ukończyłem 2 szkolenia online – Introduction to Redis Data Structures oraz Advanced Distributed Systems Design. Choć dotyczą one całkowicie innych dziedzin inżynierii oprogramowania, to pozwoliły osiągnąć 2 cele:

  • dokładnie zapoznać się z jedną z najpopularniejszych baz NoSQL,
  • spojrzeć szerzej na architekturę systemów rozproszonych, sposobu ich projektowania oraz wykorzystania różnych technologii do realizacji poszczególnych zadań jak chociażby Redis.

O ile szkolenie z Redis było bardzo techniczne, to szkolenie z architektury systemów rozproszonych jest bardziej ponadczasowe i niektóre z jego aspektów jak asynchroniczna komunikacja za pomocą wiadomości zamiast żądanie – odpowiedź można wykorzystać od zaraz w codziennej pracy.

HyperSkill – JetBrains Academy

Poznając nową technologię i ucząc się języka programowania ważne są nie tylko zagadnienia teoretyczne, ale przede wszystkim praktyka. Z podobnego założenia wychodzą moim zdaniem autorzy platformy HyperSkill – JetBrains Academy, gdzie możemy wybrać którą ścieżką jesteśmy zainteresowani (np. Python Developer), jaki projekt w ramach nauki chcielibyśmy implementować, a następnie realizować poszczególne etapy nauki wykonując równocześnie zadania w Intellij IDEA. Co ciekawe aplikacja webowa do nauki jest świetnie zintegrowana z Intellij IDEA np. po wybraniu zadania w przeglądarce automatycznie nowe kod dla wybranego zadania pojawia się w IDE, a po jego zaimplementowaniu można go sprawdzić i wyniki poznać również w przeglądarce. Zachęcam, sam korzystam i warto 🙂

Terminal Linux – użyteczne narzędzia # 1

Gdy w codziennej pracy często korzystamy z terminala (konsoli) Linux’a, warto korzystać z narzędzi, które ułatwiają pracę czy przyśpieszają pewne czynności. W poniższym artykule przedstawię 2 narzędzia, które w ostatnim czasie odkryłem i nie zamierzam z nich rezygnować 🙂 Czytaj dalej „Terminal Linux – użyteczne narzędzia # 1”

Narzędzia pracy architekta

Od pewnego czasu oprócz zainteresowania różnorodnymi technologiami oraz językami programowania, coraz więcej czasu poświęcam na pracę nad architekturą oprogramowania. Z tego powodu na GitHub zacząłem rozwijać swoje repozytorium właśnie temu poświęcone. W niniejszym poście przedstawię fragment z treści w nim umieszczanych. Czytaj dalej „Narzędzia pracy architekta”

gobetween – nowoczesny i minimalistyczny load balancer oraz reverse proxy

W projektach, w których istnieje potrzeba zastosowania jakiegoś load balancer czy reverse proxy, często wybiera się takie rozwiązania jak nginx, czy haproxy. Oprócz nich istnieje jednak inne, bardzo elastyczne i nowoczesne narzędzie jakim jest gobetween. Co go wyróżnia spośród dostępnych rozwiązań ? Poniżej przedstawię kilka z jego najbardziej istotnych cech.

Czytaj dalej „gobetween – nowoczesny i minimalistyczny load balancer oraz reverse proxy”