Blog IT, Blog Marketing

Jak to działa?

Jak to działa?

Marcin Sarna , 12.05.2021 r.

Zrozumienie istoty problemu pomaga w nauce, także programowania.

Nie tylko testowanie i wzorce projektowe

Kiedy mówimy o doskonaleniu się w programowaniu, często temat schodzi na testowanie, pisanie kodu wielokrotnego użytku, wzorce projektowe czy czystość kodu. Wszystkie te rzeczy są ważne. Ale warto też po prostu wiedzieć jak działają systemy, których używamy. Na przykład w odniesieniu do interfejsu użytkownika w Javascript warto wiedzieć:

  • jak działa event loop
  • na czym polegają metody HTTP takie jak GET i POST
  • czym jest DOM i co możesz z nim zrobić
  • CORS

W zrozumieniu CSS pomoże dowiedzenie się jak elementy liniowe są renderowane w odróżnieniu od elementów blokowych czy jak działa flexbox. A każdy kto poważnie myśli o programowaniu powinien wiedzieć jak działa pamięć wirtualna, jak liczby są reprezentowane w systemie binarnym albo czym się różni linkowanie dynamiczne bibliotek od statycznego.

Bez zrozumienia też można

Oczywiście, że pracujemy z wieloma różnymi systemami czy językami i nieuzasadnione byłoby oczekiwanie, że każda osoba będzie wiedziała wszystko o każdym z nich. Na przykład wiele osób pisze programy do wysyłania wiadomości e-mail, a większość z nich prawdopodobnie nie rozumie do końca jak działa poczta e-mail. Ale jeśli pracujesz z czymś na poważniej i nie rozumiesz, jak to działa, możesz zacząć napotykać na problemy.

Kiedy będziemy wiedzieć, że brakuje nam podstaw żeby ruszyć dalej? Twoje błędy powiedzą Ci, kiedy musisz ulepszyć swoje zrozumienie tematu. Będziesz miał problemy z szybkim naprawieniem błędów i nie będziesz w stanie znaleźć właściwych pytań, które chciałbyś zadać, aby te błędy zdiagnozować. To jest bezcenna umiejętność: nauczyć się rozpoznawać uczucie czekaj, jestem naprawdę zdezorientowany, myślę, że jest coś, czego nie rozumiem w tym systemie, co to jest?

Bycie dobrym programistą nie polega na tym, aby wiedzieć absolutnie wszystko a bardziej na szybkim ogarnięciu, że czegoś nie wiesz i czego musisz się nauczyć.

Jak sobie radzić z zagubieniem?

Kiedy zauważysz, że sam już do końca nie rozumiesz w jakim miejscu jesteś i czy w ogóle prawidłowo wskazujesz na problem, spróbuj podejść do tego w ten sposób:

  1. Po pierwsze na pewno zauważysz, że jesteś zdezorientowany co do całkiem generalnej kwestii a nie konkretnego problemu („co tu się właściwie dzieje w tym kawałku kodu?”).
  2. Podziel więc swoje zagubienie na konkretne pytania dotyczące faktów, takie jak „kiedy będzie następna iteracja pętli, jakie dane otrzyma, gdzie zapisuje się ta wartość” itd. Spróbuj też formułować pytania do siebie samego tak abyś mógł na nie odpowiadać „tak” lub „nie”.
  3. Znajdź odpowiedzi na te pytania – po kolei, zacznij od najprostszych kwestii od których zależą zagadnienia.

Połącz nowe fakty z informacjami, które już masz

Ucząc się nowych rzeczy łatwo jest wyrecytować zdanie typu „spoko, w bajcie jest 8 bitów”. Tylko co z tego? Trudniejsze i znacznie bardziej przydatne jest połączenie tych informacji z tym, co już wiesz o programowaniu. W swoim programie prawdopodobnie masz ciągi znaków, takie jak „Hello world”. Możesz już zacząć zadawać wiele pytań na ten temat, posuwających sprawę do przodu, takich jak:

  • Ile bajtów pamięci jest używanych do reprezentowania ciągu „Hello world”? (nie zapomnij o bajcie zerowym – znowu się czegoś nauczysz)
  • Jakim dokładnie bitom odpowiada litera „H”? (kodowanie „Hello world” będzie używać ASCII, więc możesz sprawdzić to w tabeli ASCII)
  • Jeśli masz uruchomiony program, który wyświetla ciąg znaków „Hello world”, czy możesz zajrzeć do jego pamięci i dowiedzieć się, gdzie znajdują się te bajty? Jak to zrobisz?

Ważne jest tutaj zadawanie pytań i badanie połączeń między informacjami, które Cię interesują - może nie interesuje Cię sposób, w jaki ciągi są reprezentowane w pamięci, ale naprawdę chcesz wiedzieć, w ilu bajtach znajduje się emoji serca Unicode? Kiedy łączysz nowe fakty z rzeczami, które już znasz (np. Emoji czy ciągi znaków), nowa wiedza wręcz samoczynnie się do Ciebie „przyklei”.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej