dla Początkujących
6 godz. 26 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykProgramowanie to szeroka dziedzina, która nieustannie się rozwija. Rozpoczynając naukę możemy opierać się głównie na wskazówkach bardziej doświadczonych osób, bądź autorach kursów i nauczycielach. W praktyce najważniejsze na początku jest dobre zrozumienie tego, czym jest programowanie, jakie możliwości daje oraz jakie możemy wybrać ścieżki rozwoju. W tym kursie spojrzymy na programowanie z szerokiej perspektywy, dając Ci solidne podstawy do dalszej nauki.
To kolejne trudne pytanie, na które nie ma jednoznacznej odpowiedzi. Dobra wiadomość jest taka że języki programowania, podobnie jak angielski, niemiecki czy hiszpański mają cechy wspólne. Nie oznacza to że nauka jednego, da Ci dostęp do wszystkich ale poznasz ogólne mechanizmy, które spotkasz w niemal wszystkich pozostałych technologiach. W tym kursie skupiamy się właśnie na takich obszarach, opierając przykłady o obecnie najpopularniejszy język jakim jest JavaScript.
Być może zastanawiasz się jak dokładnie wygląda praca programisty? Czym różni się front-end od back-endu i czy wysokie umiejętności analityczne są wymagane niezależnie od obszaru programowania, którym się zajmujemy? Dodatkowo samo zostanie programistą to tylko początek drogi. Możliwości jakie przed nami stoją nie tylko są ogromne, ale również nieustannie się rozwijają, stawiając przed nami nowe wyzwania.
Ten kurs podzielony jest na dwie części - teoretyczną, która przedstawi Ci szerokie spojrzenie na programowanie oraz praktyczną, w której samodzielnie będziesz w stanie przekonać się jak pisać programy z wykorzystaniem języka JavaScript - najpopularniejszego języka na świecie. To, że będziemy przerabiać przykłady w JavaScript, nie stanowi przeszkody a wręcz lepiej przygotuje Cię do pracy z innymi językami jak Python, C# czy C++ lub Kotlin. To wszystko ułatwi Ci podejmowanie decyzji dotyczących dalszej nauki i rozwoju jako programista.
W pierwszych lekcjach części praktycznej kursu dowiesz się jak skonfigurować środowisko pracy wraz z edytorem, w którym przyjdzie Ci pracować. Pomożemy Ci w dobraniu odpowiednich ustawień i wtyczek, które przyspieszą naukę i pomogą w lepszym zrozumieniu podstawowych koncepcji programistycznych. Krok po kroku dowiesz się jak przygotować środowisko i rozpocząć komfortową pracę.
Mimo, że będziemy pracować z JavaScript, posłuży nam on do przedstawienia najważniejszych koncepcji programowania w każdym innym języku. Nie będziemy uczyć się tworzenia stron i środowiska przeglądarki a jedynie przećwiczymy najważniejsze koncepcje języków programowania w środowisku konsolowym. Dzięki temu zdobyte umiejętności z łatwością przełożysz na inne języki jak Python, Java czy Swift, bo wszystkie posiadają identyczne konstrukcje, a poznać należy wyłącznie różnice.
OOP to jeden z najważniejszych paradygmatów programowania, który powinien poznać każdy aspirujący Programista. Dzięki temu będziesz mógł zdecydowanie lepiej zrozumieć możliwości i powiązania klas i obiektów, które tworzą programiści a także pisać kod, który jest prostszy i reużywalny. To koncepcja, którą także wyjaśnimy obrazowo w kursie. Oczywiście, poza teorią w kursie pokażemy Ci przykłady tworzenia funkcjonalnych klas w JavaScript.
Kolejną ważną koncepcją, którą musi znać każdy początkujący Programista jest praca z błędami - innymi słowy obsługa błędów lub debugowanie naszej aplikacji. To niezwykle ważne, bo oszczędzi Ci mnóstwa frustracji oraz wielu godzin rozpoznawania, co w kodzie nie działa poprawnie. Z kursu w praktyce dowiesz się, jak testować swoje aplikacje, łatwo wykrywać błędy i korzystać z narzędzi, które będą je dla nas wykrywać lub automatycznie poprawiać!
Ten kurs przygotowaliśmy tak, aby był fundamentem wiedzy o Programowaniu, którego używamy w wielu naszych ścieżkach na eduweb.pl. To znaczy, że kurs który masz przed sobą rozpoczyna ścieżkę Python, JavaScript, Ruby i wiele innych. Wiemy, że w sieci jest mnóstwo materiałów na temat podstaw programowania i chcieliśmy przygotować wyjątkowy kurs, który da Ci spokój w natłoku wielu informacji w sieci. Zaangażowaliśmy w to najlepszych autorów eduweb oraz naszym zdaniem jednych z najlepszych programistów w Polsce. To, co jest jednak najważniejsze - kurs omawia programowanie bardzo prostym językiem, dzięki czemu jest przystępny dla każdego!
Kurs przeznaczony jest dla osób początkujących, które stawiają swoje pierwsze kroki na scieżce programisty lub programistki. Jednak skorzystają z niego także te osoby, które myślą o nauce programowania w celu uzupełnienia innych umiejętności, na przykład internetowi przedsiębiorcy, freelancerzy, UI/UX i web designerzy. Jeżeli czujesz się zagubiony lub przytłoczony dużą ilością często sprzecznych informacji - ten materiał pozwoli Ci szerzej spojrzeć na programowanie. To z kolei przełoży się na lepsze decyzje, które będziesz podejmować w kontekście swojego rozwoju. W kursie znajdziesz wskazówki i porady dotyczące efektywnej nauki programowania, które pomogą Ci szybciej zdobyć nowe umiejętności i pracę w zawodzie. Najważniejszą z nich jest fakt, że programowanie to dynamicznie rozwijająca się dziedzina, która wymaga od Ciebie nieustannej nauki. Zatem wypracowanie odpowiednich nawyków i technik nauki jest niezwykle istotne, niezależnie od miejsca w którym aktualnie się znajdujesz.
W tym rozdziale porozmawiamy o tym czym są moduły i co dzięki nim możemy uzyskać.
Możliwość dzielenia kodu na moduły jest czasami cechą samego języka programowania
a czasami możliwością jaką oferuje nam platforma uruchomieniowa, tak jak np.
w przypadku Node.js, z którego korzystamy w
tym kursie. Node pozwala nam dzielić kod na moduły. No i właśnie moduły to są takie
mniejsze części, na które dzielimy nasz program. Zamiast mieć jeden gigantyczny
plik, w którym zapisali byśmy cały kod naszego programu
możemy utworzyć bardzo wiele małych plików,
w których będą znajdować się poszczególne części czyli moduły naszego programu.
Co ważne część z tych modułów zazwyczaj może być również zewnętrzna czyli pobrana
z Internetu i zupełnie nie przez nas napisana.
I możemy pobrać sobie właśnie takie moduły w formie bibliotek np.
do manipulacji datą czy do zapisywania czegoś w plikach itd.
I taką bibliotekę możemy również stworzyć
sami jeżeli napiszemy dużo jakiegoś kodu realizującego jakieś fajne zadanie to
możemy z tego utworzyć bibliotekę, nawet ją komuś udostępnić i taki programista może z
niej po prostu skorzystać nie wnikając już w to jak ona dokładnie działa,
ale patrząc na to jak po prostu jej użyć.
Czyli tak jak było w przypadku funkcji. Tworzymy funkcję, w której może być bardzo
wiele kodu ale jak ją wywołujemy to podajemy jej np.
jeden czy dwa parametry i ona za nas
wykonuje zadanie. Więc możemy sobie tak pomyśleć na tym etapie, że moduły to byłyby
takie pliki, w których się znajduje jedna lub więcej przydatnych funkcji.
Kiedy wszystkie te funkcje połączymy w
całość, tworzymy z takich klocków nasz program.
Zerknijmy jeszcze jakie są zalety modułowości.
Przede wszystkim jest to łatwiejsze utrzymanie kodu.
Właśnie z tego powodu, że jak program
podzielimy na wiele modułów to potem możemy niezależnie od siebie je zmieniać.
Czyli możemy pracować nad jednym modułem
trochę go usprawnić albo dodać tam jakieś nowe funkcjonalności nie ruszając
pozostałych części programu i nie martwiąc się, że bardzo łatwo możemy je w jakiś
sposób zmienić tak, że nasz program przestanie działać.
Oczywiście wciąż jest to możliwe bo to wszystko jest w jakiś sposób ze sobą
połączone ale napewno łatwiej się pracuje po prostu na mniejszych częściach.
Po drugie jest to lepsza wydajność a to z tego powodu, że może być tak, że w
niektórych częściach naszego programu będziemy importować wyłącznie te moduły,
które są w danym momencie potrzebne. A więc można powiedzieć, że cały nasz program
dzięki temu może być mniejszy albo w danym momencie może być bardziej wydajny
bo zamiast odczytywać cały kod on korzysta
tylko z tych modułów, które były w danym momencie potrzebne.
Tak jak wspomniałem przed momentem to jest możliwość korzystania z bibliotek czyli z
takiego kodu, który ktoś inny już napisał i udostępnił nam razem z dokumentacją, która
mówi jak z takich funkcji, które są w takiej bibliotece korzystać.
No i to wszystko wiąże się również z tym, że możemy łatwiej pracować zespołowo bo
może być zespół programistów gdzie każdy pracuje nad inną częścią systemu.
Oczywiście nadal te prace muszą być skoordynowane aby to wszystko razem
działało ale dzięki temu, że nie pracujemy na jednym jakimś gigantycznym pliku to
każdy może być odpowiedzialny za jakąś jedną swoją część.
To tyle teorii w kolejnych lekcjach zobaczysz jak możemy z modułów w przypadku Node.js
korzystać a także skorzystamy z zewnętrznych bibliotek.