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.
Jeżeli chodzi o samo programowanie, to jak
doskonale wiesz znacząco wykracza ono poza samo pisanie kodu i obsługę edytora.
I w związku z tym jednym z wątków, które
chciałbym w tym temacie poruszyć są narzędzia, które ułatwiają rozwijanie
oprogramowania i niekoniecznie wiążą się bezpośrednio z edytorem.
Co więcej, lista tych narzędzi nieustannie
się poszerza i warto obserwować co jest aktualnie dostępne na rynku
tym bardziej, że na przestrzeni ostatnich
lat wchodzą na niego narzędzia wykorzystujące sztuczną inteligencję.
W tej chwili znajdujemy się na stronie
GitHub Copilot, czyli ostatnio głośnego projektu, który ogłasza się jako nasz
partner do programowania właśnie oparty o sztuczną inteligencję.
Jeżeli chodzi o jego wykorzystanie, nie będziemy się tutaj nad tym jakoś
szczególnie skupiać, tym bardziej, że po pierwsze moim zdaniem nie ma za bardzo
tutaj o czym mówić ze względu na to, że tak jak tutaj nawet widać po prostu
dosłownie tak jak się to teraz wyświetliło, nawet na podstawie nazwy
funkcji oraz ewentualnie parametrów, którą do niej przekazujemy, GitHub Copilot jest w
stanie wręcz wygenerować nam kompletny fragment kodu, który faktycznie w wielu przypadkach
nawet nie wymaga wprowadzenia od nas jakichkolwiek zmian.
Aczkolwiek naturalnie polecam bardzo dokładnie przejrzeć, czy na przykład taki
wygenerowany fragment kodu faktycznie robi to, na czym nam w danej chwili zależy.
Idąc teraz dalej, jeżeli interesuje Cię
temat samego wykorzystania narzędzi IT w programowaniu, to odsyłam Cię do mojego
warsztatu, gdzie podczas około 40 minut przyglądamy się właśnie różnym narzędziom,
które w sposób bezpośredni bądź pośredni pomagają nam w tworzeniu kodu.
Jednocześnie nie będę się na nich teraz skupiał głównie z tego względu, że na
przestrzeni kolejnych lekcji jak już będziemy pracować z kodem
wielokrotnie będziemy sobie o nich mówić, a teraz tylko w tej lekcji chciałbym się
upewnić, że po prostu nic się nie ominie i jednocześnie będziesz przynajmniej
kojarzyć ich nazwy lub też zdecydujesz się na przetestowanie ich w praktyce i
samodzielnie zweryfikujesz to, czy dla Ciebie okażą się przydatne.
Kolejnym narzędziem oprócz GitHub Copilota, które wykorzystuje sztuczną
inteligencję, aby pomagać nam wpisaniu kodu
jest Tabnine.
Jest to rozwiązanie, z którego ja
osobiście korzystam niemal od samego początku i będzie to już kilka lat
i szczerze mówiąc, pomimo tego, że pozornie jego cena jest stosunkowo wysoka,
ponieważ w wariancie miesięcznym mówimy tutaj o 15 dolarach miesięcznie, a
jednocześnie mowa tutaj o małej wtyczce, która po prostu rozszerza możliwości
mechanizmu Intellisense w naszym edytorze. Jednocześnie wartość, którą generuje w
postaci oszczędności czasu oraz jednocześnie ułatwienia nam pisania kodu
jest po prostu moim zdaniem warta tej ceny.
Tym bardziej, że jak widać wspiera ona
tutaj wiele różnych technologii oraz tym samym wiele różnych edytorów.
W związku z tym, niezależnie od tego, z jakich narzędzi w danym momencie
korzystasz, niewykluczone, że Tabnine może okazać się dla Ciebie przydatny.
Jeżeli chodzi o jego sposób wykorzystania, tutaj również nie ma jakiejś wielkiej
filozofii, ponieważ w momencie, gdy go aktywujesz w swoim edytorze, po prostu tak
jak widać, będziesz tutaj otrzymywać sugestie, które możesz po prostu aktywować
tabulatorem, bądź też odrzucić i napisać własny kod.
Tymczasem kolejną rzeczą, na którą chciałbym zwrócić Twoją uwagę jest usługa
Setapp, która zainteresuje Cię wyłącznie jeżeli pracujesz na Macu i tak naprawdę
polega ona na tym, że w ramach jednego abonamentu masz dostęp do wielu różnych
aplikacji, które możesz zainstalować na swoim komputerze.
Szczerze mówiąc, jest tutaj wiele
przykładów narzędzi, które oddzielnie są płatne i w przypadku których wykupienie
ich oddzielnie znacznie przewyższa kwotę z całego abonamentu Setapp.
W związku z tym nawet po sobie widzę, że jest to po prostu oferta warta uwagi.
Szczególnie polecam przejrzeć sobie listę dostępnych tutaj aplikacji i sprawdzić,
czy któraś z nich na przykład już teraz wykorzystujesz i być może płacić za nie
oddzielnie lub też z jakiegoś powodu Cię zainspirują
ponieważ bardzo często mówimy tutaj o naprawdę małych narzędziach, które zapewne
nie mają jakieś dużych budżetów marketingowych, a jednocześnie same w
sobie realizują bardzo dobrze wybrane zadania.
No i teraz z punktu widzenia programistycznego z całą pewnością
menager schowka jest pierwszą aplikacją, którą mogę tutaj polecić.
W praktyce działa to tak, że w momencie, gdy kopiujesz jakąkolwiek zawartość do
schowka, zostaje ona zapisana w takiej oto formie i po wybraniu skrótu klawiszowego
możesz po prostu wrócić do dowolnej wcześniej skopiowanej wartości.
Jednocześnie funkcjonuje tutaj prosta wyszukiwarka i tym samym też łatwo
odnajdziesz zawartość, która trafiła do Twojego schowka nawet kilka dni temu.
I tak swoją drogą, to myślę, że lepiej będzie, jeżeli przejdziemy do mojej
aplikacji, gdzie mamy listę zainstalowanych narzędzi na moim
komputerze i zwrócę tylko uwagę na te, które mogą Ci się przydać w programowaniu.
Otóż pierwszą z nich jest TextSniper.
Jest to nic innego jak funkcja OCR zaznaczonego fragmentu ekranu, czyli
przykładowo tekst, który mamy tutaj nie jest możliwy do zaznaczenia, ale
jednocześnie mogę zrobić jego screen, a w moim schowku natychmiast pojawi się tekst,
który w tamtym momencie znajdował się na ekranie.
Analogicznie też mamy Sip, czyli nic
innego jak Color Picker, który działa globalnie w Twoim systemie.
Co więcej, wyświetla jak widać tutaj
lupkę, która umożliwia wybranie wręcz pojedynczego piksela Twojego ekranu.
Niesamowicie przydatna sprawa
szczególnie jeżeli pracujesz na froncie.
Następnie kolejnym niesamowicie przydatnym
narzędziem jest BetterTouchTool, czyli rozwiązanie, które umożliwia rozszerzenie
możliwości Twojego trackpada i dodanie do niego różnego rodzaju gestów, które
chociażby tak jak w moim przypadku potrafią przesuwać okienka, włączać muzykę
czy wykonywać inne czynności, które normalnie odwracały moją uwagę.
Dalej na liście mamy PixelSnap, czyli nic
innego jak linijkę, która umożliwia nam jak widać całkiem sprytne mierzenie
odległości pomiędzy elementami, które w danej chwili wyświetlają się na ekranie.
Tutaj o Paste już mówiłem,
dalej mamy Dropshare i tutaj również polecam Ci
się zainteresować tą aplikacją ze względu na to, że umożliwia łatwe przesyłanie
plików również przy wykorzystaniu Twojego własnego serwera.
Poza nią mamy tutaj jeszcze Session do sesji Pomodoro, także jeżeli z nich
korzystasz to jak najbardziej polecam sprawdzić.
No i ostatnia na liście całkiem użyteczne
dla programowania są aplikacje takie jak TablePlus, czyli aplikacja, z pomocą
której podłączysz się do swojej bazy danych, również zdalnej,
no i aplikacja Mosaic, dla której
alternatywą jest Magnet, który również bardzo polecam
i te aplikacje ułatwiają zarządzanie
pozycją okienek znajdującymi się na ekranie bądź ekranach.
Z tego powodu mogę Ci ją jak najbardziej polecić.
No i teraz mamy jeszcze jeden wątek, czyli
takich najbardziej użytecznych rozszerzeń, ale do przeglądarki.
I w moim przypadku jest to bez wątpienia JSON Viewer, czyli proste rozszerzenie, które w
sensowny sposób wyświetla nam JSONy w przeglądarce
a drugą wtyczką, która ostatnio podbiła moje serce jest Tailwind DX.
Jest to rozszerzenie, które dodaje nowe
funkcje do Chrome Developer Tools ułatwiające pracę z Tailwind CSS.
Zatem jeżeli pracujesz z Tailwindem, nie
mam wątpliwości, że to rozszerzenie może Ci się przydać.
I tutaj być może trudno będzie w to
uwierzyć, ale jeżeli chodzi o rozszerzenia do przeglądarki, to w kontekście samego
web developmentu to jest wszystko, z czego korzystam. Przez długi czas
lista moich zastrzeżeń do przeglądarki,
które wykorzystywałem na potrzeby developmentu była wyższa,
natomiast szczerze mówiąc, w tym momencie nie widzę takiej potrzeby.
Prawdopodobnie jest to związane głównie z
tym, że w przypadku narzędzi wbudowanych w przeglądarkę mamy już tutaj dostępny tak
pokaźny arsenał, że nie widzę powodu, aby sięgać po inne zewnętrzne narzędzia.
No i teraz z punktu widzenia programistycznego z całą pewnością
manager schowka jest pierwszą aplikacją, którą mogę tutaj polecić.
W praktyce działa to tak, że w momencie, gdy kopiujesz jakąkolwiek zawartość do
schowka, zostaje ona zapisana w takiej oto formie i po wybraniu skrótu klawiszowego
możesz po prostu wrócić do dowolnej wcześniej skopiowanej wartości.
Zatem podsumowując tą lekcje
myślę, że warto sięgać po narzędzia, które
albo integrują się z Twoim kodem, albo tak jak w przypadku tej linijki są dostępne
dla Ciebie w całym Twoim systemie operacyjnym
i tak jak widać biorą pod uwagę elementy,
które znajdują się aktualnie na Twoim ekranie.
Sięgając po takie narzędzia będziesz w
stanie ułatwić sobie pojedyncze elementy Twojej pracy, ale jednocześnie te
pojedyncze małe detale będą sumować się do wielkich rezultatów, które albo przełożą
się na Twoją efektywność, albo na ogólny komfort pracy
albo na jedno i drugie.
Raz jeszcze bardzo polecam Ci się zapoznać
szczególnie Setapp oraz narzędziami do generowania kodu z pomocą AI.
Tutaj tylko raz jeszcze podkreślam, że w przypadku projektów komercyjnych warto
wcześniej upewnić się, że w ramach Twoich projektów możesz je wykorzystywać.
Chodzi o to, że w przypadku takich narzędzi kod aplikacji jest analizowany i
nie wiadomo szczerze mówiąc do końca co się z nim dokładnie dzieje
aczkolwiek przykładowo Tabnine bardzo poważnie podchodzi do tego tematu i jak widać jest
to dla nich nawet tak bardzo istotne, że mają oddzielną zakładkę, w której
transparentnie komunikują dokładnie ten temat.
Myślę, że warto traktować te narzędzia poważnie, a jednocześnie też brać pod
uwagę kwestię prywatności ze względu na to, że często mówimy tutaj o obszarze,
który nie dotyczy bezpośrednio nas, ale całej firmy.
Na koniec dnia nie zmienia to jednak
faktu, że nikt nie zabrania Ci wykorzystywać takich narzędzi np.
na potrzeby nauki bądź rozwijania własnych projektów.
Ja coś takiego robię regularnie,
szczególnie w momencie, gdy opracowuję przykłady np.
na potrzeby publikowanych przeze mnie materiałów.
W takim przypadku Tabnine lub np.
GitHub Copilot pozwalają mi lepiej odnajdywać się w nowym środowisku i np.
w narzędziach czy bibliotekach, których API nie jest mi do końca znane
i w takich sytuacjach wsparcie w postaci generowania kodu bądź sugerowania jakichś
uzupełnień okazuje się być niezwykle przydatne.
Teraz dziękuję za uwagę i zapraszam do kolejnej lekcji.