Forum » Programiranje » programerska paradigma - WTF?
programerska paradigma - WTF?
slitkx ::
asynchronous and event driven programming paradigm - kaj za vraga je paradigma pri programiranju, v kontekstu AMPS frameworka?
AMPS = Asynchronous Middleware for Protocol Servers
Ne vem, kako naj si to razlagam, moram pa vedeti zaradi diplomske naloge.
Če pomaga - AMPS je programersko okolje (ogrodje), namenjeno pisanju sintakse delovanja HSS (Home Subscriber Server).
AMPS = Asynchronous Middleware for Protocol Servers
Ne vem, kako naj si to razlagam, moram pa vedeti zaradi diplomske naloge.
AMPS...
...Provides extensive support for asynchronous and event driven programming
paradigm specifically tailored for writing protocol servers for networking and
telecommunication domains.
Če pomaga - AMPS je programersko okolje (ogrodje), namenjeno pisanju sintakse delovanja HSS (Home Subscriber Server).
- spremenil: slitkx ()
slitkx ::
Še nekaj vprašanj...
The Home Subscriber Server (HSS) is written using the AMPS framework, which is an Asynchronous Event Based framework that provides following advantages...
AMPS = Asynchronous Middleware for Protocol Servers => Kako bi prevedli zgornji stavek? Kako pomen kratice AMPS vpeti v logičen stavek?
In pa 'Asynchronous Event Based framework'?
Prevedel sem takole (je ok?):
Morda je prevedeno napačno, ker nisem domač v programiranju in si kak izraz napačno razlagam. Za 'middleware' sem pa našel le ta prevod, 'vmesna oprema'.
Pa še tole... => 'asynchronous and event driven programming paradigm'
Glede na to, da je pojem 'paradigm' zgoraj že pojasnjen, je pravilen prevod 'asinhrono in dogodkovno obravnavan programerski pristop'?
The Home Subscriber Server (HSS) is written using the AMPS framework, which is an Asynchronous Event Based framework that provides following advantages...
AMPS = Asynchronous Middleware for Protocol Servers => Kako bi prevedli zgornji stavek? Kako pomen kratice AMPS vpeti v logičen stavek?
In pa 'Asynchronous Event Based framework'?
Prevedel sem takole (je ok?):
Sintaksa delovanja HSS je napisana v načrtovalno-programerskem okolju, namenjenem asinhroni vmesni opremi za protokolne strežnike (AMPS). To ogrodje temelji na asinhronih dogodkih in sledeči prednosti...
Morda je prevedeno napačno, ker nisem domač v programiranju in si kak izraz napačno razlagam. Za 'middleware' sem pa našel le ta prevod, 'vmesna oprema'.
Pa še tole... => 'asynchronous and event driven programming paradigm'
Glede na to, da je pojem 'paradigm' zgoraj že pojasnjen, je pravilen prevod 'asinhrono in dogodkovno obravnavan programerski pristop'?
Zgodovina sprememb…
- spremenil: slitkx ()
noraguta ::
asinhron gotov ni slovnesk če si purist, mogoče "časovno nusklajen" al pa podomače nenataknje. dej probi andeja bauerja nadlegvat on se mal stemi sferami že encajt ukvarja pri nas pa bi znu bit brihtn.
Pust' ot pobyedy k pobyedye vyedyot!
noraguta ::
druzga ni kt brskanje po narejenih diplomah. strokovnjak za prevode pa tudi nisi. tako , da se ne sekiraj. dej omejit iskanje na googletu po pdfjih pa ključne besede not matrej pol pa če najdeš kaj podobnega kul , čene pa pusti. ker včasih marketing nabluzi svoje , mi svoje teoretiki tretje. predstavlej si cilno publiko tudi v končni fazi.
Pust' ot pobyedy k pobyedye vyedyot!
slitkx ::
O HSS ni kaj dosti gradiva, o njegovi arhitekturi pa še manj. Ta dokument sem našel bolj po čudežu.
http://advancedims.com/Docomentation/HS...
http://advancedims.com/Docomentation/HS...
Zgodovina sprememb…
- spremenil: slitkx ()
morbo ::
Pa še tole... => 'asynchronous and event driven programming paradigm'
Glede na to, da je pojem 'paradigm' zgoraj že pojasnjen, je pravilen prevod 'asinhrono in dogodkovno obravnavan programerski pristop'?
Neusklajen in dogodkovno naravnan programerski pristop
Ok, neusklajen je mogoče iskanje dlake v jajcu (v raznih slo knjigah se synchronizing prevaja kot usklajevanje), ampak 'driven' pomeni gnan, kar se sliši čudno itak - je pa naravnan boljši nadomestek za gnan kot obravnavan.
noraguta ::
Pa še tole... => 'asynchronous and event driven programming paradigm'
Glede na to, da je pojem 'paradigm' zgoraj že pojasnjen, je pravilen prevod 'asinhrono in dogodkovno obravnavan programerski pristop'?
Neusklajen in dogodkovno naravnan programerski pristop
Ok, neusklajen je mogoče iskanje dlake v jajcu (v raznih slo knjigah se synchronizing prevaja kot usklajevanje), ampak 'driven' pomeni gnan, kar se sliši čudno itak - je pa naravnan boljši nadomestek za gnan kot obravnavan.
dobr sem pijan sam tisto kar je on napisal razumem tole pa ne.
Pust' ot pobyedy k pobyedye vyedyot!
noraguta ::
ja ja ja i get it , u bitvu je časovno neusklajen , ker tu je dobro biti pozoren
Pust' ot pobyedy k pobyedye vyedyot!
slitkx ::
Diameter Base Protocol Stack => Je ok prevod 'na DIAMETRU baziran protokolni sklad'? (DIAMETER je protokol v IMS arhitekturi.)
morbo ::
Kar sem hotel reči je da če že ne uporabiš pravega prevoda za driven, kateri se sliši čudno, je naravnan pravilnejši prevod kot obravnavan. Neusklajen je optional, asinhron bo čisto v redu.
based = osnovan, ampak tam imaš base, torej osnovni?
based = osnovan, ampak tam imaš base, torej osnovni?
slitkx ::
Hja, samo 'base' je tudi 'baza', iz česar sem izhajal. Bom vseeno pogledal, če se da tvoj predlog spraviti v tekst.
Če uporabim 'osnovni', potlej bi bil prevod 'osnovni protokolni sklad DIAMETRA' oz. 'osnovni protokolni sklad protokola DIAMETER', kar je pa nesmiselno, saj je sklad samo en.
Če uporabim 'osnovni', potlej bi bil prevod 'osnovni protokolni sklad DIAMETRA' oz. 'osnovni protokolni sklad protokola DIAMETER', kar je pa nesmiselno, saj je sklad samo en.
Zgodovina sprememb…
- spremenil: slitkx ()
morbo ::
Si mogoče narobe prepisal in je tam v resnici based? V tem primeru je tvoj prevod pravilen. Je pa 'osnovan' ali 'temelji na', lepše kot baziran.
slitkx ::
Ne, je pravilno prepisano. Link: http://advancedims.com/Docomentation/HS...
3. poglavje, stran 1.
AMPS framework is implemented as a shared library, and lies at the bottom of the architecture.
The diameter base protocol stack has been implemented as a shared library, and lies on top of
AMPS. The communication between Diameter Base Protocol stack and AMPS is through direct
function calls and through callback functions.
3. poglavje, stran 1.
AMPS framework is implemented as a shared library, and lies at the bottom of the architecture.
The diameter base protocol stack has been implemented as a shared library, and lies on top of
AMPS. The communication between Diameter Base Protocol stack and AMPS is through direct
function calls and through callback functions.
Zgodovina sprememb…
- spremenil: slitkx ()
slitkx ::
Ker Wikipedia pravi, da je 'stack' pravzaprav implementacija protokolnega sklada (protokolni sklad = definicija protokolov), bom tole prevedel kot 'implementacija definicije osrednjega protokola DIAMETER'. Pa bom kasneje še mentorja vprašal, kako bi prevedel. Se mi zdi še najbolj smiselno, ker je DIAMETER protokol, breza katerega je delovanje HSS in IMS no-go.
Zgodovina sprememb…
- spremenil: slitkx ()
noraguta ::
stack je lahko tudi nabor ali skupek v tem primeru , ko gre za skupek protokolov. sklad namiguje bolj na hierarhično zaporedje nabor ali skupek pa ne nenujno odvisne protokole. ampak tukaj gre že za lingo kulinariko.
Pust' ot pobyedy k pobyedye vyedyot!
slitkx ::
No saj zato, ker gre za lingo kulinariko, sem za mnenje vprašal mentorja. Pa da vidim... :)
Looooooka ::
Ce ti ne rece, da po diplomi nehaj uporabljat slovenske prevode ga kar nehaj poslusat :)
slitkx ::
Torej je potlej 'Diameter Base Protocol Stack' = 'osnovni nabor Diameter protokolov'? (Kar mi ne zveni logično, ker je Diameter sam po sebi hkrati protokol in sklad (prebral v drugi literaturi).
Awacs ::
Po mojem mnenju "Diameter Base Protocol Stack" sploh ne smeš prevajati, ker gre za del HSS in ta del so tako poimenovali avtorji/programerji/kdorkoli_že in kot tak (stvarno ime ali kako se temu reče!?) slovenskega prevoda nima. Za večje razumevanje tvoje diplomske ga obrazloži (kaj in zakaj je, ter kako deluje), navajaj ga pa v originalni obliki. Če ga boš šel prevajati, potem bo izpadlo nekako tako, kot če ti grem jaz razlagat, da sem pred par dnevi letel z LahkoReaktivcem ZračniAvtobus (EasyJet-ov Airbus). Skratka, da se ti sanja ne, o čem pišeš...
Diameter Base Protocol Stack je sestavljen iz dveh besed in sicer:
Diameter Base Protocol Stack je sestavljen iz dveh besed in sicer:
- Diameter Base Protocol - RFC 3588: “Diameter Base Protocol”; glej References & Abbreviation v tvojem dokumentu;
Diameter = naslednik RADIUS-a (Remote Authentication Dial In User Service). - Stack bi bil po moje skladovnica; Ampak tega ne bo nihče razumel, zato raje uporabljaj stack (da gre za nekaj računalniškega bo vedela večina). Kvečjemu boš s prevodom zmedel še tiste, ki so za stack že slišali, tisti, ki pa niso, pa itak tudi prevoda ne bodo razumeli.
Skladovnica (po moje) zato, ker se podatki v njem zlagajo eden na drugega, kot npr. drva (npr. skladovnica za drva). Enako kot pri drvih v skladovnici velja, da je na vrhu tisti, katerega smo dali nazadnje noter in njega tudi prvega vzamemo ven (LastIn - FirstOut). Izraz "nabor" mi je sicer lepši in bolj domač, a namiguje na to, da si lahko izbereš kateregakoli izmed tistih v njem. Ravno v tem se pa stack razlikuje, saj je njegova edina lastnost LastIn - FirstOut.
slitkx ::
Menim, da sem našel dober prevod. => 'sklad osrednjega protokola DIAMETER'
Izhajam iz tega, da je v IMS okolju DIAMETER najpomembnejši ('base') protokol, brez katerega bi bil IMS mrtva platforma.
Bom pa vseeno pri navedbah kratic (poglavje posebej) navedel tudi originalni angleški izraz.
Izhajam iz tega, da je v IMS okolju DIAMETER najpomembnejši ('base') protokol, brez katerega bi bil IMS mrtva platforma.
Bom pa vseeno pri navedbah kratic (poglavje posebej) navedel tudi originalni angleški izraz.
Awacs ::
Nisi.
No, vsaj jaz mislim, da ne. "Diameter Base Protocol" je pač ime protokola. V njem "Base" pomeni osnovni, torej tak, iz katerega izhajajo nadgradnje. Glej moj zgornji post ali http://www.rfc-editor.org/rfc/rfc3588.t....
No, vsaj jaz mislim, da ne. "Diameter Base Protocol" je pač ime protokola. V njem "Base" pomeni osnovni, torej tak, iz katerega izhajajo nadgradnje. Glej moj zgornji post ali http://www.rfc-editor.org/rfc/rfc3588.t....
slitkx ::
DIAMETER je protokol. Glede na http://www.javvin.com/protocol/rfc3588.... pa je bolj videti, da je Diameter Base Protocol polno ime, DIAMETER/Diameter pa njegovo krajše poimenovanje.
Saj zdajle z Diametrom nimam prvič opravka, v diplomi sem o njem že pisal, pa tudi zanj še pride posebej poglavje (primerjava s predhodnikom Radiusom).
Kar se pa tiče sklada, pa dejansko obstaja tudi protokolu istoimenski sklad. Pač poimenovan po protokolu.
Saj zdajle z Diametrom nimam prvič opravka, v diplomi sem o njem že pisal, pa tudi zanj še pride posebej poglavje (primerjava s predhodnikom Radiusom).
Kar se pa tiče sklada, pa dejansko obstaja tudi protokolu istoimenski sklad. Pač poimenovan po protokolu.
Zgodovina sprememb…
- spremenil: slitkx ()
Awacs ::
Jaz si to predstavljam takole... Diameter Base Protocol je osnovna specifikacija in implementacija protokola. Po potrebi je možno ta protokol nadgraditi. Njegove nadgradnje lahko vsebujejo nove zmožnosti, zagotovo pa podpirajo vse zmožnosti, katere so definirane v osnovnem protokolu. Recimo (izmišljeno) funkcijo predvajajFilm(). Vse te nadgradnje so Diameter protokoli; Tako kot je npr. Secure FTP še vedno FTP protokol.
Izmišljen primer v praksi (celega dokumenta sicer nisem šel brat, ker sem v službi, zato se že vnaprej opravičujem, če bom kaj falil - ti se s tem ukvarjaš in boš že vedel):
Imamo ponudnika A, ki filme predvaja zastonj, ter ponudnika B, ki jih zaračunava. Vsak od njiju v svoj Diameter Base Protocol Stack doda svojo (nadgrajeno) verzijo Diameter protokola, HSS je pa pri obeh ponudnikih enak. Ko želi uporabnik pogledati film, programska oprema v njegovem telefonu pošlje ukaz predvajajFilm(). HSS iz Diameter Base Protocol Stack pobere najnovejši protokol (LastIn - FirstOut) in v njem pokliče funkcijo predvajajFilm(); Kaj se dogaja potem, ne ve - on je svoje odelal, ko je poklical funkcijo predvajajFilm() (zato se mu reče asinhron) in čaka naprej na nove ukaze. Ta nadgrajen protokol pri ponudniku A začne predvajat film, pri ponudniku B pa najprej preveri, če je na uporabnikovem računu dovolj denarja in film šele nato ponudi v predvajanje z opozorilom, da bo to stalo tolk-in-tolk.
Izmišljen primer v praksi (celega dokumenta sicer nisem šel brat, ker sem v službi, zato se že vnaprej opravičujem, če bom kaj falil - ti se s tem ukvarjaš in boš že vedel):
Imamo ponudnika A, ki filme predvaja zastonj, ter ponudnika B, ki jih zaračunava. Vsak od njiju v svoj Diameter Base Protocol Stack doda svojo (nadgrajeno) verzijo Diameter protokola, HSS je pa pri obeh ponudnikih enak. Ko želi uporabnik pogledati film, programska oprema v njegovem telefonu pošlje ukaz predvajajFilm(). HSS iz Diameter Base Protocol Stack pobere najnovejši protokol (LastIn - FirstOut) in v njem pokliče funkcijo predvajajFilm(); Kaj se dogaja potem, ne ve - on je svoje odelal, ko je poklical funkcijo predvajajFilm() (zato se mu reče asinhron) in čaka naprej na nove ukaze. Ta nadgrajen protokol pri ponudniku A začne predvajat film, pri ponudniku B pa najprej preveri, če je na uporabnikovem računu dovolj denarja in film šele nato ponudi v predvajanje z opozorilom, da bo to stalo tolk-in-tolk.
slitkx ::
Bo najbrž kar držalo, kot praviš.
http://www.javvin.com/protocol/rfc3588....
The Diameter base protocol provides the following facilities:
- Delivery of AVPs (attribute value pairs)
- Capabilities negotiation
- Error notification
- Extensibility, through addition of new commands and AVPs (required in [AAAREQ]).
- Basic services necessary for applications, such as handling of user sessions or accounting
Torej to pomeni, da omogoča prilagajanje v okoljih.
Poleg tega pa:
http://slovar.ltfe.org/?q=stack&type=all
in
http://www.islovar.org/iskanje_enostavn...
Na obeh straneh je 'stack' preveden kot 'sklad' ter 'protocol stack' kot 'sklad protokolov' oz. 'protokolni sklad'.
Zaključek: Diameter Base Protocol Stack = osnovni sklad protokola DIAMETER (osnovni zato, ker ga je možno razširiti; extensions...)
http://www.javvin.com/protocol/rfc3588....
The Diameter base protocol provides the following facilities:
- Delivery of AVPs (attribute value pairs)
- Capabilities negotiation
- Error notification
- Extensibility, through addition of new commands and AVPs (required in [AAAREQ]).
- Basic services necessary for applications, such as handling of user sessions or accounting
Torej to pomeni, da omogoča prilagajanje v okoljih.
Poleg tega pa:
http://slovar.ltfe.org/?q=stack&type=all
in
http://www.islovar.org/iskanje_enostavn...
Na obeh straneh je 'stack' preveden kot 'sklad' ter 'protocol stack' kot 'sklad protokolov' oz. 'protokolni sklad'.
Zaključek: Diameter Base Protocol Stack = osnovni sklad protokola DIAMETER (osnovni zato, ker ga je možno razširiti; extensions...)
Zgodovina sprememb…
- spremenil: slitkx ()
slitkx ::
Kako bi provedli to kačo?:
Passing control over to AMPS framework for the event based logic to take over control and drive subsequent code execution.
Passing control over to AMPS framework for the event based logic to take over control and drive subsequent code execution.
Spura ::
X preda Y v upravljanje AMPS framework-u (?), ki s programsko logiko na osnovi dogodkov nadzoruje nadaljno izvajanje kode .
Zgodovina sprememb…
- spremenil: Spura ()
slitkx ::
Hvala.
Torej bo takole: Prepustitev upravljanja AMPS ogrodju, da s programsko logiko na osnovi dogodkov nadzoruje nadaljnje izvajanje kode. (Angleški stavek je v literaturi naveden kot odstavek za dvopičjem.)
Torej bo takole: Prepustitev upravljanja AMPS ogrodju, da s programsko logiko na osnovi dogodkov nadzoruje nadaljnje izvajanje kode. (Angleški stavek je v literaturi naveden kot odstavek za dvopičjem.)
Pyr0Beast ::
Asinhronost lahko pomeni marsikaj. Pri clock generatorju pomeni to, da vodila ne rabijo biti časovno 'usklajena' med seboj.
Včasih se je to reševalo z delilniki in množilniki.
Včasih se je to reševalo z delilniki in množilniki.
Some nanoparticles are more equal than others
Good work: Any notion of sanity and critical thought is off-topic in this place
Good work: Any notion of sanity and critical thought is off-topic in this place
slitkx ::
Ni mi znano, da bi imel HSS clock generator. Gre za strežnik, ki pa ga gre obravnavati kot klienta človeškega uporabnika in aplikacij.
Zgodovina sprememb…
- spremenil: slitkx ()
Awacs ::
Počasi, počasi... Vidim, da moramo začeti na začetku. Pred dnevi sem se namenoma izognil komentiranju vpisov iz začetka te teme, ker se mi niti ni dalo pametovat, niti se mi ni dalo tipkat...
asynchronous and event driven programming paradigm
asynchronous = HSS je software (oz. vsaj ta dokument, katerega prevaja pixel, je specifikacija HSS-jevega softwera). Kot programer point besede asynchronous vidim v tem, da se nekaj izvaja ločeno oz. "neblokirajoče". Pri računalniškem programiranju namreč asynchronous pomeni, da glavna nit programa teče naprej in ne čaka, da bo tisti del programske kode, ki je bil izveden asinhrono, zaključil svoje delovanje in vrnil kontrolo nad izvajanjem nazaj glavni niti. Asihrona koda ustvari "vzporeden tir" in se izvaja ločeno na njem.
Normalno se vrstice programske kode in ukazi izvajajo zaporedno. Najprej prvi, ko ta konča, se začne izvajati drugi, nato tretji... Če eden od njih za svoje izvajanje porabi velko časa, program vmes stoji zamrznjen (ne dela nič) vse dokler počasnež ne konča in mu "vrne kontrolo". Šele nato se izvede nov ukaz. Pri asinhroni kodi pa glavna nit samo ukaže, naj se koda izvede, in takoj nadaljuje z naslednjim svojim ukazom. Torej se v naslednjem trenutku izvajata nova vrstica iz glavne niti, ter hkrati prva iz asinhrone.
Prevod "časovno neusklajen" morda drži za signal in komunikacije, no res pa je, da če zzeeellllooo nategnemo pomen te fraze, bi lahko rekli, da bi bil to ustrezen izraz tudi za software. Namreč, ker se asinhrona koda izvaja ločeno, ne vemo, kdaj je pri svojem izvajanju prišla do vrstice, v kateri se nastavi npr. i = 0. Zato se v glavni kodi nikoli ne smemo zanašati, da je i res 0, ker mogoče asinhrona koda do tam še ni prišla... V tem pogledu sta (tudi) časovno neusklajeni. Vendar je to zgolj stranski efekt, ne pa glavni namen.
event driven programming = Programska koda, sama od sebe, ne dela nič. Ko se zgodi nek dogodek programska koda odreagira. Npr. uporabnik se prijavi v HSS sistem in takrat se sproži funkcija onUserLogin().
Koda, katera ni event driven, dela po zaporedju, kot ga je napisal programer: A -> B -> C -> D... Če pa je event driven, je njeno zaporedje odvisno od dogodkov. Če najprej pride dogodek C se bo najprej izvedlo onC, potem spet nič, pride dogodek A in se izvede onA, itn.
event based logic = programska koda (ponavadi procedura/funkcija), katera je odvisna od dogodka... Če se je sprožil dogodek login, se izvede onLogin(); Če bi se sprožil hočemFilm, bi se izvedla showMovie()...
drive subsequent code execution = čeprav je subsequent v bistvu naslednji, beri to kot sledečo. Torej kodo, ki sledi (izhaja iz) iz dogodka.
Ne! Tvoj prevod in njegova razlaga (osnovni sklad... osnovni zato, ker ga je možno razširiti) pomen ravno obrneta. Diameter Base Protocol Stack je vedno enak in to je njegova najlepša in najbolj uporabna lastnost. Nadgradijo se objekti (v našem primeru protokoli, izpeljanke iz Diameter Base Protocol), katere ta stack sprejema. Vsi od njih MORAJO imeti isto osnovo, na enak dogodek pa lahko različne nadgradnje odreagirajo drugače (glej zgoraj moj izmišljen primer s plačljivimi in brezplačnimi filmi). Prav to, da je stack vedno enak in da je delovanje nadgradenj lahko poljubno, je osnova za to, da je (ugibam) možno HSS zelo preprosto nadgraditi in prilagoditi željam uporabnika/ponudnika.
"Diameter Base Protocol Stack" nimaš kej prevajat. Če je Boeing naredil letalo Dreamliner, je to pač Dreamliner in ne nek "Sanjski linijec". Tako se pač imenuje in pika. Huh, primer... "Windows GDI" (Graphics Device Interface) je knjižnjica, katera skrbi za izris grafike na zaslon in so jo tako poimenovali v MS. Tekst "Za izris teksta na zaslon poskrbi Windows GDI" prevajaš v "Za izris teksta na zaslon poskrbi vmestnik okenske grafične naprave".
Če mene vprašaš (dokumenta še vedno nisem bral), je "Diameter Base Protocol Stack" ena navadna knjižnjica. Če HSS teče na Windowsih, potem gre verjetno za kak *.dll file. Verjetno "DiameterBaseProtocolStack.dll" ali "dbps.dll". Ima neko standardizirano osnovo, potem pa se mu definira/dodaja dogodke in funkcije, katere vsebujejo "reakcijo" na definiran dogodek: DiameterBaseProtocolStack.register('login', 'simobilovOnLogin()'), DiameterBaseProtocolStack.register('tegadogodkanivspecifikaciji', 'simobilNašaNovaFunkcija()'); Tako si to jaz predstavljam.
Kar se tiče prevodov, ti svetujem, da preštudiraš svoj PDF in potem napišeš obnovo, prosti spis :), v slovenščini. Upam stavit, da boš naredil manj napak in ob tem še izgubil manj živcev...
asynchronous and event driven programming paradigm
asynchronous = HSS je software (oz. vsaj ta dokument, katerega prevaja pixel, je specifikacija HSS-jevega softwera). Kot programer point besede asynchronous vidim v tem, da se nekaj izvaja ločeno oz. "neblokirajoče". Pri računalniškem programiranju namreč asynchronous pomeni, da glavna nit programa teče naprej in ne čaka, da bo tisti del programske kode, ki je bil izveden asinhrono, zaključil svoje delovanje in vrnil kontrolo nad izvajanjem nazaj glavni niti. Asihrona koda ustvari "vzporeden tir" in se izvaja ločeno na njem.
Normalno se vrstice programske kode in ukazi izvajajo zaporedno. Najprej prvi, ko ta konča, se začne izvajati drugi, nato tretji... Če eden od njih za svoje izvajanje porabi velko časa, program vmes stoji zamrznjen (ne dela nič) vse dokler počasnež ne konča in mu "vrne kontrolo". Šele nato se izvede nov ukaz. Pri asinhroni kodi pa glavna nit samo ukaže, naj se koda izvede, in takoj nadaljuje z naslednjim svojim ukazom. Torej se v naslednjem trenutku izvajata nova vrstica iz glavne niti, ter hkrati prva iz asinhrone.
Prevod "časovno neusklajen" morda drži za signal in komunikacije, no res pa je, da če zzeeellllooo nategnemo pomen te fraze, bi lahko rekli, da bi bil to ustrezen izraz tudi za software. Namreč, ker se asinhrona koda izvaja ločeno, ne vemo, kdaj je pri svojem izvajanju prišla do vrstice, v kateri se nastavi npr. i = 0. Zato se v glavni kodi nikoli ne smemo zanašati, da je i res 0, ker mogoče asinhrona koda do tam še ni prišla... V tem pogledu sta (tudi) časovno neusklajeni. Vendar je to zgolj stranski efekt, ne pa glavni namen.
event driven programming = Programska koda, sama od sebe, ne dela nič. Ko se zgodi nek dogodek programska koda odreagira. Npr. uporabnik se prijavi v HSS sistem in takrat se sproži funkcija onUserLogin().
Koda, katera ni event driven, dela po zaporedju, kot ga je napisal programer: A -> B -> C -> D... Če pa je event driven, je njeno zaporedje odvisno od dogodkov. Če najprej pride dogodek C se bo najprej izvedlo onC, potem spet nič, pride dogodek A in se izvede onA, itn.
event based logic = programska koda (ponavadi procedura/funkcija), katera je odvisna od dogodka... Če se je sprožil dogodek login, se izvede onLogin(); Če bi se sprožil hočemFilm, bi se izvedla showMovie()...
drive subsequent code execution = čeprav je subsequent v bistvu naslednji, beri to kot sledečo. Torej kodo, ki sledi (izhaja iz) iz dogodka.
Zaključek: Diameter Base Protocol Stack = osnovni sklad protokola DIAMETER (osnovni zato, ker ga je možno razširiti; extensions...)
Ne! Tvoj prevod in njegova razlaga (osnovni sklad... osnovni zato, ker ga je možno razširiti) pomen ravno obrneta. Diameter Base Protocol Stack je vedno enak in to je njegova najlepša in najbolj uporabna lastnost. Nadgradijo se objekti (v našem primeru protokoli, izpeljanke iz Diameter Base Protocol), katere ta stack sprejema. Vsi od njih MORAJO imeti isto osnovo, na enak dogodek pa lahko različne nadgradnje odreagirajo drugače (glej zgoraj moj izmišljen primer s plačljivimi in brezplačnimi filmi). Prav to, da je stack vedno enak in da je delovanje nadgradenj lahko poljubno, je osnova za to, da je (ugibam) možno HSS zelo preprosto nadgraditi in prilagoditi željam uporabnika/ponudnika.
"Diameter Base Protocol Stack" nimaš kej prevajat. Če je Boeing naredil letalo Dreamliner, je to pač Dreamliner in ne nek "Sanjski linijec". Tako se pač imenuje in pika. Huh, primer... "Windows GDI" (Graphics Device Interface) je knjižnjica, katera skrbi za izris grafike na zaslon in so jo tako poimenovali v MS. Tekst "Za izris teksta na zaslon poskrbi Windows GDI" prevajaš v "Za izris teksta na zaslon poskrbi vmestnik okenske grafične naprave".
Če mene vprašaš (dokumenta še vedno nisem bral), je "Diameter Base Protocol Stack" ena navadna knjižnjica. Če HSS teče na Windowsih, potem gre verjetno za kak *.dll file. Verjetno "DiameterBaseProtocolStack.dll" ali "dbps.dll". Ima neko standardizirano osnovo, potem pa se mu definira/dodaja dogodke in funkcije, katere vsebujejo "reakcijo" na definiran dogodek: DiameterBaseProtocolStack.register('login', 'simobilovOnLogin()'), DiameterBaseProtocolStack.register('tegadogodkanivspecifikaciji', 'simobilNašaNovaFunkcija()'); Tako si to jaz predstavljam.
Kar se tiče prevodov, ti svetujem, da preštudiraš svoj PDF in potem napišeš obnovo, prosti spis :), v slovenščini. Upam stavit, da boš naredil manj napak in ob tem še izgubil manj živcev...
slitkx ::
Lepo, da si se potrudil :), ampak:
- dokument moram prevesti vključno z originalnimi imeni, pri čemer bom potlej ta originalna imena navedel v ločenem poglavju.
- nisem programer, zato niti ne razmišljam kot programer; sicer razumem tvoje razlage, vendar moraš vedeti, da jih moram upoštevati v kontekstu s preostalim besedilom dokumenta.
- še zmeraj čakam na odziv mentorja, da bo potrdil/negiral moj predlog prevoda; če bo potrebno, bom šel po dokončanju prevoda dokumenta še enkrat skozi prevod.
- dokument moram prevesti vključno z originalnimi imeni, pri čemer bom potlej ta originalna imena navedel v ločenem poglavju.
- nisem programer, zato niti ne razmišljam kot programer; sicer razumem tvoje razlage, vendar moraš vedeti, da jih moram upoštevati v kontekstu s preostalim besedilom dokumenta.
- še zmeraj čakam na odziv mentorja, da bo potrdil/negiral moj predlog prevoda; če bo potrebno, bom šel po dokončanju prevoda dokumenta še enkrat skozi prevod.
Awacs ::
Ok, še eno pripombo moram dati (preden kdo skoči v zrak)... Razlago asinhrone kode sem poenostavil do te mere, da sem mogoče že malce zavajajoč. Boljši primer asinhronosti je spodaj, čeprav sem prepričan, da se funkcija onUserLogin() v resnici izvede tudi v svoji niti (da omogoča hkratno komunikacijo z velikim številom uporabnikov):
Če pa koda ne bi bila asinhrona, bi izgledalo takole:
dogodek: nov user -> funkcija onUserLogin() { izriše okno za vnos gesla } (zaključi svoje izvajanje) ... HSS teče naprej... dogodek: user je vnesel password -> funkcija onUserPasswordRecieved() { preveri, če je password ok ... } ...
Če pa koda ne bi bila asinhrona, bi izgledalo takole:
dogodek: nov user -> funkcija onUserLogin() { izriše okno za vnos gesla ... HSS je "zamrznjen" ... ... čakamo, da uporabnik vnese geslo... ... HSS še vedno ne dela nič ... ... uporabnik vnese geslo ... preveri, če je password ok ... } (zaključi svoje izvajanje) ... HSS teče naprej...
slitkx ::
Passing control over to AMPS framework for the event based logic to take over control and drive subsequent code execution.
Prevod:
Prepustitev upravljanja AMPS ogrodju, da s programsko logiko na osnovi dogodkov nadzoruje nadaljnje izvajanje kode.
V kontekstu ostalega besedila se mi zdi prevod vredu. (Verjetno bom še kaj popravil, kako besedo zamenjal, vendar moram iti sedaj s prevodom naprej.) Lahko pa se lotiš prevoda celotnega dokumenta, čeprav tega od tebe ne morem zahtevati. ;)
(Lahko pa ti ob koncu pošljem prevod celotnega dokumenta, pa presodiš, kaj se ti zdi prav in kaj ne. (Vendar se je potrebno zavedati, da je HSS zelo zahtevna tematika, ki jo je najprej potrebno razumeti s stališča IMS platforme, CSCF, aplikacijskega strežnika...))
Za asinhronost ter 'event' pojma sem pa tudi že sestavil ustrezen prevod, ki se sliši dobro in je tudi smiseln.
Skratka, če kaj na bo ok, smatram, da me bo mentor opozoril.
Prevod:
Prepustitev upravljanja AMPS ogrodju, da s programsko logiko na osnovi dogodkov nadzoruje nadaljnje izvajanje kode.
V kontekstu ostalega besedila se mi zdi prevod vredu. (Verjetno bom še kaj popravil, kako besedo zamenjal, vendar moram iti sedaj s prevodom naprej.) Lahko pa se lotiš prevoda celotnega dokumenta, čeprav tega od tebe ne morem zahtevati. ;)
(Lahko pa ti ob koncu pošljem prevod celotnega dokumenta, pa presodiš, kaj se ti zdi prav in kaj ne. (Vendar se je potrebno zavedati, da je HSS zelo zahtevna tematika, ki jo je najprej potrebno razumeti s stališča IMS platforme, CSCF, aplikacijskega strežnika...))
Za asinhronost ter 'event' pojma sem pa tudi že sestavil ustrezen prevod, ki se sliši dobro in je tudi smiseln.
Skratka, če kaj na bo ok, smatram, da me bo mentor opozoril.
Zgodovina sprememb…
- spremenil: slitkx ()
Awacs ::
Ok, lej... Tole ne leti nate osebno in je čist moje osebno mnenje. Ampak jaz enostavno že kako desetletje ali še več ne berem več nobenih tehničnih dokumentov, ker so (večinoma) vsi po vrsti nerazumljivi. Jaz mislim, da varuhi slovenskega jezika delajo ogromno škodo našemu narodu, ker silijo slovenske prevode v vsak drek. Ti prevodi so včasih ne samo leseni, ampak tudi napačni (najin primer stacka, ko si s prevodom obrnil njegov pomen, je dober primer; enako moj vzorčni prevod GDI-ja) je enostavno preprosteje, da uporabljam angleške dokumente. In potem nam, tudi zaradi tega, raste generacija (imam doma primer 13-letnika), ki praktično ne zna več govoriti slovensko. TV menu je v EN, na novem računalniku je bilo po treh dneh treba namestiti EN winse, pri kosilu pa se pogovor neprestano "seka" z vprašanji "Kaj pomeni to-pa-to?"
Če se bo tvoj mentor poglobil v tvoje prevode, jih bo zavrnil. Jaz bi ti diplomsko raztrgal in začni znova. :) To je meni naredil profesor še v srednji šoli in ti povem, da sem mu 25 let kasneje zato hvaležen. :) Šlo je za seminarsko o našem sončnem sistema (planeti in ti) in sem jo prevajal iz ene tuje knjige, besedo za besedo. Od takrat naprej vedno delam tako, da stvar preberem/razumem in napišem prosti prevod (v bistvu povzetek).
Če se bo tvoj mentor poglobil v tvoje prevode, jih bo zavrnil. Jaz bi ti diplomsko raztrgal in začni znova. :) To je meni naredil profesor še v srednji šoli in ti povem, da sem mu 25 let kasneje zato hvaležen. :) Šlo je za seminarsko o našem sončnem sistema (planeti in ti) in sem jo prevajal iz ene tuje knjige, besedo za besedo. Od takrat naprej vedno delam tako, da stvar preberem/razumem in napišem prosti prevod (v bistvu povzetek).
slitkx ::
Saj pri drugih poglavjih ni bilo problema, pa čeprav je bila tudi vmes kaka strokovna terminološka beseda. Ampak dejstvo je, da osebno do fizične zgradbe HSS nimam neposrednega dostopa, zato ne morem pisati na osnovi prakse. Vem, kako HSS deluje, čemu je namenjen, da je naslednik HLR...ampak otipati ga in videti njegov srž v živo pa žal ne morem.
Zato sem se glede arhitekture prisiljen začeti k neposrednim prevodom.
Poleg tega, kot sem že omenil, sem tale dokument našel po sreči, zato niti nimam kakega vzporednega vira, da bi lahko primerjal smiselnost prevoda.
Diplome pa pač ne smem napisati v angleščini.
Upam, da se bo mentor poglobil v besede in seveda, gotovo bo kake prevode tudi zavrnil (sem mu navedel vse vire za tole poglavje). A upam pa tudi, da bom dobil predlog, kako morebitni slab prevod napisati bolje. HSS šele raziskujem, nisem majster tega...raziskovanje je pa tudi poanta diplomske naloge.
Zato sem se glede arhitekture prisiljen začeti k neposrednim prevodom.
Poleg tega, kot sem že omenil, sem tale dokument našel po sreči, zato niti nimam kakega vzporednega vira, da bi lahko primerjal smiselnost prevoda.
Diplome pa pač ne smem napisati v angleščini.
Upam, da se bo mentor poglobil v besede in seveda, gotovo bo kake prevode tudi zavrnil (sem mu navedel vse vire za tole poglavje). A upam pa tudi, da bom dobil predlog, kako morebitni slab prevod napisati bolje. HSS šele raziskujem, nisem majster tega...raziskovanje je pa tudi poanta diplomske naloge.
slitkx ::
Npr., tudi angleške kratice mooram raztolmačiti in jih v besedilu omeniti v slovenščini, angleško kratico za slovenski prevod pa navesti v oklepaju. (Le prvič, ko se kratica pojavi, kasneje uporabljam samo kratico.)
Tako da, če bi imel namesto 'Diameter Base Protocol Stack' že v izvoru kratico 'DBPS', bi jo moral raztolmačiti in prevesti v slovenščino. Takle pač imam...
Tako da, če bi imel namesto 'Diameter Base Protocol Stack' že v izvoru kratico 'DBPS', bi jo moral raztolmačiti in prevesti v slovenščino. Takle pač imam...
Awacs ::
Ampak... zakaj ti ne pustijo, da napišeš "slovarček":
Diameter Base Protocol Stack = to pa to, dela to pa toPotem pa uporabljaš "Diameter Base Protocol Stack". S stališča uporabnika je to precej bolj prikladno!
slitkx ::
Ne vem, žal ni v moji pristojnosti, da bi o tem odločal.
V ločenem poglavju, kjer bodo še enkrat navedene vse uporabljene kratice, bodo zraven njihovi slovenski prevodi. Na srečo obstajata slovar informatike ter LTFE slovar, ki mi zelo olajšata delo. A tale DBPS je pa primer (zelo)redko uporabljene sestavljene fraze, zaradi česar je pravilen prevod v kontekstu težji.
V ločenem poglavju, kjer bodo še enkrat navedene vse uporabljene kratice, bodo zraven njihovi slovenski prevodi. Na srečo obstajata slovar informatike ter LTFE slovar, ki mi zelo olajšata delo. A tale DBPS je pa primer (zelo)redko uporabljene sestavljene fraze, zaradi česar je pravilen prevod v kontekstu težji.
Awacs ::
Ok, sej v splošnem ti dam prav in razumem tvoje težave; Sam precejkrat naletim na podobno. Če bi videl komentarje v moji kodi... :)
Da zaključiva z DBPS: kot sem ti napisal že prvič, sestavljen je iz dveh besed "Diameter Base Protocol" "Stack".
Da zaključiva z DBPS: kot sem ti napisal že prvič, sestavljen je iz dveh besed "Diameter Base Protocol" "Stack".
noraguta ::
asynchronous = HSS je software (oz. vsaj ta dokument, katerega prevaja pixel, je specifikacija HSS-jevega softwera). Kot programer point besede asynchronous vidim v tem, da se nekaj izvaja ločeno oz. "neblokirajoče". Pri računalniškem programiranju namreč asynchronous pomeni, da glavna nit programa teče naprej in ne čaka, da bo tisti del programske kode, ki je bil izveden asinhrono, zaključil svoje delovanje in vrnil kontrolo nad izvajanjem nazaj glavni niti. Asihrona koda ustvari "vzporeden tir" in se izvaja ločeno na njem.
Normalno se vrstice programske kode in ukazi izvajajo zaporedno. Najprej prvi, ko ta konča, se začne izvajati drugi, nato tretji... Če eden od njih za svoje izvajanje porabi velko časa, program vmes stoji zamrznjen (ne dela nič) vse dokler počasnež ne konča in mu "vrne kontrolo". Šele nato se izvede nov ukaz. Pri asinhroni kodi pa glavna nit samo ukaže, naj se koda izvede, in takoj nadaljuje z naslednjim svojim ukazom. Torej se v naslednjem trenutku izvajata nova vrstica iz glavne niti, ter hkrati prva iz asinhrone.
Prevod "časovno neusklajen" morda drži za signal in komunikacije, no res pa je, da če zzeeellllooo nategnemo pomen te fraze, bi lahko rekli, da bi bil to ustrezen izraz tudi za software. Namreč, ker se asinhrona koda izvaja ločeno, ne vemo, kdaj je pri svojem izvajanju prišla do vrstice, v kateri se nastavi npr. i = 0. Zato se v glavni kodi nikoli ne smemo zanašati, da je i res 0, ker mogoče asinhrona koda do tam še ni prišla... V tem pogledu sta (tudi) časovno neusklajeni. Vendar je to zgolj stranski efekt, ne pa glavni namen.
lahko bi bilo tudi časovno neodvisen.
mislim , pa da gre za message passing , kjer ni potrebe po časovni soslednosti. o tehničnih izvedbah asinhronega izvajanje kode pa tu nebi, sploh pa vglavnem opisuješ paralelizem.
Pust' ot pobyedy k pobyedye vyedyot!
Awacs ::
Res je, pixlu sem hotel obrazložiti delovanje (s stališča uporabnosti) in sem že preveč opisoval paralelizem. Ki lahko da res obstaja, lahko pa tudi samo navidezno nastane z uporabo asinhronih funkcij. Če bi šel pri opisu v detajle, bi bil tekst še enkrat daljši, pixel pa na koncu ne bi imel pojma, kaj mu hočem povedati. Tako pa je razumel. Sej sem se takoj za tem dopolnil še s programsko implementacijo (da ja ne bi kdo skočil v zrak)... :)
Nisem jezikoslovec, ampak se strinjam, da bi bila verjetno lahko prevoda tudi "časovno neodvisen" ali tudi "časovno neusklajen" (priznavam že zgoraj), pa še kaj tretjega zraven... Kar hočem (v celi tej temi) povedat je, da pri prevajanju (vsaj tehničnih dokumentov) bolj kot na Toporišiča, mislite na končnega bralca. S posiljenimi prevodi (ki so včasih zraven še zavajajoči) bo imel končni bralec ogromne težave, da bo prebrano tudi res razumel. Evo, če bi jaz dobil ta slovenski prevod kot specifikacijo za nov software, bi par stvari že razumel narobe in jih nato tudi narobe sprogramiral.
Nisem jezikoslovec, ampak se strinjam, da bi bila verjetno lahko prevoda tudi "časovno neodvisen" ali tudi "časovno neusklajen" (priznavam že zgoraj), pa še kaj tretjega zraven... Kar hočem (v celi tej temi) povedat je, da pri prevajanju (vsaj tehničnih dokumentov) bolj kot na Toporišiča, mislite na končnega bralca. S posiljenimi prevodi (ki so včasih zraven še zavajajoči) bo imel končni bralec ogromne težave, da bo prebrano tudi res razumel. Evo, če bi jaz dobil ta slovenski prevod kot specifikacijo za nov software, bi par stvari že razumel narobe in jih nato tudi narobe sprogramiral.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | prevod "peer"Oddelek: Omrežja in internet | 885 (820) | slitkx |
» | Wireshark - filtriranje trace-a SIP2CS klicaOddelek: Omrežja in internet | 1144 (825) | slitkx |
» | Diameter AccountingOddelek: Omrežja in internet | 863 (715) | BlueRunner |
» | prevod programerskih izrazovOddelek: Programiranje | 2482 (1993) | [MYTiX] |
» | Strokovni izraziOddelek: Loža | 3152 (2769) | Kr_Edn |