Diskuze: Paměť (serveru) pro proměnné
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 18 zpráv z 18.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
V čem to přesně děláš?
Jak to jede na serveru?
Kde to vypisuješ?
JS může jednoduše ukládat data přímo do prohlížeče uživatele. Slouží k tomu LocalStorage, SessionStorage, nebo Cookies, tebe bude asi zajímat LocalStorage.
// Ulož do LocalStorage
localStorage["jmenoUloziste"] = data;
// Načti z LocalStorage
data = localStorage["jmenoUloziste"];
Tedy string můžeš uložit takto:
// Ziskam string a ulozim si ho do promenne 'data'
data = "...";
// Ulozim si data
localStorage["slovicka"] = data;
// O nekolik dni pozdeji
// Pri nacteni stranky: chci nacist data, co jsem si ulozil
var data = localStorage["slovicka"];
// Ted tam mam presne to, co jsem ukladal.
// Edit: předpokládám, že to jede u klienta. V opačném případě by se na to asi muselo trochu jinak
pokial chces ukadat udaje na strane servera, tak javascript by som nepouzil,
je to vacsinou jazyk na strane klienta (browsera), aj ked existuje technika na
pouzitie na serveri.
v tomto pripade sa skus poobzerat po inom jazyku, co dokaze ukladat na serveri
(napr. ASP, PHP) a najlepsie pridaj do toho aj nejaku databazu
Jenže toho místa není zas tak moc. A pokud je to velký string, tak nemusí stačit.
Všem vám moc děkuji za rady!
O localStorage jsem nevěděla a prozatím to řeší můj problém.
www.w3schools.com/…bstorage.asp
podle uvedeného odkazu tam je prostor 5MB, Což mi pro začátek postačí.
Jinak, když už jsem do toho problému zainteresovala tolik výborně orientovaných lidí, tak jak ten problém řešit v případě toho serveru ( v PHP či ASP)? Je to mnohem složitější?
Nejdříve bys musela rozchodit server, což už jenom to je (hlavně v případě ASP) na malý projekt poměrně zbytečné, když to jde jednoduše udělat v JS.
Server by musel buďto ukládat data do cookies (což si můžeš představit jako localstorage, jenom by do něj přistupoval server), nebo rovnou do databáze, což je už opravdu na zkoušení slovíček overkill.
Moje rada je, abys to vyzkoušela v JS, což je ta nejjednodušší a nejrychlejší metoda. Pokud to chceš dělat přes server, bude to mnohem zdlouhavější, nehledě na to, že budeš ještě muset nějak hostovat.
Samozřejmě, že lze s JS pracovat lokálně na úrovni serveru
Stačí nainstalovat https://nodejs.org/en/
A pak z příkazové řádky - node script.js
A rázem máte přístup z JS k plnému filesystemu a můžete ukládat co
chcete a kam chcete.
Není potřeba žádný webový server.
Btw. v JS je jedno jestli je to string, nebo int nebo třeba rohlík,
jelikož je dynamicky typovaný.
Kdbych se chtěl učit slovíčka takovýmto zbytečně komplikovaným
způsobem, tak bych si alespoň někde vedle udělal pole objektů:
[ {
"cz":"pes",
"aj":"dog"
},
{
"cz":"slunce",
"aj":"sun"
}
]
Abych se vyhnul manipulaci s jedním obrovským stringem.
String je na to v princípe najmenej vhodný. Už len preto, že stringy sú immutable - ty nedopĺňaš slovíčka stringu, vlastne zakaždým vytváraš nový. Čo v princípe nevadí, RAM tým nespotrebuješ, o ten starý sa zakaždým postará garbage collector. Len je to prinajmenšom neefektívne. Použi pole, objekt, prípadne mapu či set ak je to možné. Len nie string. A na ukladanie v prehliadači použi localStorage. Tam je miesta dosť, A NIE JE TO 5MB...
Server v .NET má ve finále menší počet řádek, než ten v JS. http://nancyfx.org/ + jako bonus, to není jazyk na ´´urovni roku 1999.
Pokud by bylo potreba udelat server, souhlasim s tim, ze ASP.net je lepsi volba, ale pro procvicovani slovicek se mi to zda zbytecne, tam staci trocha javascriptu na strane klienta.
Pokud jde o muj prispevek, to jsem napsal ponekud nestastne, omlouvam se za to, neni jasne, co myslim. Nemyslel jsem JS na strane serveru, ale myslel jsem, ze ASP server je na takovou malou aplikaci overkill, staci bohate JS na strane klienta.
Tak to si dal fakt príklad krátkozrakého pohľadu na vec. Čo sa efektivity týka, je na tom node server ďaleko lepšie ako .net server. Podľa mňa by nebol problém nájsť hardvérovú zostavu na ktorej rozbehám linux + node a obslúži mi tisíce klientov, zato .net server sa na tú konfiguráciu odmietne čo len nainštalovať. A samozrejme, že na tom node pôjde ES7, nie ES3, čiže žiadne také že jazyk na úrovni 1999...
Presne to som mal na mysli, preto som predtým server ani nespomínal. Riešenie pre ňu vyzerá byť single page application, ani by som do toho server neťahal - preto som spomínal localstorage.
Koukám, že jsi asi úplně mimo Ale já budu tak hodný, že tě z té hlouposti vyvedu.
Tak to vezmeme postupně:
Samotný výkon:
http://benchmarksgame.alioth.debian.org/…/compare.php?…
Propustnost:
Můžeš se přesvědčit sám, pokud tomu nevěříš.. já jsem to testoval na
linuxu a moje výsledky byly hodně podobné těm oficiálním:
https://github.com/…t/benchmarks
.NET Core je 3x - 12x propustnější než NodeJS.
Poslal bych ti ještě jeden, který by sis mohl sám spustit a zjsitil by
si, na jak primitivní věc potřebuje nejnovější V8čka 2GB paměti,
zatímco .NET si vystačí s 47MB, ale už bys brečel
A ES7 je na úrovni jazyka z roku 1999.. Ono taky.. né NADARMO je javascript
považován za ideální případ toho největšího odpadu mezi jazyky Za mišmaš těch nejhorších
rozhodnutí.. A to, že nabalili v ES7 věci, které mají ostatní jazyky 10let
na tom nic nezmění
Ono se stačí kouknout do V8čky jak byl třeba naimplementován nedávno
LET ve foru, který způsoboval to, že zatímco s var trval for 1sec, tak s
LETem 400sec a hned člověk pochopí, jaký odpad to je Ale chápu, že pokud nic jiného
neumíš, do nedávna si posouval javascriptem DIVy po stránce a najednou jsi
"full stack programátor", tak jsi jednooký..
Tak co mi na to povíš nyní?
Jinak s tou instalací si mě pobavil, jelikož zrovna dnes jsem stahoval na
5 počítačů z ofic stránek node.js a ten balíček byl tak kvalitně
udělaný, že NPM nainstaloval bez 36 nutných balíčků, takže nešlo
nainstalovat žádný balíček, protože NPM crashovalo
Tolik k tomu "nepodařilo by se mi to nainstalovat" (y)
Ďakujem, že si tak "hodný" a podujal si sa priviesť na pravú vieru ďalšieho "hlupáka". Ale myslím, že by si mal zmeniť tón. Lebo s takýmto útočným prejavom, znevažovaním a urážaním ľudí čo neprogramujú na Tvojej "jedinej pravej platforme, v jedinom pravom jazyku", tu rýchlo budeš hlupáka akurát tak ty sám... Navyše, Tvoje argumenty potvrdili Tvoju krátkozrakosť. Zrovnávaš hrušky s jablkami a to, že jablko nie je hruška, predkladáš ako dôkaz toho, že hruška chutí najlepšie. Lebo to, čo chutí Tebe, má tú jedinú, správnu chuť... Ale v poho. Síce ma žiadny test nepresvedčí, že má Kestrel nižšiu latenciu ako Node, že efektívnejšie obslúži viac klientov, ale v pohode, zotrvávaj si vo svojom presvedčení. No a nakoniec ... nie je náhodou Net technológia zúfalým pokusom MS konkurovať Jave? Zdá sa mi, že kvôli jej popularite sa MS rozhodol zas niečo okukať a urobiť po svojom... A nebol to Node, jeho princíp a popularita, ktorú sa MS pokúša s Core napodobniť a dobehnúť? Nedivil by som sa keby to tak bolo... Ale popravde, čo ja viem. Ja len 15 rokov na webstránkach kde-tu hýbem div-my a hrám sa na fullstack programátora... Čo dodať Sherlock, keď vieš všetko lepšie a ešte ma aj poznáš lepšie ako ja sám. Snáď len ... nie som fullstack programátor. Neznášam to slovo. A nikoho zaň nepovažujem. A Teba konkrétne už vôbec nie. Howgh.
Ok, napsal si jen samé hlouposti, takže ztrácím zájem s tebou komunikovat. Kromě toho, že jsi řekl asi tak - 1000 argumentů a jediné na co si se zmohl je "žádný test mě nepřesvědčí" a "srovnáváš jabka s hruškama".
Ale potvrdil si, že hýbeš těma DIVama Tak pokračuj.
Ještě pro tvoji informaci, já s JS a Nodem dělám denně a tak nějak tuším, že s ním mám více zkušeností, než si myslíš.
Zobrazeno 18 zpráv z 18.