Przegląd i Konfiguracje narzędzi
3 godz. 49 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykAktualnie trudno wyobrazić sobie pracę w ekosystemie JavaScriptu bez terminala. W pierwszym rozdziale kursu nie tylko dowiesz się o dostępnych na rynku narzędziach oraz rozszerzeniach ale także o sposobach ich konfiguracji, uwzględniających przykłady z codziennej pracy, w tym wykorzystanie GPT-3 do łatwiejszej obsługi terminala.
Dla osób, które programują, IDE (Integrated Development Environment) niemal zawsze stanowi najważniejsze narzędzie pracy. Pomimo tego, że na rynku dostępny jest bardzo dobry Visual Studio Code, w tym kursie poznasz bliżej płatne narzędzia firmy JetBrains, które w wielu przypadkach sprawdzą się nieporównywalnie lepiej. Dobrze skonfigurowane IDE potrafi "zrozumieć" Twój kod na tyle, aby skutecznie Ci pomagać w pisaniu kodu, pracy zespołowej czy debugowaniu aplikacji.
Poza narzędziami bezpośrednio związanymi z programowaniem, istnieje szereg aplikacji które pomagają w codziennej pracy. Mowa o pracy koncepcyjnej, sandboxach, organizacji wiedzy, zadań, kalendarza, poczty czy nawet sięganie po narzędzia no-code / low-code. W tym kursie znajdziesz przegląd tych, które mają duży sens z punktu widzenia full-stack'a, aczkolwiek pamiętaj że każde z nich posiada też różne alternatywy, które mogą bardziej przypaść Ci do gustu.
Kolejnym niezbędnym elementem w programowaniu, są różnego rodzaju zależności projektu oraz narzędzia instalowane na komputerze czy serwerach, w celu ułatwienia pracy lub wręcz jej umożliwienia. Poza tym poruszymy też temat własnych skryptów a nawet tworzenia CLI w Node.js na własne potrzeby.
Tworzenie aplikacji w JS charakteryzuje konieczność wykorzystywania różnego rodzaju narzędzi, umożliwiających m.in. transpilowanie oraz optymalizację kodu. Obecnie jednym z najlepszych wyborów jest Vite i to na nim skupimy się najbardziej, łącząc go nie tylko z samym JavaScriptem ale także frameworkami CSS (konkretnie Tailwind CSS).
Ten kurs powstał z myślą o osobach pracujących w ekosystemie JavaScriptu. Jest to szybkie przegląd dostępnych na rynku narzędzi oraz przykładów ich praktycznego wykorzystania w codziennej pracy. Jeżeli szukasz inspiracji, nowych narzędzi lub sposobów usprawnienia codziennych zadań — w tym kursie je znajdziesz.
Poza samym głównym edytorem kodu, którego
konfiguracja bez wątpienia jest bardzo istotna
moim zdaniem warto też posiadać jakiś lżejszy edytor, który będziemy
wykorzystywać na potrzeby prostej edycji plików.
Moim zdaniem jedynym słusznym wyborem
jeżeli chodzi o taki rodzaj edytorów kodu jest wyłącznie Sublime Text 4.
I tutaj trzeba przyznać, że na rynku
funkcjonowały jeszcze edytory takie jak Brackets oraz Atom.
Natomiast o Brackets dawno już nie słyszałem
w przypadku Atoma projekt zostanie zamknięty 15 grudnia tego roku.
Zatem tak jak powiedziałem, jedynym
słusznym wyborem jest Sublime Text 4 i bardzo polecam Ci zainstalować ten edytor.
Poza tym w jednej z poprzednich lekcji wspominałem, że warto jeszcze aktywować
sobie Command Line Interface w przypadku Sublime Text, aby szybciej otwierać pliki.
W tej lekcji pokażę Ci również, w jaki
sposób możesz wykorzystać tą opcję do pójścia jeszcze krok dalej.
Tymczasem jeżeli zastanawiasz się po co Ci
w ogóle taki lekki edytor kodu, to pokażę Ci kilka przykładów, które ja wykorzystuję
i bez których faktycznie trudno mi jest momentami wyobrazić sobie efektywną pracę.
Jednym z przykładów jest chociażby praca z obiektami JSON bądź różnego rodzaju zestawami
danych, czy nawet zwykłym, obszernym tekstem.
Mianowicie, tak jak w tym przypadku, ten
obiekt JSON jest naprawdę trudny do odczytania,
w związku z tym mam tutaj zainstalowane
rozszerzenie, które jest mi w stanie go sformatować.
Mało tego, jeżeli pojawiają się tutaj
jakieś błędy, to naturalnie zostaną one wskazane.
Następnie natychmiast mam tutaj rezultat, z którym mogę pracować.
No i teraz możesz zaznaczyć, że przecież to samo mogę robić w IntelliJ.
Oczywiście jest to prawda.
Natomiast jednocześnie chodzi mi tutaj wyłącznie o tą szybką edycję pojedynczych
plików bądź zestawów danych, które niekoniecznie są związane z projektem, na
którym pracuję, ale z jakiegoś powodu mogę mieć potrzebę, aby właśnie w ten sposób
podejrzeć sobie zawartość obiektu JSON.
Kolejnym elementem, który wykorzystuje w
swojej pracy są konkretne makra w Keyboard Maestro, które pozwalają mi formatować i parsować
obiekty JSON oraz ewentualnie zamieniać je JSON String.
Działa to w taki sposób, że przykładowo
zaznaczam sobie tekst, kopiuję go, a następnie np.
z pomocą Keyboard Maestro wybieram sobie opcję Stringify.
Następnie w wyniku działania tego makra
moja zawartość schowka zostaje zamieniona i pojawia się w nim JSON String.
No i teraz też mogą zdarzyć się sytuacje, w których mam obiekt JSON i potrzebuję
go sformatować, a jednocześnie z jakiegoś powodu nie chcę w ogóle otwierać edytora
kodu i w związku z tym wybieram sobie makro format JSON i również na tym
etapie do mojego schowka trafia sformatowany obiekt.
Dodatkowo poza samą edycją np.
obiektów JSON i pracy z jakimiś fragmentami kodu, zdarza mi się często
wykorzystywać Sublime Text do edycji tekstów.
Jego wydajność sprawia, że obsługuje nawet
bardzo obszerne pliki, a jednocześnie możliwości edycji np.
takie jak Multi Cursor są tutaj
niesamowicie wygodne do wprowadzenia różnego rodzaju zmian.
Jedną z takich zmian może być przykładowo
łączenie wielu linii w jedną, bądź wręcz przeciwnie.
Tutaj w pierwszym przypadku wykorzystałem skrót klawiszowy Command, Shift i J
do tego, aby połączyć wszystkie linie w jedną, a w drugim przypadku zaznaczyłem
spację, a następnie wybrałem skrót klawiszowy Command Control G do tego, aby
zaznaczyć wszystkie wystąpienia i wcisnąłem Enter.
W ten sposób znak spacji został zamieniony
na Enter, a ja uzyskałem pożądany rezultat.
Oczywiście coś takiego nie zadziałało by w momencie, gdyby np.
słowo zawierało spacje
natomiast wydaje mi się, że pokazuje to koncepcję, jaką mam na myśli.
Teraz chciałbym pokazać Ci jeszcze jedną zaawansowaną formę edytowania i
modyfikacji tekstu, jaką są wyrażenia regularne.
Oczywiście nie mam wątpliwości, że sam termin jest Ci znany, ale niewykluczone,
że nie wykorzystujesz ich w codziennej pracy.
Tym bardziej, że nie bez powodu wiele osób
po prostu radzi ich unikać lub też celowo nie podejmuje się ich wykorzystywania.
Okazuje się jednak, że jest to dość błędne
myślenie ze względu na to, że podstawowe wyrażenia regularne są całkiem proste do
zapamiętania i wykorzystywania, a jednocześnie użyteczność i efektywność,
jaką otrzymujemy w zamian są naprawdę niesamowite.
Swoją drogą też przez lata myślałem, że wyrażenia regularne są zbyt skomplikowane,
żebym były w stanie je ogarnąć, a w praktyce okazują się niesamowicie proste.
I tutaj tylko zaznaczę, że naturalnie nie chodzi mi o budowanie jakiś
skomplikowanych wyrażeń, tylko bardziej o to podstawowe wykorzystanie w celu np.
modyfikowania zawartości plików.
I tutaj przykładowo nawet możemy zapisać w
ten sposób i zaznaczamy w ten sposób cyfry, które występują w naszym tekście.
Jednocześnie, jeżeli tych cyfr byłoby więcej i z jakiegoś powodu chcielibyśmy je
zaznaczyć, również moglibyśmy to zasygnalizować.
I teraz po co nam w ogóle takie wyrażenia regularne?
Ano po to, aby np.
wyeliminować sobie liczby z naszego tekstu poprzez zastąpienie ich w ramach bieżącego
pliku pustym ciągiem znaków, czyli po prostu ich wyeliminowaniem.
Rezultat może w tym przypadku jest mało
imponujący, ale wyobraź sobie teraz bardzo obszerny plik, na którym przyjdzie Ci
pracować i normalnie jego modyfikacja zajęłaby Ci mnóstwo czasu
a tak z pomocą dosłownie trzech znaków.
praca jest jakościowa, wykonana. Naturalnie
tutaj musisz zwracać uwagę na fakt, że naprawdę łatwo jest się pomylić
w przypadku wyrażenia regularnego i
przypadkowo w błędny sposób wprowadzić modyfikacje.
Z tego powodu zawsze pamiętaj o tym, aby
wykonywać kopię danych, na których pracujesz oraz dodatkowo uważnie
sprawdzić, czy rzeczywiście wprowadzone zmiany są tymi, których oczekujesz.
W każdym razie, jeżeli chodzi o wyrażenia regularne, jeżeli z jakiegoś powodu
jeszcze ich nie znasz i mam tutaj na myśli naprawdę proste posługiwanie się nimi, to
odsyłam Cię teraz do mojego warsztatu na Eduweb.pl,
który trwa niecałe 35 minut i po którego ukończeniu będziesz w stanie bez problemu
odczytać nawet wyrażenie, które w tej chwili znajduje się na ekranie.
Analogicznie też będziesz w stanie tworzyć
swoje własne wyrażenia właśnie na potrzeby edytowania plików i wyszukiwania różnego
rodzaju informacji w długich ciągach znaków.
Jednocześnie też pokazuje, w jaki sposób
można wykorzystać te wyrażenia regularne, na przykład bezpośrednio w JavaScripcie
i to również może Cię zainteresować.
Na tym etapie warto jeszcze zaznaczyć, że same wyrażenia regularne możesz
wykorzystać również wewnątrz Keyboard Maestro
i jest to również niezwykle użyteczne.
Z tego powodu bardzo zachęcam Cię do tego,
aby zapoznać się z tym warsztatem, ponieważ rzeczywiście po tych 35 minutach
będziesz w stanie tworzyć wyrażenia regularne na własne potrzeby.
I teraz ostatnim wątkiem, który w
przypadku Sublime Text sprawdza mi się bardzo dobrze, jest tworzenie prostych
interfejsów lub też w ogóle bardzo małych projektów z wykorzystaniem parcela.
Całkiem niedawno pojawiła się jego druga
wersja, w przypadku której zostało mocno przebudowany, jego wydajność wzrosła
i tak samo pojawiły się różne funkcje oraz
wsparcie dla różnego rodzaju frameworków i narzędzi.
W związku z tym jego wykorzystanie w
zasadzie sprowadza się do uruchomienia takiego polecenia na pliku index.html,
w przypadku którego
jeżeli potrzebujesz jakiegoś prostego pliku JavaScript, pamiętaj tylko proszę o
tym, aby do tagu script dodać atrybut type ustawiony na module.
Dzięki temu, jeżeli teraz przejdziemy sobie do tego katalogu, a następnie uruchomimy
polecenie parcel index, no to w przeglądarce będziemy mogli otworzyć
ten adres, gdzie otworzy się nasz projekt, w przypadku którego od razu mamy np.
hot reload w związku z czym edytowanie np.
takiego pliku na podzielonym ekranie jest
niezwykle efektywne ze względu na to, że natychmiast otrzymujemy tutaj feedback i
jesteśmy w stanie szybko wprowadzać jakieś proste zmiany.
Przykładem prostej zmiany, w przypadku
której może okazać się to dla Ciebie przydatne, może być np.
projektowanie szablonu wiadomości transakcyjnej.
W takiej sytuacji zwykle po prostu
wyciągam szablon sendgrida, a następnie edytuje go sobie właśnie w takim formacie
i szczerze mówiąc, jest to nieporównywalnie bardziej wygodne niż np.
edytowanie wiadomości wewnątrz edytora wbudowanego w system mailingowy bądź
w system do wysyłania wiadomości transakcyjnych.
Także podsumowując, jeżeli coś nie byłoby
tutaj jasne, to przede wszystkim wykonujemy tutaj polecenie yarn init -y
po to, aby zainicjalizować projekt i utworzyć plik package.json
tutaj też możemy zainstalować Parcela w wersji 2, a następnie tworzymy plik index.html
i w razie potrzeby dołączamy do niego plik app.js.
czy w ogóle jakikolwiek inny plik
JavaScript i dodatkowo upewniamy się, że mamy tutaj ustawiony atrybut
ze względu na to, że bez niego nie będzie nam działać hot-reloading, czyli to
natychmiastowe odświeżanie zawartości okna przeglądarek.
No i tutaj jeszcze na sam koniec chciałbym
zwrócić uwagę na makra, które stosowałem w przypadku Keyboard Maestro
bo jeżeli interesuje Cię ich wykorzystanie
to paczkę z nimi dołączam do zasobów tej lekcji.
Jednocześnie jeżeli zajrzysz sobie tutaj do środka, to po prostu wykorzystujemy
tutaj ustawienie zmiennej na zawartość schowka, a następnie wykorzystujemy tutaj
JavaScript, który modyfikuje nam jego zawartość
i tutaj mam ustawione, że rezultat z
ostatniej linii zostanie zapisany jako nowa zawartość schowka.
Jeżeli chodzi o proste edytoru kodu i takie najważniejsze transformacje tekstu i
szybkie tworzenie projektów, wydaje mi się, że to byłoby już na tyle.
I tutaj jeszcze na sam koniec zaznaczę, że w przypadku np.
budowania interfejsów w niektórych przypadkach może sprawdzić się narzędzie
Shuffle bądź podobne buildery do tego, aby np.
połączyć się z Tailwind CSS, a następnie z pomocą gotowych komponentów wyklikać
sobie interfejs, który potem stopniowo przeniesiesz sobie do swojej aplikacji.
Tutaj muszę przyznać, że właśnie pod kątem tworzenia interfejsów np.
strony zautomatyzowani.pl,
taki rodzaj buildera przydał nam się niesamowicie.
I swoją drogą właśnie to był Shuffle,
tylko wtedy funkcjonował jeszcze pod wcześniejszą nazwą.
Mam nadzieję, że ta wskazówka może okazać się dla Ciebie przydatna
a tymczasem dziękuję Ci za uwagę i słyszymy się za chwilę w kolejnej lekcji.