Lista artykułów

Nad jakim głównym projektem pracuję? Mam już prototyp!

Przed przerwą wakacyjną obiecałem, że po powrocie publicznie napiszę nad czym pracuję od paru miesięcy – co chcę wydać jako mój drugi produkt premium (pierwszym była książka „Junior Developer”). W końcu trzeba pokazywać produkt na różnych etapach produkcji, zbierać opinie i co najważniejsze: budować hype! Pierwszym pomysłem było przygotowanie jakiegoś kursu premium. Walczyłem z tym […]

Różne sposoby na implementacje interfejsu

Jak to różne sposoby na implementacje interfejsu? To nie ma jednego właściwego sposobu na to? Bierzesz takiego, inspirujesz się nim, mówisz że będziesz jak on, spełniasz się, a potem robisz psikusa – jak, po co? Niby wiesz że interfejs można implementować jawnie i niejawnie. Ale czy wiesz co z tego wynika? Czy wiesz co można […]

Nie daj się ciemnej stronie mocy - czyli jak unikać hype'u?

Ciemna strona mocy kusiła rycerzy Jedi potężnymi możliwościami. Zwabieni perspektywą ogromnej siły powoli tracili kontrolę i wpadali w jej sidła. Z hype’m jest podobnie. Dzięki niemu zaczynasz myśleć, że kolejna technologia będzie rozwiązaniem na wszystkie Twoje problemy. Że ten nowiutki framework sprawi, że już nic Cię nie zaskoczy. Że możesz wszystko. Nie jesteś świadomy, że stąpasz bo bardzo cienkim lodzie i już całkiem niedługo to wszystko może się obrócić przeciwko Tobie.

Wpływ request abort na serwer

Obecnie jest moda na aplikację reaktywne, responsywne etc. Tego typu aplikacje bardzo często odświeżają dane przy pomocy zapytań AJAX-owych. Weźmy na warsztat przypadek, w którym podczas request-u stan aplikacji frontend-owej ulegnie zmianie i request przestanie być aktualny. W takiej sytuacji programistom na pomoc przychodzi funkcją "abort" z prototypu obiektu XMLHttpRequest i to właśnie chciałbym omówić. Opis działania

Why do we love Clojure?

Reading Time: 1 minute I love Clojure, because it’s excellent life hacker tool. It’s most pragmatic & expressive language. Makes me more productive. I can achieve more with less. And less is more. How do it achive that? It’s Lisp. So it’s programmable programing language. Brings power of macros to fight with duplication. DRY is principle to follow not only … Continue reading "Why do we love Clojure?"

Why do we love Clojure?

I love Clojure, because it’s excellent life hacker tool. It’s most pragmatic & expressive language. Makes me more productive. I can achieve more with less. And less is more. How do it achive that? It’s Lisp. So it’s programmable programing language. Brings power of macros to fight with duplication. DRY is principle to follow not only … Continue reading "Why do we love Clojure?"

Doctrine Migrations czyli łatwe zarządzanie schematem bazy danych

Tworząc aplikacje każdy z nas wykorzystuje jakiś system kontroli wersji, który pozwala w łatwy sposób kontrolować kod aplikacji. Możemy w każdej chwili cofnąć się w czasie do wersji wcześniejszej, czy też w łatwy sposób zaktualizować starsze wersje aplikacji. Co zaś z bazą danych i zarządzaniem jej strukturą w ramach wydawania kolejnych wersji aplikacji ? Z […]

Ukryte podstrony vol. 1

https://pixabay.com/pl/lornetka-zegarek-obserwacja-2474698/ " data-medium-file="https://i0.wp.com/programistanaswoim.pl/wp-content/uploads/2017/08/hidden.jpg?fit=300%2C200&ssl=1" data-large-file="https://i0.wp.com/programistanaswoim.pl/wp-content/uploads/2017/08/hidden.jpg?fit=676%2C450&ssl=1" /> Nadeszła pora zagrać w otwarte karty. Niniejszy wpis prezentuje cztery podstrony bloga, o których istnieniu możesz nie mieć pojęcia.

Weekly JavaScript Challenge – Reaktywacja!

Type of Web - Dla front-end i back-end developerów. Trochę o urokach pracy zdalnej, ale przede wszystkim o: JavaScript, React, Vue, Angular, node.js, TypeScript, HapiJS… Ponad rok temu rozpocząłem inicjatywę o nazwie Weekly JavaScript Challenge – stworzyłem grupę na Facebooku, która miała na celu wzajemną pomoc w nauce JavaScriptu. Założeniem grupy było wspólne rozwiązywanie zadań i wrzucanie ich na Facebooka do oceny. Głównym pomysłem było tworzenie realnych aplikacji, a nie implementowanie algorytmów, a każde rozwiązanie miało przechodzić przez code review pod kątem czytelności oraz architektury kodu. Z tych powodów aplikacji …

Wprowadzenie do Bitbucket Pipelines

Dzisiaj omówię pokrótce, czym jest i jak używa się Bitbucket Pipelines. Jest to narzędzie do Continous Integration wbudowane w Bitbucket dostępne dla każdego, choć darmowa wersja daje nam jedynie 50 minut na budowanie naszych aplikacji. Pipelines jest oparte o obrazy dockerowe, których używa do budowania aplikacji. Jedyne czego tak naprawdę potrzebujemy to plik .yaml, który … Continue reading "Wprowadzenie do Bitbucket Pipelines"

#3 SOLID – Liskov substitution principle

Kolejną z zasad SOLID pozwalających na tworzenie dobrej jakości rozwiązań jest zasada Liskov substitution principle(Zasada podstawiania Liskov). Sformułowana ona została przez Barbarę Liskov w książce Data Abstraction and Hierarch. Definicja prezentuje się w następujący sposób. Let f(x) be a property provable about objects x of type T. Then f(y) should be true for objects y of type S where S is a subtype of T. […]

Na czym polega TDD

W poprzedniej części cyklu o TDD opisałem dlaczego sposób wytwarzania oprogramowania, który praktykowałem na początku się nie sprawdzał i co mnie skłoniło do zainteresowania się Test Driven Development. Dzisiaj opiszę jak wygląda praca zgodnie z TDD. Jak to często bywa w przypadku praktyk zwinnych zasady teoretyczne są dosyć proste, a kluczem do sukcesu jest dyscyplina. […]

#3 SOLID – Liskov substitution principle

Kolejną z zasad SOLID pozwalających na tworzenie dobrej jakości rozwiązań jest zasada Liskov substitution principle(Zasada podstawiania Liskov). Sformułowana ona została przez Barbarę Liskov w książce Data Abstraction and Hierarch. Definicja prezentuje się w następujący sposób. Let f(x) be a property provable about objects x of type T. Then f(y) should be true for objects y of type S where S is a subtype of T. […]

Na czym polega TDD

W poprzedniej części cyklu o TDD opisałem dlaczego sposób wytwarzania oprogramowania, który praktykowałem na początku się nie sprawdzał i co mnie skłoniło do zainteresowania się Test Driven Development. Dzisiaj opiszę jak wygląda praca zgodnie z TDD. Jak to często bywa w przypadku praktyk zwinnych zasady teoretyczne są dosyć proste, a kluczem do sukcesu jest dyscyplina. […]

Konkurs InnovMatch – stwórz MVP rozwiązania biznesowego i zdobądź nowe umiejętności

Witam po przerwie wakacyjnej! ? Pół roku temu (ale ten czas leci!) zachęcałem do udziału w konkursie #dajsiepoznac, w ramach którego należało regularnie blogować i rozwijać projekt poboczny z otwartym kodem źródłowym. Dzisiaj chciałbym Was zaprosić do zainteresowania się konkursem InnovMatch, w którym piszemy MVP danego wyzwania biznesowego. Taki “mini-produkt/prototyp”, który ma przedstawić ogólny zarys rozwiązania. […]