Tales from the Machine Room |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Taaaaanto tempo fa, in una galassia cosi' lontana che mi gira la testa solo al pensiero, esistevano i siti web. Che erano delle cose bellissime, dove qualcuno doveva scrivere della roba interessante. E tutti erano fatti in questo strambo "linguaggio" chiamato HTML, che un linguaggio non e'. Poi qualcuno penso' "ehi! che succede se io faccio in modo che il web-server possa chiamare un programma in risposta ad una richiesta? cosi' il programma puo' fare qualche cosa e ritornare la sua risposta sotto forma di una pagina web". E quello fu l'inizio della fine. Prima che tu potessi dire "load average" tutti i siti erano diventati dei mastodonti immani che facevano a gara a fare le cose piu' astruse ed a chi ci metteva piu' tempo per ritornare una miseranda paginetta al "visitatore". Poi qualcuno ebbe il lampo di genio: lo scripting. Che e' esattamente come prima, solo che invece di scrivere un programma uno scrive uno Script. Che deve essere pure interpretato prima che possa fare quello che deve fare.
All'inizio gli Script erano fatti in qualche cosa di strano come Perl, che solo coloro che sanno riuscivano a farci qualche cosa, poi un bel giorno, Microsoft, che non si era ancora liberata dal fascino di Basic si invento' ASP, cioe' lo scripting in VBScript. Poi venne la rivoluzione: arrivo il piaccapi'.
Adesso, basta che uno riesca a scrivere una roba come <?php print "hi"; ?> e subito puo' scrivere "Programmatore PHP" sul curriculum. Il risultato? Una montagna, no di piu', un planetoide di accrocchi sono stati riversati su una popolazione in cerca di 'web-application' come bocconi avvelenati tirati ad una muta di cani famelici.
Aho', intendiamoci, non dico che tutti quelli che scrivono roba in PHP siano cerebrolesi da eliminare, e' solo che, la mia percezione e' che la qualita' del software prodotto langue seriamente dietro alla quantita', che sembra molto piu' importante.
Ed oggi ne ho avuto l'ennesima conferma.
Uno dei nostri clienti ha 3 server, uno di questi viene usato per far funzionare una applicazione (scritta nel famigerato PHP) che viene usata da una serie di associazioni. Il server ha 6 o 7 vhost, ognuno dei quali ha una copia della famosa applicazione, con il suo database (si' perche' sviluppare una applicazione che sia multihost e' troppo difficile, fare un bel copia/incolla invece...). Tale applicazione non e' la solita fetecchia gratuita che ognuno puo' scaricare installare e poi "personalizzare" applicando uno "stile" (che e' identico a tutti gli altri stili che sono disponibili, cosi' alla fine tutte le installazioni sembrano uguali), nooooo... e' una applicazione commerciale. Il che significa che per fare il download, l'installazione e poi la 'personalizzazione' bisogna pagare. E poi ci si ritrova con una applicazione che e' sostanzialmente identica a tutte le altre che sono in circolazione perche' il foxxuto codice e' sempre lo stesso. Comunque, un server (dual-core con un 4 Gb di ram) per 7 vhost e 7 copie della stessa applicazione. Non dovrebbe essere un problema no? Ma qui' si parla di PiACCIdentiatePi', che e' come dire "JugoslAVA" riferito a $brancodipaguri.
Infatti stamani ricevo una bella mail dal nostro monitor che mi informa che il server non risponde piu'. Provo a collegarmi e risponde si', ma e' di una lentezza obbrobriosa. Quando riesco, finalmente, a fare login e digito un bel 'uptime', mi risponde con la lentezza di una lumaca morta che il load average e' di 109. Il che significa "no buono".
Un bel 'top' mi dice che MySQL ed Apache stanno succhiando via il 100% del tempo di processore.
Ora, essendo questo PietosamenteACCrocchiatoProgramma, ho subito pensando che qualcuno stesse provando a fare qualche cosa di poco pulito, ma una ricerca nel log di apache non mi ha fruttato nulla di eclatante, se vogliamo escludere il fatto che, qualunque cretinata, compreso un .jpeg di 10x10 pixel, richiedeva una query al database per essere estratto ed infine spedito all'ansioso utente dall'altra parte di internet (ue' sedicenti "piaccaprogrammatori", mai sentito parlare di Caching?).
Dopo un po' di madonne decido di agire proattivamente, faccio un bel reload di Apache e di MySQL e vedo il load average precipitare a 0 (vabbe', che ti aspetti? Apache e MySQL sono le uniche cose che questo coso fa), il che mi conferma che il problema sta nella foxxuta applicazione.
Dopo aver raccolto un po' di informazioni (apri la main page di quel coso ed il numero di query fatte sfiora il migliaio, carichi una Jpeg e la jpeg viene fuori dritta dritta dal database), ho preparato una bella mail per il CL in questione, cosi' da prevenire una sua eventuale richiesta ed evitare lo stesso stallo che mi capito' con la "libreria digitale", con tutti i dettagli relativi al numero di richieste fatte al database, il carico del server, la ram eccetera eccetera.
Nel pomeriggio la situazione del server si normalizza, vedo il numero di richieste scendere quasi a zero ed il carico del processore assestarsi su un "normale" 3.2.
Il mattino dopo vedo che il server e' di nuovo a palla e nello stesso tempo mi suona il telefono.
CL - Sono CL.
IO - Si', devo supporre che tu mi chiami per $server, vero?
CL - Si' infatti, che sta succedendo?
IO - Succede che quella chiavica di applicazione che usate non riesce a stare
dietro ad un migliaio di richieste all'ora e si impalla, sovraccaricando il
processore.
CL - Ma... come non riesce a stare dietro?
IO - Allora, se vai su $url, vedi le statistiche del server e vedi anche che
durante la mattinata il numero di richieste medio e' di circa mille all'ora ed il
tempo di risposta e' di una mezza giornata per richiesta. Al pomeriggio le cose
si tranquillizzano ed il server risponde subito. Quindi e' ovviamente un problema
di sovraccarico.
CL - Hummm.... ma mi sembra strano...
IO - Senti, noi gestiamo il server dal punto di vista hardware ed OS, non software,
cosa avete fatto ultimamente a quella macchina?
CL - Be'... abbiamo installato la versione X.Y dell'applicazione che avrebbe dovuto
risolvere alcuni problemi di prestazioni...
IO - Ah... certo, le prestazioni sono cambiate drasticamente.
CL - Secondo te che si puo' fare?
IO - Mah, io comincerei con il fare il downgrade alla versione precedente che
mi sembra funzionasse molto meglio e poi magari vedere come si puo' ottimizzare
quell'affare. Voglio dire, non e' possibile che per caricare UNA pagina mi fate
piu' di 1000 query al database.
CL - Ma l'applicazione non l'abbiamo fatta noi, e' fatta da $accolitadiimbecilli.
IO - Si ma l'avete pagata no? E non avete supporto per quella cosa?
CL - Hummm... provero' a vedere.
E ci siamo lasciati che lui avrebbe provato a domandare alla loro "esperta" del coso (si' e' donna). Io, piu' per masochismo che per altro, ho provato a vedere il sito web di $accolitadiimbecilli. Il mio firefox e' stato li' in "waiting" per un bel 5 minuti 5 e poi mi ha risposto che "il server non risponde", dopo un 4-5 tentativi finalmente mi becco una pagina che mi dice che "a causa di un upgrade sbagliato stanno avendo problemi di performance e di ripassare piu' tardi"... Eating your own poisoned dog food are you?
Davide
19/01/2009 08:00
Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.
-AT- Luca By Luca posted 19/01/2009 08:20
....<ZAP!>
-AT- Luca By Davide Bianchi posted 19/01/2009 08:37
> ....<ZAP!>
Esistono i forum, esistono i newsgroups, esiste google... ed esiste il mio sito che NON E' nessuno di questi.
-- Davide Bianchi
feed By RaDu posted 19/01/2009 08:36
-- RaDu
-AT- RaDu By Davide Bianchi posted 19/01/2009 08:36
I feed si aggiornano ogni tot ore, pazienza e fede.
-- Davide Bianchi
Il problema sta davvero nel linguaggio? By Gama posted 19/01/2009 08:38
Come dici giustamente pero' chiunque sia in grado di aprire un tag di script php e fare una echo si definisce "programmatore php" (ogni riferimento alla mia collega fancazzista e' puramente voluto).
Quello che pero' mi chiedo e': come mai si e' arrivati a questo punto?
Gama
-- Gama
-AT- Gama By Davide Bianchi posted 19/01/2009 08:40
Perche' c'e' una domanda (vera o generata).
-- Davide Bianchi
-AT- Davide Bianchi By Gama posted 19/01/2009 08:49
> --
> Davide Bianchi
E' proprio questo che mi fa specie: questa smodata necessita' di avere qualcosa che funziona ma che in realta' o non funziona o funziona male. Quando io mi siedo con l'obiettivo di realizzare qualcosa cerco di farlo nel modo migliore e ci metto un minimo di ragionamento ma, in casi come questo, mi chiedo se per lo meno hanno pensato almeno per quattro secondi a rendere migliore il programma.
Anche dalla parte di chi acquista vedo un'assuefazione a prodotti mediocri o scarsi senza il coraggio o la semplice voglia di cercare di meglio. Questo giovedi' saro' in trasferta perche' un'azienda ha chiesto di rimettere in sesto una loro web-app dopo essersi resa conto che quello che hanno e' pressoche' una schifezza. Mi rendo sempre piu' conto che e' questa l'eccezione.
-- Gama
-AT- Gama By Davide Bianchi posted 19/01/2009 08:59
>
> E' proprio questo che mi fa specie: questa smodata necessita' di avere qualcosa che funziona ma che in realta' o non funziona o funziona male. Quando io mi siedo con l'obiettivo di realizzare qualcosa cerco di farlo nel modo migliore
Si, ma tu non hai il problema di presentare un rendiconto ai tuoi finanziatori che dice "abbiamo guadagnato X milioni in questo trimestre".
> Anche dalla parte di chi acquista vedo un'assuefazione a prodotti mediocri o scarsi senza il coraggio o la semplice voglia di cercare di meglio.
Questo solo perche' chi compera non e' in gradi di distinguere.
-- Davide Bianchi
-AT- Gama By Francesco Paolini posted 20/02/2009 22:20
io mi ricordo di quando il prof alle medie ci faceva fare i programmi in italiano e poi "tradurli" in basic e compilarli col gwbasic...
-- Francesco Paolini
software e costi By Zot posted 19/01/2009 09:24
"nulla si crea, nulla si distrugge tutto si commenta"
Per esperienza
Zot
-- Zot
-AT- Zot By Carlo posted 19/01/2009 19:01
> "nulla si crea, nulla si distrugge tutto si commenta"
>
Bellissima!!!
Posso usarla come signature?
-- Carlo
Non sanno... By Marco Musicò posted 19/01/2009 09:58
Non mi stupisce, quindi, che ci siani "supposti" programmatori che vadano a fare casini in giro perchè a fare qual lavoro ce li ha messi qualcuno che non ha la più pallida idea di cosa sia un programmatore!!
J.
<OT>
Davide, pensa che dopo anni che ti seguo sono andato a leggere il tuo CV solo di recente e ho scoperto che sei della zona di Pavia! Fa piacere sapere che un "conterraneo" sia così famoso!!
</OT>
-- Marco Musicò
scusatemi... By Herr Franz posted 19/01/2009 10:04
-- Herr Franz
É scappato... By Gaetano Sasso posted 19/01/2009 10:12
...o era una nuova feature non documentata???
-- Gaetano Sasso
-AT- Gaetano Sasso By Francesco Paolini posted 20/02/2009 22:21
> ...o era una nuova feature non documentata???
> --
> Gaetano Sasso
era un test di carico del sistema!
-- Francesco Paolini
subject By Nik posted 19/01/2009 10:20
-- Nik
-AT- Nik By Carlo posted 19/01/2009 19:03
> --
> Nik
sgrat sgrat... le ultime parole famose
-- Carlo
Problema By Andrea Occhi posted 19/01/2009 10:39
Poi il fatto che sia relativamente semplice, che richieda poche risorse (penso in confronto a Java), lo ha fatto un linguaggio comune.
L'errore è nelle 1000 query per l'home page, o per le immagini su un db, non che le query vengano fatte da php.
IMHO, naturalmente...
-- Andrea Occhi
A Nik... By Francesco Milanese posted 19/01/2009 10:45
-- Francesco Milanese
-AT- Francesco Milanese By Nik posted 19/01/2009 18:49
azz.... maledetto sgrat sgrat sgrat
no vabbé, scherzi a parte... può anche sbagliare, come tutti, e sicuramente ci sono programmatori più esperti e più bravi, ma almeno è un ragazzo sveglio e intelligente e le idiozie in genere le evita
-- Nik
Non nella scopa By Motosauro posted 19/01/2009 10:51
Php non obbliga a scrivere male, incoraggia solo (in particolare a causa della tipizzazione dinamica imho)
Volendo in php si possono scrivere delle cose ordinate e ben funzionanti. Bisogna sapere dove si vuole andare a parare, certo.
E certamente il web ad oggi è PIENO di PattumeHighlyPutrescent
-- Motosauro
subject By Daniele posted 19/01/2009 11:29
Basta pensare a:
login : root
password : root (o nell'ipotesi piu' rosea root123)
-- Daniele
-AT- Daniele By Motosauro posted 19/01/2009 14:37
> Basta pensare a:
> login : root
> password : root (o nell'ipotesi piu' rosea root123)
> --
> Daniele
M-AT-#!a, come hai fatto a scoprire la password di root di tutte le mie macchine?
Mi hai messo un keylogger?
:-)
-- Motosauro
-AT- Daniele By Giovanni R. posted 19/01/2009 23:13
> Basta pensare a:
> login : root
> password : root (o nell'ipotesi piu' rosea root123)
> --
> Daniele
Personalmente uso spesso password simili, devo ammetterlo, ma non ho mai usato 123 dentro una mia password.
Se non ci fosse gente come quella di cui parliamo male qui, noi non avremmo un lavoro!
;-)
Ciao
-- Giovanni R.
Programma Hyper Porcata By Stéphane posted 19/01/2009 12:41
Magari una volta dovrei scrivere qualcuna delle Horror Story che mi son capitate e mandarle al buon Davide...
-- Sté-Phane
-AT-Marco Musicò By miniBill posted 19/01/2009 17:56
>casini in giro perchè a fare qual lavoro ce li ha messi qualcuno che non ha la
>-Più pallida idea di cosa sia un programmatore!!
Fin troppo spesso la gente parla/prende decisioni su cose di cui non ha neppure una vaga idea, come quelli che "bisorrebbe aumentare il controllo" riferendosi al tuTubo
-- miniBill
-AT- miniBill By Francesco Paolini posted 20/02/2009 22:23
> Fin troppo spesso la gente parla/prende decisioni su cose di cui non ha neppure una vaga idea, come quelli che "bisorrebbe aumentare il controllo" riferendosi al tuTubo
oppure come quelli della vittoria di Napoleone a Waterloo...
-- Francesco Paolini
Verduraio By Carlo posted 19/01/2009 19:01
Non è che chi ha fatto il piaccaperozzo non sia un programmatore lotus che aveva la tv rotta alla sera?
-- Carlo
subject By kallsu posted 19/01/2009 19:26
AVE !
Perché tu non hai ancora avuto a che fare con $ProgrammatoriPiAccaP e il loro astruso concetto di WebbAService, perché tu pensi che quando risp "SI" alla domanda "Devi interrogare un WebbAService che ha parametri COSI&COLA .... , sei capace ?" ti aspetti almeno un "Hello World!" compaia sulla sua pagina e non una valanga di errori nel log.
-- kallsu
Spezziamo una lancia... By Daniele posted 19/01/2009 19:49
(si, programmi di reporting o business object sono ovviamente troppo costosi).
Normalmente ogni 6 mesi richiamano per una modifica, con disponibilita' di pecunia inversamente proporzionale alla complessita' della stessa.
Ergo, spesso applicazioni (anche ben studiate) vengono nel tempo stravolte fino a diventare accrocchi monumentali...
La cosa triste e' quando queste vengono poi vendute!!!
-- Daniele
sono senza parole By Lorenzo Pasquinelli posted 19/01/2009 20:15
Senti ma non è che dalle tue parti cercate gente valida? La cosa potrebbe interessarmi..
-- Lorenzo Pasquinelli
Sono un PHP accozzaro. By Alex ARNZ posted 19/01/2009 20:16
Il problema, penso, che sia più che altro il fatto che sempre di più i programmatori sono cut_and_paste managers. Cioè gente che prende, copia, incolla da libri, esempi, tutorials di internet e cerca di farli funzionare o al limite di fare uscire qualcosa senza dare (troppi) errori.
Avete mai visto un programmatore moderno buttare giù un diagramma di flusso? Io no. All'università (ho studiato ben altro) i diagrammi di flusso erano all'ordine del giorno per risolvere ogni problema. Se uno non ha in mente lo schema di quello che deve fare, il risultato non può che essere pessimo. Buttano giù due righe di codice, e anzichè focalizzarsi sui risultati, perdono tre giorni a fare l'interfaccia carina che poi ritoccano mille e altre mille volte nel corso del progetto ed infine è una accozzaglia di patch come tutto il resto.
-- Alex ARNZ
-AT- Alex ARNZ By Gama posted 19/01/2009 21:20
> --
> Alex ARNZ
Per questo farebbe molto comodo dover OBBLIGATORIAMENTE rispettare gli standard di accessibilità: dovendo realizzare un'applicazione in grado di funzionare anche su browser testuale, con pagine linearizzate, con gli stili e javascript disabilitati si parte a lavorare da quello che e' il progetto e non dall'interfaccia (se non quella concettuale di uso della pagina).
-- Gama
-AT- Gama By Alberto posted 20/01/2009 13:09
> --
> Gama
in tal caso su questo sito non potresti fare login.
Alberto
-- Alberto
Parlate di programmatori "cialtroni"... By Fabio posted 19/01/2009 20:45
E' il pregio e allo stesso tempo il difetto del php quello di permettere di creare subito "qualcosa" anche con scarse conoscenze.
PS: E pensare che 5 query a pagina per il mio sito mi sembravano troppe, loro ne fanno 1000!
-- Fabio
cialtroni & accrocchi By Giovanni R. posted 19/01/2009 23:15
fortunatamente ci sono incapaci che fanno si che noi si abbia tutti lavoro.
cosa faremmo in un mondo di lusers?
-- Giovanni R.
Mah... By The_Yeti posted 20/01/2009 11:30
Ma somigliamo così tanto agli stregoni???
-- The_Yeti
-AT- The_Yeti By Davide Bianchi posted 20/01/2009 11:51
Come no? Esempio: CL prova a fare una cosa e riceve un messaggio di errore, chiama il Sysadmin che fa la stessa cosa e funziona... cosa deve pensare CL? a) il sysadmin ne sa piu' di lui o b) magia! Secondo te cosa pensa CL? Se pensasse (a) non sarebbe piu' un CL.
-- Davide Bianchi
-AT- Davide Bianchi By Gandolfo "Infinity" Ivo posted 21/01/2009 22:08
Io direi entrambe (ma in ordine inverso) ma solo perchè sono BastardoInside[TM]
Secondo me i CL hanno una visione del tutto "stregonesca" dell'informatica, ma questa è una mia idea
-- Gandolfo "Infinity" Ivo
ce l'hai contro il php By checkitout3 posted 20/01/2009 16:02
il fatto è che oggi c'è sempre meno tempo===soldi per sviluppare quindi si usa ciò che fa più comodo... ma 1000 query per un index mi sembra un tantino esagerato..
Buona settimana
-- checkitout3
cmq è vero... By Manuel posted 20/01/2009 17:24
Si, siamo stregoni
-- Manuel
-AT- Manuel By Lorenzo posted 20/01/2009 21:42
>
> Si, siamo stregoni
Dissento, gli stregoni sono i CL, che riescono ad operare in modo tanto astruso da generare ogni possibile (ed impossibile) problema. Il sysadmin in genere opera nel modo piu' semplice possibile, in modo logico, ed ecco che, ovviamente, il problema non si presenta.
-- Lorenzo
Piaccachì? By Fame posted 21/01/2009 11:55
Il fatto è che se esistono aziende che vanno avanti per tentativi ogni scimmia va bene.. inoltre prevale la logica di usare il primo strumento che capita senza chiedersi se sia il più adatto.
Riguardo alla "magia" io provo a far capire ai CL che certe cose NON si possono fare e quindi NON sono da chiedere
CL: "sai come aprire un volantino con estensione *.$locale_dove_ubriacarsi ?"
IO: "visto che in tutta l'azienda non esiste una licenza Bubblesher non è possibile aprirlo: fattelo mandare in Worp! Cmq tra mezz'ora te lo mando convertito.. (trattavasi di foglio A4 con sopra 6 screenshot per 40 Mb)"
Ciao a tutti - Fame
-- Fame
PHP By Emanuel_e posted 21/01/2009 17:27
Il problema sta nel fatto che, proprio perchè facile, ci sono in giro moltissimi programmatori wannabe che di fatto non conoscono una beneamata e si considerano geni nel saper eseguire un banalissimo echo. E poi non sanno organizzare un database e/o fanno centinaia di query sulla stessa pagina.
Se uno vuole mettersi ad utilizzarlo sul serio si deve comunque metterlo a studiare. C'è poco da fare.
-- Emanuel_e
$Mitico... By Thurill-AT-gmail.com posted 21/01/2009 21:39
Giuro, mi son piegato dal ridere...
Buona settimana D.
-- Thurill-AT-gmail.com
Beh.... By Massy posted 22/01/2009 04:17
Sarò sfigato io ma di progetti del genere da ristrutturare, ampliare e migliorare ne vedo a iosa.
'sti giorni stiamo lavorando su un sito, anzi pardon, su una "web apps primaria":
primo file aperto
if ($var>0) {
do something
} else {
if ($var>0) {do something2}
}
e un rarissimo commento
// capire perché non fa mai something2
dici che è colpa di php?
-- Massy
-AT- Massy By Emanuel_e posted 22/01/2009 08:45
> if ($var>0) {
> do something
> } else {
> if ($var>0) {do something2}
> }
> e un rarissimo commento
> // capire perché non fa mai something2
>
> dici che è colpa di php?
> --
> Massy
Logico. O, perlomeno, per il CL la colpa sarà sempre e comunque di php.
-- Emanuel_e
-AT- Massy By Andrea posted 22/01/2009 11:14
> if ($var>0) {
> do something
> } else {
> if ($var>0) {do something2}
> }
> e un rarissimo commento
> // capire perché non fa mai something2
Dehihiho!
Possiamo ammirare:
1)Un'ineccepibile strutturazione logica del codice
2)Un esempio da manuale di commento
-- Andrea
-AT- Davide Bianchi By Davide Bianchi posted 22/01/2009 11:31
> 1)Un'ineccepibile strutturazione logica del codice
> 2)Un esempio da manuale di commento
Vedo il tuo esempio e rilancio: tratto dal codice di una foxxuta applicazione (di cui parlero' diffusamente nelle storie future):
int customerId = 0;
if( customerId == 0 ) {
...
}
if( customerId == 0 ) {
....
}
...
--
Davide Bianchi
-AT- Davide Bianchi By Andrea posted 22/01/2009 15:40
>
> int customerId = 0;
>
> if( customerId == 0 ) {
> ...
> }
>
> if( customerId == 0 ) {
> ....
> }
>
> ...
Si vede che a qualcuno piace "if"...
-- Andrea
non è colpa di php o almeno... By soichiro posted 22/01/2009 13:21
La principale colpa di php è il mantenere la compatibilità con le vecchie versioni che permettevano di tutto o quasi, mentre con le nuove versioni, a partire dalla 5, pian piano sti stà cercando di rendere più stringenti i controlli sul codice (basti pensare alle register_globals impostate di default su Off), poi con la versione 6 si avrà un ulteriore giro di vite.
Il problema come nella maggior parte dei casi è tra sedia e tastiera con decine di pseudo-programmatori(dei veri e propri script kiddies) che utilizzando la marea di codice che si trova in rete creano dei mostri che a volte per oscuri motivi diventano pure di successo :F.
Ho una domanda da farvi: non riesco a capire che vantaggio (reale) che si ha mettendo le immagini dentro il database? A me sembra un'inutile complicazione e appesantimento del db visto che i server sono abbastanza veloci in risposta anche con il filesystem.
-AT-Alex ARNZ: io sono uno di quei pochi programmatori che perde delle ore prima di mettersi a scrivere del codice per fare diagrammi e schema database, visto che le poche volte che non l'ho fatto ho perso il triplo del tempo.
-- soichiro
-AT- soichiro By Davide Bianchi posted 22/01/2009 13:41
Perche' a me viene in mente Microsoft ed i suoi tentativi di rendere "sicuro" Windows aggiungendo pezze e pinzillacchere?
> Ho una domanda da farvi: non riesco a capire che vantaggio (reale) che si ha mettendo le immagini dentro il database?
Il "vantaggio" (se vuoi chiamarlo cosi') e' che puoi gestire tutte le immagini tramite una interfaccia, lo svantaggio e' che non puoi usare i meccanismi di caching di Apache per gestirti il contenuto non-dinamico.
-- Davide Bianchi
-AT- soichiro By Gama posted 22/01/2009 14:40
>
Questa la vivo tutti i giorni sulla mia pellaccia: fiumi di codice recuperato sa solo il web dove ed incollato senza nemmeno aver capito cosa fa (talvolta con tanto di commenti in lingue impronunciabili). Va bene il riuso del codice ma certa gente esagera!
> Ho una domanda da farvi: non riesco a capire che vantaggio (reale) che si ha mettendo le immagini dentro il database? A me sembra un'inutile complicazione e appesantimento del db visto che i server sono abbastanza veloci in risposta anche con il filesystem.
Oltre a quanto detto dal padrone di casa posso aggiungere anche l'elemento "mi manca l'hardware o raggiungerlo e' un suicidio": spazio sul web server ridotto all'osso e conseguente impossibilita' di inserire li' sopra immagini piu' grosse di una manciata di pixel, impossibile acquistare una nuova macchina per lo stoccaggio delle immagini e database server con un paio di TByte a disposizione. La soluzione e' pressoche' obbligatoria in questo caso.
Unico problema grave riscontrato: il backup su nastro non ha problemi di sorta ma quello eseguito tramite MySql non digerisce bene la mole di dati e ci manda a stendere. Cosa fare quando $collegaPelato si mette a smanacciare sul db DI PRODUZIONE e dopo un fallimento i dati sono compromessi?
Gama
-- Gama
-AT- soichiro By Motosauro posted 22/01/2009 15:40
>
> La principale colpa di php è il mantenere la compatibilità con le vecchie versioni che permettevano di tutto o quasi, mentre con le nuove versioni, a partire dalla 5, pian piano sti stà cercando di rendere più stringenti i controlli sul codice (basti pensare alle register_globals impostate di default su Off), poi con la versione 6 si avrà un ulteriore giro di vite.
> Il problema come nella maggior parte dei casi è tra sedia e tastiera con decine di pseudo-programmatori(dei veri e propri script kiddies) che utilizzando la marea di codice che si trova in rete creano dei mostri che a volte per oscuri motivi diventano pure di successo :F.
>
> Ho una domanda da farvi: non riesco a capire che vantaggio (reale) che si ha mettendo le immagini dentro il database? A me sembra un'inutile complicazione e appesantimento del db visto che i server sono abbastanza veloci in risposta anche con il filesystem.
>
> -AT-Alex ARNZ: io sono uno di quei pochi programmatori che perde delle ore prima di mettersi a scrivere del codice per fare diagrammi e schema database, visto che le poche volte che non l'ho fatto ho perso il triplo del tempo.
> --
> soichiro
Ehm, m'ero dimenticato di fare login
Sempre sull'archiviazione in mysql ho fatto più siti dove l'archiviazione di dati Ğriservatiğ tipo fatture viene fatta in tabelle, apputno per levarli dal filesystem
-- Motosauro
-AT- Motosauro By Davide Bianchi posted 22/01/2009 15:45
mysqldump, questo sconosciuto... se i dati "riservati" non li crittografi...
-- Davide Bianchi
-AT- Davide Bianchi By Motosauro posted 02/02/2009 10:36
>
> mysqldump, questo sconosciuto... se i dati "riservati" non li crittografi...
> --
> Davide Bianchi
a dire il vero non mi è del tutto sconosciuto e se il campo blob viene immesso tramite AES(), affiancato dall'AES() della chiave penso che siamo abbastanza sicuri (a patto di non perdersi la chiave master).
Che tu sappia un campo archiviato come AES è decriptabile anche senza chiave se ne viene fatto il dump tramite mysqldump?
Se sì devo rivedere il design di un paio di cosette
-- Motosauro
php parte 2 By soichiro posted 22/01/2009 16:27
-AT-davide si parla di web application e secondo me il discorso dell'interfaccia unica mi sembra più pratica fatta proprio con php/asp/ecc. con nel database solo dati testuali o int(es. pk, nome del file, descrizione, chiave esterna se necessaria).
La gestione immagini secondo me andrebbe realizzata tramite scripting(usando le funzioni legate al filsystem e alla libreria relativa la gestione delle immagini).
Mi ricorda una discussione sul forum PHP di html.it a cui ho partecipato, in cui l'autore asseriva che gli include rallentavano pesantemente gli script e portava come esempio un ciclo che apriva tipo X000 un file con include() con la misurazione della durata di esecuzione :F, e la brillante soluzione era mettere i dati degli include su una tabella perchè aveva prestazioni migliori o_O(solitamente negli include ci metto proprio i dati di accesso al database e le varie funzioni raggruppate in un solo file per avere la comodita di aggiornare le sezioni dinamiche del sito cambiando un solo file :F ).
-- soichiro
-AT- soichiro By Davide Bianchi posted 22/01/2009 16:32
Ricordati anche di calcolare quanto costa fare il backup di quel disco e verificare che funzioni (il backup).
-- Davide Bianchi
acc! By Simone posted 23/01/2009 09:15
"Hello root,
You are receiving this automatic notification message because you are listed as the contact for node $servers.
The node has Failed its scheduled backup."
per un totale di 8 email con nomi di server diversi... guardo l'unità nastri e li in bella vista un nastro incastrato dentro... dove ho messo l'estintore (strumento di tortura da me preferito)?
ps. per una ragione o per l'altra anche ieri e l'altro ieri il backup è fallito. oggi sarà una giornata molto terrificante
-- Simone
I peccati del PHP By Cymon posted 25/01/2009 17:58
Per questo preferisco il perl. Ci fai le stesse (ma proprio TUTTE) cose del PHP, ma visto che è ritenuto vecchio e criptico la maggior parte della gente se ne tiene lontana.
-- Cymon
Linguaggio o programmatore By Fiorenzo posted 06/02/2009 12:44
Quindi, impariamo a programmare in modo decente, impariamo a testare ciò che facciamo prima di lanciarlo sulla luna, e poi, quando e se troviamo dei limiti nel linguaggio (dopo però aver imparato bene a programmare) allora cambiamo linguaggio.
Probabilmente ho detto delle cose scontate, ma da quello che leggo nella storia in cui sto lasciando questo post, forse non sono poi così scontate.
Un saluto a tutti e in modo particolare a Davide
-- Fiorenzo
Cosa ti ASPetti? By Marco Panino posted 30/03/2009 14:01
"cerco programmatore php, asp, java, .net, con approfondite conoscenze di frontpeig, photoshop e illustrator, max 24 anni, min 8 anni di esperienza laureato o con titolo equivalente"
cosa ti aspetti?
Tempo fa mi proponevo "solo" come uno che programma (bene) php, e non volevo fare (male) grafica. Non é quello che vuole il mercato...
Ma se emigro in nord-europa pure io trovo un lavoro decente?
-- Marco Panino
-AT- Marco Panino By Davide Bianchi posted 30/03/2009 14:29
...io potrei dirti http://www.soft-land.org/faq/lavoro
> Ma se emigro in nord-europa pure io trovo un lavoro decente?
Hemm... definisci "decente"...
-- Davide Bianchi
PiAccaacidoPerforza By Antony Star posted 04/09/2009 11:54
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.