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.

Dostęp do kontenera dockera z telefonu w sieci lokalnej

Problem:
Piszemy aplikację, która działa sobie na kontenerach dockera na komputerze programisty z systemem Ubuntu.

Chcemy zobaczyć jak aplikacja działa na telefonie komórkowym, bądź innym urządzeniu w sieci lokalnej.

Założenia:
W celu udostępnienia aplikacji w sieci lokalnej postawimy na komputere proxy rzy pomocy Squida.

Rozwiązanie:

(więcej…)

Oprogramowanie deweloperskie z lat 80-90.

Mamy rok 2019 a w mojej szufladzie wciąż leżą dwie dyskietki 5.25″. Nie sądzę, żeby się jeszcze kiedyś do czegoś przydały, traktuję je raczej jak namacalny fragment poprzedniej epoki w historii IT.

Dyskietki 5,25″ „KL100 (Keil 8051) Professional Development Package Demo” oraz „Wgłąb języka C”.

Pierwsza dyskietka to dodatek do książki „Wgłąb języka C” Adama Sapka, zawiera ona kod źródłowy do przykładów z książki.

Druga to „KL100 (Keil 8051) Professional Development Package (Demo)”. Dość enigmatyczna nazwa, ale po małej wizycie u wujka google, dowiadujemy się, że jest to oprogramowanie do programowania 8-bitowych mikrokontrolerów 8051, powstałych na początku lat osiemdziesiątych poprzedniego wieku. Z lekką dozą przesady można powiedzieć, że to takie ówczesne arduino 😉

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…)