Documente Academic
Documente Profesional
Documente Cultură
com
TSM
T O D A Y
S O F T WA R E
MAG A Z I NE
Limbajul Hack
TYPO3 Neos
Informaie structurat - aplicare Agile
Poveti de succes la finalul
How to Web MVP Academy
Standardele deschise
o miz pentru Romnia
6
Standardele deschise
o miz pentru Romnia
Daniel Homorodean
10
Poveti de succes la finalul How
to Web MVP Academy
Irina Scarlat
12
Noi modele de educaie pentru pasionaii de tehnologie:
bootcamp-ul Simplon
Roxana Rugin
15
SEETEST 2014
Irina Scarlat
16
Aplicaie IT n SAP prezentat la
IT Conference on SAP
technologies 2014- Cluj
Horea Raiu
18
Informaie structurat aplicare Agile
Bogdan Murean
21
ntreinerea la zi a sistemelor
Linux (II)
Sorin Pnca
26
S vorbim
despre Swift
Valentin Filip
28
Limbajul
Hack
Radu Murzea
30
Clean Code Naming
Radu Vunvulea
32
TYPO3 Neos Schimbnd ecosistemul sistemelor de
administrare a coninutului
Tomi Militaru
34
Provocri n promovarea intern
Monica Soare
36
Cadrul
analizei
de business (I)
Ioana Armean
38
Securizarea Codului
Opensource (III)
Raghudeep Kannavara
41
BBST -Un curs practic despre
Testare Software
Alexandru Rotaru i Ru Cindrea
44
Folosirea serviciilor de tip cloud
nu e lipsit de riscuri juridice
Claudia Jelea
editorial
Ovidiu Man
ovidiu.matan@todaysoftmag.com
Editor-in-chief
Today Software Magazine
ansarea acestui numr este o ocazie de a anuna realizarea unei competiii pentru
startup-uri n cadrul IT Days, 25-26 noiembrie 2014. Aceasta va consta ntr-o
serie de pitch-uri a startup-urilor, a cror durat de prezentare trebuie s se ncadreze n limitele a dou minute. Cei interesai sunt rugai s trimit o scurt descriere
i un link la site/produs la adresa startups@itdays.ro. Alturi de proiectele de cercetare,
pitch-urile startup-urilor s-au bucurat de un real succes n prima ediie a IT Days iar n
acest an vom avea un juriu i chiar un premiu pentru ctigtor.
Evenimentul de lansare a numrului 26 este realizat cu sprijinul Primriei ClujNapoca care ne-a pus la dispoziie cldirea renovat a vechiului Casino din Cluj-Napoca.
Acesta este un spaiu inedit, aproape de public, despre care am descoperit c se poate
nchiria gratuit de ctre cei interesai pentru activiti culturale.
Ediia din aceast lun se deschide cu un articol dedicat importanei standardelor deschise pentru Romnia. Rezultatul implementrii acestei strategii ar fi utilizarea
gratuit a documentelor publice i crearea unor baze de cooperare ntre diferite instituii
care s faciliteze valorificarea acestor documente. Continum cu o trecere n revist a
startup-urilor care au terminat programul de accelerare How To Web MVP Academy,
de unde vom reveni n numerele urmtoare cu mai multe detalii. Educaia n IT a fost de
altfel ntotdeauna un subiect de interes pentru c avem att de mult nevoie de specialiti.
Simplon este un program intensiv, gratuit ce se adreseaz celor ce vor s nvee s programeze, s creeze un site i poate chiar s i lanseze propriul startup. Toate aceste teme sunt
abordate n articole pe care le putei gsi n prima parte a acestui numr.
n ceea ce privete articolele tehnice, acest numr ofer partea a doua a articolului
ntreinerea la zi a sistemelor Linux, dup care urmeaz un prim articol general despre
noul limbaj de programare introdus de ctre Apple, Swift. O prezentare a limbajului definit
de Facebook, Hack, se numr de asemenea printre subiectele abordate. Importana
conveniilor n ceea ce privete numele folosite n codul nostru este demonstrat n Clean
Code - Naming . Un alt articol este dedicat Typo3: TYPO3 Neos - Schimbnd ecosistemul
sistemelor de administrare a coninutului. ncheiem seria articolelor tehnice cu un articol
despre alternativa la certificarea ISTQB din sfera testrii i anume: BBST -Un curs practic
despre Testare Software.
Din aria de management, HR i cerine menionm Informaie structurat - aplicare
Agile, un articol ce prezint avantajele certificrii PMP i modul n care se pot folosi
aceste informaii i procese ntr-un mediu pur Agile. O provocare destul de des ntlnit
n marile companii este promovarea unei persoane interne pe o poziie de management fa de angajarea uneia noi. De asemenea, un alt articol care completeaz aceast
problematic a promovrii este cel cu titlul Provocri n promovarea intern. ncheiem
aceast inventariere a articolelor cu Cadrul analizei de business, care propune o schem
a foarte util a acestui proces.
V dorim o lectur plcut !!!
Ovidiu Man
Lista autorilor
Roxana Rugin
roxana.rugina@gmail.com
CEO & co-founder
@ Simplon Romania
Daniel Homorodean
daniel.homorodean@clujit.ro
Membru n Consiliul Director
@ Cluj IT Cluster
Radu Vunvulea
Monica Soare
Manager
@ Artwin
Bogdan Murean
Sorin Pnca
Director of Engineering
@ 3Pillar Global
Ru Cindrea
Alexandru Rotaru
Managing Partner
@ Altom Consulting
Managing Partner
@ Altom Consulting
Tomi Militaru
Valentin Filip
Valentin.Filip@tss-yonder.com
Claudia Jelea
Ioana Armean
Radu.Vunvulea@iquestgroup.com
monica.soare@artwinconsulting.ro
bogdan.muresan@3pillarglobal.com
sorin.panca@yardi.com
ru.cindrea@altom.ro
alex.rotaru@altom.ro
tmilitaru@arxia.com
claudia.jelea@jlaw.ro
Avocat & Consilier in domeniul marcilor
@ Jlaw
ioanaa@imprezzio.com
Business Analyst
@ Imprezzio Global
Raghudeep Kannavara
Irina Scarlat
PR Manager
@ How to Web & TechHub Bucharest
Horea Raiu
Radu Murzea
PHP Developer
@ Pentalog
raghudeep.kannavara@intel.com
horea.ratiu@msg-systems.com
irina.scarlat@howtoweb.co
rmurzea@pentalog.fr
analiz
cum cteva sptmni, n 22 iulie, guvernul britanic a luat o decizie pe care muli au catalogat-o drept istoric: standardul ODF
( Open Document Format) a devenit obligatoriu pentru partajarea sau colaborarea pe documente guvernamentale. ODF va
fi standardul pentru schimbul de documente de tip text sau spreadsheet ntre departamentele instituiilor publice britanice,
dar i cu cetenii i furnizorii, elibernd astfel toi juctorii de nevoia de a cumpra i folosi software proprietar pentru a accesa documente. De acum, orice software cumprat de instituiile guvernamentale britanice trebuie s fie compatibil cu ODF.
Pentru UK acesta este doar un pas integrat1 n efortul susinut
n ultimii ani de a ajunge s aib un guvern mai deschis, mai
transparent, care s asigure accesul facil al cetenilor la serviciile
publice i la informaia de interes public. n acest efort susinut se
nscrie promovarea datelor deschise i a standardelor deschise2,
politicile britanice n acest sens fiind bine structurate i transparente, nc din 2010. Documentul manifest Open Standards
Principles3 ncepe cu o declaraie clar: IT-ul guvernamental
trebuie s fie deschis - deschis ctre oamenii i organizaiile care
folosesc serviciile noastre i deschis spre orice furnizor, indiferent
de mrimea sa. Toate instituiile guvernamentale trebuie s adere
la aceste principii.
Vom vedea n continuare ce sunt standardele i formatele
deschise, de ce sunt ele importante i cum putem beneficia de pe
urma lor.
Young spirit
Mature organization
A shared vision
Join our journey!
www.fortech.ro
lucru va fi necesar, tocmai pentru c nu exist o definiie universal general acceptat i nu ne putem atepta ca n viitorul
apropiat s existe, datorit intereselor economice ale diverilor
juctori din pia.
i totui, dincolo de politici, ne ntrebm cum ne afecteaz
sau cum ne ajut Standardele Deschise ? Ele sunt deja peste tot n
viaa noastr, n multe domenii. GSM-ul ne uureaz comunicarea
telefonic, TCP i IP ne permit s accesm informaia prin internet, SMTP s schimbm mesaje, PCI i USB ne las s conectm
echipamentele. Din pleiada de standarde deschise cu care interacionm n diverse feluri i care ne fac, sau ne pot face viaa mai
uoar, formatele deschise sunt un subset important.
analiz
Standardele deschise o miz pentru Romnia
standardelor deschise, avnd un defazaj chiar i fa de propriul
standard OOXML. Compatibilizarea ntrziat cu ODF 1.2 a fost
anunat cu tam-tam n 2012, ns n mod real ea nu este asigurat
nici acum. Este puin probabil ca acest lucru s se datoreze incompetenei tehnicienilor Microsoft, ci mai degrab unei politici
asumate strategic, de a descuraja folosirea formatelor ODF n
MS Office. Frustrarea celui care deschide n Word un fiier ODT
complex creat n Open Office constituie un argument bun pentru
Microsoft de a discredita folosirea pe scara larg a suitelor office
gratuite.
n ce privete argumentele tehnice, ele se refer la mai multe
aspecte, dintre care:
conform specificaiei standardelor, ODF poate reprezenta
complet documentele OOXML, pe cnd reciproca nu este
valabil.
implementarea standardului OOXML n MS Office nu este
complet.
implementarea n MS Office include elemente proprietare,
non-standard.
Argumentele legate de controlul standardului sunt i ele
importante:
organizaiile OASIS ( pentru ODF) i Ecma ( pentru
OOXML) au politici diferite fa de membri. n Ecma nu poi
fi membru ca individ, iar publicul nu are acces la comunicarea
intern ( mailing lists, agendele i minutele ntlnirilor) dreptul
de a extinde standardul OOXML nu este acoperit de licen,
permind Microsoft s acioneze legal mpotriva celui care
extinde sau deriv standardul. Acest lucru prezint risc pentru
dezvoltatorii de aplicaii complexe pentru procesarea coninutului documentar, n cazul n care definesc, de exemplu, tag-uri
noi.
Viitorul acestei dispute se anun interesant. n mod sigur
Microsoft poate s rezolve toate problemele aduse ca argumente
mpotriva OOXML, dac dorete acest lucru. Pn atunci, precedentul britanic l face i mai vulnerabil.
daniel.homorodean@clujit.ro
Membru n Consiliul Director
@ Cluj IT Cluster
eveniment
ucureti, 23 iulie 2014 How to Web MVP Academy, programul de pre-accelerare adresat startup-urilor din Europa Central
i de Est, s-a ncheiat mari, 22 iulie, cu Demo Day. n cadrul evenimentului, echipele finaliste au prezentat n faa audienei
rezultatele a dou luni de munc intens, workshop-uri i sesiuni de mentorat, i au demarat discuii pentru a obine o investiie
sau pentru a fi admise ntr-un program de accelerare european.
Prima ediie How to Web MVP
Academy a avut loc n perioada 2 iunie 22
iulie la TechHub Bucharest i a adus mpreun 14 startup-uri cu potenial din regiune.
Dezvoltat n parteneriat cu Microsoft,
Romtelecom i Cosmote cu sprijinul
Bitdefender, Raiffeisen Bank, Hub:raum i
TechHub Bucharest, programul a susinut
echipele finaliste n eforturile lor de dezvoltare i le-a nvat cum s construiasc
produse de succes la scar global.
10
despre cum s dezvolte un startup de succes la scar global, cum s fac networking
cu clienii i partenerii de afaceri sau cum
s i spun povestea i s i prezinte produsul n faa potenialilor investitori. Mai
mult, startup-urile finaliste au acumulat
noiuni eseniale de business legate de
product management, indicatorii pe care
trebuie s i urmreasc, metodologiile
agile, dezvoltarea echipei i a comunitii,
SEO, sau aspectele legale pe care trebuie s
le ia n considerare.
n plus, cele 14 echipe
finaliste au beneficiat de
sesiuni de mentorat 1 la
1 cu peste 40 de experi
i profesioniti care le-au
oferit feedback i recomandri din propriile
experiene. Printre mentorii primei ediii a How
to Web MVP Academy
se numr Ivan Brezak
Brkan (Editor i Fondator
Netokracija), Alex Negrea (Fondator
DocTrackr), Florin Talpe (Fondator i
CEO Bitdefender), Olaf Lausen (Chief of
Staff & Business Development Director
Romtelecom and Cosmote Romania), Zoli
Herczeg (Business Evangelist Microsoft
Romnia), Drago Ilinca (Co-Fondator i
VP Marketing UberVU), Gabriel Coarn
(Arhitect Evernote Clearly), Bobby Voicu
i Cristi Badea (Co-Fondatori Mavenhut)
sau Luka Sucic (Business Development
Manager & Evangelist Hub:raum).
Astfel de colaborri sunt eseniale pentru Romtelecom i COSMOTE Romnia i
le considerm parteneriate mutual benefice care susin eforturile noastre continue
de a ncuraja antreprenorii s ne devin
parteneri pentru a ctiga mpreun. Din
acest motiv consider c programul How to
Web MVP Academy are toate ansele s
devin un model de bune practici deoarece
faciliteaz accesul la cunotine de calitate
internet
11. Qalendra platform de cltorii care permite persoanelor dornice de
aventur s descopere noi oportuniti i
s i realizeze propriul calendar
12. StudyMentors platform
online care pune n legtur tinerii care
i doresc s aplice la studii n strintate
cu studenii i absolvenii universitilor
europene
13. Wallet Buzz aplicaie care
conecteaz retailerii cu utilizatorii de
telefoane inteligente i le transmite acestora din urm reclame i coninut n
funcie de locaie
Demo Day s-a ncheiat cu un cocktail
n cadrul cruia echipele finaliste au avut
ocazia s fac networking i s continue
discuiile cu persoanele din audien interesate n mod direct de produsele pe care
le dezvolt. n plus, n zilele care urmeaz
acestea vor participa la ntlniri 1 la 1 cu
programele de accelerare i investitorii/
fondurile de investiii interesate s le ofere
finanri i/sau s i susin n continuare n
eforturile lor de scalare.
Suntem mndri de
modul n care au evoluat
echipele How to Web MVP
Academy pe toat durata
programului. Au fost 2
luni intense n care au
nvat cum s creeze produse i s dezvolte afaceri
sustenabile i au cunoscut
oameni care i vor ajuta
s mearg la urmtorul
nivel. Am adaptat n permanen activitile din
program pentru a rspunde nevoilor specifice ale fiecrei echipe, iar rezultatele au fost
pe msura ateptrilor. Startup-urile finaliste au nregistrat progrese semnificative, iar
astzi tiu care sunt paii pe care trebuie s i
parcurg i au potenialul de a primi investiii ulterioare sau de a fi admise n programe
de accelerare.
Nimic din toate acestea nu ar fi fost
posibil fr implicarea mentorilor locali i
regionali i a partenerilor care au investit
timp i resurse i au mprtit echipelor propriile experiene. Prima ediie How to Web
MVP Academy a fost nu n ultimul rnd o
experien de nvare pentru noi ca echip.
Simim c am nvat lecii valoroase alturi de startup-urile din program i suntem
convini c vom face o treaba i mai bun
la urmtoarele ediii, a declarat Monica
Obogeanu, Program Manager How to Web
MVP Academy.
Mediatizarea How to Web MVP
Academy a fost asigurat de Goal Europe,
Netokracija, IT Dogadjadi, Digjitale,
Entrepreneur.bg, Newtrend.bg, Adevrul
Tech, Forbes Romnia, Wall-Street.ro,
Business Cover, Manager Express, Business
Woman, Market Watch, Ctrl-D, PC World,
Computer World, Gadget Trends, Today
Software Magazine, Agora, Yoda.ro,
Incont.ro, Romnia Liber, Zelist Monitor,
Comunicatedepresa.ro, Thehack.biz,
Games Arena i Times New Roman.
Irina Scarlat
irina.scarlat@howtoweb.co
PR Manager
@ How to Web & TechHub Bucharest
11
business
a bootcamp-ul Simplon s-au nscris deja peste 60 de tineri extrem de motivai i creativi care vor i pot face mai mult dect ceea
ce fac astzi. Cineva care nu a fcut facultate pentru c trebuia s se angajeze c s se poat susine financiar vrea s intre n
bootcamp pentru c-i dorete s devin un Elon Musk al Romniei. O alt candidat a lucrat ca operator baze de date. De cnd
a aflat de Simplon i-a dat demisia i a plecat cu Work & Travel ca s adune bani pentru cele 6 luni n care dorete s-nvee cod ca s-i
dezvolte ideile de aplicaii pe care le are de mult timp.
Imaginai-v ce ar putea face un grup
de oameni cu idei fantastice i cu dorina
de a nva dac s-ar aduna timp de 6 luni
ntr-o tabr de creaie i programare.
Tabra aceasta exist la Cluj i i va deschide porile din toamn la Simplon.
12
aplicasem.
Mi-am dat seama c ceea ce caut nu
este neaprat un job, ci un anumit mediu
de lucru: cu oameni deschii la minte i
cu ambiii mari, creativi, geek, pasionai
de tehnologie, mediul digital i inovaie.
mi aduc aminte c a doua zi dup ce-am
terminat Masterul la Universitatea Paris 8,
mi-am fcut PFA i am pornit la vntoare
de clieni prin spaiile de co-working i fab
lab-urile pariziene. Un freelancer trebuia
s tie s fac de toate: de la marketing,
vnzri pn la project management i
programare. Cunotinele de HTML i CSS
contau printre miile de candidai, a c-am
nceput s iau cursuri de programare pe
Cursera, o platform de e-learning.
ntre timp ideile de aplicaii pe care
doream s le dezvolt umpleau paginile
carneelelor personale cu schie i modele
de business. Dup o iarn lung i plin de
cutri, am vzut un master de Inteligen
Artificial. Cu toate nopile petrecute
Statele Unite i l-a adaptat la piaa european. tim c n Europa, crearea locurilor
de munc este una dintre cele mai mari
probleme actuale. Pe de alt parte n IT
exist o cerere foarte mare de noi talente.
Un training cu profesioniti experimentai
cost ntre 4000 i 15000 de dolari n SUA.
Pentru cei care vin din medii modeste,
ansele de a-i finana trainingul pe cont
propriu ar fi foarte mici. Aici intervine
Simplon. Noi cutm acei parteneri care
vor s susin inovaia, formarea noilor
talente sau care au nevoie resurse umane
bine pregtite, gata s integreze o echip de
dezvoltatori web n 6 luni. Cu ajutorul lor,
oferim un bootcamp gratuit celor care vor
s nvee practic cum se dezvolt aplicaiile
web i proiecte/startup-uri.
nscrierile pentru programul de
training intensiv de 6 luni n domeniul
dezvoltrii web i al antreprenoriatului
social sunt deschise pn pe data de 20
13
startups
14
Roxana Rugin
roxana.rugina@gmail.com
CEO & co-founder
@ Simplon Romania
eveniment
ucureti, 4 august 2014. n 25 i 26 septembrie, Hotel Crowne Plaza gzduiete cea de a treia ediie a conferinei de testare de
software din Europa de Sud-Est (SEETEST 2014), organizat de South East European Testing Board n colaborare cu Asociaia
Patronal a Industriei de Software i Servicii (ANIS) i Quality House. Biletele early bird sunt disponibile pn la data de 31
august i pot fi achiziionate online la http://seetest.org/index.php?page=registration.
SEETEST 2014 este singura conferin
din Europa de Sud-Est despre testarea i
managementul calitii software-ului. n
prima zi a evenimentului, participanii vor
avea ocazia s vad tutoriale susinute de
experi recunoscui din industrie, care vor
aborda subiecte precum principiile testrii
agile, excelena centrelor de testare, abiliti
soft pentru testeri, TMMi, ncrcare & performan sau principiile de baz ale testrii
de aplicaii mobile.
Cea de a doua zi a evenimentului este
dedicat discursurilor susinute de executivi de top din industria internaional de
testare de software. Tot n aceast zi vor
avea loc prezentri ale lucrrilor membrilor
comunitii inginerilor de calitate.
Pe toat durata conferinei va fi
organizat o expoziie care va oferi companiilor internaionale din domeniul
calitii software-ului ansa de a-i prezenta instrumentele folosite i serviciile
n faa audienei. Mai mult, un examen
ISTQB Certified Tester Foundation va avea
loc n timpul evenimentului i va fi oferit de
Irina Scarlat
irina.scarlat@howtoweb.co
PR Manager
@ How to Web & TechHub Bucharest
15
eveniment
sg systems Romnia a dezvoltat n Cluj-Napoca, un produs IT bazat pe ultimele tehnologii propuse de SAP. Proiectul demarat exclusiv la Cluj, n materie de coordonare tehnic i implementare, a presupus extinderea flexibilitii unor produse deja
existente i apreciate de ctre clienii branei asigurri-reasigurri, din portofoliul msg systems: Munich Re, Viena Insurance
Group, GenRe, AIG, Volkswagen Bank, Achmea, Nationale Niederlande, Samsung Life Insurance.
Aplicaia IT a fost gndit de ctre
architeci cu experien n SAP, n colaborare cu consultani business ai branei
asigurri reasigurri. Dezvoltarea software propriu-zis a fost fcut de ctre o
echip de nou programatori SAP.
Prototipul rezultat a fost foarte apreciat
n cadrul grupului msg trecand cu succes
i primele prezentri live n faa clienilor.
n prezent, se discut cu acetia dezvoltarea
de functionaliti noi specifice cerinelor
lor actuale. Rezultatul final urmeaz a fi
prezentat pentru prima data n Cluj, n
cadrul celei de-a doua ediii a conferinei
IT pe tehnologii SAP din 4 septembrie
2014.
Conferina organizat de msg systems
Romania n Cluj se adreseaz tuturor
programatorilor familiarizai cu aplicaiile
enterprise i n special celor cu nclinaii
spre tehnologiile SAP.
Cuvintele cheie ale conferinei de la
Cluj Napoca sunt business rules, enterprise
user experience, reporting & analytics, iar
pentru cei tehnici: SAP HANA, SAP Fiori,
UI5.
nscrierea la Conferina IT bazat pe
tehnologii SAP ediia 2 este deja deschis. Toi cei care doresc s ia parte la acest
eveniment sunt rugai s trimit un e-mail
cu confirmarea de participare la adresa:
info-events@msg-systems.com.
Mai mult, aplicaia dezvoltat de msg
systems Romnia la Cluj va fi prezentat
c i head-line inovativ n cadrul inscom
2014, conferin cu teme exclusive de asigurri i reasigurri, care se va desfura
n Germania, n prezena CEOs ai celor
mai mari companii din acest domeniu din
ntreaga lume.
16
Horea Raiu
horea.ratiu@msg-systems.com
Director Departament SAP
@ .msg systems Romania
comuniti
Comuniti IT
u toate c mult lume este n concediu, v invitm s participai la evenimentele care vor avea loc n lunile august si septembrie.
Today Software Magazine v propune Lansarea numrului 26 / august a revistei TSM, IT Conference on SAP i Design
Patterns Class. Toate acestea sunt gratuite, se anun s fie interesante i cu multe lucruri de nvat.
Calendar
August 12 (Cluj)
Lansarea numrului 26 a Today Software Magazine (Cluj)
www.todaysoftmag.ro
August 18-23 (Cluj)
MoodleMoot Romania 2014
it-events.ro/events/moodlemoot-romania-2014-18-23-august-cluj-napoca/
August 21 (Iai)
Mastering Requirements
meetup.com/Tabara-de-Testare-Iasi/events/181662022/
August 21 (Cluj)
#13 PM Meetup - Risk Management
meetup.com/PMI-Romania-Cluj-Nap o ca-Projec tManagement-Meetup-Group /events/194808502
August 27 (Bucureti)
Bucharest FP #3 Haskell Types and QuickCheck
meetup.com/bucharestfp/events/198339372
August 29 (Oradea)
Startup Weekend Oradea
oradea.startupweekend.org
Septembrie 4 (Cluj)
IT Conference on SAP - recomandat de TSM
http://www.msg-systems.ro/agenda_sap.0.html
Septembrie 8 (Cluj)
Design Patterns Master Class - recomandat de TSM
codecamp-cluj-sept2014.eventbrite.com
Septembrie 16-17 (Cluj)
Service Delivery Innovation Summit (London, UK)
serviceinnovationevent.com
Septembrie 24 (Trgu Mure)
Lansarea numrului 27 TSM alturi de Cluj IT Cluster
www.todaysoftmag.ro
17
management
programare
anagementul este ntr-o continu evoluie. Noi framework-uri, noi metodologii sunt inventate, reinventate i adaptate pentru a satisface nevoile unei piee
foarte dinamice. De fiecare dat cnd apare ceva nou, la nceput luptm
mpotriva schimbrii pentru ca mai apoi, dup ce civa temerari demonstreaz valoarea
noului concept suntem gata s-l adoptm drept noua noastr religie. La fel s-a ntmplat
n cazul Waterfall i Scrum i la fel se ntmpl n ultima vreme cu Kanban.
Bogdan Murean
bogdan.muresan@3pillarglobal.com
Director of Engineering
@ 3Pillar Global
18
programare
Certificarea PMI i ofer informaii
structurate ntr-un anumit fel, o mulime
de documentaie, o cale clar despre cum
se gestioneaz un proiect de la nceputuri i
pn la terminarea sa (i nu doar n industria IT). Principiile pe care se bazeaz sunt
prinse ntr-o carte destul de voluminoas
numit PMBok. n acelai timp Agile nu
prea ne oblig la tone de documentaie,
nu are legatur cu o cale i reguli btute n
piatr, dar obiectivul e acelai: terminarea
cu succes a unui proiect. Voi justifica aceast
opinie fcnd o paralel cu Scrum-ul pentru c cea mai mare parte din experiena
mea cu framework-uri Agile merge nspre
Scrum. Scrum-ul definete nite roluri
printre care regsim cel puin unul care
nu are legtur cu teoriile generale de project management i anume rolul de Scrum
Master. Scrum Master-ul este un fel de
super erou care are putere deplin asupra
procesului i care trebuie s rezolve toate
impedimentele astfel nct echipa s-i
poat face treaba. Dac ne lum dup
manual, el deine drepturi depline asupra
procesului dar nu are autoritate asupra
echipei. Unele companii au rezolvat acest
aspect folosind manageri de linie mpreun
cu Scrum Master-ii, alte companii au rezolvat acest aspect combinnd rolul de Scrum
Master cu cel de manager de linie (caz n
care rolul de Scrum Master se identific cu
cel de manager de proiect). Nu exist reeta
ideal, dar important este s se potriveasc
n contextul respectiv. Oricare ar fi contexul i rolurile, persoana care controleaz
procesul trebuie sa tie ce face. La fel i cu
persoana care are responsabilitate asupra
echipei. Pentru aceasta i nu numai, bazele
managementului de proiect sunt foarte
Product
Strategy
Product
Development
Product
Support
www.3pillarglobal.com
19
management
Informaie structurat - aplicare Agile
fiecare iteraie n parte ca o reprezentare n
miniatur a referinei: bine organizat, bine
planificat i bine definit n timp.
O alt arie important din cele 10 este
managementul riscului. n amndou
situaiile este un proces perpetuu. Evalum
riscul dup priceperea noastr i ca s fim
eficieni trebuie s cunoatem cel puin
bazele. Exist cteva tehnici care ne vor
ajuta s identificm riscurile. Trebuie s
tim care riscuri sunt mai importante,
care au impactul mai mare i s definim
care vor avea nevoie de aciuni din partea
noastr. Putem face un plan pentru a
evita anumite riscuri, pentru a transfera
ctre o ter parte anumite riscuri. Ce este
important este s tim opiunile noastre
pentru a deveni mai eficieni. Aceasta nu
depinde de framework-ul cu care lucrm
(Scrum, Kanban). De asemenea, realizm
ca informaia structurat, bazele, esena, nu
sunt deloc departe de lumea Agile.
Ca Scrum Master-i gestionm procesul i vom face tot posibil pentru a
nltura impedimentele din calea echipei.
Cteodat aceste impedimente se refer
la nevoia integrrii cu un serviciu oferit
de altcineva. Cteodat poate fi ceva simplu precum achiziionarea unui set de
controale, cteodat poate fi ceva mai complicat precum integrarea cu un provider
pentru suport on-line pentru produsul
nostru. Ceea ce trebuie s tim n calitate
de Scrum Master-i este cum s facem managementul achiziilor. Trebuie s tim cum
s definim regulile pentru selectarea vendorului i cum s realizm contractul cu
vendorul.
20
programare
cest articol are ca subiect sistemul de stocare care se preteaz cel mai bine ntr-un
centru de calcul. nainte de a prezenta consideraiile privitoare la selecia sistemului de fiiere pentru un centru de calcul, vom realiza o scurt clasificare i istorie a
sistemelor de fiiere.
Sorin Pnca
sorin.panca@yardi.com
Senior Systems Administrator
@ Yardi Romnia
21
programare
ntreinerea la zi a sistemelor Linux Partea a II-a
distan (serverul) prin canalul de comunicaie (reeaua), folosind
un limbaj de comunicare (protocolul) pe care ambele sisteme l
neleg (exemple de protocoale: FTP sau HTTP sau IMAP din
enumerarea de mai sus; P n aceste nume provine de la cuvntul
protocol). O teorie frumoas.
Problemele practice ntmpinate n scenariul de mai sus sunt
urmtoarele (n cazul n care acestora li se gsesc soluii, rezolvarea lor este notat cu R) :
doi clieni vor s actualizeze aceeai resurs deodat (R: sistemele de fiiere de reea implementeaz blocarea resurselor);
prea muli clieni doresc aceeai resurs, epuiznd capacitatea de servire a serverului (R: RAID0, RAID10, SSD, memorie
RAM cu acumulator, sisteme de fiiere de reea de tip b i c);
spaiul de stocare al serverului se epuizeaz (R: sisteme de
stocare de reea de tip c - care sunt extensibile);
serverul devine indisponibil datorit unei pane de curent
(R: UPS);
adaptorul de reea al serverului se defecteaz n timpul unui
transfer sau al mai multor transferuri simultane, avnd ca efect
coruperea datelor transferate sau trunchierea lor (R: mai multe
adaptoare de reea agregate);
sincronizarea ntre mai multe servere trebuie s se fac
instant pentru toat cantitatea de date (R: sisteme de fiiere de
reea de tip b sau c);
fiecare client dorete s caute prin toate datele stocate i
cutarea s se termine n mai puin de o secund (R: Full Text
Search DB);
datele stocate pe server sunt vechi, deoarece serverul face
parte dintr-un lan de servere care trebuie s se sincronizeze, iar
sincronizarea are loc doar la un anumit interval (R: sisteme de
stocare de reea de tipul c);
datele stocate pe server se corup sau se pierd, deoarece se defecteaz mediul local de stocare al serverului (R:
RAID(1,5,6,10), sisteme de stocare de reea de tip b sau c);
serverul devine indisponibil, deoarece se defecteaz o
component important: placa de baz, procesorul, memoria,
sursa de alimentare (R: sisteme de stocare de reea de tip b sau
c);
unele date au nevoie de redundan mai mare dect altele (R:
sisteme de stocare de reea de tipul c);
erori umane (rm -rf /home /var; tii voi la ce (sau cine) m
refer).
Din lista de mai sus se observ c cel mai mic multiplu comun
cnd vine vorba despre rezilien la catastrofe este tipul de stocare pe reea c - cu acest tip de stocare rezolvm cele mai multe
probleme.
n ceea ce privete protecia datelor, companiile care vnd
soluii de stocare s-au axat pe stocarea local i au creat matrici
de discuri (RAID = Redundant Array of Inexpensive Disks) n
diferite formaii:
a. RAID0 - nu ofer protecia datelor, n schimb ofer spaiu
i vitez: fiierele sunt fragmentate n blocuri de date (de cca 4
pn la 64 kO) care sunt mprite relativ egal pe toate mediile
de stocare din matrice, astfel nct att la scriere ct i la citire,
fragmentele de fiier sunt procesate n paralel.
b. RAID1 - ofer protecia datelor prin nscrierea lor pe toate
mediile de stocare componente ale matricii; scrierea dureaz la
fel ca i cnd ar fi pe un singur mediu, n schimb citirea este mai
nceat deoarece se citesc datele de pe toate mediile componente
i sunt comparate pentru a oferi sistemului varianta corect;
22
scrie de la zero un program distribuit gratuit nu se ia uor. Mai ales cnd este vorba
un sistem de fiiere care are ca public int
tocmai organizaiile a cror funcionare se
bazeaz pe acele date, inclusiv organizaia
din care face parte programatorul. Iar
dac un proiect atrage muli contribuitori
i soluia este adoptat n medii de afaceri
i academice n detrimentul altor soluii,
avem dovada c acel sistem nou este superior celui vechi i n timp l va nlocui, acolo
unde este posibil.
Exit mitul, c sistemele vechi sunt
mai stabile i mai de ncredere dect cele
noi. ntr-adevr se poate ntmpla ca sistemele vechi s conin mai puine defecte
(bug-uri), dar e important de luat n considerare faptul c i un sistem vechi care e
nc n dezvoltare continu s acumuleze
defecte. Nu exist o metod de a demonstra matematic c un sistem mai are sau nu
defecte sau c are mai multe sau mai puine
dect un alt sistem de orice vrst. Un
sistem utilizat de organizaii n producie
de mai muli ani (chiar i de un an), poate
fi considerat la fel de stabil i de ncredere
ca i unul vechi. Pe de alt parte, despre un
sistem vechi se tie c are defecte arhitecturale ireparabile care au dus la crearea de
sisteme noi. n concluzie, cel mai nelept
din partea arhitectului de sisteme este s ia
o soluie ct mai nou, marcat ca i stabil
i utilizat n producie de alte organizaii.
Totodat, administratorul de sisteme trebuie s i asume resposabilitatea de a
contribui la proiectele care au produs programele utilizate prin corectarea sau mcar
raportarea erorilor ctre productori.
O alt responsabilitate a administratorului de sisteme este aceea de a proteja
datele organizaiei mpotriva pierderii sau
Objective C
jobs-cluj@yardi.com
Yardi Romania
23
programare
ntreinerea la zi a sistemelor Linux Partea a II-a
deteriorrii. (Nu vom vorbi aici despre
protecia mpotriva furtului, deoarece
subiectul articolului este stocarea datelor,
nu securitatea lor.) Administratorul trebuie
s ateste organizaiei c responsabilitatea
este a lui i nu trebuie externalizat altei
companii. Orice program are defecte, iar
administratorul este cel ce are responsabilitatea pentru aceste defecte.
Lustre este folosit n mediile academice
i de cercetare unde este nevoie s se prelucreze o cantitate imens de date folosind
supercalculatoare. Sistemul este testat i
folosit de supercalculatoarele din top 500
mondial. Administratorii de sisteme de
acolo sunt vrful inteligenei n domeniu,
iar pe deciziile lor se pot baza administratorii din companii private. n momentul
n care am luat decizia de a testa Lustre
(2011) am aflat c nu suport versiuni noi
de nucleu de Linux (avea nevoie de un
nucleu versiunea 2.6.18, modificat) - care
nu era compatibil cu cerinele de drivere
i de performan din compania noastr.
n anul urmtor, Intel a cumprat Lustre
i a promis suport pentru versiunea 3.0
a nucleului, totodat redenumindu-l n
Whamcloud. Promisiunea nu s-a materializat, ns varianta dezvoltat de comunitate
a Lustre a evoluat, iar n acest an clientul se
gsete n nucleul de Linux.
Totui noi aveam nevoie n 2011 de
ceva. Urmtorul pe list, care oferea cele
mai multe faciliti, iar arhitectura era
rezilient la catastrofe a fost MooseFS.
MooseFS are dou probleme:
1. clientul este implementat n afara
nucleului Linux, adic este un program ca
oricare altul de pe sistem, ceea ce indic
o performan sczut; din teste ns a
rezultat o performan satisfctoare i
2. nu oferea redundana nodului master; aceast a 2-a problem putea fi
rezolvat de administratorul sistemului.
Arhitectura MooseFS permite extinderea sistemului de fiiere pe toate serverele
din centrul de calcul. MooseFS creeaz pe
sistemele pe care le folosete o structur de
fiiere numit fiiere de date, ntr-un mod
asemntor cu baza de date Oracle.
n aceste fiiere de date, MooseFS
stocheaz fiierele propriu-zise dup un
algoritm intern: prima dat mparte fiierele
primite de la clieni n buci de mrime
variabil de maxim 64MB (chunks), apoi
distribuie i cloneaz aceste buci pe mai
multe servere (denumite noduri sau chunkservers). Fiecare fiier primit de la clieni
spre a fi stocat, are asociat o int de multiplicare, denumit goal, care reprezint
24
din centrul
de calcul sunt
umplute la
acelai procent
i c oricnd e
nevoie de mai
mult spaiu
se pot aduga
noduri suplimentare, fr
ntreruperi n
f u n c i on are a
sistemelor?
MooseFS mai
ofer dou
faciliti interesante pentru
cei ce ruleaz
maini virtuale aproape
identice: snapshotting i co de gunoi configurabil.
Coul de gunoi terge fiierele care ating
o anumit limit de timp configurabil
de ctre administratorul de sisteme. Deci,
coul de gunoi nu trebuie golit manual i
complet, ci fiecare fiier ce ajunge acolo este
ters automat dup o anumit perioad.
Toate fiierele terse ajung n coul de gunoi
i nu se poate configura s fie terse direct.
Se poate ns configura coul de gunoi
n aa fel nct s tearg fiierele dup 0
secunde, ceea ce are ca efect tergerea
imediat. Snapshotting-ul este o metod
de a stoca bucile identice ale mai multor
fiiere o singur dat. Aceste fiiere indic
spre aceleai date de pe disc, crend iluzia
c sunt stocate de mai multe ori. Aceast
metod mai e cunoscut i ca deduplicare. n momentul n care ntr-unul din
aceste fiiere se produce o modificare
(se modific o poriune de fiier), acea
poriune este stocat separat pentru cele
dou fiiere. Restul poriunilor sunt stocate
doar o singur dat, spaiul efectiv ocupat
de acele dou fiiere fiind egal cu mrimea
prilor comune plus mrimea diferenelor.
Metoda de a stoca doar diferenele se
numete copiere n momentul scrierii (COW - copy on write). Astfel, dac
administratorul are un ablon de main
virtual, el poate crea mai multe fiiere
imagine ale acelei maini virtuale pe care
s le porneasc independent. De exemplu,
pentru a scala un webserver suprancrcat,
se pornesc multe maini virtuale ce folosesc
acelai fiier de disc, iar diferenele apar
cnd fiecare clon i scrie propriile fiiere
de loguri sau alte date pe disc. Comanda
mfsmakesnapshot creeaz aceste tipuri de
fiiere.
25
programare
programare
Valentin Filip
Valentin.Filip@tss-yonder.com
Cluster Manager &
Team Lead on Innovation
@ Yonder
26
programare
JavaScript:
var country = Argentina
var countries = [Argentina, Brasil, Mexic]
Swift:
var country = Argentina
var countries = [Argentina, Brasil, Mexic]
Ghid/Mod de folosire
class Calculator {
let total: Double
let taxPct: Double
let subtotal: Double
init(total:Double, taxPct:Double) {
self.total = total
self.taxPct = taxPct
subtotal = total / (taxPct + 1)
}
func calculate() {
println(10% tip = : \(subtotal * 0.10),
for total = \(total))
}
}
let tipCalc = TipCalculator(total: 10, taxPct: 0.24)
tipCalc.calculate()
Concluzii
27
programare
testare
Limbajul Hack
cest articol e n strns legtur cu cel despre maina virtual HipHop, publicat n numrul 21 al revistei. Atunci cnd Mark
Zuckerberg a scris primele linii de cod ale Facebook-ului, a fost nevoit s aleag limbajul de programare n care s dezvolte
noua reea de socializare. A ales PHP-ul pentru c, dup cum tim cu toii, acesta are un ciclu de dezvoltare foarte rapid: faci
o modificare, salvezi fiierul, apei F5 n browser i vezi modificarea instantaneu. Acest lucru e posibil pentru c nu exist un pas de
compilare pe care programatorul trebuie s-l fac i pentru c PHP-ul e un limbaj dinamic (nu oblig declararea tipurilor variabilelor).
Toate acestea sunt n contrast cu limbajele bazate pe un model
static, cum ar fi Java, C#, C++ etc..n aceste cazuri, compilarea e
un pas obligatoriu i, n cazul proiectelor mari, nu unul care s
dureze puin.
n schimb, modelul static al acestor limbaje ofer nite avantaje foarte mari: bug-urile se pot detecta extrem de repede i
informaiile statice despre tipuri ofer un fel de documentare
automat a codului.
Echipa de ingineri care dezvolt partea front-end a Facebookului a crescut de la 80 de ingineri n 2008 pn la 1000 n 2014.
Iar lipsa scalabilitii unei astfel de echipe, n combinaie cu faptul
c, la Facebook, se introduce cod n producie de dou ori pe zi,
are drept consecin foarte mult cod i foarte mult potenial pentru probleme. Aa c echipa de ingineri de la Facebook a decis s
mprumute o parte din avantajele celeilalte lumi (cea a limbajelor
statice) pentru a reduce o parte din riscurile asociate unei echipe
att de mare de programatori.
Din aceast dorin s-a nscut limbajul Hack, un limbaj hibrid
care face legtura ntre cele dou lumi.
Faciliti
Anotri de tipuri
28
Expresii lambda
Acestea sunt similare cu closure-urile deja existente n PHP,
ns elimin o parte din limitri i ofer o mai mare flexibilitate.
Sintaxa acestora este asemntoare cu cea pe care o putem vedea
n Java 8.
XHP
Aceasta e o extensie opional a Hack-ului care permite folosirea de blocuri XML/HTML ca pe nite elemente standard de
sintax. n acest fel se uureaz foarte mult munca n cadrul codului care conine logic i elemente specifice templating-ului.
Erorile raportate de typechecker sunt doar legate de anotrile
Hack ofer i alte faciliti minore demne de luat n calcul. De de tip. Timpul de rspuns al acestuia este foarte rapid datorit
asemenea, o parte din elementele de sintax ale PHP-ului despre monitorizrii constante a sistemului de fiiere.
care se tie c sunt ineficient sau rar folosite, sunt dezactivate,
Acest typechecker are n schimb o serie de limitri:
cum ar fi de exemplu operatorul @, operaiunea goto, globalele
cazul de utilizare intenionat pentru acesta e un proiect care
(global $x) i multe altele. Prin urmare, acest nou aspect luat n
include un autoloader. Va funciona i fr, ns nu n mod
considerare va fora programatorul s urmeze bune practici de
optim.
programare.
toate numele de clase i de funcii trebuie s fie unice n
Mai jos putei vedea o bucat de cod care exemplific multe din
respectivul proiect pentru a obine rezultate corecte.
facilitile prezentate mai sus. Putei vedea cum sunt specificate
nu suport declararea condiional a funciilor i claselor.
anotarile de tipuri, cum e folosit una din clasele din framework trecerea din cod Hack n cod HTML i napoi nu este
ul coleciilor, un exemplu de tipuri generice i o expresie lambda
suportat avnd n vedere c nu se mai practic o astfel de
simpl:
metodologie i se ncearc descurajarea acesteia.
class MyExampleClass {
public int $number;
public CustomClass $myObject;
private string $name;
private array $stuff;
private MyBag<int> $container;
if ($map->get(A) == $container->getA()) {
//error here because $map is immutable
$map->set(C, $container->getC());
}
Unelte
Concluzie
Radu Murzea
rmurzea@pentalog.fr
PHP Developer
@ Pentalog
29
programare
ac eti un programator cu experien atunci ai auzit de cartea Clean code scris de Robert C.
Martin. n multe companii, aceast carte a devenit parte din biblia dezvoltatorului. Combinat cu
Clean Coder (Programatorul Curat), a spune c aceste dou cri sunt obligatorii pentru toi
dezvoltatorii.
Voi realiza o serie dedicate acestui subiect. Dac deja ai citit
cartea, atunci este o ocazie bun s v o reactualizai. Pentru ceilali, acesta este momentul perfect pentru a descoperi ct de bine
ar trebui s arate codul. Toate ideile principale sunt preluate din
Clean Code (Cod Curat). Putei privi aceast serie de articole
drept un rezumat al crii n sine.
De ce?
Evitai dezinformarea
Denumirea
Acesta este primul subiect pe care l vom dezbate n acest articol. Un nume bun poate nlocui o documentaie de o pagin i
poate ajuta un alt dezvoltator s neleag aplicaia i s gseasc o
problem ntr-o perioad mai scurt de timp. Totul ntr-o aplicaie
are un nume, de la un field (cmp) banal la numele unei metode
sau al unei componente. De aceea este important s dai i s utilizezi denumiri potrivite.
De cte ori v-ai uitat peste un cod scris cu trei luni n urm
i nu v-ai putut aminti ce ai fcut acolo? De aceea, o denumire
bun este de nenlocuit.
Gsirea unui nume bun poate dura ceva timp, dar ne poate
economisi timp mai trziu. Deoarece gsirea unor denumiri bune
este destul de dificil, este destul de uor s recurgi la nume care
sunt deja consacrate. De exemplu, utilizarea numelor ca hp,
cmd sau sco este duntoare. Acestea sunt nume care sunt deja
utilizate drept comenzi de ctre sistemul de operare.
Atunci cnd alegi un nume care este deja utilizat n alt context
ar trebui s ai grij s l utilizezi n acelai context sau cu acelai
sens. Nu utilizai niciodat denumiri consacrate n alte scopuri.
carList
houseList
Dac ne uitm peste aceste definiii ale cmpurilor sau dac le Facei diferene cu neles
vedem undeva n codul nostru, nu am avea nicio idee despre ceea
ntr-o aplicaie, se poate ntmpla s sfreti prin a avea denuce reprezint aceste cmpuri sau de ce au fost ele utilizate (create). miri similare, chiar dac ai ncercat s faci o diferen clar ntre
ele. Din aceast cauz se poate s scriem un cuvnt greit sau s
DateTime creatingDate;
DateTime currentDate;
adugm numere la finalul unei denumiri.
DateTime timeFromLastRun;
n exemplul de mai jos avem o metod care transform un ir
Denumirile de mai sus ne ofer mai multe informaii despre dintr-un format n altul.
cmpurile noastre. Ne este clar care este scopul fiecrui cmp i ce void Convert(string s1, string s2)
fel de informaii ne ofer.
30
management
Numele parametrilor de input (intrare) nu ne ajut s nelegem
logica. nlocuirea lui s1 cu input sau inputInXYZFormat i
s2 cu output sau converted sau outputInABCFormat ne-ar
ajuta mai mult.
Cnd nu avem idei pentru a denumi o clas, putem sfri prin
a avea 3 clase cu urmtoarele nume:
Exist dou reguli simple care ne pot ajuta mult atunci cnd
trebuie
s gsim un nume bun pentru clasa noastr sau pentru
Car
CarData
metode:
CarInfo
Un nume de clas ar trebui s conin un substantiv sau o
Problema cu aceast denumire este c nu exist o diferen
expresie substantival.
clar ntre Data i Info. Cititorul nu va ti ce fel de informaie
Un nume de metod ar trebui s conin un verb sau o
conine fiecare clas.
expresie verbal.
Utilizarea sufixelor sau a prefixelor care reprezint tipul cmpului nu ne ajut s facem un cod mai lizibil. Care este diferena
ncercai s evitai denumirea claselor cu prefixe sau sufixe
dintre Name i StringName sau NameString? Nu este nicio precum Service, Factory, Processor, Data, Info. Aceste
diferen n final. Un nume precum CarName ar fi mai util. denumiri de clase sunt ntrebuinate prea mult (mai ales cnd nu
Acelai lucru este valabil i pentru denumirea metodei, a propri- gsim denumiri mai bune).
etilor sau a clasei.
carN4RegS1 carNumberForRegistrationSection1
dtoCRcrd100 car
31
programare
ajoritatea sistemelor de administrare a coninutului deconecteaz editorul unei pagini web de designul / layout-ul paginii
web. Editorii adaug, editeaz sau terg coninut orbete sau trebuie frecvent s schimbe ntre panoul de administrare a
paginii web i pagina web n sine, ntregul proces devenind o comparaie constant ntre date de intrare i date de ieire.
Pasrea Phoenix
32
arhitectur
FlowQuery, trebuie s existe un pachet instalat care implemen- TYPO3 Neos Panou de admistrare
teaz acea operaie. Oricare pachet poate s adauge propriile
Asigur o editare simpl a coninului, on the fly:
operaii FlowQuery. Un set de baz de operaii este disponbil tot
Operaii simple (eg. Aloha editor),
timpul fiind parte din pachetul TYPO3.Eel.
Perioad scurt de nvare,
Nu e necesar o sesiune de training pentru editorii noi,
Componente frontend din panoul de adminstrare
Folosire intuitiv.
Editorii nu trebuie s treac prin sesiuni lungi de training pentru a edita coninutul n TYPO3 Neos. Trebuie doar s dea click
pe obiectele pe care doresc s le editeze. Iar aceasta nu e singura
modalitate de editare a coninului.
EmberJS - JavaScript Web Application Framework
Se poate opta ntre folosirea In-Place editing, dup cum i
Create.js - Web Editing Interface
spune i numele, editare direct n design sau Raw content editing
Aloha / Hallo - HTML5 WYSIWYG Editor
care nltur toate elementele de design i permite editorului s se
VIE = viejs.org - Semantic Interaction Framework
axeze exclusiv pe coninut.
RequireJS - JavaScript file and module loader
Modulul Raw Content permite de asemenea refolosirea
coninutului n mai multe canale de distribuie a coninutului fr
Instalare
a ine cont de template-ul folosit. n schimb, editorii se pot concentra astfel pe cuvintele folosite i ce formate media vor fi folosite.
Cerine sistem
Modulul Preview Central este locul unde se poate simula
server web (Apache sau nginx, IIS i altele, ns netestate pagina web n timp real cu coninut proaspt adugat nainte ca
nc)
acesta s fie disponibil pentru publicul larg. Aici editorii pot con minim PHP 5.3.2
sulta, spre exemplu, trei formate diferite de prezentare a paginii
modulele PHP mbstring, tokenizer i pdo_mysql activate, web - desktop, mobile, tablet, etc. sau simulri personalizate, de
magic_quotes_gpc = off
exemplu cum ar arat o pagin indexat n Google Index.
funciile PHP system(), shell_exec(), escapeshellcmd() i
escapeshellarg() s fie active
Concluzie
o baz de date care suport Doctrine DBAL
TYPO3 Neos este deocamdat un produs tnr i nou pe piaa
virtual hosts pentru dezvoltarea local:
sistemelor de administrare de coninut. Chiar dac constatm c
i lipsesc cteva caracteristice importante precum traducerea de
NameVirtualHost *:80
<VirtualHost *:80>
coninut, suport pentru mai multe domenii web sau o documentaDocumentRoot /your/htdocs/TYPO3-Neos-1.1/Web/
ie complet pentru dezvoltatorii web, acesta are un potenial uria
SetEnv FLOW_CONTEXT Production
ServerName neos.demo
i, mai ales clienii par s fie ndrgostii la prima vedere de el.
</VirtualHost>
ns versiunea 1.2 promite s acopere majoritatea problemelor.
Instalare din arhiv
Introducerea complet a content dimensions va fi face din TYPO3
1. Descarc arhiv via http://neos.typo3.org/download.html
Neos primul sistem de administrare de coninut unic n ceea ce
2. Extrage arhiva n folderului web dorit.
privete administrarea de coninut cu dimensiuni multiple.
3. Continu cu Setup, accesnd www.domain.local/setup
TYPO3 Neos este momentan folosit ntr-o varietate mare de
4. Urmeaz instruciunile.
proiecte datorit timpului mic de acomodare e editorilor i a versatiliti extraordinare arhitecturii care se muleaz pe orice tip de
Instalare cu Composer
proiect, domeniu! Mai multe detalii: http://neos.typo3.org
1. Instalare composer (dac lipsete): curl -s https://getcomposer.
org/installer | php
2. Ruleaz comanda n folderu de instalare: php /path/to/comTomi Militaru
tmilitaru@arxia.com
poser.phar create-project --no-dev typo3/neos-base-distribution
TYPO3-Neos-1.1
Senior Web Developer
@ Arxia
3. Continu cu Setup, accesnd www.domain.local/setup
4. Urmeaz instruciunile.
33
HR
programare
n 2005, gigantul Daimler-Chrysler anuna concedierea CEO-ului Juergen Schrempp, arhitectul fuziunii Daimler-Chrysler, care
a preluat conducerea companiei imediat dup fuziune. Schrempp i-a nceput cariera la Daimler, subsidiar a Mercedes-Benz
n 1967 ca inginer i a avansat pn la poziia de CEO. Dup fuziune, Schrempp care i-a ignorat partenerii Crysler din SUA i
operaiunile lor de marketing, a fost martorul declinului noii afaceri. n primul an, afacerea a pierdut peste 50% din valoarea capitalului.
Datorit acestei colaborri defectuoase, board-ul a hotrt concedierea lui Juergen Schrempp dup o carier de 38 de ani n aceeai
companie.
Acest exemplu indic prezena unor erori n promovarea
intern care puteau fi evitate, dac nainte de promovare se luau
n considerare toate aspectele critice ale unei promovri interne.
La prima vedere am spune c nu se poate compara o promovare clasic cu una pentru poziiile de CEO, dar pentru orice nivel,
nainte de a lua o decizie care implic soarta unei echipe sau a
unei ntregi companii, trebuie s verificm n detaliu potrivirea
persoanei cu noua poziie.
n funcie de etapa de dezvoltare n care se afl sau nevoia de
talente pe care o au, companiile mari, aflate la maturitate, favorizeaz o dezvoltare a angajailor care n timp s fie capabili s
ocupe poziiile vacante. n cealalt tabr, companiile n cretere
accelerat i inovative tind s se concentreze mai mult pe atragerea
candidailor externi, inclusiv pentru poziiile cu abiliti rare.
Aproape toate companiile recurg n cele din urm la o strategie
mixt, combinnd cele dou surse n funcie de nevoi.
n contextul dificultii reteniei angajailor talentai, atenia
companiilor trebuie s se ndrepte ctre descurajarea acestor
angajai de a prsi compania i dezvoltarea acestora n viitori
lideri. n sine, fiecare companie trebuie s aib o strategie, un plan
de succesiune, s asigure dezvoltare continu, pe scurt s formeze
lideri pregtii s dezvolte compania.
Studiile recente realizate de profesorul Matthew Bidwell,
profesor de management la facultatea Wharton, referitoare la succesiunea pentru poziiile de CEO, au demonstrat c liderii seniori
angajai din exterior cost semnificativ mai mult, acetia fiind
pltii cu mai mult dect un CEO ,,crescut,, n interior. Totodat,
o persoan adus din exterior se adapteaz mai greu poziiei,
demonstrnd eficien mai redus.
De asemenea, un studiu realizat de compania de consultan
n management global, Booz and Co. arat c 35% dintre cei
angajai pe poziiile de CEO atrai din exterior au fost concediai,
n comparaie cu 19% dintre cei dezvoltai intern.
34
programare
4. Candidaii interni ai companiei nu au CV-urile actualizate i
abilitile lor de interviu nu sunt exersate, astfel apare riscul ca
un candidat intern s par mai puin potrivit dect unul extern.
5. Se ntmpl ca cei proaspt promovai s simt nevoia de
a-i elimina concurena pentru a-i solidifica poziia.
6. Pentru companiile cu locaii multiple, costurile de relocare
pot fi foarte costisitoare, de aceea angajarea din surse externe
poate reprezenta o alegere mai bun.
7. Cnd contractele i experiena n arii noi pentru companie sunt cerute, promovarea intern nu este de calitate i nu se
justific.
8. Multe sisteme de promovare intern sunt bazate pe senioritate, care de multe ori nu produce calitate n contextul
schimbrii rapide a oricrei industrii.
9. O promovare intern poate cauza un val al promovrilor,
deoarece n urma unei promovri apare o nou poziie vacant
i astfel, ciclul se perpetueaz la nesfrit. Acest fapt poate destabiliza performana companiei datorit faptului c sunt prea
multe persoane noi care au prea multe de nvat.
10. Sunt situaii n care cei nepromovai l vor sabota pe cel
promovat.
11. Promovrile interne pot ajunge la nivelul de performan
dorit doar atunci cnd exist un program de instruire i dezvoltare foarte bun. Costurile unor astfel de programe interne
de dezvoltare pot fi mai ridicate dect talentele pregtite din
exterior.
12. Companiile mici care cresc rapid nu au suficient personal pentru a promova din interior.
13. Promovarea celui mai experimentat sau cu cele mai
multe abiliti, nu nseamn reuita acestuia. Abilitile necesare unui juctor valoros sunt diferite de cele ale unui bun coach.
Multe companii sunt mai susceptibile n a-i retrograda pe cei
seniori dect s i concedieze.
14. Puine sisteme de succesiune msoar sau evalueaz
exact eficiena i abilitile.
15. Majoritatea evalurilor psihometrice nu sunt adecvate la
mediul de business, astfel devenind complet ineficiente.
Mai devreme sau mai trziu, orice companie va nfrunta provocri n promovarea intern, pentru a crea un sistem sntos care
ne scutete de dificulti, nainte de a promova angajaii, companiile trebuie s i mbunteasc procesul de recrutare i cel de
onboarding.
Dac vorbim de poziii de management i unele companii nc
se bazeaz doar pe interviu i pe referinele aduse de candidai,
sunt expui la o recrutare greit. Liderii seniori dein arta interviurilor memorabile. Acetia au o experiena vast n prezentri,
vnzri i sunt persuasivi.
Reeta pentru evitarea unor astfel de erori sunt centrele de
evaluare i evalurile psihometrice care furnizeaz un contur mai
comprehensiv i un profil al potrivirii candidatului cu un anumit
rol, cultur sau industrie.
Noii angajai care nu se pot ridica ateptrilor reprezint de
multe ori o dificultate pentru unele companii. Asta se datoreaz
faptului c majoritatea nu au trecut printr-un proces sntos de
onboarding.
Promovrile interne sunt de regul rodul unor activiti
bidirecionale. Pe de-o parte, angajatul demonstreaz abilitile i
potenialul potrivit poziiei i pe de alt parte compania dezvolt
potenialul pentru a crea un lider de succes care s fie temelia unei
echipe, a unui departament sau poate chiar a ntregii companii.
Monica Soare
monica.soare@artwinconsulting.ro
Manager
@ Artwin
35
management
programare
maginai-v c suntei un entuziast analist de business alocat pe un proiect nou i nu tii de care capt s apucai. Nu cunoatei
domeniul, nici oamenii din echipa de dezvoltare i nici mcar ateptrile prilor implicate. Fred Brooks scria n cartea sa No
Silver Bullet urmtoarele: ,,Cea mai grea parte n construirea unui sistem este aceea de a decide exact ce vrei s construieti. Nicio
alt parte a lucrrii conceptuale nu este aa de dificil ca i cea a stabilirii de cerine detaliateNicio alt parte nu este mai dificil de
rectificat mai trziu.
Pentru c subiectul m pasioneaz i c am identificat o preocupare pentru acesta i din partea mai multor analiti de business,
intenia este de a dedica mai multe articole acestui subiect. Acest
articol va fi doar o introducere n tem pentru o serie de mai multe
articole.
Definiie: Cadrul analizei de business este o structur real i/
sau conceptual care include folosirea unui ansamblu de cunostine, tehnici practice i concepte demonstrate, cu scopul de a
descoperi rapid, de a analiza critic i de a capta cu precizie cerinele de business.
Un astfel de ansamblu e prezentat n Figura 1:
Experiena recent m-a nvat c odat ce mi-am nsuit anumite metode i metodologii de lucru, nu trebuie s m opresc aici,
ci s continui s mi dezvolt bagajul de cunotine i s identific cu
precizie situaiile n care trebuie aplicate fiecare n parte.
mi dau seama c domeniul analizei de business este foarte
variat, modul de lucru, activitile i ateptrile variind de la o
companie la alta. Prin urmare, odat cu prezentarea cadrului de
analiz de business creat de mine, v invit i pe voi s v gndii
cum ar arta propriu cadru de analiz.
Consider c doar n acest mod, ne vom putea adapta mereu la
schimbrile frecvente care apar.
n cazul meu, schimbarea major a fost trecerea de la un proiect
mic intern cu totul nou, unde am elaborat un document coninnd
cerinele de business (Business Requirements Document), ctre
un proiect foarte mare pentru o corporaie, n care sunt implicai
mai muli stakeholder-i.
Acum tiu c n prim faz, definirea unui cadru poate prea
un pic dificil pentru un analist de business la nceput de drum,
de aceea e necesar o ordonare clar a lucrurilor i o vizualizare a
pailor ce trebuie parcuri, ca i n Figura 2.
36
Activitile de BA
Tehnicile folosite
La nivel general, tehnicile de captare a cerinelor pe care le
folosesc sunt:
Brainstorming,
Interviuri,
Observare ,
Shadowing,
Workshop-uri,
Prototipuri,
Modelare vizual.
Bineneles, sunt mai multe elemente care pot fi folosite n crearea unui cadru de analiz personalizat. Fiecare analist e liber s
decid ce se poate aplica cu succes pe proiectul su.
n ncheiere doresc s evideniez obiectivul principal pe care
toi vrem s l atingem, i anume, faptul c ne dorim cu toii un
client mulumit. Pentru aceasta e necesar folosirea unui cadru
de analiz de business bine definit. Acest lucru va face ca nevoile
i cerinele clientului s poat fi comunicate i nelese n aceeai
msur de toate prile interesate astfel nct, la final, clientul s
fie pe deplin mulumit de soluia livrat.
Dup cum am menionat la nceputul acestui articol, subiectul
este foarte vast i va fi detaliat n urmtoarele ediii ale revistei.
Dac avei idei, propuneri sau deja avei un cadru de analiz
pe care l folosii cu succes putei s mi scriei despre el la adresa
ioanaa@imprezzio.com.
Ioana Armean
ioanaa@imprezzio.com
Business Analyst
@ Imprezzio Global
37
programare
n numerele anterioare 24 i 25, s-au publicat primele dou pri ale acestui articol.
Acest numr prezint ultima parte a acestuia. Dup cum am menionat n prile
anterioare ( vezi Figura 1), codul opensource ncorporat n software-ul comercial nu
este de obicei supus la aceeai analiz static riguroas i revizuire ca i codul patentat
nou dezvoltat.
Raghudeep Kannavara
raghudeep.kannavara@intel.com
Security Researcher, Software
and Services Group
@Intel USA
38
Concluzii
39
programare
Securizarea Codului Opensource (III)
Centrului pentru Software Asigurat (CAS),
care prezint un studiu al instrumentelor
de analiz static pentru C/C++ i Java n
anul 2010 utiliznd teste disponibile drept
Juliet Test Suites (14), constituie un pas n
direcia corect, dar chiar i aa, nu exist
parametri absolui pentru alegerea unui
anumit instrument SCA. Comerciani SCA
concureni tind s gseasc probleme destul de diferite ntr-o baz de cod comun,
iar suprapunerea devine aproape neglijabil
prin includerea n comparaie a numai trei
instrumente diferite. Drept regul, nu toate
problemele identificate prin instrumentele
de analiz static sunt implicit erori (bugs).
Un anumit procent din probleme cel mai
probabil poate fi ignorat n siguran dup
o revizuire adecvat. Totui, din totalitatea
problemelor gsite, o proporie substanial
garanteaz ntr-adevr corectitudinea. Chiar dac se impune o investigare
detaliat suplimentar pentru a stabili
exploatabilitatea acestor defecte n perioada de rulare, de exemplu prin fuzzing (4)
sau prin Testarea Aleatorie Automatizat
Direcionat (DART) (19), analiza noastr
demonstreaz fr nicio ndoial c aplicarea analizei statice pe codul opensource are
avantajul de a descoperi anumite defecte
critice din timp, spre deosebire de a atepta
comunitatea opensource s gseasc i s
raporteze aceste erori, dac i cnd vin n
contact cu aceste probleme. Identificarea
timpurie a acestor erori (bugs) are avantajul de a le corecta mult mai rapid i eficient.
Comercianilor de software care ncorporeaz cod opensource bazat pe GPL n
software-ul lor patentat, li se poate cere s
fac ntregul proiect opensource, inclusiv
codul lor patentat. Aceasta este n contrast cu ncorporarea licenei Apache sau
a codului opensource bazat pe termenii
MPL n software-ul patentat, care nu oblig
comerciantul de software s fac ntregul
40
Mulumiri
testare
testare
alex.rotaru@altom.ro
Managing Partner
@ Altom Consulting
Ru Cindrea
ru.cindrea@altom.ro
Managing Partner
@ Altom Consulting
41
testare
BBST Un curs practic despre Testare Software
investigare i explorare i lucrul sub
condiii de stres sunt extrem de importante,
iar testerii experimentai, care caut s i
mbunteasc abilitile de testare, se simt
demotivai i neapreciai i nu gsesc un
context n care s lucreze la mbuntirea
acestor abiliti.
42
Scurt istoric
De ce BBST?
Vorbind despre cum putem s ne dezvoltm anumite abiliti, Cem Kaner spune:
Cred c cel mai bun mod pentru o
persoan s i dezvolte nite abiliti este
s fac ceva, s primeasc feedback despre
cum s fac acel ceva mai bine, s l fac mai
bine (sau s fac ceva similar), s primeasc
feedback i s continue s fac acelai lucru
pe probleme care devin progresiv mai grele
sau care aplic tehnica ntr-un mod nou.
Procesul descris sun att de firesc
nct pare evident.
Din experiena personal, ntr-un
domeniu complex i n continu dezvoltare
43
legal
loud computing este un concept cool, vehiculat des n domeniul IT i cu o cretere vertiginoas. Potrivit unui raport al IHS
Technology din februarie 2014, se estimeaz c pn n 2017, companiile vor plti 235.1 mld.$ pentru servicii de cloud
adic de trei ori mai mult dect n 2011. Printre giganii care i mpart piaa de cloud se numrAmazon,Google, Microsoft,
Barracuda Networks, Dropbox, etc. fiecare cu specializarea sa de cloud.
n final
Important de reinut
44
Claudia Jelea
claudia.jelea@jlaw.ro
Avocat & Consilier in domeniul marcilor
@ Jlaw
Claudia este specializat pe aspecte juridice
ce implic mediul online, comerul electronic i IT&C, protecia datelor cu caracter
personal i proprietatea intelectual.
sponsori
powered by