Tornado

Programinė įranga Screenshot:
Tornado
Programinė detalės:
Versija: 4.3 Atnaujintas
Įkėlimo datą: 10 Dec 15
Kūrėjas: Facebook
Licencija: Nemokamai
Populiarumas: 144

Rating: 2.7/5 (Total Votes: 3)

Iš pradžių "Facebook" pastatytas naudojant PHP ir MySQL, bet kaip eismo ir dydžio tinkle padidėjo, taip ir padarė savo reikalavimus dėl geresnio ir greitesnio pristatymo turinį realiu laiku.

Tai paskatino "Facebook" komandą pasinerti į kitų technologijų ir kalbų ne PHP, ir bendrovė netrukus paaiškėjo, kad tai taikikliai Python, programavimo kalba Google naudojama kurti savo paieškos variklį.

iš komandos pastangų dėka į produktą, pavadintą Tornado, Python sistemą specialiai dirbti su žaliavų HTTP jungtis į paprastą asinchroninio ne blokuoti kelią.

"Tornado įkvėpė kitomis priemonėmis, pavyzdžiui, Web.py ir" Google "Web programa, bet taip pat apima papildomų funkcijų, taip pat.

Tuo visą sistemą centras gyvena galingą HTTP serverį, kurį dar labiau sustiprina modulių komplektą sprendžiant i18n turinį, styginių manipuliacijos, išėjimo kartos, asinchroninių operacijų, trečiosios šalies kodą, rąstų ir pan.

Be to Kasandra "Tornado" yra viena iš "Facebook" sėkmingiausių atvirų gaunami paraiškų iki šiol.

Kas naujo , šioje laidoje :

  • naujų modulių: tornado.locks ir tornado.queues

Kas naujo versijos 4.2:

  • Nauja moduliai: tornado.locks ir tornado.queues

Kas naujo versija 4.1:

  • tornado.web.stream_request_body dekoratorius leidžia didelius failus, kad būtų Įkelta ribotos atminties.
  • Coroutines dabar greičiau ir yra plačiai naudojami visame pati Tornado. Daugiau metodai dabar grįžti ateities, įskaitant daugumą iostream metodų ir RequestHandler.flush.
  • Daugelis naudotojo viršesni metodai dabar yra leista grįžti ateitį srauto kontrole.
  • HTTP susijusių kodas dabar dalijasi tornado.httpserver, tornado.simple_httpclient ir tornado.wsgi modulių, todėl paramą funkcijų, tokių kaip chunked ir gzip kodavimas nuosekliau. HTTPServer dabar naudoja naujų deleguoti sąsajas apibrėžtus tornado.httputil be jo senas vieno atgalinio ryšio sąsaja.
  • Nauja modulis tornado.tcpclient sukuria TCP ryšius su ne blokuoti DNS, SSL Patvirtinimas ryšio ir paramos IPv6.

Kas naujo versijos 3.2.2:

  • XSRF raktas dabar koduotas atsitiktinių kauke ant kiekvieno pageidavimą. Tai daro tai saugu įtraukti suspausto puslapiuose be pažeidžiami pažeidimo ataka. Tai taikoma daugelyje programų, kurios naudoja tiek xsrf_cookies ir gzip galimybes (ar gzip įgaliotinis taikoma).
  • Jei Tornado 3.2.2 paleisti tuo pačiu metu, kaip ir senesnės versijos tame pačiame domene, yra šiek tiek problemų su skirtingų versijų slapukų potencialą. Prašymas nustatymas xsrf_cookie_version = 1 gali būti naudojamas pereinamuoju laikotarpiu generuoti senesnę slapukų formatą naujesnių serverių.
  • tornado.platform.asyncio dabar suderinama su Trollius 0.3 versijos.

Kas naujo versijos 3.2.1:

  • pasirašyta vertės formatas, naudojamas RequestHandler.set_secure_cookie ir RequestHandler.get_secure_cookie pasikeitė būti saugesnis. Tai yra pralaužiantis pokytis. Į secure_cookie funkcijos imtis naujos redakcijos parametrus remti perėjimą tarp slapukų formatus.
  • Naujas slapukas formatas yra nustatytas pažeidžiamumas, kuris gali būti pateikti į programų, kurios naudoja kelis slapukus, kai vieno slapuko vardas yra iš kito vardo prefiksas.
  • Jei norite mažinti sutrikimų, sausainiai vyresnio formatu bus priimtas pagal nutylėjimą, kol baigiasi jų galiojimo laikas. Programos, kurios gali būti pažeidžiami, galėtų atmesti visus vyresnio formatu slapukus artimųjų min_version = 2 RequestHandler.get_secure_cookie.

Kas naujo versijos 3.2:

  • Nauja programa nustatant default_handler_class gali būti naudojamas lengvai sukurti pasirinktinį 404 puslapiai.
  • Nauja programa nustatymai autoreload, compiled_template_cache, static_hash_cache ir serve_traceback gali būti naudojamas kontroliuoti atskirus aspektus debug režimu.
  • Nauja metodai RequestHandler.get_query_argument ir RequestHandler.get_body_argument ir nauji atributai HTTPRequest.query_arguments ir HTTPRequest.body_arguments suteikti prieigą prie argumentų be susimaišymas tiems iš užklausos eilutę su tais, nuo prašymo kūno.
  • RequestHandler.decode_argument ir susijusios metodai dabar kelti HTTPError (400) vietoj UnicodeDecodeError kai argumentas negalėjo būti atkoduoti.
  • RequestHandler.clear_all_cookies dabar priima domenų ir kelias argumentus, kaip ir clear_cookie.
  • Tai dabar galima nurodyti tvarkytojams pagal pavadinimą, kai naudojate URLSpec klasę.
  • Taikymas dabar priima 4-kortežą nurodyti vardą parametrą (kuris anksčiau reikėjo statyti URLSpec objektą vietoj kortežą).
  • Ištaisyta neteisinga klaidos pranešimas, kai prižiūrėtojas metodai grąžina reikšmę, išskyrus Nėra arba ateityje.
  • Išimtis nebebus prisijungęs du kartus, naudojant tiekasynchronous ir @ gen.coroutine.

Kas naujo 3.1 versija:

  • Daug pagalbos ciklai buvo suskaidytas visoje paketą, todėl efektyviau šiukšlių rinkimo CPython.
  • nutildyti kai rąstinius pranešimus, kai jungtys atidaromos ir nedelsiant uždaryti (pvz uosto nuskaito) arba kitas situacijas, susijusias su uždarytais jungtys.
  • Įvairūs maži speedups: HTTPHeaders atveju normalizavimas, UIModule proxy objektus, precompile kai įpraiškas
  • .

Kas naujo versijos 3.0.2:

  • tornado.auth.TwitterMixin dabar pagal nutylėjimą versija 1.1 iš Twitter API, vietoj 1.0 versijoje, kuri yra nutrauktas birželio 11 Taip pat dabar naudoja HTTPS kai kalbame "Twitter".
  • Ištaisyta potencialų Atminties nutekėjimas, turintis ilgą grandinę gen.coroutine arba gen.engine funkcijų.

Kas naujo 3.0 versijoje:

  • `` callback`` argumentas daugeliui asinchroninių metodų dabar yra neprivalomi, o šie metodai grąžina `.Future`. `Tornado.gen` modulis dabar supranta` `Futures``, ir šie metodai gali būti naudojami tiesiogiai be` .gen.Task` įvynioti.
  • Nauja funkcija ".IOLoop.current` grąžina` .IOLoop`, kuriame veikia apie dabartinę temoje (o ne ".IOLoop.instance`, kuri grąžina konkretaus sriegis anketa (paprastai pagrindinė tema anketa) IOLoop.
  • NAUJUOSE `tornado.netutil.Resolver` suteikia asinchroninis sąsają DNS.
  • NAUJUOSE `tornado.process.Subprocess` apsiaustas" subprocess.Popen` su ".PipeIOStream` susipažinti su vaiko byla aprašais.
  • `.IOLoop` dabar turi statinį` configure & # x3c; .Configurable.configure & # x3e; "metodas kaip vienas ant` .AsyncHTTPClient`, kuris gali būti naudojamas pasirinkti `.IOLoop` įgyvendinimą kitą nei numatytoji. * `.IOLoop` Dabar gali pasirinktinai naudoti monotoniška laikrodį, jei yra.

Kas naujo versijos 2.4.1:

  • Ištaisyta atminties nutekėjimas tornado.stack_context, kad buvo ypač tikėtina su ilgai veikia @ gen.engine funkcijų.
  • tornado.auth.TwitterMixin dabar veikia Python 3.
  • Ištaisyta klaida, kurioje IOStream.read_until_close su transliacijos perskambinti būtų kartais perduoti paskutinį riekė duomenų iki galutinio perskambinti vietoj transliacijos atg.

Kas naujo versijos 2.4:

  • Fiksuoti Python 3 riktai tornado.auth, tornado.locale ir tornado.wsgi.
  • OAuthMixin dabar priima & quot; OOB & quot; kaip callback_uri.
  • OpenIDMixin dabar taip pat grąžina claimed_id sąlygas vartotojui.
  • tornado.platform.twisted išjungimo seką dabar yra suderinama.
  • medienos ruoša konfigūracija naudojama tornado.options dabar yra labiau tolerantiški ne ASCII stringais.

Kas naujo versijos 2.3:

  • `tornado.httpclient.HTTPClient` dabar palaiko tą patį konstruktorius vardinius argumentus kaip "AsyncHTTPClient`.
  • `` max_clients`` raktažodis argumentas "AsyncHTTPClient.configure` dabar dirba.
  • `tornado.simple_httpclient` dabar palaiko` `` `OPTIONS`` ir PATCH`` HTTP metodai.
  • `tornado.simple_httpclient` geriau apie uždarymo pakojus o ne palikti juos šiukšlių surinkimo.
  • `tornado.simple_httpclient` teisingai patikrina SSL sertifikatus URL, kuriuose yra IPv6 literał (Ši klaida įtakos Python 2.5 ir 2.6).
  • `tornado.simple_httpclient` nebėra pagrindines valdžios įgaliojimai į` `Host`` antraštę, kai tie įgaliojimai yra išgauti iš URL.
  • `tornado.simple_httpclient` nebėra keičia skambintojo tiekiamas antraštės žodyną, kai po peradresavimus, kuri sukelia problemų.
  • `tornado.curl_httpclient` dabar palaiko kliento SSL sertifikatus (naudojant tą pačią` `` `client_cert`` ir client_key`` argumentus kaip" tornado.simple_httpclient`.

Kas naujo versijos 2.2.1:

  • Apsaugos pataisymai: "
  • `tornado.web.RequestHandler.set_header` dabar tinkamai sanitizes įvesties verčių, siekiant apsisaugoti nuo antraštės injekcijos, atsako skaidymo, ir tt (ji visada stengėsi tai padaryti, tačiau patikrinimas buvo neteisingas). Atkreipkite dėmesį, kad nukreipimus, labiausiai tikėtina šaltinis tokių klaidų, yra apsaugotas atskiru įsiregistravimo `RequestHandler.redirect`.
  • Klaidų pataisymai: "
  • Spalvotas medienos ruoša konfigūravimas "tornado.options` yra suderinama su Python 3.2.3 (ir 3.3).

Kas naujo 2.2 versija.

  • Atnaujinta ir išplėsta WebSocket parama;
  • Geresnis suderinamumas vytos / Tornado tilto.
  • Šablonų klaidų dabar geresni kamino pėdsakus.
  • Geriau išimtis tvarkymo `tornado.gen`.

Kas naujo versijos 2.1.1:

  • Klaidų pataisymai: "
  • Fiksuotas tvarkymas uždaryti jungčių su `` epoll`` (pvz Linux) `` IOLoop``. Anksčiau, uždaras jungtys gali būti uždaryta per anksti, kurios dažniausiai pasireiškia kaip & quot; Stream "yra uždaryta & quot; išimtys `` SimpleAsyncHTTPClient``.
  • Ištaisyta byla, kurioje chunked atsakymai gali būti uždarytas anksčiau, todėl sutrumpintas produkcija.
  • `` IOStream.connect`` dabar ataskaitos klaidų nuosekliau per medienos ruoša ir glaudžiai perskambinti (tai turi įtakos pvz prijungti localhost FreeBSD).
  • `` IOStream.read_bytes`` vėl priima tiek `` `` int`` ir long`` argumentus.
  • `` PeriodicCallback`` nebėra veikia nuolat, kai `` IOLoop`` iteracijų užbaigti greičiau nei `` time.time () `` (daugiausia Windows problemos) rezoliucija.

Kas naujo versijos 2.1.0:

  • Diginotar buvo ištrintas iš numatytojo CA sertifikatų failą naudojamas "SimpleAsyncHTTPClient`
  • Jei norite palengvinti kai kurių pažangių kelių procesų scenarijus `` HTTPServer`` turi naują metodą `` add_sockets`` ir lizdas-atidarymo kodas įsigyti atskirai kaip "tornado.netutil.bind_sockets`.
  • Parama saugių slapukus parašytų anksto-1.0 išleidžiamus Tornado buvo ištrintas.
  • Langai parama buvo patobulinta.

Kas naujo versijos 2.0.0:

  • Pagrindiniai pokyčiai:
  • Šablonas išėjimas automatiškai pabėgo pagal nutylėjimą.
  • Numatytasis AsyncHTTPClient įgyvendinimas dabar simple_httpclient.
  • Python 3.2 dabar palaikoma.
  • atgalinio suderinamumo:
  • Šablonas autoescaping yra įjungta pagal nutylėjimą. Programos atnaujinimas iš ankstesnės išleidimo Tornado turi arba išjungti autoescaping arba pritaikyti savo šablonus su juo dirbti. Daugumai programų, paprasčiausias būdas tai padaryti yra perduoti autoescape = Nieko prie paraiškos konstruktorius.
  • Programos, kurios nori toliau naudoti curl_httpclient vietoj simple_httpclient gali padaryti paskambinę AsyncHTTPClient.configure (& quot; tornado.curl_httpclient.CurlAsyncHTTPClient & quot;) ties proceso pradžioje. Vartotojai Python 2.5 tikriausiai norėsite naudoti curl_httpclient kaip simple_httpclient palaiko tik SSL Python 2.6 +.
  • Python 3 suderinamumas dalyvauja daug pokyčių visoje codebase, todėl vartotojai yra skatinami daugiau kruopščiai nei įprasta išbandyti savo paraiškas, kai atnaujinate šioje laidoje.
  • Kitos pokyčiai versija 4.1:
  • Šablonai paremti keletą naujų direktyvų: - {% autoescape ...%} kontroliuoti pabėgti elgesį - {% žalio ...%} nebuvo išeita produkcijos - {% modulio ...%} šaukimo UIModules * {% modulis Šablonų (kelias, ** kwargs)%} dabar gali būti naudojami skambinti kitam šabloną su nepriklausomu vardų.
  • Visi iostream šios funkcijos dabar paleisti tiesiai ant IOLoop per add_callback.
  • HTTPServer dabar palaiko IPv6 kur įmanoma. Norėdami išjungti, perduoti šeimos = socket.AF_INET į HTTPServer.bind ().
  • httpclient dabar palaiko IPv6 konfigūruojama per allow_ipv6 = bool dėl HTTPRequest.
  • allow_ipv6 numatytuosius false ant simple_httpclient ir tiesa apie curl_httpclient.
  • RequestHandlers galite naudoti koduotę išskyrus UTF-8 už užklausos parametrus privalomaisiais decode_argument ().
  • Performance patobulinimų, ypač programų, kurios naudoja IOLoop daug praėjęs laikas.
  • HTTP GALIMYBĖS metodas nebėra reikalingas XSRF raktą.
  • JSON išvestis (RequestHandler.write (dict)) dabar rodo Content-Type taikymu / JSON.
  • ETAG skaičiavimo dabar gali būti pritaikytas arba išjungtas privalomaisiais RequestHandler.compute_etag.
  • USE_SIMPLE_HTTPCLIENT aplinkos kintamąjį nebepalaikoma. Naudokite AsyncHTTPClient.configure vietoj.

Kas naujo versijos 1.2.1:

  • Ši laida yra tik du nedidelius pakeitimus santykinius versija 1.2:
  • FacebookGraphMixin buvo atnaujintas dirbti su neseniai keitimas į Facebook API.
  • Running & quot; & quot įdiegti setup.py; nebebus bandys automatiškai įdiegti pycurl. Tai nebuvo gerai veikia platformų, kur geriausias būdas įdiegti pycurl Via kažką panašaus apt-get vietoj easy_install. Tai svarbus atnaujinti, jei jūs naudojate FacebookGraphMixin, bet kitaip jis gali būti saugiai ignoruoti.

Kas naujo versijos 1.2.0:

  • Ši laida apima atgal nesuderinamas saugumo pokytis nuo versija 1.1.1.
  • Jei norite skaidriai pakeisti tornado.httpclient.AsyncHTTPClient su šiuo nauju įgyvendinimo, galite nustatyti aplinkos kintamąjį USE_SIMPLE_HTTPCLIENT = 1
  • Prašymas medienos ruoša yra dabar daroma pagal aplikacijas, o ne RequestHandler. Prisijungimas elgesys gali būti pritaikytas bet kuri privalomais Application.log_request į poklasio arba artimųjų log_function kaip nurodantį prašymą.

Kas naujo Versija 1.1.1:

  • Tornado 1.1.1 yra ATGAL nesuderinamas saugumas naujinimas išsprendžia žinutę XSRF pažeidžiamumą.

Kas naujo 1.1 versijoje:

  • Pokyčiai: "
  • RequestHandler.async_callback ir susijusios funkcijos kitų klasių nebereikia daugeliu atvejų (nors tai nekenksmingas toliau
  • juos naudojant). Dabar nieprzechwycony išimtys sukels prašymas turi būti uždarytas net perskambinti. Jei įdomu, kaip tai veikia, pamatyti naują tornado.stack_context modulį.
  • Naujas tornado.testing modulyje paramą vieneto bandymai asinchroninis IOLoop įsikūrusio kodą.
  • AsyncHTTPClient buvo perrašyta (naujas įgyvendinimas buvo prieinama kaip AsyncHTTPClient2 Tornado 1,0; abu pavadinimai yra palaikomas atgal
  • suderinamumas).
  • tornado.auth modulis turėjo naujienas skaičių, įskaitant paramą OAuth "2.0 ir" Facebook "Graph API, ir modernizavimas" Twitter "ir" Google "paramos OAuth 1.0a.
  • websocket modulis yra atgal ir palaiko naujausią versiją (76) websocket protokolą. Atkreipkite dėmesį, kad šis modulis sąsaja skiriasi nuo websocket modulis, kuris pasirodė iš anksto 1,0 versijų Tornado.
  • Nauja metodas RequestHandler.initialize () gali būti nepaisoma į poklasius supaprastinti tvarkymo argumentus iš URLSpecs. Metodų seka vadinama iniciacijos metu yra registruojamas http://tornadoweb.org/documentation#overriding-requesthandler-methods
  • get_argument () ir atitinkamų metodų, šiuo metu dirba apie Įdėkite prašymus papildomai skelbti pranešimams.
  • httpclient modulis dabar palaiko HTTP proxy.
  • Kai HTTPServer paleisti SSL režimu SSL Handshake dabar ne blokuoti.
  • Daugelis mažesnių pataisymai ir dokumentacijos atnaujinimus
  • Praėjusio-Suderinamumo pastabos:
  • Nors dauguma vartotojų Tornado neturėtų elgtis su stack_context modulio tiesiogiai, vartotojai darbuotojo siūlų baseinais ir panašių konstruktų gali tekti naudoti stack_context.wrap ir / arba NullContext išvengti Atminties nutekėjimas.
  • Naujas AsyncHTTPClient vis dar veikia su libcurl versija 7.16.x, tačiau ji veikia geriau, kai abu libcurl ir pycurl yra bent versija 7.18.2.
  • Oauth sandoriai pradėjo pagal ankstesnes versijas autorizacijos modulis negali būti užbaigtas pagal naująjį modulį. Tai taikoma tik pradinio leidimo procese; kai įgaliotas raktas išduodamas, kad raktas veikia su bet versija.

Reikalavimai :

  • Python 2.6 arba naujesnė versija;

Panaši programinė įranga

Decanter
Decanter

13 Apr 15

Nib
Nib

1 Mar 15

Walrus
Walrus

13 Apr 15

Aura
Aura

1 Mar 15

Kita programinė įranga kūrėjas Facebook

Facebook
Facebook

15 Dec 14

Draft.js
Draft.js

18 Jul 16

Komentarai Tornado

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!