Che application server usa corriere.it ? TomCat
Sanno generare dei Feed RSS fatti bene ? No, per questo e per tanti altri motivi
Proudly debugging the system since 1981
La sorgente di una JSP del ministero della salute, trovata tramite downloadblog, con tanto di bellissima query generata con un parametro GET non sanitizzato.
E poi a me bucano wordpress.
Non è giusto perche WP è fatto molto meglio di questa cosa anni 90. Non è giusto perchè fa danni a chi non ha migliaia di ore da investire in sicurezza, neanche volendo. Ma … alla fine … il software custom e con sorgenti private (non closed source, ma rilasciate all’unico cliente finale) anche se di qualità non eccelsa è difficile da attaccare. La sicurezza attraverso la non conoscenza non dà certezze assolute, ma sembra che statisticamente renda di più della sicurezza tramite validazione della wisdom of the crowd.
Pessimismo ? forse solo realismo. Gli attacchi a wordpress e phpBB sono reali e documentati. Ed entrambi sono software scritti bene. Non perfetti (altrimenti non avrebbero vulnerabilità) ma neanche di una bruttezza proporzionale al numero di attacchi che ricevono che invece vanno di pari passo con la diffusione del software in questione.
Per farsi 2 risata sulla SQL injection ricordo : E-di-cognome-cosa-fai
Prima di tutto il link
Poi discutiamo del fatto che l’if, come molti costrutti della programmazione imperativa, si presta all’abuso. Il software deve essere pensato per essere mantenibile e non una collezione ingestibile di pezze. Questo, come molte altre cose in informatica, si raggiunge col buon senso. Non è che sostengo, come la persona nel link qua sopra, che gli IF non vadano mai usati. Ma quando ce n’è uno lungo 780 caratteri, vuol dire che la progettazione di quel pezzo di software ha fallito. O non c’è mai stata.
L’ If è una delle strutture base, insieme al ciclo senza contatore e al GOTO ( si il dannato GOTO ). La programmazione alla fine si basa su questo. O se vogliamo ricondurla al’assembler JE o JNE … chi ha usato un disassemblatore X86 sà a cosa mi riferisco. Non si dimenticano i salti condizionati. Ma non si può esprimere concetti complessi in modo immediatamente comprensibile tramite di essi. Se ci metti 2 – 3 condizioni va bene. E’ chiaro e leggibile. Se ne metti 30 immischiate in un casino di parentesi e OR / AND ci metto 3 ore a campire cosa significano e 5 minuti a fargli-fare-cio-che devo fare. E generalmente quest’ultimo scenario deriva da pezze attaccante di volta in volta da programmatori che per voglia o per obbligo hanno applicato la filosofia del minimo-sforzo (e risultato appena sufficiente)
… ovvero ci toglieremo gli oggetti embedded di torno ?
Speriamo. Intanto per farsi una rapida idea delle novità, tra le tante cose scritte (e che non intendo riscrivere pure io) consiglierei questo : HTML 5 and CSS 3
Tra l’altro mi ha fatto scoprire un nuovo verbo inglese: To Zebra-stripe (something).
Italianizzato è ancora più bello. “Che te la zebrastrippo quella tabella o te la lascio piatta?”
Mi hanno appena abilitato l’account per il suddetto application server. Magari provo a far qualcosa.
Considerazione numero 1 : Molti hoster di livello medio alto avranno qualche grattacapo. Difficile offrire una scalabilità migliore.
Considerazione numero 2 : Un linguaggio in cui l’indentatura è parte della sintassi non ha il mio rispetto. E’ come confondere la bellezza con la praticità. Ne uscirà comunque una porcata.
Uno dei problemi più noiosi da gestire nello sviluppo di una web-application è il caso in cui non si conosce a priori il numero di elementi che saranno postati attraverso una form. Questo capita quando c’è di mezzo una tabella con dati provenienti da database e bisogna eseguire su questi piu operazioni con un solo submit della form stessa.
Un esempio classico è il carrello. Un carrello contiene da 1 a infiniti elementi e per ognuno di essi è definita una quantità. Questo viene mostrato all’utente sottoforma di una tabella e l’utente può modificare più quantità contemporaneamente ed eseguire, quando tutto è a posto, un singolo “aggiorna totali” o “check-out”.
Continua a leggere
No, non io. Ma qualcuno si.
All’università qualcuno sosteneva che 11 righe di codice all’ora sono la media. Considerando analisi, sviluppo, incontri, test, tempi morti … tutto insomma.
Dalla mia esperienza sò che si possono superare tranquillamente le 100 righe all’ora usando gli strumenti giusti e avendo le richieste ben chiare. Voi su che media vi attestate ? Siete delle code monkeys o dei maniaci dell’analisi e dell’ottimizzazione ?
SELECT * FROM (SELECT THIS_.CC120_PG AS T1_1_5_,
THIS_.CC120_PG_OWN AS T2_1_5_, THIS_.CC120_UNI_AMM AS T3_1_5_,
THIS_.ID1 AS T4_1_5_, THIS_.CC120_TP_GES AS T5_1_5_,
THIS_.CC120_DESC AS T6_1_5_, THIS_.CC120_QTA AS T7_1_5_,
THIS_.CC120_NUM AS T8_1_5_, THIS_.CC120_VAL AS T9_1_5_,
THIS_.CC120_ASS AS TT110_1_5_, THIS_.CC120_NOTE AS T11_1_5_,
THIS_.CC120_VAL_EURO AS CC120_1_5_, THIS_.CC120_ASS_EURO AS T13_1_5_,
T1_.TT110_PG AS T1_6_0_, T1_.MOVI AS T2_6_0_,
T1_.TCAT AS T3_6_0_, T1_.CDC AS T4_6_0_,
T1_.TT110_BEN AS T5_6_0_, T1_.TT110_FLG_PRO AS T6_6_0_,
T1_.TT110_UNI_AMM AS T7_6_0_, T1_.ANNO AS T8_6_0_,
T1_.TT110_CDC AS T9_6_0_, T1_.TT110_NUM AS TT110_6_0_,
T1_.DATA AS T11_6_0_, T1_.TT110_IMP AS CC120_6_0_,
T1_.ANNO_IMP AS T13_6_0_, T1_.TCAT_CAP AS T14_6_0_,
T1_.TT110_FONDO AS T15_6_0_, T1_.TT110_NUMERO AS T16_6_0_,
T1_.ANN AS T17_6_0_, T1_.TT110_NOTE AS T18_6_0_,
Capita, specie se si fa reload di webapp ogni 5 minuti, che tomcat mandi un errore riferito al PerGen Space.
Ora, premesso che non è bene reloadare a nastro, se proprio è necessario farlo per ragioni di test, si può risolvere aumentando la dimensione massima del permanent generation heap. La configurazione si trova in genere nel file di profile dell’utente che esegue tomcat e si chiama -Xmx . La configurazione di default è 64mb, ma se avete ampie disponibilità di memoria ci si puo azzardare anche in un -Xmx1024m equivalente quindi a 1 gigabyte. L’importante è NON settare un valore superiore a quello della memoria fisica a disposizione, pena continue swappate.
Nuovo ambiente di sviluppo che utilizzo. E’ presto per tirare delle conclusioni o scrivere delle miniguide ma potrebbero tornare utili le mie collezioni di link (in continua evoluzione, via del.icio.us):
© 2025 b0sh.net
Tema di Anders Noren — Su ↑