• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ANGEL333node.js - Evented I/O for V8 JavaScript
    COLBEN
    COLBEN --- ---
    ahoj, libi se mi node.js tak si s nim trosku hraju a trosku vic jsem se zacal zajimat o javascript taky. chtel jsem se zeptat zda mate zkusenost s vyvojem cele business logiky v javascriptu (treba nejake aplikace typu eshop) ? trosku se bojim, ze javascript je sice super flexibilni, ale na vyvoj nejakyho backendu se preci jen spis hodi nejaky staticky typovany jazyk
    3108
    3108 --- ---
    coffescript 1.7 vonku, made my day:

    "Leading . now closes all open calls, allowing for simpler chaining syntax."
    KEEPER
    KEEPER --- ---
    SUCZKER: Diky, to by taky asi slo. Kazdopadne jsem to vyresil tak, ze jsem to napsal v jinym jazyce a neni problem :) Jinak pokud jsem v tom scriptu pouzival HTTPS spojeni, tak to zralo cca o 100% vic pameti nez HTTP.
    SUCZKER
    SUCZKER --- ---
    KEEPER: Uz to asi neni aktualni, ale mozna bych na to zkusil nejakej spawn / fork a cist si to pomoci sprosty pajpy, to by ti melo zajistit, ze ten hlavni proces neporoste.
    ALMAD
    ALMAD --- ---
    UETOYO: Vsechno pisem v CS, v cistym JS je jenom to co musi (tzn. prakticky nic, pripadne forky).

    Konzistence FTW. Mozna se to zmeni s novym EC a hlavne pokud "se" prosadi promise-based vyvoj.
    KEEPER
    KEEPER --- ---
    ALMAD: Tak jsem to prepsal do eventu. Bohuzel je to stejny. Nechal jsem ten script par hodin bezet a nakonec se narust pameti teda zastavil. Zkousel jsem to monitorovat pres Nodetime, roste hlavne RSS, ale po pravde nevim, co presne to pro me znamena :) Kazdopadne stejnej script napsanej v Ruby zabere max 25MB pameti a vic ani tuk.
    ALMAD
    ALMAD --- ---
    KEEPER: Ted si vybavuju, ze kdyz sem neco takovyho resil posledne, tak jsem skoncil u toho, ze jsem to prepsal na event emittery...to zabralo, protoze tam stoprocentne kontext nedrzis. U nas se to pak zvrhlo a konci to takhle, ale u tebe by to melo zustat nekomplikovany, protoze kdyz neprojde podminka, tak das setTimeout(function(){ emitter.emit('resume'); }, time);, coz uz by kontext fakt drzet nemelo.
    KEEPER
    KEEPER --- ---
    ALMAD: Diky, presne to jsem zkousel. V ty else vetvi jsem mel: process.nextTick(run). Pokud jsi tohle mel na mysli? Mozna ze jenom node je zravy a nekde se to nakonec zastavi? Zatim teda, co jsem to nechal bezet, tak spotreba pameti neustale rostla a to me prekvapilo, proto patram, jestli nekde neni chyba v kodu. Chtel jsem takovych scriptu poustet vic na slabym VPSku s malo RAM a jeste u toho mit Redis, ale takhle to moc nevypada, ze by to bylo realizovatelny :)
    ALMAD
    ALMAD --- ---
    KEEPER: Jeste na to koukam, nic nebindujes, takze by to leakovat nemelo...zkus jenom odstranit tu primou rekurzi a dat tam nextTick (=~ to samy jako setTimeout(fn, 0)
    KEEPER
    KEEPER --- ---
    ALMAD: handle error a process res je jen pseudo kod, aby to tam neprekazelo :) na gist jsem uplne zapomnel, uz jsem to tam preklopil: https://gist.github.com/anonymous/8407413

    Poradil bys prosim, jak se zbavit tech closures, aby tam nezustavalo nic viset a nepolykalo to pamet? Diky.
    ALMAD
    ALMAD --- ---
    KEEPER: ...a taky kdyz chces upravy tak doporucuju davat spis na gist, at se to jde forkovat.
    ALMAD
    ALMAD --- ---
    KEEPER: Yup, potrebujes se zbavit tech closures.

    Co ma BTW delat "process run" a "handle error"? ;)
    KEEPER
    KEEPER --- ---
    Zdravim, potrebuju vytvorit script, ktery by nepretrzite stahoval data (json) z url, max vsak jednou za 2s, abych nezahltil server. Zjednodusene jsem si to predstavoval nejak takhle:

    [JavaScript] var https = require('https'); var limit = 2 * 1000; function fetch(cb) { - Pastebin.com
    http://pastebin.com/F27dyNir

    Pokud tenhle script ale spustim, s kazdym requestem se zvysi pamet node processu, coz moc nenahrava tomu, ze by to melo bezet nonstop :) Predpokladam, ze to neni uplne normalni a nekde mam chybu. Mam takovy podezreni, ze to bude zpusobovat ta rekurze, ale nevim, jak to provyst jinak. Node mam 0.10.24.

    Predem diky za radu.
    ALMAD
    ALMAD --- ---
    Jsme jeden z nejranejsich uzivatelu node v CR. Hledame nove kolegy.

    Nekteri mozna neskonci primo v node.js, ale vzdycky budete zatracene blizko.

    Apiary — Jobs
    http://apiary.io/jobs
    VANGUARD
    VANGUARD --- ---
    Ahoj, hledám node.js developera na různé jednorázové zakázky pro jeden projekt co rozbíhám. Ideálně pokud by měl zájem o herní vývoj.
    První by byla rozběhnutí a konfigurace https://github.com/nodejitsu/node-http-proxy na virtuálním serveru.
    3108
    3108 --- ---
    EGGH: Ahoj, toto forum je o server-side javascripte, na svoj request skus [ client side scripts (JavaScript) ]

    kazdopadne to co chces urobit je viacmenej blbost, niektore prehliadace nativne blokuju window.open , lebo je to user hijack/spam metoda.
    Nepotrebujes otvorit viac ako prave 1 okno, urobit prave 1 redirect adt. ak ano, mas to zrejme spatne premyslene.
    EGGH
    EGGH --- ---
    Ahoj, snad jsem tu správně. Pokouším se vytvořit odkaz, na který když kliknu, tak se mi v prohlížeči otevře více oken s více stránkami. Např. když kliknu na odkaz, tak se mi otevře stránka seznam.cz, google.com, ebay.com, aukro.cz atd. Našel jsem na návod tady ale vždy se mi otevřou max. 2 linky i když jich tam mám 15 - prohlížeč opera. V IE se otevře jen první. V čem je chyba?
    ALMAD
    ALMAD --- ---
    Ten trade-off hard disk space / dependency hell je jedna z veci, co v node.js celkem ocenuju.

    Kdo si neuzival s rvm/virtualenv, ten mozna nevi ;)
    GDY
    GDY --- ---
    ve výsledku to tedy pak vypadá, že jsou balíky duplicitní (a určitě jsou), ale častokrát jeden balíček potřebuje nějaký jiný v jedné verzi a druhý zase chce verzi úplně jinou
    GDY
    GDY --- ---
    MARASAN: každý balík si řeší závislosti samostatně a tedy si je i instaluje k sobě do podsložek, jde hlavně o to, že se tím reflektuje vcelku překotný vývoj všech balíčků a hlavně jejich novějších verzí, kdy jedna verze už nemusí být kompatibilní s tou předchozí, dost často jde i o kompatibilitu se samotným node. Doporučovaná praxe: vše, co souvisí s projektem cpát do lokálních node_modules, globálně pak instalovat opravdu jen takové, které mají obecnou využitelnost (například grunt)
    Kliknutím sem můžete změnit nastavení reklam