Trwa konkurs "Ogól naczelnego", w którym codziennie możecie wygrać najnowsze maszynki systemowe Hydro Connect 5 marki Wilkinson Sword.

Więcej informacji
Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Poczytaj mi, wielkipiecu — biblioteczka programisty

Faktem, który w 2017 zdumiewa jeszcze mocniej, niż to, że dalej istnieją gazety jest fakt, że w dalszym ciągu drukowana jest literatura informatyczna. W dodatku tłumaczona! Co jeszcze bardziej oddala treść od punktu w czasie, w którym była względnie świeża. Dotychczas moim głównym zarzutem względem drukowanych książek informatycznych, pomijając oczywiście marnowanie papieru, był brak możliwości kopiowania kodu żywcem. Okazuje się jednak, że setki tysięcy ludzi uczą się programowania z pogadanek na YouTube (!!!), z których kopiować nie da się tym bardziej. Oznacza to zatem, że nie poniósł nas pęd do nowoczesności, a zanik umiejętności przyswajania tekstu dłuższego, niż wiadomość na Facebook Messengerze.

Na szczęście wydawnictwo O’Reilly publikuje swoje książki również w (kopiowalnym) formacie PDF, który pozwala m.in. przekleić kod ćwiczeniowy do własnego pliku. Książki od O’Reilly są zaskakująco przydatne i pouczające. Dzięki nim nauczyłem się Perla, w stopniu w którym stał się on moim ulubionym językiem i narzędziem pracy. Chciałbym więc przytoczyć nową ofertę zbliżonego wydawcy, poznaną w trakcie rozpaczliwych prób rozwiązywania niemożliwych trudności deweloperskich.

„Copying and Pasting from Stack Overflow”

Należy koniecznie zacząć od nieocenionej publikacji „Copying and Pasting from Stack Overflow”, która pozwala zgłębić tajniki wiedzy niezbędnej do zastąpienia wszelkiego śladu kompetencji zbiorem wyświechtanych frazesów z portali technologicznych. Dzięki niej, jedyną potrzebną wiedzą stanie się biegłość w formułowaniu kwerend Google i filtrowaniu dobrych odpowiedzi na SO od złych.
To nie jedyne zalety „Copying…”. Coś dla siebie znajdą tu również programiści, którzy wbrew obecnym trendom rynkowym, jednak posiadają jakieś umiejętności, ale wskutek braków kadrowych (lub absolutnej losowości przydziału zadań), są skazani na pracę w języku lub technologii, których nigdy wcześniej nie widzieli na oczy. „Copying” pozwoli im rozwiązać problemy, poprzez bezkrytyczne kopiowanie odpowiednich fragmentów kodu, nie tylko ufając nieznanym autorom, ale i przeszacowując własne zdolności rzeczywistego zrozumienia wklejanych fragmentów. Dlatego, celem dokonania dalszego postępu, wysoce wskazane jest zapoznanie się z pozycją „Changing Stuff and Seeing What Happens”, która opisuje jedyną skuteczną metodę nauki nowego narzędzia: dokonywanie losowych zmian w cudzym kodzie.

„Changing Stuff and Seeing What Happens”

Gotowe rozwiązania, odkryte dzięki „Copying…”, mogą zostać skrojone na miarę opracowywanego problemu, korzystając z bezcennych rad z najnowszego wydania „Changing…”. Ponadto, w rzadkich sytuacjach, jak np. brak stresu lub poprawnie funkcjonująca pamięć krótkotrwała, nauka z użyciem wzorców „Changing Stuff and Seeing What Happens” pozwala naprawdę nabyć pewne kompetencje z zakresu wykorzystywanej technologii. Praktyka dowodzi jednak, oczywiście, że to osobliwe stany i o wiele bliższy codzienności jest tzw. permanentny alarm, a więc gonita terminów w okolicznościach ujemnych zasobów czasowych.

„Trying Stuff Until it Works”

Dlatego w ofercie znajduje się swego rodzaju fast track względem powyższej publikacji, mianowicie „Trying Stuff Until it Works”. Pozornie subtelna różnica między owymi dwoma podejściami staje się natychmiast wyraźnie widoczna, gdy porówna się je pod kątem wykorzystania świadomości. Szkoła przytaczana przez „Changing” sugeruje metodę badawczą, zorientowaną na poszukiwanie mechanizmów działania wykorzystywanej technologii. Zaś „Trying” postuluje wręcz niemal losowe zmiany, mające w założeniu prowadzić do skutku, po kilkuset podejściach. U postaw owej alternatywnej metodyki leży, popierana przez rosnące rzesze programistów, teza, że próba świadomego przemyślenia rozwiązywanego problemu kosztuje dalece więcej czasu, niż wprowadzanie siłowych zmian, moderowanych wyłącznie przez podkreślane przez IDE błędy składni. Nie musi zresztą zawsze chodzić o czas: krańcowe spetryfikowanie lękiem oraz przesycenie pracującego od kilku godzin mózgu kawą prowadzi notorycznie do kompletnego zastoju kreatywnego, przełączając umysł w tryb wyłącznie odtwórczy. W takich warunkach, znanych pod nazwą „agile”, doskonale sprawdzi się alternatywna metodyka, wykładana przez „Trying…”.

„Regex by Trial and Error”

Utrzymana w podobnym duchu, acz niewymagająca paraliżującego lęku, jest książka „Regex by Trial and Error”, czyli doskonałe uzupełnienie do miniprzewodnika po wyrażeniach regularnych. Wiadomo powszechnie, że mimo swojej niewątpliwej kompletności, kilkunastostronicowa książeczka nt. wyrażeń regularnych, nie odzwierciedla swoją objętością nakładu pracy, czasu i frustracji niezbędnych do osiągnięcia biegłości w ich użyciu. Ową lukę zdecydowanie wypełnia ośmiusetdwudziestopięciostronicowa pozycja „Regex…”, dosadnie mierząc się z niezaprzeczalną tezą, że poprawne wyrażenie regularne da się napisać za pierwszym razem wyłącznie przez przypadek. Ponownie zorientowana na podejście badawcze, przebojem łączy ową metodykę z podejściem „agile”, stosującym chaos, rozpacz i bezowocne, losowe próby.

„Memorizing Six Git Commands”

Ogrom wiedzy, oferowany przez powyższe publikacje, z pewnością pozwoli przebojem rozpocząć i kontynuować pracę deweloperską. Aby poprawnie wykorzystać potencjał narzędzi do pracy grupowej, tworzony kod w mig połączymy z systemem kontroli wersji, dzięki bezcennej pozycji „Memorizing Six Git Commands”. Nowatorskie podejście do systemu Git odgórnie rezygnuje z zadania, które skazane jest na porażkę: nie próbuje ani przez chwilę wyjaśnić, jak działa Git, ignoruje mylące pojęcia i zbędne, jak HEAD, przestrzenie nazw, grafy, reflog, czy synchronizacja pozioma „fast-forward”. Skupia się na najważniejszym zbiorze sześciu zwyczajowo identycznych, ale jakimś cudem niemożliwych do zautomatyzowania komend, ze szczególnym uwzględnieniem przygotowywania commitów przed wysłaniem zmian na zdalną gałąź. To proste i genialne. Skoro dokumentacja Gita to i tak żart, a „kontrola wersji” jest kłamliwą fikcją, nie warto podejmować staromodnych prób opartych o zrozumienie wykorzystywanych narzędzi. Przecież jeżeli cokolwiek pójdzie źle, jedynym rozwiązaniem i tak jest zawsze ściągnięcie tego samego repozytorium obok i przeklejenie popsutych plików. Git w sześciu komendach to lektura obowiązkowa!

„Writing Code that Nobody Else Can Read”

Kontrola wersji oczywiście naraża nas na, niebezpieczny i przestarzały, koncept recenzji kodu. Tutaj z pomocą przychodzi nam „Writing Code that Nobody Else Can Read”. Będąc ambitną wycieczką po meandrach wyobraźni, wspomaga proces kształtowania praktyk programistycznych tak, by tworzony kod jak najlepiej odzwierciedlał nasz sposób myślenia, przy okazji trzymając się jak najdalej od czyjegokolwiek innego. W myśl zasady, że podczas recenzji, kod dziesięcioliniowy skutkuje dziesięcioma komentarzami, a pięciusetliniowy – jednym (brzmiącym „wygląda dobrze”), „Writing” szczegółowo omawia również metody tworzenia kodu logicznie niezbędnego, ale objętościowo przekraczającego czyjąkolwiek wolę wkładaną w poprawne przeprowadzenie recenzji. Dodatek „B” ułatwi nam również wybór najbardziej nieprzystającego do zadania języka.

„Forgetting How Your Own Code Works”

Celem ciągłego doskonalenia i samorozwoju, umysł musi dysponować wolnymi przestrzeniami na przyswajanie nowej wiedzy i praktyk. Właśnie w tym celu napisano przewodnik „Forgetting How Your Own Code Works”, dzięki któremu uda się, nierzadko jeszcze podczas trwania samego projektu, usunąć wiedzę z zakresu tworzonego rozwiązania. Nadmierne przywiązanie do detali jest szkodliwe – powinniśmy zawsze dbać o szeroką perspektywę. Wolne umysły są wolne nie tylko od zbędnych zmartwień ale i od zbędnej wiedzy.

„Pointless Meetings”

Wreszcie, algorytm stworzony z użyciem „Trying Stuff Until it Works”, wprowadzony do projektu za pomocą „Memorizing Six Git Commands”, zapisany z wykorzystaniem praktyk z „Writing Code that Nobody Else Can Read”, a następnie zapomniany dzięki „Forgetting How Your Own Code Works”, będzie wkrótce wymagał wytłumaczenia nowym/przyszłym członkom projektu w ramach tranferu wiedzy. Tego typu inicjatywy będąc nam niestraszne dzięki najnowszemu wydaniu „Pointless Meetings”. Opisuje ono nie tylko spotkania z góry skazane na porażkę, jak i te systemowo zbędne z definicji. Te drugie z powodzeniem mogłyby zostać zastąpione mailem, ale codzienny strumień obowiązkowych, pozbawionych treści newsletterów dawno już sprawił, że maili nikt już nie czyta z wykorzystaniem świadomości. Nowe wydanie „Pointless Meetings” zawiera również dodatek poświęcony symulowaniu zaangażowania w trwające spotkanie, bogaty w inspirujące cytaty, jak „czy możemy na chwilę wrócić do poprzedniego slajdu?”.

Podsumowanie

Wszystkim polecam lekturę powyższych publikacji, ze swej strony dokonam również autopromocji i wspomnę, że do końca marca, zakup dowolnej z owych książek uprawnia do rabatu na moje ostatnie dzieło – „Writing overrated blog posts”!
Cheers!

PS: okładki, poza ostatnią, nie moje :)

za inspiracją od https://dev.to/

 

porady inne

Komentarze

0 nowych
ttomas   11 #1 15.03.2017 01:10

Moje życie stanęło mi przed oczami :).
Świetny wpis, ale czekam na kolejny który naprowadzi co zrobić, aby było lepiej w przypadku sytuacji przytoczonych akapitów / książek, ewentualne podsumowanie plus/minus najlepszych metodologii z tych przytoczonych. :)

  #2 15.03.2017 08:14

A mi z kolei wpis się nie podobał. Z częścią się zgadzam, z częścią mam wrażenie, że jest prześmiewcza i sarkastyczna, a na samym końcu mam wrażenie, że to po prostu taka forma lokowania produktu....

lordjahu   21 #3 15.03.2017 08:56

Piękny zwierzyniec trzymasz na półce. Co na to PETA ?

kowgli   9 #4 15.03.2017 09:43

Boskie :)

  #5 15.03.2017 10:37

Genialny wpis :) Przyjemność z czytania 8/10, klimat 9/10

  #6 15.03.2017 11:39

WItam

Wpis przeczytałem z czystej ciekawośc i jak wiele innych twoich wpisów ten równie dobrze się czytało aczkolwiek przytaczane książki są dla osób które już coś wiedzą. Ja dopiero zaczynam swoją przygodę z programowaniem i w moim przypadku wybór padł na pythona z tego względu, że u mnie znajdzie zastosowanie w dodawaniu nowych elementów do Odoo. Czy ktoś mógłby polecić książkę dla początkujących? Na razie staram się uczyć z strony http://www.learnpython.org ale myślę, że można by było uzupełnić wiedzę z innych źródeł.

pozdrawiam

ziggurad   12 #7 15.03.2017 12:06

Przeczytałem wszystkie i polecam, mega spoko wpis ;)

eimi REDAKCJA  17 #8 15.03.2017 13:24

Najlepszy wpis ever.

  #9 15.03.2017 14:01

Z książek, które Ci wysłałem na fb, zapomniałeś jeszcze wstawić: "Hoping Nobody Hacks You"
https://scontent.xx.fbcdn.net/v/t34.0-12/14877171_10205921551231599_669678840_n....

wielkipiec   16 #10 15.03.2017 14:21

@Anonim (niezalogowany): "Googling the error message" i "Coding Drunk" również polecam.

Azi   12 #11 15.03.2017 14:56

U mnie na strychu leżą jeszcze roczniki Chip-a, Enter-a z dobrych lat :)
O innych nie wspomnę...
Teraz się już czasopism tak dobrych w treść (przede wszystkim merytoryczną) nie robi. To były czasy...
O książkach nie wspomnę - "Programowanie Windows 95" jeszcze gdzieś leży. No ale to dość trudna lektura, jak znajdę to podam autora.
EDIT: Charles Petzold, znalazłem! Biblia jakich mało - ale tylko dla programistów - do tej pory się dużo rzeczy sprawdzi :)

Autor edytował komentarz w dniu: 15.03.2017 15:00
kowgli   9 #12 15.03.2017 15:42

@Azi: Czego dotyczy twoja wypowiedź?

  #13 15.03.2017 16:37

Mam wrażenie że niektórzy potraktowali ten wpis dość serio ;)
https://www.google.pl/search?q=o%27reilly+fake+covers&source=lnms&tbm=is...

Frankfurterium   10 #14 15.03.2017 18:18

Dorzuciłbym "Rewriting Your Front End Every Six Weeks" z kogutem na okładce.

  #15 15.03.2017 18:45

@eimi: poprostu piękny trolling :D

Perceptron   9 #16 15.03.2017 19:26

Tego się nie spodziewałem i milem zaskoczony :)
Dodałbym: "It works for me, creating test scenarios for professionals"

wefhy   11 #17 15.03.2017 20:04

Dobry wpis, już znalazłem sobie jeden tytuł, który przeczytam :)

A ze swojej strony polecam trochę krótszą i elektroniczną lekturę:
https://github.com/Droogans/unmaintainable-code

  #18 15.03.2017 20:10

Czekamy na polskie wersje

tylko_prawda   11 #19 15.03.2017 21:50

Świetne. Wpis roku.

Azi   12 #20 15.03.2017 21:52

@kowgli: Sposobu pozyskiwania wiedzy?

kowgli   9 #21 16.03.2017 01:09

@Azi: A jaki ma związek z wpisem na blogu, który komentujesz?

Waka   10 #22 17.03.2017 14:38

Piękne, się uśmiałem :P Dziękuję za wpis ;)
PS. Książka o regeksie powinna mieć tytuł "Regex, albo droga przez mękę" :P

clubber84   5 #23 18.03.2017 17:34

Powinieneś teraz @wielkipiec wydać to drukiem i zatytułować "Satyra na leniwych programistów" - być może, trafi ona w przyszłości do kanonu obowiązkowych lektur szkolnych, czego ci życzę. ;-)

P.S.
Chyba popełniłeś wpis roku (a mamy dopiero jego początek).

Autor edytował komentarz w dniu: 18.03.2017 17:42
wielkipiec   16 #24 18.03.2017 17:45

@clubber84: liczba wejść na to nie wskazuje ;)

clubber84   5 #25 18.03.2017 18:00

@wielkipiec: Poczekaj, niektórzy jeszcze nie doszli do siebie po twoim ostatnim wpisie - a opublikowanie wpisu na głównej stronie portalu przyspieszy proces jego wpisania do kanonu lektur obowiązkowych w IT.
Po prostu ten tekst idealnie wpasował się w dzisiejsze podejście programistów do swojej pracy - widać to na wielu płaszczyznach, z którymi mam styczność (w pracy, w domu czy na ulicy) - lenistwo strasznie się rozpanoszyło.

Autor edytował komentarz w dniu: 18.03.2017 18:02
  #26 20.03.2017 16:29

Najtrafniejsza, jaką dotychczas napotkałem, definicja "Agile".

  #27 24.03.2017 15:31

Gdzie moge znalesc ksiazke: Memorizing Six Git Commands?
Googluje i nie ma, to znaczy ze nie istnieje ;/

  #28 24.03.2017 22:45

Witam. Czy ktoś ma te pozycje do osprzedania? wolę wiedzę na papierze niż te bzdury z forów i kursów internetowych ;)
Wpis mega trafny i życiowy

kostek135   8 #29 25.03.2017 01:30

@Seba9219 (niezalogowany):
1. git clone
2. git add .
3. git commit -m
4. git push
5. git pull
6. git reset --hard

To cała zawartość książki. Resztę to chyba tylko sam Torvalds tylko używa i wie jak działa. Ale czego się spodziewać po jakimś podejrzanym typku co to ma linuksa i programuje na bieżni.

kostek135   8 #30 25.03.2017 01:32

A jak już przy git jesteśmy to polecam jeszcze to bardzo usprawnia prace z wyżej wymienionym: https://github.com/jakubnabrdalik/gitkurwa/blob/master/configNSFW_PL

Sprawiedliwy_Jontek   4 #31 01.04.2017 16:19

@wielkipiec: Dobrych książek nigdy za wiele. Trzeba tylko umieć znaleźć te odpowiednie. Ciekawe propozycje tutaj podsunąłeś. Pamiętam jak za czasów moich studiów, mój promotor sprawdzał mi pracę inżynierską i rzucił tekstem " bo wie Pan, rożni ludzie książki piszą, ale nie wszystko się nadaję do publikacji i czytania..."

będzie jakaś druga część wpisu? czy tylko tyle wartościowej literatury?

Gratulacje!

znalezione maszynki:

Twój czas:

Ogól Naczelnego!
Znalazłeś(aś) 10 maszynek Wilkinson Sword
oraz ogoliłaś naszego naczelnego!
Przejdź do rankingu
Podpowiedź: Przyciśnij lewy przycisk myszki i poruszaj nią, aby ogolić brodę.