15.01.2021 | 20:03
Djipi kaže:
Dakle, trebalo bi se vratiti na početak pa zaključiti možeš li elementarni CRUD napraviti jednostavnije (možeš - guglaj "CRUD generators").
Da sam bio zadovoljan s rudimentarnim CRUDom, to bi sve već bilo gotovo i funkcionalno, i ne bi me uopće mučio problem debugiranja PHP-a, jer bi sve bilo napravljeno stvarno čistim krampom i lopatom (PHP i HTML, bez JS
).
Međutim, treba mi (želim) "tablicu u tablici", tj. relacijski prikaz. Tablica projekata i onda na klik, ispod jednog konkretnog projekta, tablicu bilježaka uz taj projekt.
Ako ti se to ne sviđa (jer se plaća i jer ovisiš o tuđem kodu), imaj na umu da je sve što moraš napraviti netko već napravio u nekom frameworku
Razumijem, shvaćam i - ne prihvaćam. Svakako si u pravu (i ti, i Riba, i yawn pong, i ostali) - ne bavim se ovim profesionalno, ne radim rješenje za ikog trećeg, ne kanim to nikom naplatiti. Ali najbitnije je da - moram to sam održavati. U 35 godina koliko ima da sa više ili manje intenzivno bavim programiranjem, kad god sam iskoristio nešto što je napravio netko drugi, ne bih li uštedio vrijeme, to je završilo tako da sam više vremena izgubio na debugiranje tuđih sranja, nego što sam uštedio time što nisam sam isprogramirao "from scratch".
Da se razumijemo, nije da ne bih radije i platio nekom da mi to napravi. Čak sam i pokušavao. Znaš kako je to završilo.
Uglavnom mi kažu - ne isplati se to raditi, nađi gotovo rješenje, odaberi neki SAS, plati pretplatu. Tu već imam problem što ne volim da netko drugi mrlja s mojim podacima čuva ih ili ne čuva kako treba, trguje njima i što ja znam. Ali veći je problem u tome što nijedan SAS nije usmjeren nekom tko radi moj posao (to je relativno uska niša, i još na malom tržištu) i ne odgovara mojim potrebama.
I tako, evo me tu gdje jesam.
Ako ostaneš pri svom rješenju (sirovi PHP + HTML + JS) imaj na umu da je razvoj na produkcijskom serveru također veliki no-no jer nehendlane greške kompromitiraju security.
Hvala ti na podsjetniku, znam to i to je rizik kojeg sam svjesno prihvatio. Zašto? Zato što nikad nisam uspio natjerati jbn MAMP da radi. Najgluplja i najtrivijalnija "step 1" stvar ne radi. Mysql server se ne odaziva. MAMP web server se kolje s apacheom od macos. I sve tako neka sranja. Jednostavno nemam dovoljno vremena da trošim na svu tu neku "baznu podlogu".
Da se vratimo na metaforu krampa i lopate, trebam rupu od 30x30x30 cm. Umjesto da idem na tečaj upravljanja bagerom i potpisujem ugovor o najmu bagera, lakše mi je i brže uzeti kramp i lopatu i ....
Pod (2) vrijedi ono od yawn ponga i polazi od pretpostavke da se credentiali za pristup bazi čuvaju na samo jednom mjestu (u nekom config fajlu, gdje su obično i druge konstante) i da fajlu u kojem se čuvaju nitko ne može prići - ako ne možeš zadovoljiti taj uvjet, kompromitiran si u startu.
Ajde molim samo malo pomoći u razumijevanju ovog. Ako se ti credentiali čuvaju u nekoj datoteci, koji je to točno korisnik kojem pomoću chmod i chown trebam omogućiti pristup toj datoteci da bi je php mogao otvoriti i pročitati?
Nevezano uz prethodno: uzmi u obzir da web appovi danas "bježe" od SQL baza u korist NoSQL baza jer NoSQL (MongoDB) bolje slijedi logiku dokumenata (koje koristimo u front-endu) i optimalnije rješava probleme ORM-a (Object Relational Mapper). Ako imaš fiksne tablice u bazi i ne previše stupaca u njima, možeš hendlati ORM i pješke ili kroz neki framework koji podržava ORM. Ali ako ti se struktura podataka mijenja, NoSQL može biti bolje rješenje. Ovo spominjem samo kao ilustraciju da "ni baze više nisu što su nekad bile".
Ovo isto mi je već nekoliko puta nekoliko raznih ljudi objašnjavalo istim ovakvim riječima, ali problem je uvijek isti. Ja ne kužim o čemu pričaš. U prijašnjim iteracijama ovakvih situacija, ja bi obično upitao: 'OK, što to znači konkretno za mene? Kad želim iz baze dohvatiti na primjer sve projekte koje sam radio za tog investitora, a započeti su nakon tog datuma i imaju status "zaključeni" te za takve projekte izvući sve zabilješke koje sadrže riječi "sastanak" i "proširenje", ja točno znam kakav SQL query trebam natipkati i kako će ispasti rezultat kojeg ću dobiti. Zašto je noSQL baza bolja za to i kako da ja takav isti output dobijem od nje?' I onda bi (tako je do sad bilo) dobio odgovor 'pa da, pa ne, pa treba sad konkretno vidjeti, pa nije to ista organizacija, pa ovo, pa ono' ali ništa konkretno...
Tako da je moj zaključak uvijek bio da je to fancy priča, ali ništa konkretno.
Bottom line - čini se da je vrijeme PHP web appova prošlo.
Od svega što sam u programiranju radio, najbolje sam zaradio krpajući stare (tuđe) COBOL aplikacije, kao student, ranih 90-ih.
Tada se nije činilo da je vrijeme COBOL aplikacija prošlo, nego je bilo jebeno očito da je prošlo. Zato i jesam dobro na tome zaradio jer su nekom još trebale, a njihovi autori su počeli umirati i/ili odlaziti u penziju.
Ne kažem da ću se na isti način opariti na PHP-u
, ali eto... opet mi je jeftiniji kramp i lopata od buldožera, a imam spomenutu rupu od 30x30x30 za iskopati...
Ali to i tako nećeš pojmiti dok ne probaš nešto slično napraviti na "aktualan način" pa si na miru.
Hvala ti na iscrpnom odgovoru! Iako neću poslušati tvoje savjete, to nikako ne znači da nisam nešto naučio.