VS ˇ B – Technicka´ univerzita Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky
Absolvova´nı´ individua´lnı´ odborne´
praxe
Individual Profesional Practise in the Company
2009 Matej Lajcˇa´k
Prohlasˇuji, zˇe jsem tuto bakala´rˇskou pra´ci vypracoval samostatneˇ. Uvedl jsem vsˇechny litera´rnı´ prameny a publikace, ze ktery´ch jsem cˇerpal.
V Ostraveˇ 7. kveˇtna 2009 . . . .
Ra´d bych na tomto mı´steˇ podeˇkoval vsˇem, kterˇı´ mi s pracı´ pomohli, protozˇe bez nich by tato pra´ce nevznikla.
Abstrakt
Za´veˇrecˇna´ pra´ce se ty´ka´ absolvova´nı´ individua´lnı´ odborne´ praxe u spolecˇnosti Tieto, v oddeˇlenı´ Telecom Research and Development(da´le jen TRD). Na oddeˇlenı´ TRD jsem se veˇnoval vy´voji multiplatformnı´ho softwaru jazyku QT postavene´m na jazyce C++ pro spolecˇnost Nokia se zameˇrˇenı´m na internetovy´ tablet nazvany´ Maemo(model N810). V za´veˇrecˇne´ pra´ci popisuji nejen vyuzˇite´ znalosti ze studia, ale i pouzˇite´ vy´vojove´ prostrˇedı´
a na´stroje. Cı´lem me´ za´veˇrecˇne´ pra´ce bylo naucˇit se pracovat v nove´m programovacı´m jazyce, zı´skat zkusˇenosti s vy´vojem multiplatformnı´ch aplikacı´ pro mobilnı´ zarˇı´zenı´, s open-source softwarem, s osvojenı´m si noveˇ prˇicha´zejı´cı´ch technologiı´ a to prostrˇednic- tvı´m do budoucna vyuzˇitelne´ho internı´ho projektu
Klı´cˇova´ slova: cpp,qt,nokia,maemo,linux,programovani,qtsoftware,TRD, slobodny´ softwe´r
Abstract
The bachelor thesis deals with accomplishment individiual profesional practise in Tieto company, in Telecom Research and Development(TRD) department. At TRD department, i was involved in multiplatform software development under QT language built on C++
language for Nokia company, however with focus on internet tablet named Maemo(model N810).In this bachelork thesis i am describing usable knowledge from studies, however also used development enviroment and tools. Goal of my bachelor thesis was to learn working with new programming language, gather experience with developing multi- platform applications for mobile devices, earn experience with open-source software, to master new comming technologies with internal project, which will be usefull for future.
Keywords: cpp,qt,nokia,maemo,linux,programming,qtsoftware,TRD, open-source
Seznam pouzˇity´ch zkratek a symbolu˚
IT – Informacˇnı´ technologie
NOKIA – Zna´ma´ spolecˇnost veˇnujı´cı´ se telekomunikacı´m TRD – Oddeˇlenı´ vy´zkumu a vy´voje pro telekomunikace
HTML – Hyper Text Markup Language
QT – Multiplatformnı´ programovacı´ jazyk postaven na jazyku C++.
Pouzˇı´va´ signa´ly a sloty. Vytvorˇen spolecˇnostı´ QtSoftware a odkoupen spolecˇnostı´ Nokia
SRˇBD – Syste´m rˇı´zenı´ ba´ze dat
C++ – Programovacı´ jazyk
TZD – Prˇedmeˇt Teorie zpracova´nı´ dat vyucˇovany´ na VSˇB-TUO DAIS – Prˇedmeˇt Databa´zove´ a informacˇnı´ syste´my vyucˇovany´ na VSˇB-
TUO
TIS – Prˇedmeˇt Tvorba informacˇnı´ch syste´mu˚ vyucˇovany´ na VSˇB- TUO
URO – Prˇedmeˇt Uzˇivatelske´ rozhranı´ vyucˇovany´ na VSˇB-TUO OSY – Prˇedmeˇt Operacˇnı´ syste´my vyucˇovany´ na VSˇB-TUO VSˇB-TUO – Vysoka´ sˇkola ba´nˇska´ - Technicka´ univerzita Ostrava
1
Obsah
1 U´ vod 3
2 Popis odborne´ho zameˇrˇenı´ firmy, u ktere´ student vykonal odbornou praxi a
popis pracovnı´ho zarˇazenı´ studenta 4
2.1 Sezna´menı´ se s pracovnı´m prostrˇedı´m, kolegy a novy´m programovacı´m jazykem QT, instalova´nı´ pracovnı´ stanice. . . 4 2.2 Prˇideˇlenı´ internı´ho projektu podle rea´lne´ho zada´nı´. . . 6 2.3 Rozsˇı´rˇenı´ pu˚vodnı´ho zada´ni a zmeˇna cı´love´ platformy. . . 6
3 Zvoleny´ postup rˇesˇenı´ zadany´ch u´kolu˚ 7
3.1 Sezna´menı´ se s pracovnı´m prostrˇedı´m, kolegy a novy´m programovacı´m jazykem QT, instalova´nı´ pracovnı´ stanice. . . 7 3.2 Postup rˇesˇenı´ internı´ho projektu. . . 7 3.3 Postup rˇesˇenı´ rozsˇı´rˇenı´ internı´ho projektu. . . 7 4 Teoreticke´ a prakticke´ znalosti a dovednosti zı´skane´ v pru˚beˇhu studia uplatneˇne´
studentem v pru˚beˇhu odborne´ praxe 8
5 Znalosti cˇi dovednosti scha´zejı´cı´ studentovi v pru˚beˇhu odborne´ praxe 9 6 Dosazˇene´ vy´sledky v pru˚beˇhu odborne´ praxe a jejı´ celkove´ zhodnocenı´ 10
7 Reference 11
2
Seznam obra´zku ˚
1 Obra´zek spolecˇnost Tieto . . . 4
2 Uka´zka pouzˇitı´ jazkyka QT v praxi . . . 5
3 Obra´zek uka´zka projektova´nı´ . . . 6
4 Obra´zek znalosti . . . 8
5 Obra´zek chybeˇjı´cı´ . . . 9
3
1 U ´ vod
Tato bakala´rˇska´ pra´ce pojedna´va´ o odborne´ praxi ve spolecˇnosti Tieto.Popisuje zameˇrˇenı´
firmy a pracovnı´ zarˇazenı´.Da´le opisuje zada´nı´ u´kolu˚ a pru˚beˇh jejich plneˇnı´,znalosti pou- zˇite´ prˇi vypracova´va´nı´ u´kolu˚ zı´skane´ prˇi studiu a chybeˇjı´cı´ znalosti. Zaveˇrem pra´ce hod- notı´ dosazˇene´ vy´sledky.
4
2 Popis odborne´ho zameˇrˇenı´ firmy, u ktere´ student vykonal odbornou praxi a popis pracovnı´ho zarˇazenı´ studenta
Spolecˇnost Tieto poskytuje sluzˇby hlavneˇ v oblasti IT, vy´zkumu, vy´voje a poradenstvı´.
Zameˇstna´va´ 16 000 odbornı´ku˚ ze vsˇech oblastı´. Spolecˇnost Tieto je jednı´m z nejveˇtsˇı´ch po- skytovatelu˚ IT sluzˇeb v severnı´ Evropeˇ a taky prˇednı´ sveˇtovou spolecˇnostı´ ve vybrany´ch odveˇtvı´ch. Spolecˇnost Tieto ma´ zkusˇenosti a znalosti hlavneˇ ze skandina´vsky´ch zemı´, kde zacˇı´nala pu˚sobit. K dnesˇnı´mu datu pu˚sobı´ na trzı´ch v severnı´ Evropeˇ, Neˇmecku a Rusku,kde se zameˇrˇuje se svy´mi sluzˇbami na velke´ a strˇedneˇ velke´ spolecˇnosti. Celo- sveˇtoveˇ jsou to pak telekomunikace a digita´lnı´ sluzˇby v lesnı´m, ropne´m a plyna´renske´m pru˚myslu.
Po kontaktova´nı´ spolecˇnosti Tieto, jsem se dozveˇdel o mozˇnosti vyuzˇitı´ individua´lnı´
odborne´ praxe u te´to spolecˇnosti. Po dohodnutı´ termı´nu jsem absolvoval pohovor, ktery´
meˇl urcˇit kam budou me´ kroky smeˇrˇovat v te´to spolecˇnosti. Na za´kladeˇ tohoto pohovoru jsem byl zarˇazen na oddeˇlenı´ vy´zkumu a vy´voje v telekomunikacı´ch (Telecom Research and Development). Toto oddeˇlenı´,jako uzˇ vyply´va´ z na´zvu, se zaby´va´ vy´vojem softwaru pro telekomunikacˇnı´ spolecˇnosti (naprˇı´klad pro Nokii). Vy´vojove´ prostrˇedı´ prˇedstavuje programovacı´ jazyk C++ s grafickou na´dstavbou v podobeˇ multiplatformnı´ho jazyka QT (drˇı´ve vyvı´jeny´ spolecˇnostı´ Trolltech, nynı´ odkoupen spolecˇnostı´ Nokia) na operacˇnı´m syste´mu Linux. Aplikace byly prima´rneˇ testova´ny a vyvı´jeny pro internetovy´ tablet od spolecˇnosti Nokia (Maemo).
Obra´zek 1: Obra´zek spolecˇnost Tieto
2.1 Sezna´menı´ se s pracovnı´m prostrˇedı´m, kolegy a novy´m programova- cı´m jazykem QT, instalova´nı´ pracovnı´ stanice.
Prvnı´m u´kolem, ktery´ na mne cˇekal bylo pozna´nı´ prostrˇedı´ a kolegu˚. Po sezna´menı´ se s na´plnı´ pra´ce a s kolegy, jsem meˇl za u´kol prˇipravit svou pracovnı´ stanici. Kolegove´
byli velmi vstrˇı´cnı´ a kdykoli jsem se na neˇ mohl obra´tit s proble´mem, ktery´ mne potkal a velmi ra´di mi pomohli. Ostatneˇ jaky´koliv proble´m jsme rˇesˇili jako ty´m. Vybral jsem si svu˚j pracovnı´ stu˚l z teˇch, ktere´ byly volne´. Dostal jsem prˇideˇleny´ pocˇı´tacˇ, ktery´ jsem si vyzvedl ze skladu na prˇı´zemı´. Pocˇı´tacˇ byl uzˇ prˇipraven na pra´ci v prostrˇedı´ Windows, avsˇak nasˇe oddeˇlenı´ vyvı´jelo prima´rneˇ pro prostrˇedı´ operacˇnı´ho syste´mu linux a tak jsem zacˇal instalovat tento operacˇnı´ syste´m na svu˚j pocˇı´tacˇ.
5
Obra´zek 2: Uka´zka pouzˇitı´ jazkyka QT v praxi
Pokracˇoval jsem prostudova´nı´m dokumentace na stra´nkach http://www.qtsoftware.com, ktera´ byla vy´borneˇ zpracovana´. Na za´kladeˇ toho jsem si vybral integrovane´ vy´vojove´ pro- strˇedı´ a pustil jsem se do psanı´ tutoria´lu˚. Pro pochopenı´ za´kladnı´ch principu˚, signa´lu˚ a slotu˚, jsem dostal prˇideˇleny´ dalsˇı´ u´kol. Jednalo se o u´pravu zdrojove´ho ko´du programu a na tomto prˇı´kladeˇ jsem meˇl pokracˇovat se studiem. Na tomto projektu jsem meˇl za u´kol upravit zdrojove´ soubory jak funkcˇneˇ, tak po stra´nce konvence psanı´ zdrojovy´ch ko´du˚
tak, aby jsme ho mohli poslat na prezentaci.
Celkoveˇ na mne zapu˚sobilo uvedenı´ do spolecˇnosti Tieto dobry´m dojmem. Mysˇlenka, zˇe vyvı´jı´m pod open-source operacˇnı´m syste´mem a navı´c v programovacı´m jazyce, ve ktere´m bylo vytvorˇene´ i samotne´ graficke´ uzˇivatelske´ prostrˇedı´, byla vı´c nezˇ prˇı´veˇtiva´.
Veˇdeˇl jsem, zˇe se neucˇı´m nic zbytecˇne´ho, pra´veˇ naopak. Programovacı´ jazyk QT na mne pu˚sobil pokrokovy´m dojmem, protozˇe se hodneˇ podoba´ programovacı´mu jazyku Java, jenzˇ je multiplatformnı´, byt’ prima´rneˇ postaven na jazyku C++. Jde tedy o pokrokovou mysˇlenku, kdy nepotrˇebujeme zˇa´dny´ virtua´lnı´ stroj, ko´d se neprˇekla´da´ do zˇa´dne´ho me- ziko´du, ale do klasicke´ho spustitelne´ho souboru pro danou platformu tak, jak to zna´me z jazyka C++. Multiplatformnost spocˇı´va´ v tom, zˇe pro jinou platformu ko´d jednodusˇe zkompilujeme bez u´pravy zdrojove´ho ko´du.
Za´veˇrem te´to sekce bych ra´d vyjmenoval progamy, ktere´ jsou napsane´ v jazyku QT:
Google Earth, Skype, KOffice, Amarok 2, VLC media player.
6
2.2 Prˇideˇlenı´ internı´ho projektu podle rea´lne´ho zada´nı´.
Po zvla´dnutı´ prvnı´ho u´kolu mi byl prˇideˇlen internı´ projekt. Tento projekt byl podeprˇen rea´lny´m zada´nı´m, avsˇak od tohoto zada´nı´ za´kaznı´k odstoupil. I tak to vsˇak byl dobry´
projekt, na ktere´m bych mohl pokracˇovat v zlepsˇova´nı´ znalosti programova´nı´ v jazyce QT. Rozsˇı´rˇenı´m bylo take´ zpracova´nı´ analy´zy k dane´mu proble´mu a taky dokumentace projektu na internı´ch wiki stra´nka´ch spolecˇnosti Tieto. Aplikace pracovala s databa´zı´, byla postavena na jazyce QT a prima´rneˇ urcˇena pro mobilnı´ telefon s operacˇnı´m syste´- mem Symbian a vysˇsˇı´. Pokracˇoval jsem se studiem programove´ analy´zy podle funkcˇnı´
specifikace. Na´sledneˇ jsem vytvorˇil diagramy pouzˇitı´ a v QT designeru pocˇa´tecˇnı´ vzhled aplikace. Vsˇechny tyto dokumenty jsem umı´stil na wiki stra´nky spolecˇnosti, kde si je pro- hle´dl mu˚j prˇideˇleny´ projektovy´ manazˇer a da´le jsme uprˇesnili zada´nı´. Pokracˇoval jsem psanı´m zdrojove´ho ko´du aplikace.
Obra´zek 3: Obra´zek uka´zka projektova´nı´
2.3 Rozsˇı´rˇenı´ pu˚ vodnı´ho zada´ni a zmeˇna cı´love´ platformy.
Po konzultaci s my´m projektovy´m manazˇerem, jsem dostal za u´kol pu˚vodnı´ zada´ni rozsˇı´rˇit o scanova´nı´ cˇa´rovy´ch ko´du˚ z kamery, jejich deko´dova´nı´ a zpracova´nı´. Jednalo se o 2D cˇa´rove´ ko´dy. Da´le jsme se dohodli na zmeˇneˇ cı´love´ platformy na Maemo, cozˇ je internetovy´ tablet od spolecˇnosti Nokia model N810. Pokracˇoval jsem studiem forma´tu˚
cˇa´rovy´ch ko´du a rozhodl jsem se pro typ 2D cˇa´rove´ho ko´du typu QR. Da´le jsem rozhodl, co bude evidova´no v cˇa´rove´m ko´deˇ a o propojenı´ s databa´zı´. Pokracˇoval jsem hleda´nı´m mozˇnostı´ deko´dova´nı´ cˇa´rovy´ch ko´du. Nakonec mi poradil mu˚j projektovy´ manazˇer a navedl meˇ na open-source knihovny, ktere´ umeˇly deko´dovat cˇa´rove´ ko´dy. Take´ meˇ navedl na open-source knihovny, ktere´ zpracova´vali obraz z kamery fotoapara´tu. Pokracˇoval jsem studiem teˇchto otevrˇeny´ch knihoven a jejich integracı´ do sve´ho projektu. Na´sledneˇ jsem musel vsˇe otestovat a k tomu bylo zapotrˇebı´ naistalovat na´stroje, ktere´ mi umozˇnily kompilaci pro jinou platformu. V me´m prˇı´padeˇ se jednalo o kompilaci z procesoru typu 80386 na procesor ARM. Procesory ARM s omezenou instrukcˇnı´ sadou majı´ sve´ nesporne´
prˇednosti v mobilnı´ch zarˇı´zenı´ch. Ovsˇem kvu˚li zpeˇtne´ kompatibiliteˇ zu˚staly desktopove´
procesory na pu˚vodnı´m konceptu. I kdyzˇ vnitrˇneˇ se snazˇı´ pracovat stejneˇ.
7
3 Zvoleny´ postup rˇesˇenı´ zadany´ch u ´ kolu ˚
3.1 Sezna´menı´ se s pracovnı´m prostrˇedı´m, kolegy a novy´m programova- cı´m jazykem QT, instalova´nı´ pracovnı´ stanice.
V prvnı´m u´kolu sˇlo prˇedevsˇı´m o pochopenı´, jak pracujı´ procesy v spolecˇnosti Tieto, a sezna´menı´ se s novy´m programovacı´m jazykem. Po u´vodnı´ instrukta´zˇi od me´ho projek- tove´ho manazˇera mi kolegove´ pomohli s instalacı´ vesˇkere´ho nastavenı´.Da´le se jednalo jenom o u´pravu sta´vajı´cı´ho projektu spolecˇne se studova´nı´m dokumentace. S pochopenı´m projektu mi pomohli kolegove´, kterˇı´ se s nı´m jizˇ setkali.
3.2 Postup rˇesˇenı´ internı´ho projektu.
Postup rˇesˇenı´ spocˇı´val v analy´ze projektu, kterou jsem konzultoval s my´m projekto- vy´m manazˇerem. Ta spocˇı´vala hlavneˇ ve vytvorˇenı´ diagramu˚ prˇı´padu˚ pouzˇitı´ a dalsˇı´
dokumentaci, kterou jsem na´sledneˇ umı´stil na wiki stra´nky spolecˇnosti Tieto. Da´le jsem pokracˇoval vytvorˇenı´m prezentacˇnı´ vrstvy projektu pomocı´ designeru jazyka QT, na- vrhl strukturu databa´ze, evidovane´ entity a funkce nad nimi realizovane´. Rozhodl jsem se, ktery´ databa´zovy´ syste´m pouzˇı´t. Instaloval jsem syste´m rˇı´zenı´ ba´ze dat MySql na loka´lnı´m stroji. Naplnil jsem databa´zi a pokracˇoval jsem v implemetaci projektu. Tuto implementaci jsem pravidelneˇ za´lohoval pomocı´ verzovacı´ho na´stroje SVN, ktery´ jsem se naucˇil pouzˇı´vat. Po celou dobu realizace mi poma´hali mı´ kolegove´, kterˇı´ vsˇak byli postupneˇ prˇideˇlova´ni na projekty na zaka´zku. Tak jsem se postupneˇ neˇkolikra´t prˇesunul a zmeˇnil kancela´rˇ, prˇicˇemzˇ jsem pokazˇde´ meˇl mozˇnost posoudit efektivitu jednotlivy´ch ty´mu˚, pracovnı´ mora´lku a prˇı´stup k pra´ci jak cele´ho ty´m, tak i jednotlivcu˚.
3.3 Postup rˇesˇenı´ rozsˇı´rˇenı´ internı´ho projektu.
V te´to cˇasti vy´voje projektu jsem se uzˇ naucˇil velmi dobrˇe orientovat v dokumentaci a pouzˇı´vat verzovacı´ syste´m. Co jsem meˇl prˇed sebou byl vsˇak cross-compiling pro jinou platformu, vyuzˇitı´ hardwarove´ho zarˇı´zenı´ mobilnı´ho prˇı´stroje. Musel jsem pochopit a naucˇit se vyuzˇı´vat otevrˇene´ knihovny pro pra´ci s kamerou mobilnı´ho zarˇı´zenı´, otevrˇene´
knihovny pro deko´dovanı´ 2D cˇa´rovy´ch ko´du˚, zvolit si reprezentaci cˇa´rove´ho ko´du. Vznikl proble´m evidova´ni dat. Byl jsem totizˇ limitova´n pameˇtı´ prototypu Maema. Bylo tedy nutne´ data reprezentovat v podobeˇ souboru, aby odpadla nutnost instalace databa´zove´ho serveru. Vyuzˇil jsem tedy databa´zove´ho na´stroje obsazˇene´ho v jazyke QT, ktery´ byl me´neˇ na´rocˇny´ vzhledem k objemu pameˇti a idea´lnı´ pro internı´ projekt urcˇeny´ k prezentaci s na´zvem SQLite. Tak jsem data exportoval z mysql databa´ze a importoval do sqlite databa´ze reprezentovane´ souborem. Vsˇe jsem pru˚beˇzˇneˇ testoval na prototypu zarˇı´zenı´.
8
4 Teoreticke´ a prakticke´ znalosti a dovednosti zı´skane´ v pru ˚ beˇhu studia uplatneˇne´ studentem v pru ˚ beˇhu odborne´ praxe
Co se ty´cˇe znalostı´ zı´skany´ch v pru˚beˇhu studia a uplatneˇny´ch v praxi mohu zarˇadit hlavneˇ prˇedmeˇty SWI, TZD, DAIS, TIS, CPP, OSY, URO.Prˇedmeˇt SWI mi poskytl prˇı´- pravu potrˇebnou pro cely´ proces analy´zy, prˇı´pravy, testova´nı´ a pru˚beˇhu projektu jako celku. Procesy, ktere´ prova´zejı´ tvorbu projektu. Da´le je to prˇedmeˇt TZD, ve ktere´m jsem se naucˇil za´klady databa´zovy´ch syste´mu, zachytit a evidovat realitu. Da´le je zde prˇedmeˇt DAIS, ktery´ meˇ naucˇil vy´hody a nevy´hody jednotlivy´ch SRˇBD, jake´ na´stroje a techno- logie pouzˇı´t na evidova´nı´. V prˇedmeˇtu TIS jsem se naucˇil vyuzˇı´vat technologie spojene´
s informacˇnı´m syste´mem jako celkem, vrstevnı´ model psanı´ aplikace, na´vrhovy´ vzor Model-View-Controler.Prˇedmeˇt CPP mi poskytl nezbytnou znalost programovacı´ho ja- zyka C++. Znalost operacˇnı´ho syste´mu linux a vyuzˇitı´ jeho sluzˇeb v programech jsem se naucˇil v prˇedmeˇtu OSY. V neposlednı´ rˇade mi poskytl znalosti i prˇedmeˇt URO, ve kte- re´m jsem se naucˇil za´klady na´vrhu graficke´ho uzˇivatelske´ho prostrˇedı´ a mnoho dalsˇı´ch prˇedmeˇtu˚.Znalosti zı´skane´ prˇi studiu povazˇuji za dostatecˇne´ a dobrˇe vyuzˇitelne´ v praxi.I kdyzˇ praxe je du˚lezˇita´, nepostradatelna´.
Obra´zek 4: Obra´zek znalosti
9
5 Znalosti cˇi dovednosti scha´zejı´cı´ studentovi v pru ˚ beˇhu od- borne´ praxe
Mezi chybeˇjı´ci znalosti mohu zarˇadit procesy, ktere´ prova´zejı´ kazˇdodennı´ firemnı´ zˇivot, naprˇı´klad komunikaci se za´kaznı´kem. Domnı´va´m se, zˇe kazˇdy´ vı´ co by meˇl progra- ma´tor nebo databa´zovy´ specialista poprˇı´padeˇ sı´t’ovy´ specialista umeˇt. Ovsˇem naprˇı´klad odhadova´nı´ cˇasu jednotlivy´ch u´kolu˚, pla´nova´nı´, efektivnı´ rozdeˇlova´nı´ pra´ce, utilizaci a meetingy v anglicˇtine s nerodily´mi mluvcˇı´mi v neˇkolika zemı´ch to jsou znalosti nebo zkusˇenosti, ktere´ mi v pru˚beˇhu praxe scha´zeli.
Obra´zek 5: Obra´zek chybeˇjı´cı´
10
6 Dosazˇene´ vy´sledky v pru ˚ beˇhu odborne´ praxe a jejı´ celkove´
zhodnocenı´
Praxi hodnotı´m velmi kladneˇ. Dala mi velmi mnoho zkusˇenostı´ a novy´ch veˇdomostı´.
Cˇlovek se neˇco ucˇı´, ale teprve azˇ skutecˇneˇ vidı´, zˇe to k necˇemu bylo a mu˚zˇe to vyuzˇı´t, je spokojen. Poznal jsem vnitropodnikove´ procesy, naucˇil jsem se pla´novat, pracovat samostatneˇ na projektu podle zada´nı´ za´kaznı´ka. Byl jsem sveˇdkem pru˚beˇhu realizace projektu˚ a mohl se ucˇit od kolegu˚ na rozdı´lny´ch projektech a poznal skveˇle´ lidi. Videˇl jsem, jak pla´nujı´, jake´ na´stroje, metody a technologie vyuzˇı´vajı´ a kazˇdy´ neˇcˇı´m prˇispeˇl. Jsem ra´d, zˇe nejen oni odpovı´dali na me´ dotazy, ale mohl jsem jim take´ ja´ poradit. Myslı´m si, zˇe jsem se naucˇil novy´ programovacı´ jazyk, naucˇil jsem se vyuzˇı´vat otevrˇene´ knihovny a projekty.
Naucˇil jsem se cross-compiling, virtualizovat a vytvorˇit prostrˇedı´ uvnitrˇ prostrˇedı´. Procˇ psa´t neˇco, co uzˇ tady da´vno je. To jsme slysˇeli mnohokra´t. Umı´me vyuzˇı´vat trˇı´dy v jave, v specifikacı´ch jazyka, ale opravdove´ otevrˇene´ projekty to je neˇco jine´ho. Da´le jsou to pak funkcˇnı´ specifikace, na´vrhove´ vzory atd. Bylo toho velmi mnoho. Rozhodneˇ vı´c, nezˇ jsem cˇekal, ale take´ proto jsem sˇel do velke´ nadna´rodnı´ firmy. V konecˇne´m du˚sledku cˇloveˇk nevidı´ jenom to sve´ oddeˇlenı´, ale vidı´ u´spesˇnou spolecˇnost, a vidı´ jak toho dosa´hla. Navı´c jsem se dostal mezi lidi, kterˇı´ se ra´di podeˇlı´ o sve´ znalosti, poradı´ sami od sebe, nebojı´ se zeptat a respektujı´ na´zor.
Dalsˇı´ informace najdete v publikacı´ch [1, 2, 3, 4].
Matej Lajcˇa´k
11
7 Reference
[1] Programovacı´ jazyk QT,http://www.qtsoftware.com - programovacı´ jazyk qt, dokumentace [2] Nokia,http://www.nokia.com - zna´ma´ telekomunikacˇnı´ spolecˇnost
[3] Maemo N810,http://www.maemo.org - internetovy´ tablet od spolecˇnosti Nokia
[4] Kubuntu, http://www.kubuntu.com - linuxovy´ svobodny´ operacˇnı´ syste´m od spolecˇnosti ubuntu postaven na graficke´m prostrˇedı´ KDE.
[5] Tieto,http://www.tieto.com - velka´ nadna´rodnı´ firma venujı´cı´ se oblasti IT
[6] OpenCV,http://opencv.willowgarage.com/wiki/ - otevrˇene´ knihovny na spracova´nı´ obrazu [7] MySql,http://www.mysql.com - otevrˇeny´ databa´zovy´ syste´m