Kiedy półtora roku temu dołączałem do nowego zespołu programistycznego, sądziłem, że będę kodować przede wszystkim Pythonie. Liczyłem się też z ewentualnością pisania co nieco w JavaScripcie, bo przecież język ten jest aktualnie wszechobecny, ale zupełnie nie spodziewałem się, że dane mi będzie… programować graficznie. W Apache NiFi. I na dodatek zostać swego rodzaju zespołowym ekspertem […]
Read MoreSmalltalk – najczystszy z obiektowych języków programowania
Śmiało można rzec, że paradygmat programowania obiektowego jest obecnie najpopularniejszym i najpowszechniej używanym. Większość języków głównego nurtu, jak chociażby C++, Java, Python, C# czy JavaScript, pozwala na tworzenie oprogramowania właśnie w sposób obiektowy. Co więcej, paradygmat ten ma już swoje lata, bowiem pierwszy język obiektowy powstał już ponad 50 lat temu (pisałem o tym w […]
Read MoreTesty w tawernie
Co można robić w tawernie? Pić, jeść, słuchać opowieści starych marynarzy lub… testować API! Jeśli wykonywanie tej czynności w portowej karczmie wydaje się Wam zaskakujące, to najwyraźniej nie słyszeliście jeszcze o pythonowym frameworku Tavern, służącym właśnie do testów API. To zaś oznacza, że prawdopodobnie warto poświęcić krótką chwilę na lekturę niniejszego wpisu. Załóżmy, że chcemy przetestować […]
Read MorePoza łacińskim kręgiem kulturowym
Programowanie to dziedzina na wskroś przesiąknięta językiem angielskim. Nazwy słów kluczowych, funkcji wbudowanych i wszelkich bytów definiowanych przez użytkownika zazwyczaj zapisuje się właśnie w tym języku. Niektórzy żartują, że porządnie napisany kod powinno czytać się tak jak dobrą książkę. I chyba wszyscy wiemy, że chodzi o książkę właśnie po angielsku. Oczywiście tu również zdarzają się […]
Read MorePięć sposobów na… silnię w Haskellu!
Jak zaimplementować w Haskellu funkcję, obliczającą silnię? Każdy, kto chociaż zetknął się z tym językiem, będzie na pewno wiedział, że do gry powinna wkroczyć rekurencja. Chcąc wyliczyć n! dla n>0 będziemy liczyć n * (n-1)!, a warunkiem kończącym naszą rekurencję będzie zwrócenie wartości 1 dla 0!. Wielu początkujących ma jednak problem z tym, której konstrukcji […]
Read MoreNSIS, czyli jak w prosty sposób stworzyć instalator pod Windowsa
Jeśli tworzenie aplikacji desktopowych nie jest Ci obce, to z pewnością wiesz, że w toku rozwoju tego typu oprogramowania wcześniej lub później przychodzi moment, w którym trzeba zastanowić się nad sposobem jego dystrybucji. Wiele zależy tu od użytych technologii oraz środowiska, na które kierujemy swoje programy. Na przykład jeśli korzystamy z Javy, to jedną z […]
Read MoreOAuth 2.0 – implementacja serwera i klienta
Całkiem niedawno miałem okazję zmierzyć się z dość ciekawym wyzwaniem technicznym (aka zadaniem rekrutacyjnym). Chociaż to, co było do zrobienia, opisać można w kilku słowach, to implementacja nie jest już wcale taka trywialna i dostarczyła mi sporo zabawy oraz możliwości nauczenia się paru nowych rzeczy. Z tego też powodu uznałem, że jest to zadanie, z gatunku […]
Read MoreSimula – narodziny programowania obiektowego
Jakiś czas temu pisałem o historii wyjątków, która swój początek miała w pierwszej połowie lat 60. Dziś znów powrócimy do tej samej dekady i porozmawiamy sobie o języku, który wprowadził do programowania paradygmat obiektowy. Języku, w którym po raz pierwszy pojawiły się dobrze nam dziś znane klasy i obiekty, a także dziedziczenie i metody wirtualne. […]
Read More