Skip to content

Instantly share code, notes, and snippets.

@paulbarbu
Created January 1, 2012 18:47
Show Gist options
  • Save paulbarbu/1548023 to your computer and use it in GitHub Desktop.
Save paulbarbu/1548023 to your computer and use it in GitHub Desktop.
2012-01-01 16:42:07 paullik flavius, o intrebare rapida am legata de acest subsystem, verificarile le fac pe el?
2012-01-01 16:42:15 paullik sau trimit callbacks?
2012-01-01 16:42:40 paullik ca as putea avea un numar variabil de argumente de verificat
2012-01-01 16:42:57 paullik si atunci pt fiecare trimit si callback-ul aferent?
2012-01-01 16:49:59 paullik deci daca fac asa cu callbacks & stuff parerea mea e ca aglomerez mult prea tare sistemul
2012-01-01 16:50:24 paullik adica am yaCMS(modules(subsystem()))
2012-01-01 16:50:35 paullik == dotophp
2012-01-01 16:51:20 paullik pentru ca ma gandesc sa fac acest subsystem folosind pre-processing-ul actual
2012-01-01 16:52:17 paullik si atunci eu din pre-processing trimit toate callback si restrictiile si variabilele de care voi avea nevoie in subsystem(BL)
2012-01-01 16:52:39 paullik dar daca fac asa totul devine extrem de complex
2012-01-01 16:53:06 paullik ca ar trebui sa definesc si aici o "geometrie" a array-ului returnat de pre-process
2012-01-01 16:53:22 paullik si in diferite cazuri se poate sa nu se potriveasca
2012-01-01 16:54:20 paullik de ex. la un modul vreau sa dea eroare imediat cum se intampla ceva, dar la altul vreau sa ii arat utilizatorului erorile la un loc
2012-01-01 16:55:31 paullik sau ... daca am mai multe campuri in form, care sa fie optional, care nu sau verificari de duplicate in DB
2012-01-01 16:55:40 paullik unde as vrea sa verific, unde nu
2012-01-01 16:56:10 paullik adica as putea face totul cu un array asociativ asemanator modules.php, dar cred ca e prea multa complexitate apoi
2012-01-01 16:56:15 paullik ...
2012-01-01 16:57:06 paullik plus ca parametrii pt. callback banuiesc ca nu vor fii aceiasi tot timpul...
2012-01-01 17:18:30 bogdi salut
2012-01-01 17:19:51 flavius paullik: ti-ai ales ziua gresita haha
2012-01-01 17:22:34 flavius nu iti inteleg exact intrebarea dar nici n-am reusit sa citesc mai mult de 2 randuri
2012-01-01 17:22:39 flavius greu de concentrat
2012-01-01 17:22:58 flavius dar daca e vb despre ce banuiesc eu, problema ta e un non-issue
2012-01-01 17:23:18 flavius fiecare functie care accepta un cb ca param, stie ce semnatura trebuie sa aiba acel cb
2012-01-01 17:23:39 flavius iar caller trebuie sa se conforme documentatiei
2012-01-01 17:23:43 flavius am nimerit-o?
2012-01-01 17:24:20 paullik da, e normal ce zici tu
2012-01-01 17:24:25 paullik problema mea e altundeva
2012-01-01 17:24:49 paullik ca eu in diferite cazuri pot avea diferite variabile si comportamente diferite ale modulului
2012-01-01 17:24:49 flavius ok ok stai sa ma mobilizez
2012-01-01 17:25:47 paullik si nu stiu cum sa fac sa acopar toate acele comportamente, adica va trebui un array foare complex ca sa il fac sa returneze erorile imediat sau nu sau sa verifice anumite chestii, etc
2012-01-01 17:25:53 paullik nu zic ca nu e doable
2012-01-01 17:26:02 paullik dar zic ca va deveni f. complex
2012-01-01 17:26:21 paullik si cred ca ma complic degeaba pana la urma
2012-01-01 17:28:10 flavius deci, nelegat de problem at hand
2012-01-01 17:28:16 flavius absolut, te complici degeaba
2012-01-01 17:28:32 flavius ce faci tu e de facut ca sa inveti si apoi sa-l arunci la gunoi
2012-01-01 17:28:37 flavius am stabilit asta de la inceput
2012-01-01 17:28:47 paullik aa da clar, normal
2012-01-01 17:29:30 paullik deci continui asa
2012-01-01 17:29:38 flavius deci stai ca nu inteleg
2012-01-01 17:29:42 flavius vreau mai concret
2012-01-01 17:29:45 flavius oricum
2012-01-01 17:29:55 flavius imaginea ta yaCMS(modules(subsystem())) e gresita
2012-01-01 17:30:13 flavius corect e: yaCMS(modules(),subsystem())
2012-01-01 17:30:23 flavius "subsystem" asta e tot ca un modul
2012-01-01 17:30:28 flavius doar ca nu e accesibil direct
2012-01-01 17:30:45 flavius modulele "adevarate" si ele tot subsystems sunt
2012-01-01 17:31:09 paullik eu in actuala implementatie ma gandeam sa-l fac sa foloseasca pre-process asa:
2012-01-01 17:31:14 flavius acum, despre ce validare e vorba si despre ce cb e vb? concret
2012-01-01 17:31:22 paullik acum acum
2012-01-01 17:31:32 flavius termina-ti ideea
2012-01-01 17:32:40 flavius bogdi: salut
2012-01-01 17:32:48 bogdi salut
2012-01-01 17:32:50 bogdi flavius
2012-01-01 17:33:05 flavius bogdi: ai mai zis o data salut, eu acum iti raspundeam la salutul tau :)
2012-01-01 17:33:16 paullik userul intra pe pagina "agenda" si vede ca poate adauga ori o categorie ori un event, vrea sa adauge o categorie, deci apasa pe "add-cat" si apoi eu in pre-process in functie de add-cat sau add-event eu formez un array cu valori folosind compact() care ii vor folosi subsystem-ului
2012-01-01 17:33:24 bogdi aa, ok :D
2012-01-01 17:33:24 flavius bogdi: si ti s-a mai spus sa nu mai spui doar nickname fara continut
2012-01-01 17:33:50 bogdi cum adica
2012-01-01 17:34:13 flavius bogdi: asa nu:
2012-01-01 17:34:17 flavius flavius
2012-01-01 17:34:19 flavius salut
2012-01-01 17:34:21 flavius asa da:
2012-01-01 17:34:23 flavius flavius: salut
2012-01-01 17:34:39 paullik si apoi de pe subsystem sa folosesc acest array ca sa fac validari, sa introduc date in Db si sa generez output
2012-01-01 17:34:41 bogdi ok
2012-01-01 17:34:56 paullik asa e ideea mea de parametrizare a modulului
2012-01-01 17:35:21 paullik s/asa/asta
2012-01-01 17:35:24 flavius bun, deci tu ai trei module
2012-01-01 17:35:32 flavius events
2012-01-01 17:35:37 flavius categories
2012-01-01 17:35:41 flavius si meta-categoty
2012-01-01 17:35:55 flavius meta-category e "subsistemul"
2012-01-01 17:36:08 paullik vorbesti ipotetic, ce ar trebui sa am?
2012-01-01 17:36:12 paullik a, da
2012-01-01 17:36:17 flavius da, ipotetic
2012-01-01 17:36:25 paullik bun, spune
2012-01-01 17:36:30 flavius events si categories il hranesc pe meta-c cu cb-uri corespunzatoare
2012-01-01 17:36:51 flavius e un fel de "normalizare" "aducere la forma canonica" la nivel arhitectural, de module
2012-01-01 17:37:07 paullik da..
2012-01-01 17:37:14 flavius end of story
2012-01-01 17:37:17 flavius de acord?
2012-01-01 17:37:24 paullik de acord
2012-01-01 17:37:48 paullik dar event si category nu trebuie sa-i dea si variabilele lui meta-c
2012-01-01 17:38:01 flavius habar n-am :)
2012-01-01 17:38:04 paullik de care el ar avea nevoie ca sa le paseze la callbacks?
2012-01-01 17:38:14 paullik sau sa faca validari pe ele?
2012-01-01 17:38:34 flavius habar n-am :)
2012-01-01 17:38:57 paullik pff, ok, ma mai gandesc atunci cum fac asta
2012-01-01 17:39:12 paullik deci pica ce am zis eu cu pre-process daca trebuie modul separat
2012-01-01 17:39:34 paullik asa
2012-01-01 17:39:42 flavius meta-c trebuie sa faca tot ce tine de DB
2012-01-01 17:39:42 paullik validarile se fac pe meta-c ?
2012-01-01 17:39:56 paullik sau meta-c doar baga in DB?
2012-01-01 17:40:12 flavius depinde ce intelegi prin "a se face pe"
2012-01-01 17:40:24 flavius eu as zice ca da, meta-c face validarile
2012-01-01 17:40:37 flavius meta-c validates the input by calling back into the caller
2012-01-01 17:40:43 paullik in meta-c validez input, isValidName($name):
2012-01-01 17:41:05 flavius ce ai inteles din ultima mea propozitie?
2012-01-01 17:41:19 paullik ca foloseste callbacks ca sa valideze input-ul
2012-01-01 17:41:53 flavius exact, ca tu in meta-c nu poti sti care sunt euristicile de validare, nu stii despre ce modul e vorba, poate fi la fel de bine un modul din viitor
2012-01-01 17:42:26 flavius doar asa poti decupla treaba si-l face pe meta-c cu adevarat reutilizabil
2012-01-01 17:42:29 flavius de acord?
2012-01-01 17:42:36 paullik da
2012-01-01 17:42:50 paullik ok, o sa ma mai gandesc
2012-01-01 17:43:09 paullik (ma gandesc exact la ce am de implementat)
2012-01-01 17:43:10 flavius meta-c trebuie doar sa stie cum sa lucreze cu "date categorisite"
2012-01-01 17:43:27 flavius insasi descrierea modulului ar fi "reusable categorization system"
2012-01-01 17:44:30 paullik ok
2012-01-01 17:44:34 flavius daca la un moment dat vine seful si zice "baieti, clientul asta vrea aplicatia X, o putem construi ca un puzzle din componente pe care le avem deja A, B, C, dar singura lui cerinta e ca vrea LDAP in loc de MySQL"
2012-01-01 17:45:01 flavius atunci poti pur si simplu sa reimplementezi meta-c-ldap cu aceeasi interfata, fara sa fie nevoie de modificari in A, B, C
2012-01-01 17:45:24 paullik da...
2012-01-01 17:46:00 paullik vai...can't wait for OOP
2012-01-01 17:46:04 flavius o sa iasa o mare varza, dar te pregateste bine pentru capitolul cu OOP, conceptele vor ramane in principiu acelasi
2012-01-01 17:46:13 flavius aceleasi
2012-01-01 17:46:51 paullik eee, eu la varza aia ma gandeam cand am zis ca o sa fie destul de complex
2012-01-01 17:46:56 flavius conceptele pe care le inventezi acum raman valabile, dar vei avea automat gunoaiele inerente programarii procedurale
2012-01-01 17:47:04 paullik (desi ma gandisem la implemenattie putin diferit)
2012-01-01 17:47:23 paullik implementatie*
2012-01-01 17:47:30 flavius exact, complexitatea e data de acea varza, nu ca el in sinea lui ar fi complex
2012-01-01 17:47:38 paullik si am trecut cu vederea ca oricum il arunc la gunoi dupa
2012-01-01 17:48:05 flavius oricum nu sunt multe linii de cod
2012-01-01 17:48:17 flavius cate LOCs ai pana acum?
2012-01-01 17:48:19 paullik nu aia e problema mea :))
2012-01-01 17:48:24 paullik nu stiu
2012-01-01 17:48:32 flavius wc -l *
2012-01-01 17:48:54 flavius core-ul yaCMS si modulele
2012-01-01 17:49:11 paullik 1641 total -> dotophp
2012-01-01 17:49:25 flavius deci 2-3 zile de munca
2012-01-01 17:50:30 paullik 884 total -> yaCMS
2012-01-01 17:50:37 paullik am dat comenzile in src-ul lor
2012-01-01 17:50:47 paullik nu stiu daca a calculat si modulele...
2012-01-01 17:51:14 paullik 2-3 zile de munca?
2012-01-01 17:51:28 flavius cam asa, da, daca lucrezi la full speed
2012-01-01 17:51:58 flavius daca esti rutinat
2012-01-01 17:52:26 paullik pai stai ca in module la dotophp nu s-a uitat
2012-01-01 17:52:31 paullik doar global_* alea...
2012-01-01 17:52:49 flavius ideea e ca nu e ceva mare, am pastrat proiectul la un minim necesar, dar suficient de complex incat sa o poti da lejer in bara si sa inveti din asta ceva pentru lucrurile cu adevarat "complexe" de mai tarziu cu oop
2012-01-01 17:53:05 paullik dap
2012-01-01 17:53:08 flavius si fara sa ai prea multa frustrare cu refactoring
2012-01-01 17:53:46 paullik este intr-adevar minimul necesar
2012-01-01 17:53:53 flavius eu stiu ca e frustrant, stai linistit ca e o frustrare supervizata, controlata
2012-01-01 17:53:58 flavius fara nu se poate
2012-01-01 17:54:15 paullik inteleg
2012-01-01 17:54:30 flavius oricum e de o magnitudine de ori mai putina frustrare ce faci tu aici decat daca ai fi dat-o-n bara vreo 1-2 ani la rand cu incercari aiurea
2012-01-01 17:54:41 flavius pana sa te prinzi ce si cum
2012-01-01 17:54:51 paullik da, normal am fost ghidat
2012-01-01 17:56:04 paullik flavius, mersi
2012-01-01 17:56:08 flavius yw
2012-01-01 17:56:18 flavius bai m-ai trezit din lene
2012-01-01 17:56:30 paullik :)
2012-01-01 17:56:32 flavius nu e bine, voiam si eu sa lenevesc o zi
2012-01-01 17:56:40 paullik :))
2012-01-01 17:56:48 paullik ce mai muncesti?
2012-01-01 17:56:54 paullik meta?
2012-01-01 17:56:56 paullik sau altele?
2012-01-01 17:57:01 flavius altele
2012-01-01 17:57:09 paullik facultate banuiesc...
2012-01-01 17:57:22 flavius da
2012-01-01 17:57:31 flavius ma duc sa lenevesc :P
2012-01-01 17:57:36 paullik spor :)
2012-01-01 17:57:49 paullik mersi inca o data, ies si eu 10 min la aer si revin la treaba
2012-01-01 18:08:26 flavius paullik: am uitat sa spun ceva demn de retinut pentru mai tarziu: acel "meta modul" ar putea face parte dintr-un framework, fie separat (cum ar fi zend framework) fie integrat in yaCMS ca "furnizor de serviciu" (asa cum dokuwiki de exemplu iti pune la dispozitie tot felul de functionalitati - de exemplu te lasa prin intermediul pluginurilor sa accesezi parserul)
2012-01-01 18:09:04 flavius de fapt modulele alea pe care le ai tu momentan in yaCMS nu merita sa fie acolo. insa acesti "furnizori de servicii" ar avea loc perfect acolo. aia ar trebui sa fie yaCMS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment