-
TSM T O D A YS O F T WA R ENr. 35 Mai 2015 www.todaysoftmag.ro
www.todaysoftmag.com
M AG A Z I N E
Ce nseamn TDD ?
Acceptarea schimbrii. Drumul ctre un bug pe lun
SeedForTech
Startup Weekend Cluj 2015 n retrospectiv
BattleLab Robotica
Totul despre PFA din punct de vedere fiscal n 2015
Loguri i metrici n Java
Introducere n Couchbase - NoSQL Document Database
Transfer de Date prin NFC Portretul unui tester bun
Organizaii bine crescute
Fizbo, Simply rent
Cum surprinde Microsoft viitorul
Download fromWindows StoreDownload fromWindows Store
Keep Calm and Start playing Dart
-
6Seed For Tech
Mircea Vdan
8Startup Weekend Cluj 2015
n retrospectivCristina Juc
10MVP Academy Demo Day
Irina Scarlat
12BattleLab Robotica
Ioana Bucur
13SprintPoint
Horia Mircea Boto
15Cum surprinde
Microsoft viitorul?!Paul Hrimiuc
19Transfer de Date prin NFC
Larisa Hoga
21Keep Calm and
Start playing DartKuki Edina
2
24Introducere n CouchbaseAlexandru Objelean
30Portretul unui tester bunDaniela Crian
32Ce este de fapt TDD?Alexandru Bolboac
34Loguri i metrici n JavaVasile Mihali
37Organizaii bine crescuteCristian Philipp
39Fizbo, Simply rent aplicaie mobil pentru nchirieri
imobiliareLucian Pop
41Totul despre Persoana Fizic Autorizat Ioana Varga i Ioana
Costea
44Acceptarea schimbrii. Drumul ctre un bug pe lunPatks Csaba
-
4 nr. 35/2015 | www.todaysoftmag.ro
La eferverscena de evenimente culturale i educaionale care a
cuprins Clujul n luna mai i-au adus contribuia i evenimentele din
domeniul IT-ului. Unul dintre acestea, Romanian Testing Camp, a
reunit o bun parte a testerilor clujeni ntr-o locaie inedit, patru
sli de cinematograf dintr-un mall local, remarcndu-se mai ales prin
prestigiul invitailor i al abordrilor interesante. Alt eveniment,
IT Camp, ne-a invitat s cltorim n fascinanta lume Microsoft,
meninnd n organizare, desfurare i selecia invitailor aceleai
standarde nalte cu care ne-a obinuit din anii trecui. Pentru
nceputul lunii iunie, recomandarea TSM este Techsylvania, o
conferin dedi-cat antreprenorilor.
Un alt moment pe care l plasez n categoria evenimentele pozitive
ale lunii mai este colaborarea revistei TSM n regim de internship
cu trei studeni. La iniiativa Cluj IT Cluster, am acceptat acum dou
luni s colaborm sub forma unui program de internship pentru
studeni. Studenii cu care colaboreaz TSM, lucreaz la completarea
website-ului revistei precum i la implementarea unor proiecte.
Domeniile lor de specializare sunt informatic, informatic economic,
jurnalism i marketing. Nu insist asupra detaliilor de selecie a
candidailor deoarece avem promisiunea din partea Cluj IT Cluster a
realizrii unui articol destinat acestui subiect. Dar vreau s
subliniez pasiunea i dedicaia studenilor care, chiar dac nu dein
cunotinele unor programatori seniori, cu siguran i depesc pe
majoritatea n ceea ce privete ideile noi, entuziasmul, dorina de a
nva i implicarea n proiecte. Planificarea practicii de var este nc
n desfurare. Dac nu avei studeni n organizaie v sugerez s o facei,
pentru c i vor aduce cu siguran un aport consistent n dezvoltarea
de produse noi sau mbuntirea celor existente.
n acest numr putei gsi articole pe diverse teme de programare
precum: Introducere n Couchbase, Transfer de Date prin NFC i Loguri
i metrici n Java. Testarea este reprezentat de articolul cu titlul:
Portretul unui tester bun. Zona Scrum/Agile, conine titluri ca :
Acceptarea schimbrii. Drumul ctre un bug pe lun i Ce este TDD? V
lsm s descoperii singuri restul articolelor i v dorim o lectur
plcut !
Ovidiu ManFondator al Today Software Magazine
Ovidiu [email protected]
Editor-in-chief Today Software Magazine
editorial
-
5www.todaysoftmag.ro | nr. 35/mai, 2015
Redacia Today Software Magazine
Fondator / Editor in chief: Ovidiu Man
[email protected]
Graphic designer: Dan Hdru [email protected]
Copyright/Corector: Emilia Toma [email protected]
Traductor: Roxana [email protected]
Reviewer: Tavi Bolog [email protected]
Contabil : Delia [email protected]
Tipar realizat de Daisler Print House
Produs de Today Software Solutions SRL
str. Plopilor, nr. 75/77Cluj-Napoca, Cluj,
[email protected]
www.todaysoftmag.rowww.facebook.com/todaysoftmag
twitter.com/todaysoftmag
ISSN 2284 6352
Copyright Today Software Magazine
Reproducerea parial sau total a articolelordin revista Today
Software Magazine
fr acordul redaciei este strict interzis.
www.todaysoftmag.rowww.todaysoftmag.com
Lista autorilor
Alexandru [email protected]
Agile Coach and Trainer, with a focus on technical
practices@Mozaic Works
Ioana Varga [email protected]
Expert contabilManaging Partner @ A&I Consulting
Ioana Costea [email protected]
Expert contabilManaging Partner @ A&I Consulting
Alexandru [email protected]
Senior Developer@ Betfair
Vasile [email protected]
Senior Software Engineer@ Arobs
Cristian [email protected]
Senior Consultant & Managing Director@ Essential Training
and Consulting
Lucian [email protected]
Cofondator@ Fizbo
Patks [email protected]
Agile Software Developer@ Syneto
Daniela [email protected]
Senior Tester @ ISDC Romania
Larisa Hoga [email protected]
Android Developer @ Yardi Romnia
Kuki Edina
Tester Senior Analyst
Ioana [email protected]
Public Relations Responsable @ BattleLab Robotica
Horia Mircea [email protected]
Program coordinator@ SprintPoint
Irina [email protected]
PR Manager @ How to Web & TechHub Bucharest
Paul [email protected]
Business Development Manager@ Accesa
Mircea [email protected]
www.clujstartups.com
-
6 nr. 35/2015 | www.todaysoftmag.ro
startups
Se pot nscrie n program att antre-prenori cu proiecte aflate n
stadiul de idee, ct i cei care au format deja o echip i lucreaz la
produs. Fondatorii/antre-prenorii care intr n parteneriat cu Seed
For Tech pot beneficia de echip pentru dezvoltarea produsului
software, investiie financiar i sprijin n cercetarea de pia i
validarea ideii, consultan n elaborarea strategiei de marketing,
suport logistic i ulterior conexiune cu posibili investitori,
clieni i mentori. Modelul este structurat n trei faze, fiecare faz
adresnd un set de aspecte specifice etapelor din dezvoltarea
startup-ului.
Faza nti: Customer discovery and valida-tion
mpreun cu fondatorii, vom trece printr-o faz de validare a
ideii, cu scopul de a ajunge la problem-solution fit i de a
determina fezabilitatea de business. Vrem s fim ct mai siguri c
produsul software ce va fi construit rezolv o pro-blem/nevoie clar
pentru un segment clar de utilizatori/clieni. Seed For Tech va
ajuta antreprenorii n acest proces i poate
pune resurse financiare (pn n 3000 de euro) pentru cercetarea de
pia i preva-lidare. Aceast faz dureaz dou luni i nu necesit o
implicare full-time pentru antreprenori. n acesta faz nu e nevoie s
se formeze o firm nou i nu se ia nc o decizie de investiie, fiind o
perioad i de cunoatere i de a vedea cum putem lucra mpreun. Dac
toate aceste pregtiri i analize au fost deja fcute, atunci putem
trece direct la faza a doua.
Faza a 2-a: Product development and launch
Aceasta este faza n care se ncepe dezvoltarea produsului. O
echip tehnic (product manager/CTO, UX/UI designer, front-end dev,
back-end dev) este format, iar sub coordonarea antreprenorului i
sub viziunea conturat de acesta, se lucreaz la dezvoltarea
produsului. Dup lansare i campania iniial, se fac alte iteraii de
mbuntire a produsului i promovare, cu scopul de a ajunge la
product-mar-ket fit, faza ce poate dura pn la un an. Antreprenorul
este cel care conduce tot acest proces, cu sprijinul nostru.
Seed For Tech
O nou iniiativ a fost lansat n aceast primvar n Cluj: Seed For
Tech este un fond destinat dezvoltrii de produse tech, incluznd i
investiii de tip seed i sprijin n lansarea pe pia. Fondul i
programul afiliat se adreseaz celor care au expertiz ntr-un domeniu
de activitate, au o idee de startup n acel domeniu i se afl n
cutarea unui partener mpreun cu care s dezvolte produsul i
afacerea.
Mircea [email protected]
www.clujstartups.com
-
7www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
Faza a 3-a: Growth and scaling n aceast faz, ne concentram pe
marketing, vnzri i
promovare, cu mententana i mbuntirea produsului. Scopul este de
a redimensiona afacerea i de a intra n zona de profita-bilitate.
Aceast faz poate dura civa ani, iar Seed For Tech va facilita
conexiuni cu investitori ce pot furniza fonduri de cretere pn la
sute de mii de euro.
Ideea fondului a prins contur n urma interaciunilor cu diveri
poteniali antreprenori. Prea multe idei rmn blocate ntru-un stadiu
iniial de dezvoltare din cauza unui cumul de probleme. Aceste
probleme variaz de la lipsa capitalului iniial, a unui partener
tehnic, expertiz n zona de marketing sau de business i altele.
mpreun cu Fortech, n calitate de investitor, am reuit s propunem o
formul care s soluioneze aceste pro-vocri. Valoarea adugat a
programului deriv att din aportul de resurse i expertiz, precum i
din orientarea acestuia pe ter-men lung.
Prin Seed for Tech ne dorim s contribuim att la dezvolta-rea
culturii antreprenoriale, ct i la dezvoltarea ecosistemului local
de startupuri. n luna mai, am avut discutii avansate cu aproximativ
20 de antreprenori, iar pn la sfritul anului ne propunem s avem
ntre dou i cinci parteneriate i investi-tii de pn la 50 000 de
euro. Suntem deschii la discuii i cu
startupuri ce au deja o echip complet i un produs lansat (sau
aproape de lansare) i au nevoie doar de investiie financiar.
Detalii suplimentare privind Seed For Tech sunt disponibile pe
www.seedfortech.ro sau pot fi solicitate prin e-mail la adresa
[email protected].
Young spiritMature organizationA shared vision
Join our journey!
www.fortech.ro
-
8 nr. 35/2015 | www.todaysoftmag.ro
Dup cteva edine, e-mailuri multe, telefoane i mai multe - s-a
ntmplat. n 24-26 aprilie, la Exclusiv Catering, a avut loc cea de-a
patra ediie Startup Weekend Cluj. Dei a durat doar trei zile, a
fost un proiect foarte intens i cu rezultate mbucurtoare.
Cele trei zile de eveniment au nceput cu prezentrile a doi
speakeri, Philipp Kandal i Salim Virani, dup care gazda noastr,
Adrian Pop, ne-a mprtit un pic din experiena lui privitoare la
astfel de evenimente.
n aceeai sear a avut loc sesiunea de pitching. Au fost
prezentate 30 de idei, dintre care participanii au ales prin vot 12
propuneri care li s-au prut cele mai inte-resante. Ulterior s-au
format echipele n jurul ideilor votate. Btlia suprem s-a dat pe
designeri, care au fost n numr de ase, din totalul de 85 de
participani nscrii n aceast ediie. Seara de vineri a fost un pic
mai destins. Participanii au avut ansa s se cunoasc mai bine ntre
ei, s desco-pere care sunt atuurile fiecruia i care este partea/
domeniul n care i-ar putea aduce contribuia. Fiecare echip a primit
i cte un business canvas care s-i ajute s ntocmeasc un plan pentru
proiect.
Cea mai intens zi a fost smbt. Fiecare echip a avut ocazia s
apeleze la cunotinele mentorilor, care au trecut pe la fiecare
dintre ele pentru a le oferi feedback i a le mprti idei. Duminic
dimineaa majoritatea echipelor aveau deja o propunere clar, iar
unele dintre
ele au avansat pn la etapa de prezentare. Dup masa de prnz
atmosfera a deve-nit din ce n ce mai tensionat, pentru c eram cu
toii pregtii s aflm cine vor fi ctigtorii acestei ediii. V invitm s
aruncai o privire asupra celor 12 idei la care s-a lucrat timp de
54 de ore. Mai jos sunt cele 12 proiecte care au fost prezentate n
faa juriului:
Tutora (locul 3) - Oamenii nva pe oameni. O aplicaie care vrea s
schimbe modul de nvare/predare/oferire a consultaiilor prin
intermediul unei plat-forme on-line.
Travique (locul 1) - O aplicaie care are ca scop prezentarea
evenimentelor i a festivalurilor din Romnia pentru cei din afara
rii.
Clear Future - Au vrut s arate o nou viziune asupra educaiei
superioare, att pentru studeni ct i pentru elevi.
Timber.ro (premiul special) - O platform care faciliteaz
interaciunea dintre contractori i beneficiari. De asemenea, clienii
au ocazia de ntlni profesioniti din diverse domenii precum
construcii, instalaii, etc. . Posibilitatea de a accesa servicii de
calitate prin interme-diul unei platforme on-line care s ajute
Startup Weekend Cluj 2015 n
retrospectiv: 30 de idei i 12 echipe
eveniment
Cristina [email protected]
Organizatoare @ Startup Weekend Cluj
-
9www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINEprogramare
ambele pri s ctige timp i s ajung la persoanele
potrivite.Awesome 1st Date - i dorete s detensioneze atmosfera
primelor ntlniri care pot fi destul de stinghere, prin
intermediul unei aplicaii de coaching.
Mountain Report (premiu special) - O aplicaie care te ajut s-i
programezi excursia la munte n cel mai scurt timp, oferindu-i
informaiile de care ai nevoie, ncepnd cu locurile de unde i-ai
putea cumpra/nchiria echipamentul i pn la condiiile meteo pe care
le-ai putea ntlni pe traseu.
Flowcal - O aplicaie care s-i contorizeze nivelul de
productivitate.
CPoints - O aplicaie care te pune n legtur cu cele mai apropiate
locuri unde ai putea s-i ncarci bateriile, metaforic i la propriu.
Locuri de networking, de co-work, special amenajate cu surse de
ncrcare a dispozitivelor electronice.
TapSit (locul 2) - O aplicaie de mobil care i permite s vezi n
timp real cte mese libere sunt n cafeneaua/restaurantul unde ai
vrea s mergi, i prin intermediul creia poi s-i faci rezervare
simplu i rapid apsnd un singur buton.
SnapIt (premiul special) - Este o camer mic, pe care o poi anexa
ochelarilor, pe oricare dintre laturi, prin intermediul creia poi
captura imagini cu o singur apsare de buton, fr riscul de a pierde
din experiena pe care o trieti.
Foveo - O aplicaie care te ajut s-i atingi obiectivele mult mai
repede. Se bazeaz pe crearea unor echipe care au scopuri comune,
dar i pe obinerea de ncurajri din partea prietenilor, factori de
motivare care s te ajute s obii rezultatele dorite.
City 365 - O metod de-a obine cele mai bune experiene pe care i
le poate oferi oraul, la cele mai bune preuri.
Ctigtorii Startup Weekend Cluj 2015 au avut parte de mai multe
premii techie. Travique, ctigtorii locului I, au primit un MacBook
Air, din partea Telenav, trei luni de spaiu de co-work la Cluj Hub,
o or de mentorat din partea The HYVE i cte un
ncrctor solar pentru fiecare membru al echipei, din partea
Pitech+Plus.
TapSit au ctigat un Apple Watch din partea Telenav, trei luni de
spaiu co-work la Cluj Hub, bilete la Techsylvania, cel mai mare
eveniment de tech din Transilvania i Led Lamps din partea
Pitech+Plus, pentru fiecare membru al echipei.
Ctigtorii locului III au obinut trei luni de spaiu co-work la
Cluj Hub, iar fiecare membru al echipei a ctigat un loc la
Techsylvania i Led Lamps din partea Pitech+Plus.
n acest an, trei echipe au ctigat premii speciale, acestea sunt
Mountain Report - dou bilete la Pioneers Festival - cel mai mare
eveniment din Europa dedicat startup-urilor, o lun de spaiu co-work
gratuit la Cluj Cowork i bilete la Techsylvania; SnapIt - o
invitaie la Seed For Tech Investment Program, din partea Fortech, i
Timber.ro - care au trecut automat n cea de-a doua etap a
programului SprintPoint.
Suntem curioi s aflm n ce mod se vor dezvolta n viitor aceste
proiecte lucrate cu att de mult drag i implicare. Vom urmri evoluia
echipelor i a ideilor ca s v comunicm detalii pe parcurs, pe blogul
Startup Weekend Cluj. Dac avei mai multe curioziti despre proiect
ne putei urmri pe facebook i ne putei scrie pe adresa de e-mail:
[email protected]
Suntem mndri de oamenii pentru care am organizat acest
eveniment, fcndu-ne o deosebit plcere s-i cunoatem pe fiecare n
parte. V salutm, echipa Startup Weekend Cluj 2015: Adela Chende,
Adrian Pica, Anca Suciu, Ctlina Mironescu, Cristina Juc, Cristina
Tare, Fele Eniko, Irina Rotaru, Mdlina Grecu, Mircea Vadan, Philipp
Kandal, Roxana Oroian, Roxana Rugin, Vlad Ciurca.
-
10 nr. 35/mai, 2015 | www.todaysoftmag.ro
Organizat n parteneriat cu Telekom Romania i Bitdefender, cu
sprijinul CyberGhost, Raiffeisen Bank, hub:raum, Microsoft i
SendGrid, a doua ediie a pro-gramului de pre-accelerare MVP Academy
s-a desfurat n perioada 23 martie 14 mai la TechHub Bucharest i a
ajutat startup-urile finaliste s i defineasc mai bine produsele,
pregtindu-le pen-tru urmtoarea etap n dezvoltarea lor:
redimensionarea produsului n funcie de posibilitile oferite
(scalarea), obinerea de investiii i ncheierea de parteneriate.
Fiind un program educaional gratuit, adaptat nevoilor
individuale ale echipelor participante, MVP Academy le-a oferit
startup-urilor acces la resurse educaionale care s corespund
nevoilor proprii de dez-voltare i a facilitat interaciunea direct a
acestora cu mentori cu experien relevant,cu investitori de tip
angel i reprezentani ai fondurilor de investiii early stage i
programelor de accelerare din regiune.
Pe parcursul programului, finalitii au nvat mai multe despre cum
dezvoli un startup de succes, networking, dezvoltarea de produs
& metrici, storytelling & pitch-ing, customer development,
finanare sau aspecte legale participnd la workshop-urile practice
susinute de profesioniti consacrai n domeniu. Printre acetia se
numr Bobby Voicu (Co-Fondator, MavenHut), Paul Renaud (Executive
Coach & autor al A networking book), Bogdan Rpa (ex-Master
Product Owner, Adobe Romania), Alex Barrera (Co-Fondator Tech.eu
& Press42), Salim Virani (Partner, Founder Centric), sau Ana
Maria Andronic (Partner, Biri-Goran).
n plus, startup-urile au beneficiat de sesiuni de mentorat 1 la
1 cu peste 50 de profesioniti i lideri cunoscui
din industrie i au primit feedback i recomandri de la acetia.
Echipele au avut astfel ocazia s i rafineze produsul discutnd cu
reprezentani ai unora dintre cele mai cunoscute programe de
accelerare
la nivel internaional (Techstars London, Startupbootcamp sau
Ignite 100) i cu profesioniti de excepie printre care se numr
Florin Talpe, Fondator & CEO, Bitdefender, Olaf Lausen, Chief
of Staff (of the CEO) and Business Development Director, Telekom
Romania, sau Cristi Badea, Co-Fondator, MavenHut.
La toate acestea se adaug sesiunile de coaching 1 la 1,
discuiile de grup pe diferite teme, organizate la cererea
echip-elor participante i sesiunile de pitching practice n cadrul
crora fondatorii i-au perfecionat pitch-ul lucrnd sub atenta
ndrumare a echipei MVP Academy i a unor profesioniti de excepie
precum Jon Bradford (Managing Director, TechStars London) sau Mike
Butcher (Senior Editor, TechCrunch).
Programul s-a ncheiat vineri, 15 mai,
cu Demo Day, eveniment care a adus mpreun 200 de personaliti de
vaz din ecosistemul tech regional: investitori, programe de
accelerare, antreprenori, jurnalii i profesioniti cu experien.
Dousprezece startup-uri au urcat pe scena Cinematografului
Elvira Popescu pentru a prezenta publicului rezultatele a dou luni
de munc intens, crend astfel ocazia de a demara discuii cu
poteniali investitori i parteneri strategici.
Dup-amiaza a fost deschis de George Di, Program Manager MVP
Academy, i a continuat cu un discurs introductiv susinut de George
Lemnaru, Fondator Green Horse Games, care a mprtit audienei leciile
nvate n timp ce a dezvoltat dou startup-uri care au primit finanri
de la fonduri de venture capital. George a discutat despre miturile
asociate cu a fi antreprenor i a ncheiat spunnd c dac eti
determinat i bine pregtit vei reui, indiferent de ara n care te
afli.
Ulterior, startup-urile au urcat rnd pe rnd pe scen pentru a
prezenta audienei
12 startup-uri cu potenial i-au
prezentat produsele pe scena MVP Academy Demo Day
Bucureti, 19 mai 2015. Cele 12 startup-uri care fac parte din al
doilea lot al programului de preaccelerare MVP Academy au urcat pe
scen vineri, 15 mai, la Demo Day, pentru a prezenta rezultatele a
dou luni de munc intens. Acestea au avut ast-fel ocazia s i expun
pentru prima oar produsele i progresul nregistrat n faa audienei,
dar i s demareze discuii cu poteniali investitori i parteneri
strategici.
startups
-
11www.todaysoftmag.ro | nr. 35/mai, 2015
produsele la care lucreaz i progresul nregistrat n ultimele
saptmni. Echipele care au prezentat n cadrul Demo Day sunt:
1. Accelerole: software de manage-ment pay-as-you-go care ajut
companiile s gestioneze cu uurin profesionitii independeni;
2. Catwalk15: aplicaie mobil care ajut utilizatorii s primeasc
sfaturi vesti-mentare i s se inspire, oriunde i oricnd;
3. Clepsisoft CyberFog: soluie proactiv de securitate care
deviaz atacu-rile cibernetice mpotriva companiei tale;
4. CloudHero: PaaS care automatizeaz procesele de management i
scalare ale unei aplicaii pentru orice tip de public;
5. Conversion Network: software de marketing integrat care
permite marketer-ilor afiliai s i dezvolte i afacerile fr efort, cu
rezultate mai bune;
6. Inner Trends: soluie de web ana-lytics care permite
utilizatorilor s pun ntrebri i s primeasc rspunsuri precise i la
obiect, imediat. Este un limbaj comun pentru date i oamenii de
business;
7. myDog: platform care ajut stpnii de cini s ia legtura unii cu
alii i s le ofere astfel ceilor oportunitatea de a se juca cu ali
cei compatibili;
8. SafeDrive: aplicaie mobil care mbuntete sigurana traf icului
rspltind oferii care nu utilizeaz tele-fonul la volan cu puncte
care pot fi apoi convertite n produse i servicii;
9. Seeds: platform care permite uti-lizatorilor s creeze, s
distribuie i s analizeze chestionare avansate pentru orice
industrie;
10. Swapr: aplicaie mobil care ajut femeile s fac schimb de
haine n funcie de locaie i preferinele vestimentare ale
acestora;
11. SwipeTapSell : aplicaie care mbuntete experiena
cumprtorilor,
ajutnd magazinele online s mreasc rata de conversie de pe
smartphones i tablete;
12. Unloq: software care propune o nou modalitate de
autentificare i autorizare a tranzaciilor care nlocuiete parolele
cu dispozitive, oferind astfel uti-lizatorilor mai mult siguran,
simplu i gratuit.
MVP Academy a fost o investiie de timp excelent care ne-a ajutat
s identificm zonele n care trebuie s ne concentrm pentru
dezvoltarea produsu-lui, dar i s ne perfecionm abilitile de
prezentare pentru a exprima cele mai valo-roase aspecte ale
produsului i startup-ului nostru. Sunt lucruri eseniale din moment
ce te lupi ntotdeauna pentru a ctiga atenia audienei , a declarant
Tudor Cobla, Co-Fondator SafeDrive, startup care a fost recent
medaliat cu aur n cadrul Edison Awards, la categoria Lifestyle
& Social Impact.
La finalul evenimentului, startup-urile au avut ocazia s
interacioneze n mod direct cu persoanele din audien
interesate de produsele la care lucreaz i s demareze astfel
discuii despre poteniale investiii i parteneriate strategice.
Am realizat potenialul uria al startup-urilor finaliste nc din
perioada de selecie, atunci cnd am remarcat echipele puternice din
spatele produselor. n ultimele dou luni, finalitii s-au implicat
fervent pentru a-i crete afacerile i produsele, au lucrat intens i
au sacrificat multe lucruri pentru a livra bine i rapid. Suntem
mndri de fiec-are dintre ei i de evoluia lor i ne bucurm c am reuit
s transformm ceea ce ar fi durat 5-6 luni n mod tradiional n dou
luni intense de progres. Suntem convini c vom vedea rezultate
excelente curnd! , a declarat George Di, Program Manager MVP
Academy.
Irina [email protected]
PR Manager @ How to Web & TechHub Bucharest
-
TODAY SOFTWARE MAGAZINE
12 nr. 35/mai, 2015 | www.todaysoftmag.ro
Competiia a constat n implementarea de roboi sumo autonomi,
capabili s iden-tifice i s elimine de pe suprafaa de joc robotul
advers n competiii de tip 1 la 1.
n cadrul acestei ediii au participat 27 de echipe de studeni de
la universitile cu profil tehnic din Romnia, care au muncit luni n
ir la realizarea robotului. Construirea roboilor reprezint un
proi-ect complex care implic att cunotine de inginerie electric,
mecanic ct i de automatic i calculatoare.
Echipele au fost formate din patru studeni, competiia respectnd
regulile internaionale de sumo robotic n ceea ce privete
dimensiunile suprafeei de joc i regulile de desfurare.
Peste 200 de spectatori de toate vrstele au venit s vad
concursul, susinndu-i favoritul cu pancarte i aplauze
rsuntoare.
Roboii puternici, luptele strnse, mul-tiplele remize au fcut ca
spectacolul s se prelungeasc pn n jurul orei 20.
.I. Dr. Ing. Septimiu Crian, organiza-torul evenimentului a
afirmat n legtur cu acest concurs:
n timpul anului abia atept s se ntmple evenimentul. n ziua
concursului nici nu vreau s-aud de el. i cnd se termin
spun: mai vreau o dat!Pe locul 1 s-a clasat robotul WOLF,
echip care a venit pentru al doilea an consecutiv tocmai de la
Bucureti ca s participe.
Premiul publicului pentru cel mai bun design l-au luat acas cei
de la ROBOTROLL. Cel mai viteaz robot a fost THORQUE, iar premiul
Bosch pentru cel mai inovativ robot a fost ctigawt de NYAN.
Evenimentul BattleLab Robotica 2015 a fost susinut de
compani-ile partenere: Emerson, Yardi, Bosch, Garmin, Telenav, TME
Polonia, Stratec
Biomedical. Sponsorii au fost: MSG, Fortech, Accenture, Wenglor,
Robofun i Frequentis.
Premiile oferite au fost n valoare de peste 7000 lei i au
constat n componente electronice i vouchere cadou.
Ediia de anul urmtor i va deschide porile pentru participani
internaionali i sper s i cimenteze un loc de renume n scena mondial
de lupte ntre roboi.
Facultatea de Inginerie Electric din cadrul Universitii Tehnice
din Cluj-Napoca n colaborare cu organizaia studeneasc BEST
Cluj-Napoca a organizat n data de 9 mai 2015 cea de-a V-a ediie a
competiiei BattleLab Robotica. BattleLab Robotica cea mai mare
competiie de
megasumo robotic din Transilvania
eveniment
Ioana [email protected]
Public Relations Responsable @ BattleLab Robotica
-
13www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
Acest lucru mi-a atras atenia asupra importanei de a nelege
diferena ntre un accelerator i un incubator atunci cnd vrei s intri
ntr-un program de dez-voltare. O diferen este formulat de Paul
Bricault, cofondatorul unui accelerator din Los Angeles, care
constat c acceleratorul ia un capital al ideilor dezvoltate extern,
n schimbul unei investiii i a mentoratului. La finalul celor trei
sau patru luni startup-ul absolv. Incubatorul aduce o echip extern
s lucreze pe ideea unui investitor. Cu ct ideea necesit mai multe
resurse pentru a ajunge la maturitate, cu att capi-talul luat
crete.
Pe scurt, incubatorul dureaz mai mult i preia mai mult capital n
schimbul asistenei, pe cnd programele de acceler-are sunt mai
scurte, mai specializate i cer mai puin capital la final.
De aceea, noi , echipa Star tup Transilvania, am hotrt s
concepem un program de pre-accelerare care va ajuta startup-urile
din zona tech i IT din Cluj-Napoca s i ating potenialul. Acest
program se numete SprintPoint. n timpul celor opt sptmni ale
pro-gramului, echipele vor trece printr-o serie de experiene utile
i interesante, precum consiliere i mentorat de echip, pregtire
pentru livrarea pitch-ului, workshop-uri i networking
profesional.
Programul este creat pentru echipele de profesioniti i
antreprenori care doresc s aib propria afacere i le ofer acestora
ocazia s pun ntrebri i s nvee de la ambasadori i mentori din
domeniul tech.
Pentru a aplica, echipa selecteaz i nscrie ideea pe baza creia
se va crea plus-valoare.Gradul de efort pe care echipa l-a depus n
conceperea produsului sau ser-viciului pe care vor s l livreze i
nivelul de nelegere a pieei pe care vor s o acceseze se va reflecta
n aceast plusvaloare.
Programul se va derula pe perioada verii i participanii vor fi
iniiai n metodologiile prezentate n dou cri foarte importante
pentru orice startup tehnic. Prima este Lean Canvas de Eric Ries
(2011) i cea de-a doua este Disciplined Entprepreneurship: 24 Steps
to a Successful Startup, de Bill Aulet (2013). Mai multe detalii
despre cri vei afla n timpul programului.
Vrem s atragem n program acele startup-uri care au dorina de a
reui. Pentru a fi eligibil(), trebuie s faci parte dintr-o echip
(nu se poate s aplici n mod individual), proiectul vostru trebuie s
fie mai mult dect o simpl idee. Ct despre
tine personal, trebuie s fii capabil() s gndeti deschis, s fii
dedicat() i capabil() s colaborezi, s lucrezi din greu i s nvei de
la alii. Aceste caliti sunt, dup prerea noastr, eseniale pentru a
reui n program.
Pentru a-i susine dezvoltarea, pe parcursul programului
SprintPoint vei participa la traininguri, la sesiuni de coaching i
mentorat. Toate acestea vor avea loc la Cluj HUB, un spaiu modern
de co-working n centrul oraului. Vei avea de asemenea posibilitatea
s socializezi cu mentorii i investitorii din program i s participi
la diferite evenimente tech, precum workshop-urile de folosire a
plat-formei FiWare, Transilvania Demo Days, Techsylvania i altele.
La finalul program-ului toate echipele vor avea ocazia s i susin
pitch-ul ntr-un Demo Day.
Scopul nostru, al Startup Transilvania, este s i artm c nu te
nati antreprenor ci poi s nvei s devii unul.
Fenomenul de acceleratoare de tip seed este n cretere la nivel
mondial, cu un numr tot mai mare de programe active, n special n
SUA dar i n alte pri ale lumii. Seed capital, acceleratoarele care
ajut cu capitalul iniial, precum Y Combinator, au primit mult
atenie din partea comunitii antreprenoriale i caut mereu
startup-uri n faz de lansare. Acest trend a fost observat de L.
Barrehag ntr-un studiu din 2012 despre acceleratoare i trei ani mai
trziu, acceleratoarele de tip seed sunt mai dezvoltate ca
niciodat.
SprintPoint: un program de preaccelerare clujean care
vrea s te ajute s reueti!
www.3pillarglobal.com
3Pillar Global, a product development partner creating software
that accelerates speed to market in a content rich world,
increasingly connected world.
Our core competencies include:
ProductStrategy
ProductDevelopment
ProductSupport
Our oerings are business focused, they drive real, tangible
value.
startups
Horia Mircea [email protected]
Program coordinator@ SprintPoint
-
14 nr. 35/mai, 2015 | www.todaysoftmag.ro
Transylvania Java User GroupComunitate dedicat tehnologiilor
Java.Website: www.transylvania-jug.orgData nfiinrii: 15.05.2008 /
Nr. Membri: 599 / Nr. Evenimente: 47
Comunitatea TSMComunitate construit n jurul revistei Today
Software Magazine.Websites: www.facebook.com/todaysoftmag
www.meetup.com/todaysoftmag www.youtube.com/todaysoftmagData
nfiinrii: 06.02.2012 /Nr. Membri: 2270/Nr. Evenimente: 31
Cluj Business AnalystsComunitate dedicat analizei de
businessWebsite: www.meetup.com/Business-Analysts-ClujData
nfiinrii: 10.07.2013 / Nr. Membri: 91 / Nr. Evenimente: 8
Cluj Mobile DevelopersComunitate dedicat tehnologiilor
mobileWebsite: www.meetup.com/Cluj-Mobile-DevelopersData nfiinrii:
05.08.2011 / Nr. Membri: 264 / Nr. Evenimente: 17
The Cluj Napoca Agile Software Meetup GroupComunitate dedicat
metodelor Agile de dezvoltare software.Website:
www.agileworks.roData nfiinrii: 04.10.2010 / Nr. Membri: 437 / Nr.
Evenimente: 93
Cluj Semantic WEB MeetupComunitate dedicat tehnologiilor
semantice.Website: www.meetup.com/Cluj-Semantic-WEBData nfiinrii:
08.05.2010 / Nr. Membri: 192/ Nr. Evenimente: 29
Romanian Association for Better SoftwareComunitate dedicat
oamenilor cu experien din IT indiferent de tehnologie sau
specializare.Website: www.rabs.roData nfiinrii: 10.02.2011 / Nr.
Membri: 251/ Nr. Evenimente: 14
Tabra de testareComunitate format din testeri i ali profesioniti
din industria IT care, n cadrul unor ntlniri informale lunare,
mprtesc din cunotinele proprii i nva din experienele profesionale
ale celorlali membri.Website: www.tabaradetestare.roData nfiinrii:
15.01.2012/Nr. Membri: 1243/ Nr. Evenimente: 107
Finalul lui mai i nceputul lunii iunie se anun plin de
evenimente n zona IT-ului romnesc. V invitm s participai la I
T.A.K.E 28-29 mai, ce se va desfura n Bucureti. La Cluj, n 2 iunie
are loc o nou ediie a JS Camp, iar n 6-9 iunie are loc
Techsylvania. Ne vedem la evenimente !!!Calendar Mai 27
(Cluj)Lansarea numrului 35 al Today Software Magazine
www.todaysoftmag.ro
Mai 27-28 (Cluj)2 Fast & Curious: Angular JS
Basichttps://www.eventbrite.com/e/2-fast-curious-2x2-angular-js-workshops-tickets-16988047708
Mai 28-29 (Bucureti)I T.A.K.E - recomandat de
TSM2015.itakeunconf.com
Mai 28 (Cluj)OpenStack Kilo Release
Overviewmeetup.com/OpenStack-Cluj/events/221754372/
Iunie 3 (Cluj)Meetup #40 - Enhance your web testing with
Fiddlermeetup.com/Tabara-de-Testare-Cluj/events/221508203/
Iunie 3 (Bucureti)Hands-on Code: Programming by Wishful
Thinkingmeetup.com/The-Bucharest-Agile-Software-Meetup-Group/
events/222502856/
Mai 28 (Bucureti)#2 AngularJS Meetup
http://www.meetup.com/Bucharest-Angular-JS-Meetup/events/221929288/
Iunie 2 (Bucureti)JS Campwww.jscamp.ro
Iunie 3-4 (Cluj)2 Fast & Curious: Angular JS
Advancedhttps://www.eventbrite.com/e/2-fast-curious-2x2-angular-js-workshops-tickets-16988047708
Iunie 6-9 (Cluj)Techsylvania - recomandat TSMwww.itcamp.ro
Comuniti IT
comuniti
-
15www.todaysoftmag.ro | nr. 35/mai, 2015
Discursul de deschidere al lui Satya Nadella, CEO Microsoft, nu
a fost att de proaspt i de vibrant precum m-am ateptat, n comparaie
cu ceea ce am auzit anul trecut la Conferina din DC dedicat
partenerilor. Poate c o cauz a dilurii discursului au fost audiena
cu background-uri diferite i mul-titudinea de subiecte abordate.
Dincolo de reiterarea viziunilor sale Cloud First, Mobile First, cu
care suntem deja familiari, el a sub-liniat rolul n cretere al
profesionitilor IT de a conduce transformarea n organizaii. n acest
context, consider c transformarea pe care MSFT o experimenteaz este
uimi-toare. Chiar oamenii care nu i apreciaz, pot remarca faptul c
numrul de produse i inovaii MSFT este n cretere. E incre-dibil
pentru o organizaie att de mare,
complex i cu tradiie.Mai interesant dect discursul inaugural
a fost discursul lui Gurdeep Singh Pall, care s-a referit la
modalitatea n care Windows 10 i propune s abordeze personal
compu-ting. Cred c Microsoft a fcut o treab foarte bun n zona
aceasta: n loc s se concentreze pe device, ei au pus accent pe
experiena utili-zatorului i au oferit o interfa consistent i
familiar n raport cu toate tipurile de device-uri. innd cont de
afirmaia lui Gurdeep conform creia device-ul nu este mobil,
utilizatorul este, este de ateptat ca acesta s fie capabil s
lucreze oricnd i de oriunde. Dac se adaug i Continuum, care
faciliteaz tranziia utilizatorilor ntre interfaa touch i cea
non-touch i Windows 10 Universal App ca platform de aplicaii pentru
developer-i,
n perioada 4 - 8 mai am participat la Microsoft Ignite, un
eveniment aflat la prima ediie, care a reunit peste 23.000 de
profesioniti n IT i oameni de business. n cadrul eveni-mentului,
Microsoft a prezentat realizrile din ultima perioad precum i
planurile de viitor pentru cea mai mare parte din serviciile i
produsele din portofoliu. Dac te ateptai la anunuri suprinztoare,
atunci te-ai aflat n locul nepotrivit, pentru c nici mcar HoloLens
nu a fost prezentat.
Cum surprinde Microsoft viitorul?!
tendine
Paul [email protected]
Business Development Manager@ Accesa
-
16 nr. 35/mai, 2015 | www.todaysoftmag.ro
atunci rezultatul este ceva greu de depit. n plus, nu ar trebui
s uitm de Cortana, asistentul perso-nal, care va fi omniprezent
chiar i n situaiile n care creezi jocuri sau aplicaii business.
Noul browser, Edge, (anterior numit Spartan) va f i l ivrat
mpreun cu IE11, care, potrivit Microsoft, va beneficia de suport
tot atta timp ct Windows 10. Considerat a fi mai mult o micare de
marketing pentru a se detaa de trecut, Edge ncearc s vin cu noi
funcionaliti care pun accentul pe aciune i interaciune (ex: permite
luarea de notie) i evalueaz ca perimate benchmark-urile legate de
vitez. Informaiile pot fi, de asemenea, parcurse mai uor n browser
cu ajutorul Reading View (chiar i offline). Website-urile care se
bazeaz puternic pe publicitate, vor putea alege dac s includ sau nu
aceast funcionalitate.
Pe lng acestea, cteva subiecte merit prezentate mai n
detaliu:
Noul Digital WorkplaceGeneraia Y intr tot mai mult pe piaa
muncii: industria IT (i
nu numai) trebuie s accepte acest val i s-l valorifice. Generaia
Y sau Millennials acceseaz i folosete diferit informaia, comu-nic i
colaboreaz diferit fa de generaiile anterioare, iar aceast
atitudine se reflect i n mediul de lucru. Liderii care
contientizeaz valorile la care se raporteaz noile generaii tiu c
angajaii motivai, dotai cu instrumentele potrivite pot acce-lera
creterea veniturilor pn la de dou ori i jumtate
(http://www.haygroup.com/en/your-challenges/engaging-your-people).
De aceea, astzi e mai bine s fructifici cunotinele angajailor punnd
accent pe o colaborare interactiv.
Te-ai ntrebat vreodat cum abordeaz Microsoft acest trend?
Rspunsul scurt i confuz este: n moduri infinite.
Microsoft a nceput cu Outlook (1992), SharePoint (2001),
One Note (2003), Live Communications Server (2003) numit Lync
mai trziu i, recent, redenumit Skype for Business, OneDrive (2008),
Skype (achiziionat n 2011), Office 365 (2011), Yammer (achiziionat
n 2012) i Delve (2014). Ultimul pare s se integreze n a patra
generaie de tehnologii, aa cum a identificat Gartner (foto).
Acest aspect creeaz confuzie n contextul n care Microsoft
lanseaz mai multe tool-uri destinate colaborrii, care au
funcionaliti similare sau chiar identice. Prin urmare,
utiliza-torii devin frustrai i cer clarificri. Confuzia nu se
oprete aici; MSFT tocmai a pierdut o alt disput1 cu Sky n Europa,
pe tema nregistrrii mrcii Skype, problem care se poate amplifica n
timp.
Am participat la cteva sesiuni pe subiectul digital workplace,
dar dou dintre ele s-au difereniat: 2toLead2 i Cargill, care a
adoptat Yammer (dei, n prezent, Cargill folosete SharePoint
2007).
n final, constructiv este ca discuia s se distaneze de modelul
tehnolo-gie/tool vs. alt tehnologie/alt tool i s se concentreze pe
identificarea con-textului organizaional, a nivelurilor la care se
comunic (individual, de grup, organizaional) i s se decid cnd i ce
s se foloseasc n funcie de audien i prioritate.
13 scenarii posibile de utilizareDatorit scenariilor din ce n ce
mai
diversificate pentru SharePoint on-pre-mise, ne-am nscris n
programul TAP, fiind nerbdtori s primim versiunea 2016 i s vedem ce
opiuni avem.
Cum arat viitorul? Grupurile care se autoorganizeaz repre-zint
principalul concept promovat de toate aceste tool-uri, pe care le
poi integra cu Delve pentru a agrega coninutul. Cum se
1
http://www.windowscentral.com/eu-court-rules-skypes-name-too-similar-sky-
network-claim-trademark
2
http://www.2tolead.com/whitepaper-when-to-use-what-in-office-365
tendineCum surprinde Microsoft viitorul?!
-
17www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
va ntmpla acest lucru n realitate? Rmne de vzut n urmtorii
ani.
Sfat #1: Dac intenionezi s adopi Yammer la nivel organizaional,
trebuie s tii c adoptarea poate fi accelerat crend un grup al
creatorilor de grupuri (ambasadori/power-
user-i) care s mprteasc bune practici, s ncurajeze folosirea
tool-ului i s administreze comunitatea. De asemenea, un lucru
necesar este implicarea top management-ului n comunicare.
Sfat #2: Eti interesat s ncerci ceva nou pe lng PowerPoint sau
Prezi? Atunci merit s explorezi i s foloseti Sway
(http://www.sway.com).
Sfat #3: Ia n considerare c tool-uri precum Delve pot fi
percepute negativ la nivel intern din cauza temerilor asociate cu
meninerea confidenialitii documentelor, a conversaiilor. Pentru a
preveni escaladarea temerilor, este important o comu-nicare
puternic cu stakeholder-ii.
Enterprise MobilityDac utilizatorii sunt cei mobile i pentru ei
e important s
acceseze informaiile nu numai din birou- i poi imagina un
asistent comercial care lucreaz doar de la birou?!- atunci
mobi-litatea devine o provocare, mai ales la nivelul unei companii
de mari dimensiuni. Abordarea Microsoft pare s se concentreze n mod
particular pe securizarea datelor indiferent de locaie i s menin
datele companiei sigure. Cu Intune este posibil acum gestionarea
unor device-uri diverse. Folosindu-se Windows 10 Universal App
aplicaiile create pot fi instalate pe orice tip device. Aici, ns,
rmne o zon neacoperit deoarece companiile tre-buie s construiasc i
s gestioneze aceeai aplicaie pentru orice s istem de operare mobil.
La acest nivel este punctul n care se remarc ali provider-i precum
Kony3.
Pn la sfritul acestui an, adiional Windows Store, com-paniile
vor putea crea propriul lor Business Store sau Company Portal unde
pot des-crca aplicai i din Public Store pentru utilizare intern
i/sau
3 http://www.kony.com
public i gestiona aplicaiile lor LOB (foto).
IoTMajoritatea oamenilor au auzit deja de IoT sau au
dezvoltat
aplicaii pentru IoT. Pe msur ce devine din ce n ce mai
tangi-
bil i Microsoft avanseaz n aceast direcie. De exemplu, se va
putea rula Windows 10 pe orice device care are putere minim de
computing-Microsoft avnd deja trei versiuni diferite ale
sistemu-lui su de operare-acoperind industry devices, device-uri
mobile i chiar device-uri mai mici care pot s ruleze Windows IoT
gratuit (foto).
Desigur, cu platforma Windows 10 Universal ai API-uri puter-nice
care faciliteaz accesul i integrarea de senzori. Microsoft i
propune s ncurajeze consumul suitei Azure IoT, care nu doar c
pstreaz datele colectate, dar cu ajutorul ei se poate folosi
Machine Learning pentru analitice predictive, se poate gestiona
ntreaga reea de senzori i multe altele.
n timp ce consumatorii sunt interesai, n principal, de
aplicaiile specifice locuinei (automatizare, securitate,
enter-tainment), exist nenumrate oportuniti de business care pot fi
explorate i definite n zona IoT. Dou exemple relevante sunt
Connected Cow
(http://www.ibtimes.co.uk/connected-cattle-how-wearables-cloud-help-farmers-get-their-cows-pregnant-1499220)
de la Fujitsu, monitorizarea comportamentului conductorilor auto
din cadrul companiilor de asigurri.
Desigur, exist probleme legate de standardizare, o zon unde dou
noi organizaii lucreaz la definirea unei cooperri eficiente:
-
TODAY SOFTWARE MAGAZINE
18 nr. 35/mai, 2015 | www.todaysoftmag.ro
AllSeen i AllJoin. Securitatea este o alt provocare legat de
IoT, dar i aceasta este n curs de rezolvare.
#Sfat: Mai multe informaii despre abordarea DIY (Do It
Yourself?) se pot accesa pe www.windowsondevices.com.
Evaluare personal Microsoft Ignite, pe o scar de la 1 la 5, unde
1 este cea mai mic not:
Echipa: 5 (oricnd dispui s ajute); Locaia evenimentului: 4
(lipsa staiilor de tren n apropi-
ere a fcut mai dificil accesul pentru cei cazai ntr-un hotel
care nu era n apropiere);
Disponibilitatea sesiunilor: 4 (multe dintre ele s-au repetat
din cauza spaiului insuficient pentru public);
Calitatea sesiunilor: 4 (m refer la cele business, cteva
introduceri n concepte i-ar fi ajutat pe participani s neleag
mai bine tool-urile, mai ales cele noi); Spaiul expoziional: 3
(nefiind grupai expozanii, a gsi
ceea ce e potrivit pentru tine, ca vizitator, a fost mai
dificil); Meniul: 2 (prea dulce pentru gustul meu i fr prea
mare
diversitate).
tendineCum surprinde Microsoft viitorul?!
-
19www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
Bineneles, mi-am dat seama c aveam i alte idei care mi-ar fi
putut simplifica viaa sau care mi-ar putea face fiecare zi mai
distractiv. De exemplu, mi-ar fi plcut s gsesc o modalitate de a-mi
debloca telefonul fr a-l atinge sau s deschid portiera prin simpla
apropiere de scaunul oferului i multe alte astfel de dorine. i apoi
a aprut NFC, exact ca Mo Crciun, i cteva din aceste dorine chiar
s-au ndeplinit.
Ce este NFC? Near Field Communication (NFC) reprezint un set
de
standarde de comunicare fr fir cu raz scurt, care de obicei
necesit o distan de cel mult 10 cm pentru a realiza o conexiune.
NFC uureaz viaa consumatorilor din lumea ntreag datorit
aplicabilitii sale: simplificarea tranzaciilor i a schimburilor de
coninut digital i conectarea unor device-uri electronice printr-o
simpl atingere. Un alt avantaj este faptul c NFC este compatibil cu
sute de milioane de carduri i cititoare din lumea ntreag.
Tehnologia NFC poate lua multe forme i dimensiuni, dar cele mai
ntlnite sunt Tag-urile NFC (dispozitive pasive) i smartphone-urile
(dispozitive active). Tag-urile variaz ca nivel de complexitate.
Cele simple au memorie puin i un chip radio ataat de o anten,
oferind numai o semantic de tip citit-scris. Uneori, aceste
dispozitive pot fi programate pentru a fi de tip read-only.
Tag-urile mai complexe ofer operaii matematice i au hardware
criptografic pentru a autentifica accesul la un anu-mit sector.
Cele mai sofisticate tag-uri conin sisteme de operare, permind
interaciuni complexe cu codul care opereaz pe tag.
Datele stocate pe tag pot s fie scrise ntr-o multitudine de
formate, dar multe dintre API-uri se bazeaz pe un standard
definit de NFC Forum numit NDEF (NFC Data Exchange Format).
Chiar dac aceast tehnologie este pe pia deja de civa ani, dup
prerea mea ea nc nu este folosit la potenial maxim. Primul telefon
cu sistem de operare Android i suport NFC a fost lansat
n 2010 (Samsung Nexus S), urmat de Windows in 2012 (Nokia Lumia
610) i apoi de Apple n 2014 (iPhone 6, numai pentru Apple Pay).
De ce NFC nu are nc parte de notorietate?Informaiile de mai sus
sunt de ajuns s demonstreze c NFC
se preteaz la o gam vast de utilizri i, prin urmare, ar trebui s
cucereasc un procentaj foarte mare din utilizatori i afaceri. Dar
acest lucru nu se ntmpl. S ncercm s ne dm seama de ce.
Modelele de business timpurii, cum ar fi aplicaiile de
adver-tising i cele industriale nu au avut mare succes, fiind
depite de tehnologii alternative cum ar fi codurile QR, codurile de
bare sau tag-urile UHF, dar avantajul tehnologiei NFC este c
device-urile sunt de cele mai multe ori conectate n cloud. Toate
smartphone-urile pe baz de NFC au acces la aplicaii speciale,
incluznd cititoare de carduri(tag-uri), spre deosebire de
infra-structurile tradiionale, care impun un anumit standard (de
cele mai multe ori patentat) pentru fiecare tip de card n parte, de
con-trol al accesului sau platforme de pli. Spre deosebire de
aceste cazuri, utilizatorii NFC se pot conecta la un third-party
device NFC, care se comport ca un server pentru orice fel de aciune
(sau reconfigurare).
n urmtoarele paragrafe voi ncerca s analizez avantajele i
potenialul de utilizare al acestei tehnologii din diferite puncte
de vedere.
Perspectiva de businessNFC nu este o tehnologie incredibil de
inovatoare. Ca i
Bluetooth sau WiFi, este un standard radio de comunicare
wire-less. n lumea wireless, cea mai asemntoare tehnologie este
RFID (radio frequency identification). Datorit costurilor mai
reduse de implementare, necesitilor i modificrilor, NFC poate fi
util n foarte multe situaii. Tag-urile NFC au forme diferite,
pornind de la stickere simple pn la cele care se autodistrug sau
care sunt rezistente la ap i condiii meteo extrem de dure.
Capacitatea de citire i scriere difer i ea: de la device-uri care
au doar capacitate de write-once sau read-only, pn la un numr
nelimitat de operaii sau spaiu de memorie protejat prin parol.
Toate companiile care in evidena unor obiecte ar trebui s
aprecieze aceast tehnologie. Vnztorii, companiile de transport,
Transfer de Date prin NFC
Ca n cazul multor lucruri pe care le folosim, mbuntim, sau pe
care le inovm, experiena mea cu NFC a nceput din dorina de a gsi o
soluie pentru o problem simpl: s nu uit s fac anumite lucruri
nainte de a iei din cas, cum ar fi s m asigur c setez temperatura
corect la central. O alt soluie ar fi fost s gsesc ceva care s fac
aceste lucruri n locul meu. Bineneles, mi-am dat seama c aveam i
alte idei care mi-ar fi putut simplifica viaa sau care mi-ar putea
face fiecare zi mai distractiv.
programare
-
20 nr. 35/mai, 2015 | www.todaysoftmag.ro
spltoriile care folosesc tag-uri NFC ncorporate n pachete, haine
i alte obiecte de vnzare, se pot folosi de NFC pentru a ine
inventarul tuturor obiectelor.
Un tag de tip smart poate fi introdus n orice flutura. Dac
atingi tag-ul eti redirecionat ctre un site, primeti detaliile unui
contact sau poi chiar accesa CV-ul unui candidat sau o biogra-fie
scurt sub form de text sau imagine. Unele mall-uri, chiar din
Romnia, folosesc aceste tag-uri n scopuri publicitare sau ca
gift-carduri, reduceri i chiar organizeaz concursuri de treasure
hunting prin intermediul lor.
Dar de vreme ce suntem n era n care se dezvolt tot mai mult
aa-numitul domeniu al Internet of Things, au aprut soluii i idei
mult mai inovatoare. Companiile folosesc tag-uri pentru a urmri
activitatea angajailor, dar i pentru a estima timpul anu-mitor
task-uri sau pentru a administra concediile. n combinaie cu NFC,
angajaii pot foarte uor s nceap i s termine task-urile proprii din
orice punct al companiei s-ar afla cu ajutorul telefonului, sau, i
mai convenabil, pot face asta cnd intr n birou sau prsesc locul de
munc.
Servicii medicale, marketing, pli exist foarte multe aplicaii i
posibiliti. Dar aplicaia mea preferat este un device care poate fi
purtat-de exemplu un inel sau o brar- i prin inter-mediul cruia se
poate debloca sau deschide cu o simpl atingere, telefonul, ua sau
chiar maina personal. Folosit n combinaie cu un sistem GPS, un
modul NFC poate localiza orice, de la lucruri, la animale de
companie pierdute sau chiar persoane.
Care sunt prerile utilizatorilor?Dac nu lucrezi n domeniul IT
sau nu eti foarte pasionat de
astfel de lucuri, probabil c nici nu ai auzit despre aceast
tehno-logie, cu toate c este disponibil pe pia deja de cinci
ani.
Utilizatorii trebuie s afle detalii despre aceast tehnologie.
Dup prerea mea, i mi-e destul de greu s afirm acest lucru din
postura mea de Android developer, probabil c singurul motiv pentru
care aceast tehnologie nu este nc recunoscut i folosit la scar larg
este c nu are susinerea iOS. Apple susine doar Apple Pay prin NFC i
nu exist deloc suport API, nici mcar n cazul celei mai recente
versiuni, iOS 8. Motivul principal pentru acest spaiu gol se
datoreaz, dup cum chiar ei afirm, probleme-lor de securitate pe
care folosirea tag-urilor le ridic. Voi investiga
aceste ipoteze mai trziu.
Dar dac eti developer?Dac nu eti developer de Android sau
Windows, ratezi toat
distracia. Sistemul de operare Android a fost primul care a
oferit suportul API pentru a interaciona cu tag-uri NFC i a
introdus noiunea de Beaming un feature care permite datelor s fie
transferate via NFC ctre alte telefoane Android. Acest feature
permite schimbul de bookmark-uri web, informaii de contact,
instruciuni, videoclipuri pe Youtube i altele.
Concluzie NFC ncepe s cucereasc din ce n ce mai muli
utilizatori
n fiecare zi i cu siguran ne putem folosi de aceast tehnologie n
multe domenii. Dezvoltarea aplicaiilor este facil; protocoa-lele de
securitate(NFC Signature RTD 2.0) pentru semnarea i verificarea
integritii datelor sunt acum folosite; tag-urile cu acces protejat
al memoriei sunt disponibile. Prin urmare, nu vd motive pentru care
NFC nu ar trebui s cucereasc piaa n peri-oada urmtoare. Pcat c
Apple pierde toat distracia.Voi ncheia acest articol aici i v atept
ntr-un numr viitor pentru a analiza mai n amnunt caracteristicile
NFC de pe Android.
Bibliografie:1. http://nfc-forum.org/ 2.
https://developer.android.com/guide/topics/connectivity/nfc/index.
html 3. http://www.nearfieldcommunication.org/
programareTransfer de Date prin NFC
Larisa Hoga [email protected]
Android Developer @ Yardi Romnia
-
21www.todaysoftmag.ro | nr. 35/mai, 2015
Asemenea oricrui frate responsabil, el nu doar ne prezint noul
su gadget, ci ne invit i s-l ncercm. Am avut ocazia s aflm de ce,
de unde i cum s ncepem jocul cu Dart. Iar de la prima iniiere
ncoace fr s l acuzm de arogan cum apare o versiune mai nou, imediat
suntem anunai.
O prima afirmaie important despre Dart ar fi c nu se refer doar
la un limbaj de programare. Este o platform complet incluznd un
toolchain, obiectivul creia fiind sprijinirea etapelor de
dezvoltare i lan-sare a aplicaiilor web structurate, scalabile i
care au totodat o performan ridicat. Dac ar trebui s numim experi n
astfel de aplicaii, fratele nostru cu singuran ar face parte din
ei. Probabil v amintii de browser-ul lui propriu, Chrome sau de
motorul V8 de JavaScript, fiind un urma de onoare a
versiunii asamblate pentru automobile n ceea ce privete
acceleraia i viteza dovedit n timpul navigrilor pe internet.
Ideea din spatele Dartului este de a neutraliza discrepana
dintre evoluia semni-ficativ a browser-elor i practicile de
startup, dezvoltare sau mentenan a aplicaiilor web uor rmase n
urm.
Dart este all-inclusive i totui simplu de folosit, avem parte de
tutoriale practice, precum API i documentaie extinse sau susinerea
comunitii muli dintre progra-matori au sperana de a-l opri pe
JavaScript din monarhia singuratic a browser-elor.
Toate cele menionate mai sus, separat sau combinate, au ca
rezultate realizarea mai multor aplicaii web performante, fapt care
impune i mai mult spaiu comercial i DoubleClick pentru Google.
Prezentul articol nu-i are ca int pe manageri nu a vrea s le dau
idei despre optimizarea pauzelor recreaionale din birou asigurnd un
singur dart i nici pe extremitii jocului binecunoscut, pentru c nu
am cunotine de mprtit despre darts-ul rusesc. Tema acestui articol
vine de la big-brotherul nostru cellalt, adic Dont-be-evil Google.
Datorit expertizei acestuia n domeniul tehnologiilor web, n
octombrie 2011, Aarhus, oraul lui Bjarne Stroustrup i Lars Bak,
s-ar putea s fi fost martor la naterea unui produs revoluionar al
industriei IT, fiind locul unde Dart a fost dezvluit prima oar n
faa publicului larg.
Keep Calm and Start playing Dart
programare
Kuki Edina
Tester Senior Analyst
-
22 nr. 35/mai, 2015 | www.todaysoftmag.ro
Limbajul de programare, Dart, are urmtoarele caracteristici:
este open-source sub licen BSD; este orientat pe obiecte, permite
motenirea simpl i
polimorfismul prin Mixins i implementarea implicit a
interfeelor;
este gndit cu o singur ramur de execuie i ofer Isolates pentru
realizarea operaiilor concurente, interacionnd exclu-siv prin
mesaje fr s foloseasc zone comune de memorie;
prefer Future-ul pentru a gestiona eficient procesele asin-crone
i a preveni blocarea aplicaiei de ctre operaii care necesit mult
timp;
este lexically-scoped, tipurile de baz sunt opionale, exis-tnd i
tipuri speciale ca Generics (tipuri parametrizate) i Iterables;
ofer un set impozant de biblioteci de baz i creeaz pre-misele
unei accesri mai facile a package-urilor provenite de la teri;
fiind conceput pentru adoptare masiv, deine o sintax familiar
att pentru utilizatorii de limbaje scripting ct i pen-tru cei
obinuii cu limbajele structurate;
se claseaz ca o alternativ recomandat pentru proiectele n care
transparena, structura sau ritmul ridicat de dezvol-tare erau
considerate doar avantaje; propune o schimbare din quick-and-dirty
n quick-and-darty.
Putem opta pentru editorul nativ Dart Editor sau putem alege un
plugin, pe care s-l integram n IDE-ul cu care suntem deja obisnuii
cum ar fi WebStorm, IntelliJ sau Eclipse.
n ambele cazuri vom avea acces la unelte folositoare din kit-ul
de dezvoltare Dart care pot fi lansate de la linia de comand:
pub package manager pentru a lucra n mod simplu i rapid cu
pachetele third-party;
dart2js compilatorul Dart-to-JavaScript, optimizat cu
tree-shaking, minificare opional, inferena tipurilor, ca la sfritul
dezvoltrii, aplicaia s fie lansat cu uurin n ori-care alt browser
dect Dartium. n cazul n care aveam nevoie de debugging, ne st la
dispoziie maparea surselor, adic a codului dart, chiar i n Mozilla
sau Internet Explorer;
observatory unelt de profiling, pentru a verifica
compor-tamentul aplicaiei n ceea ce privete performana i utilizarea
memoriei interne;
dartfmt pentru a formata codul n mod automat, con-form
conveniilor din Dart Style Guide;
docgen generator de documentaie pentru pachetele Dart.
Maina virtual Dart VM poate fi folosit pentru a rula aplicaii de
la linia de comand, scriptur-i pe servere, servere sau alte
aplicaii Dart, care nu ruleaz neaprat n browser. Dart VM a fost
extins recent pentru a folosi instruciuni SIMD(Single-Instruction
Multiple-Data). Lund in considerare ca n ultimele procesoare aprute
30% din silicon este destinat instruciunilor SIMD, ca de exemplu
NEON i vectori, maina virtual Dart profit de mai mult spaiu de
execuie, reflectndu-se ulterior n primul rnd la performana
aplicaiei.
n fazele de dezvoltare este recomandat folosirea lui Dartium, o
versiune special de Chromium, avnd Dart VM integrat. Se poate
rencrca codul/pagina n loc de a-l recom-pila- este vorba despre nc
un feature a lui Dart care ne ajut s obinem un timp mai scurt de
dezvoltare, testare i debugging.
Lista este mult mai lung, dar singurul lucru de care nu
trebuie s uitm, e c Dart trece prin mbuntiri continue n ceea ce
privete limbajul, uneltele, stabilitatea i rezultatele de
benchmarking.
Sun puin utopic? Dont be evil, citete mai departe.
Atta vorbrie, unde este codul?Orice aplicaie scris n Dart va
conine cel puin: un fiier Dart fiind alctuit din operaii Dart i
avnd
extensia .dart; o funcie main() care servete ca punct de pornire
a
aplicaiei.
Difereniem dou tipuri de aplicaii Dart: cele pornite de la linia
de comand i cele rulate din browser.
O aplicaie Dart de tip command-line este un program inde-pendent
care va fi rulat cu ajutorul mainei virtuale Dart VM ntr-o fereastr
de consol. Aplicaia Dart scris pentru web va fi gzduit n cadrul
unui document HTML i rulat fie din browser-ul Dartium, avnd Dart VM
integrat, fie din oricare alt browser modern dup compilarea codului
in JavaScript numit n prezent i limbajul de asamblare a
browser-elor.
Aspectele arhitecturale de baz pot fi aadar urmtoarele:
Fig. 3 Aplicaie Dart compilat n JS i rulat din orice alt browser
modern
S ptrundem mai detaliat ntr-un program Dart:import
dart:async;import dart:io;class Counter // fiecare clas este
motenit din Object, implicit{ var _toCount; // dac numele ncepe cu
_, va fi implicit privat num counted; // Funciile Get i Set(dac
este cazul) vor fi furnizate implicit
// Zahr sintactic pentru iniializarea variabilei
Fig.1 Aplicaie tip command-line executat din Dart VM
Fig.2 Aplicaie tip web rulat din Dartium
programareKeep Calm and Start playing Dart
-
23www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
_toCount // nainte de apelarea constructorului Counter
(this._toCount);
// Un exemplu a unui Named-Constructor Counter.stave (String
text, String s) { for (var char in text.split()) { if
(char.toLowerCase() == s.toLowerCase()) counted++; } } // Definiia
unei metode, n care - fiindc returneaz o expresie - // return-ul
poate fi nlocuit cu => void printCounted() => print($_toCount
occurred $counted times.);}; // Funcia top-level servete ca punct
de pornire a aplicaieimain() {
// Declararea i iniializarea variabilelor var stave = S; File
file = new File (Keep_Calm.txt);
// Calculele care pot dura mult timp // vor fi gestionate n mod
asincron, folosind Fu-ture Future future = file.readAsString();
future.then((String content) { var sCounter = new
Counter.stave(content, S); sCounter.printCounted(); })
.catchError((e) { print (Counter encountered $e error!) });}
Dart are o sintax familiar. n cele cteva linii de mai sus se
vede cum sunt puse n practic ideile unui viitor Dart.Am folosit
dou biblioteci de baz, io si async, constructorul
cu nume, sintaxa fat-arrow pentru a obine funcii mai suple,
interpolare de string-uri i cteva lucruri interesante n jurul lui
then. Procesarea de evenimente asincron din Dart, se poate face n
modul urmtor: declanm o operaie, prin metoda then() ne nregistrm la
un callback care va fi apelat dup terminarea operaiei i tot n
cadrul funciei then() pregtim instruciunile care la rndul lor
ateapt rezultatul operaiei. Aadar, totul are loc ntr-un context
lexical restrns.
n afar de I/O i procesare asincron alte biblioteci utile din SDK
sunt: core, html, math, mirrors, isolate, indexed_db, collec-tion,
web_gl sau web_sql.
De asemenea, avem acces la pachete pentru testare i mocking, la
Chrome pentru testare folosind linia de comand. Recent a aprut
suport nativ pentru integrare-continu folosind drone.io.
O prim ediie a lui Dart de asociaia Ecma International a fost
acceptat n mai puin de trei ani de la apariia acestuia. A obinut un
loc n topul 20 al celor mai populare limbaje. Conform Tiobe Index,
Dart a a ajuns nc n toamna anului trecut n faa lui F# de la
Microsoft sau a Swift-ului de la Apple.
n scurt timp va avea loc primul Dart-Summit n San Francisco,
unde vom putea afla tirile cele mai actuale referitoare la
strategia de lung durat, la angajamentul fa de platforma Dart,
precum i noutile i ideile inovatoare despre cum putem s folosim
Dart n producie.
Pn atunci, lsai deoparte cititul i ncepei s jucai Dart! Singuri
sau ntr-un hackathon mpreun cu echipa, resursele disponibile
on-line i comunitatea activ pe G+, github i stacko-verflow, ne ajut
s intim i s nscriem cu un singur Dart. Nu ezitai, vizitai:
dartlang.org, dartosphere.org, g.co/dartisans
-
24 nr. 35/2015 | www.todaysoftmag.ro
Introducere n Couchbase - soluie
NoSQL bazat pe Documente
Alexandru [email protected]
Senior Developer@ Betfair
De ce NoSQL?Una din ce le mai imp or tante
decizii luate de arhitec i , ine de alegerea tehnologiei
potrivite pentru rezol-varea problemelor specifice produselor ce
urmeaz a fi dezvoltate. n acest context, cnd vine vorba de alegerea
ntre o baz de date relaional i o soluie NoSQL, este important s se
ia n considerare cteva aspecte importante.
Natura datelorModelul relaional este foarte potrivit
pentru datele ce au o structur tabular, cum ar fi un registru
contabil. Datele complexe, care conin multe nivele de imbricare,
sunt mai greu de modelat folo-sind structuri bidimensionale. n
astfel de cazuri, alegerea bazelor de date de tip NoSQL pare a fi
potrivit, pentru c datele pot fi stocate n formatul JSON. Acest
for-mat este suportat de marea majoritate a tehnologiilor
NoSQL.
Un alt aspect l reprezint volatilitatea datelor. Este important
s se tie ct de des se va schimba i va evolua modelul de date
. De cele mai multe ori, modelul de date nu este bine definit de
la nceput i flexibilita-tea este necesar. Rigiditatea modelului de
date este una dintre potenialele probleme pe care o putem avea cu
baze de date relaionale.
Eficiena de dezvoltareAgilitatea i rapiditatea de dezvoltare
sunt caracteristicile cele mai importante n cadrul unui proces
de dezvoltare. n acest sens, tehnologiile NoSQL i-au demon-strat
avantajul. Folosirea formatului de tip JSON pentru modelarea
datelor, le d posibilitatea programatorilor de a elabora versiuni
iniiale ale produselor ntr-un timp mult mai scurt.
Probleme operaionaleCreterea volumului de date i a num-
rului de utilizatori, duce la degradarea performanei. Unica
soluie oferit n astfel de cazuri de ctre tehnologiile relaionale,
este bazat pe scalare pe vertical (hardware) care este foarte
costisitoare. Pe de alt parte, tehnologiile NoSQL ofer
n prezent, industria IT abund de termeni precum NoSQL, Big Data
sau NewSQL. De multe ori, persoanele cu putere decizonal au
dificulti n alegerea soluiei potrivite. n condiiile n care soluiile
clasice - bazele de date relaionale sunt folo-site de mai bine de
dou decenii, de ce ar trebui ncercate soluiile alternative? Marile
companii apeleaz deja de civa ani la soluiile alternative ceea ce
le permite s eco-nomiseasc bani, s inoveze rapid i s ajung cu
produsele finale pe pia mult mai repede dect o fceau nainte. Scopul
acestui articol e s prezinte soluia NoSQL bazat pe documente, care
este Couchbase. Pe lng detaliile tehnice se vor gsi i motivele
pentru care aceast tehnologie merit s fie aleas i cteva exemple de
proiecte n care Couchbase este folosit cu succes.
programare
-
25www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
posibilitatea de a scala pe orizontal, prin adugarea mai mul-tor
servere care, dei nu sunt foarte performante, nu necesit investiii
la fel de mari ca n primul caz.
Stocarea i analiza datelorModelele de date relaionale sunt
potrivite pentru interogri
sofisticate de date i reprezint o alegere bun cnd interogarea
complex i crearea de rapoarte este critic.
Analiza n timp real a datelor operaionale este mult mai potrivit
pentru tehnologii NoSQL.
Ce este CouchbaseCouchbase Server este o baz de date NoSQL bazat
pe docu-
mente pentru aplicaii web interactive. Aceasta ofer avantajele
clasice unei soluii NoSQL, cum ar fi flexibilitatea modelului de
date, uurina , performana i capacitatea de a oferi disponibili-tate
100%.
Couchbase a aprut ca urmare a mbinrii a dou tehnologii populare
NoSQL:
Membase - ce ofer persisten, replicare i partiionare folosind
tehnologia performant memcached.
CouchDB - care a fost iniiatorul folosirii formatului JSON
pentru modelarea datelor.
Caracteristicile principale
Model de date flexibilCouchbase folosete documentele n formatul
JSON pentru
reprezentarea obiectelor aplicaiei i a relaiilor dintre obiecte.
Acest model e suficient de flexibil pentru a suporta schimbri
ulterioare ale obiectelor fr a fi necesar migrarea schemei bazei de
date sau planificarea unei perioade de mentenan ce ar putea
perturba disponibilitatea aplicaiei. Un alt avantaj al modelului
bazat pe document este uurina cu care pot fi reprezentate
obiec-tele din lumea real, cu posibilitatea de a folosi mai multe
nivele de imbricare, precum i folosirea atributelor pentru a
reprezenta relaiile dintre obiecte.
ScalabilitateE foarte uor s scalezi aplicaia folosind Couchbase
Server,
att n cadrul unui cluster de servere ct i la nivel de cluster-e
aflate n centre de date diferite. Se pot aduga noduri noi pen-tru a
ntmpina nevoia de a face fa unui trafic crescut specific
perioadelor de vrf. Ce e i mai important, adugarea de servere nu
necesit ntreruperea operaional a aplicaiei sau schimba-rea codului
aplicaiei. Noile servere pot prelua traficul adiional i pstrez
distribuia echilibrat a datelor. Couchbase ofer o partajare automat
i rebalansare a datelor, ceea ce permite redi-mensionarea
cluster-ului n funcie de nevoile aplicaiei.
Uurina integrriiCouchbase ofer o suit de librrii pentru diverse
limbaje de
programare cum ar fi: Java / .NET / PHP / Ruby / C / Python /
Node.js. Aceste librrii faciliteaz integrarea soluiei n orice tip
de aplicaie.
Pentru operaia de citire, Couchbase ofer un mecanism de cutare
bazat pe chei. Clientul cere un document pe baza unei chei i doar
serverul responsabil de gzduirea partiiei n care se afl cheia, va
fi contactat.
Couchbase ofer i un mecanism de cutare bazat pe inte-rogarea
unui index (View). Cutarea este distribuit la toate
serverele din cluster i rezultatele gsite pe toate nodurile sunt
agregate ntr-un singur rspuns i trimise napoi la client.
Pentru operaia de scriere, Couchbase ofer un mecanism de
modificare bazat pe chei. Clientul trimite o solicitare de
modi-ficare, n care e trimis att documentul modificat ct i cheia
asociat documentului. Serverul trimite rspuns solicitrii
cli-entului imediat ce documentul este salvat n memoria nodului
primar (responsabil de gzduirea acelui document), ceea ce
faci-liteaz obinerea unei latene mici pentru operaiile de
scriere.
Performan predictibilDesignul Couchbase-ului este centrat pe
concuren
performan i randament (throughput) ridicat. Acesta ofer timp de
rspuns de ordinul milisecundelor, ceea ce mbuntete experiena
utilizatorului final. De asemenea, serverul distribuie automat
procesarea la toate nodurile din cluster pentru a menine performana
constant i a reduce ncrcarea excesiv a unui sin-gur nod.
Fiabilitate i securitateCouchbase ofer posibilitatea de a
controla accesul la date pe
baza combinaiei username/parola. Credenialele sunt transmise
ntr-un mod securizat prin reea. Datele senzitive sunt protejate n
timpul transmiterii de la client la aplicaie i viceversa.
Fiabilitatea Couchbase-ului este dat de faptul c nu exist un
singur nod care ar putea provoca indisponibilitatea siste-mului,
atta timp ct datele sunt replicate pe mai multe noduri.
Funcionalitile precum XDCR (Cross Data Center Replication),
failover, backup i restore ajut asigurarea unei disponibiliti a
sistemului n cazul unor probleme neprevzute, fie la nivel de nod
sau de centru de date.
Concepte Cheie
Couchbase - soluie de stocare pe baz de documenteUnitatea de baz
de stocare n Couchbase Server o repre-
zint documentele. De cele mai multe ori, formatul preferat este
JSON, ceea ce permite aplicaiilor s modeleze datele fr s aib
constrngeri specifice modelelor de date relaionale, legate de
flexibilitatea modelului. Aceasta se datoraz faptului c datele sunt
stocate sub form de documente, nefiind necesare migrri de
scheme.
Coninutul documentelor poate fi i n alt format dect JSON -cum ar
fi date binare- , dar avantajele folosirii formatului JSON sunt
posibilitatea de a indexa i a interoga datele. Couchbase ofer un
motor de cutare bazat pe JavaScript ce permite cutarea date-lor
bazate pe valorile cmpurilor din documente.
Couchbase Data
-
26 nr. 35/mai, 2015 | www.todaysoftmag.ro
Data BucketsDatele sunt stocate n cluster-ul Couchbase folosind
aa numi-
tele Data Buckets. Buckets-urile sunt containere virtuale
izolate, ce formeaz un group logic de date n cadrul unui cluster.
Un Bucket este echivalentul unei baze de date. Bucket-urile ofer un
mecanism securizat de organizare, configurare (memorie, num-rul de
replici, etc.) i analiz a datelor stocate.
vBucketsUn vBucket este o entitate logic responsabil de un
subset
din spaiul de chei ale unui cluster Couchbase, fiind folosite
pen-tru distribuia uniform a informaiei n cluster. Acestea sunt
responsabile att de distribuia datelor ct i de suportul replicilor
pe mai multe noduri.
Fiecare identificator de document (cheie) aparine unui vBucket.
O funcie de mapare este folosit pentru determinarea vBucket-ului de
care aparine un document. Aceast funcie ia ca parametru ID-ul
documentului i returneaz un identificator de vBucket. Odat
calculat, se consult un tabel ce ine maprile dintre vBucket-uri i
nodurile gazd. Acest tabel conine un rnd pentru fiecare vBucket. Un
server poate fi responsabil pentru mai multe vBucket-uri.
Chei i metadateToate datele salvate n Couchbase reprezint
documente cu
chei asociate. Cheile reprezint identificatori unici per
document, iar valorile pot fi documente n format JSON sau un stream
de bii sau alte obiecte serializate ntr-o alt form.
Cheile sunt cunoscute i ca ID-uri de documente i reprezint
similarea un chei primare n SQL. O cheie poate fi format din orice
caractere i trebuie s fie unic.
Toate documentele conin metadate. Metadatale sunt stocate mpreun
cu documentele i sunt folosite pentru administrarea acestora. Ele
sunt de trei tipuri:
CAS Value - o form de baz de concuren optimistic; Time to Live
(ttl) timpul de expirare a unui document; Flags - o varietate de
opiuni folosite la stocare, extragere,
modificare i tergere de documente;
Couchbase SDKCunoscut i sub numele de librrii-client, acesta
reprezint
uneltele de dezvoltare pentru diverse limbaje de programare.
Sunt responsabile de comunicarea cu un Couchbase Server i ofer
interfee specifice limbajelor de programare necesare pentru a
efectua operaii pe baza de date. Librriile-client tiu s citeasc i s
scrie datele direct de pe nodul primar. Odat cu schimbarea
topologiei, librriile-client redirecioneaz solicitrile ce urmeaz
ctre noile noduri gazd.
Couchbase SDK
ArhitecturaCouchbase a fost construit de la nceput cu
fundamentele
bazate pe o arhitectur distribuit, datele partiionate pe toate
nodurile disponibile din cluster.
ntr-o configurare tipic, o baz de date Couchbase este instalat
ntr-un cluster ce folosete mai multe noduri. Librriile client se
vor conecta la nodurile responsabile de datele cu care
interacioneaz clientul.
Pentru a facilita scalarea pe orizontal, Couchbase
utilizeazpartiionarea bazat pe un hash care asigur distribuia
uniform a datelor pe toate nodurile. Sistemul definete 1024 de
partiii (numr fix) i odat ce pentru cheia unui document se
calculeaz un hash asociat unei partiii - aceast partiie devine
gazda documentului. Fiecare partiie are asignat un nod din
clus-ter. Dac topologia cluster-ului se schimb (un nod adugat sau
eliminat), sistemul se rebalanseaz prin migrarea partiiilor de la
un nod la altul.
vBuckets
Nu exist o singur verig slab n sistem, deoarece toate nodurile
dintr-un cluster sunt egale. Fiecare nod este responsa-bil doar de
un set de date care i-au fost asignate. Toate nodurile dintr-un
cluster ruleaz dou procese primare: data manager i cluster manager.
Data manager-ul este responsabil de adminis-trarea datelor din
partiiile acelui nod, n timp ce cluster manager se ocup de
operaiile de comunicare ntre nodurile cluster-ului.
Reziliena sistemului este posibil datorit replicrii de
docu-mente. Procesul cluster manager coordoneaz comunicarea dintre
datele replicate cu alte noduri din cluster, iar procesul data
mana-ger supervizeaz replicile ce sunt asignate de ctre cluster
ctre nodul local. n mod natural, partiiile replicate sunt
distribuite pe mai multe noduri, astfel nct s se evite situaia n
care partiiile replicate sunt stocate pe acelai nod ca cele
active.
Resilience
programareIntroducere n Couchbase - soluie NoSQL bazat pe
Documente
-
27www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
Documentele sunt situate n Bucket-uri i documentele dintr-un
Bucket sunt izolate de documentele din alte Bucket-uri din
perspectiva operaiilor de cutare i interogare. Cnd se creaz un nou
Bucket, este posibil configurarea numrului de replici (maxim trei)
pentru acest Bucket. n cazul indisponibilitii unui nod (server
crash), sistemul va detecta problema, va localiza repli-cile
documentelor ce au fost plasate n acel nod i le va promova la
statusul de activ. Sistemul menine o mapare de cluster care
definete topologia cluster-ului, iar acest mapare este modificat la
fiecare problem aprut ce afecteaz nodurile din cluster.
Aceast funcionalitate se bazeaz mult pe implementarea
librriilor-client folosite de aplicaiile ce necesit interacionarea
cu un server Couchbase. Clienii sunt ntr-o comunicare conti-nu cu
nodurile din cluster. Acetia extrag maparea actualizat a
clusterului, dup care redirecioaneaz cererile ctre noile noduri ca
urmare a schimbrii topologiei. De asemenea, clienii particip la
balansarea load-ului de request-uri emise spre baza de date.
Procesul responsabil de balansarea load-ului este i el distribuit
ntre mai multi clieni.
Schimbrile de topologie sunt coordonate de ctre un orchestrator,
care nu este altceva dect un nod ales s joace rolul arbitrului n
cazul schimbrilor de configurare din cluster. Schimbrile de
topologie sunt comunicate ctre toate nodurile din cluster. Chiar i
n cazul n care nodul orchestrator devine indisponibil, un alt nod
poate fi ales pentru a prelua rolul de arbi-tru pentru a asigura
funcionarea nentrerupt a sistemului.
Interogarea datelorExist dou abloane de interogare a datelor din
Couchbase.
Cel mai eficient este bazat pe interogarea de chei. Dac este
cunoscut cheia documentului cutat, complexitatea cutrii unui astfel
de document este de O(1). Este de asemenea posi-bil cutarea
documentelor multiple folosind operaia multi-get. Extragerea
documentelor multiple este foarte eficient n cazul n care aplicaia
client are de a face cu o list de documente, deoa-rece numrul de
interaciuni este redus la minim.
Un alt ablon de interogare a datelor este bazat pe aa numitele
View-uri, cunoscut i sub numele de index. Acestea reprezint un
mecanism folosit pentru interogarea de date din Couchbase. Pentru a
defini un View, se creeaz un document spe-cific numit design
document, care conine un cod JavaScript ce
implementeaz operaiile de map-reduce. Design document-ele sunt
legate de un anumit Bucket, ceea ce nseamn c interogrile nu se pot
efectua pe mai multe Bucket-uri. Consistena eventual joac un rol
important n cadrul View-urilor. Adugarea, modifi-carea sau tergerea
unor documente dintr-un Bucket nu produce schimbri ce sunt vizibile
imediat.
Parametrii de interogare ofer posibilitatea de filtrare a unui
index. Spre exemplu, se poate defini o cutare ce returneaz un
singur document sau un set de documente aflate ntr-un interval.
Indexii din Couchbase sunt actualizai incremental. O modi-ficare
nu produce reconstrucia ntregului index. Modificrile implic doar
acele documente care au fost adugate sau terse de la ultima
modificare. Un index se poate configura n anumite circumstane. Spre
exemplu, dup un interval de timp sau cnd un numr de documente au
fost actualizate.
PerformanaPerformana trebuie msurat folosind scenariile
similare
unui mediu din producie. Acest lucru poate ajuta s nelegem
caracteristicile performanei pentru anumite tipuri de situaii i s
alegem tehnologia potrivit pentru cerinele aplicaiei
dezvoltate.
Unul dintre testele de performan de referin pentru com-pararea
tehnologiilor NoSQL este YCSB (Yahoo Cloud Serving Benchmark).
Scopul acestuia este s se canalizeze asupra testrii diverselor
tipuri de baze de date i asupra analizei performanei. YCSB este
open-source, extensibil, are un numr mare de conec-tori pentru
diverse tipuri de tehnologii, este reproductibil i compar latena vs
randament (throughput).
Reads P99
-
28 nr. 35/mai, 2015 | www.todaysoftmag.ro
Writes P99Rezultatele au artat c tehnologia Couchbase ofer
latena
cea mai mic i throughput-ul cu valori mai mari prin comparaie cu
tehnologiile concurente.
Performan i consistenPentru asigurarea consistenei, este
important execuia
operaiilor de citire/scriere pe nodurile primare. Soluiile NoSQL
ce se bazeaz pe un singur nod primar sunt limitate din punct de
vedere al performanei, deoarece clienii nu pot folosi la
capaci-tate maxim celelalte noduri aflate n cluster. Prima
alternativ este de a efectua operaia de citire pe toate nodurile
(att primare ct i secundare). n acest caz, performana de citire
este foarte bun, ns nu mai este garantat consistena pentru c
replicarea datelor este asincron. A doua alternativ este replicarea
sincron care asigur consistena datelor, ns contribuie la degradarea
performanei.
Single Primary NodePrin comparaie cu prima abordare, Server-ul
Couchbase asi-
gur consistena datelor. De asemena, acesta execut operaiile de
citire doar pe nodurile primare pentru asigurarea consistenei.
Singura diferen este c toate nodurile sunt utilizate la capacitate
maxim, pentru c fiecare nod este primar pentru un subset de partiii
de date.
Multiple Primary Nodes
Toate operaiile de citire/scriere sunt executate pe nodurile
primare.
MonitorizareCouchbase Server include un set complet de
statistici i
informaii de monitorizare. Statisticile sunt oferite prin
interme-diul interfeelor de administrare. Una dintre ele este
consola de administrare web, care include grafice n timp real a
datelor de performan.
Monitor GraphStatisticile sunt mprite n mai multe grupuri,
permind
identificarea diferitelor tipuri de probleme: Per Nod - indic
utilizarea de procesor, memorie, I/O pe
fiecare server din cluster; Per vBucket - indic statisticile de
utilizare i datele de
performan pentru fiecare vBucket; Per cozi de disc -
monitorizeaza cozile folosite pentru citi-
rea i scrierea informaiilor pe disc i ntre replici. Poate fi
util pentru a vedea dac cluster-ul necesit extindere prin adugare
de noduri noi.
Exemple
Activitatea utilizatorului n timp realEvenimentele legate de
activitatea utilizatorului sunt consu-
mate de un sistem de messaging (kafka) pentru a stoca
informaiile relevante n Couchbase. Acest serviciu este capabil s
rspund n timp real la urmtoarele ntrebri: cnd un anumit utilizator
a fost activ ultima dat? A jucat vreodat un anumit joc? Toate
interogrile pe acest serviciu se execut extrem de rapid. Bazat pe
rspunsuri la aceste ntrebri, alte aplicaii sunt capabile s
seg-menteze clienii pentru diverse flow-uri de business.
Stocarea preferinelor utilizatoruluiStocarea diverselor
informaii despre preferinele utilizatoru-
lui ce pot fi folosite ntre mai multe produse ale unei aplicaii
web. Aceast soluie poate fi folosit ca alternativ la folosirea
sesiunii HTTP, cookie-urilor sau stocarea n baze de date
relaionale.
Managementul de promoii i monitorizarea progresuluiPromoiile
sunt necesare pentru atragerea clienilor pentru a
folosi diverse produse bazate pe criterii de calificare
predefinite. Pe lng stocarea promoiilor definite, sunt stocate i
documente care monitorizeaz progresul fiecrui utilizator care a
optat pen-tru o anumit promoie. Sistemul este capabil s identifice
n timp real dac un utilizator a ndeplinit toate cerinele promoiei i
dac acord diverse tipuri de premii configurate per promoie.
programareIntroducere n Couchbase - soluie NoSQL bazat pe
Documente
-
29www.todaysoftmag.ro | nr. 35/mai, 2015
TODAY SOFTWARE MAGAZINE
ConcluziiFolosirea exploziv a internetului, creterea volumului
de
date procesat de aplicaiile moderne, natura diferit a datelor,
necesit o analiz foarte atent pentru alegerea tehnologiei
res-ponsabil de stocarea datelor. Folosirea unei tehnologii NoSQL
poate fi o decizie bun n cazul n care este necesar un model
flexibil de date, suportul pentru un numr foarte mare de
utiliza-tori concureni, scalabilitatea i performana sunt aspecte
critice pentru a rspunde cerinelor de business.
Couchbase este un juctor important n piaa tehnologiilor NoSQL.
Acesta se comport excelent n situaiile unui load masiv att la
citire ct i la scriere, oferind posibilitatea unei sca-lri facile
prin adugare/eliminare de noduri din cluster n funcie de nevoile
aplicaiei. Arhitectura i designul acestei tehnologii garanteaz
consisten datelor i a performanei foarte bune n acelai timp.
Testele au artat c aceast tehnologie este lider pe piaa soluiilor
similare. Dei nu se poate spune c aceast teh-nologie e potrivit
pentru orice problem, Couchbase poate fi o soluie foarte bun pentru
anumite tipuri de aplicaii.
Resurse1. RDBMS vs NoSQL;2. Couchbase Server Architecture
Review;3. Betfair plus Couchbase;4. Couchbase blows competition;5.
Couchbase performance benchmarking;6. No SQL performance series;7.
10 enterprise usecases for Couchbase;8. MongoDB vs Coucbase
showdown.
-
30 nr. 35/2015 | www.todaysoftmag.ro
Este important s dezvoltm apti-tudini care ne vor ajuta s
nelegem fe lu l n care se abordeaz testa-rea software-ului. Aceste
aptitudini ne ajut s dobndim credibilitate i s ctigm respectul
altor profesioniti implicai n dezvoltarea software.
Cu o baz solid de aptitudini i competene avem o ans mai mare de
a reui n ceea ce facem: vom fi capabili s oferim produse mai bune,
i n sfrit, vom avea clieni i utilizatori mai satisfcui.
Ce este un tester?Un tester este o persoan care tie c
lucrurile pot fi diferite. Jerry Weinberg
O persoan care este n msur s descopere informaii extrem de
relevante ntr-un mod rapid cu privire la un produs, care folosete
la maxim orice resurs care este disponibil pentru el/ea i care
respect oamenii implicai n proiect. Este o per-soan n care se poate
avea ncredere. Ilari Henrik Aegerter
Definiiile de mai sus ale unui tes-ter, ne amintesc faptul c
testarea ine de gndirea critic i de creativitate. Testarea nu
nseamn s crezi tot ce se vede, ci n permanen s continui s pstrezi
un spi-rit de investigaie. Prin urmare, dorina noastr de-a reui i
de-a deveni buni tes-teri, se reflect n ctigarea respectului i
ncrederii echipei noastre. Noi nu suntem acolo doar la vntoare de
greeli, ci sun-tem acolo pentru a ctiga ncrederea c
noi suntem gardienii care asigurm cali-tatea unui produs i
satisfacia clientului.
CE face un tester?Testarea nseamn punerea sub semnul
ntrebrii a produsului cu scopul de a-l eva-lua. James Bach
Aceast definiie a testrii include unul din cele mai importante
aspecte ale tes-trii: identificarea i livrarea informaiei. Testarea
presupune dezvluirea necunos-cutului. n cazul n care calitate
nseamn valoare pentru o persoan (aa cum a fost definit de
Weinberg), atunci testarea pre-supune descoperirea oricrui lucru
care amenin aceast valoare. Pentru a des-coperi care sunt
ameninrile, un tester trebuie s fie capabil s realizeze o
vari-etate de activiti, cum ar fi un review al cerinelor, s
adresezez ntrebri bune i s interacioneze cu produsul astfel nct s
identifice orice informaie util i posibile riscuri.
Avnd aceste definiii, vom prezenta cele mai dorite aptitudini i
ce ne face pe noi s fim buni testeri.
Dup ce am citit opiniile unor experi n domeniu (James McCaffrey,
Tony Bruce, Jennifer Lent, Lorinda Brandon, Ilari Henrik Aegerter),
am intervievat de aseme-nea membrii unei echipe (project
manager,
Totul ncepe cu dorina de a reuiA deveni un tester bun nu nseamn
a ajunge la o destinaie, ci mai degrab a te afla n mod constant
ntr-o cltorie pe trmuri noi.
Portretul unui tester bun
testare
Daniela [email protected]
Senior Tester @ ISDC Romania
-
31www.todaysoftmag.ro | nr. 35/mai, 2015
arhiteci, programatori i requirements engineer), reieind
urm-toarea list de aptitudini:
Bazat pe aceste rezultate doresc s subliniez cele mai
impor-tante cinci aptitudini ale unui tester:
ComunicareaDac nu poi scrie mesajul tu ntr-o propoziie, atunci
nu vei
fi capabil s l prezini ntr-o or. Dianna Booher n calitate de
testeri profesioniti trebuie s avem aptitudini
bune de scriere i de comunicare verbal. Trebuie s fim capabili s
citim i s analizm cerinele produsului, s adunm informaia necesar, s
planificm testarea, s scriem rapoarte clare i coe-rente pentru
management (att rapoarte formale ct i rapoarte ad-hoc). Avem nevoie
de abilitatea de a asculta n mod critic i de a vorbi raional n
cadrul oricror ntlniri.
Avem nevoie sa fim lideri, tehnicieni i politicieni n acelai
timp. Este una dintre cele mai dificile aptitudini de gestionat,
aceea de a transmite o problem n mod clar i concis, pe un ton
constructiv, care s denote gravitatea problemei. Devine i mai
complicat pe msur ce realizezi ct de diferit este publicul tu - pe
de o parte, o problem trebuie s fie bine definit tehnic atunci cnd
este adresat unui programator, pe de alt parte, s fie descris
suficient de clar stakeholder-ului non-tehnic pentru a putea lua o
decizie adecvat cu privire la impactul problemei asu