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.
Programując w jakimkolwiek z języków programowania nie da się uniknąć błędów
i na te błędy jest przygotowany kompilator danego języka programowania.
To oznacza, że jeżeli my jako programiści popełnimy jakiś błąd to nasz program nie
będzie działał informując nas o tym zazwyczaj jakiego rodzaju jest to błąd.
Teraz chciałbym Ci pokazać kilka rodzajów
błędów natomiast nie będziemy wchodzić w szczegóły każdego z nich bo one są
specyficzne dla języka JavaScript a ten kurs chciałem żeby był bardziej ogólny,
po prostu o programowaniu, więc będzie to
mogło wyglądać troszeczkę inaczej w innych językach.
Natomiast jaki może być przykład błędu. W języku JavaScript możemy otrzymać i to po
prostu widać albo w konsoli przeglądarki internetowej albo tak jak w tym kursie
uruchamialiśmy to z użyciem Node.js ten błąd widać, jest to napisane tak jak tutaj tzw.
ReferenceError i on się może pojawić wtedy
kiedy spróbujemy się odwołać do czegoś co nie istnieje.
Czyli jakby poprzez złą referencje.
Więc gdybym chciał zrobić console.log i wyświetlić wartość zmiennej firstName
ale nigdzie tej zmiennej wcześniej nie zdefiniowałem to otrzymamy ReferenceError
z takiego powodu, że ten program po prostu
nie może działać bo to my popełniliśmy błąd w kodzie. Natomiast innym bardzo
popularnym typem błędu, który jest w języku JavaScript również jest tzw.
SyntaxError i on pojawia się wtedy kiedy dokonamy jakiegoś niepoprawnego zapisu np.
gdybym chciał utworzyć stałą firstName
i napisałbym Tomasz ale zauważ, że nie dotknąłem tutaj cudzysłowu,
jest to niepoprawny kod z punktu widzenia
właśnie Syntax czyli zapisu. Wtedy program zwróci nam właśnie SyntaxError.
No i tak będzie też w innych językach programowania,
natomiast same te klasy błędów mogą nazywać się trochę inaczej.
Drugą rzeczą, którą można spotkać kiedy się
programuje są wyjątki czyli z angielskiego Exceptions.
I tutaj chciałbym chwilę o nich porozmawiać.
I czym one się różnią od błędów.
Przede wszystkim najważniejszą rzeczą jest, że wyjątki są zwracane przez programistę.
Czyli to my w naszym kodzie decydujemy o tym kiedy zwrócić wyjątek.
Wyobraź sobie teraz, że tworzymy jakiś kod,
który będzie wyszukiwał czegoś w bazie danych
i ten kod jest przeznaczony do tego żeby ktoś inny mógł z niego korzystać.
Dajemy ten kod w formie np.
takiej biblioteki innemu programiście i mamy tam taką funkcję, która pozwala nam
wyszukiwać w bazie danych ale należy do niej przekazać frazę wyszukiwania.
No i teraz wyobraź sobie, że ktoś tej frazy nie przekazał.
Więc z takiego logicznego punktu widzenia nas programistów, którzy tworzyliśmy ten
kod nie ma sensu nic wyszukiwać w bazie danych
jeżeli ktoś do naszej funkcji nie przekazał czego chce szukać. I to właśnie w
takim momencie dobrym pomysłem jest zwrócenie wyjątku. W języku JavaScript
wyglądałoby to następująco. Mamy słowo kluczowe throw,
które nam wyrzuca taki błąd i jest w języku JavaScript dostępnym taka klasa Error, z
której możemy utworzyć obiekt i podać tam komunikat.
Natomiast w innych językach takich jak np.
PHP będzie to klasa Exception,
niemniej jednak zasada działania jest identyczna.
I teraz jeżeli ktoś korzysta z naszego
kodu, w którym my specjalnie gdzieś przez instrukcję warunkową sprawdziliśmy, że nie
została podana fraza do naszej funkcji i specjalnie wyrzuciliśmy taki błąd czyli
zgłosiliśmy wyjątek to ktoś kto będzie korzystał z takiego programu z naszego
kodu po prostu zobaczy u siebie ten błąd i jego program nie będzie działał.
I dzięki temu będzie mógł zauważyć, ok,
skorzystałem z funkcji ale przez przypadek np.
zapomniałem podać nam frazę wyszukiwania.
Jak zatem widzisz błędy się pojawiają
zazwyczaj wtedy kiedy popełnimy jakiś błąd czyli albo się odwołujemy do zmiennej,
która nie istnieje albo będziemy mieli błąd w zapisie.
Natomiast wyjątki są wtedy kiedy to programista zdecyduje, że np.
jego funkcja nie może działać bez podania odpowiedniego parametru
i w takiej sytuacji zwraca po prostu wyjątek
i niech martwi się ktoś kto z tego kodu
będzie korzystał i nam tego parametru nie poda.
Niech każdy się martwi czy go nie poznał
przez przypadek czy po prostu ma gdzieś w swoim programie błąd i podał nam np.
wartość null również niespecjalnie, nieintencjonalnie.
Wtedy zobaczy taki wyjątek i będzie mógł swój kod poprawić.