Sleep- zatrzymywanie programu na pewien czas
System operacyjny, który zarządza uruchomionymi programami, przydziela każdemu porcję czasu procesora, który wykorzystuje ją na wykonanie swojego algorytmu. Program nie może pracować cały czas, bez odpoczynku, jednak istnieje możliwość odłożenia jego pracy w czasie. Czytaj całość
Architektura projektu
Niemalże tak szybko, jak wyjdziemy z projektów typu Hello World, tak równie szybko zacznie nam doskwierać poziom skomplikowania struktury projektu. Trzeba sobie z tym poradzić i jest na to masa sposobów. Czytaj całość
Obsługa błędów
Czasami do radzenia sobie z błędami nie trzeba wyjątków tylko przemyślanej konstrukcji funkcji. Podzielę się z kilkoma dobrymi radami w tej kwestii. Czytaj całość
Standard kodowania - wyższość świąt Bożego Narodzenia nad Wielkanocą
Wspominałem o tym wiele razy i doskonale łączy się to z DRY i KISS- czysty kod jest kluczem do sukcesu. Jak dbać o czystość w kodzie? Z pomocą przychodzą odpowiednie konwencje. Czytaj całość
Dziennik pokładowy, cechy dobrego logowania
Nawet najprostszy program, w swojej ostatecznej formie, robi bardzo wiele rzeczy. Operuje wieloma wartościami cząstkowymi, które nie zawsze są wyświetlane użytkownikowi, a mogą mieć kluczowe znaczenie, np. przy szukaniu błędów albo doborze odpowiednich parametrów wejściowych. Wszystko, czego użytkownik ma nie widzieć a może się przydać, ląduje do dziennika programu, czyli logów. Czytaj całość
Czujniki, sensory - technika eksperymentu
Autonomiczne pojazdy, inteligentne roboty, systemy zarządzające halami produkcyjnymi. Każde odbiera impulsy ze świata rzeczywistego za pomocą "sensorów". Jeżeli kiedykolwiek zastanawiałeś się czym one są i jak działają, tutaj znajdziesz szybkie wyjaśnienie. Czytaj całość
Endianess - Kolejność bajtów
W książce "Podróże Guliwera" autorstwa Johnatan'a Swift'a występują dwa zwaśnione plemiona: Liliputów i Blefusków. Jedną z rzeczy, która ich podzieliła to strona, od której należy rozbijać ugotowane jajko. Król Lilipótów nakazał rozbijać jajko od jego większego końca i zabronił, pod karą wtrącenia do lochu, rozbijać jajko zaczynając od jego małej strony. Blefuskowie robili zaś dokładne odwrotnie. Ta historia konfliktu "końcówki" jajka po angielsku nazywa się "endianess" (ang. end- koniec). Czytaj całość
Hex Edit - oczy programisty
Czasami programista zostaje postawiony w sytuacji, gdzie algorytm, nad którym pracuje, robi “coś” i nie da się tego czegoś wyświetlić w tradycyjny sposób (np. na ekranie konsoli). Cokolwiek by to nie było, jest to binarne, a wszystko co binarne można podejrzeć za pomocą heksadecymalnego edytora. Czytaj całość
Zmienne - jak poprawnie nadawać im nazwę
Atomowym elementem do przechowywania danych jest zmienna. Ze zmiennych można tworzyć bardziej złożone struktury, jednak (najpierw) należy poznać podstawowe reguły ich działania. Czytaj całość
Szybkie sposoby na ewaluację kodu
Nierzadko bywa, że przy okazji czytania artykułu/porady/dokumentacji, albo z czystej ciekawości chcemy "na szybko" przetestować fragment jakiegoś kodu. Jest kilka sposobów na zrobienie tego dla nieskomplikowanych algorytmów bez konieczności uruchamiania naszego ulubionego IDE. Czytaj całość
Zasada działania procesora
Jednostką przetwarzającą dane jest procesor, od angielskiego słowa “process” czyli właśnie “przetwarzać”. Układ ten, podobnie jak pamięć, zbudowany jest z bramek logicznych. Czytaj całość
Jak działa pamięć komputera?
Układy cyfrowe realizują konkretną operację logiczną- przetwarzają szereg sygnałów na sygnał wynikowy. Czy jest możliwe zbudowanie takiego układu, który pozwoli nam nie tylko przepuścić sygnał ale zatrzymać go? Czytaj całość
Algorytm - Schemat blokowy
Czasami opis słowny nie jest najwygodniejszym narzędziem do tworzenia ciągu czynności. Wtedy z pomocą przychodzi najlepszy przyjaciel każdego programisty- kartka papieru i ołówek. Czytaj całość
Sandbox - Piaskownica, czyli mikroprojekty
Od czego zacząć naukę nowego języka programowania czy przygodę z programowaniem w ogóle? Zasada tutaj jest taka sama jak przy nauce pływania: aby nauczyć się pływać należy pływać. Czytaj całość
Algorytmy - jak opisać słownie
Wyobraźmy sobie, że organizujemy warsztaty z programowania i posiadamy listę uczestników, która, dla uproszczenia, składa się tylko z imion i chcemy posortować tę listę alfabetycznie. Czytaj całość
Cechy dobrego algorytmu
Jest kilka rzeczy, o których należy pamiętać tworząc algorytm. Przy nabraniu wprawy są one tak oczywiste, że w ogóle się o nich nie myśli. Coś jak jazda na rowerze: myślisz jak utrzymać równowagę podczas jazdy? Czytaj całość
Właściwości algorytmu
W przypadku kulinariów, gdy tworzymy własny przepis określamy co robimy (dane wyjściowe), jakich składników potrzebujemy (dane wejściowe) oraz opis czynności (algorytm), które należy wykonać aby to osiągnąć. Na tej zasadzie opiera się programowanie. Czytaj całość
Binarny system liczbowy - co to jest, jak działa
Kozacka nazwa. Poza kręgiem IT najczęściej używana w filmach, aby kwestia wypowiadana przez aktora brzmiała bardziej tajemniczo/poważnie/magicznie. Otóż pokażę, że nie ma w tym żadnej magii (niestety). Powód, dla którego skupiam się na tym systemie liczbowym jest prozaiczny- bo tak działa komputer. Czytaj całość