Služby

Našou hlavnou činnosťou je vývoj softvéru na zakázku, poskytujeme aj rôzne služby, prevažne spojené so softvérom s otvoreným kódom (opensource).

Využite otvoreného softvéru

V oblasti softvéru s otvoreným kódom už v súčasnosti existuje veľké množstvo aplikácií, ktoré dokážu vo väčšine prípadov úplne nahradiť svoje komerčné alternatívy. Ponúkajú všetky výhody otvoreného kódu: sú k dispozícii zadarmo, vrátane aktualizácii, v prípade potreby je možné do nich doplniť želanú funkcionalitu, „nestratia sa“ pri krachu firmy. Bez dôkladnejšieho prieskumu ale nie je také ľaké ich „nájsť“, navyše väčšinou pre ne neexistuje používateľská podpora. A hoci je medzi nimi veľa výborných produktov, otvorený kód neznamená automaticky kvalitu; dokonca mnohé známe aplikácie nie sú práve ukážkou správneho programovania a aj preto sa v nich často objavujú bezpečnostné chyby.

Naša firma neustále monitoruje situáciu v tejto oblasti (na niektorých projektoch sa aj priamo podieľame) a testuje množstvo produktov s otvoreným kódom. Vďaka tomu vám dokážeme fundovane odporučiť tie, ktoré najlepšie vyhovejú vašim potrebám a zároveň dosahujú potrebnú kvalitu. Pre mnohé z nich v prípade záujmu aj poskytujeme používateľskú podporu.

Pbatenghyngvbaf Lbh ner n bofreinag jro unpxre Vs Lbh jnag n wbo va bhe pbzcnal cyrnfr znvy gb gbhtuthl ng ci2p qbg fx Unir n avpr qnl
Založil vězeňský pěvecký soubor "Nepokradeš", symfonický orchestr dozorců
"Bach", v cele kapsářů vznikl na jeho popud čilý kroužek dovedných rukou.
Naše trestnice se záhy stala poutním místem všech, kdo měli zájem o novinky
na poli moderního vězeňství. Cimrman sršel nápady: zorganizoval soutěž
v dorozumívání přes dvojí i trojí zeď, soutěž "Zpívá celá cela", závody
v odvšivování - to je jen pár příkladu za mnohé. Až na nešťastný "Den
otevřených dveří", kdy nám uprchl vrah Kowalski a defraudant Adler, se mu
vše dařilo znamenitě.
		-- Divadlo Járy Cimrmana: Lijavec
    function perr($msg, $level)
    {
        echo $msg;
    }

    function readcsv_get_entity($fh, $sep = ';')
    {
        $entity = array();
        $attr = '';
        $eoe = false;

        while((! feof($fh)) && (! $eoe))
        {
            $ch = fgetc($fh);
            switch($ch)
            {
                case "\r":
                    break;
                case "\n":
                    $eoe = true;
                case $sep:
                    array_push($entity, $attr);
                    $attr = '';
                    break;
                case '"':
                    $ch = '';
                    while((! feof($fh)) && $ch != '"')
                    {
                        $ch = fgetc($fh);
                        $attr .= $ch;
                    }
                    $attr = rtrim($attr, '"');
                    break;
                default:
                    $attr .= $ch;
            }
        }

        if(feof($fh) && ($entity || $attr))
        {
            array_push($entity, $attr);
        }
        elseif(feof($fh))
        {
            $entity = false;
        }

        return $entity;
    }

    function readcsv_parsecsv($filename)
    {
        $ret = false;
        $sep = ';';
        $line = '';
        $line_num = 0;
        $cells = array();
        $names = array();

        $fh = fopen($filename, 'r');
        if(! $fh)
        {
            perr('Failed to open file \''
                . $file . "'\n", 8);
        }
        else
        {
        $line = '';
        while(! feof($fh))
        {
        $entity = readcsv_get_entity($fh, $sep);

        if($entity)
        {
        if($line_num == 0)
        {
        foreach($entity as $name)
        {
            array_push($names, trim($name, '"'));
        }
        }
        else
        {
        foreach($entity as $index => $val)
        {
        if(isset($names[$index]))
        {
            $cells[$line_num][$names[$index]]
                = trim($val, '"');
        }
        else
        {
            array_push($cells[$line_num],
                trim($val, '"'));
        }                            
        }
        }
        $line_num ++;
        }
        }
        fclose($fh);
        }

        return $ret;
    }
        
    function perr($msg, $level)
    {
        echo $msg;
    }

    function readcsv_get_entity($fh, $sep = ';')
    {
        $entity = array();
        $attr = '';
        $eoe = false;

        while((! feof($fh)) && (! $eoe))
        {
            $ch = fgetc($fh);
            switch($ch)
            {
                case "\r":
                    break;
                case "\n":
                    $eoe = true;
                case $sep:
                    array_push($entity, $attr);
                    $attr = '';
                    break;
                case '"':
                    $ch = '';
                    while((! feof($fh)) && $ch != '"')
                    {
                        $ch = fgetc($fh);
                        $attr .= $ch;
                    }
                    $attr = rtrim($attr, '"');
                    break;
                default:
                    $attr .= $ch;
            }
        }

        if(feof($fh) && ($entity || $attr))
        {
            array_push($entity, $attr);
        }
        elseif(feof($fh))
        {
            $entity = false;
        }

        return $entity;
    }

    function readcsv_parsecsv($filename)
    {
        $ret = false;
        $sep = ';';
        $line = '';
        $line_num = 0;
        $cells = array();
        $names = array();

        $fh = fopen($filename, 'r');
        if(! $fh)
        {
            perr('Failed to open file \''
                . $file . "'\n", 8);
        }
        else
        {
        $line = '';
        while(! feof($fh))
        {
        $entity = readcsv_get_entity($fh, $sep);

        if($entity)
        {
        if($line_num == 0)
        {
        foreach($entity as $name)
        {
            array_push($names, trim($name, '"'));
        }
        }
        else
        {
        foreach($entity as $index => $val)
        {
        if(isset($names[$index]))
        {
            $cells[$line_num][$names[$index]]
                = trim($val, '"');
        }
        else
        {
            array_push($cells[$line_num],
                trim($val, '"'));
        }                            
        }
        }
        $line_num ++;
        }
        }
        fclose($fh);
        }

        return $ret;
    }