Reformularea orarului generat de "asc-orare", cu Python și Sphinx
În cadrul unui program Python, accesăm pagina cu "orarul profesorilor" de la un liceu sau altul și extragem datele orarului, creând un dicţionar convenabil (profesor - discipline - orar zilnic); pe baza acestui dicţionar de date, constituim prin scripturi Python anumite fișiere ".rst" (text cu limbajul de marcare reStructuredText) pe care le utilizăm apoi prin modulul python-sphinx. Poate rezulta astfel un site consistent, cu posibilități și deschideri superioare (față de pagina HTML inițială a orarului) - orar școlar (exemplu).
Rezolvarea practică a unei chestiuni de bidirecţionalitate
Există "dreptaci" și "stângaci", există microprocesoare "little endian" (Intel reprezintă numărul întreg 0x123456 prin secvența de octeți consecutivi 0x00, 0x56, 0x34, 0x12) și "big endian" (Motorola îl va reprezenta prin 0x12, 0x34, 0x56, 0x00) și bineînțeles, există limbi - arabă, ebraică - în care se scrie de la dreapta spre stânga. Nimic nou sub soare… Problemele apar când un "dreptaci" face o partidă de tenis cu un "stângaci", când "little endian" se înlănțuie cu "big endian" și bineînțeles, când se îmbină text englezesc cu text arab.
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.
vezi Cărţile mele (de programare)