Produkty

V súčasnej dobe ešte neposkytujeme žiaden „krabicový“ produkt, vytvárame výhradne softvér na zakázku pre konkrétnych zákazníkov.

Ak máte záujem o vytvorenie nejakej aplikácie, stačí nás kontaktovať.

Kvalita a bezpečnosť

Naše produkty sú vždy od základu vytvárané robustne a s ošetrením všetkých (hoci len teoretických) prípadov. Preto potom nemusíme neskôr „dorábať bezpečnosť nakoniec“, ako to často býva. Snažíme sa dodržiavať všetky pravidlá dobrého softvéru, nepoužívame žiadne „tajné“ formáty dát, preto v prípade potreby nie je problém ich preniesť do iného systému či aplikácie. Taktiež sa neviažeme na žiaden konkrétny produkt alebo platformu (pokiaľ to nie je priamo želaním zákazníka).

Oblasti

Naša firma je schopná vytvoriť aplikáciu takmer ľubovoľného typu, ale prevažne sa venujeme a najviac skúseností máme v nasledovných oblastiach:

  • Spracovanie veľkého množstva dát, či už v textovej alebo databázovej forme
  • Návrh a implementácia optimálneho spôsobu uloženia dát, ktorý zabraňuje problémom s duplicitou a chybnými vstupmi a umožňuje efektívne a rýchle získanie potrebných výstupov
  • Konverzie dátových formátov a extrahovanie informácií z rôznych zdrojov, keď je potrebné presunúť údaje zo zdrojovej formy do cieľovej, napríklad z PDF/DOC súborov do databázy
  • Správa používateľov s rôznymi právami, ktoré určujú, aké funkcie môže daný používateľ spúšťať; zároveň autentifikácia je možná viacerými spôsobmi, od klasického mena a hesla až po overenie IP adresy a digitálneho podpisu, čo umožňuje napríklad aj automatické a zároveň bezpečné vzdialené spúšťanie funkcií aplikácie

uXML

Väčšina našich produktov pre internet a intranet je založená na našom vlastnom aplikačnom serveri s názvom uXML. Poskytuje základné služby, abstrakčnú úroveň pre prístup k databázam a súborom, spracováva šablóny projektu (vo formáte XML) a obsahuje obslužné funkcie pre správu modulov, ktoré poskytujú rôzne rozširujúce funkcie. Viac informácií o uXML nájdete tu.

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
	Nebyl jsem nijak nadšený, když mi maminka řekla, že k nám
přijde na čaj jedna z jejích přítelkyň se svou dceruškou. Nemám holky
rád. Je to protivné, neumí si to hrát na nic jiného než na prodavačku nebo
s panenkou, a pořád to brečí. Já samozřejmě někdy taky brečím, ale vždycky
jen z vážných důvodů, jako třeba tenkrát, když se rozbila ta váza v saloně
a tatínek mi vyhuboval, ale to bylo nespravedlivé, protože jsem to
neudělal naschvál, a ta váza byla beztak hrozně škaredá. Já vím, že
tatínek nemá rád, když si hraju v domě s míčem, ale když venku pršelo.
		-- Sempé-Goscinny: Malý Mikuláš
    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;
    }