Ei bine, se stie ca sintagma cu memorie de elefant nu este adevarata, micutele animale avand chiar o memorie mica, comparativ cu frumoasa incinta in care o stocheaza. Si totusi titlul e potrivit pentru articolul curent, in care ma adresez in special programatorilor ce lucreaza pe platforme ce comporta o multime de biblioteci, care necesita o multime de configurari si bucatele mici de cod configurate cum trebuie, astfel incat aplicatia dezvoltata sa functioneze cum trebuie. Cititorul atent a observat ca ma adresez cu predilectie programatorilor de Java, insa nu numai.
Problema pe care o ridic este urmatoarea: cum reusiti sa tineti minte toate configurarile, bucatelele de cod, posibilitatile de configurare, toate optiunile ce trebuie folosite atunci cand lucrati cu Hibernate, JPA, Spring, JSF, Struts, etc, faceti deploy pe JBoss, Weblogic, Websphere, doriti sa aveti HTTPS pe server, doriti sa aveti basic/digest/form authentication, trebuie sa va semnati aplicatia cu un certificat de test generat tot de voi, cum tineti minte care sunt URL-urile pentru API, documentation, manual de utilizare, reference page, cheat sheets, downloads page, etc. Cum reusiti sa tineti minte toate chestiile astea? Le notati undeva? Sau le cautati de fiecare data pe Google?
La enumerarea de mai sus as mai adauga link-uri interesante la tutorials, articole interesante, explicari faine pentru anumite teme, fisiere sau programe utile, pe care le-ai gasit in timp ce cautai o rezolvare la o problema, si pe care consideri ca e bine sa le tii undeva, pentru viitor.
Normal, o prima si simpla solutie e: “nu tin, si nu vad de ce as tine asa ceva“. E ok solutia, si multi colegi, din cate am vazut si discutat, nu tin asa ceva. Cel mult au un fisier in care mai tin cateva link-uri. Problema este insa cand incepi un nou proiect, sau cand trebuie sa implementezi un nou feature. Ai nevoie de biblioteca X, ai nevoie de o anumita configurare, stii cam pe unde vine, dar normal ca nu tii minte exact sintaxa, tag-urile XML pe care sa le folosesti, nu tii minte exact ce alte optiuni ai, s.a.m.d. Sa cauti de fiecare data pe Google, sa scanezi mereu tutorialele, cautand configurarea corecta, mi se pare complicat si obositor.
1. In cazul meu totul a pornit de la prima firma la care am lucrat, Delsyne SRL. Acolo colegii facusera pe server-ul firmei, central accesibila, o simpla pagina HTML (remember Gusty?
gri si cu link-uri albastre? ) in care aveau mai multe coloane, impartite pe segmente, fiecare segment alocat unei tehnologii. Acolo nu gaseai foarte multe chestii, dar oricum, aveai link-uri directa catre API-uri, link-uri catre ceva articole sau tutoriale mai speciale. Era o pagina buna sa ti-o pui ca si homepage.
Preluand exemplul de acolo, mi-am facut propria mea pagina cu link-uri. Exact pe aceeasi idee, doar ca mai bine structurata, deoarece aveam de gand sa o umplu cu link-uri, pe masura ce tot descopeream noi si noi resurse utile. Dupa un timp, pagina a devenit neincapatoare, greu de utilizat (trebuie sa ma uit atent prin toata pagina, sa gasesc link-ul dorit, desi la un moment dat invatasem unde erau elementele cel mai des folosite) si greu de administrat (era un HTML considerabil, plin cu TABLE, TR si TD si A-HREF-uri, si trebuia sa caut atent sa vad unde adaug noul link).
2. Am mai incercat varianta cu documente scrise sau printate, adunate intr-un caiet/mapa/biblioraft. Nu prea a mers, in special din cauza volumului de hartogaraie adunata. Ca sa nu mai zic de faptul ca ma durea inima de toata hartia aia printata (nu ca as fi eu foarte green, dar oricum
).
3. Varianta finala, si pe care o folosesc in prezent, este tot o solutie digitala, dar de data asta implementata putin mai complicat, si care e mai eficienta decat acea pagina simpla. Am denumit aplicatia silverdocs, si o puteti testa aici. Practic am structurat informatia pe tehnologii, impartit in documente separate, si am implementat o pagina principala care incarca fiecare segment de informatii doar la cerere. In felul acesta timpul de incarcare initial al paginii este (aproximativ) constant, indiferent de cantitatea de informatie, link-urile sunt usor de gasit. Aplicatia poate sa creasca oricat, iar editarea unui segment este foarte usoara, fiind practic vorba de un mic HTML, cu cateva link-uri in el.
In prezent rulez aplicatia local, atat pe calculatorul de la servici cat si cel de acasa, si o imbogatesc constant, pe masura de adun noi informatii despre tehnologiile cu care lucrez.
Imi ofera:
- campuri de search in principalele API-uri, sarind 2 sau 3 pasi in cautarea javadoc-ului pentru o anumita clasa
- o structurare a informatiei intr-un mod logic, usor de navigat si usor de accesat
- organizarea pe frame-uri imi permite sa caut o informatie, sa navighez prin rezultate, avand mereu in partea de sus un search box pregatit sa caute din nou pe Google (e drept, daca tii, in Firefox/Chrome/IE, acel Google search box activat, atunci asta e un element inutil; eu nu tin acel box afisat, deci ma ajuta)
- imi permite sa adun, pe langa link-uri catre tutoriale si articole, si documente text scrise de mine, care contin diferite code snippets sau diferite liste de pasi, pentru a configura o anumita biblioteca sau a implementa un anumit feature.
Pentru mine aplicatia este extrem de utila. Consider ca mi-ar fi foarte dificil sa tot caut de fiecare data aceleasi date, sa navighez mereu prin aceleasi pagini, si in general sa pierd link-urile utile si tutorialele pe care le-am gasit foarte utile si foarte bine scrise. Aplicatia este foarte rapida, o tin ca si homepage, si imi ofera, simplu spus, o extensie foarte utila a memoriei proprii
.
Voi v-ati confruntat cu problema asta? Cei care lucrati in Java, si nu numai, si care in permanenta va loviti de problema cu configurarile, cu gramada de XML-uri care trebuie configurate, cum faceti sa tineti minte ce si unde sa puneti?
PS: pentru cei interesati si care doresc sa isi faca propria versiune de silverdocs, gasiti aici un pachet de start. Readme-ul din arhiva explica elementele aplicatiei si cum se intretine.
Link-uri utile:
- silverdocs, aplicatia mea pentru adunare de resurse utile: http://codesway.110mb.com/sd
- silverdocs starter pack: http://codesway.110mb.com/download/silverdocs-starter.zip
si eu ma gandesc ca trebuie sa retin undeva linkurile/informatiile/orice, din cauza ca am o problema cu stergerile de memorie nocturne…
imi faci si mie un cont?
o tema sa arate ca un shell ai?
open source it?
subiectiv: mult mai fain decat igoogle.
Delsyne… mult de-atunci… mai tin minte, dar nu asa de bine, ca nu am memoria de elefant
.
Revening la subiect, pot sa spun ca e o pagina bine realizata si plina de linkuri utile; felicitari.
Eu am ales o solutie mai simpla si anume bookmarkuri in browser. X-marks e un add-on bun pentru Firefox si numai. Acolo stau (sincronizate pe toate pc-urile pe care le folosesc) linkurile cele mai importante. Singura chestie e ca trebuie sa mai fac curat din cand in cand, si nu e asa de usor. Chiar si acum, am vreo 45 de bookmarkuri intr-un folder temporar peste care ar trebui sa ma uit. Si care nu au neaparat ceva de-aface cu programarea. Bookmarkurile tin insa doar chestiile importante. Pentru a stoca mai multe detalii (chestii mai obscure), folosesc google docs.
Solutia ta e mult mai eleganta… dar necesita mai mult efort de intretinere.
Btw: vezi ca e mai usor acum pt. un stalker sa te urmareasca ca iti vede programul la transport
Wow simplele tabele de la Delsyne au evoluat nu glumă
Arată chiar bine aplicaţia. (Cineva mi-a trimis linkul către acest blogpost şi m-a întrebat dacă am lucrat cu tine, aşa am auzit de el).
Mulţi pe aici folosesc delicious. Eu nu prea am timp să folosesc bookmarks de nici un fel, şi în genere tot pe Google search mă bazez. Au lansat şi Google un fel de bookmarks pe results a.î. atunci când repreţi un anume search să îţi returneze mai întâi rezultatele pe care le-ai marcat la o căutare anterioară. Nu prea l-am folosit dar când l-a folosit a fost util.
Mă bucur să aud de tine
@Alex: din pacate aplicatia e foarte simpla (lucru care devine, de fapt, un avantaj, mai ales ca o poti gazdui pe orice web host free, care iti permite doar HTML, fara PHP). Prin urmare nu permite creare de conturi. In cazul in care chiar esti interesat de ea, am editat postul si am inclus un link catre un starter-pack.
@Gusty: da, solutia cu bookmark-urile rezolva mare parte din problema (eu acum caut o solutie pentru sync de Thunderbird Address Book si Message filters; sunt cateva, dar cam slabute). Pe de alta parte, in silverdocs am si multe notite proprii, lucru care se face mai greu cu bookmark-uri.
@Raul: ei, uite asta e o surpriza extrem de placuta. Bine ai venit pe cultivatInRo. Faina ideea cu rezultatele (e chestia cu drag and drop?), o sa o testez mai atent. Probabil insa ca trebuie sa fii mereu logged in, ca sa iti stocheze in cont setarile.
Cum iti raspunzi la intrebarea: “oare o sa-mi mai trebuiasca asta? fac un bookmark sau nu?”
eu prefer sa ma supar de fiecare data ca nu am memorie de elafant, dar cum e singura sursa de suparare din viata mea
e tolerebil
m-am uitat pe aplicatie.Mie nu-mi place(dar important e ca te descurci cu ea)
Sa-ti spun cum fac io: cand am ajuns la firma la care am ajuns “indrumatorul” meu mi-a recomandat sa ma duc sa-mi iau un caiet studentesc.Asa am facut si de atunci scriu cu creionul pe hartie.
Nu stiu altii cum sunt, dar eu raspund destul de usor la intrebarea cu “daca o sa mai imi trebuiasca”. Sigur, am si rateuri, chestii care nu mi-au mai trebuit niciodata, dar in majoritatea cazurilor ce am salvat a fost refolosit. (oricum, am incredere in capacitatea mea de selectie, astfel incat sa nu ajung sa indexez internetul
).
Solutia cu caietul e relativ ok (plus ca are si un parfum de traditionalitate) dar e o solutie limitata. Plus ca nu poti organiza informatia prea usor (se pot folosi tag-uri de hartie, semne de carte, sectiuni in caiet dedicate unui anumit subiect, eventual caiete diferite, unul pentru fiecare subiect) insa in cele din urma devine o resursa greu de administrat, greu de folosit. Ca sa nu mai zic de faptul ca daca o sa doresti sa convertesti continutul informational in alt format (digital sau nu) nu prea ai nicio solutie.
Offtopic: Buna Elena!
ma bucur de contact! bine ai venit pe cultivatInRo!
eu sunt prea “comod” ca sa stau sa organizez informatia intr-un anume fel, sa folosesc bookmarks sau aplicatii de genul silverdocs, prefer varianta “google it”, daca am gasit o data informatia care ma intereseaza, o voi gasi si a doua oara si stiu sigur ca voi investi timp doar in chestiunea care ma intereseaza…
PS: la stilul in care promovati articolele cred ca s-ar potrivi un alt format, nu cel de blog. Oricum, sunt uimit ca inca reusiti sa postati articole, ma asteptam ca proiectul cultivatinro sa moara… de-asta e bine sa fii pesimist, optimistul nu poate fi niciodata placut surprins…
Evident parerile sunt impartite. Pentru mine varianta cu “google it” merge, sigur, insa e mult mai lenta decat ce am salvat in silverdocs. Daca am pus ceva in SD, atunci sigur sunt la distanta de 2 clicks de respectiva informatie.
PS: draguta observatia cu optimistul/pesimistul, doar ca fundamental gresita. Cel care gandeste ca “doar pesimistul mai poate fi placut surprins” e sigur optimist.