Se fosse un film sarebbe su Elena dei famosi cicli mitologici greci: i troiani accettano i cavalli lasciati sulla spiaggia dai greci in fuga e portano i gentili doni entro le mura di Troia senza conseguenze: Ulisse e Achille latitanti, partita Ranieri – Faraoni Enrico B32

In questa partita Ranieri(MF) vs Faraoni Enrico(cm) giocata il 2009.10.25, apertura B32, open Alfieri, il nero cerca un approccio troppo creativo basato su piccole concessioni di materiale un pò troppo ottimistiche e generose, con il risultato inevitabile che finito di bruciare tutti i ponti alle spalle il bianco che ha giocato alla Karpov (mangio tutto se non prendo matto poi vedo) é passato alla fine a raccogliere, la partita comunque risulta un ottima rivisitazione sia per studiare un pò di teoria ma anche per rafforzare scientificamente un concetto basato anche su quei famosi finali di alfiere di colore contrario dove spesso si pareggia anche con materiale in meno e cioé che la mossa Alfiere prende c3 produce un grave danno strutturale che porta concreti benefici in finale (fondamentalmente il nero può permettersi di giocare con un pedone in meno per pareggiare in molte linee, a condizione che non prenda lo scacco matto in g7 per esempio, su casa nera).

1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e5 5. Nf3 Nf6 6. Nc3 Bb4! 7. Bc4

(7.Bd3; 7. Bd2)

7… O-O

(7… Nxe4 !?)

8. O-O Bxc3

un grave danno strutturale, il B deve cercare gratificazioni sul medio gioco e sulle case nere

9. bxc3 Qa5

(9… Nxe4 !?)

10. Qd3 d5 ? Una novità teorica difficilmente ripetibile, il nero é in vena di esagerazioni surrealiste

[10… h6 11. a4 Rd8 12. Rd1 d5 13. Bxd5 Bf5 14. Qc4 Nxd5 15. exd5 Be6 16. Bxh6 Rxd5; 10… d6 11. Bg5 (11 Cg5 h6 12 Cf7 é meglio il nero) Ce8 con posizione solida del nero]

11. Bxd5

(11. exd5 e4 12. Qe3 exf3 13. dxc6 fxg2 meglio il nero)

11…Bg4 12. Bg5 Nxd5 13. exd5 Rae8 14. Nd2! e4 15. Qg3 h5 16. Bf4 ?

(16. Qd6! Ne5 17. Nxe4 Bf3 18. Nf6+ gxf6 19. Qxf6 Qb6 20. gxf3 Qxf6 21. Bxf6 Nxf3+ 22. Kg2 Nd2 23. Rfe1)

16… Qxd5

il nero rientra in partita ma alla mossa 18 ci mette del suo per tornare a riperderla ah ah!

17. h3 Bf5 18. Nb3 e3 ?

un tratto decisamente assurdo l’unica giustificazione potrebbe essere l’idea Ac2 che però più tardi NON viene effettuata ! Il nero aveva molte mosse buone ma sbrocca e cerca di complicare di nuovo a tutti i costi senza necessità

(18… Rc8 19. Rfd1 Qc4 20.Nd4 Bg6; 18… f6; 18… Rd8)

19. Bxe3 Re6

(19..Ac2? 20 Ad6 Ce7 é chiaro vantaggio bianco)

20. Rad1 Qc4 21. Qf4 Qxf4 22. Bxf4 g5 ?

(22… Re4 simple chess 23. Be3 Rc4 24. Rd5 g6 25. Na5 Nxa5 26. Rxa5 Rxc3 27. Rxa7 Rxc2 28. Rxb7 Rxa2 patta; 22..Ac2 arisimplechess =)

23. Be3 ?

(23. Bxg5 +-)

23… g4 !?

(23… Bxc2 24. Rd5 f6 25. Nc5 Re7 26. Rd6 Kf7 27. Nxb7 Rxb7 28. Rxc6 Re8 29. Rc5 meglio il bianco ma probabilmente non basta per vincere secondo i motori che danno una valutazione molto prossima allo zero)

24. hxg4 Bxg4 25. Rd5 Rg6 ?

(25… Rd8 26. Rxd8+ Nxd8 27. Bxa7 Ra6 28. Be3 Rxa2 29. Nd4 Bd7 con gioco equilibrato). La partita a questo punto si conclude con un inevitabile massacro che conclude il ciclo creativo troppo generoso del nero

26. f3 Re8 27. Bd4 Bh3 28. Rf2 h4 29. Rh5 Nxd4 30. cxd4 a5 31. Rxh4 Re1+ 32. Kh2 Be6 33. Nxa5 Bxa2 34. Nxb7 Bb1 35. c4 Bd3 36. c5 Rd1 37. Nd6 Ba6 38. Nf5 Re6 39. Ra2 f6 40. c6 Bc8 41. Ra8  1-0

La morale di questa partita potrebbe essere che va bene complicare per creare squilibri e cercare opportunità di vittoria al limite della regolarità ma ogni tanto anche fare mosse normali non guasta (22..Te4 per esempio solo per citarne una) dopo aver creato un pò di kaos tattico. Al bianco per vincere questa partita é bastato accettare i cavalli maestosi lasciati sulla spiaggia dei greci e portarli entro le mura di Troia senza timori perché di Ulisse e del Prode Achille non si sono viste le tracce nemmeno facendo festa fino a notte fonda! Se il nero voleva entrare nella storia della B32 per cercare come Achille l’immortalita con la novità teorica 10..d5? c’è riuscito, anche se la valutazione della posizione basata sul fatto che i pedoni c2 e c3 fanno così pietà che anche a giocare con qualcosina in meno la si fa franca. Poi però ci sono anche le analisi concrete e i dettagli. E lì bisognerà intervenire…prima o poi!

Annunci

Ma é vero che Karpov tatticamente non era predisposto ah ah? Certo quasi come dire che le stringhe in Python non possono essere manipolate!

Le stringhe in Python rispondono agli stessi requisiti delle stringhe negli altri linguggia di programmazione e sono anche contemplati metodi per prendere i contenuti delle stringhe e copiarli altrove fermo restando che l’unicità delle stringhe rimane invariata. A ben guardare tutta quella questione degli apici e doppi apici come per PHP esistono anche qui. Da sottolineare che il solo / (slesh) rompe la lunghezza della stringa da prompt della shell, mentre esistono anche qui dei backslesh che hanno determinate funzioni come l’andare a campo ad esempio con /n o le tabulazioni con /t o anche rendere visibili gli slesh e le virgolette anticipando come sempre lo slesh/. Ad esempio se volessi mostrare un apice dentro una stringa senza generare un errore posso scrivere /’. Anche qui é valido il pricipio di immutabilità della stringa che é una istanza dell’ oggetto Type = str. Con il formato LITERAL usato da PYthon abbiamo un riconoscimento automatico di quelle che sono le caratteristiche dell’ oggetto, ossia se stiamo parlando di un intero, di una lista (array per gli altri linguaggi) o semplicemente di una stringa. E adesso cerchiamo di districare la matassa su Karpov. Che poi no ce stanno questi luoghi comuni per cui uno pensa ma Karpov era scarso tatticamente ah ah ad esempio prendiamo in esame questa partita: http://www.chessgames.com/perl/chessgame?gid=1067903 il nero voleva attaccare e ancora voleva attaccare e ancora voleva attaccare e invece il bianco che fa costringe il nero ad attaccarsi al tram con una dominazione che ricorda proprio il Python linguaggio di programmazione che stiamo osservando in questo periodo! Eppure Karpov tatticamente ha sempre creato delle gemme pregiate vedere ad esempio la http://www.chessgames.com/perl/chessgame?gid=1068016 o ancora http://www.chessgames.com/perl/chessgame?gid=1068373 e pure la http://www.chessgames.com/perl/chessgame?gid=1066997. Etichette e luoghi comuni non reggono, Karpov é solo un automatismo che inietta il veleno e aspetta che faccia effetto perché diciamocelo chiaramente anche le compagne che lo hanno affiancato nella sua vita quando lo seguivano nelle competizioni e studiavano il suo volto non riuscivano a scorgere nessunissima emozione tale da indurle da indovinare la mossa che sarebbe comparsa sulla scacchiera. E quindi muovi pennello e spingi pennello, che ci dobbiamo allenare come Karate Kid?! Cioé che dobbiamo metterci davanti allo specchio e svuotarci del sentire empaticamente per essere dei terminator disumanizzati? Che poi dobbiamo andare in palestra e dire al coach di metterci 150 kg per braccio che se ci cade tutto addosso mica ci mettiamo a gridare ma siamo dei veri giocatori da torneo quando rialzandoci dopo che ci hanno tolto i ferri diciamo a tutti non é successo niente, non é successo niente? Con Karpov che tu usi un martello piuttosto che un trapano punta venti mica si mette a differenziare le reazioni quello somatizza tutto senza dire niente ma quando hai finito di manovrare poi tocca a lui muovere! E queste partite lo dimostrano, tutti i suoi avversari lottano, si dibattono, attaccano e riattaccano ma poi alla fine sintetizzando tipo Nori si chiama proprio Francesca questo romanzo nel senso che tutti poi si attaccano al tram! Ma andiamo per gradi, nella partita Anatoly Karpov vs Dragoljub Velimirovic Vidmar Memorial (1975), Portoroz/Ljubljana, rd 10, Jun-14 Sicilian Defense: Dragon Variation. Yugoslav Attack (B78) il bianco attacca a testa bassa come un toro infuriato ma il bianco non si scompone mai di un mm, alla fine del nero dopo la consueta tecnica posizionale pythoniana non rimane niente! La partita Anatoly Karpov vs Angel Martin Gonzalez Las Palmas (1977), Las Palmas ESP, rd 10, Sicilian Defense: Dragon. Classical Variation General (B72) é invece un capolavoro didattico da far vedere a Coverciano perché il bianco prima apparecchia la tavola e poi sfonda con la mossa tattica Alfiere prende f6!! E della mossa 25 nella Anatoly Karpov vs Robert Huebner “Doctored Robert” (game of the day May-13-2017) Interpolis 6th (1982), Tilburg NED, rd 1, Sep-30 Caro-Kann Defense: Classical Variation. Main lines (B19) ne vogliamo parlare? E’ tipico di Karpov non permettere all’ avversario nessuna modalità di gioco attivo. E i processi decisionali nella Anatoly Karpov vs Gyula Sax “Sacs Sacks Sax” (game of the day Feb-19-2010) Linares 4th (1983), Linares ESP, rd 3, Feb-14 Sicilian Defense: Scheveningen Variation. Keres Attack (B81) ovvero come il bianco riesce ad attaccare con incisività grazie a un sacrificio posizionale di qualità finalizzato al controllo delle case chiare? Insomma prima di scrivere che Karpov non era un giocatore completo e che sapeva solo vincere i finali e che non sapeva produrre belle combinazioni e che sapeva solo strangolare e che sapeva solo giocare sulla testa degli avversari etc etc addà passà la nuttata! Le partite di Karpov parlano da sole http://www.chessgames.com/perl/chesscollection?cid=1035030 e vanno studiate e riprodotte sulla scacchiera per imparare tutti i fondamentali della tattica e della strategia!

Quante ne sai di wordpress? E per vincere contro Polugaevsky cosa bisogna fare?

agenzia web marketingIntanto comprati la macchina del tempo, passa in Fiat e chiedi lumi. Poi vai su http://www.chessgames.com/perl/chessgame?gid=1092096 dove si materializza la game Lev Polugaevsky vs Ljubomir Ljubojevic Linares 5th (1985), Linares ESP, rd 2, Mar-09 Queen’s Indian Defense: Kasparov Variation (E12) vinta alla mossa 42 dal nero. In questa partita il bianco che non ha propriamente l’indole di un terrosita accetta i giochi provocatori di Ljubo che quel giorno aveva voglia di metterla in caciara e di creare risse tattiche. Dopo un mediogioco dove non si capisce nulal la partita sembra confluire in una fase altrettanto complessa caratterizzata da enormi squilibri di materiale da chiarire. Il tutto si chiarisce però alla mossa 42 per un finale drammatico! E ora veniamo a noi caro wordpress, innanzitutto ti devo installare in locale o via FTP (file transfert protocol) da qualche parte? Iniziamo a vedere in locale. Per installare wordpress si va su https://wordpress.org/download/ e si procede allo scarico. Uno dei file critici del pacchetto é il famoso wp-config.php che predispone tutti i parametri per la connessione al database ma anche il settaggio di alcuni parametri tipo il tempo di intervallo di salvataggio da dedicare ai nostri post che agenzia web marketingsi esplica con l’istruzione: define(‘AUTOSAVE_INTERVAL’, ‘300’); in questo modo attivo l’autosalvataggio ogni tot tempo, un’ altra opzione che posso usare é quella della gestione della memoria per cui se imposto a define(‘WP_MEMORY_LIMIT’,’64M’); non dovrei avere problemi. Digitando wp config option troverò in rete nel codex tutti i parametri di configurazione che si possono usare all’ interno del file sensibile wp-config.php indirizzo https://codex.wordpress.org/Editing_wp-config.php. Se siamo in locale avviamo MANP (linux) o XAMPP for windows per aprire sul browser il famoso localhost. Posizionare il sito wordpress dentro a HTDOCS dopo la decompressione. Ora che ci sono i contenuti dobbiamo creare la connessione database. Se sono in locale prima di completare l’autocomposizione iniziale dove vengono richiesti i parametri posso anche creare un database specifico prima con phpadmin. Di solito le impostazioni di default richieste sono quelle canoniche di MAMP o XAMPP cioé localhost come server (HOST), root come user e pwd bianca con il nome del DB come suggerito prima. Nella schermata successiva vengono richiesti un titolo per il nostro blog, il nome utente e una pwd da usare per connettersi al pannello di controllo per gestire il ns blog wordpress. Per la password inserire delle password forti sicure. E approfondire il back-end no? Ma quali sono le configurazioni di default e i contenuti offerti standard dopo l’installazione di wordpress e come posso configurare i servizi minimo vitali? Le risposte non sono dentro di te come dice qualche maestro zen condominiale, ma ti verranno fornite da Umbriaway Consulting!

Se le cose vanno male nel mondo non sai centrare un e le ingiustizie sociali si moltiplicano, la colpa di tutto sai di chi é? Dei CSS!

agenzia web marketingDiciamocelo chiaramente, il mondo a livello globale va avanti ma potrebbe andare meglio, accanto ai lavori canonici tradizionali regolarizzati per le caste che andiamo a categorizzare come salvati per usare una metafora di Levi P abbiamo attività di alienazione fraudolente che sfociano in business pseudo-strani o malavitosi categorizzate nel cassetto sommersi. La gente miagola nel buio. Si é in cirsi di identità, i giovani non avranno mai la pensione e non avranno mai nè famiglia nè figli, perché lo squilibrio regna sovrano e quella bella gente che ha risanato lo stivale negli anni scorsi oggi di fatto si sollazzera con i suoi 5000 euri al mese di pensione o giù di lì grazie a presunti creduloni che sono andati a votarli fiduciosi per dare loro sostegno e rifocillare i loro codici IBAN. Come se non bastasse anche a diventare GM ci va il grano, se non altro per lubrificare qualche mezzo punto di rito con l’agonista più altolocato. E di chi é la colpa di tutto questo modello BCE basato sulla speculazione e sul profitto e sulle ingiustizie sociali finalizzate al portafoglio proprio? Ma non lo sai che oggi prendere un ambulanza da qualche parte in Italia può essere pericoloso se hai qualcuno sopra che ti segue in affari con il becchino locale che ha bisogno di incrementare il fatturato? Chi é il responsabile? Umbriaway Consulting? Agenzia web marketing? Dio? La Juventus? Lapo? Quello che esalta Fonzie come il miglior politico di tutti i tempi? Se la gente da qualche parte nel mondo muore di fame e di freddo chi sene dicono a RM? L’importante é continuare a usare un cibo incontaminato e a non commetere peccato uccidendo vacche (bovine ndr) per avere una bella fiorentina con cipolline aromatizzate allo zenzero sulla propria tavola? Di chi é la colpa di tutto questo eh? Ebbene si, anche se dà fastidio alle coscienze, la colpa di tutto questo caos é proprio dei CSS, che sta per Cascading Style Sheets. Chi sviluppa il web e ha un profilo da web designer sa che bisogna cristonare molto su margini e padding e posizionamenti e su elementi padri e figli per far quadrare i conti con un approccio: qui piloto io! Spesso quello che si vorrebbe fare a livello di modellazione e gestione degli elementi grafici sulla pagina, non avviene per i più misteriosi motivi, forse nella tua vita precedente eri una persona cattiva e ora anche applicare il codice in maniera corretta ti diventa difficile a cusa di un karma nefasto. Ora chi ha un minimo di esperienza sa bene come la famosa mela del famoso fisico Newton che alcune regole varranno smpre in maniera assoluta, del tipo che se applico un colore rosso a una intestazione h1 quel tag dovrà reagire nell’ unico modo possibile pronosticabile che lasciamo immaginare agli affezionati lettori di Umbriaway Consulting. Come ben sappiamo la parte strutturale di una pagina HTML o ossatura é costituita da HTML, ma come ben sappiamo anche gli edifici hanno un contenuto che é protetto da un contenitore costituito da ferro e acciaio e cemento. Se la parte di struttura é gestita dai tag di formattazione HTML la parte di presentazione é gestita dai CSS in modo da separare vestito grafico ed aspetto estetico dalla struttura ossea di chi lo indossa. E la parte logica dei comportamenti interattivi? Quella la lasciamo fare a javascript. Separata la triade architetturale ipotizziamo adesso di avare un problema pratico. Voglio centrare un elemento di una pagina HTML magari al centro di tutto. Come dici? Ti viene da ridere perché puoi usare un tag di tipo CENTER? Ma non parliamo di testo, quello lo sappiamo bene che reagirà nell’ unico modo possibile con quel tag, parliamo magari di un DIV e allora come centrare ad esempio degli elementi CHILD all’ interno di elementi PARENT? Ma quante volte hai combattuto con margin, padding e proprietà come border o posizionamento per vedereun elemento nel punto esatto dove ti saresti aspettto di vederlo senza riuscirci? E lo sai perché? Perché evidentemente non conosci bene le regole CSS, semplice! Esistono tante strade diverse per raggiungere un unci obiettivo. Sappiamo che una regola di stile ha un elemento caratterizzante, ha delle proprietà a corredo ed ha dei VALUE, dei valori che definiscono il tutto. Ci si aspetterebbe che applicando gli stessi parametri in un progetto, si debbano perseguire gli stessi risultati ma a volte questo non accade perché? Perché dobbiamo contestualizzare il tutto e vedere quali sono gli elementi annidati, capire quali gerarchie di fogli stile interagiscono, vedere in una visione più ampia tutte le circostanze del progetto e come viene gestito. I progetti hanno una loro singolarità e i comportmenti possono essere imprevedibili applicando magari gli stessi valori in certi contesti a certe regole. Se con l’avvento di CSS3 alcune problematiche standard legate per l’appunto a margini, padding, bordi e posizionamenti assoluti e relativi sembrano arginati grazie all’ uso di flexbox, di griglie flessibili, di misure relative e di framework responsivi, di fatto alcuni problemi come quello della centratura di un DIV possono apparire insormontabile se non si conoscono le strade che portano a RM. Di fatto questo può essere risolto ad esempio in 4 mosse, per esmepio impostando un margin: 0 auto oppure una semplice istruzione come display: inline-block oppure usando position: absolute seguito dala proprietà left o ancora usando la proprietà TRANSFORM-TRANSLATE, ma l’unico modo per capire come funzionano queste regole é applicarle per vedere l’effetto che hanno, senza sperimentazione pratica la teoria divent fuffa. Ora per comprendere gli aspetti pratici di tutti questi deliri basta visitare l’indirizzo http://www.farwebdesign.com/css/center1.html e http://www.farwebdesign.com/css/center2.html e visualizzare il codice sorgenti delle pagine con tasto destro visualizza codice sorgente. Ma a questo punto il dado é tratto e non ci resta che scavare a fondo sulla natura dei CSS.

– Il collegamento in cascata si riferisce al modo in cui i CSS applicano uno stile su un altro.
– I fogli di stile controllano l’aspetto dei documenti Web.

CSS e HTML funzionano mano nella mano:

– HTML ordina la struttura della pagina.
– Il CSS definisce come vengono visualizzati gli elementi HTML.

Perché usare i CSS? I CSS ti consentono di applicare stili specifici a specifici elementi HTML. Il vantaggio principale del CSS è che ti consente di separare lo stile dal contenuto. Usando solo HTML, tutti gli stili e la formattazione sono nella stessa posizione, che diventa piuttosto difficile da mantenere man mano che la pagina cresce. Tutta la formattazione può (e dovrebbe) essere rimossa dal documento HTML e archiviata in un file CSS separato. L’utilizzo di uno stile in linea è uno dei modi per inserire un foglio di stile. Con uno stile in linea, uno stile unico viene applicato a un singolo elemento.

Per utilizzare uno stile in linea, aggiungi l’attributo style al tag pertinente.

L’esempio seguente mostra come creare un paragrafo con sfondo grigio e testo bianco:

CSS incorporato / interno

Gli stili interni sono definiti all’interno dell’elemento <style>, all’interno della sezione head di una pagina HTML.

Ad esempio, il codice seguente definisce tutti i paragrafi:

<pre>
<html>
<head>
<style>
p {
color:white;
background-color:gray;
}
</style>
</head>
<body>
<p>This is my first paragraph. </p>
<p>This is my second paragraph. </p>
</body>
</html>

Tutti i paragrafi hanno un carattere bianco e uno sfondo grigio:
</pre>

CSS esterno

Con questo metodo, tutte le regole di stile sono contenute in un singolo file di testo, che viene salvato con l’estensione .css. Questo file CSS viene quindi referenziato nell’HTML usando il tag <link>. L’elemento <link> entra nella sezione head. Ecco un esempio:

L’HTML:
<pre>
<head>
<link rel=”stylesheet” href=”example.css”>
</head>
<body>
<p>This is my first paragraph.</p>
<p>This is my second paragraph. </p>
<p>This is my third paragraph. </p>
</body>
</pre>

The CSS:
p {
color:white;
background-color:gray;
}

Entrambi i percorsi relativi e assoluti possono essere utilizzati per definire l’href per il file CSS. Nel nostro esempio, il percorso è relativo, poiché il file CSS si trova nella stessa directory del file HTML. Il CSS è composto da regole di stile che il browser interpreta e quindi si applica agli elementi corrispondenti nel documento. Una regola di stile ha tre parti: selettore, proprietà e valore. Ad esempio, il colore del titolo può essere definito come nella figura inserita. Il selettore punta all’elemento HTML che desideri applicare allo stile. Il blocco di dichiarazione contiene una o più dichiarazioni, separate da punti e virgola. Ogni dichiarazione include un nome di proprietà e un valore, separati da due punti. I selettori più comuni e facili da capire sono i selettori di tipo. Questo selettore seleziona i tipi di elementi nella pagina. Ad esempio, per indirizzare tutti i commenti sulla pagina:

p {
color: red;
font-size:130%;
}

Una dichiarazione CSS termina sempre con un punto e virgola ei gruppi di dichiarazione sono circondati da parentesi graffe. I selettori di id consentono di applicare uno stile a un elemento HTML con attributo id, indipendentemente dalla loro posizione nell’albero del documento. Ecco un esempio di un selettore di ID:

The HTML:


This paragraph is in the intro section.



<p> This paragraph is not in the intro section.</p>

The CSS:
#intro {
color: white;
background-color: gray;
}

Per selezionare un elemento con un ID specifico, utilizzare un carattere hash e quindi seguirlo con l’id dell’elemento. I selettori di classe funzionano in modo simile. La principale differenza è che gli ID possono essere applicati solo una volta per pagina, mentre le classi possono essere utilizzate tutte le volte in una pagina secondo necessità. Nell’esempio seguente, entrambi i paragrafi con la “prima” classe saranno interessati dal CSS:

The HTML:
<pre>


This is a paragraph


This is the second paragraph.



<p class=”first”> This is not in the intro section</p>
<p> The second paragraph is not in the intro section. </p>
</pre>

The CSS:
.first {font-size: 200%;}

Per selezionare elementi con una classe specifica, usa un carattere punto, seguito dal nome della classe. NON avviare un nome di classe o ID con un numero! Questi selettori vengono utilizzati per selezionare elementi che sono discendenti di un altro elemento. Quando si selezionano i livelli, è possibile selezionare tutti i livelli in profondità necessari. Ad esempio, per indirizzare solo gli elementi <em> nel primo paragrafo della sezione “intro”:

The HTML:
<pre>


This is a paragraph.


This is the second paragraph.



<p class=”first”> This is not in the intro section.</p>
<p> The second paragraph is not in the intro section. </p>
</pre>

The CSS:
#intro .first em {
color: pink;
background-color:gray;
}

Di conseguenza, saranno interessati solo gli elementi selezionati. I commenti sono usati per spiegare il tuo codice e possono aiutarti quando modifichi il codice sorgente in seguito. I commenti sono ignorati dai browser. Un commento CSS assomiglia a questo:

/* Comment goes here */

Example:
p {
color: green;
/* This is a comment */
font-size: 150%;
}

Il commento non appare nel browser. L’aspetto finale di una pagina Web è il risultato di diverse regole di stile. Le tre principali fonti di informazioni di stile che formano una cascata sono:

– Il foglio di stile creato dall’autore della pagina
– Gli stili di default del browser
– Stili specificati dall’utente

L’ereditarietà si riferisce al modo in cui le proprietà fluiscono attraverso la pagina. Un elemento figlio di solito assume le caratteristiche dell’elemento genitore se non diversamente definito. Per esempio:
<pre>
<html>
<head>
<style>
body {
color: green;
font-family: Arial;
}
</style>
</head>
<body>
<p>
This is a text inside the paragraph.
</p>
</body>
</html>
</pre>

Poiché il tag di paragrafo (elemento figlio) si trova all’interno del tag body (elemento padre), assume qualsiasi stile assegnato al tag body.

Agenzia web marketing e le fondamenta di JQuery

Un giocatore posizionale può sviluppare grandi complicazioni tattiche? Analizziamo per esempio la partita Anatoly Karpov vs Murray Chandler Phillips & Drew GLC Kings (1984), London ENG, rd 2, Apr-27 Tarrasch Defense: Classical Variation (D34) finita 1-0. Apertura del nero molto rischiosa usata ai tempi occasionalmente anche da Kasparov in cui il pedone isolato in d5 si rende spesso artefice di sviluppi di gioco estremamente dinamici. Indirizzo internet: http://wagenzia web marketingww.chessgames.com/perl/chessgame?gid=1068407. Spesso le funzioni neorologiche del cervello finiscono per assegnare con dei luoghi comuni dei contenitori logici per cui un giocatore posizionale dioventa seppure eccelso nel suo settore fatto di lunghe manovre un brozzo pazzesco tatticamente parlando. Non é così perché dopo 20 Tc6 il cervello deve analizzare con cura e molta attenzione un ginepraio di varianti complesso. Liquidata questa parte in cui da spettatori non possiamo fare altro che ammirare la maestria dell’ ex campione del mondo e da appassionati sostenitori di agenzia web marketing estrapolarla per farne tesoro, ci accingiamo a rivedere i fondamenti di JQuery. jQuery è una libreria JavaScript veloce, piccola e ricca di funzionalità. Rende molto più semplici le cose come il traversamento e la manipolazione dei documenti HTML, la gestione degli eventi e l’animazione. Tutta la potenza di jQuery è accessibile tramite JavaScript, quindi avere una forte conoscenza di JavaScript è essenziale per comprendere, strutturare e eseguire il debug del codice. Innanzitutto, diamo un’occhiata a un esempio di manipolazione HTML con JavaScript. Per ottenere l’elemento con id = “start” e cambiare il suo html in “Go”, dovremo fare quanto segue:

var el = document.getElementById(“start”);
el.innerHTML = “Go”;

Per fare la stessa manipolazione con jQuery, abbiamo bisogno solo di una singola riga di codice:

$(“#start”).html(“Go”);

Come puoi vedere, il codice è molto più breve e più facile da capire. Un altro grande vantaggio di jQuery è che non devi preoccuparti del supporto del browser, il tuo codice funzionerà esattamente nello stesso modo in tutti i principali browser, incluso Internet Explorer 6!

Puoi scaricare una copia della libreria jQuery da http://www.jquery.com oppure, in alternativa, puoi includerla da una rete di distribuzione di contenuti (CDN), come Google o Microsoft.
Useremo il CDN dal sito web ufficiale di jQuery. Per iniziare a usare jQuery, dobbiamo prima aggiungerlo alla testa del nostro documento HTML usando il tag script:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
https://code.jquery.com/jquery-3.1.1.js
</head>
<body>
</body>
</html>

jQuery è una libreria JavaScript, quindi ha l’estensione del file .js. È una buona pratica aspettare che il documento HTML sia completamente caricato e pronto prima di utilizzarlo. Per questo usiamo l’evento ready dell’oggetto documento:

$(document).ready(function() {
// jQuery code goes here
});

$ È usato per accedere a jQuery. Da qui, il codice accede all’oggetto del documento e definisce una funzione da chiamare quando viene attivato l’evento pronto del documento. Ciò impedisce l’esecuzione di qualsiasi codice jQuery prima del caricamento del documento. Dato che il codice sopra è usato in quasi tutti i casi quando si usa jQuery, c’è una comoda scorciatoia per scriverlo:

$(function() {
// jQuery code goes here
});

Ora, avendo la libreria jQuery nella nostra sezione principale e avendo definito l’evento pronto per il documento, possiamo iniziare la nostra prima manipolazione di jQuery! Cambiamo il contenuto dell’elemento div.

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
https://code.jquery.com/jquery-3.1.1.js
</head>
<body>

Start


</body>
</html>

il file JS:

$(function() {
$(“#start”).html(“Go!”);
});

Questo cambia l’HTML dell’elemento con id = “start” su “Go!”.

jQuery è usato per selezionare (interrogare) elementi HTML ed eseguire “azioni” su di essi. La sintassi di base è: $ (“selettore”). Action ()

– $ accesses jQuery.
– Il (selettore) trova elementi HTML.
– L’azione () viene quindi eseguita sugli elementi.

Per esempio:

$(“p”).hide() // hides all <p> elements
$(“.demo”).hide() // hides all elements with class=”demo”
$(“#demo”).hide() // hides the element with id=”demo”

Riguardiamo il codice di un esempio precedente:

$(“#start”).html(“Go!”);

Questo seleziona l’elemento con id = “start” e chiama il metodo html () per esso. Il metodo html () viene utilizzato per modificare il contenuto HTML di un elemento. Se hai già usato CSS in precedenza, noterai che jQuery usa la sintassi CSS per selezionare gli elementi. Diamo un’occhiata a tutti i selettori jQuery che iniziano con il simbolo del dollaro e le parentesi: $ (). Il selettore di base è il selettore di elementi, che seleziona tutti gli elementi in base al nome dell’elemento.

$(“div”) // selects all <div> elements

Poi ci sono i selettori id e class, che selezionano gli elementi in base al loro id e nome della classe:

$(“#test”) // select the element with the id=”test”
$(“.menu”) //selects all elements with class=”menu”

È inoltre possibile utilizzare la seguente sintassi per i selettori:

$(“div.menu”) // all <div> elements with class=”menu”

$(“p:first”) // the first <p> element

$(“h1, p”) // all <h1> and all <p> elements

$(“div p”) // all <p> elements that are descendants of a <div> element

$(“*”) // all elements of the DOM

I selettori rendono l’accesso agli elementi HTML DOM facili rispetto al puro JavaScript. In una delle prossime sessioni di allenamento con agenzia web marketing torneremo ad affondare il bisturi dulle potenzialità di JQuery e sulle mirabolanti funzioni semplificate di cui dispone come figlio agile e snello di Javascript.

Web marketing Umbria e i dialetti javascript a supporto del framework Node

web marketing UmbriaDella partita leggendaria segnalata da web marketing Umbria all’ indirizzo http://www.chessgames.com/perl/chessgame?gid=1070074 di Garry Kasparov vs Lajos Portisch “Very Garry” (game of the day Aug-17-2017) Niksic (1983), Niksic YUG, rd 4, Aug-28 Queen’s Indian Defense: Kasparov-Petrosian Variation. Petrosian Attack (E12) finita ovviamente 1 a 0 verrebbe da chiedersi se a quei tempi era consentito l’uso dei computer portatili in sala torneo dal momento che una mossa come 21 Ag7 non sembra normale nella sua esplosione tattica. Portish poi non era nemmeno l’ultimo arrivato tanto é che alla mossa 28 il bianco deve giocare uno scacco su casa h8 per evitare una bedìffarda trappola dovuta alla variante 28 Td3 Dc5 x f2!! La partita vinse il miglior premio dell’ informatore 36 con una marea di dieci assegnati dai suoi competitors e con un solo irrispettoso 8 di Gligoric e due miserevoli 9 di Miles e Petrosjan su un totale di nove voti complessivi. A vederla oggi questa partita verrebbe da dire che ci va una certa sensibilità a osservare dettagli quasi invisibili del tipo un cavallo su casa a5 completamente estraneo dalla lotta e ciò consente una valutazione dinamica della posizione anche se il bianco in cambio dei due pezzi minori ottiene un corrispettivo alla fine equivalente di torre e pedone. Fortunatamentre per Kasparov ai tempi i software non rappresentavano nessuna minaccia per l’agonismo e nel 1983 non era lontanamente pensabile di vedere mosse fantastiche sulla scacchiera materializzate grazie a occulti algoritmi. Tornando al nostro NODE diamo ancora un occhiata alla parte di ripasso EcmaScript sei che tradotto sarebbe javascript lato server. La sintassi é abbastanza intweb marketing Umbriauitiva e non risulta essere per lo studioso trascendentale semmai dovrebbe essere di facile comprensione e intuitivamente applicabile. Tornando a Bomba con l’articolo riassuntivo su NODE presente all’ indirizzo di UmbriaWayPotenzia  facciamo una serie di considerazioni finali sul dialetto javascript utilizzato, in particolare della sostituzione effettuata sulla parola chiave con LET o CONST, sono due nomi identificativi della natura della variabile, ad esempio se utilizzo CANE per definire il mio animale preferito é palese che il valore della variabile non cambierà e quindi va bene const facilmente verificabile andando a stampare con il metodo console.log un valore modificato di quella costante come const animale = gatto dopo const animale = cane dove andrei a generare un errore, mentre LET prende le veci in NODE di VAR come dialetto usato nel framework. E il template string? Serve per facilitare le concatenazioni. Ad esempio la scorbutica sintassi console.log(“Il corso ” + titolo + ” ha il costo di: ” + prezzo + ” € ed è erogato in modalità: ” + modalita); che si presta a grane di formattazione diventa con la sintassi ad apice inverso o backtick quindi console.log(` Il corso ${titolo} ha il costo di: ${prezzo}€ ed è erogato in modalita ${modalita}. `); e questo é l’uso del template string ad apice inverso dove la stringa é delimitata da un solo blocco di apici rispetto all’ istruzione precedente. A questo punto vediamo le funzioni a freccia per velocizzare la stesura del nostro codice. Il carattere backtick ` è sempre più popolare, è usato nei Markdown per includere del codice e nelle nuove template strings di Typescript e si genera sulla tastiera windows con ALT+0096 e l’espressione const studente = function(nome , cognome){ si può velocizzare con la sintassi privata del function const studente = (nome , cognome) =>{ che ottimizza il tutto. Un occhiata alla PROMISE, come si crea? Quale é il suo specifico funzionamento? Come avviene il controllo sugli stati della promessa? Il Pending? Il Resolve? Lo stato di rigetto? Quando la promessa non può essere mantenuta? Il catch come mostrato in figura fa il controllo sugli stati della funzione: .catch((reject)=>{ reject = ‘qualcosa non va?’; document.write(reject); }) dove resolve e reject sono parole che decidiamo noi a livello di comprensione nella stesura del codice. Grafica royalty free prelevata dal funzionale sito https://unsplash.com/

Problemi con i vasetti di marmellata? Prova quella alle prugne suggerisce web design Umbria!

web design umbria

Con web design Umbria cerchiamo di entrare nei misteri del match di ritorno tra Tal e Botvinnik che consentì al secondo di riprendersi la corona mondiale malgrado alcune debacle come questa che andremo a vedere all’ indirizzo http://www.chessgames.com/perl/chessgame?gid=1032570 dove a un certo punto il nero prende fischi per fiaschi in una posizione critica. Stiamo parlando dell’ ottava partita una caro kann dove a un certo punto il nero gioca 17..a4? quando andava prima eliminato il pedone c4 nella linea con 17..dc4! 18 Tc4 a4! 19 Cbd4 (19 Txa4 Ae7!) Ac5 con il nero in vantaggio posizionale. Ma…ecco dopo 17..a4? comparire sulla scacchiera 18 c5 che non sembra difficile da vedere se non altro perché attacca la regina eh eh! Ora dopo 17..a4? 18 c5 Dc7 19 Cbd4 perché mail il nero non potrebbe giocare per esempio alfiere da casa f8 a casa c5? Bé questo é un compito a casa. Nella posizione finale dopo 29 Cd7 se 29..Ad7 30 Cd7 Td8 31 Tc8!! risolve in vista della sciabordata Ta8 mentre anche 29..Rc7 non va a causa di 30 b6 e 31 cb7. Perché con web design Umbria abbiamo citato questa partita? Perché é piena di varianti e conseguentemente anche di variabili con la mossa x o y che può valere in modi diversi e ci riferiamo evidentemente alla cappella del nero alla mossa dieciasette che fortunutamente per Botvinnik non gli ha ostacolato la riconquista del titolo come incidente. Che poi gli errori esistano anche in php é un fatto provate a scrivere una dichiarazione di stampa a video per visualizzare una stringa senza mettere le virgolette, fa notare web design Umbria! Che dire sulle variabili in php? Che sono contenitori vasetti di marmellata che contengono tipi diversi di marmellata e contenuti e che i tipi di dati suono diversi e che possono essere NULL, booleani true e false, stringhe, interi etc. PHP riconosce in automatico il tipo di dati ma volendo io potrei anche stampare a video un numero che però viene dichiarato con la parola chiave string diversamente. I nomi delle variabili sono costituiti da numeri e lettere e simboli come underscore e sono preceduti dal simbolo del dollaro. E’ buona norma usare spiegazioni chiare sul nome nel senso che già dalla dichiarazione che precede l’assegnazione si deve sapere di che cosa si sta parlando tipo $age per esempio che presumibilmente sarà un intero e che non può essere una costante dal momento che l’età cambia ogni anno. Con la funzione var_dump() stampo sia il tipo dei dati che il contenuto mentre per print_r() vale solo la seconda che abbiamo detto. Poi posso avere necessità di stampare all’ interno di una stringa il valore di una variabile e questo lo posso fare inserendo nell’ echo un blocco di graffe. Anche print() ha la stessa funzione di echo(). Le stringhe vanno racchiuse da virgolette singole o doppie anche se ci sono delle sfumature. In una delle prossime sessioni di allenamento con web design Umbria andremo a sviscerare meglio il tema delle costanti, a volte nei programmi esistono dei puntelli inamovibili che non sono soggetti a variazioni temporale come il codice fiscale per esempio che é immutabile. Per quanto riguarda la nomenclatura per scrivere le variabile il sistema a gobba di cammello per separare le parole e capirle meglio funziona tipo $nomeCognome o ancjhe &nome_cognome é molto utilizzato, l’idea di fondo é che una dichiarazione di variabile si deve capire in che contesto lavora in maniera inequivocabile senza lasciare spazi di ambiguità.