Prevenirea duplicării câmpurilor de tip TEXT
Dacă avem înregistrări identice - este ușor să ștergem, păstrând una singură; adevărata problemă nu este ștergerea acestora, ci prevenirea apariției de înregistrări identice. Soluția standard ar consta în constituirea unei "chei unice" și folosirea comenzii INSERT cu clauza IGNORE; însă în cazul când câmpul de care depinde unicitatea înregistrării este de tip TEXT, "cheia unică" trebuie constituită drept nou câmp (de tip compatibil cu "unique") - setându-i ca valoare indexul rezultat pentru textul respectiv prin folosirea unui algoritm de tip "message-digest" (MD5, de exemplu).
O aplicaţie Web cu Django şi jQuery: colecţii de partide
Intenţia de bază este următoarea: alegând un "coach" şi un "partner" - utilizatorul va obţine lista partidelor dintre aceştia doi, putând să urmărească (printr-o anumită interfaţă grafică) desfăşurarea uneia sau alteia.
Pentru a transmite către funcţia home()
din views.py
valorile selectate de utilizator, montăm pe cele două elemente <select> câte un handler de eveniment "onChange" care angajează metoda jQuery.post()
(şi ne mai folosim de atributul HTML5 data-*
). home()
va selecta datele corespunzător cererii, va completa şabloanele de răspuns pregătite în /templates
şi va returna răspunsul metodei post()
(care îl va "afişa").
Sintetizarea etapelor de înregistrare a datelor dintr-o colecţie PGN
Grupăm în numai două scripturi Bash toate operaţiile necesare (implicând diverse "instrumente" şi limbaje, sau alte scripturi executabile) pentru extragerea, filtrarea şi gruparea datelor existente într-un fişier PGN şi înregistrarea corespunzătoare a acestora (prin modulul Python MySQLdb) în baza de date constituită în scopul reflectării unor colecţii de partide de şah adnotate (de Crafty), ale utilizatorilor.
Modelarea şi înregistrarea datelor dintr-o colecţie de partide de şah
Extragerea şi gruparea datelor specifice dintr-un fişier PGN care conţine o colecţie de partide de şah necesită o gamă variată de "instrumente", încât modelarea (în Python Django) şi înregistrarea acestor date (prin modulul Python MySQLdb) devine o etapă de sine stătătoare în realizarea unei aplicaţii Web de prezentare a acestor partide (aproape independentă de realizarea propriu-zisă a aplicaţiei).
Prelucrări de text PGN şi adnotarea partidelor de şah
Identifică, extrage şi grupează informaţii dintr-un fişier text (partide de şah în format PGN), folosind modulul Python pyparsing (şi alte instrumente). Pune la punct o procedură practică (implicând AWK şi Bash) pentru derularea analizei automate a partidelor de şah folosind Crafty.
vezi Cărţile mele (de programare)