JavaScript per aspiranti programmatori – A overview

JavaScript è uno dei linguaggi di programmazione più popolari al mondo e viene utilizzato per aggiungere interattività alle pagine Web, elaborare i dati e creare varie applicazioni (app mobili, app desktop, giochi e altro ancora) Imparare i fondamenti di una lingua ti consentirà di creare il programma che desideri, sia sul lato client che sul lato server. Iniziamo con l’aggiunta di JavaScript a una pagina web. JavaScript sul Web vive all’interno del documento HTML. In HTML, il codice JavaScript deve essere inserito tra i tag script e / script che può essere incluso nel corpo del documento o nell’ head. tieni presente che lo script, che è posto nella sezione head, verrà eseguito prima che il body sia reso. Se vuoi ottenere elementi nel corpo, è una buona idea posizionare il tuo script alla fine del tag body. Per scrivere ciao mondo:

<code>
<html>
<head> </head>
<body>

document.write(“Hello World!”);

</body>
</html>
</code>

Proprio come in HTML, possiamo usare i tag HTML per formattare il testo in JavaScript. Ad esempio, possiamo produrre il testo come intestazione:

<code>
<html>
<head> </head>
<body>

document.write(“

Hello World!

“);

</body>
</html>
</code>

È possibile inserire qualsiasi numero di script in un documento HTML. In genere, il tag dello script è inserito nella testa del documento HTML:

<code>
<html>
<head>


</head>
<body>
</body>
</html>
</code>

C’è anche un tag noscript. Il suo contenuto verrà mostrato se il browser del client non supporta gli script JS. In alternativa, includi il codice JavaScript nel tag body.

<code>
<html>
<head> </head>
<body>


</body>
</html>
</code>

è una buona idea posizionare gli script nella parte inferiore dell’elemento body. Questo può migliorare il caricamento della pagina, perché la visualizzazione HTML non è bloccata dal caricamento degli script. Il tag script può assumere due attributi, lingua e tipo, che specificano il tipo di script; L’attributo language è deprecato e non dovrebbe essere utilizzato.

<code>


</code>

Nell’esempio seguente, abbiamo creato una casella di avviso all’interno del tag script, utilizzando la funzione alert ():

<code>
<html>
<head>
<title></title>

alert(“This is an alert box!”);

</head>
<body>
</body>
</html>
</code>

Anche l’attributo type: script type = “text / javascript” non è più necessario, poiché JavaScript è il linguaggio di scripting HTML predefinito. Gli script possono anche essere inseriti in file esterni. Gli script esterni sono utili e pratici quando lo stesso codice viene utilizzato in un numero di pagine Web diverse. I file JavaScript hanno l’estensione .js. Di seguito, abbiamo creato un nuovo file di testo e lo abbiamo chiamato demo.js. Avere script JS in file separati rende il tuo codice molto leggibile e più chiaro. Per utilizzare uno script esterno, inserisci il nome del file di script nell’attributo src (source) del tag script. Il tuo file demo.js include il seguente codice JavaScript, ma nota bene non il tag script che è già specificato nell’ estensione:

<code>
alert(“This is an alert box!”);
</code>

Puoi posizionare un riferimento di script esterno in head o body, quale preferisci. Lo script si comporterà come se fosse localizzato esattamente dove si trova il tag . Posizionare un codice JavaScript in un file esterno presenta i seguenti vantaggi:

– Separa HTML e codice.
– Rende HTML e JavaScript più facili da leggere e mantenere.
– I file JavaScript memorizzati nella cache possono accelerare i carichi di pagina.

Non tutte le istruzioni JavaScript sono “eseguite”. Il codice dopo una doppia barra //, o tra / * e * /, viene considerato come un commento. I commenti vengono ignorati e non vengono eseguiti. I commenti a riga singola utilizzano doppie barre.



// This is a single line comment
alert("This is an alert box!");

</code>

È una buona idea fare un commento sulla logica delle grandi funzioni per rendere il tuo codice più leggibile per gli altri. Tutto ciò che scrivi tra / * e * / sarà considerato come un commento su più righe. Ecco un esempio:

<code>

/* This code
creates an
alert box */
alert("This is an alert box!");

</code>

I commenti sono usati per descrivere e spiegare cosa sta facendo il codice.

Annunci

ON PAGE FACTOR: ottimizzare le pagine web

Off Page factors smart clouds

Sono tanti i fattori che possono influenzare il posizionamento, i fattori interni ON PAGE in un progetto vanno curati nei dettagli. Certo poi senza attività promozionale (il SEM) non si va da nessuna parte ma come si suol dire Roma non è stata costruita in un giorno. Il primo passo da fare è la SCELTA DEL NOME DI DOMINIO che deve essere NON CONFONDIBILE nella comunicazione e nel messaggio che si vuole dare, dovrebbe contenere una Keyword e deve riflettere la realtà aziendale. Statisticamente le estensioni . INFO e .BIZ sono molto usate per azioni di SPAM e quindi soggette a PENALIZZAZIONI. Il DOMAIN NAME SYSTEM funziona come risolutore dei nomi di dominio, cioè traduce gli indirizzi IP numerici in parti semantiche comprensibili legate a quell’ IP o anche l’equivalente verbale di quell’ IP. Domini come business.com o casino.com sono stati venduti per cifre astronomiche, perchè? Perchè la scelta di dominio può portare acqua al proprio mulini, in questo caso dobloni. Il CYBERSQUATTING è una tecnica scorretta che vuole occupare nomi di dominio per poi rivenderli. Esistono entità che assegnano l’unicità, consultare ad esempio https://www.icann.org/ , oggi possono essere concessi domini con particolare estensione strategica come www.android.google o www.iphone.apple per esempio. Queste assegnazioni personalizzate però va detto sono molto costose ma le grandi aziende possono comunque beneficiare strategicamente della spesa effettuata. Per i comuni mortali è bene ricordare che il nome di dominio devve essere relativamente per questioni di praticità, deve diventare indimenticabile. E’ buona norma testare prima l’effetto che fa con amici e parenti. Il nome di dominio deve differenziarsi dagli altri e non va confuso deve essere esplicitamente chiaro sulla comunicazione che si vuole trasmettere. Certo che se il dominio www.sonofelice.it è occupato una pessima idea sarebbe quella di andare a registrare www.felicesono.it perchè si crea confusione e ambiguità. Il nome di dominio deve rispecchiare il brand aziendale, ad esempio www.barilla.it. Se l’azienda non ha le caratteristiche della Barilla basta cercare quelle caratteristiche aziendali che rendono quell’ azienda unica ed esclusiva in modo da estrapolare indicazioni funzionali. I domini .ORG e . NET rispecchiano le comunità in rete e quindi sono sempre molto graditi ma come azienda però non sono funzionali. Se ti vuoi muovere nelle macroaree europee devi prendere una estensione .EU, è bene tenere presente che la congruenza è premiante sul WEB e che se prendo un dominio .IT e poi presento una serie di prodotti in russo, la mia comunicazione non è di tipo lineare ma presenta delle contraddizioni. Molto dibattuta è la questione dei trattini in quanto un sito come www.energia-solare-umbria.com tende ad essere macinato da GOOGLEBOT come una frase composta da tre parole in quanto i trattini sono considerati per il motore spazi, ma siamo sicuri che da sole queste parole abbiano un senso organicamente compiuto? I siti dove sono presenti trattini i trattini sono difficili da pronunciare e da ricordare. Certamente si possono usare scorciatoie nel senso che si possono estrapolare delle keywords a coda lunga e usare la loro efficacia come registrazione di nuovi domini che puntano al principale tramite REDIRECT. Attenzione a NON DUPLICARE CONTENUTI su domini differenti. Certamente se le persone sono costrette ad usare la parola chiave direttamente nel link il valore aggiunto seo si commenta da solo esistono tecniche come la RANKABILITY mche usano un termine generico + una parola chiave. L’individuazione della parola chiave è importante e si possono estrapolare coppie di keyword in modo da arrivare a disegnare il contesto globale. Gli esempi che riportano i libri specializzati fanno leva ad esempio sul business dei pannelli fotovoltaici e quindi possiamo individuare le parole “pannelli fotovoltaici, energie rinnovabili, energia solare, energia elettrica, celle energetiche”. Combinando questa mappa con quelle del brand aziendale possiamo individuare ad esempio il nome di dominio (ad esempio SolarEnergy.it può essere un buon inizio). Bisogna trovare dei compromessi tra la SEO e il BRAND aziendale. Certamente l0idea di usare il trattino per evidenziare delle parole chiave a coda lunga con il REDIRECT ha la sua suggestione e la sua utilità pratica. Teniamo sempre presente che la SEO è una disciplina basata sull’ esperienza personale, una percezione soggettiva ma anche nelle sue metriche misurabili che si basa su test, prove e deduzioni. Certamente alcuni errori pacchiani vanno evitati, tipo la registrazione di un dominio fatta un decennio fa dove però dentro non si è mai mosso nulla a livello di contenuti, la duplicazione di contenuti e altre amenità. La storicità di dominio ha la sua importanza solo se i protagonisti del brand o servizio che si intende promuovere intendono movimentare con contenuti freschi ed aggiornati le pagine elargendo preziosi consigli che alimentano indirettamente una preziosa idea di consulenza su criticità esistenti. Il compito del webmaster o chi per lui, è quello di creare contenuti freschi, nuovi e di qualità, la questione della storicità lascia il tempo che trova anche se è pur vero che GOOGLE ha nel suo segreto algoritmo da elisir di lunga vita anche BREVETTI che lavorano in tal senso ma che non devono influenzare il nuovo imprenditore. Certo è che i BACKLINK di un sito degli anno novanta che parla di cucina si porta dietro una storicità che diventa credibilità e quindi tradotto miglior posizionamento. Il DOMAIN GRABBIN, tecnica che prevede l’acquisto di più nomi di dominio, serve nell ‘ottica del posizionamento seo? Se se registrano più nomi di dominio che vengono reindirizzati verso il principale con un redirect senza che vengano creati e modellati dei contenuti pertinenti la cosa ha poco senso, si certamente si tolgono spazi di dominio alla concorrenza e si estendono i confini del proprio recinto, ma quello che è efficace per la seo sono contenuti che poi reindirizzano verso il sito principale. Potrebbe essere vantaggioso registrare sottodomini corti anche per organizzare per sottogerarchie i contenuti del proprio progetto. Umbriabus.it è diverso da umbria-bus.it e da busumbria.it? Certamente! Strategicamente il primo identifica la collocazione geografica più pertinente e i due possono essere usati come sottodomini che con un REDIRECT puntano al sito principale. I domini che contengono parole chiave hanno più significato per la seo anche in ottica di scambio link. Una registrazione multipla per i nomi di dominio migliora il posizionamento nel caso diretto dei sottodomini, ma anche indirettamente nel caso del redirect di domini paralleli perchè questi ultimi magari migliorano la credibilità presso i fornitori rispetto al sito principale che è difficilmente pronunciabile e che tramite redirect comunque possono linkare il sito anche sui propri spazi promozionali per maggiore fruizione e visibilità. Dopo la scelta del dominio e tutte le valutazioni annesse e connesse arriva la SCELTA DELLE KEYWORD per identificare la nostra attività. Queste keyword dovranno essere ricorrenti all’ interno del testo e dei META TAG ma senza esagerare per non incorrere in penalizzazioni. Esperimenti di EYE-TRACKING hanno dimostrato che l’attenzione umana focalizza solo i primi risultati e non vanno oltre la terza pagina per cercare risultati pertinenti alla ricerca.Ci sono centinai di possibilità per essere scelti con delle frasi e query pertinenti e occore sondare quali sono sfruttabili e competitive rispetto a keyword troppo inflazionate ma di maggiore uso comune. Le keyword fanno parte di un concetto EURISTICO perché alla base i presupposti alla soluzione di un problema nato dalla domanda contenuta nella query. Per la scelta della keyword dobbiamo individuare i bisogni dei nostri utenti, conoscere le diverse tipologie di parole chiave che abbiamo a disposizione, dobbiamo metterci nei panni dell’ utente e immaginare le sue digitazioni, dobbiamo trovare un elenco di termini e sinonimi associati al nostro brand, magari studiando i nostri competitors nelle prime posizioni dei motori e guardando i loro articoli e il loro codice html. E’ importante poi usare i tools di supporto come lo strumento gratuito messo a disposizione da Google con adwords. Le Keyword scelte dovranno popolare titoli, contenuti, metatag, attributi, nomi di categoria etc. Le keyword meno competitive sono più facilmente posizionabili.

Come faccio a diventare Grande Maestro se accetto patta in posizione superiore? Come faccio a programmare in PHP se non conosco la bonifica e la validazione dei FORM?

Come faccio io web developer Umbria a risolvere il problema dei migranti? Come faccio a risanare l’INPS? Vabbè rientriamo nei ranghi senza fare spam per non subire penalizzazioni come web developer Umbria: Margate 1935, http://www.chessgames.com/perl/chessgame?gid=1224079, una piccola lezione di Reshewsky sulla valutazione della posizione. Non aveva la norma di GM e Capablanca di fronte gli propone patta, ma Reshewsky che fa? Decide di giocarsela e di vincerla quella partita dichiarando a un certo Frankael a fine partita con il punto portato a casa: come faccio a diventare Grande Maestro se non sono in grado di vincere le posizioni superiori? Alla faccia della sicurezza in se stessi, verrebbe da dire con web developer Umbria o con le stesse parole del GM: “Here Capablanca offered a draw, but since I had a clear initiative and pressure on black’s weaknesses, I declined the offer. I thought I could win, and I could not hope to become a grandmaster by accepting draws in winning positions.” – Source: Reshevsky’s Best Games by Reshevsky – SR. Tornando al problea dei form, bisogna risolvere la questione degli spazi bianchi digitati dall’ utente e la questione dei tag HTML oppure dei caratteri speciali HTML? Non possiamo mica permettere queste brotture no? Partiamo da un presupposto, chiunque digiti in un campo testo qualcosa é un maleintenzionato, potrebbe essere un ossimoro ma non lo é. Lo sviluppatore deve sempre mettersi dalla parte della sicurezza e della bonifica, costruire la sua interfaccia grafica a prova di superidiota in modo da non subire danni di qualsiasi tipo, quindi il processo di sanificazione é cosa buona e giusta ma soprattutto va accompagnato dalla validazione.Facendo riferimento da un interessante articolo apparso su uno dei tanti portali del Ceo Faraoni Enrico all’ indirizzo: https://umbriawaysemplifica.wordpress.com/2017/08/05/lumanita-sta-per-essere-distrutta-ma-php-permette-la-prevenzione-con-la-bonifica-dei-campi/ avevamo visto in dettaglio tutte quelle funzioni utili per la bonifica che possiamo riassumere anche in una funzione del tipo:

function clean($input) {
// Trims whitespace from input
$input = trim($input);
// Removes slashes from input data
$input = stripslashes($input);

// Typically you would use either strip_tags or htmlspecialchars
// depending on whether you want to remove the HTML characters
// or just neutralize it.

// Removes all the html tags from input data
$input = strip_tags($input);
// Escapes html characters from input data
$input = htmlspecialchars($input);

return $input;
}

Ovviamente serve poi tutto il lavoro sulla validazione che prevede una serie di controllo accurati sui singoli campi, accertarsi che la mail sia stata inserita con il simbolino giusto, accertarsi che il campo telefono non veda lettere, accertarsi che i campi non debbano essere vuoti, bisogna mettersi dalla parte di HULK che arriva sulla nostra pagina e inizia a compilare e spedire con la stessa grazia del suo collega Ben Grimm dei fantastici 4. I controlli di sicurezza sul modulo devono essere a prova di bomba atomica e di pugni sferrati sulla tastiera con la potenza della roccia dei fantastici 4! In questo posto sono riassunti i momenti salienti a livello di codice per risolvere il problema e potersi così finalmente distinguersi da un newbie! La spiegazione é abbastanza intuitiva ma se dovreste avere problemi non esitate a contattare Umbriaway Consulting per le delucidazioni (non gratuite!) di rito. Il modulo in azione con tutte le possibilità di errore da testare é presente all’ indirizzo: http://www.farwebdesign.com/examplephp/Example11-validatingInput-bootstrap.php e tra l’altro per l’appunto é stato formattato anche con bootstrap e le sue classi specifiche relative ai form e al gruppo di elementi per un form.

Normalizzare le posizioni come andrebbe fatto con i database é possibile? Risponde web developer Umbria!

Con web developer Umbria avevamo visto che la posizione Tal vs Portish giocata a Biel nel 1976 era disturbata anche da alcuni commentatori in quanto ad esempio Gligoric commenta l’abbandono di Portish sottolineando come 37..Tg8 andrebbe incontro a Dg6!! per verificare poi con Umbriaway Consulting che un semplice scaccho in b7 per controllare la casa f7 con successiva presa della dona avrebbe prodotto complicaqzioni dove il nero si salva….ma certamente Portish in quella partita pur non avendo visto nulla in quella situazione ha fatto bene ad abbandonare visto che 37..Tg8 é confutata dalla mossa spaziale 38 Td8!! e tutti a casa sul tema della deviazione. Ha del tragico anche questa situazione http://www.chessgames.com/perl/chessgame?gid=1557884 dove il nero sembrerebbe vincere con una mossa fantastica ossia Ab3 che serve a rinforzare il controllo sulla casa d4 quando poi di fatto saltano anchew qui le valutazioni razionali e abbondano le viste perché il Bianco non si sa bene per bravura o pura fortuna porta a casa il punto con la mossa della disperazione Cb6. Ecco ma nel parallelismo di progettazione DB MySql cosa centra tutta questa dissertazione su quello che crediamo vero o non vero? Per esempio, chiede web developer Umbria, quando progetti un DB lo normalizzi anche? Si, No, Perché? Bisogna evitare record ridondanti e quindi bisogna spezzare bene i dati su più tabelle e quindi servono le Join ma a quel punto le cose si complicherebbero mucho e quindi…e comunque uno degli errori del neofita che inizia a programmare é quello di non seguire una linea didattica di progettazione del DB che impiegherebbe da sola troppo tempo ma il workbench bisogna scaricarlo dal sito MySql preoccupandosi prima di recuperare i requisiti di sistema e le varie librerie richieste, in quanto con la formula GUI l’utente ha più facilità di gestione dei propri DB. Così scopriamo che popolare una select mescolando PHP e HTML provoca delle situazioni a rischio mica da ridere in quanto dentro scorrendo magari i dati del campo data scopriamo che abbamo inserito nel db le stesse ripetute informazioni il che ovviamente fa la differenza a livello di pedigree. Nella libreria allegata da web developer Umbria ecco semplici regole di progettazioni da rispettare, in modo da evitare per lo meno situazioni molto pacchiane. Per finire su questa idea degli errori da evitare parliamo di una posizione che si é verificata nella hasse haring giocata a Lipsia nel 1952, il nero decide di vincere questa partita giocando la spettacolare ..Dc2 per ricredersi dopo la fortunata 2 Da3 che obbliga a Tb1 ma che però va incontro a un matto forzato con Ce6! Se il nero avesse normalizzato questa posizione invertendo l’ordine dei fattori si sarebbe accorto che giocando subito..Tb1 e dopo Da3 del bianco la semplice Rg8 il bianco avrebbe dovuto abbandonare in vista della letale Dc2. La conclusione é palese: normalizzate, normalizzate, normalizzate!

JQUERY può assolvere con intelligenza alla funzione di precaricamento della pagina? E’ un dilemma che non fa dormire la notte eh?!

Continua il viaggio avventuroso di Giacobbo di web developer Umbria  e di Umbriaway Consulting alla scoperta dell’ acqua calda, pardon alla scoperta di come ci si mette nella condizione di perdere in poche mosse e subire scacchisticamente una miniatura. Gli scacchisti si sa hanno avute molte esperienze agonistiche e allora viene da chiedersi ma posso farmi mangiare la regina e invece che ristabilire l’equilibrio riprendendo il mal tolto faccio una mossa di attesa posizionale che scombina i progetti difensivi del mio avversario? Certo che si anche se per la verita la mossa 9..b2!! di Balogh giocata contro Nagy a Budapest nel 1948 in un gambetto siciliano é alquanto telefonata e scenografica anche se spaventosamente letale. Liquidata la parte scacchistica da parte di Faraoni Enrico CEO di Umbriaway Consulting (così imparano a giocare il gambetto siciliano!) ci porta a riconsiderare la religione JQ, non avrai altro dio all’ infuori di me. Imparare JQuery ha una curva di apprendimento lieve rispetto a Javascript, anche senza grande esperienza di programmazione é possibile andare a manipolare il DOM con estrema facilità in modo semplice e intuitivo. JQuery é essenzialmente una libreria Javascript ma ha il vantaggio di ottimizzare il codice rendendolo facile, semplice ed essenziale. Con una riga di codice puoi toccare l’intero universo dei figli del DOM afferma web developer Umbria! Certo bisogna prima familiarizzare con gli elementi genitori e figli, capire che nel DOM ci sono delle relazioni che si possono sfruttare per accedere in qualunque punto della magina contrassegnata dai marcatori HTML i famosi TAG che però qui diventano oggetti JavaScript che hanno attributi proprietà e metodi.Il document object model ha una struttura semplice e logica che semplifica l’architettura della pagina. Paradossalmente per il neofita che non ha nessuna base di programmazione potrebbe essere una idea interessante quella di approcciarsi prima a JQuery in quanto scalda i motori poi per passare a Javascript e Node o altri framework come angolar per esempio. Se ho una immagine che fa parte di un paragrafo attraverso una semplice relazione gerarchica padre figlio posso partire dall’ elemento che sta più in alto di tutti che é DOCUMENT per passare all’ oggetto WINDOW, passando poi per il BODY e il paragrafo e arrivare all’ immagine. Web developer Umbria ricorda che JQuery con una riga di codice fa tanto rispetto a JS e c’è anche una versione minimalista da scaricare che si preoccupa solo di assolvere al miglior funzionamento della USER Interface, quindi parliamo di un framework estremamente potente e flessibile. Possiamo accedere alle proprietà degli elementi molto velocemente. Risalire nodo per nodo fino al punto CHILD di mio interesse grazie all’ uso dei SELETTORI che aprono le porte per infinite possibilità. So what can Jquery do? Analizziamo l’esempio presente all’ indirizzo http://www.farwebdesign.com/jquery/1/cicerone.html ebbene carico la pagina e cosa succede? Apparentemente un bel nulla ma sotto le quinte JQuery ha predisposto al meglio il caricamento della pagina vediamo in dettaglio la funzione inserita nel post. La prima parte della funzione che si vede in gallery inizializza il documento mentre la seconda parte, classica funzione javascript che riempe l’oggetto window figlio dell’ oggetto document e legato ad esso da una relazione gerarchica si preoccupa di caricare le immagini, i banner e tutta la parte grafica annessa. E’ utile inserire questa funzione perché gli script devono girare solo quando tutto il teatro degli eventi é pronto per assicurare uno spettacolo decente agli spettatori e solo quando il body é stato completamente caricato. Detto questo vediamo anche alcune stravaganze della pagina che realmente non hanno nulla di dinamico ma che dietro le quinte lavorano benissimo. Ad esempio nella parte dei CSS abbiamo inserito un carattere Jolly che sta a significare che tutti gli elementi presenti all’ interno del document seguiranno lo stesso regime di settaggio imposto. Nello specifico l’asterisco rappresenta l’intero universo, tutti gli elementi di un documento, in pratica il simbolo dell’asterisco potrà esssere utilizzato per definire una regola globale per ua pagina o per modellare tutti gli elementi presenti all’interno di un selettore. L’area dei contenuti e il confine interno dello spazio del box dell’ elemento viene definita in CSS padding, utile ad esempio in quei casi dove il background é colorato e si vuole distanziare lo scritto dal bordo per una migliore leggibilità. A volte si vedono nelle dichiarazioni quattro valori ma é bene ricordare che fanno riferimento come partenza al TOP per finire al LEFT. Il Margine invece ha a che fare con l’idea di spazio esterno del BOX per cui se mi ritrovo un paragrafo attaccato alla pagina posso distanziare le frasi scritte con la proprietà MARGIN per l’appunto che come per il padding si suddivide nelle sue declinazioni in top, right, bottom e left. Poi ci sono altre due stravaganze inserite nella pagina con link che é bene ricordare per gli aspiranti web developer in Umbria, il sito dei fonts di Google all’ indirizzo https://fonts.google.com/ e il famoso sito della fuffa per venditori di pentole http://it.lipsum.com/ che serve a delimitare le aree di testo provvisoriamente per lasciare contenuti temporanei.