Jurnal Inteligent
Introducere
Trăim într-un secol al vitezei, fie că facem referire la sfera progreselor tehnologice, fie că ne îndreptăm atenția asupra activităților de zi cu zi pe care le desfășurăm. Pentru a ține pasul cu realitatea, este nevoie să fim la curent cu cât se poate de multe informații, astfel ajutându-ne pe noi înșine să ne facem o părere, să distingem binele și răul. În prezenta lucrare mi-am propus să dezbat latura activităților zilnice pe care le poate face omul și cum ar putea acestea să influențeze în mod favorbabil fericirea.
Fiecare dintre noi are diverse preocupări zilnice, pornind de la alimentație, odihnă psihică și fizică, moduri de relaxare și petrecere a timpului liber, înfăptuirea actelor de caritate, obținerea unor performanțe în carieră, pe plan educațional, urmărirea cheltuielilor, dar și privitor la ținte mai înalte, cu oarecare previziuni pe termen cât mai lung. Fie că este vorba despre activități legate de sănătate, de alimentație, de cheltuieli, de hobby-uri, este nevoie ca timpul petrecut pentru fiecare domeniu să-l alocăm în mod favorabil, pentru a reuși să obținem rezultate cât mai multe și cât mai bune, din punctele de vedere ale fiecaruia dintre noi.
Statistic vorbind, majoritatea oamenilor din ziua de astăzi se plâng, fie din cauza lipsei banilor, fie din cauza timpului liber prea puțin, a efortului de a munci prea mare și a odihnei precare, atât fizice, cât și psihice. Consider că aceste nemulțumiri apar, în mare parte, ori pentru că nu există o organizare prea bună a tuturor activităților (astfel, timpul pare că se restrânge din ce în ce mai mult, se decalează totul, se instalează presiunea), ori pentru că nu există o perspectivă prea inspirată de a privi situațiile de zi cu zi (astfel, persoana respectivă încetează să urmarească în mod prioritar aspectele cotidiene sau să le perceapă într-un mod pesimist).
Alimentația reprezintă un domeniu care a căpătat o importanță majoră pentru sănătate încă de la începutul omenirii. Ea constituie un factor indispensabil cu o acțiune continuă ce determină efectuarea proceselor metabolice. Astfel, când vine vorba de alimentație, o foarte mare atenție ar trebui sa fie acordată nutrienților, care sunt substanțe hrănitoare necesare pentru creșterea și dezvoltarea normală a unui organism.
La momentul actual impactul alimentației asupra patologiei omului este considerabil, acest fapt fiind o urmare a existenței dezechilibrului dintre aportul de nutrienți. Atât consumul în exces, cât și consumul unor cantități reduse de alimente pot duce la devierea de la funcționarea normală a organismului.
Luând în considerare aceste aspecte enunțate mai sus, este ușor de înțeles de ce domeniul nutriției nu este deloc un subiect de ocolit, ba mai mult, ar trebui să constituie principala grijă în viața fiecărui om. Astfel, putem spune că o alimentație corespunzătoare asigură sănătatea unui organism, iar un organism sănătos este capabil să desfășoare cât mai multe activități, dar și cu un grad ridicat din punct de vedere al calității acestora.
Pentru a înțelege în profunzime logica temei alese: ”Jurnal Inteligent”, dar și a conținutului pe care îl cuprinde, am ales să construiesc o schemă și câteva fraze asociate acesteia. (Figura 1.1.)
~ Puteți avea o alimentație echilibrată dacă sunteți determinat să faceți asta.
~ Trebuie să aveți destule cunoștințe despre ceea ce consumați, pentru asta este nevoie de interes din partea dumneavoastră.
~ Pentru acumularea cunoștințelor și a pune în practică determinarea și interesul, este nevoie de timp și de o bună organizare a acestuia.
~ Sănătatea fizică și cea mintală sunt foarte strâns legate și depind destul de mult de o alimentație echilibrată, dar și de sport.
~ Cu cât sunteți mai mulțumit de
Figura 1.1. – Pași spre fericire dumneavoastră, cu atât veți molipsi cu
optimism și încredere în sine, astfel
devenind un model de urmat.
~ Dacă reușiți să lucrați la aceste aspecte, atunci veți găsi cu siguranță fericirea în cât mai multe momente, situații și persoane.
Relaționat de tema prezentului proiect, la nivelul secolului XXI există două tendințe principale: dezvoltarea accelerată a tehnologiei informației, respectiv manifestarea pregnantă a tentației de a adopta un stil de viață necorespunzător. Aceste tendințe prezintă numeroase provocări și, în același timp, oferă oportunități în domeniul tehnologiei informației. Un exemplu relevant îl reprezintă Internet-ul, care a devenit principala modalitate de incluziune socială și de comunicare.
Tema aleasă pentru a face obiectul acestei lucrări de cercetare “Jurnal inteligent”, presupune abordarea celor enunțate mai sus cu ajutorul unui soft inteligent, care va avea ca scop cunoașterea utilizatorului, în timp, pe baza interacțiunii cu acesta. În primul rand, soft-ul se bazează pe sinceritatea cât mai mare a utilizatorului, care se presupune că are nevoie de ajutor în a-și organiza diverse planuri din viața sa. Cu cât utilizatorul este mai concis în ceea ce face, și “anunță” și soft-ul, cu atât acesta din urmă ajunge să cunoască personajul adevărat care stă în spatele vieții descrise prin intermediul interogărilor și datelor din/ introduse în aplicație.
În concluzie, cu cât se doresc rezultate mai aproape de adevăr și care să ajute într-o mare măsură organizarea vieții utilizatorului, cu atât acesta trebuie să acorde un minim de atenție și seriozitate soft-ului. Soft-ul inteligent se adresează unei game largi de persoane, astfel încât acesta să fie capabil de a ajunge să cunoască într-o proporție cât de mare utilizatorul.
În cadrul capitolului II al prezentei lucrări este descris domeniul ales; un accent deosebit este pus pe importanța nutriției și modalitățile prin care ne putem apropia de o dietă echilibrată, mai simplu spus, de un stil de viață sănătos.
Capitolul III reprezintă o analiză efectuată asupra aplicațiilor existente pe piață la nivelul actual în ceea ce privește nutriția și sportul. Această analiză este necesară pentru a putea face o comparație relevantă cu viitorul soft ”Jurnal inteligent”.
Cel de-al patrulea capitol cuprinde detalii despre tehnologiile și instrumentele auxiliare de lucru folosite în dezvoltarea aplicației.
Capitolul V vine cu prezentarea generală a aplicației, ca apoi să ilustreze arhitectura și funcționalitățile acesteia. În acest capitol este descris și un scenariu de utilizare al softului, care arată fluxul pentru o singură variantă de răspunsuri pe un parcurs cap-coadă.
Ultimul capitol propune dezvoltări ulterioare și concluzii referitoare la aplicația prezentată.
Domenii de interes pentru un regim echilibrat
După cum am precizat încă de la inceputul acestui document, alimentația și sportul sunt niște elemente foarte importante în viața fiecăruia dintre noi. Alimentația reprezintă un domeniu care a căpătat o importanță majoră pentru sănătate încă de la începutul omenirii. Ea constituie un factor indispensabil cu o acțiune continuă ce determină efectuarea proceselor metabolice.
La nivelul secolului XXI există o tendință destul de evidentă a manifestării tentației de adoptare a unui stil de viață necorespunzător. Și mă refer atât la activitătea fizică, cât și la cea alimentară a unui om. Dacă am reuși să adăugăm ingrediente pozitive (interes, determinare, încredere, sete de cunoaștere, etc) în viața noastră, atunci vom reuși cu siguranță să facem ca fiecare zi să fie o luptă frumoasă, nu un chin.
Așadar, consider că sportul și alimentația sunt principalii factori de care depinde viața noastră, prin urmare trebuie sa acordăm atenție sporită acestora. Bineînțeles că mai sunt multe alte aspecte care se leagă unele de altele, cum ar fi: cheltuielile echilibrate, reducerea stresului zilnic, valorificarea timpului liber (prin relaxare, hobby-uri), păstrarea unor relații interumane echilibrate, menținerea sau îmbunătațirea activităților intelectuale, etc. Toate aceste aspecte, plus altele pe care nu le-am menționat, construiesc o viață frumoasă, interesantă și echilibrată.
În contextul unei vieți sănătoase este cât se poate de important să știm ce, când și cât să mâncăm. Un comportament sănătos poate fi calea spre prevenirea anumitor boli precum obezitatea, cancerul, diabetul zaharat, osteoporoza sau bolile cardiovasculare, indiferent de cât de diferit ar fi mecanismul lor de producere. Multe persoane sunt interesate de aspectul unei alimentații echilibrate, însă nu au posibilitățile necesare de a ajunge la un medic specializat în nutriție, care să le prezinte un meniu specific nevoilor personale. Pentru aceasta ne sunt puse la dispoziție destul de multe căi prin care putem să ne asigurăm un stil alimentar ponderat. Eu am ales să vorbesc despre 3 dintre cele mai cunoscute modalități de care se folosesc oamenii în ziua de astăzi, și anume: site-urile web dedicate, aplicațiile desktop și aplicațiile pentru telefonul mobil.
Există pe piață numeroase exemple de site-uri și aplicații (www.sfatulmedicului.ro, www.romedic.ro, www.getfit.ro (site-uri); MyFitnessPal, kiloCalorii, Lifesum, Argus, Diet Planner, Health Manager (aplicații pentru telefonul mobil); www.anchetainfarfurie.ro (aplicație desktop)) care urmăresc influențarea utilizatorului în ceea ce privește un regim echilibrat. Referitor la numărul de kilograme, o persoană poate avea ca scop să-și construiască niște obiceiuri alimentare pe urma cărora să își mențină greutatea, să acumuleze kilogramele sau să slăbească. Oricum ar fi, aceasta trebuie să fie capabilă să sintetizeze informațiile care abundă pe Internet și să fie foarte atentă la felul în care răspunde organismul la orice alegere pe care o face.
Majoritatea surselor de informații și de aplicații din mediul online sunt realizate după reguli similare, principii nutriționale de bază. Ele diferă prin nivelul de personalizare și detaliere, prin atribuirea amprentelor mai mult sau mai puțin subiective, dar și prin posibilitățile diverse sau restrânse de libertate în utilizare și alegere ale utilizatorilor. Comune multor site-uri sunt sfaturile, recomandările, însă deciziile finale în regimul ales vor fi luate de utilizatorul însuși.
Viziunea mediului online asupra sănătății
După cum bine și-au făcut prezentarea cei care dețin site-ul romedic.ro, ” în topul subiectelor de interes pentru utilizatorii din întreaga lume rămâne sănătatea ”. Informarea online este o tendință foarte accentuată în zilele noastre, astfel încât persoanele de toate vârstele au ocazia să înțeleagă mai bine ceea ce se petrece în organismul lor și să fie mai informați atunci când se prezintă la medic.
Dinamismul mediului online prezintă și vulnerabilități, astfel că informațiile prea subiective sau insuficient testate, materialele cu un caracter predominant comercial sau articolele tratate într-o manieră superficială pot induce în eroare cititorul. De aceea, deciziile pe care le va lua în legătură cu îmbunătățirea stării de sănătate vor fi luate pe proprie răspundere.
Principiile unui regim echilibrat
Site-urile specializate dispun de o varietate de secțiuni, de la diete personalizate și index alimentar, la sport și remedii pentru diferite afecțiuni. La partea de alimentație sunt prezentate mii de alimente, rețete și diete de urmat, în funcție de obiceiurile și organismele fiecăruia dintre noi. Pe parcursul prezentei lucrări ne vom canaliza atenția în direcția nutriției echilibrate.
Cu alte cuvinte, o alimentație sănătoasă este constituită pe baza consumului de alimente care aparțin unor categorii de bază:
nutrienți esențiali (macro-nutrienți): proteine, carbohidrați (glucide) și grăsimi (lipide); aceștia furnizează energie organismului;
micro-nutrienți – vitaminele și mineralele; ele au un rol foarte important în organism, ajutând la refacerea celulelor moarte, astfel favorizând vindecarea leziunilor;
non – nutrienți = substanțe care pot oferi protecție împotriva bolilor; aceștia sunt reprezentați de fitochimicale (se găsesc în plante) și de fibre;
antioxidanții sunt alte componente care au rol protectiv asupra celulelor, împotriva îmbătrânirii.
Deși pare ușor, nu este mereu așa simplu să se meargă pe un regim adecvat fiecărui om. Uneori se consumă mai mult dintr-o singură categorie de alimente și se evită consumul altora, care ar prima din punct de vedere al calității nutritive.
Un stil de viață sănătos și echilibrat furnizează nutrienții de care are nevoie organismul. Nutrienții furnizează energie, astfel ținând creierul și inima active, și mușchii la un nivel maxim de funcționare. Nutrienții mai au și rolul de întărire a oaselor, a tendoanelor, a mușchilor, dar și de a echilibra funcțiile din organism și a le menține în limite normale.
În principiu, pentru o dietă sănătoasă se recomandă:
– echilibru: pentru a se asigura toți nutrienții necesari unei bune funcționări a organismului;
– moderație: este nevoie de atenție inclusiv la caloriile consumate zilnic, la activitățile fizice,
la consumul de deserturi, dulciuri; este de preferat evitarea exagerării de orice fel;
– diversitate: consumul de alimente trebuie diversificat, întrucât consumate independent, ele nu pot furniza toți nutrienții de care are nevoie organismul;
* O dietă sănătoasă are nevoie de un plan, de un scop care să fie urmat, dar și de efortul de a include o varietate de alimente în cadrul meselor principale. Majoritatea indivizilor nu consumă suficienți nutrienți, tocmai din cauza lipsei unei cantități corespunzătoare din fiecare grup alimentar. Deci, este destul de important să se acorde atenție atât la ce se consumă, cât și la ce alimente sunt îndepărtate din dietă.
* O dietă sănătoasă poate să reducă riscul de apariție a unor boli.
– o dietă cu un conținut scăzut de grăsimi (cereale, legume, fructe, produse lactate degresate) poate să reducă riscul de apariție a bolilor cardiace, a bolilor degenerative cerebrale, a hipertensiunii arteriale, a diabetului zaharat și a accidentelor vasculare cerebrale; poate preveni chiar și apariția unor forme de cancer;
– acizii omega-3 și omega-6, care se găsesc în grăsimile polinesaturate (pește, nuci, boabe de soia, in, ulei de rapita) au rol protectiv împotriva bolilor cardiace;
– o dietă bogată în fructe și legume produce antioxidanții necesari (beta-carotenul, vitamina C și vitamina E) și protejează organismul împotriva distrugerilor care sunt produse de radicalii liberi de oxigen, astfel reducându-se riscul de apariție a bolilor cardiace, a hipertensiunii arteriale și a cancerului.
* De asemenea, este recomandat să se acorde atenție la numărul de calorii consumate, (astfel riscul apariției obezității poate fi redus) limitarea consumului de alcool, dar și eliminarea din alimentație a produselor care conțin un nivel crescut de sare, colesterol, grăsimi saturate și zahăr. Activitatea fizică este și ea o parte foarte importantă a acestui regim. Un program care să cuprindă exerciții fizice (30 minute – 90 de minute zilnic) ar fi suficient.
Oricine poate să beneficieze de pe urma unui regim alimentar echilibrat, însă nu toți avem aceleași nevoi nutriționale. Copiii aflați în perioada de creștere, femeile însărcinate, precum și vârstnicii au nevoi speciale în legătură cu alimentația. Bolnavii de hipertensiune arterială trebuie să-și reducă aportul de sare; cei care au niveluri crescute de colesterol ar fi bine să apeleze la diete care să limiteze consumul de grăsimi saturate și colesterol; cei cu diabet zaharat sunt nevoiți să-și împartă în porții cantitatea de carbohidrați pe care trebuie să o consume într-o zi.
Și persoanele sănătoase trebuie să urmărească ce cantitate de sare, de grăsime și de zahăr consumă, aceasta pentru a preveni apariția anumitor afecțiuni precum hipertensiunea arterială sau hipercolesterolemia. Reducerea cantității de sare poate fi făcută prin consumarea unui număr cât mai mare de alimente proaspete. De asemenea, și cantitatea de grăsimi consumată trebuie să fie urmărită. Înlocuirea grăsimilor saturate cu cele mononesaturate poate fi făcută prin folosirea uleiului de masline sau de rapiță.
* Dietele care au un conținut scăzut de carbohidrați ajută, într-o primă fază, la pierderea în greutate, însă pe termen lung nu sunt benefice. Aceste tipuri de diete sunt bogate în grăsimi totale și saturate, dar sărace în fibre. Ele restricționează consumul de fructe, legume, cereale, acestea fiind alimente care protejează împotriva apariției unor boli și furnizează principii nutritive destul de importante.
În cazul în care carbohidrații sunt o problemă, atunci este indicat consumul complexelor de carbohidrați, (cereale integrale, legume și păstăi) deoarece furnizează o varietate de nutrienți și fibre. Carbohidrații simpli (dulciurile și băuturile carbogazoase) au multe calorii, sunt sărace în nutrienți și nu conțin fibre.
Pașii spre a adopta un stil alimentar sănătos
Adoptarea unei diete sănătoase reprezintă o metodă de îmbunătățire a sănătății. Consumul regulat și echilibrat, sărac în grăsimi saturate, dar bogat în cereale integrale, legume, fructe și grăsimi bune (ex: uleiul de măsline) poate reduce riscul apariției unor anumite afecțiuni.
Asocierea unui regim de viață activ cu un stil alimentar echilibrat, va îmbunătăți în mod evident starea de sănătate a fiecăruia dintre noi. Activitățile fizice regulate reduc semnificativ riscul apariției hipertensiunii arteriale, a bolilor cardiace, a accidentelor vasculare cerebrale, a obezității, a diabetului tip 2, a anxietății, a depresiei și a cancerului de sân, cancerului de colon și a sistemului reproductiv feminin.
Pasul 1: Monitorizarea modului de desfășurare a alimentației
Pentru a mânca sănătos, trebuie să știm, înainte de toate, ce înseamnă un stil de viață echilibrat. Nutriționiștii recomandă consumarea a cât mai multe cereale integrale, a fructelor și a legumelor, precum și limitarea ingestiei de grăsimi și de dulciuri. Odată ce principiile unei diete echilibrate ajung să fie cunoscute, se pot începe modificările în regimul zilnic. Este recomandată elaborarea unui jurnal dietetic în care să se noteze tot ceea ce se mănâncă și se bea într-o perioadă de minim o săptămână, precum și numărul de gustări din fiecare grup principal de alimente.
Caloriile necesare zilnic depind de vârstă, de sex și de intensitatea activităților fizice pe care un individ le face. În general:
– femeile puțin active și oamenii vârstnici au nevoie de cca 1600 de calorii pe zi
– femeile active și bărbații puțin activi au nevoie de cca 2200 de calorii pe zi
– barbatii activi au nevoie de cca 2800 de calorii pe zi.
Pasul 2: Observarea comportamentului alimentar zilnic
În primul rând, trebuie răsfoit jurnalul. Dacă se observă că se consumă mai mult decât ar trebui, înseamnă că organismul respectiv asimilează mai multe calorii, grăsimi și sare decât ar avea nevoie. În cazul în care se consumă multă carne, dar puține legume, acest lucru semnifică faptul că dieta este bogată în grăsimi saturate, dar săracă în fibre. Dacă sunt consumate alimente de tip fast-food, înseamnă că sunt ingerate cantități mari de sare si zahăr.
Pasul 3: Modificări în regimul obișnuit
În niciun caz nu este bine să se facă schimbări drastice dintr-o dată, pentru că privarea de alimentele preferate poate duce la eșecul ducerii la bun sfârșit al planului de regim echilibrat și sănătos. Modificările trebuie făcute treptat.
În măsura în care poate fiecare, se pot folosi câteva indicații:
– în loc de pâine albă să se consume pâine integral;
– în loc de orez alb să se consume orez brun;
– pastele făinoase să fie făcute din făină integrală, și nu din făină albă; este ok și dacă s-ar
amesteca cele două;
– consumul de lapte degresat 1%, și nu de lapte nedegrasat, ori degresat 2% ;
– consumul de brânzeturi si de iaurturi degresate;
– suplimentarea mâncărurilor cu cantități mai consistente de legume și de fructe, consumarea
acestora sub forma unor gustări;
– completarea sandwich-urilor cu roșii, castraveți, spanac și ceapă;
– consumul de fructe și de cereale.
Pasul 4: Cunoașterea alimentelor
Pentru a putea construi o dietă sănătoasă este necesar să fie cunoscut modul de a acționa al alimentelor asupra organismului. Acest lucru este sugerat destul de concret în tabelul de mai jos; (Tabelul 2.1.)
Tabelul 2.1. Funcții ale mactro-nutrienților
Metode de a atinge și de a menține un regim echilibrat:
* Suplimentarea meselor cu fructe și legume
– salata de ton poate fi îmbogățită cu bucăți de măr, stafide și ananas;
– pot fi adăugate în salata verde legume viu colorate (spanacul, morcovii, varza roșie);
ca ornament se pot folosi portocale, felii de grapefruit sau nectarine;
– în paste se pot adăuga felii de ardei roșu, castraveți, morcovi sau brocoli;
– pizza poate fi suplimentată cu legume sau sandwich-uri;
– fructe în iaurt sau cereale.
* Selecție mai atentă a mâncărurilor din localuri publice
Dacă masa este servită în oraș, sunt recomandate:
– supele de legume, în cazul în care acestea sunt disponibile;
– pizza vegetariană sau adăugarea legumelor în alt tip de pizza; în locul cârnaților se poate
opta pentru pizza cu carne de pui; la fel, se poate opta pentru mai puține brânzeturi în pizza;
– alimentele gratinate în defavoarea celor prăjite sau coapte;
– pastele cu carne de pui sau legume gratinate; e bine să fie evitate sosurile care conțin
smântână;
– salatele de legume;
– puiul la grătar sau legumele;
– uleiul de măsline în loc de unt sau de margarină adăugate pe pâine;
– porțiile mici de mâncare;
– salatele sau sandwich-urile cu carne de pui la grătar și evitarea maionezei sau a brânzei;
Perspective personale asupra domeniilor de interes
Alimentația – cerințe
Existența unui volum foarte mare de date, sfaturi aleatoare, aplicații specifice, păreri pro sau contra, comentarii/ review-uri pentru diverse site-uri, toate acestea pot avea două efecte asupra noastră: setea de mai mult, de selecție a materialelor existente, sau delăsarea, descurajarea, instalarea neîncrederii și adoptarea unui stil de viață nu tocmai sănătos.
Există prea multe tentații, prea multe informații după ureche, prea multă agitație în ziua de azi, prea puțin interes pentru a ne acorda atenție sporită organismelor, ne interesează mai mult aspectul fizic, și mai puțin cel interior, care de altfel…el ne tine în viață.
În primul rând, nu consider că trebuie să privim lucrurile prea mult din perspectiva caloriilor. Fie că este vorba despre menținerea greutății sau de slăbit, caloriile sunt asimilate/ reduse diferit, în funcție de fiecare organism în parte. Am inclus mai multe detalii despre mitul caloriilor chiar în broșura asociată prezentului proiect.
Un element important îl consider a fi: mesele regulate și cu porții normale, cu alimente cât mai puțin amestecate la o masă. Da! Pare greu să ne obișnuim a avea mese regulate, dar trebuie să înțegem că organismal nostru are nevoie de atenție pentru a putea funcționa la parametri optimi. Mi se pare exagerat să stăm să cântărim orice ”lingură de mâncare”, doar în cazuri de excepție (diverse boli) acest lucru poate deveni o normalitate.
A include cât mai multe fructe și legume în alimentația zilnică iarăși este un aspect foate important. Decât să cădem pradă tentațiilor ucigătoare (fast-food, snacks-uri, mâncăruri
cât se poate de procesate, etc) mai bine ne învățăm să ne placă naturalul și mancarea
făcută în casă. Mai mult timp ar ocupa tratarea unor boli viitoare, decât educația alimentară făcută la timp. Binecunoscuta piramidă a alimentelor se poate regăsi, de asemenea, în min-broșură.
Ca să nu mă întind prea mult la acest subcapitol și să trecem curând și la partea de activități fizice, voi aminti de o postare (Anexa 1) care este virală pe internetul zilelor noastre și care mi se pare mai mult decât sugestivă, motivantă și…ironică-amuzantă, care arată felul în care stomacul nostru vede lucrurile. (Figura 2.1.)
Figura 2.1. – Stomacul
Activitățile fizice – cerințe
Foarte adevărată este vorba aceea: ”Mișcarea te tine în viață!”. Nu este nimic mai plăcut ca momentele în care ești capabil să faci orice tip de efort fizic, să simți eliberare, să te simți activ, să te simți puternic, să simți-ți simți organismul că te ascultă și îți mulțumește. Din păcate, tendința actuală este predominant sedentară. Acest lucru poate fi schimbat de la o persoană la alta.
Cel mai important factor îl consider a fi: ambiția. În primul rând trebuie să fii capabil să conștientizezi că nu aduc nimic bun comoditatea, delăsarea, lenea. Trebuie să înțelegem și să credem, să începem să simțim pe pielea noastră efectele pozitive pe care ni le oferă mișcarea. Nu zice nimeni să faci efort până la epuizare, trebuie să ne cunoaștem limitele organismelor noastre.
Nu trebuie să facem sport doar ca să slăbim sau alte motivații dubioase. Cel mai important este să facem mișcare din placere. Odată ce ne educăm să mâncăm cât mai sănătos și să facem cât mai multă mișcare, în mod cert vom fi foarte aproape de o stare de bine evidentă. Sportul este sănătate! (Figura 2.2.)
”Când vrei să renunți, amintește-ți motivele pentru care ai început!”
Figura 2.2. – Sportul este sănătate!
Aplicații existente – State of the art
Într-o eră a vitezei în care totul este într-o contiunuă mișcare, smart phone-ul, tableta împreună cu aplicațiile dedicate se transformă cu ușurință în antrenori de fitness, nutriționiști și de ce nu chiar psihologi virtuali.
Asistența online poate fi accesata încă de la alegerea fructelor și legumelor potrivite, poate continua cu gasirea unor varietăți de rețete care să satisfacă opțiunile gastronomice atât de eterogene ale oamenilor și se poate finaliza cu monitorizarea caloriilor consumate.
În vederea argumentării celor emise mai sus se poate vorbi inițial despre aplicațiile Perfect Produce sau Harvest care funcționează ca un asistent în achiziționarea de fructe sau legume oferind totodată cataloage detaliate cu informații privind modul de conservare și numărul de calorii conținute de acestea.
Printre cele mai apreciate aplicații culinare se numără How to Cook Everything, aplicațiile lui Jamie Oliver și Epicurious; soft-urile acestea sunt extrem de utile și conțin o gamă largă de rețete gastronomice, sfaturi privind accesoriile achiziționate, tutoriale video precum și o serie de alte tipuri de informații.
Pentru aceia care au un stil de viață sănătos și activ există o aplicație dedicată, denumită Healthy in a Hurry și care a fost pusă pe picioare de revista EatingWell (din Statele Unite ale Americii).
Monitorizarea caloriilor consumate se poate realiza utilizând soft-ul Calorie Counter & Diet Tracker, aplicație care pune a dispoziție cea mai mare bază de date în materie de rețete culinare (peste 3 milioane de felurile de mâncare).
Un gadget cu adevărat revoluționar este reprezentat de TellSpec. Acesta este un dispozitiv de mici dimensiuni care se conectează la telefon și detectează compoziția chimică a unor alimente în doar câteva secunde.
Aplicația Argus funcționează ca pedometru dar și ca rețea de socializare în cadrul căreia se pot împărtăși fotografii cu mâncare și diverse activități fizice. Este un tracker complex care oferă o listă impresionantă de opțiuni: alimentație, consum de apă, activitatea de alergare, calitatea somnului, consumul de alcool, temperatura corporală, practicarea de yoga, monitorizarea greutății corpoale, ș.a.
Incapacitatea de a dormi suficient sau chiar insomnia preprezintă probleme din ce în ce mai comune pentru omul activ din ziua de astăzi. Însă și pentru îmbunătățirea calității somnului există soft-uri dedicate, de exemplu White Noise care dispune în baza de date de o serie de sunete liniștitoare (valuri, ploaie, vânt, etc.) care favorizează relaxarea și inducerea stării de somn.
Consumul unei cantități suficiente de apă este un element la fel de important ca alimentația rațională și practicarea activității fizice. Astfel aplicațiile Waterlogged și Water Your Body vin în sprijinul acelora care consumă o cantitate prea mică de lichide indiferent dacă vorbim despre persoane active sau sedentare.
Aplicații complexe dedicate – alimentație și sport
În zilele noastre, există foarte multe aplicații special concepute pentru utilizatorii care doresc să-și îmbunătățească stilul de viață. Cele mai populare medii virtuale care oferă o gamă largă de aplicații mobile ar fi: AppStore, Google Play, Windows Phone, etc.
În funcție de complexitatea și calitatea informațiilor oferite, acestea pot fi instalate gratuit sau contra cost. Pe lângă segmentarea în funcție de opțiunea de plată a aplicațiilor, se poate vorbi și despre soft-uri special dezvoltate pentru anume telefoane (exemplu: pentru Blackberry există aplicații precum Calorie Counter, Diet and Calorie Tracker, Calorie Count Nutrition Search, Brio Calorie Tracker, ș.a.).
Cele mai utile aplicații mobile destinate persoanelor care practică sport sunt considerate a fi acelea dedicate jogging-ului sau antrenamentelor fitness, acestea bucurându-se și de cel mai mare procent de descărcări.
Un aspect important care stă la baza deciziei de utilizare a anumitei aplicații în detrimentul altora este disponibilitatea acesteia pe cât mai multe sisteme de operare. Astfel cele mai populare soft-uri mobile pentru alergare sunt Runtastic și RunKeeper, care indică durata antrenamentului, distanța parcursă, traseul, ritmul cardiac respectiv consumul de calorii pe tot parcursul activității fizice depuse.
O altă categorie care se bucură de apreciere în rândul utilizatorilor de smartphone-uri este cea de soft-uri mobile pentru practicarea activității fitness. Cele mai utilizate programe de fitness sunt considerate a fi: JEFIT , Daily Workout, Workout Scheduler, fiecare dintre acestea dispune de diverse exerciții pentru tonifere, precum și tutoriale ce încurajează efectuarea cât mai corectă a exercițiilor.
Există aplicații similare, care înlocuiesc cu succes antrenorii personali de fitness (Workout Trainer, My Gym Personal Trainer). Acestea mai au, pe lângă caracteristicile amintite, și elemente de motivare a user-ilor (cu ajutorul unor mesaje vocale). Majoritatea aplicațiilor prezentate sunt gratuite, dar ele pot dispune și de versiuni care pot fi descărcate contra unei sume de bani (prețul variază între 1-6 euro, depinde de complexitatea programelor).
Referitor la categoria aplicațiilor pentru smartphone-uri, care sunt destinate sferei nutriției, voi enumera câteva: Calorie Counter, MyDiet Coach , The Blood Type Diet, Diet Assistant. Aceste soft-uri monitorizează dozele de substanțe nutritive esențiale pentru organism, numărul de calorii consumate, glucidele, proteinele, lipidele, colesterolul sau zahărul.
O categorie specială, făcând o raportare la programele de nutriție clasice, este reprezentată de aplicații ingenioase ca: Weight Loss Hypnosis sau Lose Weight (program audio care utilizează metode de relaxare pentru a merge pe drumul eliminării obiceiurilor alimentare greșite).
Trendul aplicațiilor mobile dedicate se va extinde pe măsură ce un număr tot mai mare de utilizatori se vor convinge de avantajele și utilitatea acestor programe
Jurnalul alimentar inteligent – nutriționistul și antrenorul tău personal
Utilitatea păstrării unui jurnal alimentar rezidă în principal în impactul pe care dieta o are asupra favorizării unui număr tot mai mare de boli. Conform Ghidului alimentar al Statelor Unite ale Americii, publicat în anul 2010, un procent alarmant de peste 41% din populația Americii va fi dignosticată cu un tip de cancer pe durata vieții. În cadrul acestui document factorii alimentari sunt asociați cu riscul de producere a cancerului de sân, de colon, de rinichi, de faringe, laringe și esofag.
Analiză comparativă a aplicațiilor MyFitnessPall și DailyBurn:
MyFitnessPal
pune la dispoziție o vastă bază de date de mâncăruri (4 milioane) care au asociate și coduri de bare; totodată dă posibilitatea introducerii de noi alimente în cazul în care nu au fost regăsite;
furnizează informații relaționate de valoarea nutritivă a alimentelor (proteine, carbohidrați, grăsimi, fibre, etc.);
ghidează utilizatorul în sensul reducerii sau creșterii numărului de calorii consumate oferind totodată explicații referitoare la efectele produse;
dispune de un grafic care indică progresul realizat și trasează data la care ținta propusă va fi atinsă;
permite introducerea de informații referitoare la exercițiile fizice efectuate;
facilitează planificarea meselor înainte de pregătirea sau comandarea acestora;
permite monitorizarea obiceiurilor relaționate de consumul de lichide (consumul de sucuri, de băuturi răcoritoare, de apă, dar și consumul de alcool).
oferă posibilitatea tipăririi la imprimantă a jurnalului alimentar în vederea partajării acestuia cu medicul currant
pune la dispoziție un chat prin intermediul căruia utilizatorul are posibilitatea de a socializa cu ceilalți useri.
DailyBurn
permite contorizarea caloriilor consumate zilnic în funcție de parametrii introduși;
furnizează o gamă amplă de meniuri însoțite de imaginile aferente;
indică numărul de calorii consumate zilnic ca urmare a activității fizice depuse;
permite calcularea numărului de calorii acumulate din alimentație;
oferă posibilitatea de a urmări progresul/regresul înregistrat.
Tehnologii folosite
Parcursul ideilor de a folosi anumite tehnologii pentru implementarea aplicației a fost unul anevoios, dar interesant. Pe măsură ce am incercat să pun în aplicare ideile de pe hârtie, să le transpun în cod, am realizat că Java sau C# nu reprezintă exact ceea ce caut pentru a duce la bun sfârșit planul meu de jurnal. Am mai observat că nici CMS-urile Joomla sau Drupal nu îmi oferă prea mult din ceea ce îmi doream de la viitorul soft.
Astfel, a continuat cercetarea în măsură de tehnologii, și am decis să mă opresc la exploatarea unor limbaje pe care le consider mai flexibile și user friendly: HTML, CSS, Javascript, PHP și SQL. Cu ajutorul acestora avea să se pună pe picioare Jurnalul Inteligent. Fiind vorba despre o aplicație web, mai am de completat seria tehnologiilor cu serverul web – Apache – și cu serverul de baze de date – MySQL.
Figura 4.1. ilustrează într-un mod cât se poate de sugestiv pașii unei tranzacții normale cu baze de date web.
Figura 4.1. – Tranzacție client – server
Un utilizator face o cerere HTTP pentru o anumită pagină, prin intermediul unui browser (de exemplu, caută un produs prin fișierul rezultate.php).
Cererea pentru rezultate.php este primită de serverul web, care caută fișierul, după care îl pasează motorului PHP spre a fi procesat.
La nivelul motorului PHP se începe procesarea. Sunt găsite o comandă de conectare la baza de date și o interogare făcută după anumite criterii. Se crează o conexiune cu serverul MySQL, căruia PHP îi trimite interogarea.
Serverul de baze de date primește interogarea, o procesează, apoi trimite rezultatul (un produs, în cazul nostru) către PHP.
PHP-ul rulează script-ul, apoi returnează serverului web fișierul HTML rezultat.
Serverul web trimite fișierul HTML către browser, cu ajutorul căruia utilizatorul poate să vadă ceea ce a cerut. (produsul)
XAMPP este un pachet de programe (care este open source și cross-platform web server). Acesta constituie infrastructura software necesară găzduirii site-urilor web și cuprinde: serverul Apache HTTP, baza de date MySQL și interpretoare pentru scripturi care sunt scrise în PHP și Perl. De menționat faptul că, după instalarea XAMPP trebuie să fie făcute unele configurări, în special pe parte de securitate. Odată instalat și configurat, se pornesc serviciile Apache și MySQL (Figura 4.2.), apoi se trece la codare.
Figura 4.2. – XAMPP cu serviciile Apache și MySQL pornite
Cu alte cuvinte, pentru a realiza Jurnalul Inteligent m-am folosit de tehnologiile: client side (HTML, CSS, Javascript), server side (Apache, PHP) și baze de date (MySQL, cu sintaxa SQL). Toate acestea sunt prezentate în subcapitolele imediat următoare.
Web – client side
Aplicațiile de tip Client Side Script fac referire la programele care rulează pe browser (client), după sau în timp ce se încarcă pagina web de către browser. Limbajele care permit scrierea acestor aplicații se numesc limbaje de programare Client Side Script. Acestea pot fi suportate direct de browser și integrate în HTML (JavaScript) sau pot avea nevoie de un plug-in extern (ActionScript – Flash). Tehnologiile client side de care m-am folosit sunt: HTML, CSS și JavaScript.
HTML
Unul dintre limbajele folosite pentru a da viață aplicației este HTML-ul (Hyper Text Markup Language). Cu ajutorul acestui limbaj se pot construi pagini web simple, dar se pot realiza și site-uri profesioniste. HTML este, de fapt, limbajul cu ajutorul căruia pot fi afișate paginile web în browsere și care a fost construit pentru a fi capabil să opereze cu funcționalitățile multimedia existente în rețeaua web.
HTML este un limbaj prin care se poate edita sau transforma orice text în hipertext prin intermediul unor marcaje. Acestea sugerează felul în care se realizează legăturile din document cu resurse externe, dar arată și cum apar formatate paginile respective.
* Sintaxa limbajului HTML
Tag-urile:
– sunt scrise între paranteze unghiulare: <nume_tag>;
– sunt de două feluri: de început <nume_tag> și de sfârșit </nume_tag>;
– afectează obiectele descrise între ele.
După numele tag-ului de început pot fi scrise și atribute: <nume_tag [nume_atribut=”valoare_atribut”]>obiect</nume_tag>. În cazul în care într-un tag există mai multe atribute, acestea trebuie să fie separate printr-un spațiu.
* Structura unui document HTML
Documentele HTML sunt structurate în două părți: antetul și conținutul (head și body). Structura unui document HTML arată astfel:
<html>
<head>
<title>titlu document</title>
</head>
<body> corpul documentului </body>
</html>
În contextul prezentului proiect, am folosit următoarele tag-uri:
* document: <html>
<head>
<title></title>
</head>
<body>
</body>
</html> (care sunt și obligatorii pentru existența paginii)
* tabele: <table>
<tr>
<td></td>
</tr>
</table> (atât formularul de înregistrare, cât și chestionarele, sunt sub formă de tabele)
* legături: ex: <a href="index.php">Înapoi la pagina principală</a>
* scripturi: ex: <script type="text/javascript">function validateCode()</script>
* formulare: ex: <form name="formular" action="register.php" method="post">
<table align="center" style="margin-top:3%;">
<tr> <tr>
<td colspan="2" align="center" style="border-style:none;">
Formular de înregistrare </td>
</tr> </tr>
</table>
</form>
CSS
Tehnologia CSS (Cascading Style Sheets) este un standard utilizat pentru a descrie formatarea și aspectul unui document (care este scris într-un limbaj de marcare). Această tehnologie a apărut pe baza ideii de formatare unitară pentru toate paginile unei aplicații, iar acest lucru sa fie făcut într-o manieră cât mai flexibilă și la îndemână.
Aplicabilitatea CSS cea mai comună își are existența în paginile web care sunt scrise în XHTML și HTML, dar poate fi și la nivel de documente XML. Definirea stilurilor CSS poate fi făcută în pagină sau într-un fișier extern (cu extensia .css). Prin utilizarea fișierelor CSS poate fi schimbat destul de ușor modul în care este afișată informația în pagină.
Din punctul de vedere al sintaxei, CSS este constituit din trei elemente: selector, proprietate și valoare (selector {property:value;}). Există și posibilitatea grupării proprietăților ale aceluiași element:
p {
text-align:left;
color:blue;
font-family:arial; }
De asemenea, este permis ca aceeași proprietate să corespundă mai multor selectori grupați:
h1,h2,h3,h4 {
color:blue; }
Unui selector i se poate varia definiția, iar pentru acest lucru vom vorbi de noțiunea de clasă. Astfel, 2 entități HTML care sunt de acelați tip se pot formata în mod diferit, doar dacă pentru fiecare se precizează o clasă diferită.
Exemplu:
În fișierul .css:
p.left {text-align:left;}
p.center {text-align:center;}
În fișierul .html:
<p class="left">Paragraful acesta o să fie aliniat la stânga.</p>
<p class="center"> Paragraful acesta o să fie aliniat pe centru.</p>
Dacă selectorul este omis în definiția unei clase, atunci clasa poate fi aplicată oricărei entități html (care suportă proprietatea respectivă):
.center {text-align:center;}
.blue {color:blue;}
La dorința programatorului, pot fi aplicate mai multe clase unei singure entități html:
<p class="center blue">Text.</p>
Elementele CSS pot fi adăugate la un document prin mai multe căi:
– Internal Style Sheet (se folosește tag-ul <style>, în interiorul secțiunii <head> din documentul HTML)
– Inline Style (elementele CSS se definesc ca atribute în interiorul tag-urilor)
<p style="color:blue; margin-left:10px;">Text.</p>
– Extenal Style Sheet (definirea se face în fișiere externe documentului .html; are avantajul de a putea fi aplicat în cadrul mai multor pagini, acest lucru făcându-se printr-o incluziune a numelui fișierului cu tag-ul <link>)
Exemplu pentru o parte din fișierul meu, style.css:
.containerLog{
border-color:#00003D;
border-bottom-style:double;
border-radius: 15px;
}
Fisierul index.html
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="CSS_formatare/style.css">
</head>
<body>
</body>
</html>
Javascript
JavaScript este un limbaj de programare care contribuie la dezvoltarea aplicațiilor web și care rulează (de cele mai multe ori) ca o aplicație de tip client-side care rulează într-un browser. El este folosit, mai exact, pentru a executa sarcini pe care limbajul HTML nu poate să le efectueze. (spre exemplu: poate să realizeze meniuri interactive, să detecteze ceea ce tastează utilizatorii)
Un avantaj al faptului că JavaScript este un limbaj client-side este acela că funcțiile și calculele specifice acestuia se executa repede, întrucât informațiile nu sunt nevoite să navigheze pe Internet.
Alte avantaje ale JavaScript ar mai fi:
pentru a rula nu este nevoie de instalarea unor aplicații suplimentare;
este ușor de învățat (mai ales pentru cunoscătorii de C sau Java, deoarece sintaxa este asemănătoare cu acestea);
din el se pot controla și accesa direct toate entitățile unei pagini HTML (imagini, text, formulare, etc);
permite validarea datelor din cadrul formularelor HTML;
sprijină programarea care este bazată pe evenimente
Cea mai importantă calitate a JavaScript-ului este aceea că are capacitatea de a face din paginile Web simple, pagini Web dinamice și interactive.
Elemente JavaScript
JavaScript este un limbaj case sensitive!
Secvențele de cod pot fi constituite din instrucțiuni compuse, dar acest lucru se întâmplă dacă sunt puse între accolade (la fel ca limbajul C). Comentariile folosesc o sintaxă Java: dacă avem comentarii pe o singură linie, folosim ”//”, iar pentru comentarii întinse pe mai multe linii, folosim ”/*…*/”. Pentru ca o secvență JavaScript să fie inclusă într-o pagină HTML se folosește tagul:
<script type = "text/javascript">
// cod JavaScript
</script>
În funcție de momentul în care vrem să ruleze putem așeza și codul. Spre exemplu, funcțiile pe care dorim să le apelăm când avem nevoie sau cele care sunt declanșate de evenimente, vor fi scrise în secțiunea <head>. În secțiunea <body> va fi scris codul care va fi executat în timp ce se încarcă pagina în browser. Atât în <head> cât și în <body> pot exista mai multe secțiuni de cod JavaScript. În cazul în care există secvențe lungi de cod sau cod care trebuie reutilizat, poate fi folosită includerea unui fisier extern JavaScript:
<script type="text/javascript" src="file.js">
</script>
* Variabile:
După cum spuneam mai sus, variabilele JavaScript sunt case sensitive. Ele mai au caracteristica următoare: își pot schimba tipul în funcție de valoarea stocată, nu au asociat un anumit tip de date de la declarare. Numele pot începe cu caracterul "_" sau cu o literă. Pentru declararea variabilelor se folosește ”var”. (Ex: var x=2, y;)
* Operatori:
Tabelul 4.1. arată operatorii matematici JavaScript, cu descriere, exemple și rezultate.
Se consideră y = 5
Tabelul 4.1. – Operatori matematici JavaScript
Oparatorii de asignare (=, -=, +=, *=, %=, /=).
Operatorul de concatenare siruri (+). Concatenarea unui șir cu un număr va avea ca rezultat un șir.
Tabelul 4.2. arată operatorii logici JavaScript.
Tabelul 4.2. – Operatori logici JavaScript
Operatorii logici (&&, !, ||).
Operatorul conditional (var=condition?val1:val2).
* Instrucțiuni
instrucțiunea if
if (condiție)
{
cod care se execută pentru condiția adevarată
}
else
{
cod care se execută pentru condiția falsă
}
instrucțiunea switch
switch(x)
{
case 1:
cod executat pentru x=1
break;
case 2:
cod executat pentru x==2
break;
default:
cod executat pentru x!=1 și x!=2
}
instrucțiunea for
for (var=început;var<=capăt;var=var++)
{
cod pentru execuție
}
instructiunea while/do while
while (var<=val_final)
{
cod pentru execuție
}
do
{
cod pentru execuție
}
while (var<= val_final );
* Ferestre de avertizare
Alert box:
alert(“mesaj”);
Confirm box:
confirm("mesaj");
* Funcții
Funcțiile sunt niște secvențe de cod ce sunt executate prin apelare explicită sau prin legare de evenimente. De regulă, funcțiile sunt puse în secțiunea <head>.
Funcțiile sunt caracterizate de: nume, bloc de cod și o listă de parametri de apel. În situația în care codul funcției trebuie să calculeze o valoare, atunci ea poate să fie returnată prin aplelul return valoare;.
function numeFunctie(var1,var2,…,varN)
{
cod
}
* Evenimente
Evenimentele sunt, de fapt, acțiuni detectate de browser, care pot declanșa execuția anumitor funcții. Exemple de evenimente JavaScript: onLoad, onSubmit, onUnload, onChange, onFocus, onMouseOver , onMouseOut, onBlur.
Exemplu:
function validateCode()
{
var nume = document.getElementById('nume').value;
if( /[^a-zA-Z]/.test( nume ) )
{
document.getElementById("mesajNume").innerHTML = "Va rugam introduceti un nume valid!";
return false;
}
else
{
document.getElementById("mesajNume").innerHTML = " ";
return true;
}
}
……..
<input type="text" id="nume" name="firstname" size="30" required="required" onchange="validateCode()"/>
Web – server side
Tehnologiile de tip Server Side asigură crearea aplicațiilor Web, de complexitate ridicată, prin procesarea datelor pe server, apoi generarea paginilor în mod dinamic. Limbajele Server Side Script beneficiază de posibilitatea de accesare a datelor citite din formulare HTML și asigură implementarea unor biblioteci de acces la baze de date.
Avantajele Server Side Scripting sunt de asigurare a securității și vitezei la un nivel ridicat. De obicei, interpretoarele limbajelor SS se există integrate, sub formă de module în serverul Web. Câteva exemple de limbaje SSS: ColdFusion Markup Language, ASP, JSP, PHP, Perl, Rubi, Phyton, etc.
Apache
Apache a fost și este un pion foarte important în dezvoltarea webului, cu o utilizare în prezent în aproximativ 65.2 % din paginile web, de unde și renumele de ”cel mai popular server web”. Disponibilitatea aplicației este destul de mare, la nivel de sisteme de operare: Linux, Unix, Novell, Solaris, NetWare, Microsoft Windows. Serverul Apache a ajuns să fie cel mai popular server HTTP încă din anii ‘90, motivele care stau la baza acestui fapt fiind:
Se poate descărca și instala gratuit;
Este open source: codul sursă e vizibil pentru toată lumea; acest lucru permite, oricărei persoane să ajusteze codul, să-l optimizeze și să repare erorile și problemele de securitate. De asemenea, oricine poate adăuga caracteristici și poate scrie module noi;
Se potrivește tuturor nevoilor: Apache poate fi utilizat atât pentru site-urile mici de una sau două pagini, cât și pentru site-uri web uriașe de sute și mii de pagini, servind la milioane de vizitatori regulați în fiecare lună. Poate servi atât conținutului static, dar și celui dinamic.
Rolul unui server web este, de fapt, de a accepta cereri de la clienți și de a trimite răspunsurile la aceste solicitări. Un server web primește un URL, îl traduce într-un nume de fișier (pentru solicitările statice), pe care îl transmite înapoi prin internet de pe discul local, sau îl traduce într-un nume de program (pentru cererile dinamice), îl execută, și apoi trimite rezultatul acestui program înapoi pe internet părții solicitante. Dacă, indiferent de motiv, serverul de web nu a putut să proceseze și să finalizeze cererea, acesta returneaz în schimb un mesaj de eroare. Serverul web se poate referi la însuși calculatorul (hardware) sau la software-ul care primește cereri și transmite răspunsurile.
Serverul Apache oferă o serie de servicii pe care clienții ar putea să le folosească. Aceste servicii sunt oferite folosind diferite protocoale prin diferite porturi, și includ: HTTP (hypertext transfer protocol), de obicei, prin portul 80, simple mail transfer protocol (SMTP), de obicei, prin portul 25, domain name service (DNS) pentru a mapa numele de domenii la adresele lor IP corespunzătoare, în general prin portul 53, și file transfer protocol (FTP) pentru încărcarea și descărcarea de fișiere, de obicei prin portul 21.
Apache suportă o mulțime de module ce au rolul de a-i extinde funcționalitatea: vorbim de programare server side, dar și de schemele de autentificare. Iată și ceva limbaje care sunt suportate: Python, Tcl, PHP și Perl.
* Modul de funcționare Apache
Rolul principal al Apache este de comunicare prin rețele, folosind protocolul TCP/IP (Transmission Control Protocol/Internet Protocol, care permite dispozitivelor cu adrese IP din cadrul aceleiași rețele să comunice între ele). Protocolul TCP/IP este un set de reguli care definesc modul de clienții face cereri și cum servere răspunde, și de a determina modul în care se transmite date, livrate, primite și a recunoscut.
Serverul Apache este configurat pentru a rula prin intermediul fișierelor de configurare, în care se adaugă directive pentru a controla comportamentul. În stare de repaus, Apache ascultă adresele IP identificate în fișierul său de configurare (httpd.conf). Ori de câte ori primește o cerere, acesta analizează antetele, aplică regulile prevăzute pentru aceasta în fișierul de configurare, și ia măsuri.
Un singur server poate găzdui mai multe site-uri, nu doar unul – deși, în realitate, par separate. Astfel, fiecăruia dintre aceste site-uri trebuie să îi fie atribuit un nume diferit, chiar dacă ele se mapează pe aceeași mașină. Acest lucru se realizează prin utilizarea gazdelor virtuale.
* Structura generală
Așa cum am menționat mai devreme, Apache poate fi instalat pe o varietate de sisteme de operare. Indiferent de platforma folosită, un site găzduit va avea de obicei patru directoare principale: htdocs, conf, busteni, cgi-bin.
htdocs este directorul documentului server web Apache implicit, ceea ce înseamnă că este director public al cărui conținut este de obicei disponibil pentru clienții conectați prin internet. htdocs conține pagini statice și conținut dinamic pentru a servi de îndată ce este primită o cerere HTTP.
PHP
În primul rând, PHP-ul este un limbaj de programare web. PHP poate fi utilizat în construirea aplicațiilor pentru servere sau poate fi utilizat ca o incluziune a serverului într-un mediu bine controlat. Securizarea acestui mediu depinde într-o foarte mare măsură de programator. La fel ca și alte limbaje de scripting pentru programare web, PHP-ul permite crearea unui conținut dinamic, care este important în vederea traficului unui site. Spre deosebire de alte astfel de limbaje, PHP-ul rulează pe serverul Web, nu în browser, ceea ce înseamnă că PHP-ul poate accesa fișierele, bazele de date și alte resurse care nu sunt accesibile limbajului JavaScrip, spre exemplu. Mai mult, se poate folosi PHP în generarea de cod JavaScript.
Pe scurt, PHP este un limbaj de programare cu ajutorul căruia se pot modifica paginile web, înainte ca ele să fie transmise de către server la browsere. PHP e capabil să genereze conținut HTML pe bază de fișiere care deja există sau pornind de la zero, poate afișa imagini sau alte conținuturi accesibile prin web, sau să redirecționeze utilizatorul spre alte pagini. Deoarece procesarea se realizează la nivel de server web, înainte de a ajunge paginile web în browser, PHP e considerat un limbaj de programare server-side.
Modalitatea în care PHP generează conținutul pentru o pagină ce urmează să fie afișată de un browser e prin instrucțiunile delimitate de etichetele <?php și ?>. În acest fel, ceea ce se află între aceste tag-uri este considerat a fi un cod-sursă și este executat de interpretorul PHP și va fi înlocuit cu rezultatul din urma execuției. Ceea ce se află în afara tag-urilor va rămâne neschimbat și va fi transmis spre browser. Acest limbaj de programare se bucură de popularitate, în mare parte datorată caracteristicilor :
Simplitatea : se referă la sintaxa limbajului care este suficient de liberă. Includerea de biblioteci nu este necesară, codul PHP din interiorul unui document făcându-și execuția între marcajele speciale;
Securitatea : PHP-ul oferă programatorului un set eficient și flexibil de măsuri de siguranță;
Flexibilitatea : fiind apărut într-o perioadă a dezvoltării web-ului, PHP-ul a fost modularizat astfel încât să țină pasul cu dezvoltarea altor tehnologii. PHP a fost integrat pentru servere web existente ca: Apache, Zeus, IIS, server, etc , el nefiind legat de vreun server web;
Gratuitatea : PHP s-a adaptat rapid la schimbările din sfera web-ului;
* Accesarea datelor din formulare
Accesarea variabilelor din formularele HTML se realizează cu ajutorul metodelor $_POST și $_GET (cu relație de dependent față de metoda declarată în formular).
* Reutilizarea codului
Pentru a viza creșterea eficienței în cadrul dezvoltării aplicațiilor web, este recomandată reutilizarea codului. O modalitate de a face acest lucru este ilustrată prin utilizarea bibliotecilor de funcții, care sunt scrise în niște fișiere externe, ca apoi să poată fi incluse în aplicație cu ajutorul instrucțiunilor require sau include. Diferența dintre cele două este că instructiunea require e înlocuită cu fișierul corespunzător odată cu încărcarea paginii, chiar dacă execuția codului ajunge sau nu ajunge la această instrucțiune.
* Controlul Sesiunilor
Protocolul HTTP nu dispune de niciun mecanism cu ajutorul căruia să trasmită datele între pagini. Dacă un utilizator emite cereri successive prin două pagini către un server web, nu există vreo modalitate de transmitere la a doua pagină idea că utilizatorul este același. Controlul sesiunilor se ocupă de urmărirea acțiunilor pe care le face un utilizator, pe fluxul de sesiuni de acces către serverul Web.
Sesiunile PHP sunt manipulate cu ajutorul unui ID unic, care este generat aleator (printr-un algoritm criptografic). ID-ul acesta este generat de PHP și este menținut pe tot parcursul sesiunii de lucru, de către clientul care accesează paginile.
Pași pentru creare/distrugere sesiune:
session_start() (crearea unei sesiuni)
session_register( "var") – înregistrarea variabilelor sesiune
$_SESSION["var"] – utilizarea variabilelor sesiune pentru a deține controlul accesului
session_destroy() – ștergerea variabilelor sesiune + distrugerea sesiunii
* Conectarea la baza de date
În cadrul lucrului cu serverul MySQL, pentru a ne conecta la baza de date este nevoie de o anumită sintaxă. Spre exemplu, eu am salvat această secvență de cod cu numele config.php. Acest fișier poate fi chemat în cadrul altor secvențe de cod prin funcția include().
/* config.php */
<?php
$hostname="localhost";
$username="root";
$password="parolă";
$database="disertație";
$conexiune=mysql_connect($hostname,$username,$password)
or die ("Nu mă pot conecta la baza de date!");
$bazadate=mysql_select_db($database,$conexiune)
or die ("Nu găsesc baza de date!");
?>
mysql_connect() – funcția cu ajutorul căreia ne conectăm la baza de date, folosind parametrii: nume server, nume utilizator și parola necesară conectării la baza de date.
Variabila $conexiune va fi ori TRUE, ori FALSE, depinde dacă se face conexiunea la serverul MySQL; în caz contrar, va fi afișat un mesaj de eroare
mysql_select_db – este o funcție care selectează baza de date la care ne vom conecta; ea primește ca parametric: nume bază de date + identificatorul de acces pentru conexiunea cu serverul MySQL.
La fel și pentru variabila $bazadate, se folosește functia mysql_select_db, și dacă nu se găsește baza de date va fi afișat un mesaj corespunzător.
După executarea operațiilor dorite, conexiunea trebuie să fie inchisă folosind funcția mysql_close() (argumentul fiind reprezentat de datele de acces la serverul MySQL)
mysql_close($conexiune);
* mysql_query – este o funcție care se folosește pentru a interoga o bază de date. Parametrii ei sunt: cererea trimisă către serverul MySQL + datele de acces la baza de date.
* Cu funcția mysql_num_rows($sql) putem să aflăm câte linii are baza de date.
Baze de date
O bază de date poate fi văzută ca o colecție de date structurate (organizate). La nivel de utilitate, ea permite următoarele: stocarea (memorarea) unor volume mari de date, regăsirea datelor cu ajutorul unor criterii de căutare și prelucrarea unor cantități mari de date (ordonare, filtrare).
Bazele de date relaționale sunt acele baze de date în care datele sunt stocate în tabele și le sunt create legături prin intermediul relațiilor. Această modalitate de structurare a datelor ajută la eliminarea redundanței, așa încât modificarea și stocarea unei informații se va face într-un singur loc.
Gestiunea bazelor de date se referă la totalitatea operațiilor care se aplică datelor, iar pentru aceasta există aplicații specializate, care se numesc Sisteme de Gestiune a Bazelor de Dat, prescurtat = SGBD. Un astfel de SGBD este MySQL, despre care vorbim în secțiunea imediat următoare.
MySQL
MySQL este un SGBD open-source, robust și foarte rapid, care se bucură de un nivel mare de popularitate. Serverul MySQL este cel care controlează accesul la date, astfel încât să garanteze lucrul cu mai mulți utilizatori în același timp. Prin urmare, MySQL este un server multi-user și multi-thread (mai multe fire de execuție).
MySQL este o componentă integrată a pachetelor de programe XAMPP/WAMP/ LAMP (cross platform/ Windows/ Linux-Apache-MySQL-PHP/Perl/Python) și este destul de ușor de învățat și de utilizat, spre deosebire de alte sisteme de gestiune BD.
Pentru administrarea bazelor de date MySQL poate fi utilizat modul linie de comandă, dar se pot allge și alte căi de interfață grafică. Eu am ales să folosesc instrumentul de management phpMyAdmin. Pe parte de interogare, MySQL utilizează SQL (Structured Query Language), care este un limbaj standard de interogare a bazelor de date.
Sintaxa SQL
* Operațiile cele mai folosite în cadrul lucrului cu bazele de date sunt:
CREATE – crează o bază de date/un tabel
DROP – șterge o bază de date/un tabel
INSERT – adaugă înregistrări într-un tabel al bazei de date
DELETE – șterge înregistrări dintr-un tabel al bazei de date
UPDATE – actualizează înregistrările dintr-un tabel
SELECT – selectează un tabel
ALTER – adaugă un camp într-un tabel (ștergerea nu este posibilă)
CREATE TABLE – crează tabele
Sintaxa pentru crearea unui tabel:
CREATE TABLE nume_tabel (coloana_1, coloana_2,…, coloana_n);
Este un tip de instrucțiune pentru definirea datelor
Coloanele sunt separate prin virgule și fiecare coloană este caracterizată de un tip și un nume.
Sintaxa pentru introducerea datelor în tabele:
INSERT INTO nume_tabel (coloana1, coloana2,..) VALUES ('valoare1','valoare2',.);
Este un tip de instrucțiune pentru manipularea datelor.
Sintaxa pentru introducerea datelor în baza de date:
SELECT * FROM nume_tabel
Este un tip de instrucțiune pentru selecția datelor
Sintaxa pentru introducerea de înregistrări noi sau modificarea valorilor câmpurilor din înregistrările existente:
UPDATE nume_tabel
SET nume_câmp1= valoare1 [nume_câmp2 = valoare2]…
[WHERE criteriu_de_actualizare];
Este un tip de instrucțiune pentru manipularea datelor, o interogare de acțiune.
Sintaxa pentru ștergerea datelor din baza de date:
DELETE FROM nume_tabel WHERE criteriu_de_ștergere;
Este un tip de instrucțiune pentru manipularea datelor, o interogare de acțiune.
Pentru a particulariza baza de date, sunt folosiți operatori precum:
IS NOT NULL are o valoare anume
IS NULL nu are o valoare
OR una din cele două expresii este adevărată
|| una din cele doua expresii este adevărată
AND amandouă expresiile sunt adevărate
&& amandoua expresiile sunt adevărate
NOT amandouă expresiile sunt false
BETWEEN în interiorul unui domeniu dat
NOT BETWEEN în afara unui domeniu dat
Prezentarea aplicației
Sistemul propus se presupune a fi unul foarte complex, care să fie capabil să cupleze tot ceea ce am prezentat la capitolul anterior, și anume: aplicații individuale, simple, deja existente pe piață. De ce asta? Pentru că este mult mai comod să folosim o singură aplicație care să ne ajute la cât mai multe lucruri, decât să avem câte o aplicație pentru fiecare în parte. Bineînțeles că prezenta lucrare este una subiectivă, adică am cercetat cât mai multe detalii despre zonele de interes și am formulat acest lucru astfel încât să îmi fac cunoscut punctul de vedere și, în același timp, să conving publicul că ar putea face obicetul unui produs final bun.
În subcapitolele ce urmează voi descrie tot ceea ce îmi doresc să facă soft-ul Jurnal Inteligent. Caracteristici conceptuale și funcționale, pe scurt:
• Domenii (pe baza cărora se construiește arhitectura): alimentație și activități fizice
• Funcționalități: module de logare/ înregistrare; chestionare personalizate (în funcție de fiecare utilizator și de răspunsurile acestuia); înregistrarea tuturor datelor despre obiceiurile utilizatorului, astfel încât să se vină cu alternative eficiente pentru acesta; refolosirea părților redundante; mini-broșură cu sfaturi și termeni uzuali în domeniile de interes; efectuarea de statisctici săptămânale (pentru reflectarea progreselor sau regreselor); calcularea unor parametri standard;
Arhitectură și funcționalități
Acum, că au fost prezentate domeniile ce vor fi luate în vizor în cadrul proiectului, este timpul pentru explicarea modului în care se va asigura conexiunea utilizator – domeniu.
Scopul soft-ului este să ajute user-ul să conștientizeze aspectele pe care acesta le are de oferit, și în același timp, să-i influențeze acțiunile zilnice în mod pozitiv, fără să se simtă inconfortabil, presat sau obligat. Nivelul aplicației este mai mult…la nivel motivațional, psihic.
În primul rând, este necesară înregistrarea utilizatorului în baza de date, ca apoi să se poată loga în aplicație. Soft-ul va reține și va ”arunca” chestionare în funcție de utilizator, respectiv raspunsurile acestuia.
Am folosit pentru realizarea aplicației pachetul de programe XAMPP (care este open source și cross-platform web server). Acesta constituie infrastructura software necesară găzduirii site-urilor web și cuprinde: Serverul Apache HTTP, baza de date MySQL și interpretoare pentru scripturi care sunt scrise în PHP și Perl. De menționat faptul că, după instalarea XAMPP trebuie să fie făcute unele configurări, în special pe parte de securitate. Odată instalat și configurat, se pornesc serviciile Apache și MySQL, apoi se trece la codarea efectivă.
Figura 5.1 ilustreză distribuția XAMPP care funcționează așa cum trebuie:
Figura 5.1. – XAMPP cu modulele Apache și MySQL rulând
Pentru început, aplicația pune la dispoziție functionalități de logare/ înregistrare, care funcționează cât se poate de curat și corect. Să începem cu partea de înregistrare, în care utilizatorul trebuie să introducă numele, prenumele, numele de utilizator, email-ul, parola, varsta si sexul. Completarea corectă a datelor, ca în Figura 5.2., va duce la apariția unui mesaj de înregistrare reușită, ilustrată în Figura 5.3.
Figura 5.2. – Formular de înregistrare completat corect
Figura 5.3. – Mesaj pentru înregistrare reușită
Odată afișat mesajul de confirmare a înregistrării, aceasta semnifică faptul că datele au fost introduce în baza de date, așa cum se vede în Figura 4.4.
Figura 5.4. – Datele introduse în baza de date
Ca o paralelă la ce am notat mai sus, voi expune și varianta în care sunt introduse în formular date incorecte (Figura 5.5.), care nu respectă reguli generale și, în plus, este introdus un username deja existent în baza de date (Figura 5.6.)
Figura 5.5. – Date greșite introduse în formular
Figura 5.6. – Username deja existent în baza de date
Evident că există cate o porțiune de cod pentru validarea fiecărui câmp; am selectat pentru lămurire doar 2 dintre ele: pentru nume (Figura 5.7.) și pentru parolă (Figura 5.8.).
Figura 5.7. – Verificare nume
Figura 5.8. – Verificare parolă
Urmând același curs al explicațiilor, bineînțeles că vom avea și o figură pentru o logare reușită (Figura 5.9.), dar și pentru una nereușită (Figura 5.10.), plus o parte de cod în care se verifică dacă se poate face logarea, adică daca utilizatorul respectiv este înregistrat în baza de date (Figura 5.11.).
Figura 5.9. – Logare reușită
Figura 5.10. – Logare nereușită
Figura 5.11. – Cod verificare existență user
Odată ce userul este logat, se poate trece la completarea chestionarului initial, menit să colecteze date generale despre obiceiurile acestuia alimentare, de odihnă și de activități fizice. (Figura 5.12.). Raspunsurile utilizatorului la acest test sunt păstrate și pot fi exportate în format Excel sau pot fi revăzute direct în pagina web. (Figura 5.13.)
Figura 5.13. – Rezultate păstrate web/Excel
Chestionarele zilnice sunt de fapt, întrebări de genul: la ce oră ați luat prânzul, ce ați mâncat la micul dejun? (cu posibiliate de a alege din listă sau de a introduce un element nou), dacă se constată ca utilizatorul a sărit peste o masă sau a dormit insuficient, de exemplu, îi va cere să spună motivul pentru care a făcut asta și i se va pregăti o replică să-l facă să nu mai repete acest lucru.
Pe măsură ce va trece mai mult timp de completare în soft, acesta va reuși să schițeze un comportament predominant
Figura 5.12. – Chestionar inițial
al utilizatorului și îi va pregăti rapoarte, care să arate progresul acestuia. Dicționarul soft-ului va fi introdus în baza de date, acolo va fi categorizat astfel încât softul să știe cum să-și extragă sau să-și introducă datele. Detaliile nutritive nu vor fi la sânge, ci doar informaționale.
Utilizatorul va fi întrebat, la un moment dat, dacă a observat efecte pozitive sau negative de pe urma alimentației dintr-o anumită zi. Soft-ul va reține astfel ce alimente îi priesc sau nu userului.
Va fi asociată o stare a sistemului, care să exprime nivelul de mulțumire al acestuia în funcție de implicarea utilizatorului în a-și îmbunătăți propriile obiceiuri. De exemplu, dacă se observă un comportament delăsător, în care userul gasește des motive pentru care nu a făcut X lucru, atunci va fi afișată o stare care să exprime dezamăgire (Figura 5.14.), plus o frază care să-l motiveze pe viitor.
”Când vine vremea să mănânci corect și să începi să faci exerciții, nu există ”Voi începe de mâine!” Mâine este boală.” (V.L.Allineare)
Figura 5.14. – Stare soft dezamăgit
La polul opus, în cazul în care user-ul face progrese, soft-ul își va arăta mulțumirea printr-un emoticon mândru (Figura 5.16.), și bineînțeles…cu un citat
"Timpul este o invenție a mișcării. Cine nu se mișcă, nu vede cum trece timpul." (Amelie Nothomb)
Figura 5.16. – Stare soft mândru
Soft-ul inteligent va urmări un șablon al activităților de odihnă, alimentare și a celor fizice (Figura 5.17.), astfel încât să îi spună utilizatorului cât de mult se apropie de el. Va urmări in orice moment ca acesta să se simtă din ce în ce mai bine, și să ajungă să-și cunoască organismul cât mai mult (să-i cunoască mulțumirile, nemulțumirile, limitele, etc).
Figura 5.16. – Șablon activități pentru sănătate
Va trebui, de asemenea, să se aibă în vedere consumul unor cantități de nutrienți în doze recomandate de specialiști.Acest lucru poate fi calculat, în funcție de greutate, sex, nivel de activitate fizică. (Figura 5.17.)
Figura 5.17. – Calculator nutrițional
Concluzii și dezvoltări ulterioare
Având în vedere aspectele enunțate în prezenta lucrare, dar adăugând și note de subiectivitate, putem trage singuri concluziile. Din punctul meu de vedere, la nivel de implementare a aplicației, dar și la nivel de cercetare, pot afirma următoarele:
am considerat partea de cercetare ca fiind baza proiectului, întrucât este o foarte mare consumatoare de timp; pentru a analiza informațiile puse la dispoziție pe internet sau în cărți, pe lângă timp, este nevoie de o capacitate foarte mare de sinteză, de structurare, de luarea unor decizii referitoare la aspectele informaționale care rezonează cel mai mult cu părerile dezvoltatorului unei aplicații;
bineînțeles că și partea de implementare, de dezvoltare a soft-ului este una foarte importantă, însă am mai multe de precizat aici:
în primul rând, pentru ca aplicația să aibă un traseu uniform și rapid, ea trebuie să aibă baza tehnică informațională și structurală bine pusă la punct; pentru aceasta este nevoie de un background solid în ceea ce privește programarea, și spun asta pentru că altfel ia deciziile și găsește soluții de implementare un programator cu experiență, și altfel reușește să facă asta unul care are un nivel de cunoștințe minimale;
în al doilea rând, este de mare folos și o bună organizare a ideilor și a așteptărilor pe care le avem de la viitorul soft, dar luând în considerare și potențialul personal de a scrie cod; nu prea este de recomandat să ne gândim la prea multe idei de structură și funcționalități pentru aplicație, dacă background-ul tehnic este la un nivel modest; la fel, este păcat ca un programator profesionist să nu vină cu cât mai multe idei de implementare din motive de comoditate.
Pentru dezvoltări ulterioare, ținând cont de faptul că soft-ul Jurnal Inteligent este destul de simplu ca funcționalitate și arhitectură, mi-aș dori să ating următoarele aspecte:
soft-ul să permită utilizatorului să-și construiască un model ideal de urmat, din ce punct de vedere dorește (fie că este vorba despre un model alimentar, fie că este vorba despre unul al activităților fizice sau al programului de odihnă); trebuie avut în vedere faptul că fiecare individ are propiul lui program zilnic și obiceiurile lui mai mult sau mai puțin înrădăcinate în comportamentul lui;
să existe și o versiune pentru telefoane mobile
să aibă posibilitate de scanare a produselor cu etichetă, astfel încât să le poată introduce în categoria corespunzătoare, în funcție de detaliile primite prin scanare
să poată fi salvate în format pdf rapoartele privind evoluția utilizatorilor
să existe funcționalitate de printare a rapoartelor, în vederea adăugării lor la eventuale dosare pe care user-ul le tine
soft-ul să aibă capacitatea de a-și schimba la un moment dat chestionarele și de a veni cu recomandări și sfaturi, în funcție de evoluția pe termen lung a utilizatorului.
În contextul actual, în care oamenii sunt din ce în ce mai ocupați, iar timpul lor liber este limitat, trendul aplicațiilor mobile dedicate adoptării unui stil de viață sănătos se va extinde considerabil.
Bibliografie
1. Cârstoiu, Dorin, Baze de date relaționale, Editura Printech, 1999;
2. Connolly, Thomas, Baze de date: proiectare, implementare, gestionare, Editura Teora,
București, 2001;
3. Ionescu Felicia, Baze de date relaționale și aplicații, Editura Tehnică, București, 2004;
4. Meloni, Julie C., Învață singur PHP, MySQL și Apache, Editura Corint, 2005;
5. Meloni, Julie C., Sams Teach Yourself HTML, CSS and JavaScript – All in one, Editura
Pearson Education, Indianapolis, 2012;
6. Welling, Luke, Thomson, Laura, Dezvoltarea aplicațiilor WEB cu PHP și MySQL – ediția a
II-a, Editura Teora, 2005;
7. Tutorial: Inițiere în PHP & MySQL, disponibil online la http://www.oriceon.com, accesat
ultima dată la data de 21.06.2015;
8. Articol online publicat în categoria Wellness – Aplicații iPhone pentru o alimentație
sănătoasă, http://www.cabinetuldenutritie.ro/2011/04/aplica%C5%A3ii-iphone-pentru-o-
alimenta%C5%A3ie-s%C4%83n%C4%83toas%C4%83/, accesat ultima dată la data de
21.06.2015,
9. Articol online – Aplicații pentru fitness, dietă și sănătate,
http://www.getfit.ro/sanatate/aplicatii-pentru-fitness-dieta-sisanatate.html, accesat ultima
dată la data de 21.06.2015,
10. Articol online – Slăbește cu ajutorul aplicațiilor pentru telefoanele și tabletele smart,:
http://www.csid.ro/diet-sport/noutati-dieta-si-sport/slabeste-cu-ajutorul-aplicatiilor-
pentru-telefoanele-si-tabletele-smart-8403126/, accesat ultima dată la data de 21.06.2015;
11. Articol online – Gadgeturile, aliații siluetei perfecte, http://www.csid.ro/diet-sport/dieta-
si-nutritie/gadgeturile-aliatii-siluetei-perfecte-8014543/, accesat ultima dată la data de
21.06.2015;
12. Articol online – Telefonul mobil, noul antrenor personal de fitness. Vezi care sunt cele mai
utile aplicații mobile pentru sport și dietă,
http://www.romanialibera.ro/societate/utile/telefonul-mobil–noul-antrenor-personal-de-
fitness–vezi-care-sunt-cele-mai-utile-aplicatii-mobile-pentru-sport-si-dieta-307928,
accesat ultima dată la data de 21.06.2015;
13. Articol online – Cum îți creezi un jurnal alimentar cu MyFitnessPal – Pașii de bază,
http://www.7tutoriale.ro/cum-iti-creezi-jurnal-alimentar-myfitnesspal-pasii-baza, accesat
ultima dată la data de 21.06.2015;
14. Articol online – Care este diferența dintre păstrarea unui jurnal alimentar și calcularea
caloriilor?, http://www.7tutoriale.ro/care-este-diferenta-dintre-pastrarea-unui-jurnal-
alimentar-si-calcularea-caloriilor, accesat ultima dată la data de 21.06.2015.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Jurnal Inteligent (ID: 121937)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
