abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Navštivte Abc obchůdek se samolepkami a přívěsky!
Rozšířené hledání
×
včera 22:45 | IT novinky
NASA, která společně s Rackspace stála u zrodu projektu OpenStack, se již nadále nebude podílet na dalším vývoji této "infrastructure-as-a-service" platformy. V NASA totiž došli k závěru, že vzhledem k podpoře OpenStacku ze strany společností jako Red Hat, AT&T a HP lze jejich práci považovat za dokončenou. Posléze se NASA plánuje stáhnout i z vývoje další platformy pro cloud computing jménem Nebula.
Migilenik | Komentářů: 0
včera 22:45 | Upozornění
Blíží se svátek IPv6 a s ním i konference IPv6 Day. Na návštěvníky této akce čeká nejen bohatý program, ale také jedna speciální nabídka – v průběhu setkání bude možné získat se slevou 66 procent třetí vydání knihy IPv6 vysokoškolského pedagoga a publicisty Pavla Satrapy, tedy za 105 korun. … více »
Vilem Sladek | Komentářů: 4
včera 16:14 | Pozvánky

Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!

… více »
Whit | Komentářů: 0
včera 10:20 | Nová verze
Na zrcadlech a torrentech jsou již k dispozici ISO obrazy distribuce Mageia 2. Poznámky k vydání čtěte zde.
Liborek | Komentářů: 14
23.5. 13:47 | Pozvánky

Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.

… více »
Miška | Komentářů: 7
23.5. 13:27 | Zajímavý projekt
Printerd je název nového projektu tiskového démona, který bude využívat PolicyKit a D-Bus. Projekt je zatím na úplném začátku, takže nejde o nic vhodného k produkčnímu nasazení. Mimo jiné aktuálně akceptuje jako vstup jen PDF dokumenty.
Luboš Doležel (Doli) | Komentářů: 55
23.5. 13:25 | Zajímavý software
Tři vývojáři ze společnosti Engine Yard přecházejí po dohodě mezi firmami do Red Hatu. Jde o vývojáře zabývající se rozvojem projektu JRuby. To ukazuje, že Red Hat má zájem o podporu alternativních jazyků nad OpenJDK.
Luboš Doležel (Doli) | Komentářů: 1
23.5. 13:20 | Zajímavý software
Fedora přejde na knihovnu libusbx, což je fork původní knihovny libusb. Důvodem pro fork byl zjevný nedostatek času nebo zájmu ze strany správce projektu. libusbx už teď nabízí užitečné funkce navrch.
Luboš Doležel (Doli) | Komentářů: 4
23.5. 10:29 | Nová verze
Vyšlo LLVM 3.1. Vylepšení se dotýkají podpory C++ 11 nebo architektur ARM a MIPS. Dále se můžete těšit z Python bindings nebo nástroje AddressSanitizer pro detekci chyb při práci s pamětí.
Luboš Doležel (Doli) | Komentářů: 0
23.5. 00:01 | Nová verze
Vyšla nová verze open source služby pro sdílení a synchronizaci souborů ownCloud 4. Mezi hlavní novinky patří verzování, šifrování dat, vestavěný prohlížeč ODF souborů, nové API a další - podrobnější popis novinek a vylepšení zde.
Dirka | Komentářů: 1
Pokud by se prohlížeč Opera stal svobodným:
 (9%)
 (32%)
 (1%)
 (58%)
Celkem 243 hlasů
 Komentářů: 31, poslední dnes 22:38
    Rozcestník
    Reklama
    Autoškola testy online Levný benzín

    Na velikosti nezáleží!

    4.11.2005 19:17 | Přečteno: 977× | Plané filozofování

    Tuhle jsem seděl ve školní knihovně a četl dobrou knížku o návrhových vzorech, která byla ovšem příšerně přeložena*. Když v tom jsem od vedlejšího stolu zaslechl jakou si "technickou" diskusi. Seděla tam parta lidí, evidentně zobáci-prváci, měli před sebou notebook a nějakou knížku o Linuxu pro začátečníky. Na noťasu běžely obligátní XPéčka a na nich cygwin.

    Ti lidi se hádali, jestli je Linux case-sensitive při práci se soubory, či nikoliv. V příručce psali, že ano, ovšem chlapečkovi před notebookem se podařilo vymazat soubor příkazem rm POKUS soubor, jež před tím vytvořil příkazem touch pokus. A nešlo mu to do hlavy.

    Měl jsem sto chutí vstát a vysvětlit těm talentům, že cygwin prostě není Linux a že bash přenesený na Wokna nic nemění na tom, že Wokna jsou case-insensitive. Jako obvykle jsem se udržel. Ale ono je to docela zajímavé téma.

    Case-sensitivness (nebo česky: kejssensitivnes) totiž souvisí jednak se souborovým systémem, druhak se samotným operačním systémem.

    Trocha definic

    Pokud je systém case-sensitive, tak to znamená, že vedle sebe můžou existovat soubory readme.txt, Readme.txt a README.TXT. Každý z těchto souborů je zcela nezávislý, písmenko R nemá nic společného s r.

    Pokud je systém case-preserve, tak to znamená, že si pamatuje velikost písmen ve jménech. Tedy ReadMe.txt se vždy zobrazí jako ReadMe.txt, ale neznamená to, že vedle něj může existovat soubor README.TXT.

    Případové rádobystudie

    Nejjednodušší je situace v klasických Unixech a derivátech (deviacích). Nativní souborové systémy (ext2/3, Reiser) jsou přísně case-sensitive a programy taktéž. Například doplňování jmen souborů v bashi vyžaduje uvedení správného počátečního písmen(e) správné velikosti.

    Souborový systém FAT (český překlad TUK, Tabulka Umístění Kousků) je case-insensitive, ale case-preserve. Ovšem starý MS DOS case-preserve nebyl. Mlhavě si pamatuji typické zobrazování v M602: adresáře velkými, soubory malými.

    Jména souborů ve Windows nad FAT jsou case-insensitive, ale case-preserve. Program Files jsou Program Files. Ovšem souborový systém NTFS je dokonce case-sensitive, ale z důvodu kompatibility Wokna odmítají vytvořit vedle sebe soubory lišící se jen velikostí písmen.

    Zajímavě se chová můj Debian na oddílu s FAT. touch Pokus a touch pokus sice vede k očekávaným výsledkům, ovšem touch POKUS vede k vytvoření souboru jménem pokus.

    Co s tím?

    Osobně si myslím, že case-sensitive systémy jsou pěkná blbost. Je to nepřirozené, opravdu nevím, k čemu je mít v jednom adresáři Životopis.odt a životopis.odt. Co když někomu budete potřebovat říct jmého souboru po telefonu?

    Ono totiž case-sensitive systémy jsou nejjednodušší na implementaci. Tato "fíčura" nestojí vůbec nic, prostě řetězce se ukládají (a vyhledávají) jako binární data. Z tohoto pohledu každý souborový systém, který je case-preserve "umí" i case-sensitive.

    Nejlepší je systém, který je přísně case-preserve, jako třeba Windows NT 4.0 Workstation :-)


    * Schválně, víte, co jsou to "jazyky bez sběru odpadků"?-)

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

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

    Komentáře

    Vložit další komentář

    4.11.2005 20:03 pasmen | skóre: 45 | blog: glob | Praha
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Nejenze je implementace case sensitive jednodussi, ale ve vysledku i rychlejsi. V tom, ze se rozlisuji velka a mala pismena nevidim problem, to se prece uci deti v prvni tride. Jde prece o to, ze slova se stejnymi pismeny lisici se jen velikosti muzou mit ruzne vyznamy.
    4.11.2005 20:08 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Jde prece o to, ze slova se stejnymi pismeny lisici se jen velikosti muzou mit ruzne vyznamy.

    Například?

    4.11.2005 20:32 pasmen | skóre: 45 | blog: glob | Praha
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!

    SOS - volani o pomoc
    sos - omacka

    No to je samozrejme prehnany a mozna i spatny priklad, ale neco v tom smyslu. BTW, co je to case-preserve ?
    4.11.2005 20:51 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    No v DOSu se stávalo, že šlověk pojmenoval soubor dopis.txt a program to uložil jako DOPIS.TXT. Tak to *není* case-preserve.
    6.11.2005 00:02 doubleZ | skóre: 24 | blog: smazano
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    No, dáš si do prezervativu omáčku, a pak budeš křičet o pomoc :-)
    Luk avatar 4.11.2005 20:42 Luk | skóre: 46 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Co třeba bool a BOOL? To jsou sice názvy typů, nikoli souborů, ale je to ukázka toho, že to význam má. Navíc, case-insensitive řešení vede k tomu, že se case-preserve bere na lehkou váhu, resp. si se špatnou implementací nikdo neláme hlavu. Kvanta aplikací pod Win jsou toho důkazem.
    4.11.2005 22:02 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    BOOL a bool? Co to má znamenat? Je hromada programovacích jazyků, kde se velikost písmen neřeší. Ale tam to má jakýs takýs smysl, i když identifikátory by se neměly lišit jen velikostí písmenek.

    Pos Wokny se mi nestalo, že by mi program zmršil písmenka.
    Luk avatar 4.11.2005 23:31 Luk | skóre: 46 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    BOOL a bool? Co to má znamenat?
    To jsou různé datové typy. BOOL - typicky 4 B dlouhý (většinou definován jako int, v některých případech jako long), oblíbený hlavně u Microsoftu (jak v C, tak v C++). bool - dlouhý obvykle 1 B, specifický pro C++, hojně využívaný ve standardních knihovnách C++.
    Pos Wokny se mi nestalo, že by mi program zmršil písmenka.
    To mně už mockrát. Některé programy s tím nakládají dost svérázně.
    4.11.2005 20:24 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Nevím, sice to jde, ale imho si nikdo nepojmenovává soubory
    foo foO fOo fOO Foo FoO FOo FOO
    
    Tady se příkláním k tomu, že case-preverse je logičtější řešení. Ale case-sensitive nejspíš bude v POSIXu, takže se ho nejspíš nezbavíme :-).
    Nežijeme v totalitě, bohužel!
    4.11.2005 21:45 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Case-perverse?
    Copak toho není dost?
    Pavel Stárek avatar 4.11.2005 21:07 Pavel Stárek | skóre: 41 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Souborový systém FAT (český překlad TUK, Tabulka Umístění Kousků)
    FAT - File Allocation Table určitě není v překladu "Tabulka umístění kousků", nýbrž něco jako Tabulka umístění souborů.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    4.11.2005 21:42 Spike | skóre: 29 | blog: Communicator | Praha
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Asi nemáš moc smysl pro humor, co? ^_~
    4.11.2005 22:52 #Tom
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    (FAT) file allocation table = (SRP) stůl na rozdělení pilníků :-)
    4.11.2005 22:31 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Já si myslím, že case insensitive filesystém přináší jenom problémy. Možná tomu špatně rozumím, ale v každém jazyce jsou jinak postavená velká a malá písmena a pak by se takový filesystém měl chovat v závislosti na nastaveném locale.

    Pokud by se do názvů souborů dostávaly i písmenka s diskritikou, pak se může stát, že v jednom jazyce by měl filesystém povoleny určité dva názvy souborů, zatímco v jiném jazyce by tyto názvy souborů měly problém, protože by se lišily jen velikostí písma.

    Myslím si, že mít case sensitive filesystémy je lepší a přináší definovatelné chování bez závislosti na nastaveném jazyce.

    Na druhé straně si myslím, že vyrábět názvy souborů, které se liší jenom velikostí písmen je špatný zvyk. Z tho důvodu mě naštvalo, když třeba kdosi vymyslel, že zdrojové kódy pro jazyk C budou mít příponu .c, zatímco pro jazyk C++ to bude .C. To se naštěstí neujalo.
    4.11.2005 22:45 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Locale s tím nemá co dělat. Slušné systémy ukládají jména v unicode. No a pokud je mezi nějakými unicode-znaky definován vztah malé - velké, pak by nemělo být možné vytvořit dvě jména, které se liší jenom takto.

    Jo, je to složitější.
    5.11.2005 04:24 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Nikoli, to že je to Unicode Tě nezachrání. Převod na malá/velká písmena, stejně tak jako porovnávání řetězců s ignorováním velikostí písmen je závislé na jazyku. A to i když použiješ Unicode.

    Tím Ti chci jenom naznačit, že Tvůj návrh na to, aby filesystémy byly case insensitive nemá jednoduché řešení. Pokud začneš takový filesystém budovat, začneš se zamotávat do problémů a nakonec zjistíš, že takový filesystém navrhneš jenom s určitými kompromisy a s rizikem, že se sem tam prostě nedostaneš k důležitému souboru jenom proto, že někdo přepnul aktuální jazyk. To není dobrá vlastnost pro filesystémy a proto tvrdím, že budovat case insensitive filesystémy je blbost. A tyto popsané problémy jsou prosím problémy, které mohou nastat na Windows, které case insensitive používají (a názvy souborů samozřejmě ukládají v Unicode).
    5.11.2005 11:23 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Asi jo, může to být závislé na jazyku. Uznávám, dostanu se tím do problémů.

    Mě by vlastně stačilo, kdyby bylo case-insensitive doplňování jmen souborů v bashi :-). To se dá samozřejmě zajistit.
    5.11.2005 14:43 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    mně! paskmo!
    5.11.2005 16:07 Premilek
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Nějak nevidím tu závislost na jazyku. Nebyl by nějaký příklad?
    5.11.2005 16:23 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Je to jen teoretické nebezpečí.

    Třeba malé psací g je v ruštině d, takže D. Ale to je blbý příklad, protože ruské znaky Д a д majá jiný kód, než české D :-)

    Spíš by to mohlo nastat u nějakých variant latinky (všelijaké ty ocásky, čárky, háčky).
    5.11.2005 17:08 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Příklad? První co mi okamžitě vyhodil google:

    The most obivous example is that the ordinary ASCII character I is lowercased to i in most languages, but in Turkish is lowercased to ı = U+0131 = LATIN SMALL LETTER DOTLESS I.

    Jinak pravdědpodně nejvíce příkladů ohledně problematičnosti převodů lower/upper/insensitive comparing najdete na vývojářských stránkách Microsoftu, včetně příkladů, které ukazují jak naprosto rozdílné výsldky můžete dostat v závislosti na nastavení jazyka.
    5.11.2005 19:52 premilek
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Hmm, tak nevezmem Turky do EU a prosadime EUropsky standard ;-)

    ... Hypotetickym resenim by bylo, kdyby byly (nejlepe primo ve standardu Unicode) definovany skupiny ekvivalentnich znaku. Napr.: {a, A}, {i, I, ı = U+0131}, ...

    (pokud by vubec slo zohlednit timto zpusobem vice mene vsechny locale)
    5.11.2005 19:52 premilek
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Hmm, tak nevezmem Turky do EU a prosadime EUropsky standard ;-)

    ... Hypotetickym resenim by bylo, kdyby byly (nejlepe primo ve standardu Unicode) definovany skupiny ekvivalentnich znaku. Napr.: {a, A}, {i, I, ı = U+0131}, ...

    (pokud by vubec slo zohlednit timto zpusobem vice mene vsechny locale)
    5.11.2005 02:47 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Pokud se nepletu, tak odpadky po sobě sbírá Java. (Nemám rád Javu.)
    Quando omni flunkus moritati
    5.11.2005 04:31 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Odpadky po sobě sbírá prakticky každý intepretovaný jazyk, a že jich je!
    5.11.2005 16:25 paskma | skóre: 12 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Musím konečně napsat ten oslavný blogspot na GC...
    5.11.2005 12:39 Ladislav Thon
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    Sběr odpadků je taky úžasný příklad skvělého výběru překladatelů odborné literatury, ale můj oblíbený "návrat košíku" tedy určitě nepřekonává :)
    wake avatar 5.11.2005 15:01 wake | skóre: 30 | blog: wake | Praha
    Rozbalit Rozbalit vše Re: Na velikosti nezáleží!
    to jako CR? to je návrat vozíku.
    Tento příspěvek má hlavičku i patičku!

    Založit nové vláknoNahoru

    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2012 Argonit s. r. o. Všechna práva vyhrazena.