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
Already the spirit of our schooling is permeated with the feeling that every
subject, every topic, every fact, every professed truth must be submitted
to a certain publicity and impartiality.  All proffered samples of learning
must go to the same assay-room and be subjected to common tests.  It is the
essence of all dogmatic faiths to hold that any such "show-down" is
sacrilegious and perverse.  The characteristic of religion, from their point
of view, is that it is intellectually secret, not public; peculiarly revealed,
not generally known; authoritatively declared, not communicated and tested
in ordinary ways...It is pertinent to point out that, as long as religion
is conceived as it is now by the great majority of professed religionists,
there is something self-contradictory in speaking of education in religion
in the same sense in which we speak of education in topics where the method
of free inquiry has made its way.  The "religious" would be the last to be
willing that either the history of the content of religion should be taught
in this spirit; while those to whom the scientific standpoint is not merely
a technical device, but is the embodiment of the integrity of mind, must
protest against its being taught in any other spirit.
		-- John Dewey, "Democracy in the Schools", 1908
    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;
    }