Your SlideShare is downloading. ×
0
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Blip technicznie, czyli inżynieria uzależnień...
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Blip technicznie, czyli inżynieria uzależnień...

2,962

Published on

Prezentacja ze styczniowego Bootstrapa.

Prezentacja ze styczniowego Bootstrapa.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,962
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Blip technicznie, czyli Inżynieria uzależnień
  • 2. Co to jest ten blip?
  • 3. blog na spidzie?
  • 4. IRC 2.0?
  • 5. kolejna FaJnA StRonKa?
  • 6. Tak na początku myślą nowi użytkownicy.
  • 7. A programiści, zwykle mówią...
  • 8. Mylą się jednak srodze. Bo blip, to też:
  • 9. Mylą się jednak srodze. Bo blip, to też: • SMS • MMS • GaduGadu • Jabber (GTalk, SPIK, inne) • API • Widget • naGłos • naprawdę dynamiczne WWW
  • 10. WWW to nie wszystko 24% 42% 22% 10% 2% WWW GG Jabber SMS/MMS API
  • 11. Zacznijmy od nowa.
  • 12. Programowanie w czasach zarazy.
  • 13. Programowanie w czasach zarazy. Osoby wrażliwe na piękno kodu prosimy o zamknięcie oczu.
  • 14. LAMP? nie, dziękuję.
  • 15. LAMP? nie, dziękuję. • FreeBSD • Lighttpd • PostgreSQL (+Slony-I) • Ruby + Rails • one more thing..
  • 16. Python + ekg!
  • 17. Twitter nie dawał rady, więc..
  • 18. Użyliśmy ANSI C!
  • 19. Maszyneria
  • 20. Maszyneria • “zapomniany” pecet, webrick:3000 • hetzner.de • pożyczone maszyny z rsync’em • nokia 6310 na strychu
  • 21. A potem wszystko zaoraliśmy. no, prawie wszystko.
  • 22. Architektura jest banalna.
  • 23. Darklord Włada nami ciemny demon
  • 24. Transporty to oddzielne wątki ~# darklord_ctl list_services --- mms_transport: :thread_state: quot;#<Thread:0x2ba46d51fd78 sleep>quot; :uptime: 26h 55m 23s gadu_gadu_transport: :thread_state: quot;#<Thread:0x2ba46d591978 sleep>quot; :uptime: 26h 55m 23s jabber_transport: :thread_state: quot;#<Thread:0x2ba46d520520 sleep>quot; :uptime: 26h 55m 23s sms_transport: :thread_state: quot;#<Thread:0x2ba46d591298 sleep>quot; :uptime: 26h 55m 23s web_service: :thread_state: nil :uptime: 26h 55m 23s
  • 25. zarządzalne w biegu # darklord_ctl commands commands debug_start debug_stop list_services service_restart service_start service_stop stats stop
  • 26. raportujące usłużnie # darklord_ctl stats gadu_gadu_transport --- !map:Statistics :last_incoming_message_received: 1197378880 :inbound_messages_received: 1168 :event_disconnect_count: 4 :inbound_messages_flood_protected: 17 :updates_handled: 1148 :outbound_messages_handled: 12386 :verifications_handled: 20 :inbound_messages_handled: 1168 :last_outgoing_message_sent: 2007-12-11 14:14:53 :outbound_messages_failures: 1 :event_conn_failed_count: 653
  • 27. MMS
  • 28. MMS •Użytkownik wysyła na e-mail (m@blip.pl) •Wiadomość trafia na serwer SMTP •DarkLord pobiera za pomocą POP3 •E-mail jest oczyszczany za pomocą MMS2R (do którego wykonaliśmy kontrybucję!) •Odczytujemy wysyłający numer, szukamy u nas •Wysyłamy przez API żądanie POST razem z załącznikami •Potwierdzamy przyjęcie MMSa SMSem i...
  • 29. Donos trafia na blipa!
  • 30. SMS
  • 31. SMS •Użytkownik wysyła SMS na nasz numer •SMS trafia do modemu GSM •Gammu w trybie SMSD spięte z MySQLem •SMSowy sługa DarkLorda pobiera i..
  • 32. Informacja z ulicy trafia prosto na blipa!
  • 33. Jabber
  • 34. Jabber •Własny serwer ejabberd (niezależność, SRV) •Biblioteka: xmpp4r •Wątek jabber_transport działa jako klient
  • 35. Gadu naGłos
  • 36. Gadu naGłos •Użytkownik dzwoni z telefonu lub Gadu •WS z nagłosu pyta o to, czy chcemy słuchać? •DarkLord decyduje czy ma czas na audiencję •WS notyfikuje o nowej, pachnącej mp3 •DarkLord pobiera mp3 i przekazuje przez API do Rails..
  • 37. Wracam po szkole i dzwonię na blipa!
  • 38. Jak to się robi?
  • 39. Ruby + Rails
  • 40. nginx
  • 41. Czemu nginx?
  • 42. Czemu nginx? •Bardzo mały •Duże możliwości konfiguracyjne •Nieco szybszy niż Lighttpd •Lepsze możliwości rewrite’owania URLi •Stabilny, nie cieknie, świetny jako reverse-proxy
  • 43. GlusterFS
  • 44. Czemu GlusterFS?
  • 45. Czemu GlusterFS? •Część GNU Clustering Platform (FS, HPC, EP) •Agregacja wielu źródeł danych w jeden FS •“Skalowalność ponad Petabajty” •Różne schedulery, brak metadanych, moduły! •Niezależny od sprzętu i systemu. •Prosta konfiguracja •FUSE
  • 46. CruiseControl.rb
  • 47. RCov - badanie pokrycie kodu testami
  • 48. BDD - specyfikacja zamiast testów User - should add http:// to url when missing - should not add http:// to url when already present - should find users from GaduGadu contact list - should not track anyone through im when no im configuration - should send email invitations
  • 49. PYTANIA?
  • 50. K THX BAI Zbigniew Sobiecki zbigniew@sobiecki.name

×