No to jedziemy z tym koksem. (27)
Ależ jestem podekscytowy. Ostatnie tygodnie nie były najłatwiejsze, ale nie przeszkodziło mi to, żeby gdzieś między lecącymi pod nogi kłodami rzeczywistości znaleźć czas na odrobinę nauki programowania. I mam tu na myśli prawdziwe programowanie. Nie jakiś język znaczników HTML czy kaskadowe arkusze stylów CSS tylko pełnoprawny, najprawdziwszy język programowania, jakim jest JavaScript. Do tego mam już opracowany plan na kolejny 12-tygodniowy cykl, który w tym wpisie omówię.
Zacznijmy jednak od samego JavaScript (w skrócie JS). JS jest to język skryptowy, czyli za Wikipedią jest to „język programowania obsługujący skrypty. Często służący do kontrolowania określonej aplikacji”, natomiast skrypty to „programy napisane w językach skryptowych, przeznaczone do wykonywania w specjalnych środowiskach uruchomieniowych automatyzujących wykonywanie zadań". Dodatkowo JavaScript to język wieloparadygmatowy, a programowanie wieloparadygmatowe to „paradygmat programowania, a w szczególności tworzenia języków programowania, który mówi, że każdy paradygmat nadaje się do ograniczonego zbioru zadań; lepiej jest więc przyzwoicie zaimplementować kilka różnych paradygmatów i dowolnie je mieszać w użyciu, niż zaimplementować tylko jeden ... i próbować go narzucać.".
No i wszystko jasne 🤯
A tak w ogóle to JavaScript jest jednym z najbardziej popularnych języków programowania, ponieważ jest stosunkowo łatwy do opanowania i uniwersalny. Dzięki temu, że jest interpretowany przez przeglądarki internetowe, nie trzeba go kompilować i napisane w nim programy mogą być uruchomione praktycznie na każdej platformie niezależnie od systemu operacyjnego. To sprawia, że JS można znaleźć niemal wszędzie, w Netflixie, Microsoft Teams, Visual Studio Code (to edytor do programowania od Microsoftu), a nawet w kosmosie, bo dotykowe panele do sterowania statkami SpaceX są napisane w HTML, CSS i JS. JavaScript do jednych zadań nadaje się bardziej, do innych mniej, ale zasadniczo da się w nim zrobić praktycznie wszystko.
No i właśnie od mniej więcej dwóch tygodni uczę się podstaw JS i muszę powiedzieć, że idzie mi to całkiem dobrze. Postanowiłem, że przez najbliższe 12 tygodni możliwie jak najlepiej opanuję podstawy JS i wszystkie te elementy, które są zalecane do tego, żeby zacząć się uczyć Frameworków. Przejrzałem dostępne treści i tak powstał mój nowy 12-tygodniowy plan i jestem przekonany, że ten plan jest skrojony tak, żebym był w stanie go zrealizować, nawet jak czasowo dzieci nie będą mogły chodzić do przedszkola i będę się nimi zajmował.
Tym razem zaplanowałem czas, jaki zamierzam poświęcić na poszczególne aktywności i będę stosował technikę pomodoro (żona kupiła mi piękne jajo do odmierzania czasu). 25 min aktywności potem 5 min przerwy i nie więcej niż 4 takie serie przy jednym zadaniu, po czym 20-30 min przerwy, żeby przełączyć się na tryb rozproszony.
Przede wszystkim chcę dokończyć kurs JS-a, który wykupiłem i w którego trakcie jestem. Policzyłem, że jeśli spędzę z tym kursem 4 godziny tygodniowo, to wliczając w to czas na sporządzanie notatek, po 4 tygodniach powinienem go zakończyć. Postanowiłem, że po tym czasie nie będę już wykupował ani zaczynał żadnego dodatkowego kursu z JS-a. Jak już opanuję podstawy, a po zakończeniu tego kursu i przy innych aktywnościach opanuję, to najlepszą metodą dalszej nauki będzie rozwiązywanie problemów programistycznych w JS-ie i równolegle czytanie treści dostępnych na MDN gdzie jest bardzo obszerny zestaw tutoriali od podstaw po rzeczy zaawansowane. W ogóle MDN jest zajebisty, bo poza oficjalną dokumentacją, jest to chyba najbardziej obszerna, aktualna a do tego przystępnie przedstawiona baza wiedzy na temat HTML, CSS i JS. O ile podstawy tych języków (przynajmniej w moim przypadku) lepiej przyswaja się korzystając z kursów, o tyle na dalszym etapie rozwoju uważam, że MDN to najlepsze źródło informacji. Mam zamiar czytać MDN w oryginalnej, angielskiej wersji językowej, ale zawsze, jeśli jakiś aspekt będzie dla mnie wyjątkowo trudny do zrozumienia to będę mógł posilić się polską wersją językową (znaczna większość treści jest przetłumaczona), a ostatecznie też można znaleźć krótkie tutoriale na niemal każdy temat na YouTube.
Co do rozwiązywania problemów programistycznych, to tu z pomocą przychodzą mi: JavaScript30, Codewars, kontynuacja rozwiązywania zadań na freeCodeCamp i oczywiście własne projekty.
Pierwszy z wymienionych, JavaScrip30 to taki challenge stworzony przez Wes Bos'a - bardzo popularnego Full Stack Java Script Developera, vlogera, podcastera, mówcy i nauczyciela, ogólnie śmiało mogę powiedzieć - ikony świata Web Developmentu. Challenge polega na tym, żeby przez 30 dni, codziennie pisać jeden program w czystym JavaScript. Ja postanowiłem rozciągnąć ten challenge na nieco dłuższy czas, a mianowicie na 10 tygodni. Począwszy od 3-go tygodnia mojego planu zamierzam rozwiązywać 3 zadania tygodniowo, tak żeby do końca tego 12-tygodniowego cyklu rozwiązać wszystkie.
Codewars to kolejna ciekawa platforma do nauki i rozwijania skilli programistycznych poprzez praktykę w niemal każdym języku programowania. Polega to na tym, że wybiera się język, który nas interesuje i otrzymuje się zadania programistyczne w danym języku do rozwiązania. Zadania są podzielone na poziom trudności i można je rozwiązywać od najłatwiejszego do najtrudniejszego lub w dowolnej innej kolejności. Ciekawe w tej platformie jest to, że po rozwiązaniu swojego zadania można zobaczyć, w jaki sposób to zadanie rozwiązali inni, bardziej doświadczenie programiści Dzięki temu można pracować nad optymalizacją własnego kodu. Przez najbliższe 4 tygodnie będę testował tę aplikację, ponieważ po zakończeniu kursu z JS-a chcę zacząć na poważnie rozwiązywać zadania a w międzyczasie zorientuję się jak trudne one są i ustalę ile czasu zamierzam na nie poświęcać.
Oczywiście nadal będę rozwijać własne projekty. Pierwszym i najważniejszym jest Bajtman. Jako że, poza nauką JS-a chcę też poszerzać swoje kompetencje z HTML i CSS, to najbliższe tygodnie spędzę nad rozwojem superbohatera mojego synka właśnie pod kontem wizualnym. Jak już uznam, że i ja i Bajtman jesteśmy gotowi na kolejny krok, to zacznę rozwijać jego interakcje z użytkownikiem stosując do tego JS.
Drugi projekt to jest napisanie własnego bloga w czystym HTML, CSS i JS. Na razie zamierzam przenieść mojego bloga na WordPress, ale docelowo chciałbym publikować na zaprojektowanej od początku do końca przez siebie stronie. To też będzie świetna forma utrwalenia i poszerzenia wiedzy z zakresu HTML i CSS, a potem wdrożenia zdobytej wiedzy z JS.
Poza programowaniem w tym cyklu chcę dokończyć kurs „Sieci komputerowe” od pasja-informatyki.pl oraz „Learning how to learn” z Coursery.
Zacznijmy jednak od samego JavaScript (w skrócie JS). JS jest to język skryptowy, czyli za Wikipedią jest to „język programowania obsługujący skrypty. Często służący do kontrolowania określonej aplikacji”, natomiast skrypty to „programy napisane w językach skryptowych, przeznaczone do wykonywania w specjalnych środowiskach uruchomieniowych automatyzujących wykonywanie zadań". Dodatkowo JavaScript to język wieloparadygmatowy, a programowanie wieloparadygmatowe to „paradygmat programowania, a w szczególności tworzenia języków programowania, który mówi, że każdy paradygmat nadaje się do ograniczonego zbioru zadań; lepiej jest więc przyzwoicie zaimplementować kilka różnych paradygmatów i dowolnie je mieszać w użyciu, niż zaimplementować tylko jeden ... i próbować go narzucać.".
No i wszystko jasne 🤯
A tak w ogóle to JavaScript jest jednym z najbardziej popularnych języków programowania, ponieważ jest stosunkowo łatwy do opanowania i uniwersalny. Dzięki temu, że jest interpretowany przez przeglądarki internetowe, nie trzeba go kompilować i napisane w nim programy mogą być uruchomione praktycznie na każdej platformie niezależnie od systemu operacyjnego. To sprawia, że JS można znaleźć niemal wszędzie, w Netflixie, Microsoft Teams, Visual Studio Code (to edytor do programowania od Microsoftu), a nawet w kosmosie, bo dotykowe panele do sterowania statkami SpaceX są napisane w HTML, CSS i JS. JavaScript do jednych zadań nadaje się bardziej, do innych mniej, ale zasadniczo da się w nim zrobić praktycznie wszystko.
No i właśnie od mniej więcej dwóch tygodni uczę się podstaw JS i muszę powiedzieć, że idzie mi to całkiem dobrze. Postanowiłem, że przez najbliższe 12 tygodni możliwie jak najlepiej opanuję podstawy JS i wszystkie te elementy, które są zalecane do tego, żeby zacząć się uczyć Frameworków. Przejrzałem dostępne treści i tak powstał mój nowy 12-tygodniowy plan i jestem przekonany, że ten plan jest skrojony tak, żebym był w stanie go zrealizować, nawet jak czasowo dzieci nie będą mogły chodzić do przedszkola i będę się nimi zajmował.
Tym razem zaplanowałem czas, jaki zamierzam poświęcić na poszczególne aktywności i będę stosował technikę pomodoro (żona kupiła mi piękne jajo do odmierzania czasu). 25 min aktywności potem 5 min przerwy i nie więcej niż 4 takie serie przy jednym zadaniu, po czym 20-30 min przerwy, żeby przełączyć się na tryb rozproszony.
Przede wszystkim chcę dokończyć kurs JS-a, który wykupiłem i w którego trakcie jestem. Policzyłem, że jeśli spędzę z tym kursem 4 godziny tygodniowo, to wliczając w to czas na sporządzanie notatek, po 4 tygodniach powinienem go zakończyć. Postanowiłem, że po tym czasie nie będę już wykupował ani zaczynał żadnego dodatkowego kursu z JS-a. Jak już opanuję podstawy, a po zakończeniu tego kursu i przy innych aktywnościach opanuję, to najlepszą metodą dalszej nauki będzie rozwiązywanie problemów programistycznych w JS-ie i równolegle czytanie treści dostępnych na MDN gdzie jest bardzo obszerny zestaw tutoriali od podstaw po rzeczy zaawansowane. W ogóle MDN jest zajebisty, bo poza oficjalną dokumentacją, jest to chyba najbardziej obszerna, aktualna a do tego przystępnie przedstawiona baza wiedzy na temat HTML, CSS i JS. O ile podstawy tych języków (przynajmniej w moim przypadku) lepiej przyswaja się korzystając z kursów, o tyle na dalszym etapie rozwoju uważam, że MDN to najlepsze źródło informacji. Mam zamiar czytać MDN w oryginalnej, angielskiej wersji językowej, ale zawsze, jeśli jakiś aspekt będzie dla mnie wyjątkowo trudny do zrozumienia to będę mógł posilić się polską wersją językową (znaczna większość treści jest przetłumaczona), a ostatecznie też można znaleźć krótkie tutoriale na niemal każdy temat na YouTube.
Co do rozwiązywania problemów programistycznych, to tu z pomocą przychodzą mi: JavaScript30, Codewars, kontynuacja rozwiązywania zadań na freeCodeCamp i oczywiście własne projekty.
Pierwszy z wymienionych, JavaScrip30 to taki challenge stworzony przez Wes Bos'a - bardzo popularnego Full Stack Java Script Developera, vlogera, podcastera, mówcy i nauczyciela, ogólnie śmiało mogę powiedzieć - ikony świata Web Developmentu. Challenge polega na tym, żeby przez 30 dni, codziennie pisać jeden program w czystym JavaScript. Ja postanowiłem rozciągnąć ten challenge na nieco dłuższy czas, a mianowicie na 10 tygodni. Począwszy od 3-go tygodnia mojego planu zamierzam rozwiązywać 3 zadania tygodniowo, tak żeby do końca tego 12-tygodniowego cyklu rozwiązać wszystkie.
Codewars to kolejna ciekawa platforma do nauki i rozwijania skilli programistycznych poprzez praktykę w niemal każdym języku programowania. Polega to na tym, że wybiera się język, który nas interesuje i otrzymuje się zadania programistyczne w danym języku do rozwiązania. Zadania są podzielone na poziom trudności i można je rozwiązywać od najłatwiejszego do najtrudniejszego lub w dowolnej innej kolejności. Ciekawe w tej platformie jest to, że po rozwiązaniu swojego zadania można zobaczyć, w jaki sposób to zadanie rozwiązali inni, bardziej doświadczenie programiści Dzięki temu można pracować nad optymalizacją własnego kodu. Przez najbliższe 4 tygodnie będę testował tę aplikację, ponieważ po zakończeniu kursu z JS-a chcę zacząć na poważnie rozwiązywać zadania a w międzyczasie zorientuję się jak trudne one są i ustalę ile czasu zamierzam na nie poświęcać.
Oczywiście nadal będę rozwijać własne projekty. Pierwszym i najważniejszym jest Bajtman. Jako że, poza nauką JS-a chcę też poszerzać swoje kompetencje z HTML i CSS, to najbliższe tygodnie spędzę nad rozwojem superbohatera mojego synka właśnie pod kontem wizualnym. Jak już uznam, że i ja i Bajtman jesteśmy gotowi na kolejny krok, to zacznę rozwijać jego interakcje z użytkownikiem stosując do tego JS.
Drugi projekt to jest napisanie własnego bloga w czystym HTML, CSS i JS. Na razie zamierzam przenieść mojego bloga na WordPress, ale docelowo chciałbym publikować na zaprojektowanej od początku do końca przez siebie stronie. To też będzie świetna forma utrwalenia i poszerzenia wiedzy z zakresu HTML i CSS, a potem wdrożenia zdobytej wiedzy z JS.
Poza programowaniem w tym cyklu chcę dokończyć kurs „Sieci komputerowe” od pasja-informatyki.pl oraz „Learning how to learn” z Coursery.
Podsumowując, o to aktywności na najbliższe 12 tygodni oraz czas jaki zamierzam na te aktywności przeznaczyć tygodniowo:
1. Kurs JS - 4h przez 4 tygodnie
2. Tutoriale na MDN - 2h
3. freeCodeCamp - 1h
4. Własne projekty 3h
5. JavaScript30 Challenge - 3 zadania/tydzień od 3. tygodnia
6. Codewars - jeszcze nie wiem w jakim wymiarze, ale od 5. tygodnia.
7. Głowa do liczb 3h
8. Kurs "Sieci komputerowe" - 1h
„Po pierwsze, miej zdefiniowany, jasno określony cel (ideał, zadanie). Po drugie, zdobądź potrzebne zasoby by do niego dojść; wiedzę, pieniądze, materiały, metody. Po trzecie, skieruj wszystkie te zasoby na osiągnięcie celu” ~ Arystoteles
„Istnieje różnica między znajomością drogi a podążaniem nią” ~ Morfeusz, bohater filmu Matrix
Komentarze
Prześlij komentarz