Jak pisać lepszy JavaScript? ⌨️ hello roman #76

  Рет қаралды 26,976

hello roman

hello roman

Күн бұрын

Пікірлер: 162
@MrFckingninja
@MrFckingninja 5 жыл бұрын
Super odcinek! Zrób może jakąś serie "dobre praktyki programowania", gdzie pokazujesz: 1. Zły kod, często popełniany przez nowych developerów 2. Poprawiony kod. Mógłbyś zostawić w pliku oba kody i tłumaczyć bazując na złym kodzie, czemu się tak nie robi. Odcinki 3-5 minutowe. Bardzo by się przydała taka playlista na pasku zakładek. Pozdrawiam! :) Jeżeli to czytasz, proszę o odpowiedź, lub serduszko, żeby inni co popierają pomysł mogli się wypowiedzieć / zagłosować na niego.
@pabas3792
@pabas3792 5 жыл бұрын
MrFckingninja .
@MrFckingninja
@MrFckingninja 5 жыл бұрын
@@pabas3792 Słucham?
@krzyszk1042
@krzyszk1042 5 жыл бұрын
Więcej takich odcinków poproszę, otwierają one oczy młodszym programistą.
@przemysawdrozniak907
@przemysawdrozniak907 5 жыл бұрын
Świetny odcinek, chętnie poznam więcej takich porad :)
@P1X3L0V4
@P1X3L0V4 5 жыл бұрын
Nie korzystałam wcześniej użytkowo z destrukturyzacji tablic i chyba czas zacząć. Chętnie obejrzę więcej tipów. Dzięki!
@devsaber4148
@devsaber4148 5 жыл бұрын
Świetna forumła (y). Jestem jak najbardziej za, by było więcej tego typu odcinków. :D
@mateuszrusak636
@mateuszrusak636 5 жыл бұрын
Świetny odcinek 😀 bardzo przydatny dla wszystkich którzy się dopiero uczą 😀
@panwiesio5879
@panwiesio5879 5 жыл бұрын
Podobało. Dawaj dalej
@Yloj
@Yloj 4 жыл бұрын
Bardzo, dobry filmik. Jednego czego mi brakuje to żeby była stara i nowa wersja, łatwiej byłoby widoczne zmiany. Teoretycznie można sobie zrobić screen i porównać co się zmieniło i jak bardzo. Ale jakby na górze byłą cały czas stara wersja kodu łatwiej jest śledzić każdy krok zmiany jaka została dokonana i np zatrzymać sobie filmik przeanalizować. Dobra robota świetnie nadajesz się na nauczyciela, bardzo przejrzyście mówisz nie plączesz się. Przyjemnie się słucha i ogląda.
@cyklista_fotoamator
@cyklista_fotoamator 5 жыл бұрын
Bardzo fajne rady. Jedynie o czym nie wiedziałem to o async / await. Jeśli więcej jest takich smaczków to pewnie, że warto je poznać a przede wszystkim sprawdzić siebie. Zrobić pauzę i samemu pomyśleć, co można w przedstawianym kodzie zmieniać :)
@helloroman
@helloroman 5 жыл бұрын
Wielkie dzięki! ❤️ Za tydzień kolejne rady
@dalimibiszkopta4996
@dalimibiszkopta4996 5 жыл бұрын
Daję znać! Mega mi się podobało! Jak dla mnie, osoby które dopiero zaczyna swoją przygodę z JS , takie rady są bardzo cenne. Czekam na kolejny odcinek :)
@Czogu
@Czogu 5 жыл бұрын
Super, czekam na następny. I szacunek za prostotę tłumaczenia.
@helloroman
@helloroman 5 жыл бұрын
Wielkie dzięki ❤️
@stomil91
@stomil91 5 жыл бұрын
Super odcinek czekam na następne !
@Arrantasar
@Arrantasar 5 жыл бұрын
Dej więcej, mam hory kod :D Świetny odcinek :) Oj, dostałbym po łapach przy code review od Ciebie ;)
@Adam-od4iz
@Adam-od4iz 5 жыл бұрын
Warto dodać, że wykonując push na tablicy, która jest constem wcale nie modyfikujesz tego czym jest nasza stała (dlatego js nam na to pozwala), pod naszą stałą znajduje się referencja na tablicę i to jej nie można modyfikować. Ta sama zasada tyczy się obiektów, gdy obiekt jest stałą - wciąż możemy dowolnie zmieniać wartości wewnątrz tego obiektu. Super odcinek, pozdrawiam ;)
@helloroman
@helloroman 5 жыл бұрын
Wszystko się zgadza, dzięki za doprecyzowanie ;)
@EmilDworniczak
@EmilDworniczak 5 жыл бұрын
Super, czekam na nexta
@przemysawziegert5035
@przemysawziegert5035 5 жыл бұрын
Tipy od Ciebie zawsze na propsie. "Roman" zachęcam do kontynuacji następnych odcinków.
@1997jugulator
@1997jugulator 4 жыл бұрын
Mega dowcip ;). Zwłaszcza gdy się urodziło w latach osiemdziesiątych i muzykę lat dziewięćdziesiątych się dobrze pamięta....
@danielnoworyta7965
@danielnoworyta7965 5 жыл бұрын
Panie Romku świetny materiał :)
@wiktorbandura
@wiktorbandura 5 жыл бұрын
Jestem z siebie dumny, że o większości wiedziałem ;) Odcinek świetny i przydatny. Więcej takich S'IL VOUS PLAIT :)
@helloroman
@helloroman 5 жыл бұрын
Dzieki! Jak masz swoje rady to dawaj ♥️
@wiktorbandura
@wiktorbandura 5 жыл бұрын
Ogólnie to chciałem powiedzieć, że jestem tylko 19 letnim gówniakiem ze szkoły średniej i moje rady mogą okazać się głupie, bo do juniora mi jeszcze daleko haha :) Ale z takich kosmetycznych rzeczy w tym przykładzie to zwróciłbym w funkcji getBeer data[0], wtedy można destrukturyzować od razu przekazany obiekt, w fetchu mimo wszystko ta klasyczna konkatenacja wydaje mi się bardziej czytelna "url + id", no i pozabierałbym te wszystkie nawiasy z funkcji strzałkowych, gdzie jest jeden argument, żeby było bardziej sexy, hehe. Przepraszam jeżeli nie mam racji bo tak jak mówiłem wyżej nie mam żadnego doświadczenia i z chęcią się dowiem, jeżeli się mylę :).
@xSlavko221
@xSlavko221 5 жыл бұрын
data[0] powinno być rozwiązane po stronie API. Wysyłamy GETa na adres "url/:id", czyli spodziewamy się jednego elementu w odpowiedzi, a nie tablicy elementów, bo jak wiemy - id jest unikatowe :) Sugeruję używanie nowego sposobu łączenia zmiennych z tekstem. Jest on po prostu bardziej elegancki. Reszta to kwestia indywidualna.
@wiktorbandura
@wiktorbandura 5 жыл бұрын
Ale w tym API jak mówił Adam, biorąc jeden element dostajemy tablice [{}]. Zwracając data[0] nie musimy destrukturyzować const [beer] = data. Miałem na myśli ten konkretny przykład, zawsze trochę mniej kodu prawda :) A co do konkatenacji to rzeczywiście template string jest lepszy. Niepotrzebnie z tym wypaliłem, haha
@xSlavko221
@xSlavko221 5 жыл бұрын
@@wiktorbandura Zgadzam się, w tym konkretnym przykładzie Twoje rozwiązanie jest prawidłowe. Lecz z założenia funkcje mają być tak uniwersalne jak tylko się da (pozwala to oszczędzić sporo czasu na debugowaniu, gdy coś w łańcuchu działania aplikacji się zmieni), więc lepiej jest zwrócić całą tablicę, lub data[0] tak jak mówisz, ale opakowane w ifa, którym np logujemy info w razie wykrzaczenia ;D Wiem, może się troszkę czepiam, ale kiedyś też nie zwracałem na to uwagi, a później lądowałem z ręką w nocniku, bo w API z którego korzystała moja stronka coś się zmieniło, a ja nie zabezpieczyłem należycie kodu :/ Podsumowując, żeby mój komentarz nie wyglądał tylko jak puste słowa krytyki: 1) Starajmy się tworzyć uniwersalne funkcje i obsługę błędu (try-catch, albo minimalnie chociaż jakiś console.log) - zaoszczędzi nam to wiele czasu w przyszłości, 2) Starajmy się odwoływać do konkretnego elementu jak najrzadziej, czy też go zwracać (głównie chodzi mi o elementy z httpRequestów), a jeśli już to opakować go w ifa - znowu zaoszczędzimy czas później ;) 3) Zdobywanie stażu programistycznego, to nauka na błędach, a lepiej uczyć się na błędach innych niż własnych. Pozdro! :) Do juniora Ci bliżej niż myślisz. Mało osób w średniej szkole już coś sobie pisze :)
@warrior9096
@warrior9096 5 жыл бұрын
Tego typu odcinki są bardzo przydatne, także jakbyśmy mieli głosować to ja jestem za! :) więcej trików i rad z js :)
@helloroman
@helloroman 5 жыл бұрын
Postaram się częściej wrzucać tego typu odcinki. Zwłaszcza, że teraz zrezygnowałem z tych poniedziałkowych i mam więcej czasu
@ukaszklekner4098
@ukaszklekner4098 4 жыл бұрын
Super odcinek, duzo merytorycznego contentu! Oby wiecej takich odcinkow z nowoczesnymi praktykami!
@TheZmobie
@TheZmobie 4 жыл бұрын
Świetny odcinek! Wielkie dzięki za rady!
@fajne759
@fajne759 5 жыл бұрын
podoba się! chcemy więcej :)
@devpebe6031
@devpebe6031 5 жыл бұрын
Bardzo praktyczny odcinek! Sam najpierw zrobiłem CRkę żeby się sprawdzić i wyłapałem większość rzeczy tak jak Ty, oprócz async await 😎
@Leito431
@Leito431 5 жыл бұрын
Cześć ! :) A może coś o optymalizacji WordPressa? Jak przyśpieszyć wynik Google PageSpeed Insights? Z tego co mi wiadomo trzeba mieć pewien zakres wiedzy programistycznej, a sporo ludzi szuka informacji na temat przyśpieszenia takich stron. Pozdrawiam!
@e_d_d_y
@e_d_d_y 5 жыл бұрын
Super wytłumaczone :) chciałbym mieć taki code review na co dzień
@radeonm03
@radeonm03 5 жыл бұрын
Świetny odcinek! Chętnie obejrzę inne porady :)
@helloroman
@helloroman 5 жыл бұрын
Dzięki! :) Za tydzień druga część
@MjrAQ123
@MjrAQ123 5 жыл бұрын
Jak Ty to robisz że za każdym razem jak o czymś pomyślę to od razu wrzucasz na ten temat jakiś toturial/poradnik/odcinek ? :D Tak bardzo fajny odcinek, nasza gawędź fanów prosi o większą ilość porad, w których pokażesz jak pisać POPRAWNY kod w oparciu O NOWE technologie :)
@Sinres2
@Sinres2 5 жыл бұрын
Bardzo dobry materiał super to wytłumaczyłeś ja osobiście proszę o więcej takich materiałów ! 😁😁👌
@helloroman
@helloroman 5 жыл бұрын
Bedzie wiecej! Dzieki ♥️
@Zaxi-x
@Zaxi-x 5 жыл бұрын
Nie mogę się doczekać platformy, którą tworzysz. Masz dar dydaktyczny
@jude5624
@jude5624 5 жыл бұрын
Dawaj więcej tego typu rzeczy! ❤️ ostatnie odcinki np. mi nie siadły, więcej mięsa!
@MrBziq
@MrBziq 5 жыл бұрын
Dzięki, w końcu zrozumiałem async/await, jakoś nigdy nie mogłem zapamiętać jak to działa.
@kubikos90
@kubikos90 5 жыл бұрын
Świetny odcinek, czekam na więcej 🙂
@marcinwachcinski1096
@marcinwachcinski1096 5 жыл бұрын
W końcu "załapałem" jak robić funkcje async-await. Dzięki
@andzej2623
@andzej2623 5 жыл бұрын
*Kurs javascript by helloRoman* - Kamil wstawaj zesrałeś się ( ͡° ͜ʖ ͡°)
@alekma1
@alekma1 5 жыл бұрын
Roman odcinek super, proszę o więcej kciuk w górę
@mateusztocha9260
@mateusztocha9260 5 жыл бұрын
Część wiem że jesteś po frontedowej stronie mocy , ale słyszałeś albo używałeś może NestJs , uważam że nie jako wymusza on dobre praktyki związane z programowaniem , po za tym rozbicie backendu na warstwy , skupienie się na domenie czyli programowanie DDD powodują że aplikacje są łatwo skalowalne. Jak ktoś programował wcześniej w c# .net core to wiele podobnych rzeczy może znaleźć dla siebie .
@ukaszkalemba6889
@ukaszkalemba6889 5 жыл бұрын
dobry odcinek, koniecznie nagraj drugą część
@helloroman
@helloroman 5 жыл бұрын
Dzięki wielkie :) Za tydzień wrzucam kolejną część
@lukas85s
@lukas85s 5 жыл бұрын
Każda dobra rada na wagę złota :)
@x-NoName-x-
@x-NoName-x- 5 жыл бұрын
Jasne, ze chcemy więcej, świetny odcinek! 👌👊
@PierwszyTV
@PierwszyTV 5 жыл бұрын
Świetne, praktyczna wiedza w pigułce :)
@tmaszko5460
@tmaszko5460 5 жыл бұрын
Hej fajny odcineczek :D. Tylko zastanawiam się po co jest ten .then((data) => data) skoro response.json() zwraca Promise to on rekurencyjnie sobie sprawdzi czy to cos co nie jest zwracane jest promisem i jak coś to zaczeka i w następnym then otrzymasz już tylko dane z tego promise który jest zwracany, więc teoretycznie ta funkcja nic nie robi, jest sobie funkcją identity :)
@Bakstero
@Bakstero 5 жыл бұрын
Dzięki za świetny odcinek, czekam na więcej! Jak się nazywa theme z którego korzystasz ?
@helloroman
@helloroman 5 жыл бұрын
dzieki! Material Dark Oceanic
@przemysawspaczek18
@przemysawspaczek18 5 жыл бұрын
Z arrow function czasami trzeba uważać :) Zwłaszcza jak chcemy mieć dostęp do arguments lub bawimy się z scopem :) Poza tym arrow function są SUPER!
@Karol27i7
@Karol27i7 5 жыл бұрын
Bardzo fajny odcinek! Chcę więcej. Pozdrawiam :)
@pxtrez
@pxtrez 3 жыл бұрын
mógłbym prosić o motyw vsc? Pozdrawiam
@KulKulKula
@KulKulKula 5 жыл бұрын
A nie jest jeszcze przypadkiem tak, że jak mamy tylko jeden parametr w funkcji strzałkowej, to możemy pominąć nawiasy? Jak dla mnie to też może poprawić jakość kodu, warto o tym wspomnieć. Poza tym super odcinek, jak zawsze! :)
@d3zecik
@d3zecik 5 жыл бұрын
życzę Wszystkim oglądającym miłego dnia :)
@LocoGrove
@LocoGrove 5 жыл бұрын
Serdecznie dziękuję za takie życzenia
@tomaszgasior772
@tomaszgasior772 5 жыл бұрын
7:59 consty tego typu (czyli prostego typu, z faktycznie stałymi wartościami) preferuję nazywać DUŻYMI_LITERAMI. Jak rozumiem ta konwencja nie jest stosowana w JS?
@helloroman
@helloroman 5 жыл бұрын
Jak slusznie zauwazyles to zalezy od konwencji. Ale faktycznie w prawdziwych projektach tez uzywam takiego zapisu jak zasugerowales 👍
@skaldycom
@skaldycom 5 жыл бұрын
przy pierwszym przykładzie dobrze by było przypisać długość tablicy do zmiennej i tą zmienną używać w pętli. Tutaj może różnicy nie robi, ale przy większych tablicach sprawdzanie za każdym razem jej długości może obciążyć procesor.
@ComandeerPL
@ComandeerPL 5 жыл бұрын
Niekoniecznie → mrale.ph/blog/2014/12/24/array-length-caching.html W skrócie: nie musimy robić mikrooptymalizacji, bo silniki JS są zwykle na tyle mądre, że robią to same ;)
@skaldycom
@skaldycom 5 жыл бұрын
@@ComandeerPL to jest bardzo dobra wiadomość. Dzięki za pozytywne wibracje :)
@erykwks
@erykwks 5 жыл бұрын
Świetny odcinek. Poproszem wincyj!
@helloroman
@helloroman 5 жыл бұрын
erykwks zgadza sie, zawsze mi sie miesza xD
@lukq90
@lukq90 5 жыл бұрын
Muszę rozchodzić ten suchar
@helloroman
@helloroman 5 жыл бұрын
Hahaha 😂No to jest jeden z tych wytrawnych co mordę wykręcają
@kkpp4755
@kkpp4755 5 жыл бұрын
No i namówił. Idę do sklepu
@damianczechowski4268
@damianczechowski4268 5 жыл бұрын
Spoko odcineczek! Może jakiś odcinek o performance? Jak pisać kod, żeby działał możliwie szybko, czego unikać itd.?
@helloroman
@helloroman 5 жыл бұрын
Robiłem taki odcinek o CSS, może Cię zainteresuje :) O JavaScript jeszcze nie miałem okazji
@damianczechowski4268
@damianczechowski4268 5 жыл бұрын
@@helloroman tak widziałem, czekam na odcinek o JS :) Pozdrawiam
@hakusaan
@hakusaan 5 жыл бұрын
Wszystko pięknie. Tylko 2 pytanka. Dlaczego nie zamieniłeś wszystkich then? Co jak wolę then i catch, bo mogę po jakimś ciągu napisać tylko 1 catch? :)
@helloroman
@helloroman 5 жыл бұрын
Yo! 1. Zapomniałem na śmierć o tym drugim, dzięki że napisałeś xD 2. W async/await też możesz zrobić jeden catch po ciągu awaitów.
@DanielZawadzki32
@DanielZawadzki32 5 жыл бұрын
Tak ja chcę więcej takich odcinków.
@fredox2901
@fredox2901 5 жыл бұрын
cześć jestem dosyć młody lecz chcę wiązać moją przyszłość z programowaniem nie miałem nigdy z tym do czynienia więc myślałem o nauce z książek przy czym nie wydając dużej ilości pieniędzy polecił byś jakąś książkę lub inny sposób nauki ? podkreślam nie miałem nigdy z tym do czynienia .
@ComandeerPL
@ComandeerPL 5 жыл бұрын
Czemu destrukturyzacja jako osobne `const`y a nie bezpośrednio w parametrach? Osobiście stosuję ten drugi sposób (github.com/Comandeer/rollup-plugin-babel-minify/blob/master/tests/helpers/createTransformTest.js#L24-L30 ), chociaż często słyszę, że jestem fanatykiem destrukturyzacji :D Osobiście też mam mieszane uczucia względem `fetch`. Z jednej strony jest przyjemniejsze do pracy niż XHR, z powodu swojego API opartego o `Promise`. Z drugiej zaś - to dość low-levelowe API, na co wskazuje choćby fakt, że sami musimy zająć się przerabianiem pobranych danych na strawny format (`response.json()`). XHR ma tę przewagę, że wystarczy określić typ zwracanej odpowiedzi (XML, JSON, text czy nawet drzewko DOM) i po prostu dostajemy wszystko już przeparsowane i gotowe do działania. A eventowe API można obejść małą funkcją-helperem, przerabiającym to na `Promise`.
@helloroman
@helloroman 5 жыл бұрын
W praktyce prawie zawsze korzystam z axiosa, więc korzystanie z fetcha jest dla mnie swego rodzaju egzotyką 😂Ale jak zwykle masz sporo racji. Co do destrukturyzacji w parametrach, to mógłbym to zrobić, gdyby ten element nie był wewnątrz tablicy 🤔Chyba, że masz jakiś pomysł?
@ComandeerPL
@ComandeerPL 5 жыл бұрын
@@helloroman, `getBeer( 5 ).then( ( [ { name, description } ] ) => { […] } );`. Jak dla mnie czytelne.
@helloroman
@helloroman 5 жыл бұрын
Tomasz Jakut ej nie robiłem tak nigdy ♥️ thx!
@trochymiak
@trochymiak 5 жыл бұрын
O to było dobre! thx Ziom :)
@aleksspychaa8711
@aleksspychaa8711 5 жыл бұрын
Część Roman nazywam się Aleks i jestem w technikum PROGRAMISTYCZNYM w klasie 1. I chciałem zapytać czy zrobił byś odc z jakimiś tipami poradami do dotychczasowego js ale tego czystego bez bibliotek.
@helloroman
@helloroman 5 жыл бұрын
Przecież ten odcinek o tym jest
@ExChampions
@ExChampions 5 жыл бұрын
Podobny odcinek byłby super :D
@helloroman
@helloroman 5 жыл бұрын
Już za tydzień :)
@edwinharmata2428
@edwinharmata2428 5 жыл бұрын
Dobry odcinek, właśnie dobrych praktyk brakuje mi najbardziej. Fajną opcją byłoby gdybyś np: na koniec każdego odcinka wrzucał 2 dobre praktyki w js, nawet w formie hasłowej, bo żaden poradnik nie zawiera wszystkich, a najtrudniej jest pisać czysty kod jak się ich nie zna :) Pozdrawiam
@tomek1149
@tomek1149 5 жыл бұрын
Romku prosimy o więcej
@helloroman
@helloroman 5 жыл бұрын
Bedzie wiecej 🚀
@TheKseon
@TheKseon 5 жыл бұрын
Mam pomysł na całą serię. Może by tak ludzie do ciebie wysyłali jakieś proste małe projekty z swoi kodem, a ty byś go recenzował wskazując jego wady i dobre strony?
@helloroman
@helloroman 5 жыл бұрын
To już wtedy się nie nazywa code review, tylko public shaming 😃Nie chciałbym robić czegoś takiego
@TheKseon
@TheKseon 5 жыл бұрын
@@helloroman Zawsze można zanonimizować. Zresztą miałbyś kontrole nad tym, co się dostanie na odcinek, a co nie. Minusem jest pewnie natłok pracy, bo to trzeba przejrzeć, ocenić, znaleźć niedociągnięcia. Nawet mały projekt może być "rozległy" , ostatnio zrobiłem zadanie rekrutacyjne, to wyszło mi 60 plików (SASS/HTML/JS). Plusem jest natomiast realny kod adeptów programowania, zawierający rzeczywiste błędy. W każdym razie dzięki za odpowiedź.
@jeandearme32
@jeandearme32 5 жыл бұрын
Te try/catche mnie trochę mierzą. W Node ich używam, ale jeżeli chodzi o front to dla mnie osobiście promise'y wyglądają przejrzyściej jeżeli połączymy je z czystymi funkcjami. W takim układzie każdy 'then(nazwaFunkcji)' zajmuje zawsze jedną linijkę, a mamy jednak lepszą prozę. Plus w promise mamy finally (choć w try/catch po prostu to się da za blokiem funkcji zwyczajnie). Ale nie powiem - przykład z piwnym api broni się bardzo :) Dla tych co nie wiedzą: then(nazwaFunkcji) i then(res => nazwaFunkcji(res)) to to samo. No i jest to szansa na nazwanie tego co robimy zamiast po prostu to robić, żeby w przyszłości nie musieć się domyślać o co nam chodziło.
@mateuszkorczynski375
@mateuszkorczynski375 5 жыл бұрын
Roman, te stringi wyglądają dużo lepiej.
@filiphubertsuwik8209
@filiphubertsuwik8209 4 жыл бұрын
Na etapie w jakim jestem z JS to przyswoilem patent z control+g...tez dobrze...😏
@FrozenSandVideo
@FrozenSandVideo 5 жыл бұрын
Spoko tipy, Są przydatne ;)
@KoWaltz
@KoWaltz 5 жыл бұрын
Jakiego extension-a używasz do tego migającego kursora? I w jaki sposób robisz to multiple cursor (inaczej niż CMD+OPTION+SHIFT+ARROW)? Pozdro!
@helloroman
@helloroman 5 жыл бұрын
Sprawdz sobie go to next occurance bo mozesz miec inny skrot
@KoWaltz
@KoWaltz 5 жыл бұрын
@@helloroman Dzięki. Ogarnięte :) A co to efekt z tym kursorem?
@nuzz1337
@nuzz1337 5 жыл бұрын
super odcinek jak się nazywa ten dodatek z animacją kursora?
@helloroman
@helloroman 5 жыл бұрын
Wydaje mi się, że mam to ustawione jakoś w VSC po prostu - zerknę i postaram się wrzucić
@balm0r
@balm0r 5 жыл бұрын
Można ustawić w settings np: "editor.cursorStyle": "line-thin", "editor.cursorWidth": 2, "editor.cursorBlinking": "expand",
@Jacek2048
@Jacek2048 5 жыл бұрын
Fajny odcinek, ale... .then((data) => data) what? :O PS. Co prawda VS Code jest najpiękniejszym edytorem do JavaScriptu, a produkty JetBrains są płatne, nieszczególnie ładne, zamulają wolniejszego kompa i mają cięższy learning curve, ale nie mogę nie powiedzieć, że takie rzeczy, jak zmiana function na =>, wywalenie zahardcode'owanej wartości do zmiennej, czy zamiana konkatenacji stringów na template literal to jest tam zautomatyzowana i można sobie coś takiego zrobić za pomocą 2-4 naciśnięć klawiatury.
@Umciu
@Umciu 5 жыл бұрын
Z filmiku o tipach, w którym tylko poruszyłeś async/await zrozumiałem jak to działa, a nie dawałem rady z tutków, gdzie było to obszernie opisane...
@helloroman
@helloroman 5 жыл бұрын
Możliwe, że musisz jeszcze trochę doczytać bo totalnie po łebkach to opisałem. Polecam kurs Willa Sentence'a „The new hard parts”
@pawe6620
@pawe6620 5 жыл бұрын
Super
@przemek3251
@przemek3251 5 жыл бұрын
Więcej!!!!!!
@danielpason6183
@danielpason6183 5 жыл бұрын
Wszystko super i fajnie omówione ALE... :D Po kursach z Kylem Simpson'enm na FM, chyba jestem bardziej skłonny iść w stronę używania var, const, let do wyrażania tego co moja zmienna ma robić, albo jaką informacje ma przekazywać czytającemu kod. Const jest na tyle perfidny że używanie go przy tablicach czy obiektach bardzo psuje czytelność kodu ( myli czytającego, który widzi chwile później .push na tej tablicy ), zwłaszcza dla osób które const znają z innych języków. C zęsto moje funkcje zwierają IIFE, albo krótkie wyrażenia która zamykam w {}, i tam let jest idealny( jeśli chce tymczasową zmienną ), ale jeśli w tym samym miejscu używam zmiennej która pochodzi ze scope'a wyżej to czytelniejsza jest dla mnie informacje jeśli ta zmienna jest varem, a nie let'em. :) Ex. (function namingAnonymousFunctionIsCool(){ var someNumber = 1; { let i = someNumber; i--; someNumber = i; } })
@helloroman
@helloroman 5 жыл бұрын
Kyle Simpson serio tak stosuje vary i lety? Totalnie mi nie podchodzi coś takiego
@jcubic
@jcubic 5 жыл бұрын
Jak masz try..catch w async i nie wyrzucasz go dalej to then się wykona z undefined więc Ci się wysypie aplikacja.
@helloroman
@helloroman 5 жыл бұрын
Jakub T. Jankiewicz hej, możesz rozwinąć?
@jcubic
@jcubic 5 жыл бұрын
@@helloroman No jak nic nie zwracasz z funkcji async to zwraca undefined i to idzie do then (catch sie nie odpali), czyli funkcja then ci się odpali i będziesz miał const [beer] = undefined i potem leci cały kod z undefiend. Żeby to rozwiązać trzeba zrobić throw e; ale wtedy musisz też mieć catch na tej funkcji bo pójdzie error uncatch exception in Promise.
@emilkowalski_
@emilkowalski_ 5 жыл бұрын
Jaka czcionka w vscodzie? :P
@helloroman
@helloroman 5 жыл бұрын
Fira
@moorph773
@moorph773 5 жыл бұрын
@@helloroman możesz podrzucić swój config na githuba, najbardziej interesuje mnie co to za theme i color scheme, dodatkowo ikonki jakieś customowe?. Gdybyś miał chwilę, dzięki. Pozdrawiam.
@marcelmarzec6439
@marcelmarzec6439 5 жыл бұрын
Również byłbym chętny na config
@ImekxD
@ImekxD 5 жыл бұрын
Oglądam te filmiki o js i stwierdzam, że to jest jakiś antyjęzyk... łączenie stringa brzydkie, używanie forEach na arrayach zamiast jak w normalnym języku statycznie typowanym jak c# w pętli foreach(var item in array) (albo jak zależy nam na kolejności to po prostu for). Czy na prawdę jeśli string template jest nowszy od varString + 'stringLiteral' to należy tego używać? Wygląda to na narzucanie innym jak mają pisać programy...
@ImekxD
@ImekxD 5 жыл бұрын
Strzałeczki lepsze of function? Dla mnie function bardziej czytelne
@ImekxD
@ImekxD 5 жыл бұрын
albo ta destrukturyzacja tablic... po co to? żeby zaoszczędzić 2-3 linie? jak taki const [beer] wygląda? Moim zdaniem nie za dobrze a już na pewno nie za czytelnie - to sobie ponarzekałem :P
@ImekxD
@ImekxD 5 жыл бұрын
proszę nie brać tego do siebie po prostu lubię narzekać szczególnie przez to, że "nauczyć się" webdevu próbuję z przerwami od kilku solidnych lat, z filmem wszystko w porządku :P
@danorex9100
@danorex9100 5 жыл бұрын
Skąd te tapety? ;)
@helloroman
@helloroman 5 жыл бұрын
GFDA
@oziocb
@oziocb 5 жыл бұрын
Super bylby odcinek pod tytulem - ”jak utrzymać strukturę dużych plików JS i nie zwariować” XD
@infernalduet
@infernalduet 5 жыл бұрын
Jakiego programu używasz do programowania ?
@helloroman
@helloroman 5 жыл бұрын
W pracy Webstorm, do filmików visual studio code
@michalirzylowski9899
@michalirzylowski9899 5 жыл бұрын
Ja bym jeszcze dodał wartości domyślne po destrukturyzacji "beer" dla "name" i "description" ;)
@helloroman
@helloroman 5 жыл бұрын
Fakt, w ogóle domyślne wartości w destrukturyzacji są super ❤️
@oleksku6761
@oleksku6761 5 жыл бұрын
Co do let-ów i const-ów, polecam odcinek MPJa z kanału FunFunFunction. 😃
@helloroman
@helloroman 5 жыл бұрын
Chciałbym być taki cool jak MPJ ❤️
@oleksku6761
@oleksku6761 5 жыл бұрын
@@milesq kzbin.info/www/bejne/qZvce3WCasueppo
@oleksku6761
@oleksku6761 5 жыл бұрын
@@helloroman No nie wiem, ja tam wolę Romana ;D
@gorudonu
@gorudonu 5 жыл бұрын
po prostu zamiast "template literals" trzeba mowic "string interpolation" ;) co do dekonstruktora - nie wime czy jest sens rozbijac beer na dwa obiekty, jak masz zdefiniowany obiekt (zwlaszcza w Typescriptcie) chyba nie ma sensu tego robic. co do metody getBeer - lepiej wrzucic ja do obiektu i do obiektu przekazac string z api jako parametr (i samego fetcha tez)
@helloroman
@helloroman 5 жыл бұрын
Z linkiem do API jako parametr to zależy do czego ma być ta funkcja i z jakich API korzystasz w projekcie. W tym przypadku nie było sensu podawać go jako argument. Ale nie do końca rozumiem rozkminę z dekonstruktorem, wyjaśnisz?
@krzysztofbraczyk382
@krzysztofbraczyk382 5 жыл бұрын
Wincyj 😃
@KiszuPL
@KiszuPL 5 жыл бұрын
Odcinek rychło w czas, bo akurat mam się wziąć za review aplikacji ;_;
@helloroman
@helloroman 5 жыл бұрын
Oj to te pare rad moze nie wystarczyc :D
@KiszuPL
@KiszuPL 5 жыл бұрын
​@@helloroman nie będzie tak źle, to nie pierwszy raz jak przeglądam kod, ale boję się tego co tam znajdę, bo było mało czasu na wyplucie nazwijmy to wersji demo, w stosunku do doświadczenia zespołu. Jak będziesz miał sposobność na zrobienie z tego jakiejś (mini) serii to pewnie dodam linka do zbioru, gdzie szukać dobrych praktyk w zespole :)
@szymonrykaa8987
@szymonrykaa8987 5 жыл бұрын
Wincyyyyyjjjjj!!!
@robertrowbax7734
@robertrowbax7734 3 жыл бұрын
Rewelka
@AndrzejMazurEznawca
@AndrzejMazurEznawca 5 жыл бұрын
Sory Roman ale konkatenacja dwóch zmiennych za pomocą "Literal Template Strings" jest po prostu głupie, powiedziałbym że nieprawidłowe. Zapis: baseURL + id jest o wiele krótszy i czytelniejszy niż: `${baseURL}${id}` Po drugie mniej bezpieczny bo pod zmiennymi mogą kryć się wyrażenia i zmienne albo musza być z zaufanych źródeł albo trzeba było by je sprawdzać. Nie testowałem, ale podejrzewam , że jest to też bardziej czasochłonne bo ciąg musi być parsowany. Zresztą jest to wbrew idei powstania tej konstrukcji językowej, czyli budowania szablonów. Pewnie można znaleźć sporo innych sensownych zastosowań, ale takim najbardziej oczywistym jest wstawianie do DŁUGIEGO tekstu (szablonu) zmiennych. Akurat konkatenacja dwóch zmiennych to najgorszy z możliwych przykładów.
@helloroman
@helloroman 5 жыл бұрын
Jeśli korzystasz z ustawień AirBnB w ESlincie to nie masz możliwości tworzenia konkatenacji - wymuszane jest na Tobie użycie template'ów. Myślę, że w dużej mierze to co napisałeś jest po prostu kwestią opinii, więc nie będę się jakoś specjalnie kłócił.
@AndrzejMazurEznawca
@AndrzejMazurEznawca 5 жыл бұрын
​@@helloroman Też specjalnie kłócić się nie będę, szczególnie że nie znam tego narzędzia i pewnie go nie poznam bo siedzę na backędzie. Natomiast mówienie że kod stał się bardziej elegancki w domyśle przejrzysty w zupełności zgodzić się nie mogę. Zrozumiał bym, od biedy, wtedy gdy był jakiś stały ciąg między zmiennymi, np: x = `${a}, ${b}` ale konkatenacja tylko 2 zmiennych wydaje się całkowicie bez sensu. To tak jak bym w PHPie gdzie parsowanie zmiennych było o zawsze napisał: $x = "$a$b"; zamiast: $x = $a.$b; Chyba wszyscy koledzy by mnie wyśmiali.
@helloroman
@helloroman 5 жыл бұрын
Andrzej Mazur rzadko w naturze spotyka się tak prosty template jak ten który napisałem, możliwe że powinienem był użyć bardziej skomplikowanego przykladu. Rzecz w tym że jak się już zdecydujemy na jedną konwencję to warto się jej trzymać
@Peeter306
@Peeter306 5 жыл бұрын
wincy ! :)
@helloroman
@helloroman 5 жыл бұрын
Bydzie! 😂
@gilbo5556
@gilbo5556 5 жыл бұрын
Jeśli przekazujesz tylko jeden argument w funkcji strzałkowej to nie musisz już go pakować w nawiasy.
@helloroman
@helloroman 5 жыл бұрын
Krzysztof Gwóźdź xD trzeci komentarz o tym. Wiem ze nie musze, robie to odruchowo bo w 90% przypadkow cos destrukturyzuje. A dodatkowo mysli o tym za mnie eslint. Rzeczy tego typu naprawde nie sa istotne.
@gilbo5556
@gilbo5556 5 жыл бұрын
@@helloroman Jasne, rozumiem. Często w tym filmie wspominałeś o samym aspekcie wizualnym kodu, dlatego zwróciłem na to uwagę, bo według mnie pominięcie tych nawiasów również działa na to dodatnio ;)
@helloroman
@helloroman 5 жыл бұрын
Jak najbardziej masz rację 👍
@Wi3rzb0
@Wi3rzb0 5 жыл бұрын
"mamy faktycznie zmienną która jest stałą" :D
@helloroman
@helloroman 5 жыл бұрын
XD to je javascript. Tego nie pomalujesz.
@przemyslawpietrzak3886
@przemyslawpietrzak3886 5 жыл бұрын
constius manx*
@helloroman
@helloroman 5 жыл бұрын
Tak by się nazywał ich cover band 😂
@Kurtos81
@Kurtos81 5 жыл бұрын
` Sie podobało ${😁} `
@pZq_
@pZq_ 5 жыл бұрын
too basic. more advanced examples pls ;]
@helloroman
@helloroman 5 жыл бұрын
Yes sir ;)
@grzegorzwlochinski3967
@grzegorzwlochinski3967 5 жыл бұрын
Romku prosimy o więcej
Czy warto uczyć się jQuery? ⌨️ hello roman #69
13:28
hello roman
Рет қаралды 33 М.
Czym jest (REST) API? ⌨️ hello roman #138
34:58
hello roman
Рет қаралды 42 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
Szkielet strony ⌨️ hello roman #104
26:28
hello roman
Рет қаралды 12 М.
Niespodzianki w CSS ⌨️ hello roman #56
27:29
hello roman
Рет қаралды 19 М.
Jednostki CSS - px, em, rem, %, vh, vw ⌨️ hello roman #20
28:48
JavaScript Pro Tips - Code This, NOT That
12:37
Fireship
Рет қаралды 2,5 МЛН
Dobre praktyki w React cz. 1⌨️ hello roman #121
21:39
hello roman
Рет қаралды 20 М.
Podstawy programowania w JavaScript w 60 MINUT
57:34
Jak nauczyć się programowania
Рет қаралды 262 М.
Animacje CSS w 30 minut 😱 opowieści, skrypty #23
35:13
hello roman
Рет қаралды 44 М.
Wydajne style w JS 😱 opowieści, skrypty #6
20:18
hello roman
Рет қаралды 13 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН