Welcome to my new website!
After a long period i decided that the time to remake my web site has come and after some looking around common used Content Manamgent Systems - like Xaraya, Wordpress, Joomla, Drupal and so on - i decided that Drupal was what i was looking for.
What's new? the content will be english only: i think that every programmer personal website should be written using the most spoken language around the world to gain more visibility to him and to the website and it to let to all to understand what you write.
Can be that my written english is not perfect, i know, but i hope to make it better a lot :)
However, i hope in short time to install i18n module for drupal to support multilanguages contents to add italian language.
I would to say thanks to jwolf for his theme: i like it a lot! I've modified some stuff to make it more usable, but it's really good!
Thanks to all for support and help!
NOTE: the third level domain blog.phpsoft.it will remains only for historical purpose, nothing will be added there
Con Firefox si vedono
Con Firefox si vedono sballati i links di sopra...evidentemente hai incasinato qualcosa nei css, visto che nel tema originale è tutto perfetto! :D
Ciao
veramente non è vero
veramente non è vero
Nel tema originale si vedono perfetti se sono pochi perché il tema originale si va a posizionare sopra quella parte per via dell'uso di position, infatti ho inizialmente modificato i CSS per usare z-index e aggirare il problema, ma ora ho sistemato il codice per lavorare correttamente senza bisogno dello z-index come workaround, oltre al fatto che per esempio ho migliorato l'accessibilità spostando, nel codice html, la side bar a sinistra in modo da facilitare gli screen readers
inoltre ho faticosamente validato i css
Chissà...
...che questa sia finalmente la volta buona che riesci a tenere un blog aggiornato? :D
ciao Daniele, 3 cose:
ciao Daniele, 3 cose:
1. stai tradendo il php per linguaggi sviluppati e portati avanti da Micro$oft, e questo non fa onore nè a te nè all'open source e free software. Ma ti pare mai possibile, abbandonare un modello di sviluppo fatto da, con e per strumenti liberi in favore di altri (e relative aziende) chiusi e in minoranza, indipendentemente dalla duttilità del linguaggio? Bhà....
2. Dove è finito il tuo precedente forum, in cui si parlava di programmazione, problemi, script ecc.? lo rimetterai?
3. Come mai hai deciso di non utilizzare wordpress (lo stato dell'arte in ambito blogging) ma di costruire il blog usando drupal?
@pugia: è quello che spero
@pugia:
è quello che spero :)
@anonimo:
beh, a me le persone piace chiamarle per nome, ma credo che a te no, comunque, per adesso ti chiamerò anonimo :)
Rispondo pari passo alle tue domande:
# 1
Vorrei analizzare questo tuo punto a pezzi!
> stai tradendo il php per linguaggi sviluppati e portati avanti da Micro$oft
Non sapevo che php si potesse offendere, forse anche lui un lato femminile, soprattutto se non è nemmeno lontanamente in grado di fare quello che mi fa C# ed il .NET
> questo non fa onore nè a te nè all'open source e free software
Beh, se tu riesci a vivere d'onore beato te, io per campare devo lavorare e devo farlo pure in maniera efficente altrimenti a fine mese le bollette della luce, dell'acqua, internet, il server virtuale ed, a breve, il server dedicato, l'hardware che ogni tanto aggiorno e cosi via non riuscirei a pagarlo.
> abbandonare un modello di sviluppo fatto da, con e per strumenti liberi
Non mi risulta che io abbia mai detto che sto abbandonando php, ho detto che lo uso fin quando sarà supportato dagli hosters e c'è una notevole differenza.
> in favore di altri (e relative aziende) chiusi e in minoranza
Beh, proprio chiusi ed in minoranza non direi: Ignorantia Docet! Lo so, i latinismi non sono il mio forte, ma non ho resistito.
Partiamo dal concetto che C# è un linguaggio e come tale non è ne chiuso ne aperto, anzi, la microsoft ha reso pubbliche e gratuite le specifiche ECMA, di conseguenza, se si può dire, è ancora più aperto di php. Se invece vogliamo parlare del .NET io rispondo con MONO, l'alternativa Open Source, che supporta a pieno le specifiche del .NET 1.1 e quasi interamente quelle del .NET 2.0, che funziona attualmente su linux, freebsd e mac os x ed è abbastanza performante nella media delle situazioni.
Il fattore minoranza va guardato con accenzione: C#, a differenza di php, può essere usato per far un po di tutto, qualcuno c'ha pure scritto un sistema operativo, e come tale ha un più ampio ragio d'azione. Non è possibile paragonare PHP e C# perché:
- PHP serve esclusivamente a fare siti web, sono poche le persone suicide che hanno realizzato applicativi per desktop o client-server, anche se comunque io sono una di quelle
- PHP risulta essere usato in maggioranza perché ogni giorno nascono migliaia di siti web fatti in php con i piedi o fatti utilizzando CMS in php
- C#, dall'altra parte, essendo più complesso e rigoroso da usare comporta è poco usato in ambito web, soprattutto perché pochi conoscono MONO, anche se a differenza di php è più difficile beccare qualche errore
- C# viene principalmente usato per applicativi Desktop o applicativi Server/Client
Ora, per dirla in parole povere, anche se i loro raggi di azione si intrecciano lo fanno, ma lo fanno marginalmente! E' come se tu mi stassi dicendo che la jeep è più usata in una foresta del congo rispetto a una fiat 600, non si può proprio fare il paragone
> indipendentemente dalla duttilità del linguaggio
Di solito io sono abituato a lavorare con gli strumenti che svolgono a pieno quello per cui sono fatto e che lo fanno riducendo i costi e semplificando i lavori. Questo significa che io uso PHP per il Web e C# per tutto il resto.
# 2
Tempo addietro me lo hanno bucato e purtroppo non avevo backup recenti perché il mio server di backup si era rotto in quel periodo. Può essere che prima o poi lo rimetto, ma non avrei completamente tempo di stargli dietro, anzi, già ho problemi a seguire il blog postando una volta ogni tanto.
# 3
Beh, sarò schietto, wordpress è un emerito cesso ^^
Forse, a livello di funzionalità, si comporta bene, ma ti assicuro che a livello di logica di programmazione, performance, strutture, implementazioni e cosi via è veramente un cesso.
Giusto per farti un esempio: tu sai che ogni volta che crei un post nel blog o una pagina lui va ad aggiornare un valore nella tabella delle opzioni inserendo in media 6/7 rewrite rules in un array serializzato? Rewrite rules che vengono lanciate, se non erro, due volte per esecuzione.
Per farti un esempio pratico: hai un blog con 1 anno di attività ed in media alla settimana hai inserito 5 post ovvero circa 1800 post. A questo va aggiunto che poi ci sono delle pagine create all'inizio come "Chi Sono", "Curriculum" e cosi via. Diciamo sempre 1800 post comunque.
Per come abbiamo detto prima ci sono 6/7 espressioni regolari per post, considerandone 6 per andare sulla minoranza, si ottiene che ci stanno, in un array serializzato, ben 10800 espressioni regolari.
Espressioni regolari che, come detto, vengono lanciate due volte per esecuzione fin quando non si trova la pagina richiesta.
Tu adesso penserai: si ma è difficile che qualcuno vada a prendere uno dei primi post e faccia eseguire 21000 e passa espressioni al mio server per richiesta. Bene ... senza andare troppo lontano ci sono le varie pagine "fisse" che essendo state inserite per prime sono alla fine delle'elenco! Chi preme su "Chi Siamo" a rotazione è capace di fare un DoS sul tuo server ... e se sei in hosting rischi che l'hoster ti tagli fuori il sito
Questo era giusto un esempio che mi domando come fanno certi siti grossi a non tenere in considerazione, ma poi ci penso e mi dico "non lo sanno" sperando che sia realmente cosi perché pensare che abbiano utilizzato uno strumento in grado di fargli costare 4/5 volte i costi di gestione del sito web sa di pazzia.
Sempre relativo a CMSoft, di recente sto sviluppando il sito per un azienda e all'interno ho reso reali alcuni concetti che avevo esposto precedentemente sul blog precedente rendendomi conto che sono validissime. Col mio sistema, anche se tu dovessi chiedere una pagina preistorica, grazie al sistema, che è un misto di drupal, wordpress ed altri, con qualche aggiunta mia, il sistema mio è in grado di trovarla istantaneamente senza bisogno di processare miliardi di espressioni regolari o senza bisogno di avere link poco human-readable come drupal per esempio.
Ora, dopo aver risposto alle tue domande, sperando di aver scritto qualcosa di leggibile perché mi son fatto 10 ore tonde tonde di programmazione passando da php e finendo con il C, voglio solo dirti una cosa: la cosa che ammazza l'open source è il non capire che il pericolo non sono le "altre" aziende cattive, ma chi lo pratica e lo diffonde in maniera sbagliata!
L'open source è uno strumento e basta, va usato dove serve e nei modi corretti e, quando è possibile lo si preferisce ad altro. Non vado a fare un dominio windows su linux solo perché c'è samba che me lo fa fare perché vorrebbe dire che:
- il cliente mi chiamerà ogni giorno
- samba è comunque uno strumento creato dall'hacking di protocolli di comunicazione il che vuol dire che possono esserci dei componenti che funzioneranno male
- gestire gli utenti è una tortura
Alcune persone con cui mi è capitato di parlare si rifiutavano CATEGORICAMENTE di utilizzare strumenti open source, e sai perché? Perché chi gli aveva in precedenza fornito sistemi basati su applicativi open source si era volatilizzato lasciando queste persone senza alcun tipo di supporto!
Il reale rischio ... il reale problema ... il reale pericolo sono SOLO ed ESCLUSIVAMENTE le persone che diffondono l'open source solamente a parole!
Io, se posso uso OSS ma se non posso non lo faccio.
Concordo a pieno su
Concordo a pieno su wordpress... io sono per il "fai da te" :P
Secondo me il migliore CMS
Secondo me il migliore CMS (che poi è poco più di un "framework") in PHP attualmente in circolazione è Symphony ( http://symphony21.com/ ), al limite volendo essere "pignoli" il suo principale difetto è probabilmente che non è open-source, ma è comunque gratuito.
Un CMS non è semplicemente
Un CMS non è semplicemente poco più di un framework. Si, certo, si ci basa su, anzi secondo me dovrebbe essergli legato in modo inscindibile con le interiora, però sono due cose distinte e separate.
Un framework, di per se, è un insieme di librerie e funzioni, strutturate in uno specifico modo ed organizzato in uno specifico modo. Il tutto può magare essere gestito tramite un Run-Time Loader per evitare di includere tutto inutilmente e per evitare problemi per eseguire le inclusioni.
Il problema reale è che tutto ciò deve essere fatto bene, deve essere progettato e strutturato bene e deve essere semplice per lo sviluppatore.
Per esempio mentre comprendo perfettamente le potenzialità di XSLT mi rendo anche conto che XSLT non è altro che, in fondo, un template engine e tutto quello che si può ottenere con lui lo si può ottenere con un qualsiasi template engine ben strutturato e flessibile senza però dover forzare l'utente a scrivere codice ostico per la visualizzazione dei dati e scrivere codice ostico per spiegare al motore XSLT come convertire l'XML che legge in quello che serve.
Per "poco più di un
Per "poco più di un framework" riferendomi a Symphony intendo dire che questo script non offre moltissime funzionalità "precotte" all'utente finale: offre il suo nucleo (framework) con qualche funzionalità basilare ma molto flessibile. Se vuoi un blog (ad esempio) non clicchi sulla casellina "Inserisci blog" ma te lo costruisci in modo agile sfruttando la sua incredibile flessibilità. E' un "CMS per sviluppatori" direi: offre una base solida senza dover reinventare la ruota.
Questa sua elasticità è data anche dall'utilizzo di un sistema di template basato su XSLT... certo, può essere un sistema come un altro ma:
- La questione dell'"osticità" è secondo me del tutto relativa... ogni volta che ci imbattiamo in qualcosa di nuovo (un nuovo linguaggio, un nuovo formato) all'inizio può sembrare ostico: basta armarsi di santa pazienza ed impararlo.
- XSL non è neppure così difficile, è potente, è ben strutturato e si sposa perfettamente con XML (che ormai è uno standard de facto per la memorizzazione di dati) ma *soprattutto* è a sua volta uno standard. Personalmente ritengo più utile imparare ad utilizzare un formato standard del W3C che non gli esotici sistemi di template dei vari CMS in circolazione (spesso differenti tra loro e non standardizzati). Tra l'altro XSLT (questo lo faccio presente più come "sfizio") è ormai supportato anche client-side dai maggiori browser in circolazione (certo... forse in alcuni casi ci sarebbe da sudare un po' perchè come sempre capita che non renderizzino le cose in maniera identica): insomma, è anch'esso a tutti gli effetti uno standard accettato.
Just my 2 cents...
Si, è vero che l'osticità
Si, è vero che l'osticità è relativa ma è anche vero che se la struttura esposta allo sviluppatore è complessa da utilizzare ci vuole più tempo per impararla, più tempo per sfruttarla a pieno, si è soggetti a maggiori bug e soprattutto implementare una cosa di 5 minuti senza il framework ne richiede 60 con il framework.
Parlo in prima persona per quanto riguarda il mio vecchio framework, quello su cui si basava CMSoft 1, paiola può testimonarlo: di essere potente lo era, ma era complesso da utilizzare complicando la vita non poco a chi ne faceva uso.
Per quanto riguarda XSLT, sincramente, non mi ci sono mai messo a fondo per i motivi che ho riportato su, ed è vero che è potente ed è flessibile però c'è da vedere anche il carico che porta! L'XSLT è notevolmente oneroso a livello di processore e non a livello di CPU e non si può spostare questa operazione a livello di client per possibili problemi di compatibilità o di funzionamento.
C'è da scegliere tra performance, flessibilità e standard e sinceramente, almeno per quello che mi riguarda, il template engine deve essere l'elemento più performante in assoluto insieme ad altri pochi componenti, senza ovviamente perdere di flessibilità, anche se comunque a dispetto degli standard: dal mio template engine ho eliminato pure le preg e l'uso di stripos, ovvero la ricerca di stringhe case insensitive, perché per il processore è un'operazione pesante e complessa andare a eseguire un sacco di controlli e conversioni, senza poi considerare che essendo XML se, per esempio, vengono usate le libxml che sono mastodondiche e pesantissime si ci scava ancor più un piede nella fossa. Considera inoltre, per la struttura che è, che il parser XML deve prima caricarsi due file, quindi verificarne la sintassi ed infine costruire l'albero per poi iniziare a fare le sostituzioni
Se stasera ho una decina di minuti faccio una comparazione tra XSLT e il mio template engine facendogli costruire varie strutture:
- un singolo elemento ripetuto a rotazione
- tanti piccoli elementi diversi caricati ed inseriti
Anche solo per curiosità :)