Aplicaţii Web cu Ymacs, "in-browser Emacs-like editor"
Creem un server PHP (inclusiv pentru Windows cu XAMPP) care foloseşte Ymacs (permiţând în plus, încărcare şi scriere de fişiere de pe disc).
Realizarea unei aplicaţii Web implică lucrul într-un editor de text (pe mai multe fişiere, de diverse tipuri) şi "verificări" în browser. Integrând Ymacs, avem acum acest câştig metodologic: aplicaţia se poate dezvolta (sau/şi expune pas cu pas) lucrând numai în browser: într-un Tab al browserului se încarcă şi se editează corelativ fişierele necesare (folosind bufferele Ymacs), într-un alt Tab se testează aplicaţia pe parcursul lucrului.
Cu Perl, de la ORAR.XLS (orarul şcolii) la Web
Avem un fişier .XLS conţinând orarul unei şcoli, în forma de editare tabelară cea mai obişnuită. Pe de altă parte, avem o aplicaţie Web, pentru expunerea în diverse moduri şi pentru întreţinerea orarului, aplicaţie constituită pe o bază de date MySQL, cu o anumită organizare internă (tabele relaţionate corespunzător pentru şcoli, schimburi, obiecte, profesori, încadrări). Redăm aici prin secvenţe Perl instructive, diverse prelucrări necesare pentru extragerea şi organizarea convenabilă a datelor din fişierul .XLS iniţial, în vederea încorporării lor în aplicaţia "Orarul şcolii".
Tabelul unic versus "bază de date" (între practică şi teorie)
Programa şcolară distinge "teorie" de "practică", indicând 1 oră teorie şi 2 ore laborator; ruperea este iminentă… Manualele propun mereu să se scrie un program care, vizând cam imprudent scrierea, în loc de construirea (realizarea) programului. Rezultanta în practica obişnuită a adoptării unor astfel de portiţe de evitare a eforturilor de corelare, constă în programe monolitice: o singură funcţie - void main() - sau în orice caz, un singur fişier (nume.CPP) şi un singur "tabel" - anulând astfel, orice "teorie" şi orice legătură cu realitatea.
Plugin jQuery pentru paginarea unui tabel HTML
Ataşează unui tabel HTML o bară de navigare (cu handlere corespunzătoare), încât tabelul să fie redat pe pagini de câte un anumit număr de rânduri (cu posibilitate de trecere de la o pagină la o alta), părţile de antet/subsol fiind însă menţinute pe fiecare pagină.
Tabelele trebuie să poată fi paginate în mod independent (unul faţă de celălalt) şi trebuie avut în vedere (pe cât este firesc) şi cazul tablourilor imbricate.
Un bookmarklet pentru calculul dinamic al mediei şcolare
Definim un obiect G care în primul rând, conţine trei containere - respectiv pentru Note, Teză şi Medie; acestea sunt ele însele nişte obiecte (şi anume nişte obiecte predefinite), încât putem folosi proprietăţile şi metodele specifice lor (în cadrul obiectului G definit de noi).
Note şi Teză sunt "de tip" <input>; ca obiect, un <input> are predefinite nişte metode de interacţiune - onClick(), onKeypress(), onKeyup(), onMouseover(), etc. iar acestea se pot "redefini" pentru a răspunde în modul dorit unor evenimente precum apăsarea unei taste sau click în cadrul containerului aferent, sau în exteriorul lui, etc.
Redefinim în obiectul G, metodele onKeyup() pentru <input>-urile Note şi Teză, în aşa fel încât fiecare tastare (sau ştergere) de notă/teză să declanşeze procedura de calcul şi înscriere a mediei.
După definirea astfel a obiectului G, adăugăm o funcţie care să-l creeze conform specificaţiilor lui şi să-l anexeze documentului. În final, includem totul în "paranteze de invocare" (...)();, astfel că toate variabilele implicate rămân ne-vizibile din afară şi pe de altă parte, funcţia finală (care şi ea trebuie inclusă în paranteze de invocare) va fi pusă în execuţie imediat după încărcarea scriptului.
După ce o punem la punct astfel, transformăm aplicaţia rezultată într-un bookmarklet: eliminăm comentariile şi spaţiile (folosind un compressor), eventual escapăm şi codificăm URL anumite caractere şi apoi adăugăm scriptul rezultat în Bookmarks (implicând pseudo-protocolul javascript: în loc de obişnuitul http:).
vezi Cărţile mele (de programare)