Diskuze: Node.js chat aplikace
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Tahle problematika live chatu řešeného pomocí NodeJS mě taky dost
zajímá a zatím jsem na internetu nedohledal žádné materiály v češtině
(angličtinu moc dobře neovládám). Tzn. kdyby někdo ochotný třeba napsal i
nějaký seriál zde na ITN, tak bych to také dost ocenil. 
Ahoj, na serverovou část můžeš použít kódů z tutoriálů. Ty panely, záložky, to už je otázka frontendu. Na to bych použil asi nějaký hotový framework (ne jQuery), ale třeba Angular2, nebo React, nebo cokoliv jiného.
Ano, dejme tomu že si udělám celý chat který funguje. Jenže ten chat funguje jen když napíšu adresu např. localhost:3000. Tzn že nodeJS vygeneruje svojí celou novou stránku s chatem. Ale jak to mám pak dostat do toho jednoho chatovacího okna aby ten Node negeneroval celou tu stránku ale jen se to týkalo toho elementu?
jj, těch Anglických tutoriálů je plno. Mohl bych ty základy z
angličtiny přeložit sem na ITN. jenže to pokročilejší co mi dělá
problémy tu stejně nebude 
Tak se nebudeš připojovat na locahost, ale na předem definovanou adresu. Ten NodeJS server běží u nějakého poskytovatele, ten ti dá IP adresu a na tuhle adresu se budeš připojovat v klientovi.
Ahoj, tyto chaty jsou obvykle dělané přes websockety je to protokol k tomu určený (ws://) poskytuje totiž full-duplex komunikaci čili client můžeš posílat data na server ale i server může posílat data připojenému uživateli. K tvorbě takové aplikace se používá převážně Node.Js jako backend (server) client pak může být např. webová stránka nebo jakákoliv aplikace, která podporuje ws protokol.
Dokonce jsem zde o tomto napsal seriál, který pojednává o jednoduché knize návštěv, která funguje na principu realtime, tudíž uživatel přidá příspěvek do knihy a ten se přidá okamžitě i všem ostatním uživatelům - sice je tam implementace trochu odlišná nežli by jsi ty chtěl protože client svoje data neposílá rovnou přes ws protokol na server ale posílá je ajaxově na phpčko a phpčko (před odesláním data uloží do DB k pozdějšímu zobrazení) pomocí curlu posílá data na NodeJs server, který následně data pošle všem uživatelům.
Tím chci říct, že ta PHP část by tom vůbec nemusela být a client by
data mohl rovnou přes websockety poslat na server a vše by se mohlo dělat na
straně NodeJs ale jelikož mám rád PHPčko a rád s ním zpracovávám data
tak tam je
.
Teď se zaměřím na body, které si uvedl.
První bod už řeší princip websocketů, okénko si jednoduše uděláš v HTML, CSS a přes JavaScript do něj budeš vkládat zprávy, které přišli přes websockety. Adresu taky psát nemusíš, jelikož když se připojuješ přes ws protokol vždy musíš uvést na jaký server se chceš připojit. Takže např. přes JavaScriptovou knihovnu Socket.io se připojíš na server pomocí metody connect které do argumentů dáš adresu server v podobě stringu.
var socket = io.connect("localhost:3000");
shromažďování by šlo udělat na principu, že by se každá zpráva při odeslání socketu zároveň uložila do databáze.
Záložky lze udělat pomocí obyčejného JavaScriptu ale spíše doporučuji použít nějaký framework jako je Angular či Ember.JS nebo knihovnu jako je jQuery či React
Pokud by jsi potřeboval poradit tak mi neváhej napsat do zpráv
rád ti poradím.
Zobrazeno 7 zpráv z 7.
