- A hozzászóláshoz be kell jelentkezni
- 2114 megtekintés
Hozzászólások
Csak azt tudnám mondani:
"A krumplileves legyen krumplileves!"
Azaz ha egy fájlrendszert már a tervezése során kis-nagybetű érzéketlenre terveztek, akkor az legyen olyan - de ekkor a tervezés során fentieket is figyelembe kell venni. Ekkor talán lehet az implementáció is jó. Ha ezzel szemben már *VAN* egy FS, akkor utólag ráerőszakolni ezt az érzéketlenséget gyakorlatilag kudarcra van itélve. (Amúgy elvi síkon érdekelne, hogy mi van az NTFS-sel, ami tudtommal tud érzékeny is lenni, ha valahol valaki valamit átállít. Hogy kb. a Winen használt szoftverek 99%-a állna tőle fejre, arra szerintem mérget lehet venni.)
- A hozzászóláshoz be kell jelentkezni
Többet ésszel, mint ész nélkül: https://devblogs.microsoft.com/commandline/improved-per-directory-case-…
- A hozzászóláshoz be kell jelentkezni
Végigszaladtam rajta.
Fenti cikk pont nem a te megjegyzésedet erősíti. Ugyanis az, hogy valamikor később implementálták az öröklési funkciót arra a nyomorult flag-re (nem pedig az adott flag implementálásával egyidejűleg), azt jelzi, hogy tervezéskor nem érezték fontosnak (ha egyáltalán felmerült) - márpedig ez eléggé alapszolgáltatás lenne egy ilyen eszköznél. (Tudom, hogy sántít mint minden hasonlat, de read-only mount után elvárom, hogy az adott FS minden egyes fájlja és könyvtára gyakorlatilag is RO legyen. Nyilván amikor rácsatolok egy másikat, ott megint szabályozhatom.)
- A hozzászóláshoz be kell jelentkezni
Arra értettem, hogy lehet könyvtárak szintjén állítani, nem muszáj mindent azonnal megborítani.
- A hozzászóláshoz be kell jelentkezni
Ekkor talán lehet az implementáció is jó.
Nem lehet. A kis- nagybetűsítés ugyanis lokalizáció függő, ezért képtelenség hordozhatóra megcsinálni.
Tipikus példa, nálunk a nagybetűs "I" (U+0049) kisbetűs párja az "i" (U+0069), míg pl. egy azerbajdzsáni Windows-on nem, náluk az ugyanis "ı" (U+0131).
Amúgy elvi síkon érdekelne, hogy mi van az NTFS-sel, ami tudtommal tud érzékeny is lenni
Nem tud. Ott a VFS rétegben konvertálják (így lokalizáció függő a végeredmény). Tudtommal az egyetlen, ami jól kezeli, az az exFAT, ami konkrét sok-sok megás kisbetűről-nagybetűre és nagybetűről-kisbetűre leképezőtáblákra pazarolja az értékes tárhelyet (igen, az összes partíción elpazarolja). Ez ezért "jó", mert bár így a kisbetűsítés lokálizáció független, viszont így esélyed sincs helyesen beírni egy magyar Windows-on azt a fájlnevet, amiben "i" betű van...
- A hozzászóláshoz be kell jelentkezni
Az $Upcase fájl ott van minden NTFS gyökerében is.
- A hozzászóláshoz be kell jelentkezni
De a táblázat csak rengeteg helyet foglal, nem oldja meg a problémát, ahogy az exFAT esetében sem.
(Egyébként is, ki az a hülye, aki a komlpett konverziós táblát tárol a pár karakteres locale kód helyett? A konverziós tábla úgysem változik, az lokálonként mindig ugyanaz marad, tök felesleges tehát erre pazarolni a drága tárhelyet minden egyes köteten. Arra mondjuk jó, hogy elromoljon aztán meg nézzen bambán a felhasználó, hogy miért lesz a kis "b"-ből nagy "A"...)
- A hozzászóláshoz be kell jelentkezni
Ugyebár a szoftverrel ellátott gépek vannak a különféle nyelvű emberekért, nem pedig fordítva. Ha a "programozó" nem tudja jól használhatóra megtervezni és megcsinálni a szoftvert, menjen el pl. virágkötőnek.
:)
- A hozzászóláshoz be kell jelentkezni
Linus-nak megint igaza van. A case sensitive fájlrendszer több gondot okoz, több komplikáltabb eset leprogramozását igényli, mint amennyi gondot megold. Igazából ezt a VFS-ben kéne implementálni, úgy jó lenne korlátokkal bármilyen fájlrendszerben. De jobb az ilyet nem használni. Értem, sok normi össze-vissza mentegeti a Fájl, fájl, FÁjl, stb. hülyeségeit, és nekik könnyebbség, ha a gép kitalálja helyettük, hogy mire gondolt a költő, de szépen ők is meg tudják szokni, hogy ezek a *nix rendszerek ilyenek, hogy figyelni kell a kis-nagybetű különbségre. Kényelmetlenség, de pár nap alatt simán megszokható egy kis fegyelemmel.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
A case sensitive fájlrendszer több gondot okoz, több komplikáltabb eset leprogramozását igényli, mint amennyi gondot megold.
Ponthogy fordítva: a case insensitive komplikáltabb, ugyanis azt implementálni a világ nyelveire, hogy mik a kis-nagybetű párok, nem egyszerű. A komplex irásrendszereknél, mint a különféle ázsia nyelvekben, nem olyan egyszerű ez, mint a latin betűs írásoknál.
Például a Hangul írásban nincs külön kisbetű, nagybetű.
Amúgy történelmileg a latin és klasszikus görög írásban sem volt kisbetű, csak nagybetűt használtak. A kisbetűs, minuszkula írás csak azért terjedt el, mert kézírás szempontjából sokkal gyorsabban lehetett így írni, ez a az iratok (oklevelek, Bibilia stb.) másolásánál, lejegyzésénél nagy segítség volt az írnoknak. A görög írásban a 10-ik században jelent ez meg, a latinban meg a negyedik században.
Nem véletlen, hogy a ránk maradt kézzel írt Bibliák nagy része minuszkulával van írva, minden betű kisbetű benne (igen, még a nevek is).
- A hozzászóláshoz be kell jelentkezni
Hát akkor ugyanaz, ha az ASCII kódjukat 32 választja el. Ennyi :)
(régen de egyszerű is volt...)
- A hozzászóláshoz be kell jelentkezni
A komplex irásrendszereknél, mint a különféle ázsia nyelvekben, nem olyan egyszerű ez, mint a latin betűs írásoknál.
Szokás szerint hülyeségeket hordasz össze. Az ázsiai írásrendszereknél tök egyértelmű a kisbetűsítés (vagy mert nincs is, vagy mert egy nyelv használja csak, mint a hiragana/katakana/hangul).
Pont, hogy a latinnál nem egyszerű a dolog (amit sok-sok nyelvre húztak rá, mindenki a maga kis csavarjával).
- A hozzászóláshoz be kell jelentkezni
Nézed meg az javanéz írást. Nem minden betűnek van nagybetűs alakja, és ott sem mindegy az, hogy a betű milyen pozícióban van. A javanéz írás 20 betűjéből csak 9-nek van murda megfelelője, de ezeket is csak akkor használják, amikor tulajdonneveket írnak. De ha egy névben az első betűnek nincs murda megfelelője, a névben az első alkalmas betűt kell murdával helyettesíteni.
- A hozzászóláshoz be kell jelentkezni
Persze, de ha nem droidoknak gyártunk oprendszert, hanem hús-vér usereknek, akkor bennem azért felmerül a kérdés, hogy a könyvelés2024.xls és a Könyvelés2024.xls miért kéne, hogy két különböző fájl legyen. Erre még senki nem tudott nekem életszerű példát mondani, de hajrá, itt a lehetőség.
- A hozzászóláshoz be kell jelentkezni
A Linux fontos tervezési elve a minél kényelmesebb az OS programozóinak, annál jobb hozzáállás. Rengeteget rendszer terveztem Linux alapokon, nagyon sok produktív rendszerben termel nekünk pénzt - szerver oldalon. IT-hoz nem értő hús-vér usereknek soha nem telepíteném, mert ők nem fogják megérteni soha, miért kezeli a példádat két fájlként, pedig programozóként nagyon is helyeslem, hogy az két külön fájl.
- A hozzászóláshoz be kell jelentkezni
pedig programozóként nagyon is helyeslem, hogy az két külön fájl.
Mi a use case? Mondasz egy példát?
- A hozzászóláshoz be kell jelentkezni
Pl. néhány retardált IT-s kollégának el lehet magyarázni, hogy bizonyos helyeken, pl. fájlrendszereken, kódban és az ipari hulladék Jira címkéi közt mIÉrt NeM mInDEGy, HogY KIs- vagY nAGybeTŰT haSzNÁl.
- A hozzászóláshoz be kell jelentkezni
Nem a case sensitive fájl rendszer szokott problémát okozni (mert abban egyféle fájlnév egyféle fájlnevet jelent) hanem a case insensitive.
De gyakorlati példa: Próbálj meg pl egy hatalmas kódbázist migrálni pl kódtárat, commitról commitra egy case insensitive fájlrendszerben. Garantáltan belefutsz valamibe, ami a végén nem lesz jó. Névkonvenciók meg nem véletlen vannak.
A case insensitive fájlrendszer szerintem felesleges kavarás. Szerintem ez user szinten is előjöhet, inkább hátrány.
- A hozzászóláshoz be kell jelentkezni
Garantáltan belefutsz valamibe, ami a végén nem lesz jó.
Mondasz egy példát?
Szerintem ez user szinten is előjöhet, inkább hátrány.
Mi a use case? Mondasz egy példát?
- A hozzászóláshoz be kell jelentkezni
Ok, akkor átgondolom, és sorolom:
Én életem során kb háromszor szívtam ilyesmivel (amire emlékszem is). Szerintem az SVN->Mercurial migráció, Mercurial->Git migráció, és SVN->Git migráció volt. Adott volt a környezet, valószínűleg valami rosszul is volt beállítva (legalább egy kis ideig, amíg rájöttek), és Windows-ról commitoltak az emberek. Cross platform problémák jöhetnek elő.
Az egyik user becommitolja a jozsi.cpp-t, a másik a Jozsi.cpp-t, mindkettő felmegy. Amikor a windows-os user ezt le akarja szedni, akkor hibát fog kapni. Rájönnek, valahogy javítják. Majd valamilyen eszközzel két év múlva migrálni akarod ezt a kódtárat, és az az eszköz is szétszáll rajta. Commitról commitra, change-ről change-re megy.
Vagy másik kérdés: Programozóként ha egy kódba beleírja valaki azt, hogy require('Config.js'), akkor a fájlrendszerben ne config.js legyen már, mert ez kb olyan érzés, mintha a változók is case insensitive-ek lehetnének. Ez már keresztbe tesz a névkonvencióknak is, tök mást jelent leírva ez. vagy az. Egyébként is van elég trehány programozó, még csak az kellene, hogy mindegy, hogy írják a fájlneveket.
- MyClass - osztálynév,
- myMethod() methodusnév,
- userName változónév
- MAX_SIZE konstans.
Csak példák a névkonvencióra, nem jelent gondot, ha a fájlnevekben sincs keveredés. A gondot az jelenti, ha máshogy írva is megtalálja a fájlt egy rendszer, egy importkor.
Ilyen miatt utána szétszáll CI/CD pipeline is, konténerben is lehet problémád, volume mountolás, stb...
Éppen ezért fejlesztői szemszögből: ami kisbetű az kisbetű legyen, ami nagybetű az nagybetű. Az összes többi kavarás (amivel konkrét problémákba fut bele minden fejlesztő, ha nem is naponta, de az évek alatt többször)
Az ilyenekből adódnak azok a problémák, hogy "Dehát ott működött."
Felhasználói szemszögből: A readme.txt és a Readme.txt simán lehet hogy két külön fájl. Minden felhasználó járhatott már úgy, hogy case sensitive fájlrendszerből másolt case insensitive-be, és valami kavar volt. Valószínűleg a Könyvelés.xls és a könyvelés.xls szempontjából probléma lehet a könyvelő néninek (ha elkavarja a dolgokat, meg neki egyébként is probléma a számítógép), de hogy lesz neki két külön fájlja alapból: Könyvelés.xls és könyvelés.xls? Nem eleve valami kavarás okozna csak ilyet, vagy az, hogy könyvelő néni trehány?
Egyébként locale, collátor problémái lehetnek?
á == Á, é == É? a == Á? Hogy is van ez?
Mi van, ha pl letölt/átmásol/archivál/visszatölt valamit, ami case insensitive: valami.doc, és Valami.doc. Az egyik fájl elveszik? Case sensitive fájlrendszer esetén nem.
Szerintem a felhasználó szempontjából komolyabb hibák is lehetnek ebből: Nem a case sensitive fájlrendszer esetén fog eltűnni valami fontos (pl szerződés) archiváláskor/visszatöltéskor, hanem a case insensitive fájrendszer esetén.
A case-insensitive kezelés lehet, hogy elsőre felhasználóbarátnak tűnik, de valójában technikailag sokkal bonyolultabb, és sokkal több korlátot is jelent, mint a case-sensitive kezelés. A fájlrendszernek értelmeznie kell, hogy két név ugyanaz-e (neked triviális hogy két karakter ugyanaz-e magyarul, de annyira nem triviális a probléma ha általánosan akarod kezelni), bonyolultabbá, lassabbá teszi az egészet, és hibásan is működhet. Cserébe megkötéseket is hoz: nem lehet két azonos nevű, csak case-ben eltérő fájl. Ezzel szemben a case-sensitive fájlrendszer egyszerűbb, következetesebb, és a felhasználónak meg kell tanulnia, hogy a számítógép pontos karaktereket különböztet meg – ami amúgy is alapvető készség, és (szerintem) plusz pont, hogy tudatos felhasználókat igényel. Ennél több dolgot is meg kell jegyeznie valakinek, akit szívesen odaengedek egy számítógéphez.
Ezen felül a case insensitive fájlrendszer lehet, hogy inkább csak régi örökség korai rendszerekből, nem? (amin már nehéz változtatni, mert túl nagy lenne a kompatibilitási törés)
- szerintem.
- A hozzászóláshoz be kell jelentkezni
Szerintem te itt multiplatform inkompatibilitásra hoztál példát, ahol az egyik rendszer sensitive, a másik meg insensitive.
De ez nem use case a sensitive értelmére. Ez egy probléma, ami a kétféle rendszer együttműködésekor (szarul beállitott rendszer esetén) előjöhet.
"egy kódba beleírja valaki azt, hogy require('Config.js'), akkor a fájlrendszerben ne config.js legyen már, mert ez kb olyan érzés, mintha a változók is case insensitive-ek lehetnének."
Nem tudom linuxon hogy működik, ha insensitive-re állitod, de windows-on, ha létrehozol egy Config.js file-t, az bizony Config.js fileként fog látszani mindenhol. Nem veszik el kis-nagybetű információ, ott van letárolva a filerendszeren. DE ezen file később elérhető config.js -ként is és NEM lehet mellé lerakni egy confIg.js-t.
- A hozzászóláshoz be kell jelentkezni
Szerintem te itt multiplatform inkompatibilitásra hoztál példát, ahol az egyik rendszer sensitive, a másik meg insensitive.
De ez nem use case a sensitive értelmére. Ez egy probléma, ami a kétféle rendszer együttműködésekor (szarul beállitott rendszer esetén) előjöhet.
Nem egy homogén világban élünk IT területeken sem. Ezek valós problémák, és use case-ek, amiket case sensitive fájlrendszer alapból kezel. Egy rendszernek más rendszerekkel kell integrálódnia.
Nem mindenki érzi problémának, hogy az "a" és az "A" az két különböző karakter. A case sensitive fájlrendszer természetes módon, plusz logika nélkül kezeli az eseteket, ha egy másik case sensitive rendszerrel kell integrálódnia (mivel nincs benne korlátozás karakterek tekintetében), míg a case insensitive fájlrendszerben az általam írt problémák jönnek elő.
Ha ma Te terveznél egy fájlrendszert, senki nem kötelezne rá, hogy MS-DOS kompatibilis legyen. Ki mondaná meg, talán Bill Gates? :) Szóval nem biztos, hogy az egész univerzumnak az MS-DOS-hoz, és a CP/M-hez kellene igazodni. Mert vannak rendszerek, amiben nem mertek váltani, mert a saját korlátozásuk kompatibilitási töréseket okozott volna.
A case sensitive fájlrendszer egy természetes választás, amivel ezek a problémák elő sem jönnek, és egy: https://en.wikipedia.org/wiki/KISS_principle megoldás. Azon felül én nem értek egyet az eredeti felvetéssel, hogy a usereknek ez gondot okoz. Akkor töröljük a _ (underscore) karaktert, mert keverik a kötőjellel, sőt, legyenek csak nagybetűk (ha nagyon el akarom túlozni. :)).
Szerintem ez: "2024 Bérszámfejtés.xlsx" és "2024_Bérszámfejtés.xlsx", "2024_bérszámfejtés.xlsx", és "2024-berszamfejtes.xlsx" ugyanúgy gondot okozna. Hol a határ? És ha bárki korlátoz, az magát szúrja tökön, ha egy másik rendszerrel kell integrálódni.
A másik kérdés: Akkor ne csak a fájlrendszereket vizsgáljuk meg az informatikában, milyen olyan területek vannak, ahol ez gondot okozhat még a könyvelő néninek? Adatbázis index? - Még egyszer: "Szerintem" - Nem kell egyet érteni, csak én így látom. :)
Ráadásul ez technikailag nem is triviális a kérdés: Ránézésre egyszerűnek tűnik kijelentés, hogy legyen case insensitive, de sokkal több karakter van, ami kérdés lehet. Pl egy keleti nyelv karakterei. + az integrációs gondok.
És mindezt azért, hogy a könyvelő néninek – aki nem ért a számítógéphez – ne kelljen megjegyeznie, hogyan is vannak elnevezve a fájlok? (és a case insensitive kezelés ebben amúgy is csak félig lehet segítség neki)
"egy kódba beleírja valaki azt, hogy require('Config.js'), akkor a fájlrendszerben ne config.js legyen már, mert ez kb olyan érzés, mintha a változók is case insensitive-ek lehetnének."
Nem tudom linuxon hogy működik, ha insensitive-re állítod, de windows-on, ha létrehozol egy Config.js file-t, az bizony Config.js fileként fog látszani mindenhol. Nem veszik el kis-nagybetű információ, ott van letárolva a filerendszeren. DE ezen file később elérhető config.js -ként is és NEM lehet mellé lerakni egy confIg.js-t.
Hát, ez programozóként: Nem számít, hogy minek látszik, hanem az a lényeg, hogy a fájlrendszerben és a kódban mi van. Mi történik, ha valaki config.js-t vesz fel, és Config.js-t ír a kódba. Vagy fordítva. -> A kódban az legyen, ami a fájlrendszerben. Semmivel nem fontosabb, hogy rendben legyen beírva/megtalálva/kezelve egy fájl, mint bármelyik másik case-sensitive elnevezés a forráskódban.
- A hozzászóláshoz be kell jelentkezni
A user szemponjából nincs értelme megkülönböztetni a kis és nagybetűs számot. Ellenben, nagyon is van értelme letárolni azt ahogy irta, mert ha neki úgy tetszik, hogy nagybetűvel kezdődik, akkor úgy is látszon. Ez megoldott CI filerendszer esetén, legalábbis windows alatt.
Ahogy egyébként a CS működés is megoldott alatta, de szerintem kimutathatlan, hogy hány user kapcsolja be, mert igénye van rá.
A biztonsági megfontolásról, nekem egyetlen eset sem jut eszembe, amikor abból lett security probléma, hogy CI a rendszer. Windows-on.
- A hozzászóláshoz be kell jelentkezni
A user szemponjából nincs értelme megkülönböztetni a kis és nagybetűs számot. Ellenben, nagyon is van értelme letárolni azt ahogy irta, mert ha neki úgy tetszik, hogy nagybetűvel kezdődik, akkor úgy is látszon. Ez megoldott CI filerendszer esetén, legalábbis windows alatt.
Hát dehogynem, pont azok, amiket írtam (a user is ezen a világon él, nem csak az Ő rendszere, és fájljai léteznek.). Szerintem meg nem okoz neki nagy terhet ezt kezelni, cserébe egy csomó cross platform kérdéstől szabadul meg. Ha ez valós kérdés lenne neki, akkor szerintem hülyeségre nincs orvosság, mert kb két perc megérteni, és megjegyezni, hogy a kis és nagybetű eltérő értékek. :) A többieket ne korlátozzuk már. :) Én ezt tipikusan (CI fájlrendszert) egy "user feature"-nek hazudott, történeti/kompatibilitási okból létező korlátozásnak gondolom.
Ellenben, nagyon is van értelme letárolni azt ahogy irta, mert ha neki úgy tetszik, hogy nagybetűvel kezdődik, akkor úgy is látszon.
Ez rendben van, case sensitive módon is pont így látszódik. Sőt, ahogy írta, az úgy van ott. Ha kis neveket szeretne adni, akkor adhat azt is (ha fél, hogy nem tudja megkülönböztetni később).
A biztonsági megfontolásról, nekem egyetlen eset sem jut eszembe, amikor abból lett security probléma, hogy CI a rendszer. Windows-on.
Nem tudunk róla. (és nem is tudhatunk, elég hosszú története van, rengeteg security issue, sérülékenység került már elő)
És még egy: nem csak a windows létezik, és más case insensitive fájlrendszer is lehet. Akkor azt ott egyedileg át kell gondolni mindig, és gondolom Linus futott már bele furcsa megoldásokba az egyedi logikákban. (egyébként nem írta volna)
A biztonság pedig egy speciális terület/kérdés, mert abból soha nem lehet elég. Ha bármit ki tud védeni az, hogy nincs egyedi logika, túlbonyolítás - akár kis nagybetűsítés - de legyen bármilyen speciális karakter kezelés/átugrás, akkor az egy plusz. Ha véletlenül van egy programhiba, akkor ezeken a plusz biztonságokon szokott múlni, hogy van-e belőle komolyabb gond, vagy végül nincs. (amiket előre nem is lehet tudni). - Nehéz, mert ezeket nem lehet jól átgondolni előre, csak tapasztalat alapján kerülni tudod a problémákat. Linusnak pl lehet ilyen érzéke a 35 év tapasztalatával, érdemes lehet hallgatni rá.
- A hozzászóláshoz be kell jelentkezni
És mindezt azért, hogy a könyvelő néninek – aki nem ért a számítógéphez – ne kelljen megjegyeznie, hogyan is vannak elnevezve a fájlok?
Igen.
Szerintem ez: "2024 Bérszámfejtés.xlsx" és "2024_Bérszámfejtés.xlsx", "2024_bérszámfejtés.xlsx", és "2024-berszamfejtes.xlsx" ugyanúgy gondot okozna.
Gondot is okoz. Nem véletlenül van egy csomó dokumentumkezelő rendszer, amiben ilyenkor feljön a warning, hogy hahó, tuti ezt akartad-e.
- A hozzászóláshoz be kell jelentkezni
De akkor egyszerű, használjon a könyvelő néni egy dokumentum kezelő rendszert, ha neki ez gondot okoz. A fájlrendszer ennél bővebb.
(Én nem hiszem, hogy a leggyengébb usert kell low-level beépíteni egy fájlrendszerbe.)
- A hozzászóláshoz be kell jelentkezni
ÉS még egy dolog, tényleg, amit Linus írt:
akkor más véletlenszerű – és esetleg biztonság-érzékeny – fájlok is ugyanolyannak számítanak
Te át tudod gondolni, hogy mit okozhat biztonsági szempontból, ha valaki "okosan" akar plusz logikákat beépíteni a fájlnevek kezelésébe? Én biztosan nem. - csak az egyszerű a legjobb...
- A hozzászóláshoz be kell jelentkezni
Az egyik user becommitolja a jozsi.cpp-t, a másik a Jozsi.cpp-t, mindkettő felmegy.
Ez világos, de az én kérdésem pont az, hogy erre mi a valós use case. Miért commitolná be? Van egy coding standard jó esetben a cégnélm az megmondja, mi legyen a fájlnév.
Illetve miért commitolhatja be? Desktopon még mindig kétharmad feletti a Windows részesedése, ezt code review-ban meg kéne már fogni, hogy hello, balhé lesz ha merge-ölik a PR-t.
Az ilyenekből adódnak azok a problémák, hogy "Dehát ott működött."
És nem lehetne, hogy a fejlesztők igazodnak kivételesen a userekhez, és nem fordítva? :)
Fejlesztőként is az a biztosabb megoldás, ha case-insensitive-nek tekinted a fájlrendszert, és nem hozol létre ugyanolyan jelentéstartalmú fájlneveket, különböző case-szel.
Cserébe megkötéseket is hoz: nem lehet két azonos nevű, csak case-ben eltérő fájl.
Szerintem ez egy nagyon jó mnegkötés, egyelőre továbbra sem látom, hogy a könyvelés2024.xls és a Könyvelés2024.xls szemantikailag miért különböző adathalmaz.
- A hozzászóláshoz be kell jelentkezni
adig jááár a körsó a kutra Míg el nem töri a goja. tssáél ala,azkodnmi.
A legtöbb dolog azárt válik rosszá, mert a leggyengébb láncszemhez akarják igazítani, hogy a hülyék is könnyen tudják használni. De a hülyék kreatívak és mindig találnak ki még nagyobb baromságot.
- A hozzászóláshoz be kell jelentkezni
Nem értünk egyet, sok usecase-t és valós kérdést írtam.
Szerintem ez nem egy valós probléma a usernek. Nincs szó arról, hogy a fejlesztőhöz igazodjunk, és a Marika néni és egy fejlesztő között még 1000 fokozat van.
Plusz ha mindenben könyvelő nénihez igazodnánk (a NASA is), hogy neki ne kelljen 1 perc alatt átgondolni, hogy mit csinál, akkor nagyon sok lehetőségtől esnénk el.
Egy kódtár meg lehet hogy 15 év eredménye, minden előfordulhat ez idő alatt.
code review-ban meg kéne már fogni, hogy hello, balhé lesz ha merge-ölik a PR-t
Igen, oda kell figyelni a fájlnévre, meg még 1000 dologra. Ha elcseszik, case sensitive fájlrendszerrel el sem jutnak idáig. -> kezeli a kérdést automatikusan
Fejlesztőként is az a biztosabb megoldás, ha case-insensitive-nek tekinted a fájlrendszert
Azt Te sem várhatod, hogy csak a case insensitive fájlrendszereket tekintsük valid fájlrendszernek egységesen - addig meg okoz cross platform kérdéseket.
+ Szerintem az egyszerűbb, megkötések nélküli a jobb. (jobban igazodik mindenhez körülötte)
- A hozzászóláshoz be kell jelentkezni
Plusz ha mindenben könyvelő nénihez igazodnánk (a NASA is)
A NASA-nál mi a use case arra, hogy a mars_felvétel.avi és a Mars_felvétel.avi különböző adathalmazt jelöljön? :)
Ha elcseszik, case sensitive fájlrendszerrel el sem jutnak idáig. -> kezeli a kérdést automatikusan
Hogy kezeli? Van egy valami.py és egy Valami.py fájlod, melyik lesz az "igazi" verzió? Vagy két teljesen különböző tartalmú fájlról van szó? Akkor miért ~ugyanaz a nevük?
Azt Te sem várhatod, hogy csak a case insensitive fájlrendszereket tekintsük valid fájlrendszernek egységesen
Tekintve, hogy a desktop rendszerek kétharmadánál is több fut case-insensitive fájlrendszeren, szerintem nyugodtan tekinthetjük defaultnak.
- A hozzászóláshoz be kell jelentkezni
A NASA-nál pl egy interfészen pl fájlokat kapnak egy külső helyről (nem a Mars_felvétel.avi-t a marketing osztályon, hanem mást), és case sensitive formában tárolják a fájlneveket, ami mondjuk fel is van sorolva egy xml-ben, vagy db-ben, vagy bárhol. Szerinted térjen át mindenki Marika néni kedvéért. -
De szerintem alapból egy valid választás az egyszerűbb, és több lehetőséget biztosító megoldás (a case sensitive, ami kevesebb logikát és hibalehetőséget tartalmaz) egy olyan helyre, ahol a stabilitás a kérdés, és minden felesleges problémát el akarnak kerülni. És egy bármilyen enterprise usernek nem ugyanaz számít egyszerűbbnek, mint a könyvelő néninek.
A case insensitive kezelés, amúgy szerintem nagyon sok kérdést felvet, nem olyan egyszerű, mint itt neked elsőre tűnik, magyar nyelven.
- A hozzászóláshoz be kell jelentkezni
Segítek nektek egy tippel: base64 fájlnevek
YnV6aSBha2kgZWxvbHZhc3Nh és YNV6ASBHA2KGZWXVBHZHC3NH nem ugyanaz,
- A hozzászóláshoz be kell jelentkezni
Például, köszi. Most Te hoztál egy példát, ahol kérdés merülhet fel CI fájlrendszerben.
- A hozzászóláshoz be kell jelentkezni
Nem merülhet fel kérdés, mivel eleve nem mentesz ilyen módon problémás fájlokat, ha azt akarod, hogy kb. minden számítógép valamennyi szoftverkonfigurációján fusson a kódod.
:)
- A hozzászóláshoz be kell jelentkezni
De felmerülhet, fájlokat futó szoftverek mentenek, nem csak userek a wordből, excelből.
Ott Te nem tudhatod, hogy milyen megfontolásból, és mit csinálnak. (mert ez szofverenként egyedi)
- A hozzászóláshoz be kell jelentkezni
Azért az ugye megvan, hogy a kovács és a Kovács miben különbözik? :))
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Fasza, megvan az első példa, ami valóban életszerű? Kovács.jpg és kovács.jpg, nice.
Köszi, legalább valaki értette a kérdést. :)
- A hozzászóláshoz be kell jelentkezni
Na, a végén csak eljutunk odáig, hogy egy épeszű, legalább érettségizett embernek el lehet magyarázni, mi a különbség a kis- és a nagybetűk között!
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
de valójában technikailag sokkal bonyolultabb
User: not my problem.
nem lehet két azonos nevű, csak case-ben eltérő fájl.
Mi rá a valós életbeli use case? Mindig mondják a case sensitive fájlrendszer mellett pártolók, de olyat még nem láttam, hogy bárki, szándékoltan erre akart volna funkciót építeni vagy ilyet akart volna csinálni.
- A hozzászóláshoz be kell jelentkezni
User: not my problem.
Nos, ha Gizikéne arra van igénye, hogy picimuci nyuszokák jelenjenek meg a szabványos megoldás helyett, akkor fizethet valkinek azért, hogy megcsinálja számára a piszimucinyuszikák wrappert.
Ha van egy hatékony, jól működő, szabányos rendszer, akkor a hülyék számára beteendő réteget fizessék meg a hülyék.
Ha meg nyuszimuci nem érti, hogy ez egy extra igény, akkor annyiban is maradhat a dolog, hogy "így kell csinálni és kész", ha nem tetszik, akkor elmehet kapálni. De ha nem tudja a különbséget a dudva és a palánta közt, akkor kapáltak neki. Az inkompetenciát nem plusz befektetéssel, a feladat megoldásának primitív lépéseit túlbonyolítva más nyakába varrásával lehet orvosolni, hanem mucika kirúgásával.
Otthon, szabadidejében, akármikor persze lehet butus, de ott is neki kell megfizetnie azt, hogy valaki fogja a kezét és helyette gondolkodó gépet csináljon neki. Ha nem, akkor max a természetes szelekció megoldja.
- A hozzászóláshoz be kell jelentkezni
Ha Linus gépek számára akar fájlrendszert csinálni, akkor ott eleve nem merül fel nem hogy kisbetű és nagybetű probléma, hanem betűprobléma sem. Szóval amíg végső soron emberek fizetik az ő munkáját, és nem kimondottan gépeknek akar fájlrendszert csinálni, addig lesz szíves kiszolgálni az emberi igényeket. Esetleg fel kéne fogni, hogy pl. az emberi kézbe való véső és a különféle véső-gépekbe való véső formája különbözik. Ha Linus vagy bármelyik illetékes nem tudja megugorni a feladatot, elmehet pl. öltözködési tanácsadónak.
:)
- A hozzászóláshoz be kell jelentkezni
Ühüm. A program létrejöttéhez és futásához szükséges fájlok elnevezésekor a programozó használjon kizárólag angol kisbetűket, arab számokat, alulvonást és pontot. Ennyi. Nem olyan bonyolult ez, főleg egy olyan korban, amikor egyes szoftveres közösségekben azt is előírják, hogy a csoport részét képező egyén hogyan vélekedjen a világról.
Esetleg fel kellene fogni, hogy az emberek mire és hogyan használják az állományokat. Segítek: a fájlban tárolt (vagy tárolni kívánt) bitek által hordozott tartalom alapján születik meg az ember fejében az a karakterlánc, amit végül fájlnévnek használ. Amíg az ember és a gép közösen olvassák ugyanazt a fájlrendszert, elvárható, hogy ne az embernek kelljen alkalmazkodni.
:)
- A hozzászóláshoz be kell jelentkezni
A program létrejöttéhez és futásához szükséges fájlok elnevezésekor a programozó használjon kizárólag angol kisbetűket, arab számokat, alulvonást és pontot.
Te sem programoztál még soha, legalábbis Java-ban, C#-ban, Swift-ben, Kotlin-ban, és Objective-C-ben biztos nem..
Segítek: https://www.oracle.com/java/technologies/javase/codeconventions-introdu…
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-sty…
https://www.swift.org/documentation/api-design-guidelines/
https://kotlinlang.org/docs/coding-conventions.html
https://google.github.io/styleguide/objcguide.html
Ezek olyan névkonvenciók, amiktől szentségtörés eltérni, beleértve hogy a fájlok elnevezésekor nem csak "kizárólag angol kisbetűket, arab számokat, alulvonást és pontot" használsz.
- A hozzászóláshoz be kell jelentkezni
Ha a linkelt oldalakon vannak valóban releváns részek, és bemásolod őket ide, akkor elolvasom.
:)
- A hozzászóláshoz be kell jelentkezni
Megkértem neked a chatgpt-t, hogy keresse ki a releváns részeket (Search funkcióval, Te is megtehetted volna):
Java
-
Hivatalos dokumentáció: Code Conventions for the Java Programming Language: Naming Conventions
"Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words—avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML)."
C#
-
Hivatalos dokumentáció: Common C# code conventions
"By convention, C# programs use PascalCase for type names, namespaces, and all public members."
Swift
-
Hivatalos dokumentáció: API Design Guidelines - Swift.org
"Names of types and protocols are UpperCamelCase. Names of functions and variables are lowerCamelCase."
Kotlin
-
Hivatalos dokumentáció: Coding conventions | Kotlin Documentation
"If a Kotlin file contains a single class or interface (potentially with related top-level declarations), its name should be the same as the name of the class, with the .kt extension appended. It applies to all types of classes and interfaces."
Objective-C
-
Hivatalos dokumentáció: Google Objective-C Style Guide
"File names for categories should include the name of the class being extended, like GTMNSString+Utils.h or NSTextView+GTMAutocomplete.h"
Ezt írta még:
Java
-
Névkonvenció: A fájl neve pontosan meg kell egyezzen a
public
osztály nevével, beleértve a nagybetűket is (PascalCase). -
Példa:
MyClass.java
fájlban szerepel apublic class MyClass
. -
Hivatalos dokumentáció: Code Conventions for the Java Programming Language: Naming Conventions
C#
-
Névkonvenció: Az osztályok nevei PascalCase formátumúak, és a fájl neve megegyezik az osztály nevével.
-
Példa:
MyClass.cs
fájlban szerepel apublic class MyClass
. -
Hivatalos dokumentáció: Common C# code conventions
Swift
-
Névkonvenció: A fájl neve tükrözi a benne található fő típus nevét, PascalCase formátumban.
-
Példa:
MyViewController.swift
fájlban szerepel aclass MyViewController
. -
Hivatalos dokumentáció: API Design Guidelines - Swift.org
Kotlin
-
Névkonvenció: Ha a fájl egyetlen osztályt vagy interfészt tartalmaz, a fájl neve egyezzen meg az osztály nevével, PascalCase formátumban. Több osztály vagy top-level deklaráció esetén a fájl neve tükrözze a tartalmát.
-
Példa:
MyService.kt
fájlban szerepel aclass MyService
. -
Hivatalos dokumentáció: Coding conventions | Kotlin Documentation
Objective-C
-
Névkonvenció: A fájl neve tükrözi az osztály nevét, beleértve a nagybetűket is. A header fájl
.h
, az implementációs fájl.m
kiterjesztésű. -
Példa:
MyViewController.h
ésMyViewController.m
fájlokban szerepel a@interface MyViewController
és@implementation MyViewController
. -
Hivatalos dokumentáció: Google Objective-C Style Guide
Amíg az ember és a gép közösen olvassák ugyanazt a fájlrendszert, elvárható, hogy ne az embernek kelljen alkalmazkodni.
Például a névkonvencióak is emberek találják ki, és nem feltétlen azt jelenti az, "hogy nem az embereknek kell alkalmazkodni", hogy Marika-nénit vesszük alapul, aki nem tudja a kis és nagy betűt megkülönböztetni a számítógépén.
- A hozzászóláshoz be kell jelentkezni
Átfutottam a HUP-on megjelenő szöveget. A felsorolásban egy laikus számára semmi sem indokolja, hogy ne lehessen kisbetűs a fájlnév. Gondolom, a programozó együtt tud élni azzal, hogy nem használ együtt "FüggVény", "Függvény", "függVény" és "függvény" nevű függvényeket.
:)
- A hozzászóláshoz be kell jelentkezni
De indokolja, és nagyon nem érted ezt.
Aki ilyet csinál, az első pillanatban elveszíti el mindenki bizalmát, mert egy alapvető szakmai normát rúg fel. Ez nem szabad értelmezés kérdése, hanem a világon mindenhol elfogadott névkonvenció.
Ezen felül ez nem csak stílus kérdése, hanem pl a java fordítód le sem fordítja a programot, ha a fájlneved nem egyezik meg az osztálynévvel.
- A hozzászóláshoz be kell jelentkezni
Velem lehet alkudni: a 7 bites ASCII tábla összes nagybetűjét is használhassa a programozó.
:)
- A hozzászóláshoz be kell jelentkezni
Ékezeteket és egyéb barom karaktereket nem illik amúgy. Szerintem az egyik legnagyobb hülyeség lenne, amivel szívathatná magát és a másikat a programozó.
És közben eszembe jutott, hogy hibát is nyomoztam ilyen miatt (kigenerált jar fájlnak a nevében volt valami, amiből lett valami hiba). (és minden UTF-8, de hányingere lesz az embernek. :)) - Ilyet egy jóérzésű programozó nem csinál.
- A hozzászóláshoz be kell jelentkezni
Például a névkonvencióak is emberek találják ki, és nem feltétlen azt jelenti az, "hogy nem az embereknek kell alkalmazkodni", hogy Marika-nénit vesszük alapul, aki nem tudja a kis és nagy betűt megkülönböztetni a számítógépén.
Irreleváns. A programozónak lehet saját CS fájlrendszere a fejlesztéshez. Nem olyan nagy dolog ez, ha már a fejlesztéshez szükséges szoftvereket úgyis konténerrel telepíti, a tesztelést meg virtualizált környezetben végzi...
:)
- A hozzászóláshoz be kell jelentkezni
Szerintem meg Marika néni irreleváns, legyen neki egy dokumentum kezelő rendszere, valami fájlrendszer felett futó wrapperje, vagy bármi, ha neki meggyűlik a baja a fájlrendszerekkel.
De ne csak a programozókra gondolj. 1000 másik terület lehet, ahol a user CS fájlrendszert szeretne. A usereknek is kérdés, pl a cross platform problémák miatt, amit az eltérő fájlrendszerbeli működésnek előhoznak. (csak nem arra gondolsz, hogy csak CI fájlrendszerek legyenek az univerzumban, hogy ne legyen gond)
- A hozzászóláshoz be kell jelentkezni
Aki igényli, használhat a rendszerén CS fájlrendszert. Aki nem igényli, és nem is ért hozzá, annak meg kényelmesebb a CI.
:)
- A hozzászóláshoz be kell jelentkezni
Megegyeztünk. :)
- A hozzászóláshoz be kell jelentkezni
Ha valakinek arra lenne igénye, hogy ezek azonos file-ok legyenek, akkor egy symlinkkel simán meg tudja oldani.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Teljesen reális, hogy könyvelői droid aki nem is érti miért nem ugyanaz a fenti két példafile, az majd symlinkkel egyezővé teszi...
- A hozzászóláshoz be kell jelentkezni
Szóval az általad ismert könyvelői droidok nem értik a különbséget a 'k' és a 'Shift+k' között? :))
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Szerintem a betű és a karakter közötti különbség az, ami nem nyilvánvaló a számukra.
- A hozzászóláshoz be kell jelentkezni
Az általam ismert könyvelő droid nem érti a különbséget ugyanabban a könyvtárban tárolt Bérszámfejtés.xls és a bérszámfejtés.xls file között.
És nem is szeretnék nekikezdeni megmagyarázni, hogy miért is volna jó neki, ha meg volna engedve, hogy két ilyen nevű, eltérő tartalmő file legyen ott, mert én is hamar elfogynék az észérvekből...
- A hozzászóláshoz be kell jelentkezni
Pedig egyszerű, ugyanaz a különbség, mint a bérszámfejtés.xls és a leszbicsajok.avi között: két különböző file. :))
Amúgy fixme, de most ugye valójában a BERSZA~1.XLS file-ról megy a vita? :))
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Ha 30 éve nem láttál ms oprendszert, akkor lehet :)
- A hozzászóláshoz be kell jelentkezni
Direkt kipróbáltam, win10-en még PROGRA~1 a 'Program Files'. A 11-ről nem tudok nyilatkozni, de van egy tippem.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Na meg hány symlinkkel? :) Könyvelés1, kÖnyvelés1, köNyvelés1...
- A hozzászóláshoz be kell jelentkezni
Igazatok van, ez egy szuboptimális megoldás egy olyan problémára, aminek nem is lenne szabad léteznie.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Az biztos, hogy szuboptimális. mert ha ugyanabban a könyvtárban van (márpedig szerintem abból indultunk ki (*) ), akkor a hard link az optimális megvalósítás. ;-)
(*) ha nem ugyanabban a könyvtárban van a Könyvelés2024.xls és a könyvelés2024.xls (**), akkor fogja tudni a drága könyvelő néni, hogy mi köztük a különbség? Sajnos nem, ezért szüntessük meg a könyvtárak kezelését is!
(**) esetleg egy harmadik helyen pedig van egy konyveles2024.xlsx és mivel el van rejtve a kiterjesztés és csak felismerhetetlen és megkülönböztethetetlen ikonokkal jelöljük a különbséget (de persze rendelhetünk hozzá 2 külön programot is akár!) ezért még annyira sem tudja megkülönböztetni őket
Végkövetkeztetés: legyen CI fájlrendszer, ami mappákat (pláne nem könyvtárakat!) sem kezel, mint a C-64 floppimeghajtóján.
Vagy mégis csak edukáljuk a felhasználókat. (Mi a bánatnak különböztetjük meg a Rákóczi utca / Rákóczi út / Rákóczi tér közterületeket.)
- A hozzászóláshoz be kell jelentkezni
edukáljuk a felhasználókat.
Ha az informatikai szereplők a 2025-ben általánosan rendelkezésre álló számítási kapacitással nem tudnak egy informatikai problémát jól és emberközpontún megoldani, szerintem ne a felhasználókat edukálják, hanem saját maguk iratkozzanak be edukálásra.
:)
- A hozzászóláshoz be kell jelentkezni
Van ertelme case insensitive-segnek, csak nem FS szinten, hanem shell/filebrowser szinten. Ha egy open dialogba beirom hogy file.txt, de kozbe a folderbe csak File.txt van, akkor javitsa ki automatikusan (ha ambigous, mert van mondjuk File.txt meg FILE.txt is akkor meg dobjon errort). Save-nel ugyan igy, ha file.txt-be akarok menteni es kozben van egy File.txt, akkor kerdezze meg hogy felul akarom-e irni (meg mondjuk legyen valami jol eldugott opcio hogy en megis file.txt neven akarok menteni). Grafikus programoknal a widget toolkit megoldja, cli-nel a shell, es egyebkent meg open, fopen meg tarsai mukodnek tovabb ugy ahogy vannak most, anelkul hogy a programozonak azon kene fajjon a feje hogy az adott filesystem az hanyas verzioju unicode szabvany alapjan casefoldol, vagy hogy az applenek nem sikerult NFD-t implementalnia rendesen.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Van ertelme case insensitive-segnek
Hiszen én is ezt mondom, én most a case-sensitive verzióra várom a pályamunkákat :)
- A hozzászóláshoz be kell jelentkezni
A case sensitive megoldás mellett szóló érvek:
1) egyszerűbb, minden csak bitkép alapján dől el, nyers bájtok szerint. Nincs manipulálgatás, fetrengés, hogy mi minek felel meg, minek a upper/lower case megfelelője, nincs bonyolítás a kódolás szerint, stb.. Egyszerűen csak el van tárolva a fájl, mappa, link, stb. neve, és csak teljes egyezés esetén utalnak ugyanarra a fájlra, mappára, stb.. Egyszerűség, sokkal kevesebb programsorból implementálható, ami kevesebb lehetséges bugot, sechole-t hoz magával.
2) rugalmasság, nem korlátozza le a felhasználót, ha már van az adott mappában egy hasonló fájl, hogy ne használhasson ahhoz nagyon hasonló nevet, ami csak kis/nagybetűben tér el.
3) biztonság, rossz indulatú fél, kód nem tud odapreparálni a fájlrendszerre egy hasonló fájlt, pl. Bináris helyett bináris néven, amit a felhasználó véletlen a bináris helyett tudna futtatni.
Tradicionálisan a Unix sose fogta a felhasználó kezét, nem voltak benne hülyebiztosított, egy klikkes megoldások, meg bekészített védelmi mechanizmusok. Emiatt nem megbocsátó, pl. CLI-ben valamit rosszul paraméterezel, simán végig dd-zheted a telepítésed, szétrongálhatod a fájlrendszert rm, chmod, chown, stb. mentén, ha rosszul adod ki rekurzívan, pipe-okkal simán felülírhatsz fontos fájlokat, stb.. Sose volt egy hülyéknek szánt rendszer, nem próbálta megvédeni a felhasználót önmagától.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
A könyvelés2024.xls és a Könyvelés2024.xls miért kéne, hogy két különböző fájl legyen? Mire lenne az jó?
- A hozzászóláshoz be kell jelentkezni
Sot!
Кӧnyvelés2024.xls
- A hozzászóláshoz be kell jelentkezni
Amugy most igy megegyszer vegiggondolva az egeszet, ennyi erovel a konyveles2024.xls-el mi ujsag? Az miert kene mas fajl legyen mint a könyveles2024.xls? Vagy konyveles_2024.xls vagy 2024nyilvantartas.xls vagy ...
Az a baj hogy az emberek agya az nem egy bytesorozatot tarol, a szamitogep pedig de es kene talalni valami kompromisszumot ami a userek szamara se nagyon idegesito, es cserebe nem nagyon bonyolult implementalni. A case insensitive FS egy ilyen dolog, amig a foldgolyo csak az USA-bol all, onnantol kezdve hogy nem csak ASCII karakterekre kell mukodnie, gyorsan elkurvulnak a dolgok. Persze az is jo kerdes hogy miert ragaszkodunk egyaltalan a filenevekhez, es miert nem valami semantic cucc van helyette, es akkor a case sensitivitas mehetne abba a kupacba hogy a TCP miert random megjegyezhetetlen szamokat hasznal portoknak mint pl 22, 80, 443, miert nem human readable stringeket mint pl SSH, HTTP, ...
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Én el tudom képzelni, hogy a kibővített latinbetűs (főleg az európai országokra gondolok, néhány kivétellel mint pl. Törökország, és Európa határa [keletről] a Románia-Bulgária tengely (jó ez vicc volt) {hú, ez egyre bonyolultabb}) abc esetén jól működhet a kis- és nagybetű érzéketlenség. Csak párszáz, esetleg egy-két ezer kilométer megtétele után olyan latinbetűs országok jönnek mint Törökország, vagy Azerbajdzsán hogy mást ne írjak.
Ott fog eldőlni a betűérzéketlen fájlrendszer Jenga tornya. (Ez csak vélemény, nem igazság)
Egyébként a nyitóban leírt Linus-féle érvelés rossz, mert a fekete szív és a piros szív akár kicsi akár nagy, mindenképpen különbözik egymástól.
Meg kellene már tisztességesen tanulni a bridge-t, és akkor nem jönnek hülye példákkal.
Még nincs aláírásom.
- A hozzászóláshoz be kell jelentkezni
Gondolom, akkor ezekben az országokban nem használnak windows-t, vagy telepités után átállitják case sensitive-re.
Vagy mégsem akkora probléma ez ezeken a nyelveken sem.
- A hozzászóláshoz be kell jelentkezni
Használnak. Az átállításról nincs információm.
Még nincs aláírásom.
- A hozzászóláshoz be kell jelentkezni
Na ja, könyvelés xls-ben, innen indulunk :)
- A hozzászóláshoz be kell jelentkezni
Azert mert nem akarod ujraformazni az osszes fajlrendszeredet amikor kijon egy uj unicode verzio es mar megint atvarialjak a normalizalas/casefolding szabalyokat, es nem akarsz olyan kura gany megoldast csinalni, mint az apple.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Soha nem formáztam ilyen miatt újra egy FS-t sem ilyesmi miatt, nem tűnik ez valós problémának.
- A hozzászóláshoz be kell jelentkezni
Hat majd ha egy mappa megnyitasa errort fog dobni, mert sikerult belerakni ket olyan filet ami egy korabbi unicode verzio szerint meg kulon karakternek szamitott, uj verzio szerint meg nem, akkor fog majd fajni. (Nyilvan gyakorlatban inkabb valahogy kornbeganyoljak, lasd apple ami mai napig valami unicode 3 alapu normalizalast hasznal, hogy ne torjek el a filerendszer kompatibilitast.)
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Én igérem jelentkezni fogok, amint belefutok ebbe a problémába.
- A hozzászóláshoz be kell jelentkezni
Még sor kerülhet rá.
De akkor is jelentkezz majd, ha egy case sensitive fájlrendszerben futsz bele abba a problémába, hogy nem tudsz két fájlt megkülönböztetni, és csak egy case insensitive fájlrendszer menthet meg. ;)
- A hozzászóláshoz be kell jelentkezni
Nem kell, ha valakinek az az igénye, hogy egy file-t különböző neveken el tudjon érni, megteheti, mint már írtam is.
De visszakérdezek: miért akarna valaki egy file-t két (vagy több) különböző néven elérni? Mire lenne az jó?
A választ erre is az fogja megadni, akinél ez az igény fölmerül. Neked nem kell rajta töprengened.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
miért akarna valaki egy file-t két (vagy több) különböző néven elérni? Mire lenne az jó?
Symlinkrol mar hallottal? Meghalnek ha nem tudnam oket hasznalni (meg bind mount, de az egy fokkal bonyolultabb dolog)
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Olvass följebb, pontosan ezt a megoldást javasoltam, de Imo nem volt vele elégedett. Ezzel a kérdéssel arra akartam utalni, hogy ne zárjon ki lehetőségeket csak azért, mert szerinte senkinek nincs rá igénye. Valakinek biztosan lesz.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
ne zárjon ki lehetőségeket csak azért, mert szerinte senkinek nincs rá igénye. Valakinek biztosan lesz.
+1 Na ez az.
- A hozzászóláshoz be kell jelentkezni
Hu nekem inkabb ott az workaroundnak tunt a case-insensitive-seg hianyara, arra tenyleg eleg rossz otletnek tunik symlinkeket hasznalni. De az altalanos problemara, hogy egy file tobb neven/utvonalon is elerheto legyen, arra sok esetben egy jo megoldas.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Azért meg nagyon bonyolult olyan algoritmust állítani, ami kivédi ezt. Mert jelen példában mi emberek látjuk, hogy csak félreírás, de algoritmust erre nehezen állítasz, hogy próbálod kitalálni, hogy mire gondolt a költő/felhasználó. Ne, ne találgassunk, az a legrosszabb, mert elkezdünk hülyeséget feltételezgetni. Ha ilyen védelmet akarsz, azt a userspace alkalmazásban érdemes implementálni, hogy ilyen fájl mentése előtt végignézi a mappát, és ha talál nagyon hasonló fájlt, akkor rákérdez. Az még okés egy GUI-s programnál. De egy CLI/TUI programnál ne találgasson végképp, ott agyhalál is lenne, hogy a szkriptben meg az általad paraméterként megadott, pipe-ban átadott adatokat elkezdené találgatás alapján felülbírálgatni.
Pont ez a mai modern operációs rendszerek rákfenéje, hogy mindent próbálnak a felhasználó helyett kitalálni, jobban tudva nála is, hogy mit is akarhat, meghoznak a háta mögött döntéseket, önállósítja a rendszer magát, meg előírja, hogy te mit hogy használhatsz, nem telepíthetsz gyanúsnak tűnő programot, rádkényszeríti a telemetriát, frissítéseket, online fiókot, titkosítást, stb.. Ez egy olyan tré megoldás, ami csak lejjebb visz a szarörvénybe, és csak a gond van vele.
Egyébként meg a példádnál maradva ilyennek elő sem kéne fordulnia helyes felhasználásnál. Mert mikor menti a Könyvelést2024.xls-t, akkor hogy nem látja, hogy már van egy könyvelés2024.xls? Mert ha az utóbbit akarta szerkeszteni, akkor nem új dokumentumként kellett volna megnyitni, és később menteni, hanem eleve a könyvelés2024.xls-t kellett volna megnyitnia és azt szerkesztenie, majd végül mentenie azonos néven. Ilyet csak sík idióták csinálnak, hogy már van egy olyan fájl, de erre elment helyette hasonlót.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Javaslom elolvasni A Pál utcai fiúk c. művet, nyilván hallottál róla. Abban az egyik szereplő annyira komolyan vette a kisnagybetű különbséget, hogy bele is halt.
És szerintem ezt a példát még az ominózus könyvelőd is értené.
- A hozzászóláshoz be kell jelentkezni
Mondjuk en azt a konyvet nem ertettem, miert kell ekkora feneket keriteni egy 29472ed rendu problemanak. Nyilvan ok meg nem talalkoztak Unix rendszerekkel ahol minden usernev kisbetus, de akkor is.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Kultúrális különbség. Avagy, mindenki a maga szintjén nyomorog. A környezetük erre nevelte őket. Amikor arról szólnak a hírek, hogy egy iskolás felakasztotta magát, mert rossz jegyet kapott, az is a környezete hibája általában, mert szétszekálták a hülyeségeikkel és olyan, amúgy lényegtelen dolgokat fontoskodtak életbevágónak, aminek csak a nyomorék kisközösségben tulajdonítanak óriási fontosságot, s akik fontosnak tartják, azok ezzel akarják a saját szerepüket és feladatukat óriási fontosságúvá emelni.
- A hozzászóláshoz be kell jelentkezni
1. mondat:
Nekik (PUF) kb. annyiból állt a "világ" - és azt vették el tőlük képletesen is és fizikailag is (üveggolyó einstand) a vörösingesek. Azaz nekik pont hogy nem X. rendű a probléma.
2. mondat:
Milyen kisbetűs unixos usernév? Hagyomány vs kötelezőség. Hint: UNIXokon lehet vegyes karakteres a loginnév. Tény, hogy mikor a rendszert anno kitalálták, még elő-elő fordulhatott olyan beviteli eszköz, ami csak NAGYBETŰ bevitelét támogatta - e miatt a klasszik UNIX login procedúra elején a getty a csupa nagybetűs loginnév érkeztekor átkapcsolt (stty iuclc olcuc xcase = stty lcase) konverziós üzemmódba (Linuxon tudtommal már nem csinál ilyet).
- A hozzászóláshoz be kell jelentkezni
Case insensitive rendszeren is átnevezheted a Nemecsek.jpg-t nemecsek.jpg-re, annyi a különbség, hogy ha Ernő keresi az őt ábrázoló fényképet, akkor a nagybetűs verzióval is meg fogja találni. ha case insensitive lett volna a notesz, talán meg sem halt volna! :)
- A hozzászóláshoz be kell jelentkezni
Hol tart már a tudomány!
Amúgy biztos vagy ebben? Valamelyik korábbi Windowson ezt biztosan csak két lépésben lehetett (Nemecsek.jpg -> nemecse.jpg -> nemecsek.jpg stílusban.) Vagy lehet, hogy nem is annyira win-verzió, mint NTFS vs FAT különbség? Szerintem inkább ez.
- A hozzászóláshoz be kell jelentkezni
Nem tudom a noteszben keresesnek inkabb egy file nev megnyitasa egy adott mappaban felel meg inkabb, vagy a find parancs, viszont utobbinak van egy -iname flagje, ami mukodik case sensitive FS-en is :)
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Hús-vér userek a "milyen operációs rendszer fut a gépeden" kérdésre azt válaszolják, hogy "ööö... nem tudom... Facebook?", szóval nekik tök mindegy, nem csak a fájltartalom-típusjelölést, a fájlnév többi részét is fölösleges megmutatni nekik, elég lenne egy "emodzsi" (gyűlölöm ezt a divatszót).
- A hozzászóláshoz be kell jelentkezni
Igen, ezt én is utálom. Főleg, hogy mindent ennek a rétegnek az érdekében hülyítenek el. Elrejtik előlük a kiterjesztéseket, rejtett fájlokat, a modern fájlkezelőkben már a mappa-fájl paradigma is megszűnt, helyette egy szintre vannak behányva meg kategorizálva a „dokumentumok” típusai, és ahogy a gnome-osoknál, már a fájlkezelőnek sincs neve, csak Files, vagy Fájlok. A menük is meg lettek szüntetve, egy áttekinthetetlen ribbon vagy hamburgermenü van helyette, az összes ilyen alkalmazás használhatatlanra van butítva, hogy nem tudod vele átnézni, hogy mi hol van a rendszeren. Az ilyen borzalmakban a keresési, átnevezési funkció is egy primitív megoldás szokott lenni. Kösz, de nem.
Nekem az első dolgom, hogy minden általam használt rendszeren legyen valami normális kétpaneles commander-klón, amivel látom is, hogy mit csinálok, milyen mappa, fájl, hol van, milyen mélységben, látszódjanak a kiterjesztések (ez nekem akkor is fontos, ha unixlike rendszeren ezek nem léteznek, nem szólnak bele a fájlok kezelésébe, mert mime/fejléc, tartalom, shebang, jogosultság alapján dől el, hogy melyik alkalmazásban nyílnak, futnak dolgok), rejtett fájlok és mappák, meg legyen különböztetve, ha valami link, fifo, vagy egyéb, futtatható vagy nem futtatható, stb.. Lássam egy műveletnél egyszerre a forrás és célmappát, fájlméreteket, mennyi hely van az adott fájlrendszeren, csatolási ponton, stb.. Ezek olyan alapok, amik nélkül nem lehet normálisan fájlokat kezelni, mert az ember nem látja, amit csinál.
Néha használok fuzzy find megoldásokat, dmenu, fzf, stb., azok valóban összemossák, hogy melyik fájl hol van, milyen mélységben, meg nagyon távoli egyezések alapján is megtalálnak dolgokat, de azokat csak gyors megnyitáshoz használom.
Linuxban is külön utálom, hogy a grafikus programokban készre van drótozva a Gtk vagy Qt filepicker, amik jó nagy fosok szoktak lenni, és nem lehet őket átdrótozni saját magoldásra. Pedig marha egyszerű lenne, mert miután egy filepicker-ben választottál, fájlt, fájlokat, mappát, mappákat, csak pár karakterláncot ad át (/eleresi/ut/fajlnev1 /eleresi/ut/fajlnev2 stb.) a hívó programnak, ehelyett nyugodtan használhatnék fzf-alapú saját szkriptet, de a Qt-sek, meg Gtk-sok eldöntötték, hogy azt nem lehet. Nem illik, mert az ő freedesktop paradigmájukba nem fér bele.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Elrejtik előlük a kiterjesztéseket
Eleve a kiterjesztés mint olyan, egy baromság, mint a fájlnév része.
Az, hogy egy adott fájl milyen típusú, az egy olyan metaadat, aminek felesleges a fájl neve részének lennie. És lehetne ez egy MIME típus leíró, metaadatként. Semmi keresnivalója a fájl nevében. Ahogy ezt a Unix anno jól ki is találta - nem létezik olyan dolog, hogy fájlkiterjesztés.
Linuxban is külön utálom, hogy a grafikus programokban készre van drótozva a Gtk vagy Qt filepicker, amik jó nagy fosok szoktak lenni, és nem lehet őket átdrótozni saját magoldásra.
Ha egy alkalmazás jól van megírva, akkor használja az XDG FileChooser portalt, és te eldönheted, milyen FileChooser implementációt kínálsz az alkalmazásnak. Ponthogy a freedesktop találta ki ezt a paradigmát, és pont azért, hogy ne legyen a user konkrét implementációhoz kötve.
- A hozzászóláshoz be kell jelentkezni
Igen, kicsit windows-os beidegződés, meg redundáns, de van haszna. Pl. szelektíven tudok fájlokat megnyitni, GUI programokban mime-típus alapján, terminálosakban akár fájlkezelőnként külön differenciálom, pl. másban nyit meg egy adott fájltípust a vifm, másban a sfm vagy lf, megint másban nyitja meg az mc. Arra jó lehetőség.
Azért is írom, hogy kiterjesztés nem létezik *nix rendszerekben, .akármi csak a fájlnév része, de modern alkalmazások tudnak ennek a mentén különbözően megnyitni.
xdg/mime-választó szkritpem máris van, ami egy fzf-fel kikeresett fájl típusához enged választani társított alkalmazást xdg-mime default parancsot meghívva, de ez csak GUI alkalmazásokhoz szükséges rossz, a freedesktop kompatibilitás miatt, de ne felejtsd el, hogy én 99%-ban nem használok GUI-t, hanem TUI és CLI megy helyette, vifm/fzf/neoviim workflow-val. Ez az XDG/freedekstop mime meg .desktop fájlok, portálok, stb. GUI-s alkalmazásokhoz lettek kitalálva.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
használja az XDG FileChooser portalt, és te eldönheted, milyen FileChooser implementációt kínálsz az alkalmazásnak
Baszhatom ha a gtk2 ota senkinek se sikerult olyan file choosert irnia ami legalabb tavolrol emlekeztet egy hasznalhato valamire. Ami qt-ben van az a windows-os 1:1 koppintasa, a gtk3 filepickere meg annyira szar, hogy ha csak feldobna egy textboxot barmifele completion nelkul, meg az is erolelepes lenne hozza kepest.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Nekem annyira egyértelmű, hogy nem ugyanaz a két példa xls, hogy fel sem fogom, miért igény hogy ugyanaz legyen. El is engedem, hogy ezt megértsem, mert közeleg a segfault, érzem
- A hozzászóláshoz be kell jelentkezni
a könyvelés2024.xls és a Könyvelés2024.xls miért kéne, hogy két különböző fájl legyen
Pontosan ugyanazért, amiért különböző a konyvelés2024.xls, a könyvéles2024.xls. a könyvelés 2024.xls, a konyvelés_2024.xls, ...
A user space program figyelhet erre és figyelmeztetheti a droidot, hogy van hasonló nevű fájl, biztos újat akar létrehozni?
- A hozzászóláshoz be kell jelentkezni
Eddig a mérleg:
Valós felhasználói igény alapján létrejött use case: 0
Programozók lustasága miatt szükséges workaroundok: 562783567
:)
- A hozzászóláshoz be kell jelentkezni
A case insensitive filesystem kitűnő példa a programozók lustasága miatt létrejött workaroundra.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Miért? Fentebb még úgy volt, hogy micsoda heroikus erőfeszítés kell ahhoz, hogy működjön.
- A hozzászóláshoz be kell jelentkezni
Csak próbálkozok ezt megérteni.
Ha egy átlagfelhasználó hús-vér ember elment egy xls-t Könyvelés2024.xls néven, akkor hol találkozik olyannal, hogy a könyvelés2024.xls jön vele szembe és ekkor tök jó, hogy az a Könyvelés2024.xls fájl lesz, amit a könyvelés2024.xls néven elér?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
> pl. telefonnal nevezed el a befotózott doksiról készült PDF-et, és a telefon automatikusan nagybetűre változtatja a textbox első karakterét.
Ezután hol találkozol olyannal, amikor a rendszer kisbetűs első karakterrel fogja a PDF-et eléd tolni?
- A hozzászóláshoz be kell jelentkezni
a könyvelés2024.xls és a Könyvelés2024.xls miért kéne, hogy két különböző fájl legyen.
Mert nem ugyanaz a neve? :D
Ilyen alapon hozhatnád, hogy de legyen a konyveles2024.xls is ugyanaz a file, hiszen csak az ékezet mentes verzió. De a konyvelesMMXXIV.xls is ugyanezt jelenti... Akkor meg miért nem lehet már konyvelesmmxxiv.xls is... érted? :D
- A hozzászóláshoz be kell jelentkezni
érted? :D
Én értem, szerintem te nem érted. A "könyvelés" és a "Könyvelés" ugyanaz a magyar szó. A római számok ugyan ugyanazt a jelentéstartalmat hordozzák, de baromi nehéz véletenül római számot írni az arab számok helyett. Míg a kis- és nagybetűk felcserélése elég könnyen előfordulhat, pl. telefonnal nevezed el a befotózott doksiról készült PDF-et, és a telefon automatikusan nagybetűre változtatja a textbox első karakterét.
- A hozzászóláshoz be kell jelentkezni
Itt, a kulcs, leírtad: "ugyanaz a magyar szó". De a filerendszernek nem csak magyar nyelvtani környezetben, hanem minden esetben helyesen kell működnie. Ami a magyarban jó, nem feltétlenül jó másik nyelvben. Fentebb már hoztak rá példát.
- A hozzászóláshoz be kell jelentkezni
Akkor az l és 1 vagy az O és 0 is legyen ugyanaz, ha valamely karakterkészleten tök ugyanúgy néz ki? Vagy az egymás mellett lévő betűk, mert tök könnyen félrenyomható?
Ez az érvelés nem indokolja, hogy ez a "probléma" fájlrendszer szinten legyen kezelve, esetleg azt, hogy user space szinten figyelmeztessen a hasonló nevekre.
- A hozzászóláshoz be kell jelentkezni
Soha nem lett volna szabad op. rendszert gyartani olyan hus-ver embereknek akiknek gondot okoz e vegtelenul bonyolult feladvany megoldasa.
- A hozzászóláshoz be kell jelentkezni
macen is azért nem lehet case-sensitive-re állítani a fájltendszert, mert az egyetlen program, ami miatt nem linuxot használok daily drivernek, a photoshop elhasal azon, az adobe hibájából!
amúgy egyszer érdekelne, hogy hogyan kezeli az ilyen isensivity pl a török i betűket (ı, I vs i, İ)
4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
- A hozzászóláshoz be kell jelentkezni
amúgy egyszer érdekelne, hogy hogyan kezeli az ilyen isensivity pl a török i betűket (ı, I vs i, İ)
Gondolom úgy, ahogy az UTF-8 egyébként is.
- A hozzászóláshoz be kell jelentkezni
UTF-8 az csak unicode codepointokat encodol, semmi normalizalas/case folding nincs benne.
Amugy a kerdesre a valasz, leginkabb sehogy.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
De, kezeli, a LOCALE-nek megfelelően, az ahhoz tartozó COLLATION-t használva, ha törökre van ez állítva, akkor ki tudja silabizálni, hogy melyik betűhöz melyik nagy és kicsi variáns tartozik. De épp erre utalt Torvlads, az ilyen kétélű fegyver, mert ahogy egy ilyen fájlrendszer felcsatolsz egy másik gépen, ahol másik LOCALE van érvényben, máris megy le a lefolyóba az egész, ami korábban egy fájlnak, mappának számított, az most kettő lesz.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Hat, Linuxon biztos hogy nem, ugyanis a linux kernelnek fogalma sincs arrol mi az a locale, az egy teljesen userspace dolog.
Amugy meg fs-nek nem kell a full collation support, annak csak case folding kell, ami tobbe kevesbe nyelvfuggetlen, a torok i betuket leszamitva. Pl. ICU-ban a case foldingnak lenyegileg egyetlen optionje van, hogy a torok i betuket akarod vagy a rendeset: https://unicode-org.github.io/icu/userguide/transforms/casemappings.html Hogy ne legyen ebbol a teljes katyvasz amit felul irtal, tudtommal a case sensitive OS-ek ezt siman falsenak veszik, a torok userek meg igy jartak. (De igazabol tokmindegy, fizikailag nem lehet jol megcsinalni)
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Esetleg, ha ennyire fontosnak látszik, hogy milyen betűket-karaktereket használ a fájlrendszer mint a fájlnév alkotói, rá fog valaha is döbbeni egy FS fejlesztő, hogy azzal foglalkozni kellene?
Tudom költői kérdés volt. Amúgy a különféle UTF-ek simán kódolhatták volna a kis- és nagybetű párosságot kifejező adatokat. Csak éppen nem tették. Vagy ha tették, akkor sokan nem tudnak arról, hogy olyan létezik. Mit görcsöltem én annak idején ilyenekkel. Pedig csak el kellett volna olvasni a táblázatban az arra mutató megjegyzést.
Ja, és az az "i" betű nem csak a török nyelvben létezik. De még mennyire "nem csak". Jobb ha tudod.
Még nincs aláírásom.
- A hozzászóláshoz be kell jelentkezni
milyen betűket-karaktereket használ a fájlrendszer mint a fájlnév alkotói, rá fog valaha is döbbeni egy FS fejlesztő, hogy azzal foglalkozni kellene?
A baj ezzel, hogy ez alapvetoen nem egy filerendszer kerdes, hanem OS kerdes, es amikor ezeket az OS-eket eredetileg kifejlesztettek, akkor volt az ASCII (esetleg valami kezdetleges support nehany nyugat-europai nyelvhez), ott meg trivialis ez a kerdes. Csak aztan jott a felismeres hogy esetleg amerikan kivul is leteznek emberek, jott a unicode, aztan borult az egesz egyszeruseg.
simán kódolhatták volna a kis- és nagybetű párosságot kifejező adatokat
Egyreszt nem ilyen egyszeru (pl. a nemet ß nagybetusitve SS, azaz ket karakter), masreszt meg erre ott vannak a kulonfele ucd tablak (https://www.unicode.org/Public/UCD/latest/ucd/) amibe benne van mindez (meg egy csomo mas). Meg csak az kellene hogy az amugy is 21 bitnyi unicode karakterkodok melle meg el kene tarolni 100 bitnyi flaget, teljesen redundansan minden karakter melle.
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
A kernelnek nem, de a kernel módban futó rendszer az a rendszeren beállított LOCALE, LC, LC_* környezeti változókból szedve. Ezek minden rendszeren léteznek, legfeljebb azért nem tudsz róla, mert a grafikus telepítő beállítja ezt a GUI telepítőből telepítésnél, de minimalista disztróknál (Gentoo, Arch, Void, stb.) neked kell beállítani. Sőt, ez a lokalizációs beállítás akár felhasználónként vagy egy felhasználón belül futtatott programonként is változat. Pl. ugyanazon a gépen, ha user1 jelentkezik be, akkor neki a magyar (hu_HU.UTF-8), míg ha user2, akkor annak meg a török (tr_TR.UTF-8), de még ezen a user2 csavarhat, ha pl. terminálban vagy szkriptből mondjuk a Midnight Commandert meg LC_ALL=C mc vagy LOCALE=en_US.UTF8 mc kiadásával futtatja. Már ki van húzva egy ilyen rendszer alól a szőnyeg, pedig gépet sem, esetleg usert sem váltottunk. A FILE magyarul és US angolul kisbetűsen file lesz, de a török lokalizációnál fıle (pont nélküli kis i). Észre sem veszed, de már benne vagyunk a szarörvényben, pedig még el sem jutottunk a hangkörnyezetfüggő arab karakterekig, meg dupla szélességű ázsiai (pl. japán, kínai) karakterekig, amikkel még hatványozottan több szopás lesz. Torvalds pont arról beszél, hogy ilyenbe nem menjünk bele, mert csak feleslegesen ül fel mindenki vele a szopórollerre. Megnyitják vele az utat egy soha véget nem érő rémálomnak, meg egy csomó új bugnak.
Anno az ilyen szarkeverést engedték URL-ekben, van is vele rendszeresen visszaélés, hogy két azonosnak vagy nagyon hasonlónak kinéző Unicode karakter mentén tévesztenek meg URL-ekkel csalók egyszeri felhasználókat. Ott sem volt túl jó ötlet.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Ja ertem, te most nem konkretan a Linuxrol beszelsz, hanem egy ilyen elmeleti rendszerrol beszelsz, mi lenne ha.
(Es tudom mik a kornyezeti valtozok, nem kell oket bemutatni)
I hate myself, because I'm not open-source.
- A hozzászóláshoz be kell jelentkezni
Codepage-et is megadsz sok fájlrendszernél, nyugodtan meg lehetne locale-t is. Már nem vagyok oda érte, de technikai akadálya nincsen. (Mountoláskor.)
- A hozzászóláshoz be kell jelentkezni
Az UTF-8 az csak egy enkódolás, egy szabályrendszer, hogy Unicode code pointokat hogyan kell reprezentálni bytesorozatként.
Az UTF-8 semmit nem tud arról, hogy egy code point kisbetű-e, nagybetű-e, mi az, hogy locale stb.
A locale meg collation információ az nem UTF-8-tól függő dolog, azt a Unicode adott verzióiban lévő CLDR (Common Locale Data Repository) írja le, és a glibc implementálja: https://sourceware.org/glibc/wiki/Locales
Semmi, de semmi köze az UTF-8-nak ehhez.
- A hozzászóláshoz be kell jelentkezni
azaz be kell állítani a locale-t, és akkor jó úgy? ha másik locale-t állítok akkor megelmennek a fájlok. szép
4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
- A hozzászóláshoz be kell jelentkezni
Akinek van kéznél németre konfigurált Windowsa kipróbálhatná, hogy létre tudja-e hozni ezt a két fájlt ugyanabban a könyvtárban: "Straße.txt" és "STRASSE.txt". Ezt mindig is ki akartam próbálni.
https://community.snowflake.com/s/article/why-latin-small-sharp-s-upper…
Thus, with the default Unicode casing operations, capital sharp s will lowercase to small sharp s, but not the reverse: small sharp s uppercases to "SS".
- A hozzászóláshoz be kell jelentkezni
"Linus ideges, mert 40 év alatt sem sikerült senkinek rendesen megírnia a toLower() függvényt"
- A hozzászóláshoz be kell jelentkezni
:D
- A hozzászóláshoz be kell jelentkezni
dehát ezt írtam föntebb. neked és nekem, és világ legnagyobb részének a `toLower('I')` eredménye az `i`. de a törököknél az bizony `ı`. mert a `toUpper('i')` náluk `İ`. és ez csak locale beállításnál van így
4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
- A hozzászóláshoz be kell jelentkezni
Na ezért kell világkormány, meg világnyelv, de most úgy áll, hogy kínai lesz, nem angol :D
- A hozzászóláshoz be kell jelentkezni
Azaz, és akkor jön a kínai tradicionális, és egyszerűsített jelírás, valamint pinyin-latinbetűs átirat ekvivalenciájának kérdése...
Egy kínai könyvelő számára a 會計2024.xls, a 会计2024.xls és a kuaiji2024.xls mind ugyanazt jelenti, miért is kéne, hogy az oprendszer megkülönböztesse őket... :)
Tekintve, hogy mindhármat pontosan ugyanazon billentyűsorozattal lehet begépelni...
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
Tekintve, hogy mindhármat pontosan ugyanazon billentyűsorozattal lehet begépelni...
Akkor honnan tudja a gép, hogy melyik verziónak kell megjelennie a képernyőn?
- A hozzászóláshoz be kell jelentkezni
Láttad már hogy csinálják? Ilyen autocomplete/on screen keyboard szerűség mutatja folyamatosan mi fog kijönni abból amit latin betűs szótagokként gépelnek.
Gondolom van valami üzemmódváltó hotkey, ami alapján a szoftver tudja, hogy melyik átírási móddal dolgozol éppen.
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
Legyen a I-ı és i-İ páros két külön unicode jel saját kis-és nagybetűjével, nem használnák egyikre sem a helytelen latin "mert hasonló az alakja" helyettesítőkaraktert?
- A hozzászóláshoz be kell jelentkezni
Ahogy más is említette, mivel nem egyetlen karakteródolás van használatban mindenütt, így vagy a fájlrendszernek kéne tartalmaznia és kezelnie a karakterkódolását vagy csupa szopás lenne belőle.
Amúgy ennek a párja win alatt meg lehetne az ékezetes mappák/fájlok. A mai napig előfordul, hogy valamelyik program azért nem működik megfelelően, mert a felhasználó nevében és a neki generálódó mappában ékezet van. Az ms-nél az online belépésesre létrehozott fióknál lehet ezért sem a felhasználó nevét használják a home könyvtár neveként, hanem egy levágott, átalakított szót. De offline fiókkal létrehozott userként még mindig megesik, hogy bajt okoz ha valakinek nem angol neve van (erre pl workaround, hogy "user" néven hozom létre a felhasználót és utána a felhasználókezelő rendszertoolban a látható nevet írom át ékezetesre).
- A hozzászóláshoz be kell jelentkezni
Most akkor ki kivel van? Ki az aki a sensitive és ki az aki az insensitive megoldást támogatja? Elvesztem a hozzászólások tömegében.
Talán még szavazást is lehetne kiírni. Persze az névtelen, a hup nem támogatja a névvel történő szavazást. Vagy rosszul tudom?
Még nincs aláírásom.
- A hozzászóláshoz be kell jelentkezni
more from this thread:
From: Linus Torvalds <torvalds@linux-foundation.org>
----
.....
99.9% of the time, you just wasted enormous amounts of time, because you could have done the comparison first *without* any normalization at all, because equality is equality even when neither side is normalized. And the *common* case is that you are comparing things that are in the same form. For example, in filesystem operations, 99.999% of the time when you do a 'stat()' the *source* of the 'stat()' is typically a 'readdir()' operation. So you are going to be using the same exact form that the filesystem ALREADY HAD, and it's going to be an exact match, and there will NEVER EVER be any case folding issues in those situations. But the "simplistic" way to do it is to always normalize - which involves allocating temporary storage for the new form, doing a fairly expensive transformation including case folding, and then comparing those things. Christ. The pure and incompetence in case-insensitivity *hurts*. And what is so sad is that all of this is self-inflicted damage by filesystem people who SHOULD NOT HAVE DONE THE COMPLEXITY IN THE FIRST PLACE! It's a classic case of "Doctor, doctor, it hurts when I hit myself in the balls with this hammer"
----
- A hozzászóláshoz be kell jelentkezni