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.
Na ten moment wiemy, że komputery są w stanie przetwarzać informacje i robią to
niesamowicie szybko, a z drugiej strony my jako ludzie jesteśmy
w stanie się z nimi komunikować, wykorzystując języki programowania.
Pytanie tylko dlaczego to w ogóle jest potrzebne.
Chodzi tutaj o fakt dotyczący modyfikowania danych.
Co prawda, my jako ludzie jesteśmy w stanie robić to samodzielnie, natomiast
wykorzystując komputery mamy po prostu zdecydowanie większe możliwości.
I teraz pytanie w jaki sposób ta modyfikacja danych w ogóle się odbywa?
Przede wszystkim musisz zrozumieć, że
komputery do przetwarzania informacji wykorzystują tzw.
typy. To znaczy, że my jako ludzie w momencie gdy
widzimy kilka liter obok siebie naturalnie wiemy, że mamy do czynienia ze słowem.
W momencie gdy pojawiają się tam cyfry no to wiemy, że mamy do czynienia z liczbą.
I to samo w zasadzie musi zrobić komputer. Czyli musi rozpoznać tzw.
typ danych.
Najpopularniejszym typem danych jest ciąg znaków czyli tzw.
String.
Drugim równie popularnym typem jest po prostu liczba czyli Number.
No i w przypadku komputerów bardzo często spotykanym typem jest po prostu wartość
logiczna czyli prawda lub fałsz, od której zależy to jaką decyzję komputer podejmuje.
Oczywiście tych typów danych jest
zdecydowanie więcej i one często różnią się na przestrzeni różnych języków
programowania, natomiast na ten moment nie będziemy sobie o tym mówić.
Najważniejsze jest jednak to, abyś zapamiętał, że te typy danych istnieją i że
mamy z nimi do czynienia praktycznie na każdym kroku.
Przykładowo mamy tutaj pole tekstowe, do
którego użytkownik może wprowadzić jakieś dane i np.
ja jako użytkownik wprowadzę tutaj swój
adres e-mail. Takie pola tekstowe możesz spotkać praktycznie na każdej stronie
internetowej bądź też aplikacji mobilnej i są one formą umożliwiającą komunikację czy
też przepływ informacji pomiędzy użytkownikiem a samą aplikacją.
To co się dzieje z tymi danymi można
powiedzieć pod spodem to już zależy od samego programu.
Natomiast wyobraź sobie taki prosty
scenariusz, w którym na podstawie adresu e-mail tworzymy login użytkownika. Czyli
zależy nam tutaj na tym, aby pobrać informacje które znajdują się przed @.
W tym przypadku jest to imię Adam.
Oprócz tego interesuje nas również to, aby
zapisać sam adres e-mail do tego aby potem komunikować się z użytkownikiem.
No i takie dane mogą zostać zapisane w
bazie danych aby umożliwić późniejsze logowanie czy też dostęp w ogóle do konta
i przypisywanie do niego różnego rodzaju informacji.
Tak jak widzisz wykorzystaliśmy tutaj proste pole tekstowe do tego, aby umożliwić
komunikację pomiędzy użytkownikiem a komputerem a konkretnie naszym programem.
Doszło tutaj do nie tylko przyjęcia
informacji, ale również ich przetworzenia a następnie zapisania.
Więc znowu mamy tutaj przetwarzanie informacji.
Natomiast najważniejsze jest to, że wydarzyło się to bez udziału człowieka a w
zasadzie drugiego człowieka. I dzięki temu jesteśmy w stanie dokonywać
takich operacji na naprawdę dużą skalę tzn.
np.
w jednym czasie obsłużyć 100 tysięcy rejestracji użytkowników.
Także jak widzisz wykorzystaliśmy tutaj proste pole tekstowe do tego aby umożliwić
użytkownikowi interakcję z naszym programem.
On podał swój adres e-mail a program zajął się tym, aby wykonać zestaw akcji, które
zostały określone przez nas jako programistów.
Dzięki temu taki użytkownik może wrócić do naszej aplikacji, następnie zalogować się
i uzyskać dostęp do określonych przez nas danych.
Oznacza to mniej więcej tyle, że podobnych operacji może być wykonanych np.
100 tysięcy w tym samym czasie i nie ma z tym najmniejszego problemu.
Jeżeli teraz rozejrzysz się wokół siebie i
popatrzysz na swój telefon bądź komputer to zobaczysz, że w zasadzie na każdym kroku
podobny schemat powtarzany jest cały czas. To znaczy że komputery czy programy i
aplikacje z których korzystamy proszą nas o podawanie różnego rodzaju informacji
bądź podejmowanie jakiejś akcji, w wyniku których, podejmowane są inne akcje.
I to co dzieje się pod spodem to już zależy od tego co konkretnie chcemy
osiągnąć i w jaki sposób napisany jest dany program.
Ale o tym porozmawiamy sobie później.