Skocz do zawartości

DevStart Blogi

Członkowie
  • Postów

    1 369
  • Dołączył

  • Ostatnio

    Nigdy
  • Days Won

    2

Wszystko napisane przez DevStart Blogi

  1. Czas wrócić do cyklu o bezpieczeństwie web, a konkretnie o SQL Injection. W poprzednich postach sporo pisałem o sposobach wykrycia luk, nawet w przypadku, gdy aplikacja nie wyświetla bezpośrednio danych na stronie. Dzisiaj pokażę, że SQL Injection to nie tylko wykradnięcie danych, ale może umożliwić nawet całkowite przejęcie serwera. Przedstawione ataki można wykonać na różnych […]Wyświetl pełny artykuł
  2. O usługach REST, które dzisiaj są wszechobecne pisałem już wiele razy np. tutaj. Dzisiaj chciałbym napisać krótkie podsumowanie w formie porad i antywzorców. Zaczynamy: 1. Nigdy nie używaj czasowników w URI. Przykład błędnych linków: GET: localhost\persons\1\UpdateEmail?email=’…’ Jedynym dozwolonym czasownikiem w adresie to HTTP verb. Całość linku to nic innego jak hierarchia zasobów. Poprawna aktualizacja adresu […]Wyświetl pełny artykuł
  3. Dzisiaj w okolicach południa rozpoczęła się przedsprzedaż mojej książki - „Zrozumieć Programowanie” (W końcu! Magiczne ilości czasu zeszły na jej napisanie / doszlifowanie ;>). Na stronie przedsprzedaży w zakładce "Zobacz więcej" można znaleźć kilka pierwszych stron książki, jak również wstęp (mój) i przedmowę (j00ru), a także (w sąsiedniej zakładce) oficjalny spis treści. Co nieco więcej o książce pisałem już przy okazji jednego z poprzednich postów; w tym poście napiszę tylko co się zmieniło od tamtego czasu. Zmian oczywiście dużo nie było, niemniej jednak o nich wspomnę: ■ Jest już znana cena: 69 PLN w momencie premiery, 48,30 PLN w przedsprzedaży (wcześniej wspominałem o 75 PLN, więc chyba nie jest źle). ■ Liczba stron po składzie: 622 + okładka ■ Z okładki zniknęło słowo "PHP", zostało zastąpione "C++" - ostatecznie jedynie symboliczna ilość PHP trafiła do książki (planując okładkę myślałem, że będzie więcej), więc jakoś tak mi te 3 litery tam nie pasowały (więcej PHP będzie w jednym z dodatkowych rozdziałów, które udostępnię w późniejszym terminie). ■ I została uruchomiona przedsprzedaż. Poza tym chciałbym pochwalić się patronami medialnymi, którzy zgodzili się tu i tam wspomnieć o mojej książce - jestem szczerze z tej listy zadowolony. Znajdują się na niej (w kolejności losowej): ■ Warsztat.GD - polski serwis/społeczność gamedev, na którym opublikowałem jeden z moich pierwszych artykułów (to było w 2001, bądźcie delikatni plz). ■ 4programmers.net - jedna z najstarszych (z istniejących do dzisiaj) programistycznych społeczności (forum/baza wiedzy/mikroblogi); można tam znaleźć m.in. jeden moich kolejnych "pierwszych" artykułów, tym razem z początku mojej zabawy z RE (chyba nie jestem na tyle odważny, by do niego linkować... =^^=) ■ Zaufana Trzecia Strona, Sekurak.pl oraz Niebezpiecznik - trzy najciekawsze serwisy newsowe związane z bezpieczeństwem, czyli działką którą zajmuje się na co dzień; zgodzili się objąć moją książkę patronatem pomimo tego, iż nie ma ona za dużo z bezpieczeństwem wspólnego (nooo, coś tam czasem wspominam) :) ■ Magazyn Programista - z którym trochę współpracuje jak wiecie (prowadzę tam Strefę CTF / czasem zajmuje się korektą merytoryczną niektórych artykułów) - redakcja Programisty wspięła się na wyżyny jeśli chodzi o pomoc z promocją mojej książki - dzięki! (fun fact: Tomek Łopuszański, który jest jednym z redaktorów w Programiście, był również redaktorem mojej książki ;> zresztą, redaktor prowadzący też jest na liście podziękowań w mojej książce). ■ GeekGirlsCarrots - książkę pisałem dla wszystkich programistów - tym bardziej się cieszę, że patronatem zainteresowała się GGC - organizacja, dzięki której w przyszłości może w końcu będzie trochę więcej balansu w naszym zawodzie :) Chciałbym wszystkim patronom podziękować za zaufanie :) Przechodząc do podziękowań, pozwolę sobie zacytować fragment wstępu: W powstaniu i nadaniu ostatecznego kształtu tej książce swój udział miało wiele osób, którym chciałbym w tym miejscu podziękować. ■ Mojej żonie Arashi Coldwind za wsparcie okazywane podczas całego czasu trwania tego, bądź co bądź, niemałego projektu, jakim jest napisanie książki. ■ Autorowi przedmowy, a jednocześnie redaktorowi merytorycznemu i mojemu dobremu przyjacielowi Mateuszowi Jurczykowi, który na edycję i korektę tej książki poświęcił ogromną ilość własnego czasu. ■ Tomaszowi Łopuszańskiemu, który wraz ze mną przesiadywał do późnych godzin nocnych, przeglądając i szlifując każdy kolejny nadesłany rozdział. ■ Łukaszowi Łopuszańskiemu, który przekonał mnie do napisania tej książki i doprowadził do jej wydania. ■ Sebastianowi Rosikowi za genialny projekt okładki. ■ Recenzentom merytorycznym, którzy wychwycili znaczą liczbę niedociągnięć obecnych w pierwotnej wersji, a byli to: Paweł „KrzaQ” Zakrzewski, Robert „Jagger” Święcki, Mariusz Zaborski, Unavowed, Michał Leszczyński, Michał Melewski, Karol Kuczmarski, Adam „pi3” Zabrocki, Sergiusz „q3k” Bazański, Tomasz ‚KeiDii’ Bukowski. ■ Testerom, którzy wskazali dodatkowe błędy i nieścisłości, w składzie: Łukasz „Stiltskin” Głowacki, Nism0, Łukasz „Lord Darkstorm” Trzeciakiewicz, Alan Cesarski. ■ A także Ange Albertiniemu, Mikołajowi Koprasowi, Mattowi Moore’owi, Ferminowi Sernie oraz Michałowi Zalewskiemu. Na koniec kolejne mini-pseudo-FAQ: Q: Ebook? A: Będzie (Mobi oraz EPUB), ale niestety z opóźnieniem. Data o której słyszałem: 1 grudnia. Q: Ebook gratis do książki drukowanej? A: Niestety nie :(. Zachęcam do napisania do wydawcy o zainteresowaniu taką opcją. Q: Czy można w PWN (wydawca) kupić książkę z wysyłką za granicę? A: Niestety nie :(. Zachęcam do napisania do wydawcy o zainteresowaniu taką opcją. UPDATE: Cytując mojego wydawcę: „Będą po 25 na pewno w Matrasie”. Q: Strona książki nie działa. A: Tak, nadal jest tworzona. Zadziała w okolicach premiery. Q: Czemu po składzie są 622 strony? Było 550. A: Maszynopis pisałem na trochę większym formacie niż ostatecznie ma książka - domyślam się, że to główna przyczyna. Q: Kiedy będą udostępnione rozdziały-które-nie-trafiły do książki? A: Muszę je jeszcze przeedytować, potem korekta, etc. W międzyczasie mam kilka innych rzeczy w planach niestety, więc pewnie dopiero późnym listopadem się zaczną pojawiać. Q: Spotkanie autorskie? A: Jest jedno w planach w Warszawie (początek listopada; szczegóły niedługo). Q: Czemu tylko Warszawa? A: Dobre połączenie lotnicze. Natomiast zastanawiam się jeszcze nad Krakowem i Wrocławiem - ktoś byłby zainteresowany spotkaniem się w listopadzie w tych miastach? Q: Znalazłem literkówkę/błąd! A: Panel do zgłaszania błędów pojawi się dopiero w okolicy premiery (~3 tygodnie od teraz). Niestety wcześniej byłem zajęty i nie zdążyłem napisać serwisu do książki (ehm... bo pisałem książkę ;>). Q: Skąd tyle ocen książki, która jeszcze nie wyszła? A: Szczerze? Nie wiem. Entuzjazm czytelników? W każdym razie ja włączonych botów do głosowania nie mam ;) I to chyba na tyle. Jeśli ktoś skusiłby się na przedsprzedaż (dzięki za zaufanie btw!), to dajcie znać w komentarzach plz ;> Wyświetl pełny artykuł
  4. Nieczęsto wrzucam na bloga informacje o wychodzących książkach, z którymi nie mam nic wspolnego (przychodzą mi na myśl tylko dwie okazje: analiza merytoryczna pewnej książki oraz mini e-książka Xa), niemniej jednak mój wydawca podrzucił mi ostatnio dwie pozycje, które uderzyły w nostalgiczną nutę i o których postanowiłem przynajmniej wspomnieć w formie krótkiej notki. Co ciekawe, nie jestem targetem tych książek. Ba, nie sądzę, żeby większość czytelników była bezpośrednio grupą docelową - otóż książki są przeznaczone dla najmłodszych. Mowa o "JavaScript dla dzieci. Programowanie na wesoło" (premiera była w poniedziałek) oraz "Python dla dzieci" (premiera w piątek). Tak więc post ten zainteresuje raczej starszych czytelników, będących w posiadaniu przedstawicieli grupy docelowej ;) Zabawę z programowaniem rozpocząłem w okolicach zerówki posiadając Atari 800 XL, ksero podręcznika do niego (oryginał udało mi się zdobyć kilka lat temu na pewny serwisie z aukcjami internetowymi) oraz trochę Bajtków (patrz zdjęcie po prawej*). W pozycjach tych było trochę kodu, który nie robił nic poważnego, ale bardzo mnie (jako siedmiolatka) cieszył - rysowanie po ekranie, proste animacje czy niewielkie gry. W szczególności w Bajtku była sekcja "Tylko dla przedszkolaków", w której pojawiały się kody dokładnie w tym typie (na zdjęciu jest jeden z przykładów). Wspominam o tym, ponieważ po przekartkowaniu obu książek stwierdziłem, że są w podobnym guście (stąd też nostalgia) - gry, animacje, proste cieszące oczy programiki, a przy okazji przemycenie dawki wiedzy na temat programowania. Standardowe info o książkach: "JavaScript dla dzieci nowość. Programowanie na wesoło" by Nick Morgan Polskie wydanie: click Oryginalnie wydawcą był No Starch Press (swoją drogą chyba mój ulubiony wydawca z US). Liczba stron: 368 "Python dla dzieci. Programowanie na wesoło" by Jason R Briggs Polskie wydanie: click Oryginalnie również No Starch Press. Liczba stron: 358 (chyba) That's it. P.S. So... może "Kernel Exploiting dla dzieci. Hakowanie na wesoło"? j00ru, idź napisz ;> * - Na zdjęciu: fragment książki „Atari Basic” Wiesława Miguta (wydana 1987) oraz czasopisma "Bajtek", nr. 1 (25), styczeń 1988. Wyświetl pełny artykuł
  5. Niedawno wspomniałem w swoim podcaście, że od nowego roku chcę znowu prowadzić swój biznes i zrezygnować z etatu. Dzisiejszy wpis ma być na ten temat: co mam zamiar robić i jak to wszystko ma zarabiać. Zaczynamy! Budowanie społeczności. Nie jest ważne „co” sprzedajesz… We współczesnym świecie mamy masę lepszych i gorszych produktów. Coraz mniej liczy […]Wyświetl pełny artykuł
  6. This is just a short reminder that the CONFidence Teaser CTF organized by Dragon Sector will take place this weekend, and more specifically starting 25 April 2015, 10:00 CEST until 26 April 2015, 10:00 CEST. The registration has just started at the event's website, https://ctf.dragonsector.pl/, and will stay open all throughout the game. A quick rundown on the basic information is as follows: Start: 25 April 2015, 10:00 CESTEnd: 26 April 2015, 10:00 CESTDuration: 24hFormat: online, jeopardy, team-based, no team size limit, teaserCategories: web, re, pwn, crypto, steganoContact (IRC): #dragonsector @ irc.freenode.orgContact (e-mail): ctf@dragonsector.plPrizes:Top 1: Travel allowance if coming to the offline event (up to 4*500 USD for European teams and 4*1500 USD for non-European teams)4 conference passes for CONFidence4 places in a rent-out hostel for conference attendeesTop2 - Top9: 4 conference passes for CONFidence4 places in a rent-out hostel for conference attendees See you on the battlefield!Wyświetl pełny artykuł
  7. W 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. 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ł
  8. Biblioteka jQuery to chyba jedno z najważniejszych elementów świata JavaScript (przynajmniej tego webowego). Myślę, że zna ją praktycznie każdy kto spędził choć trochę czasu nad wyglądem jakiejkolwiek strony internetowej. Nic dziwnego – to narzędzie, które w znaczący sposób ułatwia pracę z drzewem elementów DOM. Myślę więc, że warto sprawdzić jak wydajniej używać jQuery – spróbujemy... Czytaj dalej The post 6 porad jak wydajniej używać jQuery appeared first on burczu programator. Wyświetl pełny artykuł
  9. W bardziej skomplikowanych systemach, wszelkie zapytania SQL nie są wyświetlane bezpośrednio na stronie. W prostych stronach internetowych zwykle, rezultat zapytania SQL może być wyświetlony w formie np. tabeli. W aplikacjach webowych jest wiele warstw usług między stroną internetową a DAL. Ponadto, część zapytań po prostu nie jest wyświetlanych np.: Powyższe zapytanie, może być wykonane jako […]Wyświetl pełny artykuł
  10. Plik mp3 podcastu do pobrania na Kontestacja.com. Cześć, trochę osób się dopytuje o nowe materiały, więc postanowiłem coś skrobnąć. Parę spraw miałem do załatwienia: – przeprowadzka do nowego mieszkania: mieszkanie ogarnięte, internet działa 😀 – … i uporządkowanie spraw zawodowych. Z końcem roku w końcu się żegnam z bezpiecznym etatem. 2,5 roku pracy w startupie […]Wyświetl pełny artykuł
  11. Jak wspomniałem już na mikroblogu na 4programmers.net, kilka dni temu moja książka („Zrozumieć Programowanie”) trafiła do pierwotnego składu - to znaczy, że jest już napisana i po edycji. Została ostatnia korekta i, już niedługo, druk. W tym poście chciałem napisać coś o książce, jak i również o podcastach do których chce wrócić. O czym poniżej: 1. Książka - zawartość 2. Książka - kiedy będą udostępnione fragmenty 3. Książka - errata i „bug bounty” 4. Książka - serwis książki (plan) 5. Podcasty Uprzedzając kilka pytań, mini FAQ Q: Na półkach? A: Druga połowa października. Q: Preorder? A: Za kilka dni powinien być. Będzie na samym początku października (przepraszam, kilka rzeczy się obsunęło). Q: Okładka? A: Twardo-miękka (podobno jest coś w tym stylu). Q: Wersja elektroniczna? A: Będzie! (Update: Ale dopiero kilka tygodni po wersji drukowanej) Q: Cena? A: Jeszcze nie znam dokładnej; bezpieczne założenie - okolice 75 PLN. (Update: W preorderze ma być solidna zniżka btw; szczegóły niedługo) Q: Target? A: Książkę pisałem z myślą o początkujących i średniozaawansowanych programistach. Książka - zawartośćOstatecznie wyszło ~548 stron maszynopisu, co przełoży się na około 500 stron po złożeniu. Książka jest podzielona na 5 części (w nawiasie podana liczba stron w maszynopisie): ■ Przedmowa (3 strony) O napisanie przedmowy poprosiłem Mateusza "j00ru" Jurczyka, m.in. ze względu na naszą wieloletnią współpracę i jego doskonałą znajomość mojego stylu, ale również dlatego, że Mateusz był jednym z dwóch edytorów książki - a więc przedmowę napisała osoba, która przeczytała ją od deski do deski (na czym mi zależało). (btw, jak tylko książka trafi do druku wrzucę post o zespole redakcyjnym - wielu osobom należą się solidne podziękowania) ■ Część I. Kilka codziennych czynności (29 stron) Ostatecznie trafiły tu dwie „codzienne czynności”: użycie konsoli / interpretera poleceń, oraz jak podejść do analizy programów w językach, których się nie zna, lub programów napisanych przez innych ludzi w zupełnie innym stylu, niż tego, który znamy (w zasadzie opisałem kilka bardzo prostych trików). ■ Część II. Podstawy (132 strony) Czyli: jak od strony programowania wygląda architektura komputerów (na podstawie tworzenia własnej maszyny wirtualnej z wytłumaczeniem co się skąd bierze, i jakie ma przełożenie na rzeczywiste architektury), a także bardzo dokładny opis kilku podstawowych typów zmiennych, łącznie z kodowaniami i wszystkimi konsekwencjami kodowań jakie tylko mogłem wymyślić (w szczególności polecam rozdział o liczbach pseudo-rzeczywistych - czyli float & co.). ■ Część III. Wykonywanie programu (107 stron) Procesy (tworzenie i zarządzanie), wątki (jak w przypadku procesów) i synchronizacja (trafił tam m.in. opis jak działają spinlocki i mutexy na poziomie procesora / systemu operacyjnego - jest tam kilka ciekawych pułapek). ■ Część IV. Pliki i formaty danych (127 stron) Pierwszy rozdział jest o systemie plików i interakcji z tymże (poza standardowymi czynnościami, trochę miejsca poświęciłem prawom dostępu, oraz temu, jak na nich operować programowo); kolejne trzy rozdziały to wstęp do formatów danych stosowanych w plikach, oraz dokładna analiza formatów BMP (jako przykład podejścia header+dane; tu wcisnąłem również wstęp do grafiki 2D) oraz PNG (jako przykład podejścia wykorzystującego „chunki”; całość „manualnie”, tj. bez libpng). ■ Część V. Komunikacja (109 stron) Potoki, gniazda (UNIX, TCP/UDP), wiadomości (WinAPI), pamięć współdzielona, oraz krótki wstęp do sieci TCP/IP. Jestem zadowolony z przykładów dla TCP/UDP - są to, kolejno: implementacja prostego „resolvera” protokołu DNS (TCP/connect), implementacja czatu webowego, w tym prostego serwera HTTP (TCP/listen), oraz prosty, wieloosobowy czat peer-to-peer (UDP). Na zakończenie książki jest również jeden dodatkowy rozdział: ■ Programowanie dla zabawy (15 stron) Wymieniłem i krótko opisałem w nim trochę fajnych i ciekawych ćwiczeń, zadań, rodzajów konkursów itp. - czyli wszystko to, co na celu ma m.in. dobrą zabawę z programowaniem, a nie ma na calu tworzenia użytkowej aplikacji / biblioteki / itp. Pełen spis treści znajduje się tutaj (jest to spis typu pre-release candidate - numery stron ulegną zmianie; nazwy części/podrozdziałów/rozdziałów też mogą delikatnie się zmienić): Zrozumieć Programowanie - nieoficjalny spis treści Przykłady w książce są tworzone w kilku językach; przede wszystkim jest to Python (moim obecnym zdaniem jest to najlepszy język na początek programowania; starałem się, żeby przykłady były kompatybilne z Python 2.7 oraz 3.4, natomiast w części przypadków jest to tylko Python 2.7), ale jest też sporo C, C++ i Java. Nawet trochę JavaScript i assemblerów się tam znalazło. Kodu w książce jest dużo. Dużo jest też „ramek” dwóch rodzajów: [VERBOSE] oraz [BEYOND]. Celem tej pierwszej jest dokładniejsze przedyskutowanie czegoś, co pojawiło się w tekście, ale co programiści średniozaawansowami wiedzą i mogą spokojnie pominąć. Ramki [BEYOND] natomiast zawierają dodatkowe informacje, często wykraczające poza średni poziom książki - jestem przekonany, że nawet zaawansowani programiści znajdą w niektórych z nich coś ciekawego. W większości rozdziałów są również ćwiczenia. Niektóre proste, inne mniej ;) Stali czytelnicy mojego bloga którzy znają mnie trochę lepiej wiedzą, że nie potrafiłbym stworzyć książki bez eastereggów :) - tych trochę jest, i do tego mają formę CTFowych flag, które będzie można wprowadzać w serwisie książki; będzie też hall of fame. Książka - kiedy będą udostępnione fragmentyRazem z wydawnictwem udostępnimy darmowe fragmenty książki (jeszcze nie zdecydowaliśmy co/ile dokładnie; pewnie w okolicach jednego rozdziału) oraz oficjalny spis treści pod koniec września (tj. po korekcie). Inne fragmenty pojawią się również w nadchodzącym numerze magazynu Programista, o czym jego redakcja wspominała już na swoim profilu na FB. Oprócz tego mam pewną dobrą wiadomość - jakoś tak się stało, że kilka rozdziałów wypadło mi z książki (nie do końca mi pasowały do spisu treści, lub nie do końca miałem na nie dobry pomysł podczas pisania, a nie chciałem nic na siłę wrzucać), ale miałem je już albo skończone, albo prawie skończone/do dopracowania. Rozdziały te zostaną udostępnione (za darmo, dla wszystkich) w ciągu kilku najbliższych miesięcy, jak tylko znajdę chwilę żeby je dokończyć/wypolerować - o szczegółach poinformuje jak tylko będę coś więcej wiedzieć. Książka - errata i „bug bounty”Pisząc książkę robiłem solidną weryfikację faktów. Do tego j00ru książkę bardzo wnikliwie przejrzał (znajdując kilka niezłych błędów merytorycznych); książkę również przejrzało kilku reviewerów merytorycznych i testerów wyłapując kolejne błędy i niedociągnięcia (ten proces jeszcze trwa btw). Niemniej jednak nie jestem na tyle naiwny by wierzyć, że w prawie 550 stronach (13 tysiącach akapitów / 136 tysiącach wyrazów / ponad milionie znaków) udało się wyłapać absolutnie wszystkie małe potknięcia czy większe błędy merytoryczne. W związku z powyższym przed premierą książki pojawi się link do erraty, którą będę uaktualniał w miarę wykrywania kolejnych błędów (zarówno tych które znajdę sam, jak i tych które zostaną zgłoszone przez czytelników). W przypadku większych błędów, jeśli to będzie miało sens, postaram się również tłumaczyć jaka była ich geneza lub na czym dokładnie polegały. Nie zabraknie również podziękowań dla znalazcy (postaram się również o jakiś hall of fame tego typu). Wzorując się na pewnym znanym autorytecie, do pierwszej osoby, która zgłosi dany błęd merytoryczny, wyślę również (nie, nie czek z fikcyjnego banku) pocztówkę z podziękowaniami (jakoś tak lubię te pocztówki). Więcej informacji o erracie, jak i wzory pocztówek (będą customowe ofc) wrzucę bliżej premiery książki. Książka - serwis książki (plan)Chwilę przed premierą pojawi się też serwis książki, w którym (na ten moment) chciałbym mieć: ■ Erratę, miejsce do zgłaszania błędów, hall of fame. ■ Mini-forum, na którym będzie można podyskutować o książce (np. jak zrobić dane ćwiczenie, „co autor miał na myśli pisząc ...” itp.). ■ Linki do przykładowych kodów z książki, być może w dodatkowych językach programowania (tu być może zdam się trochę na Waszą pomoc). ■ Miejsce do wrzucania flag i hall of fame Być może w serwis ten wplotę jakoś podcasty (nie za bardzo mam póki co gdzie jakieś info o nich umieszczać; poza serią reversecraft ofc - ta się dorobiła własnej strony). Bliżej premiery książki będę mógł podać pewnie więcej informacji. PodcastyJak wspominałem w video wrzuconym na początku sierpnia, planuję w ciągu 2-3 tygodni wrócić do aktywnego prowadzenia swojego kanału na YouTube. Będzie kilka zmian - np. postaram się, żeby forma była trochę bardziej wyszlifowana (bardziej podobna do dwóch ostatnich podcastów, które wrzuciłem). Postaram się również zorganizować jakieś (faktycznie działające) miejsce, w które będzie można wrzucać swoje propozycję tematów podcastów i głosować na już wrzucone propozycje. W każdym razie, zanim wrócę na dobre do podcastów, za kilka dni pewnie wrzucę out-of-bound odcinek o książce - jeśli macie jakieś konkretne pytania, na które chcecie, żebym odpowiedział, wrzućcie je w komentarze do tego posta. Domyślam się, że kilka podcastów również będzie na konkretny temat poruszony w książce, szczególnie, jeśli okaże się, że coś niejasno / niezrozumiale wyjaśniłem w książce. I tyle, P.S. A poza tym mam nadzieję wrzucić w końcu coś technicznego na polską część bloga. Wyświetl pełny artykuł
  12. Na jednej stronie mam problem z pojawiającymi się kontami użytkowników. Z tego co sprawdziłem problem sprawiała dziura we wtyczce fusion-core, która jest wymaganą wtyczką motywu Avada. Nie mogę zrezygnować z tej wtyczki, więc naprawiłem ją ręcznie, kasując linię odpowiedzialną za import danych. Oczywiście problem wraca w czasie aktualizacji, więc w celu zapobieżenia ponownej sytuacji tego typu, napisałem krótką wtyczkę: add_action('user_register', 'iworks_delete_user_after_register', PHP_INT_MAX, 1); function … Czytaj dalej Akcja dnia: user_registerWyświetl pełny artykuł
  13. Znacie Font Awesome? Pewnie wielu z Was tak… a jeśli nie to warto się zapoznać. Dla porządku napiszę tylko, że jest to biblioteka pozwalająca dodawać do strony różnego rodzaju ikonki, które są… „awesome” Generalnie do renderowania ikonek wykorzystywane są fonty (stąd w nazwie to biblioteki to słowo) oraz CSS, dzięki czemu pięknie się one skalują.... Czytaj dalej The post Font Awesome – użycie w sposób niestandardowy appeared first on burczu programator. Wyświetl pełny artykuł
  14. Witam! Sezon ogórkowy w pełni ale w ja wbrew pozorom wcale nie zniknąłem i nie zarzuciłem na dobre prowadzenia bloga! Mam nadzieję, że wybaczycie mi tę dość długą przerwę we wpisach – postaram się nadrobić w nadchodzących miesiącach… (mam nadzieje, że będzie to pozytywny impuls bo mam zastój także na innych polach). Dziś wracam z... Czytaj dalej The post Wzorzec modułu – nigdy nie zwracaj zmiennych! appeared first on burczu programator. Wyświetl pełny artykuł
  15. Na forum xdadevelopers pojawił się obraz systemu Ubuntu dla NVIDIA Shield TV z układem Tegra X1. Wyniki testów, przeprowadzone przez właściciela strony phoronix.com z modelem NVIDIA Shield TV wyposażonym w dysk 500GB ...Wyświetl pełny artykuł
  16. Na stronie domowej Hardkernel pojawił się nowy produkt CloudShell przeznaczony dla ODROID-XU4. Jest to nic innego jak obudowa NAS dla projektów DIY, przeznaczona dla 2.5" dysku twardego, dodatkowo wyposażona w wyświetlacz LCD ...Wyświetl pełny artykuł
  17. Dzięki uprzejmości sklepu internetowego Kamami miałem okazję przyjrzeć się HummingBoard i2eX będącą najbardziej rozbudowaną wersją z rodziny HummingBoard oraz multimedialnej kostce Cubox-i 4x4 produkcji SolidRun. HummingBoard i2eX - RPi na bogato Hummingboard został ...Wyświetl pełny artykuł
  18. Natrafiłem dziś na bardzo interesującą płytkę o nazwie NanoPi z układem ARM Samsung S3C2451 taktowany zegarem 400MHz oraz wyposażoną w 64MB pamięci RAM DDR2 133Mhz. Wymiary tego maleństwa to zaledwie 75mm x ...Wyświetl pełny artykuł
  19. W poprzednim tygodniu opisywałem świetną płytkę NodeMCU v2 opartą na układzie ESP8266. Oprócz podstawowych zagadnień, pokazywałem również jak wgrać nowy firmware w postaci binarnej jaki przygotowali twórcy. Najnowsza dostępna wersja w dniu ...Wyświetl pełny artykuł
  20. Hardkernel ostatnio nie zasypia gruszek w popiele i uchylił rąbka tajemnicy o poprawionej wersji płytki ODROID-C1+, którą obecną wersję miałem już okazję testować jakiś czas temu. W moim osobistym przekonaniu, ta kosztująca ...Wyświetl pełny artykuł
  21. Michał Sajdak dał mi znać, że przed chwilą został opublikowany pierwszy numer Sekurak/Offline - e-zinu (PDF/EPUB/MOBI) o bezpieczeństwie. Pierwszy numer w całości poświęcony jest bezpieczeństwu web-aplikacji i jest tam opisane przede wszystkim sporo podstaw (może warto podrzucić numer programistom webowym w swojej firmie?). Strona Sekurak Offline P.S. Huh, Sekurak Offline ma zadziwiająco dobry layout do czytania "ekranowego". P.P.S. A tak przy okazji wspomnę o rozwal.to - w miarę nowy serwis z hackme prowadzony przez Sekuraka. Wyświetl pełny artykuł
  22. Oczywiście diody LED to nie są, ale dorwałem w moje łapy takie oto 8mm, rosyjskie żaróweczki TLZ-1-1: Nie byłoby w nich nic ciekawego, gdyby nie to, że są to żarówki z powłoką ...Wyświetl pełny artykuł
×
×
  • Utwórz nowe...