Skocz do zawartości

Programista (39), fragmenty „Zrozumieć Programowanie” i Strefa CTF


Recommended Posts

okładka Programisty 39W poprzednim poście wspominałem, że fragmenty mojej książki przedpremierowo będzie można przeczytać m.in. w nadchodzącym numerze magazynu Programista - numer ten powinien pojawić się dzisiaj w Empikach i powoli docierać do prenumeratorów.

Szczerze powiem, że wybór fragmentów do udostępnienia w formie krótkich artykułów jest niełatwy - w końcu chciałoby się, żeby czytelnik Programisty niezainteresowany książką (ale zainteresowany tematyką) też coś z tego miał. Z drugiej strony, książka była pisana z myślą o tym, że jest książką - a więc pełno w niej różnych odnośników do innych rozdziałów, czy założeń że czytając Rozdział N czytelnik wie już o $ZAGADNIENIE, które było omówione w Rozdziale N-M. Ostatecznie jednak coś tam udało się wybrać i do Programisty trafiło następujące pięć fragmentów:

1. Rozdział 9. Synchronizacja (wstęp) - kilka stron o tym dlaczego synchronizacja jest potrzebna (co zostało zilustrowane przykładem) oraz wyjaśnienie czemu prosta, „manualna” synchronizacja może nie zadziałać.
2. Rozdział 9.3. Muteksy i sekcje krytyczne - podrozdział o muteksach, jak zresztą tytuł wskazuje; wspominam również o obiektach wewnętrznie synchronizowanych (i wadach/zaletach tego rozwiązania).
3. Rozdział 5.9. Typy stałoprzecinkowe - krótki podrozdział o typach stałoprzecinkowych, wraz z przykładową, częściową implementacją; na końcu jest kilka ćwiczeń z książki, które dotyczą tego fragmentu.
4. Rozdział 1.2. Przekierowania - fragment pierwszego rozdziału książki, o tym jak korzystać z konsoli i przekierowań; większość podrozdziału to ramki „Jak rozwiązywane są przekierowania [VERBOSE]” oraz „Dwa przekierowania do jednego pliku [BEYOND]” (o ramkach [VERBOSE] i [BEYOND] wspominałem już w poprzednim poście).
5. Rozdział 14.4. Pamięć współdzielona - ostatni podrozdział rozdziału o komunikacji międzyprocesowej, traktujący o pamięci współdzielonej; wspominam tam również o tym jak sprawdzić jakie sekcje pamięci współdzielonej istnieją w systemie i jakich uprawnień wymaga dostęp do nich.

Jak można zauważyć na miniaturcę powyżej, okładka jest również „szyta na miarę” - chciałbym bardzo podziękować Sebastianowi Rosikowi za jej przygotowanie - dzięki! (dodam, że okładka „Zrozumieć Programowanie” jest również jego autorstwa. Podziękowania również się należą redakcji Programisty za objęcie patronatu i pomysł z customową okładką :)

Oprócz powyższych fragmentów do Programisty trafił również, w ramach Strefy CTF, krótki write-up mojego autorstwa o przygotowanym przeze mnie na potrzeby CONFidence CTF 2015 zadaniu RE 100 - Turbo CrackMe.

turbocm.png


Samo zadanie można ściągnąć klikając tutaj; jego celem jest odnalezienie hasła, które sprawi, że smok (patrz screenshot) znowu stanie się zielony. Jako ciekawostkę dodam, że całe zadanie jest w trybie tekstowym (łącznie z logo DS ;>) i może wymagać emulatora pewnego starego systemu do poprawnego działania.

Oczywiście w Programiście jest jeszcze sporo innego ciekawego materiału - pozwolę sobie zacytować całkiem dobry opis numeru podesłany mi przez redakcję:

W najnowszym wydaniu magazynu Programista jako pierwsi prezentujemy fragmenty książki Gynvaela Coldwinda: “Zrozumieć programowanie” [ciach - o tym i tak jest cały ten post //gyn].

Równie “internalsową” propozycją na ten miesiąc jest artykuł “Kod Schrödingera” w którym Maciej Czekaj opowiada o możliwych efektach ubocznych programowania w języku C. Paradoksalnie, prosty i teoretycznie dosyć niskopoziomowy język w praktyce opiera się na abstrakcyjnej maszynie, która nie zawsze realizuje program w sposób intuicyjny z punktu widzenia programistów wysokopoziomowych.

Wejdziemy również na grunt mocno naukowy. Juliusz Stasiewicz, specjalista z dziedziny metod numerycznych i cyfrowego przetwarzania sygnałów wystosował swego rodzaju odpowiedź na czerwcowy artykuł Wojciecha Sury zatytułowany “Symfonia kodu”. Artykuł Wojciecha opisywał prosty algorytm rozpoznawania dźwięków na nagraniu opracowany przez programistę-amatora muzyki. Na łamach najnowszego wydania “Programisty” prezentujemy artykuł “Symfonia problemów”, który wyjaśnia jak profesjonalnie rozpoznawać dźwięk oraz jakie problemy są z tym związane. Lekkie rozgrzanie umysłu zapewni odrobina obecnej tam matematyki.

Oprócz tego nie zabraknie również tematu rzeka, czyli rozważań na temat bezpieczeństwa przetwarzania XML autorstwa Michała Bentkowskiego, felietonu Grzegorza Kokota, artykułu z cyklu prawniczego, czy Strefy CTF. A to wciąż nie wszystko co mamy dla Was w najnowszym wydaniu Programisty, które dostępne jest w prenumeracie i w Empikach.

I póki co tyle. Książka przechodzi właśnie ostatnią korektę językową (już bez mojego udziału - co oznacza, że czas nabijać znowu rangę w CS:GO ;>), a niedługo potem leci do druku. Wkrótce powinien zacząć się preorder - bardzo prawdopodobna data: 1 października. W okolicach początku preorderu udostępnimy z wydawcą również fragmenty książki (inne niż te, które trafiły do Programisty) - prawdopodobnie będzie to dłuższy fragment (lub fragmenty) książki + przedmowa/wstęp + oficjalny spis treści (btw, ostatecznie po składzie wyszło trochę ponad 620 stron). Niezależnie od tego prawdopodobnie osobno zostaną opublikowane również krótkie, 2-4 stronicowe „artykuły” - w obu wypadkach dam o tym znać na blogu.

Wyświetl pełny artykuł

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...