Jak zrobić back-end w Next.js?

  Рет қаралды 5,237

Artur Chmaro

Artur Chmaro

Күн бұрын

Пікірлер: 22
@ArturChmaro
@ArturChmaro 4 жыл бұрын
✅ Zapisz się na Warsztat z Next.js: fullstak.pl/warsztaty-next
@damianlis6357
@damianlis6357 4 жыл бұрын
Dzięki Artur za wyjaśnienie tematu. Akurat jeszcze nic nie pisze w next, ale jak zawsze zobrazowales to tak, że laik to zrozumie :). Warsztaty zakupione, czekamy :)!
@khamer1410
@khamer1410 4 жыл бұрын
Brawo Artur, bardzo fajny materiał - podoba mi się podejście teoria / praktyka, czasem tak się skupiamy na syntaxie że gubimy całościoy obraz i co kiedy użyć. Jeżeli chciałbyś poprawić jakieś rzeczy to myślę, że używanie prawdziwych przykładów fajnie się sprawdza (szkołą Wes Bosa) - np nie param: req.query.param tylko req.query.name. Druga rzecz to polecam skróty klawiszowe - kopiowanie linijki czy usunięcie bez myszki fajnie przyśpiesza pracę. Piona!
@ArturChmaro
@ArturChmaro 4 жыл бұрын
Dzięki za konstruktywny feedback! Postaram się więcej korzystać ze skrótów i jeszcze lepszych prawdziwych przykładów 😇
@jacob5403
@jacob5403 3 жыл бұрын
ISR rozwiąże problem z getStaticProps?
@Prim12398
@Prim12398 3 жыл бұрын
jak zabezpieczyć kod backendu przed wyciekaniem do kodu klienta UI? Wystarczy że utworzysz jakąś metodę prywatną w plikach /api.... metody te lądują na froncie.
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Cały kod który umieścisz w folderze api jest wykonywany po stronie serwera i nie ma możliwości by został dołączony do builda UI. Skąd pomysł że te metody lądują na froncie?🤔
@Prim12398
@Prim12398 3 жыл бұрын
​@@ArturChmaro niestety kod jest dołączany. przejrzyj zgłoszoną dyskusję github "Security: Backend details are too easy to leak" (dałbym linka ale YT usuwa komentarze).
@ArturChmaro
@ArturChmaro 3 жыл бұрын
@@Prim12398 o cholera wygląda faktycznie na to, że jest jakiś bug. Nie doświadczyłem tego bo w api korzystam po prostu z funkcji a z nimi nie ma problemu. Odpowiadając na Twoje pytanie póki Vercel się nie ogarnie jedynym zabezpieczeniem jest: nie używanie klas w /api, trzymanie tokenów/sekretów w envach
@Prim12398
@Prim12398 3 жыл бұрын
@@ArturChmaro tak ale nawet "ENV" nie ochroni nas przed wystawianiem implementacji hakerom do przejrzenia i znalezienia luk w systemie. Niestety pracownik Vercel utrzymuje, że to taki design. :(
@Together4Ever96
@Together4Ever96 4 жыл бұрын
Czy małe strony bez backend'u napisane w Next.js są równie wydajne jak strony zrobione w Gatsby.js ? Pytam, ponieważ od momentu aktualizacji po której w Next.js można też budować strony SSG chciałbym się skupić tylko na tym jednym framework'u. Na internecie czytam, że powinno się używać Next.js jeżeli strona będzie się rozrastać. Czy to oznacza, że gdy nie będzie się rozrastać, tylko będzie to mała strona albo strona bez backendu to Gatsby.js jest pod jakimś względem lepszy ?
@ArturChmaro
@ArturChmaro 4 жыл бұрын
Dawid Mroczkowski te narzędzia są pod względem SEO identyczne bo umożliwiają generowanie statycznych stron. Ja personalnie wolę Nexta. Moim zdaniem jest bardziej elastyczny zarówno do małych i dużych projektów. Uważam też że łatwiej w niego wdrożyć inne osoby
@szczeczaczoszczeczek5077
@szczeczaczoszczeczek5077 4 жыл бұрын
Jeśli mam załóżmy 10000 produktów lub czegokolwiek innego i chce je mieć w formie listy na stronie głównej, mogę użyć getStaticProps, żeby serwer zwracał html ul z 10000 li i nie będzie muliło czy jednak w getServerSideProps zaimplementować paginację lub dynamic scroll? Skoro next wzraca statyczną stronę, wydaje mi się że można pokusić się o pierwszy sposób, bez pytania api o kolejne produkty, bo są już na sztywno w html, jak myślisz? Zrobisz krótki film z eksperymentem? :)
@ArturChmaro
@ArturChmaro 4 жыл бұрын
Szczeczaczoszczeczek trochę akademicki przykład dałeś :p rzadko wyświetlanie na raz 10000 produktów ma sens. Możesz to wrzucić na pałę do html, ale ktoś na wolnym/słabym urządzeniu i tak będzie miał problemy w załadowaniu tego do przeglądarki. O filtracji/wyszuwaniu nie wspominając. Nawet jak się to statycznie wygeneruje nie wiele to zmieni. Będę robił coś o paginacji to pokażę sposób getStaticProps + getStaticPaths. Wtedy możesz na etapie buildu produkować podstronę dla każdej strony wyników. Można też zrobić paginacje dla pierwszych 10 stron a resztę dobudować dynamicznie
@pawejadach2640
@pawejadach2640 4 жыл бұрын
A co w przypadku gdy masz sklep + panel admina w którym admini przykładowo zmieniają sobie dane/ceny produktów itp? Raczej sklep powinien dbać o SEO więc powinny być wyrenderowane strony produktów, jednak z drugiej strony admini zmieniają cenę która musi się od razu aktualizować na sklepie. Co w takim przypadku?
@ArturChmaro
@ArturChmaro 4 жыл бұрын
Jest kilka rozwiązań: 1. Zmiana ceny = przebudowa (dla małych sklepików spoko) 2. Dodanie invalidate, że np. Strony przebudowują się co 1h 3. Napisanie logiki która przy dodawaniu do koszyka upewnia się że cena jest odpowiednia i informuje usera o zmianie (to raczej rozwiązanie dla kantorów albo innych branż gdzie cena może być ustawiana automatycznie lub przez jakieś boty) 4. Całą stronę budujesz statycznie za wyjątkiem komponentu dodaj do koszyka (on za każdym razem odpytuje serwer po aktualna cenę). Oczywiście w zależności od potrzeb powyższe rozwiązania można łączyć 😊
@pawejadach2640
@pawejadach2640 4 жыл бұрын
@@ArturChmaro Tu właśnie dosyć większy problem gdyż dosłownie wszystko podlega edycji poczynając od nazwy produktu, zdjęć na cenie kończąc :D Czyli kontynuując pytanie, z tego co widzę całym sklepie jest stosowane getInitialProps, tzn że to rozwiązanie jest niezbyt pod SEO?
@ArturChmaro
@ArturChmaro 4 жыл бұрын
@@pawejadach2640 getinitialprops generuje stronę w trakcie builda (teraz ta metoda się nazywa getStaticProps) więc z punktu widzenia seo nie jest źle
@bartomiejmazur6098
@bartomiejmazur6098 4 жыл бұрын
Wygląda super! Artur do kiedy będzie można się zapisywać na warsztaty? Właśnie robię prostą stronkę + backend i myślę że mógłbym zastąpić to Next'em. Spadłeś z tym jak z nieba :)
@ArturChmaro
@ArturChmaro 4 жыл бұрын
Bartłomiej Mazur do 18 października są zapisy 😊
@FrozenSandVideo
@FrozenSandVideo 4 жыл бұрын
Łapsko w górę !! 😅
@chesterxp508
@chesterxp508 2 жыл бұрын
GoodJob!
⚡️ Next.js czyli web framework przyszłości (Promeet #30)
1:21:40
Prosty i szybki deploy apki webowej Node.js na serwer VPS
10:59
Artur Chmaro
Рет қаралды 8 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Krótki kurs Next.js (gość Mateusz Domański)
43:16
Samuraj Programowania (SamurAI Bartek)
Рет қаралды 15 М.
Strapi - Instalacja, logowanie, tworzenie modeli (Headless CMS)
23:05
Every React Concept Explained in 12 Minutes
11:53
Code Bootcamp
Рет қаралды 922 М.
JSON Web Tokens w Node.js (Express.js) | overment
21:55
overment
Рет қаралды 7 М.
CORS w pigułce 🔥  działanie i naprawa
7:22
Artur Chmaro
Рет қаралды 10 М.
Using Images in Next.js (next/image examples)
9:10
leerob
Рет қаралды 122 М.
The Story of Next.js
12:13
ui․dev
Рет қаралды 591 М.
Next.js Server Actions...  5 awesome things you can do
7:51
Beyond Fireship
Рет қаралды 287 М.
Vue.js - kurs w 60 minut
57:34
Twórca Stron
Рет қаралды 62 М.
Next.js For React Developers | Everything You Need To Know
28:57