## Zašto, kako i što od tehnologija otvorenog koda koristimo u razvoju?

Stjepan Zlodi

Styria Hrvatska - medijski servisi d.o.o.

twitter: @ylodi

## Prije početka

- Dial-up: Slackware
- Koketiranje
- SuSE
- Mandrake
- Ubuntu

Praktičnost prije svega. Korištenje, a ne bavljenje. Tekstualna avantura.

## Zašto FLOSS?

## U potrazi za poslom

- Raditi ono što voliš?
- Ako ne ide?
- Onda na način kako voliš
- Ne ide naglo
- Mali koraci

## Znaci za opasnost

- Oni koji nemaju pojma odlučuju o tehnologiji
- Kad teorija upravlja praksom ili čemu služe knjige?

## Kako je 24sata digital d.o.o. završio na Djangu?

- Pripremljeno stanje: LAMP
- Ljudi
- Mali projekt kao dokaz

## Argumenti

- Razumljivim riječima
- Python - gdje, tko?
- Django - zašto (početak u medijima)
- Arhitektura MCV, MTV - zašto?
- Django-Geo, podržane baze
- Sigurnost po defaultu
- Jaka zajednica i dodaci treće strane

Pomažu i grafovi i brojke

## Nema programera?

- Potrebni su nam ljudi koji kuže web i programiranje
- Prijelaz s drugih jezika i tehnologija nije problem

## Kako smo developere natjerali na Linux?

- Prirodna okolina za razvoj
- Jednostavnije, brže
- Pomaže kad imate sve potrebne alate

## Strateški raspored

- 3x Ubuntu 12.04
- 3x Ubuntu 12.10
- 2x Ubuntu 13.10
- 5x Ubuntu 14.04
- Elementary OS
- Debian, Mint, OpenSUSE, Arch

## Problemi na Windowsima?

- virtualenv ne radi kako treba
- Različite verzije Pythona?
- Paketi koji se moraju kompajlirati

## TCO

## Vrijeme je novac

- Preuveličani troškovi obuke
- Instalacija i priprema radne okoline
- Virusi
- Ali najveću štetu rade antivirusi

Dovoljno je da korisnici znaju razmišljati

## Tehnologija :-)

Razvoj, ne produkcija

## Baze i spremanje podataka

- PostgreSQL
- NE koristiti SQLite u produkciji
- Memcached
- Redis
- Raik #fail

## OpenVZ

- Testni poslužitelj
- Potrebnija izolacija od virtualizacije
- Maksimalno iskorištenje računala
- Prvi poslužitelj, RAM: 2GB, 4 virtualke

## Backup

- Veliki monolitni backup ne odgovara
- Promjene kroz vrijeme - zadnjih X dana
- Minimalizirati potrošnju prostora
- rsync, što mu nedostaje?
- www.nongnu.org/rdiff-backup

## Spremanje koda

- Na svojem poslužitelju
- gitosis - samo ssh i korisnički ključevi
- gitolite - bolji gitosis
- GitLab (gitlab-shell)

## DNS

- BIND - nije za vikend administratore :-)
- PowerDNS
- Jednostavno postavljanje, podaci u bazi (replikacija :-) )
- Master/Slave operacije
- Power Admin

## Mail poslužitelj

- Postfix, Dovecot, MySQL
- roundcube

## Logiranje grešaka tj. iznimki

- Logovi su daleko od očiju, daleko od srca
- sentry
- Sentry

## Pretraživanje teksta

- Sphinx - Open Source Search Server

Nakon uspješne DORS/CLUC radionice

## Inačice koje počinju s nulom?

- Django 0.97
- Sphinx 0.9.9
- django-piston 0.2.1 (patched)
- Tastypie 0.11
- ...ili čak određeni commit iz githuba

## Kako biramo?

- Show me the source!
- GitHub, BitBucket
- Broj commitova
- Prijave bugova
- Aktivnost projekta
- Upoznajemo programera
- Django Packages

## Najveći uptime?

## 1109 dana

Zašto volimo Linux? Pouzdan

## Kada prestati vjerovati?

Kad se alat počinje reklamirati menadžerima, a ne developerima. ExtJS

## Hvala! Pitanja?

- Tražimo programere (web, mobilni razvoj, iskusne, neiskusne)
- mailto: ljudski_potencijali@styria.hr

## Što smo propustili, a voljeli bi napraviti?

- Veći doprinos zajednici
- Hackaton kao doprinos otvorenosti

Fork me on Github