momente şi schiţe de informatică şi matematică
To attain knowledge, write. To attain wisdom, rewrite.

Prevenirea duplicării câmpurilor de tip TEXT

Django | MD5 | MySQL | Python
2014 sep

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

Django | HTML | MySQL | Python | jQuery
2014 aug

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

AWK | Bash | Crafty | Django | MySQL | Python | grep | sed
2014 aug

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

AWK | Bash | Django | JSON | MySQL | Python | grep
2014 jul

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

AWK | Bash | Crafty | PGN | Python | perl | pyparsing
2014 jul

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.


Prev
Next
ALL (349 titluri)

vezi Cărţile mele (de programare)

despre acesta ~ Home
(sau https://vlad.bazon.net/

Factoriale | Graficul funcţiilor

PGN browser | chess JS engine

Load

in /slightchess

/slightchess

626 partide analizate cu Crafty

(R) Computer Art | Decoraţiuni

Aplicaţii şcolare (javaScript)

Sinteze: