Ancora tu? Non dovevamo vederci più? Battisti aveva in testa il dragone quando se ne uscito con la sua canzone di successo? Il dragone é scientificamente perdente? E perché Nakamura ci ha vinto con l’over 2700 di nero a Gibilterra? Lucho57 vs Faraoni Enrico e 17..gh5!? Novità Teorica con delirio

Ma il dragone non va a casa scientificamente? Il bianco non vinceva sempre in tutte le varianti? Hanno trovato qualcosa di nero per rivitalizzare qualche linea? Nakamura gioca il dragone nei tornei di alto livello e vince, perché lo fa? Calma, calma qui si dettano le mode e solo perché c’è una vittoria tutti si mettono a giocare il dragone! Ebbene si, nella partita di preallenamento per la serie A2 faraoni Enrico alias Nando Anando propone la sua bestia immonda a un impavido bianco (Lucho57, tempi veloci, chess24, 2 febbraio 2018)

1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 Ancora tu? Non dovevamo vcederci più? E’ molto raro che venga accettata la sfida sulle linee principali perché di solito vince non sempre il giocatore più bravo ma solo quello meglio preparato su quella linea. Per questa ragione dopo la seconda mossa del nero il bianco ha numerose alternative minori valide da sperimentare 6. Be3 Bg7 7. f3 O-O 8. Qd2 Nc6 9. Bc4 Bd7 10. O-O-O Rc8 11. Bb3 Ne5 12. h4 h5 13. Bg5 Rc5 14. g4 hxg4 15. f4 Nc4 16. Qe2 b5 17. h5!?

la variante principale é 17 f5! Da5 e si apre un mondo

17..gxh5!? il nero fa la sua novità teorica!

(17… Nxh5 e 17 ..Tg5!? 18 fg5 Ch5 con posizioni nebulose contemplate dalla moderna teoria delle aperture)

18. Bxf6 Bxf6

(18… exf6 19. Ndxb5 Nxb2 20. Kxb2 Qa5 21. Rd5 Bxb5 22. Rxc5 Qxc3+ 23. Kxc3 Bxe2 posizione giocabile per entrambi)

19. Nf5

(19. f5! Kg7! non facile da vedere come piano difensivo 20. Rxh5 Rg8 21. Qxg4+ Kf8 22. Qh3 Qb6 23. Rh7 Ke8 24. Qh5 Rf8 25. Qe2 Nxb2 26. Kxb2 Rxc3 27. Kxc3 Qc5+ 28. Kd2 Qxd4+ 29. Qd3 Qf2+ 30. Kc1 Qf4+ 31. Kb1 Qe5 32. Kc1 e il bianco deve subire il perpetuo sulle case nere altrimenti l’alfiere in g7 che ce lo metto a fare?)

19… Bxf5 20. Rxh5 Bxc3!?

(20… Bd7! 21. f5 Ne5 22. Rdh1 Rxc3 23. bxc3 e6 24. Qh2 Bg5+ 25. Kb1 Kg7 26. fxe6 Bxe6 27. Bxe6 fxe6 28. Rh7+ Kf6 29. Qh5 Nf3 30. Qxg4 Ke5 31. Qg3+ Rf4 32. Rd1 Kxe4!! e il nero gioca per vincere un giocatore normale difficilmente vedrebbe queste mosse di re al centro della scacchiera in pieno medio gioco)

21. bxc3 Qa5 22. Bxc4

(22. Qh2?? Qa3+ 0-1)

22… Qa3+ 23. Kd2 Rxc4 24. Qxg4+! gulp

24..Bg6 25. Rh3 Rxe4 26. Qh4 f5 27. Rg1 Kf7 28. Rxg6 Ke8 29. Qh5 Kd7 30. Rg8!! porca puzzola  30..Re1!! arigulp

(30… Rxg8? 31. Qxf5+ Kc7 32. Qxe4)

31. Kxe1 Qc1+ 32. Qd1 Qxd1+ 33. Kxd1 Rxg8

e il finale del bianco a gioco corretto é senza speranze. Che dire? Questa novità teorica del nero si può giocare? In questa partita ci sono mosse tattiche allucinanti di ogni tipo e per tutti i gusti anche nascoste nelle analisi, solo nel dragone sono possibili motivi tattici esasperati di complicata bellezza, per ora ha ragione NAKAMURA, il dragone, ANCORA TU, concludiamo con il testo della canzone immortale di Battisti:

 

Ancora Tu non mi sorprende lo sai
Ancora Tu ma non dovevamo vederci più
E come stai, Domanda inutile
Stai come me e ci scappa da ridere
Amore mio hai già mangiato o no
Ho fame anch’io e non soltanto di te
Che bella sei sembri più giovane
O forse sei solo più simpatica
Oh lo so cosa tu vuoi sapere…
Nessuna no ho solo ripreso a fumare…

Sei Ancora Tu purtroppo l’unica
Ancora Tu l’incorregibile
Ma lasciarti non è possibile
No lasciarti non è possibile
Lasciarti non è possibile
No lasciarti non è possibile
Sei Ancora Tu purtroppo l’unica
Sei Ancora Tu l’incorregibile
Ma lasciarti non è possibile
No lasciarti non è possibile

Lasciarti non è possibile

No lasciarti non è possibile

Disperazione gioia mia
Sarò Ancora Tuo sperando che non sia follia
ma sia quel che sia
abbracciami amore mio
abbracciami amor mio
Ché adesso lo voglio anch’io
Ancora Tu, non mi sorprende lo sai
Ancora Tu, ma non dovevamo vederci più
E come stai? Domanda inutile
Stai come me e ci scappa da ridere
Amore mio hai già mangiato o no
Ho fame anch’io e non soltanto di te
Che bella sei sembri più giovane
o forse sei solo più simpatica

 

Annunci

Abbiamo il DOVERE di parlare di WEB FORM in PHP e della spettacolare partita di TAL giocata nel 1985 vs Ftacnik!

social media marketing umbriaBasta con i buzzurri giochi di parole che hanno consentito alla Juventus di approdare alla semifinale di Coppa Italia contro il Torino grazie a una partita taroccata per un errore umano al minuto settanta quando quel poveraccio di arbitro DOVERI (candidato a visionare prossimamente tornei di freccette) si permetteva di fare grandi danni a quegli sportivi che non tifano Juventus. Finiamola con questa becera rivendicazione e parliamo delle mosse di Tal lo scacchista. Come possiamo definire la Mikhail Tal vs Lubomir Ftacnik Nimzowitsch Memorial (1985), Naestved DEN, rd 8, Sicilian Defense: Scheveningen. Classical Variation (B84) 1-0 in 31 mosse? Un pestaggio sportivo ? O qualcosa simile a una prestazione sonora dei Nirvana modello Come As You Here? Qualcosa di vero c’è a giudicare l’ultimo parallelismo, le parole del testo esaltato da Kurt Kobain sono incomprensibili come le mosse tattiche giocate dal bianco: http://www.chessgames.com/perl/chessgame?gid=1045773. E’ complicato anche ricamarci sopra una bella telecronaca del tipo clamoroso allo Stadium, il bianco vince facile grazie a una incertezza della VAR. Le mosse di Tal sono semplici e oculate nella loro scelleratezza. Come soppesare una mossa come 15 f6!? Il nero forse si aspettava questa spinta di attacco? Un aspetto salta subito all’ occhio e cioé che tutto sommato i pezzi neri sono temporaneamente ripiegati sull’ ultima traversa a esprimere un potenziale limitato rispetto a un gioco di squadra che potrebbero orchestrare. E dopo 20 Ah6 come avrà cambiato la sua valutazione il nero? Avrà finalmente capito in guai seri, chiede social media marketing Umbria? Per le prestazioni di Tal e le sue best games vedere link http://www.chessgames.com/perl/chesscollection?cid=1005503. E ora passiamo a parlare di WEB FORMS per gli sviluppatori PHP che sono strumento o risorse messe a disposizione per consentire all’ utente di processare i dati, sottolinea social media marketing Umbria. Hai presente un modulo di LOGIN? Hai presente dettagli come nome , cognome, indirizzo, mail? Siamo dentro ai web form ma anche ai METODI che servono per processare e spedire queste informazioni. PHP offre un vasto campionariod i opzioni per gestire i FORM al meglio e non dimentichiamoci poi dell’ integrazione con JQuery ed Ajax che consentono un aggiornamento senza passare per il rendering della pagina. Passiamo a valutare con mano e a toccare un esempio pratico che social media marketing Umbria ha messo in piedi all’ indirizzo http://www.farwebdesign.com/php/Example8-webforms.html. Il tag FORM come si evince dalla gallery circoscrivono l’ambito di lavoro della spedizione dei dati e come tutti i tag HTML prevedono la solita apertura chiusura di rito. In una architettura client server, cioé all’ interno di un sistema dove qualcuno richiede e qualcun’ altro predisposto a rispondere, risponde, esistono due modi diversi di spedire i dati GET e POST. Coh get come si evince dal link di cui sopra le variabili transitano sopra la URL e sono visibili il che potrebbe essere un problema in termini di sicurezza, fa notare social media marketing Umbria, per questo spesso si usa il metodo (METHOD nello script) POST dove il tutto passa sotto silenzio in maniera coercitiva! HTTP per Definisce il protocollo di trasferimento ipertestuale come comunicano il server e il client. L’ & come simbolo separa le variabili nella stringa URL nel metodo GET. In uno dei prossimi articoli con social media marketing Umbria affronteremo la spinosa questione del perché l’uomo non sia ancora allunato su Marte (si fa per dire!).

Ma se cambio le regine finita l’apertura posso vincere lo stesso velocemente? Chiedilo a JQuery o a Kasparov scacchista di strada del Drosso!

agenzia web marketingAll’indirizzo http://www.chessgames.com/perl/chessgame?gid=1070111 vediamo in azione il giovane Kasparov vs il vecchietto Smyslov nel famoso match per la qualificazione al titolo mondiale, erano gli anni della Milano da bere tanto per intenderci, quelli in cui l’economia era alle stelle grazie a manovre strategiche leggermente diverse rispetto a quelle che si attuano sulla scacchiera. Questa partita risponde alla domanda critica posta da agenzia web marketing: ma se cambio le regine in apertura, poi, dopo, ho la possibilità di vincere lo stesso? I principi sono sempre gli stessi, spazio, iniziativa, incrementare la pressione, coppia degli alfieri, non é che bisogna velocizzare sempre dando scacco matto e sacrificando 40 unità, la tecnica é pur sempre la tecnica di concretizzazione del vantaggio, il tema é quello di mettere insieme tanti piccoli vantaggi a volte impercettibili per convertire tutto in vantaggio materiale o mettere il re avversario con le spalle al muro, conclude agenzia web marketing. E ora risaltiamo in modalità Toggle() verso JQuery. Quando si apre una pagina Web in un browser, l’HTML della pagina viene caricato e reso visivamagenzia web marketingente sullo schermo. Per fare ciò, il browser costruisce il Document Object Model (DOM) di quella pagina, che è un modello orientato agli oggetti della sua struttura logica. Il DOM di un documento HTML può essere rappresentato come un insieme di caselle annidate. Il DOM rappresenta un documento come una struttura ad albero in cui gli elementi HTML sono nodi interconnessi nell’albero. I nodi possono avere nodi figli. I nodi sullo stesso livello dell’albero sono chiamati fratelli. jQuery traversing è il termine usato per descrivere il processo di spostamento attraverso il DOM e trovare (selezionare) elementi HTML in base alla loro relazione con altri elementi. JQuery rende facile attraversare il DOM e lavorare con elementi HTML. Andiamo a dare un occhiata con agenzia web marketing al processo denominato DOM Traversal. Ad esempio, considera l’HTML rappresentato dalla seguente struttura dove ho in alto il tag HTML , sotto il BODY che si divide in due elementi fratelli, H1 e A. L’elemento <html> è il genitore di <body> e un antenato di tutto ciò che si trova al di sotto di esso. L’elemento <body> è il genitore degli elementi <h1> e <a>. Gli elementi <h1> e <a> sono elementi figlio dell’elemento <body> e discendenti di <html>. Gli elementi <h1> e <a> sono fratelli (condividono lo stesso genitore e si trovano sullo stesso livello).Jquery ha molti metodi utili per l’attraversamento DOM. Il metodo parent () restituisce l’elemento padre diretto dell’elemento selezionato. Per esempio:

HTML:

div element

paragraph


JS:
var e = $(“p”).parent();
e.css(“border”, “2px solid red”);

Il codice sopra seleziona l’elemento genitore del paragrafo e imposta un bordo rosso per esso. Il metodo parent () può solo attraversare un singolo livello nell’albero DOM. Per ottenere tutti gli antenati dell’elemento selezionato puoi usare il metodo parents (). Per esempio:

HTML:

<body>

div

    ul

  • li

    paragraph

</body>

JS:
$(function() {
var e = $(“p”).parents();
e.css(“border”, “2px solid red”);
});

Il metodo eq () può essere utilizzato per selezionare un elemento specifico da più elementi selezionati. Ad esempio, se la pagina contiene più elementi div e vogliamo selezionare il terzo elemento:

$(“div”).eq(2);

Ora vediamo con agenzia web marketing come rimuovere gli elementi selezionati dal DOM usando il metodo remove (). Per esempio:

HTML:

<p style=”color:red”>Red</p>
<p style=”color:green”>Green</p>
<p style=”color:blue”>Blue</p>

JS:
$(“p”).eq(1).remove();

Il metodo empty () è usato per rimuovere gli elementi figli degli elementi selezionati. Per esempio:

HTML:

<p style=”color:red”>Red</p>
<p style=”color:green”>Green</p>
<p style=”color:blue”>Blue</p>

 

CSS:
div {
background-color: aqua;
width: 300px;
height: 200px;
}

JS:
$(“div”).empty();

Ciò rimuove tutti e tre gli elementi figli del div, lasciandolo vuoto. Segue ora un breve riassunto sui metodi usati e disponibili in questa sezione, ricordando che in uno dei prossimi approfondimenti con agenzia web marketing andremo a vedere in dettaglio come se la cava JQuery con le animazioni!

agenzia web marketing

Stai per sviluppare una portentosa applicazione PHP in OOP e MVC magari con il metodo mod_rewrite e con l’uso del file htaccess e con collegamenti al DB tramite PDO? Allora hai bisogno di Visual Studio Code e dei suoi plug-in, suggerisce web marketing Umbria!

web marketing UmbriaPrima di parlare di Visual Studio Code di Microsoft che sta sempre di più prendendo piede presso la comunità di sviluppatori in rete e di come possiamo inmplentare dei semplici plug in per potenziarne le caratteristiche, torniamo ad occuparci di cose estremamente serie e cioé gli scacchi giocati coerenti con le strategie di comunicazione digitale volute da web marketing Umbria e per la precisione della partita Hubner vs Smyslov giocata nel 1982 a Tilburg apertura catalana denominazione ECO E03, link disponibile all’ indirizzo https://www.redhotchess.com/chess/grandmaster-games/viewmastergame.php?pgnid=74079&subject=Robert-Huebner-vs-Vasily-Smyslov per visionare la partita. Che cosa si dovrebbe osservare in questa partita? La lentezza posizionale quasi ipnotica e anestetizzante messa in campo dal nero per vincere in totale rilassatezza la partita (si fa per dire) quasi che la prima condizione da rispettare per l’agonista sia innanzitutto quella di non perdere! Stiamo parlando di personaggi e prima di tutto uomini con la U maiuscola che hanno una biografia da romanzo (vedi https://it.wikipedia.org/wiki/Vasilij_Vasil%27evi%C4%8D_Smyslov) ma anche numeri sulla disciplina sportiva da capogiro come sintetizza la nota “é stato candidato per il Campionato del mondo di scacchi in otto occasioni (1948, 1950, 1953, 1956, 1959, 1965, 1983 e 1985). Ha vinto due Campionati Sovietici (1949 e 1955) e ha ottenuto un totale di 17 medaglie alle Olimpiadi degli scacchi. Ha vinto inoltre dieci medaglie d’oro nelle sue cinque partecipazioni ai Campionati europei a squadre. È scomparso per attacco cardiaco nel 2010 all’età di 89 anni“. La partita mostra veramente quella che é una strategia lenta e macchinosa ma anche attenta e dinamica, con il controgioco sempre latente per innescare controgiochi vincenti come nel calcio, che vale la pena approfondire le partite di questo colosso per tentare di arricchire il proprio repertorio con altri stili di gioco! web marketing UmbriaE ora tornando a quella che é la domanda iniziale sollevata da web marketing Umbria e cioé come posso rendere Visual Studio Code funzionale al massimo quando sviluppo in PHP ecco le risposte che volevamo: PHP intellisense per il refactoring e Bracket Colour per marcare le regione di codice critiche e renderle subito riconoscibili, il sito HTML sentenzia: “il refactoring è un insieme di pratiche che vengono applicate al codice sorgente al fine di variarne la struttura senza cambiare le funzionalità dell’applicazione, al fine di avere sotto mano dei sorgenti facilmente mantenibile e comprensibili a chiunque ed anche dopo molto tempo“, rende estrinsecabile web marketing Umbria. Va bene ma perché dovrei usare Visual Studio Code ottimizzato per programmare in PHP in modalità Object Oriented Programming al posto della tecnica procedurale? Per tanti buoni motivi: perché il codice risultà più chiaro e meglio organizzato, risponde web marketing Umbria. Poi perché la struttura essendo modulare porta dei vantaggi al Team di Sviluppo. Il codice ha una migliore manutenzione ma soprattutto ha il vantaggio della facile RI-USABILITA’! Un buon sito dove si possono fare i dovuti approfondimenti sulla parte sviluppo é http://www.traversymedia.com fruibile anche da http://www.udemy.com. Per concludere con web marketing Umbria segnaliamo come al solito che il supporto per la parte grafica inedita che finiscono nell’ articolo ci arriva free royalty da https://unsplash.com. In uno dei prossimi articoli di approfondimento su OOP e le sue caratteristiche cercheremo di sviscerare e approfondire nei dettagli con il CEO di Umbriaway Consulting Faraoni Enrico gli argometi correlati, per ora non ci resta che ottimizzare al meglio Visual Studio Code con i suoi portentosi plug-in per PHP.

webmarketingumbria webmarketingumbria webmarketingumbria webmarketingumbria

Riesci a saltare al di là di un crepaccio con php? Andiamo a cancellare record con seo Umbria, accetta la sfida!

seo umbriaAll’ indirizzo http://www.chessgames.com/perl/chessgame?gid=1103138 tanto per riprendere i contenuti espressi in https://umbriawaycultura.wordpress.com/2017/10/17/insert-select-update-delete-le-basi-strategiche-delle-query-mysql-per-le-esplosioni-tattiche-di-php/ da seo Umbria assistiamo a una fase di gioco rocambolesca, il GM Nunn che sacrifica la regina per una sola torre il che begli scacchi agonistici rappresenta qualcosa di meraviglioso, ma dopo un poco vediamo che i pedoni diventano anziché uno, due e tre etc. Vabbé se n’era già parlato di questa lungimirante combinazione no? Pedr la verità questa partita, la Gert Ligterink vs John Nunn, Marbella Zonal Final Group (1982), Marbella ESP, rd 6, Feb-27,Benoni Defense: Fianchetto Variation. Hastings Defense (A63)·0-1 scatena un dibattito nel senso che verrebbe da chiedersi con seo Umbria se un motore moderno potrebbe mai perdere questa posizione e la risposta possiamo intuirla (non resterà che verificare le incongruenze tra uomo e macchina per chiarire la questione). Comunque tornando sempre a bomba e al nostro database JOKE, un contenitore per barzellette, avevamo affrontato le QUERY CRUD, ma eravamo rimasti in sospeso con una sfida. Si tratta a questo punto di posizionare sulla pagina, a fianco di ogni barzelletta, un link con un pulsante DELETE this joke (elimina questa barzelletta) che , quando viene attivato, rimuove quella barzelletta dal database e mostra un elenco di barzellette aggiornato. Magari utilizzando una pagina multiuso. Magari usando il comando SQL DELETE. Dobbiamo essere in grado di cancellare la nostra barzelletta UNIVOCAMENTE, la colonna ID nella tabella é stata inserita e progettata proprio con questo scopo! La stringa della query del pulsante “DELETE this joke” é un posto perfetto dove posizionare questo valore. E ora non ci resta che entrare in queste dinamiche con seo Umbria! seo umbriaDobbiamo quindi fare dei CAMBIAMENTI per inserire un pulsante di cancellazione a fianco di ogni barzelletta. In precedenza abbiamo fatto passare una variabile addjoke con il pulsante “ADD a joke!” alla fine di ogni pagina, per segnalare che il nostro script avrebbe dovuto mostrare il form di immissione della barzelletta, invece del solito elenco di barzellette. Allo stesso modo dobbiamo far passare una variabile deletejoke con il nostro pulsante di cancellazione per indicare il nostro desiderio di rimuovere una barzelletta. Per ogni barzelletta rintracciamo la colonna id dal database insieme alla colonna joketext in modo da sapere quale ID é associato con ogni barzelletta del Database. Dobbiamo far coincidere il valore della variabile $_GET[‘deletjoke’] all’ ID della barzelletta che stiamo cancellando. Per fare ciò inseriamo il valore dell’ id trovato nel DB all’ interno del codice HTML apposta per il pulsante “Delete this joke” di ogni barzelletta e infine, usando una dichiarazione IF, verifichiamo se $_GET[‘deletejoke’] é configurata su un valore specifico (attraverso la funzione PHP ISSET), quando la pagina si carica. Se é così, utilizziamo il valore sulla quale é configurata (l’id della barzelletta da cancellare) con una dichiarazione DELETE di SQL, che elimina la barzelletta in questione. Vediamo quindi il codice completo dopo la sequenza segnalata da seo Umbria di cui sopra, come al solito all’ interno del body va inserito questo codice PHP:

<?php if (isset($_GET[‘addjoke’])): // If the user wants to add a joke
?>

<form action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>” method=”post”>
<label>Type your joke here:<br />
<textarea name=”joketext” rows=”10″ cols=”40″>
</textarea></label><br />
<input type=”submit” value=”SUBMIT” />
</form>

<?php else: // Default page display

// Connect to the database server
$dbcnx = @mysql_connect(‘localhost’, ‘root’, ‘mypasswd’);
if (!$dbcnx) {
exit(‘<p>Unable to connect to the ‘ .
‘database server at this time.</p>’);
}

// Select the jokes database
if (!@mysql_select_db(‘ijdb’)) {
exit(‘<p>Unable to locate the joke ‘ .
‘database at this time.</p>’);
}

// If a joke has been submitted,
// add it to the database.
if (isset($_POST[‘joketext’])) {
$joketext = $_POST[‘joketext’];
$sql = “INSERT INTO joke SET
joketext=’$joketext’,
jokedate=CURDATE()”;
if (@mysql_query($sql)) {
echo ‘<p>Your joke has been added.</p>’;
} else {
echo ‘<p>Error adding submitted joke: ‘ .
mysql_error() . ‘</p>’;
}
}

// If a joke has been deleted,
// remove it from the database.
if (isset($_GET[‘deletejoke’])) {
$jokeid = $_GET[‘deletejoke’];
$sql = “DELETE FROM joke
WHERE id=$jokeid”;
if (@mysql_query($sql)) {
echo ‘<p>The joke has been deleted.</p>’;
} else {
echo ‘<p>Error deleting joke: ‘ .
mysql_error() . ‘</p>’;
}
}

echo ‘<p> Here are all the jokes in our database: </p>’;

// Request the ID and text of all the jokes
$result = @mysql_query(‘SELECT id, joketext FROM joke’);
if (!$result) {
exit(‘<p>Error performing query: ‘ .
mysql_error() . ‘</p>’);
}

// Display the text of each joke in a paragraph
// with a “Delete this joke” link next to each.
while ($row = mysql_fetch_array($result)) {
$jokeid = $row[‘id’];
$joketext = $row[‘joketext’];
echo ‘<p>’ . $joketext .
‘ <a href=”‘ . $_SERVER[‘PHP_SELF’] .
‘?deletejoke=’ . $jokeid . ‘”>’ .
‘Delete this joke</a></p>’;
}

// When clicked, this link will load this page
// with the joke submission form displayed.
echo ‘<p><a href=”‘ . $_SERVER[‘PHP_SELF’] .
‘?addjoke=1″>Add a Joke!</a></p>’;

endif;
?>

 

Insert, select, update, delete: le basi strategiche delle query mysql per le esplosioni tattiche di php!

seo UmbriaKarpov era in gran forma a Torino nel 1982 e arrivò primo sbaragliando la concorrenza. Qui lo vediamo in azione vs Ljuboievic dove il nero viene devastato e le sue postazioni ridotte a cumuli di macerie, partita http://www.chessgames.com/perl/chessgame?gid=1068331. Poi cerchiamo di dare una risposta alla domanda si può dare la regina in cambio di una sola torre? Bisognerebbe chiederlo a Ligternik che giocò contro Nunn a Marbella nel 1982 dove a un certo punto il nero nel corso di una benoni si ritrova un Ce5 inchiodato sulla donna in e8, il materiale é tutto pari ma adesso il nero dovrebbe abbandonare perché la perdita di materiale é inevitabile ma…il nero sacrifica la regina per una sola torre e tutto ciò era stato previsto, il bianco prende il gentile dono e poi incredibilmente la perde questa game, anche se i dubbi sulla correttezza del sacrificio rimangono anche per seo Umbria! Certo che fa una certa impressione a vedere un 20 ..b5 che lascia il nero con una pressione posizionale mica da ridere in vista di un Alfiere f5 che viene dal cuore e che il bianco é costretto ad evitare dando un altro pedone con g4. Ci vuole una certa sensibilità per percepire il ritmo e il respiro di una posizione e Nunn con lo schema Ad4, Cf2 l’ha studiata proprio bene sta mossa di cavallo che regala il cavallo di Troia al nemico, che presto si accorge tra le sue mura che ha ben poco da festeggiare, fa notare seo Umbria. Da notare che cadrà anche b2 per cui a quel punto il nero ha la donna in meno ma qualcosa in cambio che equivale convenzionalmente otto come intero, per compensare i dieci in meno! Complimenti a Nunn e al suo genio creativo cercare appunto la Ligterink – Nunn Marbella 1982 per assistere a questa psettacolare carambola di fuochi di artificio. E torniamo a bomba! Dopo aver visto che la connessione fisica del database mysql si ottiene con la funzione mysql_connect(parametri server, user e pwd) e dopo aver visto che la selezione al DB la posso fare tramite la funzione mysql_select_db(“name”); non mi resta che interrogare i dati con SQL dove abbiamo una funzione che é mysql_query(query, [connect_id]) dove query é la stringa che contiene la stringa dei comandi che vogliamo eseguire e come per la funzione mysql_select_db anche qui ci troviamo a che fare con una coppia di valori VERo o FALSO per indicare rispettivamente la riuscita operazione e quindi il successo o l’insuccesso. Analizziamo il seguente codice:

$sql = CREATE TABLE joke (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL
);
if (@mysql_query($sql)) {
echo ‘<p>joke table successfully created!</p>;
} else {
exit(‘<p>Error creating joke table: ‘ .
mysql_error() . ‘</p>’);
}

Usiamo di nuovo il trucco @ per evitare ogni messaggio di errore prodotto da mysql_query e lo sostituiamo con un messaggio di errore più amichevole. La funzione mysql_error qui ha avuto come responso una stringa di testo che descrive l’ultimo messaggio di errore che é stato inviato dal server MySQL. Per le query DELETE, INSERT e UPDATE (che sono utilizzate per modificare i dati immagazzinati) MySQL conserva una traccia del numero dlele righe di tabelle (record) che sono state interessate dalla query. Modifichiamo la data di tutte le barzellette che contengono la parola “chicken”:

$sql = “UPDATE joke SET jokedate=’1994-04-01′ WHERE joketext LIKE ‘%chicken%’;

Quando eseguiamo questa query, possiamo usare la funzione mysql:affected_rows per vedere il numero di righe che sono interessate da questo aggiornamento:

if (@mysql_query($sql)) {
echo ‘<p>Update affected ‘ .mysql_affected_rows() .
‘ rows.</p>’;
} else {
exit (‘<p>Error performing update: ‘ . mysql_error() .
‘</p>’);
}

Le query con SELECT devono essere trattate in modo leggermente differente, perché possono interessare una grande quantità di dati e PHP deve fornire dei modi per gestire queste informazioni. Il problema che si pone seo Umbria é come gestire i set di risultati del comando SELECT per l’appunto. Per la maggior parte delle query di SQL, la funzione mysql_query ha come risultato o TRUE sinonimo di successo o FALSE che significa insucceso. Per le query SELECT questo non é sufficiente in quanto noi utilizziamo questo comando per visualizzare i dati immagazzinati nel database. PHP oltre ad indicare se la query ha avuto successo o meno, deve anche ricevere i risultati della query. QUindi quando processa la query SELECT, mysql_query ha come risultato un numero che identifica una serie di risultati e che contiene l’elenco delle righe (RECORD) che si sono avute come risultato della query. Il risultato FALSE viene dato se la query fallisce per qualche ragione.

$result = @mysql_query (‘SELECT JokeText FROM Jokes’);
if (!$result) {
exit(‘<p>Error performing query: ‘ .mysql_error() .
‘</p>’);
}

Dopo essersi assicurato che non é stato incontrato nessun errore nel processare la query, il codice posizionerà un numero all’ interno della variabile $result. Questo numero corrisponde al SET DEI RISULTATI che contiene il testo di tutte le barzellette nella tabella degli scherzi. Non essendoci nessun limite pratico al numero di scherzi nel database, il risultato può essere considerevolmente grande. Il ciclo while é una struttura di controllo che gestisce grandi quantità di dati. Quello che segue é un possibile abbozzo di codice che processerà le righe di un set di risultati uno alla volta:

while ($row = mysql_fetch_array($result)) {
// process the row
}

La condizione per il ciclo while probabilmente non assomiglia alla condizionea cui siete abituati quindi lasciateci spiegare come funziona. Considerate la condizione come una dichiarazione separata:

$row = mysql_fetch_array($result);

La funzione mysql_fetch_array accetta il numero del set di risultati come un parametro (immagazzinato nella variabile $result in questo caso) e mostyra come risultato la riga successiva nel set di risultati come in un array. Quando non ci sono più righe nel set di risultati, mysql_fetch_array dà come risultato FALSE. La dichiarazione assegna un valore alla variabile $row ma, allo stesso tempo, l’intera dichiarazione prende lo stesso valore. Questo é ciò che vi permette di usare la dichiarazione come una condizione nel ciclo while. Poiché un ciclo while continuerà a lavorare finché la sua condizione viene valutata FALSA, questo ciclo avverrà tante volte quante sono le righe nella serie di risultati. Se $row é una riga del nostro set di risultati, allora $row[‘joketext’] é il valore della colonna joketext di quella riga. Ed ecco come dovrebbe apparire il nostro ciclo while se volessimo stampare il testo di tutte le barzellette nel nostro database:

while ($row = mysql_fetch_array($result)) {
echo ‘<p>’ . $row[‘joketext’] . ‘</p>’;
}

E ora che seo Umbria ha reso meno ermetico il codice facciamo un bel riassunto della pagina in modo da visualizzare nel mio browser tutto il mio repertorio di artista recitatore di barzellette all’ interno del TAG BODY:

<?php

// Connect to the database server
$dbcnx = @mysql_connect(‘localhost’, ‘root’, ‘mypasswd’);
if (!$dbcnx) {
exit(‘<p>Unable to connect to the ‘ .
‘database server at this time.</p>’);
}

// Select the jokes database
if (!@mysql_select_db(‘ijdb’)) {
exit(‘<p>Unable to locate the joke ‘ .
‘database at this time.</p>’);
}

?>
<p>Here are all the jokes in our database:</p>
<blockquote>
<?php

// Request the text of all the jokes
$result = @mysql_query(‘SELECT joketext FROM joke’);
if (!$result) {
exit(‘<p>Error performing query: ‘ . mysql_error() . ‘</p>’);
}

// Display the text of each joke in a paragraph
while ($row = mysql_fetch_array($result)) {
echo ‘<p>’ . $row[‘joketext’] . ‘</p>’;
}

?>
</blockquote>

Adesso che ci siamo connessi, che ci siamo dialogati con il DB, che dal DB siamo in grado di estrapolare i dati, cerchiamo di vincere la seguente sfida con seo UMBRIA: come faccio a inserire i dati? Intanto il visitatore ha bisogno di un FORM per inserire i dati e quindi da esperti sviluppatori quali siamo non dovrebbe essere un problema estrapolare il seguente codice:

 

<form action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>” method=”post”>
<label>Type your joke here:<br />
<textarea name=”joketext” rows=”10″ cols=”40″>
</textarea></label><br />
<input type=”submit” value=”SUBMIT” />
</form>

Come abbiamo già visto una volta inviato questo FORM caricherà la stessa pagina (poiché abbiamo la variabile $_SERVER[‘PHP_SELF’] per l’attributo di azione del form) con una differenza: una variabile sarà compresa nella richiesta. La variabile joketext conterrà il testo della barzelletta come é stato digitato nell’ area di testo e apparirà negli array $_POST e $_REQUEST creati da PHP. Per inserire la barzelletta inviata al DB usiamo la funzione mysql_query per eseguire una query INSERT, utilizzando il valore immagazzinato in $_POST[‘joketext’] per completare la colonna joketext nella query:

// If a joke has been submitted,
// add it to the database.
if (isset($_POST[‘joketext’])) {
$joketext = $_POST[‘joketext’];
$sql = “INSERT INTO joke SET
joketext=’$joketext’,
jokedate=CURDATE()”;
if (@mysql_query($sql)) {
echo ‘<p>Your joke has been added.</p>’;
} else {
echo ‘<p>Error adding submitted joke: ‘ .
mysql_error() . ‘</p>’;
}
}

Il nuovo trucco in questo esempio é mostrato in CURDATE() che viene usata qui per assegnare la data corrente come valore della colonna joketext. MySQL effettivamente ha dozzine di queste funzioni che sono possibili da reperire in rete. Abbiamo il codice che ci permetterà di digitare una barzelletta e aggiungerla al nostro database. Tutto quello che rimane da fare é inserirla nella nostra pagina esistente in modo efficace. Poiché la maggior parte degli utenti vorrà visualizzare le barzellette, non vogliamo rovinare la nostra pagina con grandi caratteri a meno che l’utente non esprima interesse nell’ aggiungere nuove barzellette. Per quest aragione la nostra APPLICAZIONE WEB é ben progettata per IMPLEMENTARE pagine MULTIUSO. Ecco il codice completo da inserire nel body:

<?php if (isset($_GET[‘addjoke’])): // If the user wants to add a joke
?>

<form action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>” method=”post”>
<label>Type your joke here:<br />
<textarea name=”joketext” rows=”10″ cols=”40″>
</textarea></label><br />
<input type=”submit” value=”SUBMIT” />
</form>

<?php else: // Default page display

// Connect to the database server
$dbcnx = @mysql_connect(‘localhost’, ‘root’, ‘mypasswd’);
if (!$dbcnx) {
exit(‘<p>Unable to connect to the ‘ .
‘database server at this time.</p>’);
}

// Select the jokes database
if (!@mysql_select_db(‘ijdb’)) {
exit(‘<p>Unable to locate the joke ‘ .
‘database at this time.</p>’);
}

// If a joke has been submitted,
// add it to the database.
if (isset($_POST[‘joketext’])) {
$joketext = $_POST[‘joketext’];
$sql = “INSERT INTO joke SET
joketext=’$joketext’,
jokedate=CURDATE()”;
if (@mysql_query($sql)) {
echo ‘<p>Your joke has been added.</p>’;
} else {
echo ‘<p>Error adding submitted joke: ‘ .
mysql_error() . ‘</p>’;
}
}

echo ‘<p>Here are all the jokes in our database:</p>’;

// Request the text of all the jokes
$result = @mysql_query(‘SELECT joketext FROM joke’);
if (!$result) {
exit(‘<p>Error performing query: ‘ .
mysql_error() . ‘</p>’);
}

// Display the text of each joke in a paragraph
while ($row = mysql_fetch_array($result)) {
echo ‘<p>’ . $row[‘joketext’] . ‘</p>’;
}

// When clicked, this link will load this page
// with the joke submission form displayed.
echo ‘<p><a href=”‘ . $_SERVER[‘PHP_SELF’] .
‘?addjoke=1″>Add a Joke!</a></p>’;

endif;
?>

Sostanzialmente con un singolo file che contiene un pò di codice PHP siamo in grado di vedere le barzellette esistenti e aggiungerne di nuove. Ma adesso ci attende una sfida entusiasmante che riprenderemo in uno dei prossimi post di Umbriaway Consulting!

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.

Micheli 2296 – Faraoni Enrico 2067 Marostica-Acqui 08/05/2017

Gli scacchi sono utili perché rispetto alla programmazione hanno molti parallelismi del tipo che quando produci il software definisci il problema, scomponi il problema, hai una serie di input e di output con in mezzo della logica procedurale che nel settore algoritmi ti fa scrivere dello pseudocodice (portare il problema nel mondo reale con una sintassi che dipende dal tipo di linguaggio) per poi vedere tutto il tuo lavoro finalizzato in codice finale che viene macinato dal computer come linguaggio macchina e convertito in istruzioni dettagliate e precise. In teoria il problema della mamma che ha 10 caramelle e cinque bambini con cui dividerle dovrebbe avere una ferrea logica procedurale con la sua assegnazione di variabili e la soluzione (quante caramelle deglutisce ciascun bambino?) dovrebbe essere freddamente meccanica da un punto di vista matematico. Ma nelle partite a scacchi la componente psicologica esiste e fa grossi danni, vedere la partita seguente per esempio dove il nero incurante del fatto di avere una caterba di punti elo in meno mette alle corde un più quotato avversario per poi crollare in poche mosse quando andava assestato un montante finale! Negli scacchi uno più uno non fa sempre due come risultato. La seguente partita giocata al Master vs Marostica l’8 maggio del 2015 dimostra quanti danni possa fare la subitanza psicologica nei momenti in cui il giocatore più “scarso” subisce psicologicamente in linea ipotetica quello più forte di elo. In questa partita il Bianco agonista di esperienza va in posizione inferiore fino a sfiorare il tracollo e il colpo decisivo ma il nero a un certo punto inizia a vedere i fantasmi e perde coesione con analisi e scacchiera, perdendo in poche! L’insicurezza coadiuvata da ansia e analisi sconcertanti, costruisce sempre una bel risultato sul tabellone, una bella pigna! L’importante é rimanere sereni anche se stai per prendere 4 goal direbbe Buffon sdrammatizzando.

Micheli 2296 – Faraoni Enrico 2067 Marostica-Acqui 08/05/2017

1 e4 e6 nei momenti importanti la FRANCESE c’è sempre ah ah (visto il risultato) 2 d4 d5 3 e5 c5 4 c3 Cc6 5 Cf3 Ad7 6 a3 f6 7 b4 cd4 8 cd4 Cge7 9 Ad3 Cg6 10 ef6 gf6 11 h4 Ad6 12 g3 Dc7 13 h5 Cge7

gioco pari 14 b5?! orribile dal punto di vista posizionale il pedone tra l’altro diventa anche una debolezza, interessante 14 00 a cui seguirebbe arrocco lungo del nero che sta okkey!

14..Ca5 15 Ta2 Cc4 leggero vantaggio del nero secondo i motori

16 Ah6 (16 Tc2!?) Rf7 (16..e5!? 16..000) 17 g4?! il momento critico, secondo i motori arrocco é la mossa giusta. Il Bianco ha impostato una partita creativa ma totalmente squilibrata in quanto spingendo affrettatamente i pedoni di ambo i lato si é costruito una serie di debolezze non solo di pedoni (a3,b5) nello schieramento, dal punto di vista pratico c’è da aggiungere che g4 anche se antiposizionale é ricca di veleno

17..Tag8 18 g5 Cf5?! (18..Af4 chiaro vantaggio) 19 Af5 ef5 20 gf6 Te8+ (20..Da5+ chiaro vantaggio nero) 21 Rf1 (21 Te2!?) 21..Ab5 22 Rg2 Rf6

23 Ag5+ Rf7 chiaro vantaggio del nero c’è da rimanere stereofatti (neanche tanto) nel constatare come possa il black perderla in poche 24 Cc3 Ce3! (24..Dd7!?) 25 Ae3 Dc3 26 Cg5+ Rf8? il nero accusa un primo momento di disorientamento e dimostra poca precisione di calcolo

26..Rf6 27 Ad2 Dd4 (27..Dd3 28 Th3 De2 -+) 28 Ch7 Rf7 29 Cg5 Rg8 chiaro vantaggio del nero 27 Df3! sembra buona anche 27 Tc2 Dd3 28 Td2 Da3 29 Db1 Te3 30 Df5 Re7 31 Thd1

27..Ad3?? eccola qui l’immancabile gemma! 27..Dc8 28 Af4 Ae7 il nero é ancora ok

28 Tc1 vantaggio decisivo del bianco, naturalmente non 28 Dd5? per Dc6

28..Db3? i motori suggeriscono migliore 28..Da5 29 Ad2 Db5 ma il bianco ha posizione vinta con 30 Tb2! idea 30..Db2 31 Dd5 e attacco vincente

29 Af4?

anche il bianco canna 29 Tb2! Te3 (29..Db2 30 Dd5 attacco vincente) 30 Tb3 Tf3 31 Tc8 idea Tb7 +-

29..Ae7 30 Tb2 Ag5?? la perla che fa traboccare il vaso

30..Da3 (30..Db2 31 Dd3 attacco vincente) 31 Ce6+ Rf7 32 Tb7 Ae4 33 Cg5 Rg7 34 Ae5 Rf8 35 Ce4 Df3 36 Rf3 fe4+ 37 Re2 Tg8 38 Ta7 e il nero é nei guai in vista della minaccia Tcc7

31 Tb3 +-

31..Ae4 32 Ag5 (32 De4+-) 32..Tg8 33 Rf1 Tg5 34 Df4 Th5 35 Dd6

1-0