PHP, Node.js, C#
Wstęp Moja podróż z Node’ m zaczęła się ponad rok temu i była to moja pierwsza styczność z JavaScript na większą skalę. Postanowiłem spisać moje notatki i przemyślenia w tym zakresie. Celem poniższego artykułu jest pokazanie co umożliwia Node w zakresie pracy z modułami, jako bazowego mechanizmu, który jest niezbędny w momencie w którym nasza […]
Czy wyobrażasz sobie, że Twoja aplikacja, przekazywana jest klientowi, bez przeprowadzenia testów? Jak ustrzec się przed sytuacją, że klient dostaje nową wersję aplikacji, po czym nie potrafi jej zainstalować czy uruchomić albo nie jest w stanie zalogować się do systemu? To chyba czarny sen każdego programisty. Tutaj z pomocą przychodzą testy, dzięki którym ryzyko pojawienia […]
W poprzednim artykule z cyklu podstaw języka JavaScript, pokazałem jak zastosowanie obietnic pozytywnie wpłynęło na pracę z kodem asynchronicznym i w jaki sposób pozbyć się piekła wywołań zwrotnych (callback hell). Istnieje jednak możliwość zapisu kodu asynchronicznego w sposób jeszcze bardziej czytelny. Załóżmy że chcemy napisać program, który połączy się z zewnętrznym API w celu pobrania […]
Nadeszła pora aby przedstawić drugi odcinek podcastu Dev:Cast. Tym razem dyskutujemy o temacie Tomasza, który brzmiał: „dlaczego developerzy boją się odbijania notek„. Rozmawialiśmy o tym czemu boimy się popełniać błędy i co jest przyczyną strachu. Staraliśmy się szukać rozwiązania w oparciu o budowanie przyjaznego środowiska, które pozwala na popełnianie błędów. Błędów które powinny służyć nauce. […]
Nadeszła pora aby przedstawić drugi odcinek podcastu Dev:Cast. Tym razem dyskutujemy o temacie Tomasza, który brzmiał: "dlaczego developerzy boją się odbijania notek". Rozmawialiśmy o tym czemu boimy się popełniać błędy i co jest przyczyną strachu. Staraliśmy się szukać rozwiązania w oparciu o budowanie przyjaznego środowiska, które pozwala na popełnianie błędów. Błędów które powinny służyć nauce. Podczas rozmowy bardzo szybko okazało się, że każdy z nas ma doświadczenia z sytuacjami, gdzie popełniony błąd traktowany był w negatywny sposób. Nawet ten trywialny. Jeżeli w Twoim otoczeniu panuje przekonanie, że za błędy należy karać – ten podcast jest dla Ciebie. Może to jest powodem przeciągających się terminów realizacji zadań?
Witajcie w pilotażowym odcinku podcastu Dev:Cast. Pierwszym poruszanym tematem jest długi, rozciągający się w czasie Daily Scrum. Czasem pojawiają się tematy, które powinny zostać jedynie zasygnalizowane i kontynuowane już po tzw. standupie. Niestety stają się niezłą odskocznią od głównego wątku rozmowy, zajmując czas, a nie raz wyzwalając zażartą dyskusję. Rozważamy jak można zapobiec takiemu problemowi […]
Witajcie w pilotażowym odcinku podcastu Dev:Cast. Pierwszym poruszanym tematem jest długi, rozciągający się w czasie Daily Scrum. Czasem pojawiają się tematy, które powinny zostać jedynie zasygnalizowane i kontynuowane już po tzw. standupie. Niestety stają się niezłą odskocznią od głównego wątku rozmowy, zajmując czas, a nie raz wyzwalając zażartą dyskusję. Rozważamy jak można zapobiec takiemu problemowi bez osoby sprawującej supervisora. Jeśli pracujesz w scrumie i czujesz, że Twoje daily stało się za długie oraz „wymemłane” – to idealne trafiłeś. Niech pierwszy odcinek Dev:Cast pomoże Ci w rozwiązaniu tego problemu.
To już przedostatni post z cyklu streszczeń artykułów pt. 97 rzeczy które każdy programista powinien wiedzieć, jak zawsze zachęcam do przejrzenia oryginału. 65. Zamiast używać typów prostych lepiej używać typów domenowych (zdefiniowanych przy pomocy klas), które określają zachowanie danego bytu. Dobrym przykładem może być stosowanie Value Object. 66. Staraj się zrozumieć użytkowników i przewidzieć jakie […]
Asynchroniczność Podstawową informacją, od której chciałbym zacząć, jest jednowątkowość w JavaScript. Jednowątkowość oznacza, że w trakcie działania, program potrafi wykonać tylko jedną czynność na raz według zadanej kolejności. Działa to mniej więcej tak: [crayon-5bb9b0ad07156091251397/] W każdym kolejnym kroku, metoda readFileSync() odczytuje z dysku plik, przechodząc od pierwszej do ostatniej linii programu, wypisuje do konsoli zawartości […]
Cykl o motywacji: Część 1: Co sprawia, że chcę nam się pracować? Część 2: Ewolucja motywacji – jak zmotywować ludzi do pracy? Część 3: Ciemna strona motywacji – czy da się wrócić na jasną stronę? Gdy już nie chce nam się pracować Celem tego artykułu jest pokazanie, jak zmieni się nasza motywacja, gdy nie będziemy […]
W kontekście tworzenia oprogramowania często mówimy o dobrych praktykach. O tym, jak coś powinno wyglądać, jakie zasady muszą zostać wprowadzone aby coś zostało uznane za DOBRE. Używamy podświadomie pozytywnych, powtarzalnych fraz – Clean Code, Dependency Injection, Design Patterns, Single Responsibility Principle, Agile i wymieniać mógłbym dalej, zajmując pół artykułu buzzwordami. Otaczamy się wianuszkiem pięknych i […]
Miło nam poinformować, że kolejny raz mamy okazję zostać patronem medialnym konferencji 4developers. Tegoroczna edycja odbędzie się 9 kwietnia w Warszawie. Z tej okazji mamy dla was zniżkę 10% na wejściówkę. W tym miejscu warto zaznaczyć, że bilety early bird w promocyjnej cenie dostępne są tylko do 5 lutego! Kod rabatowy dający 10% zniżki na […]
Większość z nas ciągle myśli o rozwoju własnych umiejętności i poszerzaniu swojej wiedzy, ale bardzo często w codziennej pracy jest to niemożliwe. Projekty, w których przychodzi nam pracować to zwykle legacy code w technologiach, które może były świeże podczas powstawania projektu, ale po paru latach rozwoju aplikacji świat poszedł już do przodu, a programiści tego […]
Node.js nie udostępnia jeszcze wszystkich funkcjonalności, które zostały wprowadzone w najnowszych wersjach standardu ECMAScript. Dla mnie jednym z ciekawszych i najbardziej przydatnych elementów jest możliwość importowania i eksportowania modułów. Niestety w obecnej wersji LTS (8.9.x) nie jest to wspierane. Aby zapewnić wsparcie do nowych właściwości z pomocą przychodzą takie narzędzia jak Babel. Jak jednak rozwijać […]
Wprowadzenie do aplikacji progresywnych Progressive Web Apps (PWA) to rozwiązanie pozwalające na zainstalowanie aplikacji webowej na ekranie głównym smartfona bez konieczności korzystania ze sklepu z aplikacjami (np. App Store). Tego typu aplikacje wyglądają i działają podobnie do natywnych aplikacji mobilnych, posiadają jednak ograniczenia wynikające z tego że ich środowiskiem uruchomieniowym jest przeglądarka internetowa. Termin Progressive […]
PHP, Node.js, C#
Na co dzień Software Engineer. Fascynat programowania, architektury, metodyk zwinnych i dobrych praktyk w szerokim ujęciu.
Polyglot Programer kochający poznawać nowe języki jednocześnie wykorzystując ich najlepsze strony. Założyciel DevEnv i współautor podcastu Dev:Cast.
After Hours czyli gdy nie pracuje i nie robi czegoś na DevEnv - podróżnik w miejsca zapomniane, pasjonat lokalnej historii. Mocno zajarany survivalem, urbexem i militariami. Jest jednym z opiekunów schronu bojowego WAWOK w Rybniku.