Kategoria: Artykuły

Artykuły o programowaniu, poruszające tematy typowo techniczne, nowości ze świata developmentu, sposoby implementacji różnych funkcjonalności i integracji bibliotek oraz zewnętrznych serwisów.

Izometryczny widok w c++

Jeśli czytaliście moje wcześniejsze posty, wiecie już że co jakiś czas biorę pod lupę różne narzędzia programistyczne do tworzenia gier – biblioteki, frameworki, „silniki”. W ostatnich dniach chodziło mi po głowie przypomnienie sobie dwóch rzeczy – pierwsza z nich to techniki tworzenia gier z widokiem izometrycznym, druga to język c++, którego ostatnio mało używałem, a którego fanem jestem właściwie od początku mojej przygody z programowaniem. Utworzyłem zatem nowy projekt w języku c++ i dołączyłem do niego bibliotekę SDL, która daje duże możliwości w zakresie wyświetlania rzeczy na ekranie. Po stosunkowo niedługim czasie przebijania się przez uroki języka c++ (wskaźniki, zwalnianie pamięci) oraz zakamarków matematyki (przeliczanie współrzędnych 2D -> ISO) wygenerowałem pierwszy izometryczny świat, narazie nieco płaski i niezbyt interesujący, ale stanowić to będzie doskonałą podstawę do dalszych eksperymentów.

(więcej…)

Uczę dziecko programować

Jakiś czas temu moja sześcioletnia córka miała powiedzieć w przedszkolu czym zajmują się rodzice i bezbłędnie powiedziała że jestem programistą, ale do końca nie wiedziała o co w tym chodzi.

Dziś, gdy siedziałem i czytałem książkę o Pythonie, przyszła do mnie mówiąc jakie obliczenia matematyczne umie robić. Jako że miałem komputer z odpalonym linuksem pod ręką, odpaliłem interpreter pythona i zacząłem wpisywać równania, które mówiła córka: 1+1, 2+2, później odejmowanie, a nawet pokazałem jej dzielenie i co się dzieje gdy podzielimy przez zero. Widziałem w jej oczach zainteresowanie, więc zacząłem opowiadać że to właśnie na tym polega programowanie, że mówimy komputerowi żeby coś policzył a on to bardzo szybko robi. Aby pokazać że nie tylko o liczenie możemy poprosić nasz komputer wpisałem w pythonie:

>>> import turtle
>>> turtle.forward(50)
>>> turtle.left(90)
>>> turtle.forward(50)

Na ekranie zaczęło się coś rysować, a rysowanie to jest hobby mojej córki, więc zainteresowanie się nasiliło do tego stopnia, że już po chwili mieliśmy narysowany prosty domek.

(więcej…)

Praca z time trackerami

Czasami ludzie pytają mnie gdzie pracuję, odpowiadam że w domu. Często wtedy jestem wypytywany o szczegóły, zwłaszcza jeśli mój rozmówca nie miał wcześniej styczności z pracą zdalną. No i gdy tak opowiadam o tajnikach sztuki „remote work”, rozmowa w którymś momencie dojdzie do momentu: „masz fajnie, bo nikt cię nie kontroluje…”, no i wówczas tłumaczę, że używam aplikacji do logowania czasu pracy, które również robią zrzuty ekranu. I w tym momencie dla czar pryska, rozmówca zaczyna szukać drugiego dna, inwigilacji, ograniczenia wolności osobistych i tym podobnych straszności.

Tutaj dochodzimy do tematu niniejszego artykułu: jak się pracuje z time-trackerami i dlaczego nie jest to takie straszne.

(więcej…)

Microsoft udostępił źródła MS-DOS

Na swoim profilu GitHub, Microsoft udostępił źródła systemu MS-DOS w wersjach 1.25 oraz 2.0. Kod jest napisany w assemblerze.

Ciekawie wyglądają daty commitów:

Źródła znajdziecie tutaj: https://github.com/Microsoft/MS-DOS

Dajcie znać w komentarzach czy znaleźliście jakieś ciekawostki w kodzie tego historycznego już systemu operacyjnego.

Framework do mini gier w Ionic i HTML5 Canvas

Mam chwilowy zastój w projektach i korzystając z tej okazji postanowiłem spróbować napisać jakąś prostą grę w Ionicu z użyciem HTML5 canvas i na bazie tych technologii stworzyć własny framework do pisania mini gierek i napisać jakieś gierki.

Przykład gry napisanej w Ionicu

(więcej…)

Komunikator napisany w Javie w 2008 roku.

Jakże miłe było moje zaskoczenie, gdy przeglądając katalogi ze starymi projektami znalazłem komunikator, który pisałem ponad 10 lat temu jako pracę licencjacką na Uniwersytecie Łódzkim. Jeszcze większym zaskoczeniem było dla mnie to, że komunikator zadziałał od ręki.

Na screenie widać konsole uruchamiające serwer i klienta oraz interfejs graficzny klienta. Ładny, prawda? 🙂

Komunikator jest napisany w Javie i składa się z dwóch części: klienta i serwera. Wiadomości zapisują się w bazie MySql.

 

Jak zostać programistą

Opowiem wam jak się zostaje programistą, opierając się na doświadczeniach własnych oraz innych programistów, których znam i z którymi miałem okazję pracować.

Wybór języka programowania

Na samym początku, kiedy jeszcze mało wiesz i mało umiesz, trudno jest podejmować decyzje, które określą ścieżkę naszej zawodowej kariery. Na początek dobrze jest spróbować napisać “Hello World” w kilku różnych językach programowania. Kiedy już poczujesz, że któryś z nich pasuje ci bardziej, spróbuj napisać coś trudniejszego, np. program który oblicza odległość między dwoma punktami na płaszczyźnie. W tym momencie jeszcze nie zamykaj się na inne języki, może się bowiem okazać, że ten język, który na początku wydawał się najprostszy, staje się dużo trudniejszy kiedy trzeba napisać coś trudniejszego. Próbuj robić rzeczy na wiele sposobów. (więcej…)

Api w Laravelu – zwracanie odpowiedzi zamiast przekierowań

Dawno mnie tu nie było, bo byłem na urlopie a zaraz po nim wskoczyłem do nowego projektu i jakiś czas zastanawiałem się o czym napisać. Natrafiłem na jedną rzecz, której użyłem już w kilku projektach, dlatego myślę, że warto o tym napisać.

Jeśli robiłeś API w Laravelu, możliwe że spotkałeś się z takim zachowaniem, że gdy walidacja requestu nie przechodzi, wykonywane jest przekierowanie. Zamiast tego, lepiej byłoby dostać w odpowiedzi JSON z informacją o błędzie. Jak to zrobić? Już pokazuję.

(więcej…)

Ionic – wrażenia po napisaniu pierwszych aplikacji

Jakiś czas temu pisałem o mojej Wyszukiwarce Rymów. Ten projekt jest moim poligonem doświadczalnym, dlatego wróciłem do niego podczas nauki Ionica i przepisałem wersję mobilną na ten właśnie framework.

Aplikację na androida znajdziecie tutaj natomiast starą wersję pisaną w javie tutaj.

Wcześniej, w ramach zapoznania z Ioniciem napisałem też prostą gierkę typu memory: klik.

Skoro więc poznałem już co to jest ten Ionic, opowiem wam czego się dowiedziałem.

(więcej…)

Hakerski ekran w React JS

W ramach ćwiczenia React’a napisałem dziś prostą aplikację.

Do jej napisania zainspirował mnie jeden z odcinków „Twin Peaks” w którym na ekranie komputera było widocznych kilka konsolek z przewijającymi się danymi, kodem, itp. Moja wersja jest na razie dość prosta, ale zamierzam to rozbudować jak znajdę na to czas.

Repozytorium znajduje się tutaj.

Aby odpalić aplikację, sklonuj repozytorium i uruchom: npm start. Polecam uruchomić przeglądarkę z apką w trybie pełnoekranowym!

Demo aplikacji można zobaczyć tutaj.

Aplikacja wyświetlająca pogodę w Laravel + ReactJS

Dziś, w ramach samoszkolenia się z React’a, napisałem prostą appkę w Laravelu, która używa customowych komponentów napisanych w react’cie do wyświetlenia aktualnej pogody w zadanym mieście.

Demo: Aplikacja działa tutaj i wyświetla pogodę dla miasta Tomaszów Mazowiecki.

Nic nie stoi na przeszkodzie, żebyś sklonował(a) sobie repozytorium i uruchomił(a) aplikację podającą pogodę dla Twojej miejscowości.