Podobał Ci się ten film? Upewnij się, że zobaczysz kolejne: 🔔 Subskrybuj mój kanał - ruclips.net/user/overment 📩 Zapisz się na newsletter: overment.com/newsletter
@@hqav1783 Krytykowanie zelenta to debilizm. Robi świetną robotę dla kogoś kto chciałby zaczerpnąć troche podstaw i stwierdzić czy to na pewno dla niego. Osoba, która wciągnie się w programowanie prędzej czy później znajdzie takie kanały jak overment, samuraj czy roman i nauczy sie konkretów. Niemniej jednak, dla typowego ucznia technikum, który gra w gierki i nigdy nie programował zelent jest na prawdę świetną opcją na start.
@@tabloid64 czego ty nie rozumiesz? xd zelent robi content glownie dla uczniow by zdali egzaminy i mieli totalnie podstawowa wiedze, po co im dobre praktyki, skoro to nie ma znaczenia na tym smiesznym egzaminie?
@@overment Network Engineer - ostatnio tematy Dockerowe/Vagrantowe/Ansiblowe stały się w naszym środowisku mocno popularne. Jeszcze raz - dobra robota!
Subskrypcja wleciała od razu. Masz znakomity dar do przekazywania wiedzy w krótki ale konkretny sposób. Tematyka również ciekawa i poparta dobrymi przykładami. Tak trzymaj!
Robię dokładnie tak jak u Ciebie i przy docker run z komendą -v to zmiany przy nodemon mi się nie pokazują , doszedłem do takiego rozwiązania aby dodać po nodemon -L i teraz jak sam odświeżę stronę to dopiero zmiany są zauważalne. Jakiś pomysł aby zmiany automatycznie odświeżały stronę ?(Windows)
Jeśli chodzi o windows 7 należy zainstalować Docker Toolbox stąd docs.docker.com/toolbox/overview/ następnie w przeglądarce mamy dostęp do uruchomionego w następujący sposób obrazu docker run -p 3000:3000 overment/demo oraz w pliku Dockerfile mamy zdefiniowany port jako EXPOSE 3000 oraz server node jest uruchomiony na porcie 3000 w ten sposób app.listen(3000, (err) => {}); pod adresem który zwróci nam polecenie docker-machine ip przykładowo jest to adres ip: 192.168.99.100, a zatem nasz kontent znajduje się pod adresem 192.168.99.100:3000/. Jeśli chcemy mieć dostęp do naszego kontenera w przeglądarce pod adresem localhost:3000 musimy dodatkowo z mapować sobie adresy w virtualnej maszynie, a zatem otwieramy VirtualBox Menadżer -> ustawienia -> sieć -> zaawansowane -> przekierowanie portów -> i dodajemy następująca regułę -> IP hosta: 127.0.0.1 Port hosta: 3000 IP gościa: 192.168.99.100 Port gościa 3000
Mam mieszane uczucia co do tego dockera, niby sprawdza się to kiedy pracuje grupa nad projektem bo wiele osób ma te same „systemy” ale na ten moment nie będę go używać :) warto sobie sprawdzić i tak wiec dzięki i łapka w górę!
Nie wyobrażam sobie teraz pracy bez maszyn wirtualnych lub dockera - nawet w projektach które realizuję w pojedynkę. Także to chyba kwestia przekonania się :)
1. Dlaczego npm install nodemon dodajesz w docker file przed a nie po przeniesieniu package.json. Czy w tym przypadku ta zależność będzie uwzględniona w pliku ? 2. Dlaczego usunąłeś komendę node app.js. Czy teraz po zamknięciu i otworzeniu obrazu, aplikacja dalej będzie działać w każdym wypadku?. Czy komenda nie powinna wyglądać jako: `nodemon app.js` PS: Bardzo dobry poradnik i praktyczne wytłumaczenie obrazów. Niestety trochę mało bezpośrednio o kontenerach. Pozdrawiam
Cześć. Od jakiegoś czasu ogarniam Dockera do swojego developmentu. Do dej pory był Vagrant :). Muszę przyznać, że od początku mi coś nie pasowało w tej układance. Mam taki scenariusz.Mam nową maszynę do pracy i teraz lokalnie nic na niej nie mam. I pomyślałem w ten sposób: jeśli Docker jest taki fajny to nie będę instalował jakichkolwiek narzędzi oprócz dockera. Bo na przykład prosty projekt w Angularze wymaga: node, npm, angular cli - i utworzony projekt poprzez ng new 'nazwa projektu'. Żeby lokalne IDE 'widziało' zależności i podowiadało biblioteki muszę mieć je lokalnie. Wymyśliłem dla siebie taki workflow. Buduję obraz z tymi zależnościami do dev (powyżej). Potem uruchamiam obraz - (buduje cąłą apkę angular) - kopiuję cały projekt na lokalny katalog - i obraz kasuję. Następnie mam w docker compose wykorzystuję ten obraz do zbudowania kontenera w taki sposób jaki masz powyżej i montuję ten szablon aplikacji angular. W tym momencie nie mam lokalnie ani node, npm, angular cli itp. Czy coś w tym schemacie działania nie jest ok ? Proszę o radę. Repo z moim workflow wrzucę wieczorem - jakby ktoś chciał podejrzeć. Dzięki na kolejne świetne nagranie!
0:40 - wydaje mi sie, że użycie słowa „wirtualizowany” byłoby bardziej poprawne niż „emulowany”, bo chyba to nie to samo, choć, przyznam szczerze, technicznej różnicy nie znam. Ktoś bardziej doświadczony uściśli?
Mam takie może głupie pytanie. Czy Specjalnie tak akcentujesz zdania , czy może używasz syntezatora mowy? Nie przyczepiam się , tylko słyszałem już na youtube podobny styl mówienia na innych kanałach i zastanawia mnie to. Pozdro , oglądałem już kilka twoich odcinków i uważam robisz dobrą robotę. Dzięki
Nie no skąd :) To dość stary odcinek który nagrywałem nieco inaczej niż teraz. Nie zmienia to jednak faktu, że mówienie do mikrofonu przy próbie unikania przejęzyczeń, błędów itp. jest dla mnie sporym wyzwaniem. Poza tym dzięki 🙂
Mianowicie dzięki metodzie json obiektu response można sformatować zwrócone dane JSON, stosując dwie opcje: app.set ('json replacer', zamiennik); // reguły transformacji właściwości app.set ("spacje json", 2); // liczba spacji dla wcięcia Te dwie opcje są gromadzone i przekazywane do metody JSON.stringify ponieważ jej sygnatura wygląda tak JSON.stringify(object, replacer, space). Po wywołaniu tej metody metoda res.json() wywoła również res.send(), finalnie więc w tym konkretnym przypadku nie będzie różnicy w outpucie ale dobra praktyka pokazuje żeby używać metody json taka jest moja sugestia :)
@@overment dzięki za odpowiedź ! co Cię zmotywowało do kupna Appla :D Ja zaczynałem od Windowsa następnie Linux i nie wiem w sumie czy naturalną kolejnością jest przejście na macOS'a czy tylko ograniczenia systemowe wymuszają takie przejście :p
Prosta sprawa: potrzebowałem mobilnego sprzętu. Kupiłem macbooka a później nie było odwrotu - pracuje mi się na nim niesamowicie wygodnie i pomimo tego ze nadal mam PC z Windowsem (high-endowy sprzęt), pracuję wyłącznie na Macu.
lepiej zainicjalizować server w ten sposób : const PORT = process.env.PORT || 3000; app.listen(PORT, (err) => { if (err) throw err; console.log(`server is listening on port ${PORT}`); });
Podobał Ci się ten film? Upewnij się, że zobaczysz kolejne:
🔔 Subskrybuj mój kanał - ruclips.net/user/overment
📩 Zapisz się na newsletter: overment.com/newsletter
W dziwny sposób mówisz i jest to męczące
konkret materiał masz dar do przekazywania wiedzy w prosty, lakoniczny sposób bez zbędnego ględzenia
Dziękuję!
Mega mi się podoba Twój kanał, jak widzę filmy Twoje albo konkurencji to zawsze wolę Twoje, bo mega do celu zmierzasz bez marnowania czasu. Kozak
Z nieba mi spadłeś ! Dziękuje Ci ! Rób dalej to co robisz bo wychodzi Ci to zajebiscie !
Oglądałem różnych, Zelent, roman, samuraj, jednak narazie To Ty jesteś numer 1 :) Proszę o więcej
Dziękuję! Będzie więcej.
Chłopaki również robią niesamowitą robotę. Ja po prostu dokładam tutaj swoją cegiełkę :)
@@overment No może oprócz Zelenta XD
@@hqav1783 Krytykowanie zelenta to debilizm. Robi świetną robotę dla kogoś kto chciałby zaczerpnąć troche podstaw i stwierdzić czy to na pewno dla niego. Osoba, która wciągnie się w programowanie prędzej czy później znajdzie takie kanały jak overment, samuraj czy roman i nauczy sie konkretów. Niemniej jednak, dla typowego ucznia technikum, który gra w gierki i nigdy nie programował zelent jest na prawdę świetną opcją na start.
@@alienheartz9163 Tak, zwłaszcza po to żeby nauczyć się złych praktyk :)
@@tabloid64 czego ty nie rozumiesz? xd zelent robi content glownie dla uczniow by zdali egzaminy i mieli totalnie podstawowa wiedze, po co im dobre praktyki, skoro to nie ma znaczenia na tym smiesznym egzaminie?
Like należy się za sama datę dodania:)
00:00 Czym jest Docker
03:19 Dockerfile
04:48 Budowa obrazu (docker image)
05:10 Uruchmoić obraz (docker run)
05:45 Ciekawostka
Hej! Nie jestem webdeveloperem, a informacje w Twoim nagraniu okazały się totalnie przydatne :-).
Dzięki!
Z ciekawości: Czym się zajmujesz? :)
@@overment Network Engineer - ostatnio tematy Dockerowe/Vagrantowe/Ansiblowe stały się w naszym środowisku mocno popularne. Jeszcze raz - dobra robota!
Subskrypcja wleciała od razu. Masz znakomity dar do przekazywania wiedzy w krótki ale konkretny sposób. Tematyka również ciekawa i poparta dobrymi przykładami. Tak trzymaj!
Dobra robota!
mała uwaga: w pliku 'package.json' należy zmienić domyślny "main": "index.js" na użyty "main": "app.js"
Dzięki Marcin! Faktycznie nie zwróciłem na to uwagi 😉
Właśnie...
Dzięki! Jestem początkujący i nieźle na tym ugrzęzłem.
Dziękuję!
Ja również! 😉
Świetna robota, dzięki :)
Bardzo dobry materiał!
Robię dokładnie tak jak u Ciebie i przy docker run z komendą -v to zmiany przy nodemon mi się nie pokazują , doszedłem do takiego rozwiązania aby dodać po nodemon -L i teraz jak sam odświeżę stronę to dopiero zmiany są zauważalne. Jakiś pomysł aby zmiany automatycznie odświeżały stronę ?(Windows)
Jeśli chodzi o windows 7 należy zainstalować Docker Toolbox stąd docs.docker.com/toolbox/overview/
następnie w przeglądarce mamy dostęp do uruchomionego w następujący sposób obrazu docker run -p 3000:3000 overment/demo oraz w pliku Dockerfile mamy zdefiniowany port jako EXPOSE 3000 oraz server node jest uruchomiony na porcie 3000 w ten sposób app.listen(3000, (err) => {}); pod adresem który zwróci nam polecenie docker-machine ip
przykładowo jest to adres ip: 192.168.99.100, a zatem nasz kontent znajduje się pod adresem 192.168.99.100:3000/.
Jeśli chcemy mieć dostęp do naszego kontenera w przeglądarce pod adresem localhost:3000 musimy dodatkowo z mapować sobie adresy w virtualnej maszynie, a zatem otwieramy VirtualBox Menadżer -> ustawienia -> sieć -> zaawansowane -> przekierowanie portów -> i dodajemy następująca regułę -> IP hosta: 127.0.0.1 Port hosta: 3000 IP gościa: 192.168.99.100 Port gościa 3000
Czy można powiedzieć, że Docker działa na podobnej zasadzie jak środowiska wirtualne w Pythonie?
Mam mieszane uczucia co do tego dockera, niby sprawdza się to kiedy pracuje grupa nad projektem bo wiele osób ma te same „systemy” ale na ten moment nie będę go używać :) warto sobie sprawdzić i tak wiec dzięki i łapka w górę!
Nie wyobrażam sobie teraz pracy bez maszyn wirtualnych lub dockera - nawet w projektach które realizuję w pojedynkę.
Także to chyba kwestia przekonania się :)
1. Dlaczego npm install nodemon dodajesz w docker file przed a nie po przeniesieniu package.json. Czy w tym przypadku ta zależność będzie uwzględniona w pliku ?
2. Dlaczego usunąłeś komendę node app.js. Czy teraz po zamknięciu i otworzeniu obrazu, aplikacja dalej będzie działać w każdym wypadku?. Czy komenda nie powinna wyglądać jako: `nodemon app.js`
PS: Bardzo dobry poradnik i praktyczne wytłumaczenie obrazów. Niestety trochę mało bezpośrednio o kontenerach.
Pozdrawiam
Cześć. Od jakiegoś czasu ogarniam Dockera do swojego developmentu. Do dej pory był Vagrant :). Muszę przyznać, że od początku mi coś nie pasowało w tej układance. Mam taki scenariusz.Mam nową maszynę do pracy i teraz lokalnie nic na niej nie mam. I pomyślałem w ten sposób: jeśli Docker jest taki fajny to nie będę instalował jakichkolwiek narzędzi oprócz dockera. Bo na przykład prosty projekt w Angularze wymaga: node, npm, angular cli - i utworzony projekt poprzez ng new 'nazwa projektu'. Żeby lokalne IDE 'widziało' zależności i podowiadało biblioteki muszę mieć je lokalnie. Wymyśliłem dla siebie taki workflow. Buduję obraz z tymi zależnościami do dev (powyżej). Potem uruchamiam obraz - (buduje cąłą apkę angular) - kopiuję cały projekt na lokalny katalog - i obraz kasuję. Następnie mam w docker compose wykorzystuję ten obraz do zbudowania kontenera w taki sposób jaki masz powyżej i montuję ten szablon aplikacji angular. W tym momencie nie mam lokalnie ani node, npm, angular cli itp. Czy coś w tym schemacie działania nie jest ok ? Proszę o radę. Repo z moim workflow wrzucę wieczorem - jakby ktoś chciał podejrzeć. Dzięki na kolejne świetne nagranie!
0:40 - wydaje mi sie, że użycie słowa „wirtualizowany” byłoby bardziej poprawne niż „emulowany”, bo chyba to nie to samo, choć, przyznam szczerze, technicznej różnicy nie znam. Ktoś bardziej doświadczony uściśli?
Wreszcie docker!!!!
super materiał, dzięki
Super, czekałam na ten temat ;)
:) super!
Node że jest
Super poradniki - pytanie - co mam dać w referencji gdzie ty piszesz overment/demo?
Szymon Chowaniec cokolwiek chcesz. To po prostu oznaczenie.
Genialne :) Dziękuję
Dziękuję Ci również 😍
Zarąbisty poradnik. Btw jaki absurd, że akurat wrzuciłeś odcinek tego dnia, w którym szukałem tego w Google XDD
Mam takie może głupie pytanie.
Czy Specjalnie tak akcentujesz zdania , czy może używasz syntezatora mowy? Nie przyczepiam się , tylko słyszałem już na youtube podobny styl mówienia na innych kanałach i zastanawia mnie to. Pozdro , oglądałem już kilka twoich odcinków i uważam robisz dobrą robotę. Dzięki
Nie no skąd :) To dość stary odcinek który nagrywałem nieco inaczej niż teraz. Nie zmienia to jednak faktu, że mówienie do mikrofonu przy próbie unikania przejęzyczeń, błędów itp. jest dla mnie sporym wyzwaniem.
Poza tym dzięki 🙂
1:33 - po „vs” chyba nie powinno być kropki.
napiszesz materiał o docker compose ?
Zenon Chrobot tak, w następny poniedziałek.
W czym robisz te schematy / grafiki ?
Wszystkie w Photoshopie.
jeśli wysyłamy w odpowiedzi jsona to lepiej użyć natywnej metody json obiektu response czyli res.json({version: process.version});
Uzasadnisz proszę?
Mianowicie dzięki metodzie json obiektu response można sformatować zwrócone dane JSON, stosując dwie opcje:
app.set ('json replacer', zamiennik); // reguły transformacji właściwości
app.set ("spacje json", 2); // liczba spacji dla wcięcia
Te dwie opcje są gromadzone i przekazywane do metody JSON.stringify ponieważ jej sygnatura wygląda tak JSON.stringify(object, replacer, space). Po wywołaniu tej metody metoda res.json() wywoła również res.send(), finalnie więc w tym konkretnym przypadku nie będzie różnicy w outpucie ale dobra praktyka pokazuje żeby używać metody json taka jest moja sugestia :)
będzie odcinek o gulp 4.0?
Będzie - już jest nagrany. Potrzebuję kilku dni na obróbkę :)
na jakim sprzęcie Appla pracujesz ? :)
Na MacBooku Pro z 2017
@@overment dzięki za odpowiedź ! co Cię zmotywowało do kupna Appla :D Ja zaczynałem od Windowsa następnie Linux i nie wiem w sumie czy naturalną kolejnością jest przejście na macOS'a czy tylko ograniczenia systemowe wymuszają takie przejście :p
Prosta sprawa: potrzebowałem mobilnego sprzętu. Kupiłem macbooka a później nie było odwrotu - pracuje mi się na nim niesamowicie wygodnie i pomimo tego ze nadal mam PC z Windowsem (high-endowy sprzęt), pracuję wyłącznie na Macu.
Huawei Matebook D14 lepszy imho
Możliwe :)
to właśnie dockerowi bardziej pasuje opise, że emuluje OS. Wirtualna maszyna ma swój własny kernel i system operacyjny.
Leci w ciemno plusik !
Fajna ta czcionka :D Mogę prosić o nazwę?
Operator Mono :)
@@overment dziękuję ;)
Warto wspomnieć, że dla użytkowników Win10 w wersji home, niestety pozostaje tylko `legacy solution` Docker Toolbox :(
To prawda.
Ja sam już od dawna nie pracuję na Windowsie i trochę odkleiłem się od tego co się dzieje w tym systemie.
Jak by tak kurs z SF4 lub Laravela6, o mamo ! 😄
Chcesz Laravela 6? 🤔 😁
@@overment pewnie :) ale lepiej chyba Symfony 5 i jakąś aplikacje biznesową lub wstęp do takowej jako wisienka na torcie ;) Larvy wszędzie pełno :)
szybciej sie nie dalo ?
lepiej zainicjalizować server w ten sposób :
const PORT = process.env.PORT || 3000;
app.listen(PORT, (err) => {
if (err) throw err;
console.log(`server is listening on port ${PORT}`);
});
Od kiedy jesteśmy na ty?
docker jest trucizną
Bo ?
dlaczego?