fbpx

Nauka programowania może przybierać przeróżne formy. Jedną z nich jest nauka poprzez analizowanie/rozwijanie repozytoriów. Postanowiłem wyjść naprzeciw Tobie i zebrałem 10 repozytoriów kodu, które moim zdaniem każdy programista powinien znać!

Szkoda, że ​​nie znałem ich, kiedy zaczynałem swoją przygodę z programowaniem. Potraktuj je jako wartościowy skrót, który przyspieszy Twoją karierę programisty.

Nie skupiałem się na ocenach, wybrałem subiektywnie najbardziej wartościowe materiały. Każde ze wspomnianych poniżej repo wniesie coś ekstra do Twojego programistycznego warsztatu.

Zaczynajmy!

Zatrzymaj się!


Książki to obowiązkowa pozycja dla każdego zainteresowanego programowaniem!

Jest to zdecydowanie jedno z najlepszych źródeł do nauki programowania! Zyskasz przewagę w branży IT i osiągniesz dużo jako deweloper.


1. Awesome Git

Zacznę tę listę od zupełnych podstaw. Korzystając z GitHub, musisz znać zagadnienia dotyczące gita. Git to nie tylko zarządzanie kodem w prosty sposób. To również narzędzia, hostingi czy rozszerzenia do IDE. 

O wszystkim tym dowiesz się z tego właśnie Repo. Ciekawe jest to, że repozytoria mogą służyć też jako pewnego rodzaju dokumentacja, blog czy zbiór materiałów do nauki. Jeśli chcesz poznać moc gita, zrozumieć jego działanie i wybrać odpowiednie narzędzia, to Awesome Git jest dla Ciebie.

I zapamiętaj, bez zrozumienia git, zgubisz się na GitHub!

2. 100-Days-Of-ML-Code

Biłem się z myślami, czy umieszczać to właśnie repozytorium na tej wąskiej liście. ML jest nadal bardzo wąską dziedziną, jeśli chodzi o cały przekrój IT. Postanowiłem jednak zaryzykować i wstawić to repo tu na blogu. 

ML według mnie będzie wiodło prym w IT w najbliższych latach i warto, by programiści w jak największej grupie studiowali zagadnienia związane z uczeniem maszynowym. 100 Days of Machine Learning Coding to prawdziwa perełka, bo daje Ci idealnie ułożony plan nauki Machine Learning. Od podstaw, aż po zagadnienia bardzo zaawansowane. Na cały materiał wystarczy poświęcić trzy miesiące codziennej nauki.

Sam nie pracuję z ML, ale podstawy mam już za sobą i wiele to wnosi do mojej kariery programisty.

3. Allegro Tech

Nasz rodzimy, technologiczny gigant. Repozytorium firmy poznałem w czasie rozmów o pracę, które miałem przyjemność przechodzić w Allegro. Finalnie w Allegro nie wylądowałem, ale repozytorium obserwuję od tamtego momentu.

Całe Allegro Tech składa się z ponad 100 repo, gdzie znajdziemy wiele narzędzi, z których zbudowana jest platforma. Korzystamy z niej na co dzień w polskich domach, więc tym bardziej szacunek dla twórców za to, że dzielą się kodem w taki sposób. 

Warto śledzić również Podcast Allegro Tech, bo są tam inspirujące rozmowy na tematy technologiczne na dużą skalę.

4. NestJS

Kamil Myśliwiec to programista, którego musisz poznać. Pracuje w Google, do tego jest twórcą jednego z najlepszych framework dla Node.js. Sprawdza się idealnie do tworzenia wydajnych i skalowalnych aplikacji po stronie serwera.

Jeśli komuś marzy się kariera programisty-wyjadacza, to Kamil jest wzorem do naśladowania. Po cichu, spokojnie zbudował wokół swojego programistycznego projektu społeczność i zyskuje powoli miano programisty legendarnego, zwłaszcza w Polsce.

Jestem fanem talentu Kamila i obserwuję go, czerpię inspirację między innymi z tego, w jak elegancki sposób tworzy wspomniany framework.

5. List of Free Learning Resources In Many Languages

Prawdziwa gwiazda wśród repozytoriów GitHub. Darmowe źródła nauki programowania w postaci blogów, materiałów akademickich czy wreszcie książek jest od dawna w TOP 3 najpopularniejszych repo. 

I nie ma się co dziwić. Prawie 2000 programistów stworzyło niesamowitą bazę wiedzy. Jest też cała sekcja po polsku, która ma w sobie materiały na temat najpopularniejszych programistycznych języków. Niebawem pojawi się tam również mój darmowy kurs Python 3 by MR.

A jeśli potrzebujesz materiałów w innych językach niż polski czy angielski, to proszę bardzo. Od arabskiego, po chiński a na bardziej egzotycznym hindi czy tamil kończąc.

6. Coding Interview University

Chcesz pracować dla kogoś z FAAMG (Facebook, Amazon, Apple, Microsoft, Google)? To repozytorium jest właśnie dla takich osób, jak Ty. Autor postanowił, że dostanie się do Google, wylądował ostatecznie w Amazon.

Uczył się codziennie przez niemal rok, poświęcając na naukę nawet 12 godzin dziennie. Całość materiałów umieścił na tym repozytorium. Materiały były tak dobre, że szybko społeczność podłapała temat i dziś Coding Interview University to najpopularniejsze repozytorium dla osób szukających nowej pracy w IT. 

Najlepsze w tym wszystkim jest to, że masz ułożony gruntowny plan nauki, od podstaw po aspekty najbardziej zaawansowane. Wszystkich tych rzeczy w mniejszym lub większym stopniu powinniśmy jako programiści uczyć się na studiach informatycznych, ale jak wiemy, studia często pozostawiają wiele do życzenia.

7. 30 Days Of JavaScript

30 dni nauki JS to repozytorium, które zawsze polecam osobom pytającym mnie o materiały do nauki tego właśnie języka. Nie ma co ukrywać, w dzisiejszych czasach nawet 9/10 uczących się programowania na start wybiera właśnie JavaScript. Czy jest to dobry wybór? Nie wiem. 

Repozytorium udostępnia bardzo dużo materiałów, dzięki którym przy systematycznej nauce możesz poznać podstawy JS w zaledwie 30 dni. Nie jest jednak ważne to, jak szybko opanujesz ten język. Grunt to zrozumieć wszystko, najlepiej podczas systematycznej, codziennej nauki.

Podział na poszczególne dni nauki wygląda następująco:

01 Introduction
02 Data Types
03 Booleans, Operators, Date
04 Conditionals
05 Arrays
06 Loops
07 Functions
08 Objects
09 Higher Order Functions
10 Sets and Maps
11 Destructuring and Spreading
12 Regular Expressions
13 Console Object Methods
14 Error Handling
15 Classes
16 JSON
17 Web Storages
18 Promises
19 Closure
20 Writing Clean Code
21 DOM
22 Manipulating DOM Object
23 Event Listeners
24 Mini Project: Solar System
25 Mini Project: World Countries Data Visualization 1
26 Mini Project: World Countries Data Visualization 2
27 Mini Project: Portfolio
28 Mini Project: Leaderboard
29 Mini Project: Animating characters
30 Final Projects

Na koniec dodam, że jest wiele odpowiedników tego repozytorium, chociażby dla języka Python czy Java.

8. The Algorithms

Łącznie 35 repozytoriów, gdzie w 35 językach znajdziemy setki algorytmów. Znajdziesz tam takie języki jak JS, Python, Java czy C++. Z mniej popularnych to algorytmy napisane w F#, Lua czy Julia.

Poza algorytmami znajdziemy tam szereg implementacji struktur danych czy przeróżnych matematycznych formuł. Jest to moje ulubione repozytorium, ponieważ w przeszłości bardzo mocno stawiałem na naukę algorytmów. Ich implementacje są bardzo optymalne, chociaż czasami zdarzają się dziwne wybiegi programistyczne. 

Pamiętaj, algorytmika w programowaniu jest super ważna!

9. Linux kernel source tree

Linux nie trzeba nikomu przedstawiać. Jego ogromny potencjał, mnogość dystrybucji i fakt, że jest otwarty i darmowy powoduje, że ma miliony zwolenników na całym świecie. 

Sam mam przygody z Ubuntu, Mint, Fedorą czy Kali i każda z dystrybucji zajęła kawałek mojego programistycznego serca. Nie mogłem pominąć przez to na tej liście właśnie repozytorium Linux, które utworzył nie kto inny, jak Linus Torvalds. Co ciekawe Linus jest również twórcą gita, na którym GitHub się opiera.

Ponad milion commitów robi wrażenie, a nie zapominajmy, że dotyczy to tylko jądra systemu. 

Informacje o repozytorium:

10. Public APIs

Każdy szanujący się programista prędzej czy później będzie zmuszony skorzystać z API. Zarówno w pracy zawodowej, jak i w prywatnych projektach po godzinach. Problem z API jest taki, że nie zawsze są one dostępne.

I tu z pomocą przychodzi repozytorium Public APIs, który zawiera masę darmowych, dostępnych API, z których w dowolnym momencie możesz skorzystać w swoich projektach. 

Na ogromny plus zasługuje podział API na kategorie. Na czas pisania tego artykułu jest tam dokładnie 51 kategorii. 

Informacje o repozytorium:

10 repozytoriów kodu – Podsumowanie

Jeśli jeszcze nie masz w zwyczaju przeglądać repozytoria kodu innych programistów, to zachęcam gorąco. Według mnie jest to prawdziwa skarbnica wiedzy. Nigdzie tak dobrze nie poznałem niuansów języków programowania, wzorców architektonicznych czy po prostu stylu pisania kodu, jak właśnie na GitHub. 

Mówi się, że GitHub to taki Facebook dla geeków, ale nie mogę się z tym zgodzić w 100%. Jest to narzędzie, które usprawnia pracę, nie powoduje rozproszenia i zapewnia programiście mniej stresu przy pracy z kodem. To, co może łączyć GitHub i Fb, to popularność. Ponad 37 milionów użytkowników i ponad 100 milionów repozytorium jest dowodem popularności Github i pokazuje miłość programistów do tej niesamowitej strony. Skala niech mniejsza, niż w przypadku FB, ale jeśli spojrzymy procentowo na ogół społeczności IT, to ogromny odsetek korzysta głównie z GitHub. 

Newsletter

Nie przegap i dołącz już dziś do 840 osób będących w tym Newsletter! Otrzymuj co niedzielę o godzinie 20 listę kilku ciekawych tematów, które miałem okazję obserwować w mijającym tygodniu.

Tematy będą głównie techniczne, ale czasami pojawi się coś, co może wprowadzi Cię w stan zadumy i zmusi do dyskusji w szerszym gronie. Zero spamu!

Autor

Programista .NET i Python. Autor książki "Programistą być".

Napisz komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

SPRAWDŹ POLECANĄ KSIĄŻKĘ. Najlepsze materiały do nauki programowania!

X