sobota, 30 października 2021

Implementacja Mrówki Langtona w JS i Canvas

 Zadanko na dzisiaj - implementacja Mrówki Langona w JS i Canvas. Minusem tego projektu jest długi czas czekania (kilka minut) na to, czy wszystko działa poprawnie - po około 11 000 krokach na ekranie powinna pojawić się charakterystyczna struktura. Jeśli na sekundę rysowane są 24 klatki, to na efekt trzeba czekać ponad 7 minut.

Codepen w treści posta.

środa, 13 października 2021

Kilka e-booków wprowadzających do programowania od FlavioCopes

 Na stronie https://flaviocopes.com znajdziesz kilka interesujących e-booków napisanych przez autora bloga. Dostęp po zapisaniu się do newslettera. Polecam.

Kurs na temat Internetu od Khan Academy

Ostatnio na Khan Academy znalazłem interesujący kurs na temat tego, jak działa i czym jest Internet. Będzie bardzo przydatny na każdym poziomie zaawansowania programistycznego. Po więcej informacji z tej tematyki możesz sięgnąć do książki o sieciach komputerowych Tanenbauma.

Kursy z Khan Academy zawierają nagrania ludzi pracujących w największych firmach oraz naukowców, co jest dodatkowym plusem.

Pozdrawiam, Kamil Naja

Ćwiczenia z TS od Marata Dulina

Mój ulubiony typ ćwiczeń – poprawiasz kod, dostajesz odpowiedź. Aby przerobić ćwiczenia ponownie, skasuj dane z local storage.

https://typescript-exercises.github.io/

FreeCodeCamp – najlepsze wprowadzenie do HTML / CSS?


FreeCodeCamp to w pełni darmowy kurs technologii webowych. W chwili pisania tego posta na stronie znajdują się między innymi kursy:

  • HTML, CSS i RWD
  • JS
  • Wizualizacji danych
  • QA, czyli pisaniu testów
  • Analizy danych
  • Bezpieczeństwa informacji
  • Programowania ukierunkowanego na cele naukowe z Pythonem

Naucz się skutecznie trudnych rzeczy i wykorzystuj wiedzę w praktyce

Ostatnie kilka tygodni poznaję programowanie funkcyjne z kursem z mimuw.edu.pl. Przerobiłem kilka lekcji. Udowodniło mi to, że nauka nowych rzeczy, zwłaszcza opisanych w dość mocno naukowy, abstrakcyjny sposób, wymaga innego podejścia niż zwykłe zgłębianie dobrze znanego tematu. Na ten sam problem jako programiści trafiamy wielokrotnie – poznając nowe biblioteki, języki czy algorytmy. W tym artykule przedstawiam kilka metod, które pomogą ogarnąć Ci trudne tematy, ale najpierw dygresja.

Bardzo dobry tutorial na temat JS - javascript.info

 Dokładny i przystępny tutorial z Javascryptu – https://javascript.info/intro. Znajdziesz w nim także najnowsze dodatki do języka, jak np. operator ?? pozwalający uniknąć problemu z wartościami null i undefined.

Todo.txt – sprytny sposób na zarządzanie zadaniami

Odkąd pierwszy raz przeczytałem „Zjedz tę żabę” Briana Tracy (a było to około 2012 roku), starałem się znaleźć idealny system do zarządzania zadaniami. Przerobiwszy takie narzędzia, jak
  • Trello
  • Asana
  • Wunderlist i następnie Microsoft Todo
  • Tworzenie map myśli z zadaniami
  • Todoist
  • Google Keep
  • Wtyczkę do VSCode do zarządzania zadaniami (ale inną niż ta o której piszę pod koniec tego artykułu)
stwierdziłem, że każde z nich ma zasadniczą wadę – dane trzymane są w jednej aplikacji i migracja jest bardzo bolesna.

Learn CSS – podręcznik online do nauki css

 https://web.dev/learn/css/ – dokładny podręcznik CSS na średnim poziomie zaawansowania. Znajdziesz w nim opis najważniejszych technik związanych ze stylowaniem. Polecam.

Ebook na temat programowania funkcyjnego w JS od Kyle Simpsona

Jak zwykle - polecam

https://github.com/getify/Functional-Light-JS

Gitbook na temat programowania funkcyjnego w JS

 cover

https://mostly-adequate.gitbook.io/mostly-adequate-guide/

Lekcje programowania od Microsoftu

 Ostatnio zacząłem uczyć się C# i na stronie https://docs.microsoft.com/ znalazłem bardzo dobry kurs programowania od podstaw. Aplikacja online zlicza osiągnięcia i udostępnia edytor online. Materiały są dostępne w języku polskim (tłumaczenie maszynowe, nie polecam), oraz po angielsku.

Dlaczego tak ważna jest nauka podstaw?

 Wyobraź sobie, że po raz pierwszy układasz kostkę Rubika. Chaotycznie machasz nią na lewo i prawo, przekręcasz losowo ścianki. Z czasem udaje Ci się ułożyć jedną stronę, jednak gdy chcesz ułożyć kolejną, rozwalasz tę pierwszą. Czujesz frustrację. Podobno twórca kostki, Erno Rubik, ułożył ją po raz pierwszy dopiero po miesiącu.

Insomnia – idealny zastępca dla Postmana

Insomnia to klient http, ułatwiający testowanie naszego api. Jest prostszy w obsłudze i szybszy od Postmana. Przydatną opcją jest własne tworzenie biblioteki requestów, które znajdują się następnie w panelu po lewej stronie.

Requesty po lewej stronie panelu tworzymy sami

Taki układ pozwala na łatwiejsze przełączanie się pomiędzy różnymi typami requestów. Polecam.

VSCode – kolorowanie nawiasów oraz ukrywanie importów

 VSCode nigdy nie było specjalnie dobre w wyróżnianiu początku i końca bloku kodu. Ostatnio w edytorze pojawiła się przydatna opcja:

Ustawienia > wpisz w szukajkę bracketPairColorization > Bracket Pair Colorization: Enabled. Ustawienie znajduje się w podsekcji Editor.

W ustawieniach projektu VSCode możesz ustawić też:

„editor.bracketPairColorization.enabled”: true

Tabnine - podpowiedzi w edytorze na sterydach


Ostatnie kilka dni testuję wtyczkę do VSCode pod nazwą Tabnine, która pozwala na uzyskiwanie znacznie lepszych podpowiedzi niż standardowy IntelliSense. 

Działanie Tabnine opiera się na uczeniu maszynowym i sztucznej inteligencji trenowanej na zewnętrznych modelach. Jeśli chodzi o bezpieczeństwo, twórcy zapewniają o dwóch ważnych rzeczach. Po pierwsze, Twój kod nie jest używany do generowania podpowiedzi dla innych osób, chyba że o tym zdecydujesz i będziesz współdzielił go w teamie. Po drugie, Twój kod nie jest wysyłany na żadne zewnętrzne serwery.

Podpowiedzi generowane przez Tabnine są często zaskakujące - aplikacja potrafiła na przykład prawie dobrze wygenerować obsługę klawiatury w prostej grze na Canvas. 

Polecam zapoznanie się.