14 settembre 2009

11 Capitoli in PDF dal Libro Sviluppare Applicazioni WEB con Django, Fornite da Apogeo Gratuitamente su Stacktrace.it


Con il Permesso di Apogeo ben 11 capitoli in Pdf del libro di Marco Beri, Sviluppare Applicazioni Web con Django. Il tutto scaricabile dal sito Stacktrace.it e udite udite GRATUITAMENTE.

Gli 11 capitoli messi a disposizione vanno a formare un tutorials completo non resta che scaricarvelo e sperimentare.

13 settembre 2009

Evidenziare Delle Righe di Testo Tramite la pseudo-classe :target

L'attributo :target lo si usa specificatamente come attributo per l'apertura di un link, ad esempio in una nuova finestra. Noi oggi lo useremo per evidenziare delle semplici righe di testo.

Creiamo il codice html con un menu orizzontale e poi creiamo una serie di paragrafi <p> </p>che identificheremo ognuno singolarmente con il proprio id di appartenenza in questo modo:

<body> <p><a href="#cavallo">Orazio</a> | <a href="#cane">Pluto</a> | <a href="#gatto">Silvestro</a>| <a href="#topo">Topolino</a>| <a href="#papero">Paperino</a></p> <p id="cavallo">Io sono un Cavallo</p> <p id="cane">Io sono un Cane</p> <p id="gatto">Io sono un Gatto </p> <p id="topo">Io sono un Topo </p> <p id="papero">Io sono un Papero </p> </body>

poi andiamo a creare la regola CSS che ci permetterà di riconoscere l'animale tramite il click dato dal puntatore sul nome del menu orizzontale, naturalmente il CSS va inserito tra i tag <head> e </head> del documento html.

<style type="text/css">
:target {
background: lime;

}

</style>

facendo click sul nome Silvestro il risultato e quello che vedete nell'immagine qui sotto.

11 settembre 2009

Un Layout con il Body Centrato

Come creare un layout a una colonna centrata con dei semplici paragrafi e alcune regole CSS.

Ecco come procedere, inseriamo una serie di paragrafi <p> e </p> tanti quanti ne abbiamo bisogno per contenere i brani di testo che andranno a formare il nostro documento web. Io ho inserito anche un titolo di primo livello <h1> </h1>, ma nulla ci vieta di avere altre opzioni del tipo titoli di secondo livello <h2> </h2> inserimento di classi o altro. Un esempio specifico potrebbe essere quello di inserire una classe che ci permette di abbellire per ogni inizio di paragrafo una first-letter con una immagine o un font particolare. Ma questo lo lascio decidere alla vostra inventiva.

Questo e l' esempio abbreviato dei nostri paragrafi


<h1>Colonna Centrata</h1>

<p> Hypertext Transfer Protocol -- HTTP/1.1Status of this Memo...</p>

<p>Transferred as the payload of a request orresponse...</p>

<p>Scannot be used by a server that is acting as a tunnel...</p>

<p> A server that is acting as a tunnel...</p>

<p>HTTP cachable response is allowed ...</p>


Qui le nostre regole CSS:

Inserite per lo sfondo della pagina il colore nero


html { background: #000000; }

Mentre per il corpo del documento, io ho inserito uno sfondo bianco, evidenziato da un bordo di 4pixel tratteggiato(dashed) grigio che da un effetto trasparenza del tipo PNG(a scacchiera)che fa tanto moda nei tutorials con photoshop, il padding di 40 pixel e i margini sinistro e destro impostati ad auto in modo che si adattino alla finestra del browser. Mentre la larghezza a 40 em se questo serve a non fare collassare il vostro layout, potete "mischiare" sia pixel che em.

Ecco il CSS restante per il body

body {
background: #ffffff;
border: 4px dashed silver;
padding: 40px;
margin-left: auto;
margin-right: auto;
width: 40em;
}

E questa e la cattura della schermata per mostrarvi il lavoro finale

Riflessione su Linguaggio per il Web

Dopo le meritate ferie rieccomi a scrivere su Other to Think.

Nel diverso tempo libero avuto in quest' ultimo periodo, ho cercato di capire quale linguaggio di tipo Open Source(quale altri se no)sia il più indicato per lavori sul web.

Vi anticipo che per forza di cose, non necessariamente il linguaggio ritenuto "migliore di altri" sia la scelta migliore(conclusione personale) per un determinato ambito, nel caso specifico il web.

Nonostante PYTHON e RUBY, sono linguaggi nettamente migliori del PHP e altrettanto innegabile che per lavori web, PHP, ad oggi rimane la scelta migliore per vari motivi che adesso andiamo ad approfondire. Con PHP diventa molto facile trovare hosting e cosa di non poco conto l' economicità dei prezzi di hosting, se non quando addirittura del tutto gratuiti.

Stessa cosa non si può dire della controparte, che sia PYTHON, o RUBY che oltre tutto sono sia più cari i prezzi di hosting che molto più rari da trovare(almeno nel mercato informatico italiano ). A peggiorare la situazione c'è anche il fatto che applicazioni web PYTHON/RUBY necessitino anche di accesso tramite shell, se non quando addirittura di una macchina dedicata per poter gestire l' applicazione web.

Ritornando sul versante PHP e tralasciando quella brutta carogna di ripetizioni a raffica di $ e <? ?> mischiato nell' html, quello che ne rimane è quanto di meglio uno sviluppatore web possa aspettarsi di trovare. A maggiore ragione se abbiamo avuto la sfortuna di nascere nel Paese di Dante, e non capire l'inglese, vedi tutorials, guide varie, e siti che parlano di PHP in lingua italiana, confrontateli con guide pythoniche e rubyste, e capirete.

E come non tenere conto dei vari CMS alla Wordpress, che permettono di gestire il proprio sito web anche a chi del web non sia necessariamente un guru della programmazione, il tutto si riduce a copiare la directory nel posto giusto, e al più a qualche piccolo ritocco, e se volessimo osare un pochino di più come potremmo non menzionare i famosi WAMP, MAMP o XAMP che con pochi click ci offrono chiavi in mano tutto l' occorente, con comodissime interfacce grafiche del tipo PhpAdmin dove possiamo amministrare web server comprensivo di database.

Ad essere onesto anche le controparti PYTHON/RUBY hanno iniziato con Django e Rails, a fornire qualcosa del tipo "tutto compreso chiavi in mano" che trovate qui, ma con differenze sostanziali che fanno pendere l'ago della bilancia dalla parte dell'ambiente PHP.

E questo e tutto, opinabile tra l' altro in quanto frutto di una mia personalissima riflessione.