Blog (47)
Komentarze (4.2k)
Recenzje (0)

Poczytaj mi, wielkipiecu — biblioteczka programisty

@wielkipiecPoczytaj mi, wielkipiecu — biblioteczka programisty15.03.2017 01:02

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/

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.