momente şi schiţe de informatică

Date (valori "brute") şi obiecte interne

Creat: 2013/jan       Comentarii

javaScript | modelare obiectuală

Există o mare diferenţă între ceea ce tastează utilizatorul şi ceea ce corespunde imediat valorii respective, în cadrul aplicaţiei care preia datele.

Lucrurile se petrec la fel ca în viaţa obişnuită; la intrarea într-un anumit sistem social, individul respectiv primeşte din start anumite atribute (cum ar fi: un cod numeric personal; o legitimaţie de student; o ţinută vestimentară specifică sistemului, sau un echipament de protecţie; etc.) şi trebuie să-şi însuşească din start anumite reguli şi proceduri comportamentale de bază. Funcţionarea sistemului respectiv implică operarea cu indivizi astfel pre-educaţi.

În mod inerent, la intrarea în aplicaţie valoarea "brută" respectivă este mai întâi "educată" (în mod specific limbajului subiacent), dobândind astfel şi anumite "competenţe" standard. În fond, o variabilă (în limbaje de programare de nivel înalt) este o valoare "educată" - însemnând nu numai valoarea "brută" dar şi asimilarea unor anumite proprietăţi şi deprinderi pe care - "avansată" astfel la statutul de obiect intern - le poate exersa ea însăşi. Iată o mică ilustrare a acestui fapt, pentru javaScript:

Pe de altă parte, "marea diferenţă" apare atunci când aplicaţia are de integrat datele brute într-un anumit context, special constituit pentru acestea (de exemplu, într-o bază de date existentă pe hard-disk); de obicei, contextul respectiv impune anumite condiţii de validitate, pentru datele preluate (de exemplu, se cere numele şi nu un nume ambalat cu diverse "formatări").

În plus, contextul global Web impune şi el anumite condiţii, pentru transferarea în siguranţă a datelor între aplicaţie şi browserele utilizatorilor (evitând intervenţii "străine" neautorizate, pe conexiunea dintre serverul care găzduieşte aplicaţia şi browserul utilizatorului acesteia).

Aspectele explicitate mai sus, privitoare la integrarea datelor "brute" într-o aplicaţie - constituie justificarea primară a unor construcţii complicate (modele de date, form-uri şi altele) apărute în framework-urile de dezvoltare a aplicaţiilor Web.

Astfel, un form (în Python-Django, la fel în PHP-Symfony, Perl-Catalyst şi altele) converteşte inputul în obiecte specifice aplicaţiei (analog în fond, cu ceea ce am arătat mai sus pentru javaScript).

Un form creează un "formular", menit să preia în cadrul aplicaţiei anumite date de la utilizator (analog cât de cât, cu ceea ce produce funcţia javaScript prompt(), folosită mai sus). Acest formular este prevăzut şi cu nişte câmpuri "ascunse", care leagă datele ce vor fi transmise, de cererea HTTP curentă şi de sesiunea de lucru a utilizatorului (asigurând că datele receptate au fost transmise prin completarea directă a formularului prezentat utilizatorului şi nu provin de la un terţ, "străin" aplicaţiei).

Form-ul respectiv asigură validarea după necesităţile aplicaţiei, a datelor introduse de utilizator în casetele formularului; dacă datele sunt valide, atunci ele sunt convertite în obiecte specifice limbajului subiacent, conform unor "şabloane" de obiect prevăzute în cadrul form-ului (şi eventual, în cadrul modelelor de date specificate pentru baza de date), ţinând cont de specificul aplicaţiei. Obiectele interne rezultate astfel sunt transferate spre prelucrare, celorlalte module ale aplicaţiei.

Media Dinamică

Articolul 50

Drumuri

ŞahStartTemp

25
32
17
4
19
34
14
3
26
33
16
5
31
24
15
18
35
20
2
13
27
6
9
23
30
11
8
21
28
12
22
29
10
7

Ambiţiile Cavalerului

Localităţi

Judeţ:

Constituirea unei baze de date colectând cu Python de pe web

Bliţuri

Load another random Bliţ

//slightchess

Decoraţiuni hiperbolice

SALARII 2017, 2018

//bacMath
variante BAC matematică

Bacalaureat 2015 -
de la forma microsoftizată, la R

modelare ŞAH, I-XX
construcţia unui PGN-browser()

Linux şi aplicaţii Web
în 24 de ore

Orar şcolar - exemplu
după un orar generat de "aSc Orare"

Orar Adjust
ajustează orarul şcolar