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.
Wiesz już jak działa pętla for.
I teraz pokażę Ci jak tę wiedzę można wykorzystać aby iterować po elementach
tablicy. Więc ja będę chciał sobie utworzyć taką stałą o nazwie numbers gdzie
będziemy mieli tablicę i wiesz, że tablice tworzy się tak i ona będzie miała jakieś sześć
liczb. Powiedzmy, że są to liczby wylosowane np.
w dużym lotku. Zapiszemy 2, 3 może 17, 32, 28 i 9.
Zrobimy to w ten sposób i teraz będziemy chcieli kolejno te liczby wyświetlić.
Najpierw pokaże Ci to na prostym przykładzie a potem go sobie troszeczkę
jeszcze doszlifujemy aby dawało nam to fajny komunikat. Więc teraz chcielibyśmy w
konsoli wyświetlić po kolei wszystkie te liczby.
No i do tej pory ja Ci pokazałem jeżeli
byśmy zrobili console.log odwołam się do tej tablicy numbers i podam indeks zero,
to wyświetli mi to dwójkę prawda, bo tutaj jest dwójka pod indeksem zero potem 1, 2, 3,
4, 5 czyli jak podam 5 to mi powinno zwrócić
dziewiątkę, dokładnie tak. Więc teraz
gdybyśmy sobie stworzyli taką pętlę gdzie będziemy mieli zmienną i, która będzie
przyjmowała wartości 0, 1, 2, 3, 4, 5 i te wartości byśmy podstawiali tutaj pod numbers to byśmy
mogli sobie właśnie wyświetlić wszystkie liczby po kolei.
No i można to bardzo łatwo zrobić z użyciem pętli for
na takim przykładzie jak mieliśmy w lekcji
poprzedniej czyli robimy sobie for i inicjujemy
można powiedzieć nasz świat na początku.
Czyli mówimy, że i ma przyjąć wartość zero. To jest to pierwsze wrażenie, które na samym
początku wykonywania pętli będzie raz wywołane.
Następnie podajemy wyrażenie, które będzie nam ewoluowało do prawdy lub fałszu po to żeby
pętla wiedziała czy ma wykonywać kod w niej zawarty czy nie.
Więc będziemy chcieli wykonywać tą pętlę tak długo jak i będzie mniejsze od,
no właśnie od czego?
Chcielibyśmy to wykonać tyle razy ile jest elementów w tablicy czyli 1, 2, 3, 4, 5, 6.
Skąd to wziąć. Ja to na sekundę wykomentuję i przypomnę Ci,
że jak mamy tablicę i odwołały się do numbers czyli do tej tablicy i do
właściwości length to to nam zwraca dokładnie ile elementów jest w tej tablicy.
Czyli mamy tutaj sześć.
A więc jeżeli ja chciałbym napisać, że ta pętla ma się wykonać sześć razy
to oczywiście mógłbym tutaj wpisać na sztywno sześć,
no ale to nie ma sensu dlatego, że jak tutaj
dodamy siódmy element to ta pięta nam ostatniego elementu nie wyświetli.
Więc tutaj możemy dynamicznie się odwołać do numbers length
i to będzie nasz warunek. Czyli będziemy sprawdzać na początku czy i a więc zero
jest mniejsza od 6 w tym przypadku zostanie zwrócone 6.
Tak, więc wykonaj kod, który tam jest zawarty. I potem będziemy chcieli po prostu
zwiększać i, tak jak w lekcji poprzedniej. A tutaj będziemy chcieli robić console.log,
no właśnie i co.
Nie będziemy chcieli wyświetlać tak jak w
lekcji poprzedniej i, bo wtedy byśmy sobie wyświetlili liczby od zera do pięciu.
Nie ma to tutaj sensu, natomiast chcemy się
odwoływać do tej tablicy. Czyli jeszcze raz przypomnę skoro możemy napisać numbers 0 i
to nam da pierwszy element tablicy, numbers 1 da nam drugi element, to skoro pod
i za każdą iteracją mamy 0, 1, 2 to właśnie to i postawimy sobie tutaj.
Zróbmy to w ten sposób.
A więc console.log odwołuje się do numbers
i podaje zmienną i. Teraz jeżeli zapisze tutaj może jeszcze
wyczyszczę żebyśmy to zobaczyli i jeszcze raz zapisuje, program się wykonał,
zauważ, że on nam wyświetlił po kolei wszystkie liczby jakie mieliśmy w tej
tablicy. Więc prześledzimy jeszcze raz na sekundę. Na początku i ma wartość 0.
Sprawdzamy czy i jest mniejsze od długości
tej tablicy w tym przypadku od sześciu. I jest mniejsza od sześciu
więc robimy console.log i odwołujemy się do numbers podstawiając i, czyli numbers 0.
To nam zwraca dwójkę i przekazuje do console.log, ta dwójka się tutaj wyświetliła,
zwiększa licznik o 1 więc teraz zmienna i ma wartość 1.
Sprawdzamy czy 1 jest mniejsza od 6.
Tak, więc znowu tutaj do numbers podstawiami i czyli jedynkę.
A jak powiemy numbers 1 to zwróci nam trójkę i tak będziemy robić aż do końca.
W pewnym momencie i zostanie zwiększone do wartości 7
i jeżeli tutaj sprawdzimy czy i jest mniejsze od 7 a
w zasadzie od 6 więc czy 7 jest mniejsza od 6, nie, a więc już
nie wykonuj tego kodu tylko wyskocz tutaj.
Mam nadzieję, że teraz to widzisz i jak
fajnie połączyliśmy sobie wiedzę z zakresu tablic, zakresu zwracania
tego ile tablica ma elementów i tego jak po indeksach można się odwoływać do
tablic. No i połączyliśmy to wszystko z pętlą for. Teraz Ci pokaże, że ten przykład
możemy jeszcze sobie troszeczkę dopieścić żeby nasz program fajniej wyglądał.
Tutaj jeszcze raz wyczyszczę.
Będę chciał wyświetlić coś takiego jak wylosowane liczby to i chciałbym żeby te
liczby były po przecinku pokazane tak jak są w tej tablicy. Więc utworzymy sobie
tutaj zmienną tekst, tak ją po prostu nazwę i napiszemy wylosowane
liczby to, podamy dwukropek i spację
i teraz do tego ciągu będę chciał doklejać 2, 3, itd.
Bardzo łatwo to będziemy mogli zrobić zamiast tutaj robić console.loga to odwołamy
się do tekst i za pomocą operatora Plus równa się tak jak Ci pokazałem, że można
zwiększyć wartość jakiejś liczby to tak samo możemy dokleić kolejny tekst.
Oczywiście tu moglibyśmy to zrobić dłuższą wersją czyli chcę nadpisać zmienną tekst
tym co już tam jest i do tego chciałbym jeszcze coś dokleić.
Ale dokładnie tak samo można zrobić pisząc plus równa się.
To oznacza, że chce zmienić wartość zmiennej tekst dodając do niej coś czyli
jeżeli tam jest wylosowane liczby to i tu napisze jeden to dokleimy tutaj jedynkę. W kolejnej
iteracji do tego wylosowane liczby to 1 dokleimy kolejną cyfrę. I teraz odwołamy się
tutaj po prostu do numbers i, czyli to co przed momentem było w consol.log
I na końcu będziemy chcieli jak się już ta pętla zakończy,
zauważ ona będzie kręcić tyle razy ile tutaj ten warunek jest poprawny
i dopiero potem wyskoczymy poza pętle i będziemy wiedzieli, że ta zmienna tekst
jest już uzupełniona i będziemy mogli ją wyświetlić aby ją po prostu zobaczyć.
I będzie to wyglądać tak.
Wylosowane liczby to,
no i zostały one wszystkie połączone w taki sposób, że nie jest to zbyt czytelne.
Natomiast teraz Ci pokaże co możemy zrobić żeby to było czytelne.
Możemy do tego tekstu
tutaj dodawać jeszcze przecinek i spację.
Czyli tutaj dokleiliśmy na początku np.
dwójkę czyli będzie wylosowane liczby to
dwa, doklejamy przecinek i spację i teraz to wygląda następująco.
Jest to już bardziej czytelne ale mamy jeszcze taki problem, że za ostatnim
elementem jest przecinek a tego przecinka tutaj nie chcemy więc teraz Ci pokaże jak
możemy połączyć tą wiedzę, którą już masz a więc korzystać wewnątrz pętli jeszcze z
instrukcji warunkowej aby warunkowo doklejać ten przecinek i spację.
Jaki tutaj powinniśmy postawić warunek. Powinniśmy powiedzieć, że jeżeli nie
jesteśmy na ostatniej iteracji tej pętli to tylko wtedy chcemy to dokleić.
Więc jak możemy to zrobić. Tutaj zrobię trochę miejsca żebyśmy na samym if się skupili.
Możemy zapytać
czy w zasadzie powiedzieć, że chcemy dokleić to tylko jeżeli wartość i, która na początku
będzie miała wartość zero a na końcu będzie miała wartość
w tym przypadku 5 bo tu jest 6 elementów jak zaczynamy od zera to będzie 5 więc tak
długo jak i nie jest równe długości tej tablicy,
a jak to sprawdzić?
Dokładnie tak samo jak tutaj czyli numbers.length
tak długo jak i nie jest równe 6 w tym przypadku
to chcemy dokleić
taki tekst. I to jeszcze do końca nam nie zadziała.
Zobacz jeszcze nam nie zadziałało dlatego, że tu musimy jeszcze odjąć jeden.
Bo tak jak wspomniałem przy ostatniej iteracji i będzie miało
wartość 5 a numbers.length zwraca nam 6. Czyli tutaj chcielibyśmy podstawić piątkę
dlatego odejmiemy sobie jeszcze jeden. Zapisze i teraz to wygląda tak jak byśmy chcieli
wylosowane liczby to 2, 3, 17, 32, 28 i 9.
I tu tego nie dokleiliśmy.
Więc to już jest troszkę bardziej rozbudowany przykład ale mam nadzieję, że
widzisz jak działa. Iterujemy tyle razy ile jest elementów w tablicy, za
każdym razem dodajemy liczbę do tego ciągu znaków doklejamy ją po prostu tutaj i za
każdym razem w tej pętli również sprawdzamy. Na początku i ma wartość 0 więc
sprawdzamy czy i a więc czy 0 nie jest równe
numbers.length to jest 6
minus 1 to da nam 5.
Tutaj byśmy mieli podstawione zero
i pytamy czy zero nie jest równe 5.
Nie jest. To doklej i do tego ciągu jeszcze przecinek i spację. Na którymś etapie
tutaj i będzie już miało wartość 5, tutaj to tak
zostawimy, dlatego tego nie dokleimy i będzie to właśnie przy ostatniej iteracji. A więc tak można
wykryć wewnątrz pętli czy jesteśmy już na jej ostatnim kroku czyli w ostatniej
iteracji. Zapisuje i wszystko działa tak jak należy. Więc mam nadzieję, że zobaczyłeś
jak tą wiedzę powolutku możemy łączyć w całość, wykorzystaliśmy i tablicę i tekst
czyli string i łączenie tekstu i pętla for
i dodatkowo jeszcze instrukcję warunkową po to aby stworzyć taki program, który
wyświetla nam ładnie wylosowane liczby. I co ciekawe on jest dynamiczny w tym sensie,
że możemy tutaj dodać kolejną liczbę taką jak 100.
Jeżeli zapiszemy to mamy pewność, że wszystko zostanie poprawnie wyświetlone.
Za tym 100 nie ma przecinka itd.
I na tym to właśnie polega, że program jest dosyć ogólny.
On tutaj nie wpisuje nic na sztywno, że tu
jest 5 elementów i tak dalej Wszystko jest wyliczane dynamicznie a jedynie zmieniają
się te dane wejściowe, które możemy wpisać sobie tutaj.