Zapraszamy do zamówienia magazynu w >>prenumeracie<<. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI oraz AZW3. Do prenumeraty papierowej zawsze dołączamy wydania elektroniczne.
BIBLIOTEKI I NARZĘDZIA
Networking – eksperymenty z siecią, warstwa druga i protokół ARP (>>więcej o tym artykule<<)
Dobre narzędzie pozwala szybko zweryfikować nawet najbardziej zagmatwaną teorię! Postaram się takie zaprezentować – Mininet [1]. Wspomnę także o linuksowych przestrzeniach nazw [2] w kontekście, w jakim wiedza o nich może nas wesprzeć przy korzystaniu z Mininet. „Motywem przewodnim” będzie natomiast poszukiwanie wyjaśnienia pewnej anomalii w protokole ARP.
Łukasz Bacik
JĘZYKI PROGRAMOWANIA
Tworzymy własny język programowania (>>więcej o tym artykule<<)
Gdy zaczynamy uczyć się programować, swoje pierwsze kroki stawiamy, pisząc aplikację w stylu „hello world”, a idąc dalej, przez ify, pętle, klasy, dochodzimy w końcu do pytania, jak to jest zrobione, że można napisać jakiś tekst, w ustalonej składni i jednym poleceniem sprawić, iż on faktycznie działa. Takie rozważania prowadzą wielu do pomysłu: „fajnie by było stworzyć własny język programowania!”. I to wcale nie jest tak trudne, jak mogłoby się wydawać!
Mateusz Mazurek
PROGRAMOWANIE ROZWIĄZAŃ SERWEROWYCH
Programowanie Persistent Memory (>>więcej o tym artykule<<)
Pojęcie „Persistent Memory” opisuje technologię, która pozwala programom na bezpośredni dostęp do danych (ang. byte-addressable) oraz których treść pozostaje zapisana nawet w przypadku odłączenia zasilania. Ma ona zatem pewne cechy pamięci i dysku, lecz zazwyczaj nie zastępuje całkowicie żadnego z nich. Zamiast tego powinna być traktowana jako osobny, trzeci rodzaj pamięci. Takie użycie daje wiele nowych możliwości, szczególnie w kontekście big data, serwerów, wirtualizacji czy też środowiska cloud. Zestandaryzowany nowy model programowania w wielu aspektach może być nieoczywisty.
Szymon Romik
PROGRAMOWANIE SYSTEMOWE
Jabłko rozgryzione, czyli analiza sterownika sieciowego na macOS
Umiejętność pisania sterowników urządzeń w środowisku programistycznym często uznawana jest za wiedzę równą magii tajemnej. Tymczasem
w artykule zajmę się nie tylko samymi sterownikami, ale także tak egzotycznym środowiskiem jak macOS. Dlatego jeśli czytelnik nie boi się konceptów związanych z systemem operacyjnym i chciałby poznać nieco arkanów związanych z systemem macOSa, to zapraszam do lektury.
Michał Krawczyk
INŻYNIERIA OPROGRAMOWANIA
Coding kata
Co sprawia, że zostajesz wybitnym sportowcem lub sławnym artystą? Pewnie, że warto znać dokładnie reguły gry, zasady danej dziedziny i umieć posługiwać się właściwymi narzędziami. Pomocny jest też talent. Jednak najważniejszym aspektem jest ciągłe szkolenie swoich umiejętności, codzienny trening, adaptacja teorii w praktykę oraz wykorzystanie feedbacku, by stawać się coraz lepszym. Tak samo w branży oprogramowania – by stać się dobrym programistą, potrzebne są sesje ćwiczeniowe. Coding kata to efektywny sposób na szkolenie twojego teamu.
Rafał Slany
STREFA CTF
Miau, miau, miau, czyli jak nie należało tego robić
Od czasu kiedy członkowie Snatch The Root zostali wessani w wir korporacyjno-rodzinny, coraz rzadziej udaje się zebrać razem i pograć. Tym razem
okazją miał być CTF Tokyo Westerns, który był kwalifikacjami do finałów japońskiego CODE BLUE CTF. Plany były wielkie, ale w końcowym efekcie pojawiłem się ja (Z) i Wacky. Zaczęliśmy od kilku prostych zadań, po czym Wacky oświadczył, że idzie do kina na Matrixa, a ja poszedłem ugotować coś do jedzenia. Walka o CTFowe punkty w najlepszym wydaniu ;). Wieczorem znowu usiedliśmy do komputerów i nasz wybór padł na zadanie o nazwie „meow”.
Michał "Z" Żubrek, Wacky
PLANETA IT
Czy rzeczywiście warto się starać? Propozycje na dobrą dykcję
Często spotykam się ze stwierdzeniem, że dobra dykcja to zadanie dla aktorów. Jeśli porównasz czyste mówienie do czystego kodu, otrzymasz podobne wyniki, bo zaniedbanie jednego i drugiego wydłuża czas komunikacji, jest źródłem nieporozumień i niekoniecznie wystawi ci dobry wizerunek. Zatem nawet jeśli nie planujesz swojej ścieżki kariery skierować na deski teatru, a jedynie ograniczać się do wewnętrznych prezentacji i meetupów lub jeżeli dopiero myślisz, aby używać kodu językowego publicznie, to warto się postarać, aby się wyraźnie wysławiać. Uwaga! Będziemy ćwiczyć!
Monika Malinowska
KLUB DOBREJ KSIĄŻKI
Programowanie funkcyjne w języku C++
Rafał Kocisz