Gruodis 22, 2007OpenId - nusivylimas
Prieš šiek tiek laiko pasidžiaugiau, kad turbūt vienas pirmųjų įdiegiau galimybę komentuoti pasinaudojant OpenId paskira. Buvo iš ties smagu, kad mano skaitytojai galės paprasčiau ir patogiau komentuoti komentarus, nes visa informacija apie juos ateis iš OpenId tiekėjo. Tačiau jau tada skaitytojai pastebėjo, kad OpenId veikia labai nestabiliai - komentarai ilgai apdorojami, kartais jie net neįkeliami į serverį ir t.t. Kadangi nuo to nukentėdavo beveik visi skaitytojai, nes OpenId įskiepis tikrina visus įvedamus asmeninės svetainės adresus taip ieškodamas OpenId paskyros, tai teko ieškoti problemos šaknų.
Problema kilo iš to, kad serveryje nėra įdiegtas GMP palaikymas - bibliotekos, kuri yra atsakinga už darbą su itin dideliais skaičiais. Darbas su OpenId vyksta šifruojant duomenis, o be tokių bibliotekų kaip GMP jis yra beveik neįmanomas, nes skaičiavimai atliekami pernelyg lėtai ir net netiksliai. Gaila, tačiau norint įjungti šią biblioteką reikia tiesioginio priėjimo prie serverio, o kadangi aš naudojuosi nuomojama vieta serveryje, tai GMP įjungti negalėjau. Išbandžiau visus įmanomus būdus, tačiau jokio būdo įjungti neradau, todėl su didžiuliu nusivylimu pranešu, kad OpenId įskiepis yra išjungiamas. Tik persikėlęs į serverį su administratoriaus teisėmis galėsiu vėl grįžti prie OpenId naudojimo, nes kol kas neradau būdo tinkamai dirbti su OpenId neatliekant sudėtingų skaičiavimų.
Ar tai nėra viena iš priežasčių, kodėl OpenId taip lėtai plinta?
Patiko ką perskaitei? Užsiprenumeruok RSS srautą ir visada gauk mano naujausius įrašus pats pirmas! Tai ne tik, kad yra be galo patogu, tačiau ir leis tau nepraleisti nei vieno mano įrašo. Jei kiltų problemų - rašyk.



2007-12-22 12:40:21
Na va, norėjai kaip geriau, o gavosi kaip visada :(
2007-12-22 13:04:48
Nemanau, kad tai priežastis :) Bet jai tai priežastis tai PHP gauna dar vieną didelį riebų minusą…
Ir ką reiškia lėtai plinta? Neradau naujesnio grafiko: http://www.theequitykicker.com/wp-content/uploads/2007/08/openid-growth.jpg
OpenID vartotojai skaičiuojami milijonais.
2007-12-22 13:11:56
Teisingesnis implementavimas būtų ne kiekvienos svetainės tikrinimas, ar joje yra kokia nors OpenID informacija, o pasirinkimas vartotojui, ar jis nori komentuoti paprastai ar su OpenID pagalba. Taip nebūtų reikėje tikrinimo daryti kiekvienam komentarui. Tuo labiau vartotojas galbūt ir nenorėtu, kad komentuojant būtų naudojamas OpenID, net jei jis ir įraše tam tinkantį adresą (kaip aš pvz. dabar).
Dėl lėto plitimo - labai labai abejoju. Tiesiog nėra dar daug svetainių, kuriose galima būtų naudotis OpenID, todėl žmonės neskuba kurtis account’ų pas provider’ius ir registruojasi ir toliau visur kaip įpratę nuo senų laikų…
2007-12-22 14:10:22
Daliau, su PHP veikia ir gerai, bet tam, kad veiktų būtina GMP biblioteka, nes be jos standartinis PHP neapdoroja itin didelių skaičių. Labai abejoju ar kitos kalbos tai padarytų su standartinėmis klasėmis, nes pvz.: 1000! (Faktorialas) niekaip neapskaičiuosi. Gal klystu, bet pernelyg nenustebau, kad PHP neapdoroja tokių didžiulių kiekių duomenų.
tamole, man ir atrodo, kad dėl to ir neplinta, nes nėra svetainių kur tai galima panaudot. O jei norint panaudot reikia dar ir nestandartinės serverio konfigūracijos tai…
Anyway, Lietuvoje tikrai yra labai mažai tokių svetainių.
2007-12-22 14:18:47
Tu neabejok, o tikrink. Pavyzdys python’u:
>>> f = 1
>>> for i in range(1000):
… f *= (i+1)
…
>>> f
4023872600770937735437024339230039857193748642107146325437999104299385123986290205920442084869694048004799886101971960586316668729948085589013238296699445909974
2450408707375991882362772718873251977950595099527612087497546249704360141827809464649629105639388743788648733711918104582578364784997701247663288983595573543251
3185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308
4313928444032812315586110369768013573042161687476096758713483120254785893207671691324484262361314125087802080002616831510273418279777047846358681701643650241536
9139828126481021309276124489635992870511496497541990934222156683257208082133318611681155361583654698404670897560290095053761647584772842188967964624494516076535
3408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545
2572238655414610628921879602238389714760885062768629671466746975629112340824392081601537808898939645182632436716167621791689097799119037540312746222899880051954
4441428201218736174599264295658174662830295557029902432415318161721046583203678690611726015878352075151628422554026517048330422614397428693306169089796848259012
5458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301
4356945272242063446317974605946825731037900840244324384656572450144028218852524709351906209290231364932734975655139587205596542287497740114133469627154228458623
7738753823048386568897646192738381490014076731044664025989949022222176590433990188601856652648506179970235619389701786004081188972991831102117122984590164192106
8884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290
1534830776445690990731524332782882698646027898643211390835062170950025973898635542771967428222487575867657523442202075736305694988250879689281627538488633969099
5982628095612145099487170124451646126037902930912088908694202851064018215439945715680594187274899809425474217358240106367740459574178516082923013535808184009699
6372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000L
>>>
Manykime, kad Lietuvoje nėra :) Bet tai nereiškia, kad situacija nesikeičia.
2007-12-22 14:25:19
Geras :) Vėliau pabandysiu su C++ ar pan.
Kiek laiko generavo?
2007-12-22 14:52:34
Akimirksniu. 10000 faktorialą generavo 0.14 s.
>>> import time
>>> def fact():
… f = 1
… old = time.time()
… for i in range(10000):
… f *= (i+1)
… print time.time()-old
… print f
…
>>> fact()
0.140000104904
2846259680917054518906413212119868890148….
Viso tikrai nespausdinsiu :)
Mašina: 3.2Ghz
2007-12-22 17:49:19
Zend Framework’as jau turi trunk’e Zend_Openid komponentą, kuris berods be GMP veikia, tačiau esant GMP naudoja ir jį. Bet dar teks luktelėt, kol bus išleista nauja versija.
2007-12-22 17:54:16
Be GMP veikia ir dabartiniai įskiepiai, bet labai nepatikimai - karts nuo karto skriptas vykdomas per ilgai ir pan.
2007-12-22 17:56:11
Būtent tame ir yra problema. Tu darai užklausas į vartotojo įvesta svetainę (jei teisingai tave supratau). Įmanoma tai daryti netgi tau nedarant tokių užklausų, o tik naudojant nukreipimus. Tačiau net ir paliekant tai taip kaip yra, būtų geriau jei nedarytum užklausų kiekvienai įvestai svetainei.