Archive for the ‘erlang’ Category
erlang middleware.. on mida vaadata..
Täna oli kontoris väike arutelu teemal, kas ning kuidas õnnestuks ära kasutada üha populaarsemaks muutuvaid sotsiaalse võrgustiku vidinaid internetis.
Järjest kerkisid üles igasugu edevad märksõnad nagu twitter, facebook, keskus jne.. Edasi tuli loomilikult igasugu sügav tehnoloogiline jutt, kuidas neid ära kasutada ja sisuda. Jutu sisse tekkisid märksõnad nagu openid, REST.
Edasi hakkasid juba endal mõtted keerlema, milliseid vahendeid nendega tegelemiseks on kättesaadaval. Loomulikul uurisin kiiksuga inimesena (erlangi fännina s.t.), mis komponendid on olemas või lihtsalt teostatavad. Ringi surfates ja googlisse märksõnu toksides jäi silma, et ka needsamad suurte märksõnadega saidid kasutavad erlangi seal kus otstarbekas.
Tulemused umbes sellised:
- twitter, facebook – http://debasishg.blogspot.com/2008/08/erlang-as-middleware.html
- del.icio.us – http://blog.socklabs.com/2008/07/delicious_is_gone_long_live_de
- twitteri kloon twoorl – http://yarivsblog.com/articles/2008/05/28/announcing-twoorl-an-open-source-erlyweb-based-twitter-clone/
- AMQP – RabbitMQ
- erlyweb – http://erlyweb.org/
- scalaris – skaleeruv, veakindel, struktueeritud, transaktsioonidega p2p storage mootor
- CouchDB – http://incubator.apache.org/couchdb/
Ühesõnaga hunnik huvitavaid töövahendeid üsna valmis kujul olemas. Järsku peaks midagi neist ehitama? Materjali nagu ju oleks? Ja pagan, kui Yariv kirjutas twitteri klooni 2-3 päevaga..
IVR-i seikluse kokkuvõte
Tänaseks on eelmises postituses kirutud probleemid juba ajalugu. Rakendus on olnud umbes kolme nädala jagu toodangus ja ptui.. ptui siiani igati edukalt töötanud.
Kokkuvõtteks:
1900 rida erlangi koodi s.h. kolmanda osapoole komponentide emulaatorid
480 rida VXML-i
Aega umbes 2 töönädalat. Põhiline sellest aru saamaks, mis loom see vxml on. Erlangi osa läks suhteliselt valutult. Paar gen_server moodulit, supervisor, application, paar API moodulit, hunnik emulaatoreid keskkonna testimiseks. Kõige rohkem aega erlangi poolel kulus xml’i parseri kenasti streaming reziimis tööle panekuks.
Umbes võrreldava (aga mitte täpselt sama) funktsionaalsusega rakendus javas 8300 rida koodi.
Midagi pole öelda, ka siin leiab kinnitust Ulf Wigeri tees 4 kordsest produktiivsuse kasvust võrreldes muude vahenditega [http://www.erlang.se/publications/Ulf_Wiger.pdf].
hello world..
Iga asi algab algusest. Kui asi on kuidagigi seotud programmerimisega, siis on alguseks mingisugunne “hello worldi” ekraanile trükkimine. Näiteks erlangis käib see umbes nii:
-module(hello).
-export([world/0]).
world() ->
io:format("Hello world~n").
Aga kogu selle kirjutamise käigus armastab wordpress kuidagi vastikult asju ümber formattida. Huvitav, kuidas kogenud kasutajad postitavad artikkleid, kus on preformatitud koodi sees?
Proovime, kas nüüd on parem:
print_numbers(N) ->
[io:format("~p ", [X]) || X < - lists:seq(N)].