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

O chestiune de organizare a codului

Python | Sphinx | orar şcolar
2014 nov

Avem de organizat şi poate de reformulat codul Python respectiv, pentru a simplifica lucrurile (de exemplu, să fie de lansat un singur script în loc de cinci). Poate fi tentantă complicarea lucrurilor, concepând întâi nişte modele de bază "profesor", "disciplină", "clasă", etc.; dar nu prea este cazul, fiindcă noi preluăm doar formularea finală a orarului (nu avem de "introdus" şi de gândit datele pe baza cărora s-a generat orarul).

Cel mai simplu este să concatenăm într-un singur fişier scripturile respective; iar astfel, fişierele JSON (folosite iniţial pentru a transfera structuri de date de la un script la altul) devin inutile.

Reducerea numărului de ferestre pe orarul şcolar al unei zile

jQuery | orar şcolar | widget
2014 nov

Avem obiceiul de a revizui - şi povesti - aplicaţiile pe care le-am realizat.

Foarte bun obicei!… te ajută să o iei de la capăt.

Revizuim şi elaborăm o aplicaţie (sau poate… numai un joc) Ajustarea orarului care poate servi pentru ajustarea interactivă a orarului şcolar al unei zile, în scopul firesc de a reduce cât mai mult numărul de ferestre.

Reformularea orarului generat de "asc-orare", cu Python și Sphinx

JSON | Python | Sphinx | orar şcolar | pyparsing
2014 oct

Î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

Django | HTML | Python | javaScript
2014 sep

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

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).


Prev
Next
ALL (368 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: