Să scriem o carte de informatică

1. Necesitatea

Toata lumea care lucreaza in invatamantul superior este obligata sa scrie carti in domeniul in care activeaza pentru:
- a promova pe functii didactice
- a da studentilor materiale in vederea pregatirii examenelor
- a a-si face prezenta simtita in randul specialistilor
- a crea un context favorabil ocuparii unei functii
- a participa la concursuri in vederea obtinerii unor finantari
- a evidentia nivelul de performanta la care a ajuns
- a fi primul care scrie ceva in domeniul sau de activitate
- a inchega un colectiv din care sa arate tuturor cine este seful
- a incorpora intr-un singur loc, rezultatele originale ale unor cercetari
- a acoperi un domeniu vast cu o lucrare unicat
- a realiza un instrument de lucru la indemana specialistilor
- a prezenta experienta proprie dar avansata, acumulata in domeniul in care cercetareaza si preda
- a nu i-o lua altcineva inainte in a arata ca este specialist in domeniu
- satisfacerea unor laturi ale orgoliului personal
- a arata ca este prezent in lumea universitara.
Cartile scrise, sunt de dimensiuni foarte diferite. Se scriu brosuri de cel mult 50 de pagini, se scriu si carti de cel mult 200 de pagini, dar se scriu si carti de peste 500 de pagini. Uneori se scriu carti in doua sau mai multe volume, fiecare avand peste 300 de pagini. Cartile au denumiri interesante, plasandu-le exact in zona de interes a cititorului. Astfel apar carti de Initiere in... sau de Introducere in.... sau Bazele .... sau Fundamente ale ..... cel mai adesea autorii isi propun sa scrie tratate. Un tratat este o lucrare stiintifica de o deosebita complexitate, care acopera intreg domeniul stiintific specificat in tilu, are un nivel stiintific foarte ridicat, prezentare foarte omogena a problematicii si este recunoscut ca lucrare fundamentala, la dispozitia oricarui specialist din respectivul domeniu.
Sunt celebre tratatele scrise de C.D. Nenitescu de Chimie generala si Chimie organica, precum si tratatul de Analiza matematica in doua volume scris de Miron Nicolescu. In zona medicinii au fost scrise multe tratate precum cel de Medicina interna de Radu Paun. In tara noastra fiecare domeniu are scrise tratate care acopera cam tot la momentul scrierii lor. Insa in lumea stiintifica tratatele lui Nenitescu si Nicolescu sunt cele mai cunoscute. Literatura romaneasca a preluat prin traducere si lucrari de o exceptionala valoare stiintifica din literatura straina, iar tratatele lui Knuth, Harrison si Bourbaki, aparute arata preocuparea spre performanta inalta a sintezelor din domenii cruciale ale stiintei.
In mediul academic, editurile universitatilor publica:
- lucrari de singur autor corespunzatoare disciplinelor predate
- volume ale lucrarilor la conferinte stiintifice organizate de departamente
- teze de doctorat usor modificate
- carti de sinteza si tratate elaborate de colective largi
- rapoarte de cercetare
- studii de caz si culegeri de probleme la diferite discipline
- gfhiduri de utilizare a instrumentelor cu care se lucreaza.
Rezulta ca exista nenumarate posibilitati de a plublica daca:
- este identificat un grup tinta care sa fie interesat de carte
- o editura si distribuitorii gasesc interesanta si profitabila publicarea
- autorul este interesat sa intre in angrenajul publicarii.
Este cunoscut ca autorul beneficiaza de cel mult 10% din business, 30% mergand spre editor, 30% mergand spre tipografie, 30% se duc spre distribuitor. Daca autorul ar incasa cei 10% la distribuirea manuscrisului si toate riscurile si le asuma editorul, ar fi in regula. realitatea, descurajanta la noi, face ca editorul sa avanseze tipografiei un avans, tipografia trimite spre distribuitori, acestia vand, isi retin partea si dupa aceea platesc spre editura, editura spre tipografie. Autorul ramane ultimul si nimeni nu risca nimic, business-ul nefiind al autorului, ci al celorlalti. El este cu munca, ceilalti sunt cu castigul. Am vazut un cec de 10 lei trimis ca drepturi de autor... In plus, editurile reediteaza tiraje, multe dintre ele neanuntand autorul si multe, multe murdarii care il dezavantajaza clar pe autorul de lucrari stiintifice.

2. Titlul

Alegerea titlului este o problema importanta. Experienta este aceea care dicteaza dimensiunea lucrarii. La o experienta mai redusa, dar lucrand in profunzime, titlul va indica un un subdomeniu strict delimitat. Astfel de lucrari se refera la Desigmul aplicatiilor web sau Lucrul cu fisiere in limbajul C++ sau Elaborarea specificatiilor de programare sau Testarea programelor C++. La o experienta mai ridicata, titlul va fi cuprinzator precum Baze de date relationale sau SGBD Oracle sau ProgramareaOrientata Obiect sau Tehnici si metode de programare sau Dezvoltarea sistemelor informatice. Pentru a fi comerciale, lucrarile elaborate, includ in titluri ideea de rapiditate in procesul de invatare precum: Invatati sa programati in C++ in 12 lectii sau Invatati sa va construiti un site in 5 pasi. Consider ca la alegerea titlului trebuie sase tina seama de:
- experienta autorului
- grupul tinta
- capacitatea de a asigura publicarea
- riscurile care apar pe tot traseul de la elaborare, publicare si pana la vanzare
- reactiile cititorului si a altor autori.
In continuare, vor fi prezentate elemente legate de laboratorul in care se traverseaza etapele elaborarii unei carti de informatica in zona aplicatiilor web folosind CSS - Cascading Style Sheets, pentru ca:
- am lucrat la elaborarea de site-uri aflate in exploatare curenta
- am utilizat facilitatile oferite de CSS
- dispun de lucrarile de CSS dupa care m-am instruit
- am citit si alte lucrari
- am facut analize comparare intre secvente CSS si HTML echivalente
- mi-am evaluat din punct de vedere calitativ secventele scrise
- toate elementele introduse, sunt testate si implementate in site-uri proprii
- am mai scris si alte carti
- utilizez un mod coerent de a face acest lucru, nefiind restrictionat de factorul timp.
Asadar, voi arata cum se scrie cartea Practica dezvoltarea aplicatiilor web in CSS. Titlulacesta nu este prea scurt, astfel incat numai CSS nu ar spune nimic cititorului si s-ar adresa numai celor care stiu despre CSS si ei nu au nevoie de asa ceva, titlul Aplicatii web este prea general si sunt multe aplicatii in acest domeniu si nu ar sti lumea de ce mai este nevoie inca de o lucrare, mai ales daca pe piata se afla o alta lucrare foarte buna. Asa ca titlul ales arata ca lucrarea vorbeste despre CSS, ca priveste dezvoltarea de aplicatii si ceea ce mi se pare important, este ca sunt tratate aspecte practice, lumea avand mare nevoie de a lucra practic, teoria fiind prezentata cam peste tot.
Pornind de la titlu, lucrarea isi dezvolta un specific prin:
- indicarea detaliilor legate de CSS
- abordarea din punct de vedere practic
- luarea in considerare a etapelor parcurse de o aplicatie web.
Intre titlul cartii si dimensiunea ei trebuie sa existe o stransa legatura. Nu se va intitula niciodata Tratat de ... o lucrare de 80 de pagini, pentru ca dimensiunea arata ca tratarea este superficiala, orice domeniu aprofundat necesita fie un volum masiv, fie mai multe volume de cel putin 300 pagini fiecare. Nu se va intitula niciodata Initiere de 10 lectii de ... o lucrare de 500 pagini, intrucat 50 de pagini pe o lectie care nu trebuie sa dureze mai mult de doua ore de pregatire, sperie pe orice cititor. Este important sa se procedeze la elaborarea tuturor volumelor, astfel incat sa existe certitudinea existentei in librarii intr-o perioada rezonabila a tuturor volumelor. Publicarea integrala a Operelor Complete ale lui Mihail Eminescu a duratfoarte multi ani. Unii autori si-au anuntat tratatele ca fiind lucarri in sapte volume din care au aparut trei, asa cum este cazul Tratatului de programare a lui D.E. Knuth. Alti autori nu au apucat sa publice decat un singur volum din cate un tratat, nepublicarea celorlalte fiind datorata disparitiei autorului sau a dezintegrarii colectivului care participa la elaborare. O evaluare corecta a resurselor de care dispun autorii va permite ca inca de la titlul cartii sa porneasca exact in raport cu resursele de care dispun, astfel incat demersul sa fie dus la capat in integralitatea lui. Adica, daca i se zice Tratat de ..., lucrarea sa fie cu adevarat ceva special, care acopera un intreg domeniu, are un nivel stiintific deosebit de ridicat si daca e proiectata in 5 volume, toate trebuie sa fie in diferite stadii de elaborare, astfel incat la aparitia in librarii a primului volum, autorii sa predea deja editurii volumul al doilea si tot asa. In momentul in care nu exista o planificare riguroasa, derularea proceselor de elaborare si de tiparire pierd ritmicitatea si asta conduce la scaderea interesului fata de lucrare in totalitatea ei. A se vedea dictionarele tiparite pe grupe de litere care se intindpe intervale prea lungi. A se vedea unele tratate anuntate in 7 - 8 volume care s-au oprit undeva la volumul al treilea. Daca lucrarea este de interes pentru o perioada, ea trebuie sa apara atunci si nu cativa ani mai tarziu. Ce s-a intampla daca acum in anul 2013 ar apare o lucrare intitulata Programarea in Windows 2000 este lesne de inteles, adica nu ar mai avea succesul de care s-ar fi bucurat daca aparea exact in ziua lansarii respectivului sistem de operare sau cateva luni dupa lansarea lui oficiala in America, dar nu o traducere, ci o lucrare cu mult mai multe elemente practice specifice dezvoltarii de software in tara noastra.

3. Structurarea cuprinsului

Exista mai multe modalitati de a structura o carte si anume:
- definirea unor parti, formate din capitole si subcapitole, modalitate utilizata in situatia in care in titlul cartii apare o enumerare sau un substantiv la plural; o lucrare precum Programarea in limbajele C++ si PITHON va avea doua parti; in prima parte se prezinta limbajul C++ si in a doua parte se prezinta limbajul PITHON; se construieste un sablon de prezentare a unui limbaj de programare, sablon care se foloseste la structurarea capitolelor celor doua parti; partile nu mai apar rupte unele de celelalte daca la al doilea limbaj se dau exemple si din loc in loc se vor face aprecieri cand secventele nu trebuie scrise in limbajul C++ si se vor prezenta dezavantajele
- strcturarea pe capitole si subcapitole echilibrate, reprezinta structura pe care am agreat-o de fiecare data, intrucat permite o viziune gradata de abordare, in ideea ca nu se utilizeaza nimic care sa nu fi fost definit in capitolele precedente si nu se fac trimiteri intr-un capitol nici la capitolele precedente si cu atat mai mult la capitolele urmatoare; echilibrarea apare si din faptul ca toate capitolele trebuie sa aiba un numar sensibil egal de subcapitole; daca se doreste ca o lucrare sa aiba CP capitole si in totalitate ZZ pagini, se scad trei pagini pentru introducere, inca trei pagini pentru concluzii si inca 2 pagini pentru bibliografie; numarul de pagini aferente unui capitol NPC = (ZZ=3-3-3)/CP; tot asa se calculeaza numarul de pagini pe subcapitol; o lucrare cu zece capitole in care un capitol are 200 pagini, iar celelalte au intre 3si 15 pagini este o lucrare cu o structura foarte dificil de urmarit; - faramitarea unei carti in care apar parti, capitole, subcapitole, sub-subcapitole si chiar sub-sub-subcapitole reprezinta un mod de a vedea lucrurile extrem de nuantat, ceea ce arata ca autorii nu insista asupra problematicii daca o subdiviziune are numai cateva randuri, delimitarea efectuandu-se pentru a da o definitie sau o clasificare; o astfel de lucrare urmareste obtinerea unui grad de rigurozitate foarte ridicat, lucru real daca si numai daca domeniu este stapanit la perfectie si enumerarile urmaresc un fir logic unanim acceptat; in acelasi timp se pastreaza coerenta si nivelul de profunzime; este acceptata cu lejeritate o astfel de structurare atunci cand subdiviziunile trateaza chestiuni independente.
Pentru a da o valoare act mai ridicata unei lucrari, se impune:
- constituirea unei bibliografii de baza formata din carti fundamentale
- studierea cuprinsurilor de la respectivele carti
- identificarea elementelor comune
- crearea contextului ce deriva din titlul ales
- schitarea propriului cuprins alcartii ce trebuie scrisa astfel incat sa se regaseasca tot ce este prezentat in titlu. Lucrareaq Practica dezvoltarea aplicatiilor web in CSS va avea in cuprins:
- o introducere - capitole de prezentare a CSS
- chestiuni privind etapele de dezvoltare a aplicatiilor web cu CSS
- cateva studii de caz reprezentative astfel ca orice dezvoltator sa inceapa sa scrie propriile lui aplicatii web folosind CSS
- concluzii
- o bibliografie cu carti strict legate de CSS, aplicatii web si dezvoltarea acestora.
Acest cuprins trebuie astfel alcatuit incat:
- sa dea o abordare de la simplu, la complex a intregului demers
- sa nu includa elemente redundante
- sa tina seama de experienta acumulata in procesul de instruire in zona aplicatiilor web
- sa se bazeze pe materialul bibliografic, pe experienta proprie autorului si pe cerintele programatorilor, aflati in relatie directa cu clientii
- sa reduca pe cat posibil elementele presupuse cunoscute de catre cititor
- sa scurteze durata inceperii scrierii de aplicatii in raport cu momentul de incepere a studiului cartii
- sa ia in considerare aspectele practice inca de la inceput
- sa insemne o abordare gradata in raport cu lungimea textelor sursa incluse
- sa reflecte preocuparea pentru dezvoltarea unui stil de programare bazat pe ideea de a reutiliza componente la un nivel foarte ridicat, intrucat filosofia CSS are in intregime un astfel de fundament
- sa conduca la ideea de a conserva tot ceea ce este elaborat, drept care toate componentele trebuie sa corespunda unui nivel calitativ ridicat.
Cuprinsul se structureaza astfel incat sa se obtina un echilibru dat de titlul lucrarii. Daca primul cuvant din titlu este practica este necesar ca inca de la inceput sa se vada acest lucru. Se va trece la elaborarea de enunturi de probleme, alese astfel incat fiecare cititor sa gaseasca in ele ceva din preocuparile proprii. Se stie ca aplicatiile web au diferite criterii de clasificare si daca se ia in considerare un criteriu, se obtin cateva tipologii de probleme si fiecarui tip i se asociaza o anumita problema concreta. Se asigura in acest fel un grad de acoperire bun pentru toate categoriile de programatori de aplicatii web ce utilizeaza CSS. Tot in titlu se afla aplicatii web ceea ce impune existenta de capitole ce presupun clarificari legate de definitii si de structuri de aplicatii web, toate fiind acompaniate de conceptele corespunzatoare specifice CSS. In acest fel se prezinta resursele CSS nu in ordine alfabetica asa cum se procedeaza in ghiduri, ci dupa frecventa de utilizare si dupa locul pe care aceste resurse il au in economia fiecarui tip de aplicatii web. Bineinteles, toate constructiile sunt legate de enunturile de probleme propuse de la inceput. Cuvantul dezvoltare din titlu nu este pus la intamplare, ci in ideea de a corela intregul demers de structurare a cartii, cu ideea de disciplina in parcurgerea unor etape ale ciclului de construire a aplicatiilor web. Aplicatiile web nu se construiesc la intamplare, ci parcurgand o serie de etape. Fiecarei etape fiindu-i necesare anumite resurse, fiindu-i specifice anumiste sarcini, anumite activitati, anumite intrari si, respectiv, anumite rezultate - iesiri - bine definite.
Se observa cum din alegerea titlului se obtine structura pe capitole. Este periculos ca titlul sa spuna ceva si cuprinsul sa ofere o alta filosofie de abordare.

4. Scrierea introducerii

Exista mai multe abordari, din care doua par a fi de baza si anume:
- introducerea se scrie de la inceput
- introducerea la carte se scrie ultima.
Nu impartasesc a doua opinie, intrucat nu se confunda introducerea care lamureste obiectivul cartii, necesitatea, prezentarea capitolelor, consideratii legate de bibliografie si alte aspecte legate de procesul de elaborare a cartii, inclusiv multumirile, respectiv, cu o prefata scrisa de altcineva care face aprecieri asupra cartii din punctul sau de vedere, ca autoritate in domeniu. este necesar sa se scrie inca de la inceput introducerea cartii pentru a clarifica:
- grupul tinta
- obiectivul
- necesitatea
- cunostinte necesare astfel incat cititorul sa treaca rapid la realizarea de aplicatii
- mijloacele utilizate
- descrierea capitolelor
- cerinte privind nivelul abordarii
- asigurarea omogenitatii.
Scrierea unei introduceri inca de la inceput arata ca autorul cartii are o imagine clara asupra intregului sau demers, nelasand la voia intamplarii niciun detaliu legat de procesul de elaborare. Aceasta abordare presupune:
- un nivel de experienta ridicat in utilizarea resurselor CSS
- existenta in exploatare a tipurilor reprezentative de probleme dezvoltate de autor
- elaborarea pentru fiecare aplicatie web implementata a documentatiei, inclusiv a unor insemnari privind chestiuni particulare legate de fiecare etapa a ciclului de construire
- strangerea si regruparea materialului neprelucrat privind secvente de texte sursa care se utilizeaza
- respectarea unui mod de dezvoltare cu utilizarea de sabloane, ori de cate ori trebuie prezentate elemente ale unor multimi omogene.
Necesitatea scrierii introducerii este asemanatoare activitatii pe care o desfasoara o gospodina care are ca obiectiv realizarea unei mese pentru musafiri, in care la cuprins inseamna ca structureaza meniuul, iar in introducere trebuie sa vina cu suficiente detalii legate de materiile prime necesare, modul de preparare, durate, riscuri. Are loc o regrupare de informatii pentru a face ccumparaturi fara a reveni in acelasi raion de produse, atunciu cande face cumparaturile. Gospodina isi face o imagine foarte clara inainte de a merge la piata. In caz contrar isi va da seama ca:
- nu a cumparat tot ce are nevoie
- nu stie cum se prepara un anumit porodus din meniu
- nu stie cand sa inceapa prepararea pentru ca produsele sa fie bune pentru a fi servite
- nu stie riscurile si se expune ca produsele realizate sa fie arse, necrescute, afumate, nefierte adica, necomenstibile.
Pornind de la similitudinile bucatariei unei gospodine, cu cele ale procesului de elaborare a unei carti, este clar ca scrierea introducerii se impune, chiar daca unele mici modificari apar in ea, intrucat pe parcurs anumite aspecte din cuprins sufera modificari neesentiale, ce trebuie reflectate obligatoriu, iar profunzimea acestora se rasfrange si in continutul cartii. Practica, experienta si expertiza autorului dovedite inca inainte de inceperea lucrului la carte determina ca acestea sa fie incadrate intre limite normale, ce nu conduc la revizuiri profunde, ce echivaleaza cu luarea de la inceput a intregului demers. Este exact ceeq ce se spiune despre o gospodina care a organizat o suta de mese festive si care are toate elementele ca sa faca inca o masa festiva de succes.

5. Dezvoltarea capitolelor

Presupune preluarea din cuprins a structurii fiecarui capitol pe subcapitole si a celor lalte subdiviziuni si construirea unei arborescente asociate cartii. La fiecare subdiviziune se vor scrie cinci propozitii din care sa rezulte care va fi continutul aceesteia. Mergand pe orizontala arborescentei se va vedea daca exista elemente ce se repeta. In plus, cele cinci propozitii au menirea pastrarii in cadrul fiecarui capitol a elementelor date in titlul fiecarui capitol, respectiv, subcapitol. In cazul in care se face referire la capitolul destinat descrierii de tabele folosind resursele CSS, arborescenta va prelua prezentarea iunei structuri de tabel foarte des intalnit in practica, enumerarea resurselor CSS necesare scrierii de text ce permite obinerea respectivei structuri de tabel si in final, textul sursa complet aferent, astfel incat daca cititorul il va include in aplicatia sa sa obtina exact ceea ce este dezvoltat in subcapitol.
Avand in vedere ca acest capitol face referire la Tipuri de tabele in CSS se va constui un sablon, asemeni clor de prezentare a telefoanelor mobile. Pe coloane acolo se gasesc modelele de telefoane mobile, aici se vor gasi tipurile de tabele care apar frecvent in aplicatii web. Pe coloana intai se afla caracteristicile telefoanelor mobile, aici se vor afla caracteristicile de descriere a tabelelor in raport cu resursele CSS. La intersectia linie-coloana se afla nivelul fiecarei caracteristici pentru fiecare model de telefon, iar in sablonul pentru tabele la intersectie se scriu exact acele informatii necesare pentru respectivul tip de tabel. Parcurgerea pe coloane permite o caracterizare a fiecarui tip de model de telefon, iar in cazul tabelelor, se va vedea ce resurse sunt necesare. Analiza pe linie arata la telefoane care sunt nivelurile minime sau maxime, daca exista sau nu o optiune. In cazul tabelelor se ved diferentele de la un tip de tabel la altul in raport cu resursele CSS.
sablonul va include caracteristicile:
- enunt problema practica frecvent intalnita ce foloseste tipul de tabel descris pe coloane
- enumerare resurse CSS necesaree
- text sursa care descrie partea reutilizabila a descrierii CSS
- textul sursa complet al aplicatiei ce se va stoca in CD sau pe site
- riscuri care apar si limite
- elemente de analiza care permit generalizari.
Subcapitolul privind tabelul organizat in forma clasica pe linii si pe coloane. Se formuleaza o problema frecvent intalnita de programatori, deci ceruta insistent de clienti. Se arata cum din enunt rezulta care sunt coloanele si liniile, fara a fi nevoie de efectuarea de calcule. Datele care se afisaza sunt scrise in fiecare celula a tabelului. Pornind de la tabelul desenat, se identifica necesarul de resurse CSS. Aceste presurse sunt descrise una cate una, dupa care se procedeaza la scrierea unei secvente. In final se scrie intreg programul. Pentru inceput, pentru a nu-l sacai pe cititor, acest program complet va fi pus in carte dar si pe CD sau pe site, pentru a-i usura munca programatorului de preluare a textului din carte, text pe care cititorul are posibilitatea de a-ladapta unor cerinte specifice relatiei lui cu un beneficiar concret.
Subcapitolul cu coloane regrupate, urmeaza acelasi sablon de prezentare, cautand ca problema care duce la o astfel de structura sa nu fie extrem de sofisticata. Se va vedea cum se elavoreaza un sablon de descriere a tabelului, in ideea de reutilizare. De aceasta data, programul complet nu mai este introdus in textul cartii, ci este numai referit in carte aratatnd lucul lui pe CD sau pe site. Se fac comenatrii suficienta astfel incat cititorul sa inteleaga semnificatia textului incarcat de pe CD sau din site. Este important sa se vada ca cititorul are posibilitatea in mod direct sa lucreze pe program incat sa obtina structura de tabel actualizata conform cerintelor clientilor lui.
Subcapitolul cu linii regrupate.
Subcapitolul cu grade de totaluri
Subcapitolul cu elemente de variabilitate.
Solutiile alese trebuie sa fie simple, des utilizate si de alti programatori. Gradul de generalitate nu trebuie sa fie la nivel de problema, in sensul ca aceasta sa cuprinda toate situatiile, ci la nivelul de acoperire de catre o problema cat mai simpla, a unei multitudini de situatii, intalnite de programator in discutiile lui cu beneficiarii. Daca se procedeaza astfel, programatorul care citeste cartea nu are altceva de facut decat sa inlocuiasca niste cuvinte din text pentru a aduce structura tabelului la cazul sa particular, obtinand cum se spune din prima solutie la problema sa punctuala. In momentul in care se procedeaza altfel, cititorul va trebui sa selecteze dintr-o multitudine de variante, acea varianta care i se potriveste, restul textului sursa trebuind sa devina inactiv.
Toate aceste capitole se scriu prin traversarea tabelului unde a fost definit sablonul de descriere si s-a procedat la completarea pe linii a caracteristicilor fiecarui tip de tale din cele patru tipuri stabilite in cuprins la nivel de subcapitol. Necesitatea unui CD sau a unui site de includere a textelor sursa prea lungi pentru a mentine structura cartii in limite acceptabile si sa dea eficienta editurii.

6. Expunerea legata de concluzii

Vizeaza deschideri privind utilizarea CSS in aplicatii unde:
- se fac calcule
- se acceseaza baze de date
- trebuie asigurat managementul multimilor de imagini
- se realizeaza management de continut digital dinamic.
Concluziile au menirea sa dea deschideri cititorului spre alte tipuri de aplicatii web netratate in carte, dar care sunt dezvoltate in alte carti. Daca autorul are in vedere continuarea intr-o alta carte a unor noi aspecte privind resursele CSS, va indica noul titlu si cam cand va apare, cu conditia ca in momentul in care face acest lucru sa dispuna de peste 60% din acea carte.

7. Elaborarea Bibliografiei

Bibliografia va include strict lucrarile pe care le-a consultat autorul, carti, articole si ste-uri de specialitate. Ea trebuie sa fie carecta, in ceea ce priveste numele autorilor, titlurile, editurile anii de aparitie, numele revistelor, volumele in care se afla articolele. Aici trebuie acordata o mare atentie indicarii paginilor paginilor, intrucat nerasfoirea revistelor si cartilor genereaza erori sistematice, greu de argumentat in fata celor ce remarca erori. De asemenea, bibliografia se intocmeste onest, fara a nu include deliberat lucrarea folosit exagerat de mult, caci necitand-o se evita o situatie neplacuta. Numai aparent i9n conditiile exsistentei de instrumente ce analizeaza automat gradul de originalitate al fiecarei carti. La scrierea fiecarui titlu din bibliografie se va verifica cu cartea si cu numarul din revista exact daca lucrurile inscrise acolo sunt in concordanta cu realitatea.
O importanta parte a bibliografiei se alcatuieste imediat dupa ce a fost stabilit titlul. daca se observa ca intrgul titlu, prin cuvintele sale cheie, este acoperit cu lucrari, se merge mai departe, la construirea cuprinsului. Este rezonabil sa se faca intersectiile cuprinsurilor a catorva carti fundamentale, pentru a se vedea care sunt elementele de CSS ce nu trebuie sub nicio forma sa lipseasca si din cartea ce se va scrie.
Bibliografia se va completa din aproape in aproape pentru ca pe parcursului unui an cat e necesar sa se scrie cartea mai apar si alte lucrari, care obligatoriu se includ in bibliografie daca sunt folosit in capitolele ce se scriu sau se actualizeaza prin adaugare.

8. Construirea de anexe

Anexele include de regula in cazul acestei carti:
- elementele de CSS
- texte sursa
- tabele cu rezultatele unor masuratori.
Anexele nu trebuie sa domine ca dimensiune cartea, ele nedepasind 10% din economia acesteia. Anexele sistematizeaza anumite informatii si sunt instrumente de lucru indispensabile, ceea ce impune ca sa fie complete si mai ales sa permita regasirea rapida a informatiei necesare.
Cartea mai are, daca autorul este foarte exigent o lista de figuri, o lista de tabele, o lista de acronime si un index de termeni. Unele dintre acestea se construiesc automat dar si in aceste conditii se gestioneaza cu mare atentie.

                                                                             *
                                                                   *                    *


Se va urmari ca tot ceea ce s-a scris sa fie un tot unitar, sa nu exiswte contradictii sau omisiuni. managementul cartii se asigura prin mijloace clasice, eliminand astfel:
- referirea de figuri, tabele, texte sursa, inexistent
- includerea de tabele, figuri, diagrame, texte sursa care nu sunt referite in textul cartii
- toate elementele CSS sa fie prezentate inainte de a fi utilizate
- sa nu se faca apel la prea multe elemente ce trebuie cunoscute in prealabil de cititor
- sa nu se faca reveniri la chestiuni prezentate deja prin reluari si nici trimiteri prea dese.
Lucrarea se elaboreaza capitol cu capitol, in secventa aratata in ncuprins daca este realizata de un singur autor care are o imagine clara despre ceea ce are de facut. In cele mai multe cazuri se va face un graf de precedente al capitolelor si elaborarea se va face dupa acel graf. In acest fel se obtine un management eficient al intregii lucrari, fara a fi nevoie:
- sa se mute parti din unele capitole in altele
- sa se procedeze la restructurari frecvente a capitolelor sau chiar a intregului cuprins
- sa se tot faca completari in subcapitole pentru a ajusta continutul in vederea includerii unor notiuni CSS vitale aplicatiilor.
Daca autorul, inainte de a elabora cartea a lucrat aplicatii web de diferite niveluri de complexitate, are texte sursa de calitate si de mare diversitate care acopera majoritatea resurselor CSS, va proceda la sistematizarea acestora in ideea de a le folosi pentru exemplificari. Experienta proprie ii va dicta ordinea in care resursele CSS trebuie prezentate ca sa nu fie pusa la incercare rabdarea cititorului care doreste sa dezvolte rapid propriile aplicatii web folosind resurse CSS. In momentul cand a incheiat ultima lectura a cratii si s-a asigurat ca:
- a prezentat toate elementele necesare unei bune insusiri a resurselor CSS
- nu exista omisiuni
- toate referirile sunt corecte si complete
- sunt rezolvate toate problemele gramaticale si de ortografiere
- site-ul sau CD-ul cu programe este complet,
lucrareaq este data editorului si se urmaresc pasii necesari publicarii unei lucrari de succes.
In cazul in care se doreste realizarea unei lucrari de catre un colectiv, coordonatorul colectivului trebuie sa aiba un rol important de el depinzand;
- structurarea colectivului
- prezentarea obiectivelor
- definirea elementelor utilizate de ceilalti coautori
- impartirea sarcinilor
- asigurarea omogenitatii
- gestionarea redundantei
- calitatea textelor sursa
- lucru folosind sabloanele
- respectarea termenelor
- efortul sau de a aduce intreaga carte la nivelul de calitate dorit de el.
Orice alta abordare conducde fie la esuarea proiectului, fie la obtinerea in final a unor capitole foarte diferite ce afecteaza grav calitatea cartii, lucru nedorit de nimeni.
Originalitatea unei carti presupune:
- un titlu original
- o structura originala
- exemplificari originale
- propagarea experientei proprii
- detalierea riscurilor deduse din experienta acumulata
- includerea unor elemente noi de stil de programare folosind CSS
- consideratii proprii privind bibliotecile de sabloane CSS.
Ideea cartilor care se fac din carti, trebuie eliminata. cartile se citesc, se refera, dar cea mai importanta parte a cartii ce se scrie reprezinta reflectare a experientei practice acumulate, o dezvoltare folosind aceasta experienta si programele proprii incat durata necesara cititorului ca el insusi sa scrie aplicatii web fezabile sa fie cat mai mica.
Chiar daca un programator care dezvolta aplicatii web nu are initial ideea de a scrie o carte, in cazul in care:
- lucreaza ingrijit
- gestioneaza corect versiunile aplicatiilor fara a le sterge pe cele precedente
- autodocumenteaza textele
- face insemnari
- elaboreaza documentatia de mentenanta
- deseneaza diagrame
- construieste tabele cu testarile
- face masuratori privind duratele necedare screirii
- da nume programelor
- are un stil de programare consecvent utilizat,
reuseste sa adune suficiente materiale pentru a crea baza elementelor practice care vor fi incluse intr-o carte, ramanandu-i numai sa extraga ceea ce are nevoie si sa ordoneze acele lucruri in raport cu capitolele pe care le vede ale unei carti pentru a-si da seama unde trebuie sa-si concentreze in viitor atentia spre a scrie noi aplicatii web ca sa acopere toate capitolele.