• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    LOOCAS
    LOOCAS --- ---
    Tak to bylo jednodušší, než jsem čekal:

    (IronPython kód)
    def getUniqueNames( fileList ):
    	uniqueNameList = []
    	
    	for file in fileList:
    		uniqueNameList.append( ( ( Path.GetFileNameWithoutExtension(file) ).rsplit("_",1) )[0] )
    	
    	return sorted(set(uniqueNameList))


    Tohle je prakticky můj základ regexu, podle kterýho pak projedu ten fileList ještě jednou a vyberu z něj jen ty soubory, který obsahujou ten unikátní string, kterej mám vyfiltrovanej touhle getUniqueNames metodou. :)

    Všem ještě jednou díky, jdu se koupat... ;)
    LOOCAS
    LOOCAS --- ---
    H_U_N_T_E_R: Ok, díky, to jsem chtěl slyšet. Mrknu na to.

    Ještě jednou díky všem.
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    LOOCAS: co ti na tomhle příjde neelegantního? Na napsání je to trivka, rychlostí budeš velmi blízko optimu. Asi by šli vymyslet nějaký nesmysli s upraveným porovnávacím automatem (aho-corasick) ale nevidím jediný důvod se s tím kvůli takhle malejm počtům programovat.
    LOOCAS
    LOOCAS --- ---
    H_U_N_T_E_R: Hmm... ok, to zní v poho.

    Nicméně, neexistuje teda nějaký "elegantnejší" řešení?

    Pokud ne, můžu to prakticky zpatlat dokupy jak mě zrovna napadne. :)
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    LOOCAS: jenže pak už je to rozlišení linerání:
    for (...)
    {
    if(!regex.Match(pole[i])){ vytvor regex + novej seznam}

    zarad item do aktualniho pole
    }
    LOOCAS
    LOOCAS --- ---
    VIRTUALVOID: To nevim, k čemu přesně by mi bylo, když budu mít třeba několik různejch sekvencí souborů v jednom listu... pak je stejně musim nějak odlišit.
    LOOCAS
    LOOCAS --- ---
    TENCOKACISTROMY: Mě jde spíš o celkovej postup, jak na to.

    Řekněme, že dostanu složku, ve který budou tyhle stovky/tisíce souborů. Názvy dopředu neznám, jen vim, že to budou sekvence souborů stejnýho typu a budou mít nějakej stejnej základ v názvu.

    Pokud si nechám vyjet, např. metodou Directory.GetFiles , tak mi to vrátí kompletně všechny soubory v tom adresáři. Já pak ale právě potřebuju v nich udělat pořádek a to tak, aby stejně pojmenovaný soubory šli do jednoho seznamu, další do dalšího atp...

    Existuje na to nějaká metoda? Nebo budu potřebovat filtrovat REGExem? Nebo jak bys na to šel?

    Jelikož filtrovat podle prvních X znaků v názvu neni úplně optimální, jelikož ze zkušenosti ty názvy budou dlouhý a tudíž bych potřeboval delší řetězec, pak ale můžu narazit na vyjímku s krátkym názvem a jsem v ...

    Jak jsem psal. Jsem schopnej to vyfiltrovat brute-force metodou, odříznu si čísla za posledním "_" a porovnám jméno se všim v seznamu, resp. přes List Comprehension si vyfiltruju několik listů. Jen jsem se chtěl zeptat, jestli na tohle neexistuje nějaký elegantnější řešení. :)
    VIRTUALVOID
    VIRTUALVOID --- ---
    a sort listu s nazvami suborov nepomoze?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    LOOCAS: Nevim, jestli ti spravne rozumim. Ale nejjednodussi to budes mit podle prvnich/poslednich X znaku.

    Treba podle prvnich peti:
    ABC__-soubor-0001.exr
    ABC__-soubor-0258.exr
    ...
    ASDF8-soubor-6789.jpg
    ...

    Pripadne si muzes zvolit nejakej znak jako oddelovac. Treba vykricnik:

    ABC!soubor-0001.exr
    ...
    ASDF123QWER!soubor-6879.jpg
    ...

    Filtrovani a groupovani pres tisicovky nazvu souboru by nemel bejt problem.
    LOOCAS
    LOOCAS --- ---
    Měl bych zase jeden dotaz na zkušenější...

    Potřebuju vytvářet seznamy souborů k archivaci. To je triviální, nicméně, jaká je asi nejlepší cesta oddělovat různý soubory od sebe dle jejich názvů?

    Jde o to, že budu mít ve složkách stovky, spíš tisíce, souborů:

    soubor_ABC_0001.exr
    ...
    soubor_ABC_0258.exr

    soubor_XYZ_0001.tif
    ...
    soubor_XYZ_0258.tif

    soubor_WWW_0001.jpg
    ...
    soubor_WWW_0258.jpg

    všechny v jedný složce, v jedný cestě. Ale potřeboval bych je odfiltrovat tak, abych měl všechny sekvence souborů zvlášť v těch seznamech.

    Mě v tuhle chvíli napadá jen brute-force metoda a filtrování seznamů, což je pomalý a neohrabaný, tak předpokládám, že existuje lepší cesta.

    Bohužel předem nebudu znát názvy souborů ani jejich počet.

    Předem díky za tipy!
    BRAP242
    BRAP242 --- ---
    mozna necemu blbe rozumim ale nefungujou mi odkazy jako /Service/
    VIRTUALVOID
    VIRTUALVOID --- ---
    preco nie? aj msdn tak funguje napr... imho normalka
    BRAP242
    BRAP242 --- ---
    Zdar,

    chtel jsem se zeptat, jakym zpusobem rešíte lokalizaci v ASP.NET MVC 3?

    ja jsem nasel nasledujici pattern:
    Localization in ASP.NET MVC – 3 Days Investigation, 1 Day Job
    http://geekswithblogs.net/shaunxu/archive/2010/05/06/localization-in-asp.net-mvc-ndash-3-days-investigation-1-day.aspx

    akorat si nejsem uplne jistej tim drzet informaci o jazyce v URL

    NECROMAN
    NECROMAN --- ---
    MOYYO: csproj se pouzival uplne stejne jak ve VS 2003, tak i VS 2005, VS 2008 i VS 2010, akorat pri otevreni v novejsim VS se ti ten csproj automaticky zkonvertuje na novejsi format
    MOYYO
    MOYYO --- ---
    aha, tak ja to celou dobu neoteviral v 2010 ale ve 2008 a jak sem na 2008 zvyklej tak sem si toho nevsim
    MIKEE
    MIKEE --- ---
    MOYYO: csproj je normalni C# projekt jako je vcprojekt u C++, 2010 by s tim nemela mit problem, maximalne ta sln bude chtit zkonvertovat
    MOYYO
    MOYYO --- ---
    zdravim, od ceho sou prosimvas .csproj soubory? sem myslel ze je to nakej c#, ale internet tvrdi ze se to otevira nejakym visual studio .net. to fakt musim stahnout neco z roku 2003?
    normalni visual studio 2010 to neotevre?

    snazim se prelozit si monotorrent libku z http://www.monotorrent.com/
    PJOTRIK
    PJOTRIK --- ---
    AREX: rikame ti vicemene vsichni totez :-) A nejsou to zadny tezky teorie, prohledavani grafu do hloubky (aka DFS) je trivka.

    ve zkratce: rekurzivne projdes zavislosti pocinaje libovolnym souborem, uz navstivene soubory vynechavas. Jakmile jsi zpracoval vsechny zavislosti souboru, muzes ho pridat do vysledku (vsechny jeho zavislosti uz tam v tu chvili jsou). Tohle porad dokola, dokud ti jeste zbyva nezpracovany soubor.
    + bys mel kontrolovat jestli zavislost kterou se chystas zpracovat uz neni na stacku - v tu chvili tam mas cyklus.
    MORMEGIL
    MORMEGIL --- ---
    AREX: Teorie? Proboha stačí UTFG a dostaneš několik příkladů rovnou i se zdrojákem. Tvůj algoritmus je naprostý nesmysl (C závisí na A a B, D závisí na C: přestože D má méně závislostí než C, musí přijít až po něm).

    Topologické řazení funguje buď prohledáváním do hloubky, nebo tak, že najdeš uzel (položku) bez závislostí (taková být musí, jinak tam máš cyklus), vypíšeš ji jako první a vyhodíš ji z grafu. Pak najdeš další bez závislostí (buď tam byla už na začátku, nebo vznikla tím vyhozením té předchozí) a takhle pořád dál.
    AREX
    AREX --- ---
    Hm hm, myslel, ze mi doporucite neco jednoduche a ne abych studoval nejaky teorie :) Kdyz jsem nad tim tak premyslel, nemohlo by fungovat proste increment pro kazdy requirement v seznamu a pak to seradit od nejvetsiho ? Zatim je to jenom myslenka v hlave, nezkousel jsem to. Muzete mi nekdo vyvratit, ze je to spatny pristup ?
    Kliknutím sem můžete změnit nastavení reklam