Plan za prvu nedelju

7 views
Skip to first unread message

Srdjan Rosic

unread,
Sep 19, 2009, 2:46:43 AM9/19/09
to iBU, dominus (Jovan Ivankovic)
Zdravo svima opet,
Evo ga prvi mail u vezi projekta koji nije HR related.

Predlazem da u toku prve nedelje odradimo nesto sto se zove Design
Document, ili nekoliko Design Documents-a-ova, brrrrrr.
Ukratko (1 strana, nekoliko paragrafa) bi mogli da opisemo svaku od
aplikacija ili ceo sistem. Koji su use cases (ko ne zna sta je to,
wikipedija je super mesto)
I trebali bi da opisemo sta nam je potrebno svima za ceo projekat od
resursa, i takodje za projekte pojedinacno.

Mogli bi ceo projekat da podelimo u takozvane fokusne grupe, da ne
kazem podprojekte vezano za arhitekturu sistema i tehnologije koje ce
se koristiti.

1. Directory - baza podataka (ne relaciona predlazem LDAP) celog
univerziteta + "server" software koji ce primati nekakve RPC-ove za
to.
ovo je dosta admin kodiranja, samo server bi bio dosta za proof of
concept na sta ocekujem da se ovaj projekat svede u ovoj fazi.

2. Web Aplikacije - jedan od klijenata za pristup
Web aplikacije bi trebale da budu tipa portala, vrlo jednostavno i
po arhitekturi i za koriscenje, ocekujem da se koristi Ajax, web2.0,
html5 da bi se postigao fancyness po potrebi ili gde ima smisla zbog
performansi, na server side-u web aplikacije, potpuno nije bitno u
cemu se pise, dokle god moze da se pokrene na linuxu, i gde moze da se
napravi plan sta da se radi ako grom udari u server.

3. Mobilne Aplikacije - druga vrsta klijenta za pristup
Zbog toga sto su browseri u vecini platformi jadni i bedni, da bi
ovo radilo kako treba na mobilnim platformama, neophodne su nam custom
aplikacije. Ono sto se po meni cini da ima smisla trenutno razmatrati
kao platformu su:
a) xhtml pojednostavljena verzija svega, radi univerzalno na
svim telefonima koji imaju nekakav xhtml browser.
b) Android - programiranje u javi, testiranje ili kroz eclipse
ide ili kroz virtuelnu masinu koja je povezana na ide.
c) iPhone - mislim da je ovo vrlo bolno raditi ako ne koristite
mac i xcode, ne bih znao vise detalja o tome.
d) Blackberry - mislim da je ovo neophodno ako ocekujete da se
ukljuce profesori, radi se u javi (dominus ima iskustva sa pisanjem
takvih aplikacija).
Ocekujem da ove mobilne aplikacije imaju svoj server koji je
odvojen od web rpc servera.

4. News delivery - ovo bi bio prvi koristan servis baziran na ovoj
gore arhitekturi, pored directory browsera,
Ocekujem da bude baziran na nekom publisher, subscription modelu
koji arhitekturalno podseca na rss / facebook / tweet / SMS /
Mailing-liste itsl. Mogucnost integracije sa svim tim postojecim
servisima ne treba da bude iskljucena.

5. Mape - trooper bi bio duhovni vodja ovakvog servisa, posto on moze
da izdeklamuje 10^100 use case-ova zasto je ovo dobro.
koja soba se nalazi gde u kojoj zgradi, gde mogu da sednem za
veliki ekran da se ulogujem i proverim mail, koje je radno vreme
studentskog servisa, gde moze da se klopa kad ogladnim, gde ima
kafa/pivo i to.


Stvari koje ocekujem da budu adresirane u design docovima:
1) use caseovi ili benefits, tekstualno nabrojani primeri, manite me
uml dijagrama.
2) rizici, sta treba investirati, koliko cijeg vremena, sta je
potrebno od software-a koji nije besplatan, koliko gigabajta
diska/mreze/koliko jezgara u eksploataciji.
3) neki komplikovani inzenjerski arhitekturalni dijagram sa kockicama
i strelicama i obaveznim oblackom, ko prica sa kime.
4) sta se desava ako udari grom u server ili zgradu (da li postoji
drugi server negde i kako se prebacuje na taj server), ili ako
fakultet ne plati struju ili ako umre univerzitetska mreza.
5) kontrola pristupa i rizik naspram korisnika - sta se desava ukoliko
neko izvuce hard disk iz servera, ili se uloguje kao root i dumpuje
sadrzaj memorije tog procesa negde, kako stitimo podatke i kako
kontrolisemo pristup.

Ako neko od vas vise voli da otkuca sta je sa cime povezano i dobije
dijagram nego da crtka kruzica i kvadratice i povezuje strelice,
pogledajte Graphviz.
Jel ima neko da se nikad nije ulogovao na linux masinu i da ne zna da
instalira ubuntu servercic u virtuelnoj masini na svom kompu, da li
mislite da je to dobro okruzenje za test deployment ovih gore
nabrojanih stvari, meni deluje logicno da mozemo da probavamo stvari
tako, prokomentarisite ako se ne slazete.

Pozvao sam kolegu dominus-a na listu, on moze uzivo da objasni sve
koncepte vezane za code-review i linux/server/bla platforme, posto je
njegov diplomski rad implementacija i podesavanje tog workflow-a koji
predlazem da koristimo kako bi smo povecali "lepotu" koda i proizvoda.

Koji su vasi predlozi za style guide ? Sve kompanije i svi projekti ga
imaju, prvenstveno zato sto je komplikovano switchovati se izmedju 5
programskih jezika ako svaki ima svoj izgled.

http://code.google.com/p/google-styleguide/ sadrzi neke primere na
koje sam ja do sad navikao, nemam problem da promenim style po
potrebi, pogotovu sto je diskutabilno koliko cu koda ukupno pisati.
Dobar broj kompanija koristi nesto slicno (2 space indentaciju, "{"
nikad nije samo na liniji, itsl. jer je lakse raditi development na na
laptop-u) cak i na eeepc-u mozes da otvoris 2 kolone koda i da radis
Drugi veliki broj kompanija koristi defaults iz microsoft visual
studio alata, sve one windows kompanije koje koriste iskljucivo
microsoft i windows i visual studio.
Treci veliki broj kompanija (preostalih 20% developera koji rade za
startup-firmice) koristi u svim jezicima nesto sto inace lici na PEP-8
standard za python, tab koji vizuelno ide na 4 space-a, itsl.

Sta vi predlazete? Da li mislite da treba napraviti dokument, vezan za
pravila projekta?


Srdjan Rosic

Reply all
Reply to author
Forward
0 new messages