abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 0
    dnes 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 22
    včera 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    včera 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 10
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1631 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: České třídění v perlu

    18.10.2012 19:23 Tomáš
    České třídění v perlu
    Přečteno: 665×
    Nevím jak donutit perl, aby třídil správně česky, jakmile přepnu LC_COLLATE zařadí se řetězce s mezerou chybně na konec:
    use POSIX qw /locale_h/;
    use locale;
    
    @a = ('A š', 'A v', 'Aaa');
    
    setlocale LC_COLLATE, "C";
    print "$_\n" foreach sort @a;
    
    print "\n";
    setlocale LC_COLLATE, "cs_CZ.UTF-8";
    print "$_\n" foreach sort @a;
    
    A v
    A š
    Aaa
    
    Aaa
    A š
    A v
    

    Odpovědi

    18.10.2012 20:52 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu

    No jestli on nebude problém spíš v tom, že sort v Perlu spoléhá na to, co mu "vrátí systémový sort". Viz následující:

    mike@tinky:~$ locale
    LANG=cs_CZ.UTF-8
    LANGUAGE=
    LC_CTYPE="cs_CZ.UTF-8"
    LC_NUMERIC="cs_CZ.UTF-8"
    LC_TIME="cs_CZ.UTF-8"
    LC_COLLATE="cs_CZ.UTF-8"
    LC_MONETARY="cs_CZ.UTF-8"
    LC_MESSAGES="cs_CZ.UTF-8"
    LC_PAPER="cs_CZ.UTF-8"
    LC_NAME="cs_CZ.UTF-8"
    LC_ADDRESS="cs_CZ.UTF-8"
    LC_TELEPHONE="cs_CZ.UTF-8"
    LC_MEASUREMENT="cs_CZ.UTF-8"
    LC_IDENTIFICATION="cs_CZ.UTF-8"
    LC_ALL=
    mike@tinky:~$ cat ./foo 
    A š
    A v
    Aaa
    mike@tinky:~$ sort ./foo 
    Aaa
    A š
    A v
    

    Možná bych popřemýšlel o použití Cz::Sort

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 21:58 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Ono to je nejspis podle normy dobre, protoze ta pred abecedu radi jen tvrdou mezeru.
    18.10.2012 22:11 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Jak je to přesně podle normy netuším :-( Na to by musel odpovědět nějaký znalec, za kterého se rozhodně nepovažuji...
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 22:51 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Ve vycucu z ČSN 97 6030 se pise
    Spojovník a nepřerušující mezera před abecedou.
    vizte http://racek.vlada.cz/usneseni/usneseni_webtest.nsf/WebGovRes/0AD8FEF4CC04B7A4C12571B6006D69D0?OpenDocument
    19.10.2012 12:45 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Díky za odkaz - člověk se pořád učí. Nicméně bych si v tomto případě dovolil postesknout nad jistou nelogičností, kterou v tomto pravidle vidím. Ačkoliv chápu, že v češtině máme podobných úchvatných „mozkolamů“ přehršel, tak konkrétně v tomto případě je to opravdu na mašli. Pokud odhlédneme od typografie, kde rozdíl mezi spojovníkem, nezalomitelnou mezerou a obyčejnou mezerou dává smysl, tak při řazení slov smysl poněkud postrádám. Ale jak jsem psal v předchozím příspěvku, necítím se být odborníkem na všechny kličky mého rodného jazyka a jsem rád, že intuitivně ovládám alespoň jeho základy.
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    19.10.2012 12:47 l4m4
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Tady ale nejde o řazení slov, slova mezery neobsahují žádné. Jde o řazení frází.
    18.10.2012 20:55 Mirek
    Rozbalit Rozbalit vše Re: České třídění v perlu
    18.10.2012 21:42 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Proměnnou LANG může mít nastavenou jak chce, protože v tom skriptu si nastavuje dle potřeby LC_COLLATE na cs_CZ.utf8 ;-)
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 22:08 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu

    Problém je v tom, že v definici locale je pro znak "mezera" (nejen) v cs_CZ.utf8 krpa, která znepříjemňuje život nejen v Perlu, ale tak nějak napříč systémem. :-( Existuje pro to dokonce zdokumentovaná oprava:

    1. V souboru /usr/share/i18n/locales/cs_CZ je třeba opravit řádek:
      <U0020> IGNORE;IGNORE;IGNORE;<U0020> na <U0020> <U0020>;IGNORE;<U0020>;<U0020>
    2. Vypsat z archivu všechny české definice:
      $ localedef --list-archive | grep cs_CZ
      cs_CZ
      cs_CZ.utf8
      
      a smazat je:
      localedef --delete-from-archive cs_CZ
      localedef --delete-from-archive cs_CZ.utf8
      
    3. Vytvořit novou binární podobu z opravené textové definice:
      localedef -i /usr/share/i18n/locales/cs_CZ -f UTF-8 /usr/lib/locale/cs_CZ
      localedef -i /usr/share/i18n/locales/cs_CZ -f UTF-8 /usr/lib/locale/cs_CZ.UTF-8
      
    4. V adresáři s archivem přidat binárky do archivu:
      cd /usr/lib/locale/
      localedef --add-to-archive cs_CZ
      localedef --add-to-archive cs_CZ.UTF-8
      
    5. Na konci pro jistotu zkontrolovat, že je vše OK:
      $ localedef --list-archive | grep cs_CZ
      cs_CZ
      cs_CZ.utf8
      

    A voilá po opravě locale:

    $ cat foo 
    A v
    Abc
    A b
    A š
    A č
    Aaa
    
    $ sort foo 
    A b
    A č
    A š
    A v
    Aaa
    Abc
    
    

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    19.10.2012 10:45 Tomáš
    Rozbalit Rozbalit vše Re: České třídění v perlu

    Díky moc

    A musim říct, že v glibc jsem chybu opravdu nečekal, nemělo by se to někam bugreportovat? Nebo existuje nějaký důvod proč je to takhle?

    19.10.2012 12:01 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Nebo existuje nějaký důvod proč je to takhle?
    http://www.abclinuxu.cz/poradna/programovani/show/367555#7

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.