48
Л Л и и Б Б Р Р Е Е ! !

Libre 18 Hd Cir

Embed Size (px)

Citation preview

Page 1: Libre 18 Hd Cir

број

1 8

Часопис о слободном софтверу

Октобар 2013

Creative Commons Ауторство-Некомерцијално-Делити под истим условима

24 октобар

Androidслави 1 0година постојања

9 октобар

Објављен јеFirefoxOS11

ЛЛииББРРЕЕ

ЛиБРЕ часописо слободном софтверу2

Овог месеца смо били вредни

издали смо први ЛиБРЕ

специјал (приручник Scribus 14) и

успели смо да припремимо нови

редовни број који је сада пред

вама Надамо се да ћете нам зато

опростити због малог кашњења

овог редовног издања

ЛиБРЕ пројекат се још увек добро

држи упркос осетном паду актив-

ности у свим FLOSS заједницама у

Србији Економска криза је

коначно почела да узима данак

поткопавајући сваки друштвено

корисни рад Пројекти који се могу

подвести под категорију друшт-

вено корисног рада су увек ниско

на скали приоритета јер не доносе

профит нити се од тог рада може

живети

Међутим FLOSS активисти се још

увек боре против ветрењача у

Србији па можда чак и у региону

Не вреди објашњавати предности

слободног софтвера у неуређеним

државама у којима је пиратерија

ако не прећутно одобравана онда

барем често игнорисана Овакав

однос према софтверу ће се ускоро

многима bdquoобити о главуrdquo

Држава Србија је почела да

незграпним корацима уређује и ову

област Потписала је уговор са

Microsoft-ом којим се легализује

софтвер у свим државним орга-

нима Бојимо се да ово није корак

напред у правцу борбе против

пиратерије него више увођење

монопола једне платформе Реч

уредника није место за детаљну

анализу овог уговора Можемо

само да најавимо опширнији текст

o његовим последицама за сле-

дећи број

Овом најавом желимо да под-

стакнемо све људе у FLOSS

заједницама у Србији да се

прегрупишу и организовано делују

у јавности како би се бар ублажиле

већ најављене последице овог

уговора

Први корак је свакако обело-

дањивање садржаја документа и

анализа његових последица За ту

сврху ЛиБРЕ свим српским FLOSS

заједницама нуди простор да у

наредним бројевима објаве своје

FLOSS у Србији

Реч уредника број 1 8

Октобар 2013 3

виђење овог проблема Што боље

упознамо јавност са проблемом из

више углова лакше ћемо га

решити

Вреди се борити у противном OSS

пројекти у Србији неће имати

будућност а српска софтверска

индустрија биће сведена на развој

апликација за само једну плат-

форму

На крају желимо све вас да

подсетимо да је ЛиБРЕ пројекат

отворен за све оне који желе да му

се прикључе било у својству аутора

графичара или дизајнера Наро-

чито нам требају аутори за рубрике

bdquoИнтернет мреже и комуникацијеrdquo

bdquoСервериrdquo и bdquoМобилни кутакrdquo Своје

текстове нам можете слати на нашу

већ познату адресу libre[et] lugons

[dot]org

До читања

ЛиБРЕ тим

Број 1 8

Периодика излажења месечник

Главни и одговорни уредник

Никола Харди

Извршни уредник

Александар Станисављевић

Лектура

Ромео Млинар

Јелена Мунћан

Александра Ристовић

Александар Божиновић

Aлександар Станисављевић

Редакција

Сарадници

Графичка обрада

Дејан Маглов

Дизајн

Контакт

IRC floss-magazin на ircfreenodenet

Е-пошта librelugonsorg

httplibrelugonsorg

Моћ слободногсофтвера

Горан Мекић

Џони Промис

Жељко Шарић

Данило Ђокић

Дарко Стантић

Златан Васовић

Иван Булатовић

Стефан Ножинић

Жељко Попивода

Бојан Богдановић

Младен Шћекић Зоран Лојпур

Никола Ненадић

Ненад Мијатовић

Тамара Ђорђевић

Момчилo Медић

Велимир Бакса

Сандрина Димитријевић

Александар Тодоровић

Милован Кривокапић

Далибор Богдановић

Александар Брковић

Гаврило Продановић

Михајло Богдановић

Владимир Цицовић

Александар Весић

Реч уредника број 1 8

ЛиБРЕ часописо слободном софтверу4

ЛиБРЕ вести стр 6

Пулс слободе стр 8

FreeOpennetbeta 4 стр 8

Представљамо стр 1 2

Ubuntu 1310SaucySalamander стр 1 2

ArchBang Linux20130901 стр 1 6

Како да стр 20

Мала школаSigil 072 (6 део)Додавање прилога стр 20

Ослобађање стр 24

PC гејминг индустријамења свој правац премаотворености стр 24

Слободан софтвер заобразовање деце (2 део)pySioGame стр 28

Слободни професионалац стр 33

Пуштање Pythonwebпројеката у рад

Вести

ЛиБРЕ садржај број 1 8

Октобар 2013 5

Пропратни проблемии нека решења стр 33

Сам свој мајстор стр 40

Увод у LaTeX (2 део) стр 40

Мобилни кутак стр 44

FirefoxOS11 стр 44

ЛиБРЕ пријатељи

ЛиБРЕ садржај број 1 8

ЛиБРЕ часописо слободном софтверу6

Нови Mercedes-Benz користи Ubuntu иXubuntu7 октобар

Прототип новог Mercedes-Benz аутомобила S кла-се са интелигентнимаутономним управља-њем користи Ubuntu и

Xubuntu

Користан линк httpjmp1 fdh8LO

FirefoxOS119 октобар

Објављен је FirefoxOS11 Међу изменама је иMMS подршка као иподршка за више од 1 5језика

Користан линк httpjmp1 5q4DHf

Објављен је Linphoneweb 101 0 октобар

VoIP позиви из web пре-гледача уз помоћ opensource решења Linphoneweb

Користан линк httpjmp1 cEZ0tq

Објављен је AbiWord301 3 октобар

AbiWord 30 текст про-цесор са собом доносиGTK3 подршку као имногобројне испра-вљене бубе

Користан линк httpjmp1 alk7ur

Крајразвоја за Linux301 3 октобар

Након 1 00 тачка издањаLinux 30 се више нећеразвијати Корисницимасе препоручује прелазакна Linux34 или 310

Користан линк httpjmp1 hRsQZm

Cinnamon се осамосталио1 5 октобар

Cinnamon 20 је постаосамостално окружењерадне површи као по-следица брзог и

непредвидивог развоја GNOME 30окружења

Користан линк httpbitly1 9MC88b

GCC4821 6 октобар

Објављен је GNU Cкомпајлер са више од70 отклоњених буба

Користан линк httpjmp1 avvHDt

Ubuntu 13101 7 октобар

Објављени су UbuntuKubuntu Xubuntu иLubuntu 1310 кocircдногимена SaucySalamander

Користан линк httpbitly1 bZTW3f

ЛиБРЕ вести број 1 8

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 2: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу2

Овог месеца смо били вредни

издали смо први ЛиБРЕ

специјал (приручник Scribus 14) и

успели смо да припремимо нови

редовни број који је сада пред

вама Надамо се да ћете нам зато

опростити због малог кашњења

овог редовног издања

ЛиБРЕ пројекат се још увек добро

држи упркос осетном паду актив-

ности у свим FLOSS заједницама у

Србији Економска криза је

коначно почела да узима данак

поткопавајући сваки друштвено

корисни рад Пројекти који се могу

подвести под категорију друшт-

вено корисног рада су увек ниско

на скали приоритета јер не доносе

профит нити се од тог рада може

живети

Међутим FLOSS активисти се још

увек боре против ветрењача у

Србији па можда чак и у региону

Не вреди објашњавати предности

слободног софтвера у неуређеним

државама у којима је пиратерија

ако не прећутно одобравана онда

барем често игнорисана Овакав

однос према софтверу ће се ускоро

многима bdquoобити о главуrdquo

Држава Србија је почела да

незграпним корацима уређује и ову

област Потписала је уговор са

Microsoft-ом којим се легализује

софтвер у свим државним орга-

нима Бојимо се да ово није корак

напред у правцу борбе против

пиратерије него више увођење

монопола једне платформе Реч

уредника није место за детаљну

анализу овог уговора Можемо

само да најавимо опширнији текст

o његовим последицама за сле-

дећи број

Овом најавом желимо да под-

стакнемо све људе у FLOSS

заједницама у Србији да се

прегрупишу и организовано делују

у јавности како би се бар ублажиле

већ најављене последице овог

уговора

Први корак је свакако обело-

дањивање садржаја документа и

анализа његових последица За ту

сврху ЛиБРЕ свим српским FLOSS

заједницама нуди простор да у

наредним бројевима објаве своје

FLOSS у Србији

Реч уредника број 1 8

Октобар 2013 3

виђење овог проблема Што боље

упознамо јавност са проблемом из

више углова лакше ћемо га

решити

Вреди се борити у противном OSS

пројекти у Србији неће имати

будућност а српска софтверска

индустрија биће сведена на развој

апликација за само једну плат-

форму

На крају желимо све вас да

подсетимо да је ЛиБРЕ пројекат

отворен за све оне који желе да му

се прикључе било у својству аутора

графичара или дизајнера Наро-

чито нам требају аутори за рубрике

bdquoИнтернет мреже и комуникацијеrdquo

bdquoСервериrdquo и bdquoМобилни кутакrdquo Своје

текстове нам можете слати на нашу

већ познату адресу libre[et] lugons

[dot]org

До читања

ЛиБРЕ тим

Број 1 8

Периодика излажења месечник

Главни и одговорни уредник

Никола Харди

Извршни уредник

Александар Станисављевић

Лектура

Ромео Млинар

Јелена Мунћан

Александра Ристовић

Александар Божиновић

Aлександар Станисављевић

Редакција

Сарадници

Графичка обрада

Дејан Маглов

Дизајн

Контакт

IRC floss-magazin на ircfreenodenet

Е-пошта librelugonsorg

httplibrelugonsorg

Моћ слободногсофтвера

Горан Мекић

Џони Промис

Жељко Шарић

Данило Ђокић

Дарко Стантић

Златан Васовић

Иван Булатовић

Стефан Ножинић

Жељко Попивода

Бојан Богдановић

Младен Шћекић Зоран Лојпур

Никола Ненадић

Ненад Мијатовић

Тамара Ђорђевић

Момчилo Медић

Велимир Бакса

Сандрина Димитријевић

Александар Тодоровић

Милован Кривокапић

Далибор Богдановић

Александар Брковић

Гаврило Продановић

Михајло Богдановић

Владимир Цицовић

Александар Весић

Реч уредника број 1 8

ЛиБРЕ часописо слободном софтверу4

ЛиБРЕ вести стр 6

Пулс слободе стр 8

FreeOpennetbeta 4 стр 8

Представљамо стр 1 2

Ubuntu 1310SaucySalamander стр 1 2

ArchBang Linux20130901 стр 1 6

Како да стр 20

Мала школаSigil 072 (6 део)Додавање прилога стр 20

Ослобађање стр 24

PC гејминг индустријамења свој правац премаотворености стр 24

Слободан софтвер заобразовање деце (2 део)pySioGame стр 28

Слободни професионалац стр 33

Пуштање Pythonwebпројеката у рад

Вести

ЛиБРЕ садржај број 1 8

Октобар 2013 5

Пропратни проблемии нека решења стр 33

Сам свој мајстор стр 40

Увод у LaTeX (2 део) стр 40

Мобилни кутак стр 44

FirefoxOS11 стр 44

ЛиБРЕ пријатељи

ЛиБРЕ садржај број 1 8

ЛиБРЕ часописо слободном софтверу6

Нови Mercedes-Benz користи Ubuntu иXubuntu7 октобар

Прототип новог Mercedes-Benz аутомобила S кла-се са интелигентнимаутономним управља-њем користи Ubuntu и

Xubuntu

Користан линк httpjmp1 fdh8LO

FirefoxOS119 октобар

Објављен је FirefoxOS11 Међу изменама је иMMS подршка као иподршка за више од 1 5језика

Користан линк httpjmp1 5q4DHf

Објављен је Linphoneweb 101 0 октобар

VoIP позиви из web пре-гледача уз помоћ opensource решења Linphoneweb

Користан линк httpjmp1 cEZ0tq

Објављен је AbiWord301 3 октобар

AbiWord 30 текст про-цесор са собом доносиGTK3 подршку као имногобројне испра-вљене бубе

Користан линк httpjmp1 alk7ur

Крајразвоја за Linux301 3 октобар

Након 1 00 тачка издањаLinux 30 се више нећеразвијати Корисницимасе препоручује прелазакна Linux34 или 310

Користан линк httpjmp1 hRsQZm

Cinnamon се осамосталио1 5 октобар

Cinnamon 20 је постаосамостално окружењерадне површи као по-следица брзог и

непредвидивог развоја GNOME 30окружења

Користан линк httpbitly1 9MC88b

GCC4821 6 октобар

Објављен је GNU Cкомпајлер са више од70 отклоњених буба

Користан линк httpjmp1 avvHDt

Ubuntu 13101 7 октобар

Објављени су UbuntuKubuntu Xubuntu иLubuntu 1310 кocircдногимена SaucySalamander

Користан линк httpbitly1 bZTW3f

ЛиБРЕ вести број 1 8

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 3: Libre 18 Hd Cir

Октобар 2013 3

виђење овог проблема Што боље

упознамо јавност са проблемом из

више углова лакше ћемо га

решити

Вреди се борити у противном OSS

пројекти у Србији неће имати

будућност а српска софтверска

индустрија биће сведена на развој

апликација за само једну плат-

форму

На крају желимо све вас да

подсетимо да је ЛиБРЕ пројекат

отворен за све оне који желе да му

се прикључе било у својству аутора

графичара или дизајнера Наро-

чито нам требају аутори за рубрике

bdquoИнтернет мреже и комуникацијеrdquo

bdquoСервериrdquo и bdquoМобилни кутакrdquo Своје

текстове нам можете слати на нашу

већ познату адресу libre[et] lugons

[dot]org

До читања

ЛиБРЕ тим

Број 1 8

Периодика излажења месечник

Главни и одговорни уредник

Никола Харди

Извршни уредник

Александар Станисављевић

Лектура

Ромео Млинар

Јелена Мунћан

Александра Ристовић

Александар Божиновић

Aлександар Станисављевић

Редакција

Сарадници

Графичка обрада

Дејан Маглов

Дизајн

Контакт

IRC floss-magazin на ircfreenodenet

Е-пошта librelugonsorg

httplibrelugonsorg

Моћ слободногсофтвера

Горан Мекић

Џони Промис

Жељко Шарић

Данило Ђокић

Дарко Стантић

Златан Васовић

Иван Булатовић

Стефан Ножинић

Жељко Попивода

Бојан Богдановић

Младен Шћекић Зоран Лојпур

Никола Ненадић

Ненад Мијатовић

Тамара Ђорђевић

Момчилo Медић

Велимир Бакса

Сандрина Димитријевић

Александар Тодоровић

Милован Кривокапић

Далибор Богдановић

Александар Брковић

Гаврило Продановић

Михајло Богдановић

Владимир Цицовић

Александар Весић

Реч уредника број 1 8

ЛиБРЕ часописо слободном софтверу4

ЛиБРЕ вести стр 6

Пулс слободе стр 8

FreeOpennetbeta 4 стр 8

Представљамо стр 1 2

Ubuntu 1310SaucySalamander стр 1 2

ArchBang Linux20130901 стр 1 6

Како да стр 20

Мала школаSigil 072 (6 део)Додавање прилога стр 20

Ослобађање стр 24

PC гејминг индустријамења свој правац премаотворености стр 24

Слободан софтвер заобразовање деце (2 део)pySioGame стр 28

Слободни професионалац стр 33

Пуштање Pythonwebпројеката у рад

Вести

ЛиБРЕ садржај број 1 8

Октобар 2013 5

Пропратни проблемии нека решења стр 33

Сам свој мајстор стр 40

Увод у LaTeX (2 део) стр 40

Мобилни кутак стр 44

FirefoxOS11 стр 44

ЛиБРЕ пријатељи

ЛиБРЕ садржај број 1 8

ЛиБРЕ часописо слободном софтверу6

Нови Mercedes-Benz користи Ubuntu иXubuntu7 октобар

Прототип новог Mercedes-Benz аутомобила S кла-се са интелигентнимаутономним управља-њем користи Ubuntu и

Xubuntu

Користан линк httpjmp1 fdh8LO

FirefoxOS119 октобар

Објављен је FirefoxOS11 Међу изменама је иMMS подршка као иподршка за више од 1 5језика

Користан линк httpjmp1 5q4DHf

Објављен је Linphoneweb 101 0 октобар

VoIP позиви из web пре-гледача уз помоћ opensource решења Linphoneweb

Користан линк httpjmp1 cEZ0tq

Објављен је AbiWord301 3 октобар

AbiWord 30 текст про-цесор са собом доносиGTK3 подршку као имногобројне испра-вљене бубе

Користан линк httpjmp1 alk7ur

Крајразвоја за Linux301 3 октобар

Након 1 00 тачка издањаLinux 30 се више нећеразвијати Корисницимасе препоручује прелазакна Linux34 или 310

Користан линк httpjmp1 hRsQZm

Cinnamon се осамосталио1 5 октобар

Cinnamon 20 је постаосамостално окружењерадне површи као по-следица брзог и

непредвидивог развоја GNOME 30окружења

Користан линк httpbitly1 9MC88b

GCC4821 6 октобар

Објављен је GNU Cкомпајлер са више од70 отклоњених буба

Користан линк httpjmp1 avvHDt

Ubuntu 13101 7 октобар

Објављени су UbuntuKubuntu Xubuntu иLubuntu 1310 кocircдногимена SaucySalamander

Користан линк httpbitly1 bZTW3f

ЛиБРЕ вести број 1 8

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 4: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу4

ЛиБРЕ вести стр 6

Пулс слободе стр 8

FreeOpennetbeta 4 стр 8

Представљамо стр 1 2

Ubuntu 1310SaucySalamander стр 1 2

ArchBang Linux20130901 стр 1 6

Како да стр 20

Мала школаSigil 072 (6 део)Додавање прилога стр 20

Ослобађање стр 24

PC гејминг индустријамења свој правац премаотворености стр 24

Слободан софтвер заобразовање деце (2 део)pySioGame стр 28

Слободни професионалац стр 33

Пуштање Pythonwebпројеката у рад

Вести

ЛиБРЕ садржај број 1 8

Октобар 2013 5

Пропратни проблемии нека решења стр 33

Сам свој мајстор стр 40

Увод у LaTeX (2 део) стр 40

Мобилни кутак стр 44

FirefoxOS11 стр 44

ЛиБРЕ пријатељи

ЛиБРЕ садржај број 1 8

ЛиБРЕ часописо слободном софтверу6

Нови Mercedes-Benz користи Ubuntu иXubuntu7 октобар

Прототип новог Mercedes-Benz аутомобила S кла-се са интелигентнимаутономним управља-њем користи Ubuntu и

Xubuntu

Користан линк httpjmp1 fdh8LO

FirefoxOS119 октобар

Објављен је FirefoxOS11 Међу изменама је иMMS подршка као иподршка за више од 1 5језика

Користан линк httpjmp1 5q4DHf

Објављен је Linphoneweb 101 0 октобар

VoIP позиви из web пре-гледача уз помоћ opensource решења Linphoneweb

Користан линк httpjmp1 cEZ0tq

Објављен је AbiWord301 3 октобар

AbiWord 30 текст про-цесор са собом доносиGTK3 подршку као имногобројне испра-вљене бубе

Користан линк httpjmp1 alk7ur

Крајразвоја за Linux301 3 октобар

Након 1 00 тачка издањаLinux 30 се више нећеразвијати Корисницимасе препоручује прелазакна Linux34 или 310

Користан линк httpjmp1 hRsQZm

Cinnamon се осамосталио1 5 октобар

Cinnamon 20 је постаосамостално окружењерадне површи као по-следица брзог и

непредвидивог развоја GNOME 30окружења

Користан линк httpbitly1 9MC88b

GCC4821 6 октобар

Објављен је GNU Cкомпајлер са више од70 отклоњених буба

Користан линк httpjmp1 avvHDt

Ubuntu 13101 7 октобар

Објављени су UbuntuKubuntu Xubuntu иLubuntu 1310 кocircдногимена SaucySalamander

Користан линк httpbitly1 bZTW3f

ЛиБРЕ вести број 1 8

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 5: Libre 18 Hd Cir

Октобар 2013 5

Пропратни проблемии нека решења стр 33

Сам свој мајстор стр 40

Увод у LaTeX (2 део) стр 40

Мобилни кутак стр 44

FirefoxOS11 стр 44

ЛиБРЕ пријатељи

ЛиБРЕ садржај број 1 8

ЛиБРЕ часописо слободном софтверу6

Нови Mercedes-Benz користи Ubuntu иXubuntu7 октобар

Прототип новог Mercedes-Benz аутомобила S кла-се са интелигентнимаутономним управља-њем користи Ubuntu и

Xubuntu

Користан линк httpjmp1 fdh8LO

FirefoxOS119 октобар

Објављен је FirefoxOS11 Међу изменама је иMMS подршка као иподршка за више од 1 5језика

Користан линк httpjmp1 5q4DHf

Објављен је Linphoneweb 101 0 октобар

VoIP позиви из web пре-гледача уз помоћ opensource решења Linphoneweb

Користан линк httpjmp1 cEZ0tq

Објављен је AbiWord301 3 октобар

AbiWord 30 текст про-цесор са собом доносиGTK3 подршку као имногобројне испра-вљене бубе

Користан линк httpjmp1 alk7ur

Крајразвоја за Linux301 3 октобар

Након 1 00 тачка издањаLinux 30 се више нећеразвијати Корисницимасе препоручује прелазакна Linux34 или 310

Користан линк httpjmp1 hRsQZm

Cinnamon се осамосталио1 5 октобар

Cinnamon 20 је постаосамостално окружењерадне површи као по-следица брзог и

непредвидивог развоја GNOME 30окружења

Користан линк httpbitly1 9MC88b

GCC4821 6 октобар

Објављен је GNU Cкомпајлер са више од70 отклоњених буба

Користан линк httpjmp1 avvHDt

Ubuntu 13101 7 октобар

Објављени су UbuntuKubuntu Xubuntu иLubuntu 1310 кocircдногимена SaucySalamander

Користан линк httpbitly1 bZTW3f

ЛиБРЕ вести број 1 8

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 6: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу6

Нови Mercedes-Benz користи Ubuntu иXubuntu7 октобар

Прототип новог Mercedes-Benz аутомобила S кла-се са интелигентнимаутономним управља-њем користи Ubuntu и

Xubuntu

Користан линк httpjmp1 fdh8LO

FirefoxOS119 октобар

Објављен је FirefoxOS11 Међу изменама је иMMS подршка као иподршка за више од 1 5језика

Користан линк httpjmp1 5q4DHf

Објављен је Linphoneweb 101 0 октобар

VoIP позиви из web пре-гледача уз помоћ opensource решења Linphoneweb

Користан линк httpjmp1 cEZ0tq

Објављен је AbiWord301 3 октобар

AbiWord 30 текст про-цесор са собом доносиGTK3 подршку као имногобројне испра-вљене бубе

Користан линк httpjmp1 alk7ur

Крајразвоја за Linux301 3 октобар

Након 1 00 тачка издањаLinux 30 се више нећеразвијати Корисницимасе препоручује прелазакна Linux34 или 310

Користан линк httpjmp1 hRsQZm

Cinnamon се осамосталио1 5 октобар

Cinnamon 20 је постаосамостално окружењерадне површи као по-следица брзог и

непредвидивог развоја GNOME 30окружења

Користан линк httpbitly1 9MC88b

GCC4821 6 октобар

Објављен је GNU Cкомпајлер са више од70 отклоњених буба

Користан линк httpjmp1 avvHDt

Ubuntu 13101 7 октобар

Објављени су UbuntuKubuntu Xubuntu иLubuntu 1310 кocircдногимена SaucySalamander

Користан линк httpbitly1 bZTW3f

ЛиБРЕ вести број 1 8

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 7: Libre 18 Hd Cir

Октобар 2013 7

Calligra 2741 7 октобар

Објављен је Calligra 274канцеларијски скупалата

Користан линк httpjmp1 fI0KmU

PHP5551 7 октобар

Објављен је PHP 555 са20 закрпљених буба иподршком за GNUHurd

Користан линк httpjmpH2NFG2

Wiresharkпрелази наQt1 9 октобар

Wireshark популарнианализатор мрежногсаобраћаја прелази наQt пакет алата

Користан линк httpjmp1 aaATvD

Twitterи open source21 октобар

Како би превентивноделовао у циљу спре-чавања прекида свогсервиса у раду Twitterпрелази на open source

Користан линк httpjmp1 7EVSqu

LGFireweb23 октобар

LG је издао Fireweb својпрви Firefox OS smart-phone који је представ-љен у Бразилу

Користан линк httpjmp1 8vMgOr

Androidслави рођендан24 октобар

Android слави 1 0 годинапостојања Срећан тирођендан Android-у

Користан линкhttpjmp1 ikwTxK

ЛиБРЕ пријатељи

ЛиБРЕ вести број 1 8

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 8: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу8

Аутор freeopennet

Н акон четири месеца развоја преднама се налази freeOpennet beta4

Заиста је напредак и више негоочигледан За оне који још увек незнају freeOpennet је нова друштвенамрежа (активан портал) намењенапрвенствено GNULinux корисницима идевелоперима али добродошли су свикоји на било који начин подржавајуслободан и отворен софтвер

Осмишљена је тако да пружи потпунуслободу приликом презентације вашеили вама омиљене дистрибуције Какосе не бисмо понављали (чему којаопција служи) из једног од претходнихбројева (1 3) изнећемо само променекоје beta4 доноси Наспрам beta3верзије beta4 доноси заиста многотога новог а акценат је стављен напобољшање корисничког искуства

Ово је списак основних промена које

FFrreeeeOOppeennnneett bbeettaa 44

FreeOpennetbeta 4Пулс слободе

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 9: Libre 18 Hd Cir

Октобар 2013 9

freeOpennetbeta4 доноси

- Јединствени профил (нема вишеподела на Userи ActiveUserпрофиле)

- Лакше повезивање измеђукорисника

- Могућност праћења другогкорисника тј његовог профила(Follow)

- Два функционална ActiveWall-а(један за профиле које пратимодруги за профиле приијатеља)

- HomeActiveWall - нове објавекорисника којих пратимо

- FriendsActiveWall - приказује шта сунаши пријатељи коментарисали

- Препорука садржаја који сузанимљиви вашим пријатељима

- Лакши унос садржаја (текствидеоhellip)

- Омогућен унос садржаја (текствидеоhellip) директно на ActiveWall

- Преглед коментара садржаја наActiveWall страницама

- Коментарисање садржаја безнапуштања ActiveWall страница

- Преглед садржаја који су унеликорисници без напуштања њиховогпрофила

-MyPanel са новим ифункционалнијим распоредом

- Favorite Userлиста- Унапређен изглед страницапрофила

- Омогућено коментарисањесопственог садржаја

- Омогућено додавање свог профилау листу пријатеља

- Омогућено да FriendsActiveWallприказује који садржај стекоментарисали

- Сви могу додавати садржај(дистрибуције апликације видеоблог и најаве)

- Поједностављено кретање крозсадржај

- Промењена насловна страна (занерегистроване)

- Додато уочљивије Followдугме- Клик на лого у header-у аутоматскивраћа на Home страницу

Укратко да појаснимо најбитнијапромена је то што се ипак одустало оддве врсте корисничких профилаТренутно постоји само једна врстакорисничких профила у којој је сажетоскоро све из некадашња оба профилаали зато постоје два ActiveWall-а (Homeи Friends) Овако је почетницимаолакшано сналажење али и самикорисници сносе већу одговорност јерје тренутно свима дозвољено поста-вљање текстова видеа линкова заdownloadдистрибуција сликаhellip

Такође једна од новости је праћењедругог корисника Више није потребнослати захтев за одобрење другомкориснику како бисте могли дапратите на свом зиду (Home ActiveWall)његове објаве довољно је само дакликнете на дугме Follow и аутоматскисве његове објаве су видљиве и навашем зиду (нешто попут Twitter-а)

Наравно уколико желите да пратитеактивно и његове коментаре (иликоментаре неког другог корисника)морате да му пошаљете захтев запријатељство У зависности од њего-вог подешавања може аутоматски даприхвати ваше пријатељство или пакморате да сачекате његово одобрење

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 10: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу1 0

Овом опцијом сем што пратитењегове коментаре такорећи он вампрепоручује друге објаве корисникаFriends ActiveWall је врло квалитетно ипрактично решење и уколико иматемного активних пријатеља бићете ивише него обавештени о дешавању услободном свету

Ово наравно није све већ само основаза оно што следи а то је далекокомфорнији преглед и коментарисањеобјава Више не морате да напуштатеActiveWall како бисте прочитали илипрокоментарисали неку објаву Ди-ректно на ActiveWall-у кликом на пољевам се отвара искочни прозор сакомплетним текстом и коментаримавезаним за тај текст Ту се наравноналази поље за унос вашег коментара

Новост је и додавање садржајатекстова (објава) видеа и најавадиректно на ActiveWall Кликом наодређену иконицу која се налази слеве стране отвара се форма занаменски унос Ово је практичнорешење и омогућава брзо и лакододавање садржаја

Најбољи начин да се упознате сановинама које freeOpennet beta4доноси јесте да сами истражитеСлободно прегледајте садржај додајтенајаве опишите укратко дистрибуцијеили програме које користите изнеситесвоја искуства или проблеме с којимасте се сусретали приликом инста-лације и употребе или пак изнеситекорисна решења Не морате битипрофесионални блогер већ једно-ставно бележите своја запажања

FreeOpennetbeta 4Пулс слободе

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 11: Libre 18 Hd Cir

Октобар 2013 1 1

препоручујте странице и наравноумрежавајте се Што већи кругпријатеља будете имали тиме ћетестећи и поделити више знањаАктивно доприносите развоју мрежејер ви сте креатори садржаја као иглавни критичари истог а такођеможете да утичете и на додавањенеких нових проширења наfreeOpennet-у

FreeOpennetbeta 4Пулс слободе

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 12: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу1 2

UUBBUUNNTTUU11331100SSaauuccyy SSaallaammaannddeerr

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 13: Libre 18 Hd Cir

Октобар 2013 1 3

Аутор Ubuntu Србија

Као што смо навикли у свомшестомесечном ритму Ubuntu

1310 је стигао да попуни дуги низUbuntu издања најпопуларније Linuxдистрибуције Како је у питањунајраширенија дистрибуција нималоне чуди што је у слободном свету ововажан догађај

Шта нам ново доноси Salamander

Аутор овог представљања ретко радиclean install система Много чешће саиздања на издање прелази upgrade-оми то још на развојној грани Овог путасе улењио па је Salamander bdquoслетеоrdquo нањегов desktop кроз чисту инсталацијуБаш због тога се изненадио изгледоминсталера Видан напредак је пости-гнут на том пољу Могућност да

сопствени Ubuntu One сервис повежетеса поступком инсталације је добра икорисна ствар Многи корисници имајунавику да поједине пакете deb-ове исвашта нешто чувају на Ubuntu One паје згодно имати их при руци кадзатребају

Дакле Ubuntu One као део инста-лације јесте добродошла промена

Unity се у верзији 7 задржао каоподразумевано окружење за UbuntuUnity 7 постаје све bdquoзрелијиrdquo пројекатОсим што је (очекивано) осетно бржинего Unity на 1 204 који аутор користина лаптопу визуелно је bdquoиспегланијиrdquoи значајно богатији То богатствопоготово долази до изражаја кадабацимо поглед на количину сочива(scopes) чији задатак је да претрагуспецифичних података ограничи напоједине области Сама идеја сочиваније лоша Прескаче се претрага у вебпретраживачу али таква претрага даје

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 14: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу1 4

поплаву резултата без финог филтри-рања што онда постаје бесмисленоЗбог ограниченог простора и дизајнаDash-а сама корисност сочива јеупитна Тај задатак тек стоји предUbuntu развојним тимом како и накоји начин ту врсту претраге учинитипаметнијом У међувремену кори-снику остаје да по сопственом нахо-ђењу поступком укључивања и искљу-чивања појединих сочива добијежељени резултат Са друге странеUnity тим обећава да ће временом самUnity учити од корисника и да ћекориснику нудити боље резултатешто на свеже инсталираном Ubuntu-уне можемо проверити

Са друге стране можемо поздравитишто је напокон Gnome3 коректно

имплементиран у Ubuntu па Nautilusизгледа како треба без додатнихнапора корисника Кад смо већ код

визуелног изгледа овај Ubuntu јенајлепши до сада барем по мишљењуаутора овог текста Како је лепотасубјективна категорија а аутор нијеусамљен у овој тврдњи можемослободно рећи да Ubuntu визуелноизгледа одлично у кожи Salamander-а

Обрадовали смо се такође кад самоbdquoналетелиrdquo на Geary lightweight emailпрограм у софтверском центру Тосведочи да вредан рад Elementharyтима није незапажен што је доброThunderbird штуца са развојем патопло препоручујемо миграцију на овајсјајни лагани mail програм

Mir није подразумевани графичкисервер ту је стари X Са друге странеMir се инсталира лако и једноставно и

ради на ауторовој Nvidia графичкоjкартици лепо и глатко Ово не значи даће све Nvidia картице подржати Mir анисмо проверили какво је стање са

Ubuntu 1310 SaucySalamanderПредстављамо

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 15: Libre 18 Hd Cir

Октобар 2013 1 5

AMDATI графичким картицама

Дебата Mir против Wayland заслужујепосебан текст о томе ће се још многоговорити и куцати па се нећемо овде

бавити дебатом можда у некомследећем броју Можемо само рећиndash Open Source је слобода па ислобода Canonical тима да развијашта пожели

Уместо закључка Salamander намдоноси брзину стабилност коракнапред и представља последњеbdquoразвојноrdquo издање пред следећиLTS LTS ће бити вододелница идонеће одговор на питање raquoКудадаљеlaquo Како то питање уопштеније једноставно очекујемо да

следећи LTS буде достојан одговорSalamander је ту да том одговору дасолидан темељ и тај посао је урадиовеома добро Званична подршка је до

јула 201 4 године што значи да уовом тренутку Ubuntu има триактивна издања шест уколикорачунамо сервер и то је за свакопоштовање

Ubuntu 1310 SaucySalamanderПредстављамо

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 16: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу1 6

Аутор Александар Брковић

ArchBang Linux заснован је напринципу минимализма и једно-

ставности Захваљујући Openbox-у којије подразумевани window managerпостиже високе перформансе чак и нахардверу старије производње Компа-тибилан је са i686 и x86-64 рачунаримаи претежно је састављен од слободногсофтвера Rolling release принцип дајемогућност да се ажурирањем системаувек изврши надоградња на најновијеиздање

Настанак наведене дистрибуције ин-спирисан је постојањем CrunchBangLinux-а Willensky Aristide је заслужан занастанак ArchBang дистрибуције Циљје био да се направи Linux дистри-буција чија ће основа бити Openboxwindow manager а која ће функ-ционисати по rolling release приницупуУ ту сврху изабран је Arch linux и узпомоћ и подстицај сарадника настао јеArchBang Linux Од 1 6 априла 201 2нови руководилац пројекта је StanMcLaren

ArchBang Linux20130901

ArchBang Linux20130901Представљамо

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 17: Libre 18 Hd Cir

Октобар 2013 1 7

Конфигурација

ArchBang није дистрибуција намењенапочетницима већ искуснијим кори-сницима сва се подешавања системаврше текстуално унутар команднелиније ArchBang нема графичке алатепомоћу којих би се вршила конфи-гурација и одржавање системаПрипада дистрибуцијама сацентрализованомконфигурацијом и сличан јеGentoo дистрибуцији Цен-трална конфигурациона дато-тека налази се у etcrcconfи садржи основне податке иинформације о систему каошто су временска зоналокализација модули који сеучитавају приликом покре-тања система као и сервисикоји се покрећу заједно саоперативним системом Цен-трално место свих сервисаодносно њихових стартскрипти је etcrcd

Инсталација

ArchBang долази са модификованимArch Linux графичким инсталеромСкрипта за инсталацију пружаједноставан водич лак за праћењекоји корак по корак приказујеинсталациони процес Корисницимакоји се први пут срећу са овимсистемом поједностављен процесинсталације нуди велику олакшицу уодносу на Arch из којег вуче коренеCfdisk текстуални програм ће извр-шити поделу партиција на хард дискуформатирање swap и root партицијеинсталер даље води корисника кроз

процес одабира временске зоне иподешавања времена постављањелозинке за root налог креирањекорисничког налога и инсталацијудатотека на хард-диск ПодразумеваноArchBang инсталира GRUB покретачкипрограм Процес инсталације је веомабрз и траје око петнаест минута

Изглед

Након завршетка инсталационогпроцеса корисника ће раднаповршина десктоп са небоплавомпозадином у десном углу conkyпрограмом са основним параметримаи панелом на дну екрана Нема pop-upпрозора нема обавештења одоступним ажурирањима Оперативнисистем не комуницира са корисникомсве док се не издају одговарајућекоманде Графички управљач датотекане препознаје по dеfаult-у ознаке типадатотека Двоклик на текстуалну илиаудио датотеку неће проузроковати

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 18: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу1 8

подразумевану радњу већ ће кори-сник прво морати да успостави везуизмеђу типова датотека и апликацијакојима се одређене датотеке покрећу

Апликације

Када је реч о апликацијама ArchBangLinux доноси мали број унапрединсталираних апликација Firefox вебпрегледач калкулатор прегледач сли-ка и SpaceFM управљач датотекаСтандардно је инсталирано и неко-лико алата за подешавање и прила-гођавање изгледа Openbox windowуправљача Network menager је такођепрединсталиран да би омогућиоконекцију која је потребна за даљунадоградњу система У позадини нала-зимо кернел у верзији 31 0 Суштин-ски пред корисника је постављензадатак да у складу са својим

могућностима и својим потребамасамостално изгради систем до границеупотребљивости

Управљање пакетима

Инсталација ажурирање иуправљање програмским паке-тима врши се уз помоћ алаткеPacman који је једини управљачпакетима на овој дистрибуцијиФормат пакета је датотека чијаје екстензија pkgtargz односнопакет је компресована датотекакоји садржи бинарне датотекеинформације о пакету и начинуинсталирања

Пакети се налазе у пет главнихбинарних репозиторијума

bull Current ndash садржи основнепрограмске пакете за потпуну

инсталацију системаbull Extra ndash у њему се налазе програмскипакети који нису неопходни али судобра алтернатива

bull Unstable ndash садржи незваничнепакете који су још увек у развоју

bull Testing ndash ризница нестабилнихпакета који још увек имају багове имогу да изазову проблеме

bull Communityndash садржи пакете који сунаправљени од стране корисникаArch-а често су то пакети из AUR-а

bull AUR (Arch UserRepository) - поредбинарних пакета у наведенимскладиштима постоје и пакети саупутствима како направити иинсталирати пакете из изворногкода Овај начин користи PKGBUILDтекстуалне датотеке у којима је

ArchBang Linux20130901Представљамо

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 19: Libre 18 Hd Cir

Октобар 2013 1 9

записано кодирано упутствоза комплетну израду пакетапомоћуmakepkg командеКорисници Arch-а самиправе PKGBUILD датотеке теих постављају на интернет уAUR спремиште да би иостали корисници ималикористи од њих Проверении признати пакети из AUR-асе премештају у Communityрепозиторијум и постајуслужбени пакети

Да би Pacman исправно функ-ционисао потребно је наконинсталације да изменимолисту репозиторијума те даомогућимо оне најближе нама као ида извршимо синхронизацију сасерверима Добра идеја је омогућитивише репозиторијума у случају даједан није синхронизован са другимаНакон тога је могуће извршитиинсталацију и ажурирања софтвера

Софтвер је увек најновији и ажурирасе често То резултира потенцијалномнестаблиношћу и може да доведе допада система будући да пакети нисуимали много тестирања Због тога сепрепоручује опрез приликом преу-зимања надоградњи те се саветујечитање online документације о приме-ни тренутних исправки да би сеизбегли евентуални проблеми

Закључак

Од корисника ArchBang система сеочекује да подешавања система радеручно Потребно је чешће дружење са

командном линијом и текстуалнимуређивачима Због тога се не препо-ручује свим корисницима Они којиимају солидно знање ентузијасти којиволе да истражују срж оперативногсистема могу да се опробају укоришћењу ArchBang дистирбуцијеСистем ће изгледати онако како гакорисници склопе Заузврат ће добитивеома брз систем са тренутачнимодзивом апликација који у исто времетроши веома малу количину систем-ских ресурса Изазов за упорнехрабре и кориснике који не одустајуодмах када се појави први проблем

Корисни линкови[1 ] httpdistrowatchcomweekly

phpissue=201 30923[2] httpenwikipediaorgwiki

ArchBang[3] httpenwikipediaorgwiki

Pacman_(package_manager)

ArchBang Linux20130901Представљамо

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 20: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу20

Аутор Дејан Маглов

За ову епизоду претпоставићемо дасте већ успели

1 да креирате један HTML документ уSigil-u

2 да у њега поставите ваш текст3 да текст форматирате и4 да стилове преместите у посебанCSSдокумент и повежете га савашим HTML документом

Још само да напоменемо да ће сваканакнадна интервенција на форматутекста употребом Sigil-ових алата заформатирање бити записана као новистил у облику

ltstylegthellipltstylegt

а не директно у повезани CSS до-кумент

Ако желите да тај стил буде при-мењиван на више места у документуручно морате да га пребаците у вашCSSдокумент

Примена нестандардногфонта

У прошлом броју (1 7) оставили смо

недоречено како смо у нашем доку-менту додали и применили нестан-дардни Minion Proфонт

Дефинисање фонта је аргумент HTMLтага као на пример

ltp style=ldquofont-family Minion

ProldquogtHelo worldltpgt

Овај p таг (таг параграфа) је дефинисанда буде исписан Minion Pro фонтом Дали ће и бити исписан на тај начинзависи од тога да ли на уређају којичита овај HTML документ постојиинсталиран Minion Pro фонт Ако непостоји биће исписан подразуме-ваним фонтом за тај уређај

Web дизајнери проблем са фонтовимарешавају тако да никад не дефинишу уfont-family само један фонт него читавуфамилију сличних фонтова као например

font-family SwatchCTArial

Helveticasans-serif

Први фонт је идеалан и баш оно штоби дизајнер волео да корисник видиОстали фонтови из те фамилије суалтернативa уколико предходногфонта из списка нема Web дизајнериводе рачуна о стандардним фонтовимаза све оперативне системе и такобирају алтернативе

Мала школа Sigil 072 (6 део)

ДДооддаавваањњее ппррииллооггаа

Мала школа SigilКако да

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 21: Libre 18 Hd Cir

Октобар 2013 21

EPUB као формат за електронскекњиге има могућност да у својојдефиницији има придружен жељенифонт

Битно је за почетак да дизајнер знагде му је жељена фонт датотека

Постоји велики број фонтова али ивелики број типова фонт датотекаДанас су најчешће у употреби OTF(OpenTypeFont) TTF (TrueTypeFont) и тосу два типа која прихвата Sigil

У нашем случају за правилан приказпримера Калибрације потребне сунам датотеке Минион Про фонтфамилије MinionPro-Boldotf MinionPro-BoldItotf MinionPro-Itotf иMinionPro-Regularotf

Десним кликом на Book Browser rsaquo Fontsи избором Add Existing Files додаћемоове датотеке Minion Pro фамилијефонта Осим Minion Pro фонта упримеру се користи FreeMono илиmonospace фонт Да бисмо обезбедилида корисник сигурно има један од тадва фонта додаћемо и FreeMonottf наисти начин

Када се овако уграде фонтови у ePUBдокумент e-book читач прво тражиуграђене фонтове Ако не нађе одго-варајући фонт у ePUB-у онда тражиисти на свом оперативном системуТек кад нигде не нађе одговарајућифонт примениће подразумевани фонтсистема на ком ради

Илустровање ePUB-а

Текст у ePUB-у се може илустроватисликама видео и аудио материјаломSigil прихвата следеће формате заилустрације

1 слике у PNG JPG GIF (растерскаграфика) SVG (векторска графика)формату

2 аудио уMP3 AAC MPG MPEG M4Aформату

3 видео уMP4 OGG WEBM M4Vформату

Најбитније на шта треба обратитипажњу приликом илустровања ePUB-ајесте припрема материјала Крајњициљ је да ePUB документ буде штомањи да би то било могуће свекомпоненте ePUB-а морају бити штомање На величину текста фонтфајлова не можемо да утичемо али навеличину слика видео материјала иаудио материјала итекако можемо

Иста слика у различитим форматимадаје различите величине датотекаНаше искуство је да JPG формат дајенајбољи однос величина ndash квалитетзато препоручујемо да све сликеприпремите у том формату Постојеизузеци нпр када нам је потребнатранспарентност слике JPG неподржава транспарентност и тада сеупотребљава PNG који је подржава GIFсе највише употребљава у обликуанимираног GIF-а За илустрације одкојих се захтева велика оштринанајбоље је решење ако је то могућеда то буде векторска SVG слика

За ePUB резолуција слика треба да

Мала школа SigilКако да

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 22: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу22

буде на нивоу слика припремљених заинтернет то јест максимална резо-луција 72 тачке по инчу (DPI) EPUB ћечесто бити читан на савременимтелефонима Ови телефони су у стањуда прикажу слику резолуције и до 600DPI У екстремним случајевима аковам је врло битно да се виде детаљина слици можете припремити и јакомале слике са високом резолуцијомОднос величина ndash резолуција битребало да буде у границама да закрајњи резултат слика не прелази 150kB

Sigil се исто тако побринуо да подр-жани аудио и видео формати буду садобром компресијом што обезбеђује

мале датотеке

Сви припремљени материјали се насличан начин увозе у Sigil

1 Растерске SVG векторске слике ианимиране GIF-ове ndash десним кликомна BookBrowserrsaquo Images и изборомAddExisting Files

2 Аудио фајлове ndash десним кликом наBookBrowserrsaquo Audio и избором AddExisting Files

3 Видео фајлове ndash десним кликом наBookBrowserrsaquo Video и избором AddExisting Files

Сваки пут кад изаберете Add ExistingFiles отвара се дијалог запретраживање file system-а и могуће је

Мала школа SigilКако да

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 23: Libre 18 Hd Cir

Октобар 2013 23

Мала школа Sigil

увести више датотека истовременоМожете истовремено увозити сликевидео аудио датотеке и фонтове Sigilће непогрешиво распоредити слике уImages директоријум видео у Videoаудио у Audio фонт у Fonts а све осталошто не препозна уMiscфасциклу

За крај

Овим смо додали све што је потребнонашем ePUB документу из спољњихизвора и сада само треба лепо дараспоредимо О томе ћемо писати уследећем броју

Како да

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 24: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу24

PPCC ггеејјммииннгг ииннддууссттррии јјаа ммеењњаассввоојј ппрраавваацц ппррееммаа ооттввооррееннооссттии

Ослобађање

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 25: Libre 18 Hd Cir

Октобар 2013 25

Аутор Александар Тодоровић

Сви знамо да је Microsoft већ дужегодина главна платформа за PC

гејминг Знамо да нисте задовољнитиме јер да јесте вероватно не бистечитали наш часопис Међутим про-шлог месеца су најављене огромнепромене за гејминг индустрију укорист отворено-сти Пре почеткада са се мало под-сетимо ВерзијаSteam-а за Mac ра-чунаре постоји већтри године а за товреме је избачено525 игара за Macплатформу Среди-ном фебруара јеизашао Steam заLinux дистрибуцијеи за само осаммесеци је бројподржаних игараза Linux опера-тивни систем прешао бројку од 200игара Међутим оно што је Valve идевелопере навело на размишљање сузаправо перформансе где се нанеколико тестова Linux платформапоказала као доминантна у односу наWindows на којем тренутно имаубедљиво највише наслова (преко21 00)

На недавно одржаној северноаме-ричкој Linux конференцији у ЧикагуGabe Newell суоснивач Valve-а -

компаније која је развила Steamнајавио је како његова фирма не желивише да буде овисна о Microsoftu ињеговим производима Крајем септем-бра је Vavle објавио како то планира даоствари избацивањем властитедистрибуције базиране на Linux-у Одтада се много тога променило Прво јеNvidia понудила помоћ девелоперимакоји стоје иза драјвера са отворенимкодом за њихове графичке картицеДва дана касније је Vavle најавио да ће

да почне произво-дити хардвер пред-стављајући Steam-Machines као соп-ствене PC уређајекоји ће да покрећуSteamOS Исти дансу два највећа прои-звођача графичкихкартица (Nvidia иAMD) најавили даће далеко већупозорност посвети-ти својим драјвери-ма за GNULinuxдистрибуције аAMD је направиопрви корак пред-

стављањем MANTLE-а MANTLE је APIнижег нивоа који ће моћи боље даискористи могућности графичкихкартица Израда у MANTLE-у значимало више посла за девелопере бољеискуство за играче и оно најважније ndashалтернативу за DirectX (узимајући уобзир да ће MANTLE бити мулти-платформски и да ће његов код битијавно доступан) Последњи новитет јенови контролер од стране Valve-а

Ослобађање

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 26: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу26

Дакле корисници Linux-а добијају јошједну дистрибуцију на избор Valve-овфокус више није Microsoft-оваплатформа а девелопери су добили и

разлог и средства дамного више временапроведу фокусирајући сена Linux платформеНевероватно је колико сепромена за PC гејмингнајавило у тако краткомвремену SteamMachines семоже посматрати као првипокушај да се PC гејмингприближи конзоламаМеђутим оно што га из-дваја од осталих (заједноса свим новитетима које јеValve објавио) јестепотпуна могућност прила-гођавања У најави је ре-чено како имате у потпу-ности могућности као што

су инсталирање другог системадодавање програма брисање посто-јећег замењивање неког дела

PC гејминг индустрија мења свој правац према отвореностиОслобађање

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 27: Libre 18 Hd Cir

Октобар 2013 27

хардвераhellip Дакле било шта што вампадне на памет Све се ставља подконтролом корисника и зато су овиновитети постали огромна вест заљубитеље отвореног кода и хакереширом света

Разлога за прелажење на Linux је свевише Када би сада питали некогазашто не пређе на Linux великипостотак корисника ће вам рећи дазбог тога што не може да покренеодређену игру Узимајући у обзир новулавину промена коју је Valve најавиота тренутна предност на страниMicrosofta убрзо ће да нестане Бројразлога за прелазак на Linux је свевећи а број разлога да се остане наWindows-у се полако смањује У име

наше редакције а вероватно и у имесваког љубитеља слободног софтверавелико хвала Valve-у

PC гејминг индустрија мења свој правац према отвореностиОслобађање

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 28: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу28

Аутор Александар Станисављевић

pySioGame је игрица или бољеречено скуп образовних програма

намењен деци узраста од 3 до 1 0година

Цела игрица је подељена на следећеобласти језик математика снала-жење у времену уметност памћење и

забава Као највећа област посебно сеистиче математика

Језик

Ова област садржи две категоријеучење слова и бројева (Discover Letters)и учење нових речи (Learn NewWords)

Код учења слова и бројева деца сенајпре упознају са енглеским алфа-

бетом путем сли-ка које су имено-ване

Слика 2Упознавање сасловима путемименованихслика

Кликом на одре-ђено слово енг-леског алфабетаотвара се сликакоја почиње тим

ССллооббооддаанн ссооффттввеерр ззаа ооббррааззоовваањњее ддееццее ((22 ддееоо))

Ослобађање

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 29: Libre 18 Hd Cir

Октобар 2013 29

словом при чему је почетно словонаписано као велико и мало а уједно икао штампано и писано

Ту је затим и учење писања наученихслова Прво је дато почетно слово азатим и реч која тим словом почиње акоје је потребно написати

Слика 3 Учење писања слова и речи

Након тога долази на ред учењеенглеског алфабета Најпре је потре-бно пронаћи слово које недостаје азатим и сортирати дата словаенглеског алфабета

Слика 4 Учење енглеског алфабетапроналажењем слова која недостају

Слика 5 Учење енглеског алфабетасортирањем датих слова

Ту је такође и учење слова и бројевапутем исправног куцања (о чему је већбило речи у 1 6 броју ЛиБРЕ часописа)

Слика 6 Учење слова и бројева путемисправног куцања

Код учења нових речи деца се најпреупознају са писањем задатих речи узпомоћ скупа понуђених слова а затимкроз игру у лавиринту састављајузадату реч тако што управљају бубомкоја треба да bdquoпоједеrdquo дата слова а дасама не буде bdquoпоједенаrdquo од странедругих буба

Слободан софтвер за образовање децеОслобађање

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 30: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу30

Слика 7 Учење слова кроз лавиринтигрицу

Математика

Математика као највећа област у овојигрици подељена је на вишекатегорија математика 1 (бројеви иосновне рачунске операције) мате-матика 2 (напредне рачунске опе-рације) математика 3 (сортирање иупоређивање) рад са великим броје-вима геометрија и препознавањеоблика Нећемо се детаљније задр-жавати на овој области пошто јевелика већ ћемо навести само пармогућности које нуди

Слика 8 Математика 2 ndash Учењемножења

Слика 9 Математика 3 ndash Груписањеразломака

Важно је напоменути да код груписањаразломака морате вршити груписањеоним редоследом који је дат на деснојстрани што по нашем мишљењудодатно отежава задатак имајући увиду да се овиме отежава коришћењеметода елиминације приликомрешавања задатка

Слика 1 0 Рад са великим бројевима ndashУчење поступног одузимања

Ослобађање

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 31: Libre 18 Hd Cir

Октобар 2013 31

Слободан софтвер за образовање деце

Слика 1 1 Геометрија и препознавањеоблика ndash Геометрија чврстих тела

Време

У овој области деца се најпреупознавају са начином рада аналогногчасовника тако што померајућипроизвољно његове казаљке могувидети које време часовник показујеНакон тога уче да читају које времедати часовник показује и на крају какосами да подесе часовник при чему сезадатак усложњава до те мере да су имнапослетку у облику бројеваприказани само квартални часови аостали часови и минути су приказанисамо у облику цртица

Слика 1 2 Време ndash Подешавањечасовника

Уметност

У овој области је најпре доступанобичан програм за цртање (Paint) Нопоред њега занимљиве су осталекатегорије у којима је акценат стављенна боје (препознавање боја мешањебоја и сл)

Слика 1 3 Уметност ndash Мешање боја

Памћење

Ова област се заснива на памћењупојава на екрану Најпре је потребнозапамтити смерове у којима се крећептица затим бројеве који су на краткоистакнути на екрану и на крају требапронаћи парове откривањемскривених поља при чему се иза тихпоља могу налазити животиње воћеповрће и бројеви

Ослобађање

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 32: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу32

Слика 1 4 Памћење ndash Проналажењепарова поврћа

Забава

Циљ ове области је да децу мало вишезабави али опет стављајући акценатна образовање Посебно су раздвојенеоне игрице које су за једног од онихкоје су за више играча при чему јенајвећа пажња посвећена првој групиигрица Тако деца кроз игру могу данауче ког је облика нека животиња даспајају одређене елементе истих бојада ређају бројеве у растућемредоследу или да склапају слагалицуодређене животиње или одређеногброја

Слика 1 5 Забава ndash Склапањеслагалице пингвина

Игрицама које су намењене вишеко-рисничком игрању није посвећенавећа пажња па се у овој категоријиналазе само две bdquoикс-оксrdquo игрице

Према нашем мишљењу ово јеодличан пример како се деца могуобразовати коришћењем рачунараИдеално би било када би овајсофтверски пакет домаћи програмери(у сарадњи са изворним програмером)прилагодили нашем говорном подру-чју али и без тога овај програм јевеома употребљив Зато позивамо сведомаће програмере да се у овомпогледу укључе у даљи развој овогпрограм а децу позивамо да кроззабаву науче нешто ново

Наставиће сеhellip

Корисни линкови[1 ] httpsourceforgenetprojects

pysiogame[2] httpswwwfacebookcom

pysiogame[3] httpwwwyoutubecomwatch

v=aqr1 LqR0RwI

Слободни професионалацОслобађање

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 33: Libre 18 Hd Cir

Октобар 2013 33

Аутор Никола Харди PHP је доминантан алипостоје и друге могућности

PHP је још увек доминантан језик усфери web програмирања али

одувек је присутна и алтернативаНекада су bdquoозбиљнеldquo web апликацијеписане у Javi хакерима је био заним-љив Perl а љубитеље MS технологијесу привлачили ASP ADO и други Упоследње време су JavaScript Ruby иPython врло популарни а и у нашемчасопису смо у више наврата писали оweb програмирању у Python-у па исада желимо да поделимо нека нашаискуства

Шта је проблем и шта је циљ

Многе колеге и пријатеље који већдуго користе PHP покушавамо полакода наговоримо да пређу на Python иупорно им показујемо нове врато-ломије које изводимо али они јошувек имају један снажан аргумент а онје bdquoГде ћу ја то да hostujemldquo

Хајде да се укратко присетимо шта јепотребно за покретање једне PHP иједне Python web апликације и каквасве решења имамо у понуди

ППуушшттаањњее PPyytthhoonn wweebb ппрроојјееккааттаа уу рраадд

(пропратни проблеми и нека решења)

Слободни професионалацОслобађање

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 34: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу34

Класичан bdquosharedldquo web hosting планобухвата простор за складиштењедатотека на серверу са FTP приступом(File Trynsfer Protocol) одређени бројбаза података и неку врсту контролнетабле као што је то рецимо CpanelНаравно уз све то нас чека и webсервер подешен за наш сајт и чијуконфигурацију углавном у оваквојситуацији не можемо да прила-гођавамо Када се одлучимо за овакворешење све нас лепо чека подешено ими само треба да поставимо свој кocircдподесимо базу података уколико је тонеопходно ndash и можемо да користимонаш нови сајт

Са друге стране постоје и bdquovritualprivate serverldquo (VPS) решења којаподразумевају да на располагањуимамо цео рачунар Hosting провајдернам обезбеди виртуелну машину сажељеном дистрибуцијом односнооперативним системом и достави нампараметре за приступање тој машнипутем SSH протокола (Secure SocketShell) Као root можемо да радимо шта

хоћемо а за једну python апликацију тозначи следеће инсталирати потребнепакете обезбедити сервис који ћепокретати апликацију (рецимо uwsgiили gunicorn) proxy сервер заприхватање спољашњих захтева ипрослеђивање тих захтева претходнопоменутом сервису (практично је то упитању proxy и Nginx је сјајан избор) ибазу података која нам одговара

Морамо још једном да нагласимо да јена клијенту обавеза да обезбеди овересурсе и подеси их за рад јер је добиорачунар на којем је инсталиран самооперативни систем За PHP нас је свечекало подешено и било је потребносамо да поставимо кocircд нашег сајта

Постоји и трећа страна коју још увекнисмо сретали у понудама hostingкомпанија из региона У питању сутакозвана PaaS решења (Platform as aService) а реч је о томе да компанијаклијентима нуди разне платформе већподешене за различита окружења којасу врло свежа занимљива и можда

егзотична Осим избораплатформе имамо мо-гућност и за скалирањеда изаберемо коликонам је сервера потребнокоји ће шта да ради данаправимо cluster преманашим потребама Овомприликом споменућемоHeroku сервис и ком-панију која има сјајнеуслове за бесплатнеапликације и која јеизбор многих web про-грамера који се бавеовим новим шареним

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 35: Libre 18 Hd Cir

Октобар 2013 35

технологијама Сервис као што јеHeroku можемо и сами да одржавамојер су присутни пројекти као што јеOpenShift Heroku и OpenShift су једнасасвим посебна прича

Помоћни алати

Многе компаније у својем IT арсеналучесто имају и сервере о којима себрину имају запослене који су одго-ворни када нешто закаже (тзвsysadmini) и донекле разрађену

инфраструктуру Наравно највише штаможете да очекујете да ћете затећи утаквом окружењу су редован webсервер и евентуално неко Javaрешење (Tomcat или NET ASP ADO идружина) Наравно то нам не одговараза Python и можемо или да седоговоримо са запосленим да на некуод постојећих машина инсталирају иподесе оно шта нам је потребно за радили да нам обезбеде једну посебнумашину коју ћемо спремити себионако како нама одговара Следиобјашњење зашто је добро иматипосебну машину и неколико кориснихалата који ће нам олакшати да то свесредимо

Сви ми на нашим рачунарима имамогомилу софтвера за које ни не знамода су присутни Подешавали смосистеме на свакакве начине и мала јевероватноћа да ћемо наићи на истуконфигурацију а у продукцији и томоже да доведе до врло озбиљнихпроблема када наше новоиспрограмирано чедо преселимо надруги рачунар и многе ствари више нераде Чак и ако успемо брзо дапохватамо шта је недостајало иправило проблеме следећи пут каданешто изменимо не можемо битисигурни да ли је та промена успешнообављена само на нашем систему илиће проћи безболно и у продукцијиРешење је да сваки програмер којиради на одређеном пројекту има нарасполагању и окружење какво гаочекује у продукцији и пре пуштањановог кocircда или сервиса да може да гатестира у условима који вернопресликавају стварно стање

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 36: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу36

Vagrantи Puppet

Sysadmini већ имају неку своју рутину уподешавању разноразних сервиса и тосе своди на bdquoинсталираш ово и ондаизмениш ону датотеку рестартујешонај даемон а све ти то пише нанашем wiki-јуldquo То тамо пише али јеупутство застарело компликовано јеили програмер не жели да се бавитиме Срећом на располагању су намвиртуелизација и софтвер који тајпосао још више поједностављујеАлатима као што су Vagrant и Puppetможемо да креирамо нову виртуелнумашину на нашем рачунару сажељеним инсталираним оперативнимсистемом а Puppet може да намобезбеди инсталирање и подешавањеосталих сервиса Окружење изпродукције можемо да добијемо у трикоманде vagrant init vagrant up иvagrant ssh Врло корисна стварчицајер ако кренемо уназад и прво такоприпремимо наше развојно окружењеонда немамо проблема са креирањемокружења за продукцију јер ће Puppetисто тако једноставно инсталирати и

подесити све сервисе који смоизабрали Причу о Vagrantu и Puppetuћемо остати дужни за неки други броја до тада проверите сами о чему серади

Други врло битан проблем који Puppetдонекле решава су различите верзијесофтвера за који развијамо наш кocircд икоји ће нас дочекати у продукцијиPython то решава на врло елегантанначин помоћу виртуелних окружења(virtualenv - virtual environment) и алатаза управљање Python модулимаПредност virtualenv+pip комбинације уодносу на инсталирање Python пакетаиз званичних ризница нашедистрибуције је у томе што за свакипројекат можемо да направимопосебно радно окружење са својимсетом пакета и са одређенимверзијама тих пакета Тако да акоодлучимо да развијамо пројекат уодносу на Django 14x серију а нашадистрибуција нуди 1 3x или 1 5xvirtualenv може да реши овај проблемШтавише ако имамо два пројекта на

истој машини који захте-вају различите верзијепакета то је сасвимнормална ситуација којасе решава са два раднаокружења Уз python иpip је обавезно споме-нути и virtualenvwrapperпомоћну скрипту за bashкоја олакшава управља-ње и активирање вирту-алних окружења инаравно њихово креи-рање

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 37: Libre 18 Hd Cir

Октобар 2013 37

Библиотека Fabric

Сада већ имамо завидан сет алата унашој радионици Vagrant и Puppet заинсталирање и подешавање машине ипотребних сервиса на њој pip и вир-туелне да обезбеде жељене верзије ида окружење независно од остаткаоперативног система који смо наме-нили за продукцију Уз ова два параврло корисних алата веома јекористан и fabric Fabric је pythonбиблиотека за аутоматизацију зада-така разних врста Предности којепружа fabric су скриптовање у pythonuједноставна интеграција са virtualenv имногим другим алатима и подршка зауправљање удаљеним машинамапутем SSH протокола помоћу парамикобиблиотеке Циљ је да у једнојдатотеци (најчешће fabfilepy) дефи-нишемо функције и задамо упутства зааутоматизациу одређених задатакаEво неколико идеја

1 fab deploy покрени тестове ако сетестови успешно изврше додај новкocircд у репозиторијум повежи се насервер и освежи кocircд на њему

рестартуј сервисе насерверу и проверида ли је свезавршено какотреба

2 fab test покренитестове и проверида ли су нове изменеу кocircду мождапореметиле нешто

3 fab init повежи се наудаљени серверпреузмиконфигурационудатотеку за puppet

(манифест) постави потребнесервисе подеси радно окружењеинсталирај зависности преузмимоју апликацију и иницијализуј базуподатака рестартуј сервисе ипровери да ли је све у реду

Три сложена примера који су наизгледкомпликовани да се искодирају аливрло брзо ћете се уходати и након тогаћете без размишљања бити спремнида клијенту у року од 1 5 минутарешите проблем и надоградите мусистем са потпуном сигурношћу да ћесве проћи без проблема јер ако радикод вас мора да ради и код њега

Тестирање као саставни деопрограмирања

У претходном одељку смо више путаспоменули тестирање Један важандео развоја софтвера заузимају иразне врсте тестирања Морамо битиуверени пре свега да је кocircд синтаксноисправан да може да буде покренутНакон тога треба тестирати и

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 38: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу38

семантику целог система и видети дали се кocircд понаша очекивано Тестирајусе поузданост робусност перфор-мансе и још много ствари Почетком2000-их година се појавио терминbdquoagile software develpmentldquo којиобухвата разне технике за развојсофтвера на такав начин да се новемогућности брзо додају грешке штопримећују и исправљају и да се скративреме потребно за путовање кocircда одразвојног окружења до пуштања у рад

Саставни део оваквог начина развојасофтвера је писање тестова и појавилису се термини као што су Test DrivenDevelopment (TDD развој вођен тести-рањем) и Behaviour Driven Develop-ment (BDD развој вођен понашањемсофтвера) Два врло слична приступаTDD је нешто старији него BDD алиоба приступа деле врло битнепринципе Један је да прво напишемотест за могућност коју треба даимплементирамо а потом додајемоили мењамо кocircд све док та могућностне проради Други принцип седиректно надовезује на претходни иподразумева да измене у кocircду не смејуда покваре ни један други тестодносно нисмо завршили посао сведок имамо неуспешних тестова

У чему је предност и зашто би некописао неколико пута више линија кocircдаза тестове него за сам кocircд којипредставља функционалност Показа-ло се да током животног века пројекта90 кocircда буде врло брзо написано апотом следи пакао исправљањагрешака Управо ови тестови нам дајуслободу да се слободно крећемо покocircду и безбрижно га мењамо јер ћемо

у сваком тренутку знати шта смо кадапокварили и моћи ћемо да погледамочак и део кocircда који је у том тренуткуизмењен и ко га је изменио Код TDD-а тестови су у надлежности про-грамера јер је он дужан да осмисли иимплементира тест примере BDD јеотишао корак даље и омогућиопослодавцима да напишу тестпримере језиком који разумеју а

TDD

Пуштање Pythonweb пројеката у радСлободни професионалац

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 39: Libre 18 Hd Cir

Октобар 2013 39

потом програмери на врло једно-ставан начин креирају парсирање иизвршавање тих примера Добит запрограмере је непроцењива Пресвега послодавци су натерани дадобро размисле о својим идејама ижељама које су некада толикофантастичне да ни они сами не могуда их запишу речима а очекују одпрограмера да ихпреточе у кocircдДруго ако тестовикоји представљајусве њихове тестпримере успешнопролазе а они сежале да нешто јошне ради увекможете од њих дазатражите да вампокажу у којем сето примеру налазиа углавном ће онибити криви јер тумогућност нисузадали у специ-фикацији Пројекти вредни пажње суCucumber Nose Test Lettuce RobotFramework Selenium и мноштводругих

Закључак

Представили смо неколико прак-тичних проблема у развоју софтверауопште и неколико решења која сууглавном везана за Python свет алинаравно да еквиваленти постоје и задруге bdquoпрограмерске културеldquo Писалисмо о проблему постављања инфра-структуре који решавају vagrant иpuppet о томе да је важно даокружење за развој и за продукцију

буде што сличнији у чему нам помажуpip и virtualenv Споменули смо ипример како на једноставан начинможемо наше исправке брзо да пла-сирамо клијенту и о све популарнијемначину развоја пројеката вођенимписањем тестова Ово је само врхледеног брега само појмови алати ивештине сакупљене на једном месту

Било би врлодобро кадабисмо могли дапоразговараморазменимоискуства иможда малоскренемо паж-њу hosting ком-панијама наPaaS услуге каошто пружаHeroku јер је тоу интересусвима нама

BDD

Пуштање Pythonweb пројеката у радСлободни професионалац

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 40: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу40

Аутор Данило Ђокић

У овом броју часпописа позаба-вићемо се са основним облицима

форматирања као што су поравнањаподебљан и искошен текст и сличноПре него што почнемо са тим требалоби да прво објаснимо шта је околина ишта је то пакет

Околине (енгл Environment) су посебандео синтаксе LaTeX-a јер нам омогу-ћавају да на одређени део кодаприменимо неки посебни вид обрадеОколине се користе увођењем наред-би begin и end на следећи начин

beginназив околине[опције

околине]

endназив околине

Мада је ово стандардно неретко седешава да су опције околине наведенеу витичастим заградама () Једну одоколина смо већ упознали и она сепојавила у претходном броју наравното је околина document која ће сепојавити у сваком LaTeX кocircду и онауказује компајлеру да се ту налази кocircдкоји треба обрадити да би се онприказао у коначном документуОколине можемо правити сами илиувозити из разних пакета

Пакети (енгл Package) су већ припрем-љени низ околина и наредби за некиспецифични тип обраде докуменатате тако имамо пакете за додавањедругих писама (грчког алфабетаћирилице и сл) увођење слика удокумент исцртавање висококвали-тетне векторске графике у самом кocircдуи још пуно тогаИ пакете можемо сами да направимоа можемо их и увести наредбом

usepackage[потпакети]нази

в пакета

Упознајмо се прво са неколиконајосновнијих околина и наредби којећемо користити приликом форма-тирања текста а за које нам нисупотребни никакви нови пакети

Основи форматирања

Поравнања (енгл justification) извр-шавамо коришћењем околинаflushleft centerи flushright Подебљанитекст (енгл bold) можемо произвестинаредбом textbf а искошени (енглitalic) коришћењем наредбе textitЈедан пример који користи све овеопције би гласио

УУввоодд уу

Увод у LaTeXСам свој мајстор

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 41: Libre 18 Hd Cir

Октобар 2013 41

documentclass[a4paper]article

begindocument

beginflushleft

textitIskoseni tekst poravnan

uz levu ivicu

endflushleft

begincenter

textbfPodebljani centrirani

tekst

endcenter

beginflushright

Poravnanje uz desnu ivicu

endflushright

enddocument

Рецимо да је тај кocircд сачуван подназивом maintex Тада би смо компај-лирање истог обавили наредбом

pdflatex maintex

(ова наредба се користи када имамоtexlive компајлер који cмo вампрепоручили да инсталирате упредходном броју) Након тога он биизгледао као

Слова српске латинице исрпски наводници

Због далеко веће једноставностиписања српске латинице у LaTeX-у њууводимо прву (у каснијим бројевимаобјаснићемо и увођење ћирилице)Слова која се у њој појављују саbdquoквачицомrdquo користе наредбе да би сеприказивале (класа наредби којепроизводе слова специфична за некодруго писмо осим енглеског алфабетаназивају се специјални карактери) Наредбе v и ће доцртатиодговарајућу квачицу на слово које јењихов аргумент Па ће тако табеласпецијалних карактера српског језикаизгледати овако

Č = v C

č = v c

Ć = C

ć = c

Ž = v Z

ž = v z

Š = v S

s = v s

Увод у LaTeXСам свој мајстор

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 42: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу42

Као што можемо приметити овенаредбе се могу писати и на малостандарднији начин тиме штедећивреме и дужину кода Ово потиче одсинтаксе самих наредби Како наредбемогу бити слова енглеског алфабета (унеким случајевима и јединственикарактери) наредба v препознајепрви знак иза белине као њенаргумент (белина може битипроизвољан број размака табулатораили нових линија) А наредба препознаје непосредно први карактериза ње као њен аргумент Са словом Đје ситуација за нијансу другачија Да бисе користило ово слово без некихпосебних потешкоћа треба увестипакет fontenc посебно његов део T1 (usepackage[T1 ]fontenc ) тада сеоно може добити наредбама DJ иdj

Српске наводнике је најлакше увестидефинисањем нове наредбе безаргумента Нећемо се сада бавитидефинисањем нових наредби за садаћемо само рећи да је потребно упреамбули додати следећи кocircд

def dnvkern-009em

def gnv``

И сада ћемо доње и горње наводникедобијати као специјалне каратере dnvи gnv редом Као неки пример за овонаведимо обраду одсечка чланка оBalCCon-у из прошлог броја у LaTeX-у

documentclass[a4paper]article

usepackage[T1]fontenc

def dnvkern-009em

def gnv``

begindocument

Pov cetkom septembra tav cnije

6 i 7 septembra u Novom Sadu u

Master centru odrv zan je prvi

balkanski rav cunarski kongres

koji je privukao pav znju kako

lokalnih tako i hakerskih

zajednica v sirom svijeta Ovaj

dogadjaj je jasan indikator

nivoa kvaliteta textitIT-a

balkanskih zemalja Prvi kongres

je specifiv cno nazvan dnv

First contactgnv - na nav sem

jeziku dnv Prvi kontaktgnv

enddocument

Што би након компајлирања изгле-дало као

Увод у LaTeXСам свој мајстор

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 43: Libre 18 Hd Cir

Октобар 2013 43

Приметимо неколико важних стварипре свега нови ред се не обрађуједиректно Он је еквивалентан билокојој белини и биће препознат самокао раздвајање речи наредби и сл Дабисмо увели прави нови ред требакористити наредбу (двострукиbackslash) Једини начин да нови редима посебног утицаја су два узастопназнака за нови ред (што значи једнапразна линија између редова) која ћеозначити нови ред и увлачење текстаОво увлачење је дефинисано и за првуреч у тексту Ако некад желимо даизбегнемо увлачење текста испредречи која ће по стандардној синтаксибити увучена стављамо наредбуnoindent а ако се пак по синтакси неби увлачио текст а ми то ипак желимоиспред речи коју треба увућистављамо наредбу indent

Закључак

У овом броју објаснили смо основеформатирања текста на које ћетенаићи у сваком текст-процесору Уследећем броју објаснићемо некеособености везане за сам LaTeX каошто је јединствени начин формирањанаслова бројаче и за LaTeX чувено ијако популарно укрштено референ-цирање (тзв cross-референцирање)

Увод у LaTeX

Преглед популарности GNULinuxBSD дистрибуција за месецоктобар

Distrowatch

Пад ltПораст gtИсти рејтинг =(Коришћени подаци са Distrowatch-a)

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

20

21

22

23

24

25

Mint

Ubuntu

Debian

Mageia

PCLinuxOS

openSUSE

Fedora

Manjaro

Ubuntu GNOME

CentOS

Arch

Lubuntu

FreeBSD

Puppy

elementary

Ultimate

CrunchBang

Simplicity

Kubuntu

Xubuntu

Zorin

SparkyLinux

Slackware

OS4

wattOS

371 4gt

2457lt

21 40gt

1 843gt

1 464lt

1 348gt

1 339lt

1 1 57lt

1 043lt

997gt

975lt

860lt

850lt

840gt

81 0gt

789gt

785gt

668gt

657lt

656lt

654lt

635lt

630gt

626lt

603gt

Сам свој мајстор

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 44: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу44

Аутор Златан Васовић

Н ова верзија Firefox OS-а јеобјављена само неколико недеља

након што су се први Firefox OS паме-тни телефони појавили на тржиштуСвежа верзија доноси нове могућ-ности побољшања перформанси инове преводе Кocircдно име нове верзијеје Leo и он долази са Gecko-ом верзије1 8+

Могућности

Могућности су знатно проширене уновој верзији FirefoxOS-а

Оно што ће сигурно бити драго мла-ђим корисницима је MMS подршкапоред класичног SMS-а

Прилагодљива претрага је премеште-на на почетни екран тако да не моратеда мењате почетни екран како бистестигли до претраге Од помоћи можебити SUMO (Mozilla Support) чланак ndashhttpssupportmozillaorgen-USkbwhat-happened-to-adaptive-search

Gmail и Hotmail (заправо Outlook)

контакти се могу увести директно каона осталим мобилним оперативнимсистемима Сада у контакте можетедодати било кога ко вас је позвао

FFiirreeffooxxOOSS 1111

FirefoxOS11Мобилни кутак

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 45: Libre 18 Hd Cir

Октобар 2013 45

послао вам SMS MMS или e-mail неморате више да копирате и лепите(copy paste) бројеве телефона или e-mail адресе Додата је и подршка засугестије приликом куцања бројеваили имена контаката наравно узаутоматско допуњавање

Још једна битна промена је могућностпреузимања слика видео и аудиоматеријала директно из Firefox прегле-дача

Ваши недовршени e-mail-ови сеаутоматски чувају тако да их можетезавршити касније када не будетезаузети Сада можете сачувати видео иаудио прилоге из e-mail-ова и слатислике Планира се омогућавање ислања видео и аудио материјала

Музику је могуће једноставно претра-жити једноставним превлачењем саврха апликације ка дну Од помоћиможете бити SUMO чланак ndashhttpssupportmozillaorgen-USkbplay-music-on-firefox-os

За оне који греше при куцању ту јеаутоматска исправка основних грама-тичких и правописних грешака Нажа-лост та опција још није прилагођенасрпском језику што се баш и не можеочекивати у скорије време

Прављење догађаја је поједностав-љено и може се извести притиском нанеки датум у календару Ту су иподсетници за догађаје

Програмерима ће бити интересантанPush Notifications API који знатно по-бољшава временско одређивање

обавештења и смањује потрошњубатерије

Перформансе

Систем је додатно оптимизован такода је учитавање апликација тренутноСкроловање је такође убрзано кориш-ћењем новихweb технологија

Ова побољшања су резултовала даупркос слабијем хардверу у односу нанове вишејезгарне Android и iOSтелефоне Firefox OS уређаји радебрзо

FirefoxOS11Мобилни кутак

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 46: Libre 18 Hd Cir

ЛиБРЕ часописо слободном софтверу46

Интернационализација

Firefox OS је сада преведен на 1 4језика што и није тако мало с обзиромна број Firefox OS волонтера Оно штоје заиста импресивно је да је Firefox OSпреведен и на српски па је спреман занаше тржиште

Развојне компоненте

Основу Firefox OS-а чине компонентеотвореног кocircда Три основнекомпоненте су Gank (језгро) Gecko

(функционалност) и Gaia (изглед)

Gonk [1 ] је језгро система базирано насвеприсутном Linux кернелу Онсадржи неке драјвере за Androidуређаје првенствено из harwareapstraction layer-а (HAL) У будућностисе планира шира хардверска подршка

Gecko [2] је покретач апликација Онимплементира отворене стандарде заHTML CSS и JS Он је главнакомпонента Firefox прегледача иFirefoxOS-а

Gaia [3] је најједноставније речено

FirefoxOS11Мобилни кутак

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 47: Libre 18 Hd Cir

Октобар 2013 47

кориснички интерфејс FirefoxOS-а

Изворни кocircд Firefox OS-а можете наћина httpsgithubcommozilla-b2g

Корисни линкови[1 ] httpsdevelopermozillaorgen-

USdocsMozillaFirefox_OSPlatformGonk

[2] httpsdevelopermozillaorgen-USdocsMozillaGecko

[3] httpswikimozillaorgGaia

Развојни уређаји

Постоје и посебни уређаји запрограмере Они увек имају свежуверзију Firefox OS-а и могу да користеразвојне верзије апликацијаНајпознатији је Geeksphone

Развојни телефони

- httpwwwgeeksphonecom- httpsdevelopermozillaorgen-USdocsMozillaFirefox_OSDeveloper_phone_guideZTE_OPEN

Закључак

Firefox OS 1 1 делује као интересантансистем који има битне компонентеAndroid и iOS дизајна и има добруфункционалност али троши многомање ресурса од својих конкурената

Уколико имате проблем са Firefox OS-ом погледајте развојно упутство(httpsdevelopermozillaorgen-USdocsMozillaFirefox_OS )и чланке на Mozilla Support-u(httpssupportmozillaorgen-USproductsfirefox-os )

FirefoxOS11Мобилни кутак

Page 48: Libre 18 Hd Cir