• ú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 --- ---
    H_U_N_T_E_R: Array[Byte] mi vrací metoda .GetData() na tom stream objektu, kterej potřebuju upravit. Dělám to pomocí OpenMCDF knihovny na OLE strukturovanym storage v binárnim souboru (proprietárnim).


    SHIGORBIRDMAN: No, mě jde spíš o to, že tak, jak to dělám, mám pocit, že neni úplně košer. :) Můj postup:

    1) načtu soubor
    2) vycucnu z něj ten stream objekt
    3) ze stream objektu načtu všechny Byty v pořadí do Array[Byte] objektu

    a teď ta moje prasárna:
    4) pomocí Encoding.Unicode.GetString() překlopim celej Byte Array na unicode string
    5) rozdělim si celej string na list objektů podle speciálního terminate charakteru theString.split("\x00")
    6) vyměnim řetězce v poli, který potřebuju
    7) složim zpětně string z toho pole s pomocnym terminate charakterem: "\x00".join(theList)
    8) přeložim zpět na Byte Array: Encoding.Unicode.GetBytes(theString)
    9) zapíšu do streamu
    10) přepíšu stream v souboru, commitnu a uložim na disk.

    Tomu překládání pomocí UTF-16 bych se chtěl vyhnout a řešit to na úrovni toho Byte Array, proto se ptám, jak iterovat Byte Array, když mám předem daný pravidla:

    16 Bytů - vyhrazeno pro ID
    4 Byty - délka následujícího stringu (UTF-16) (uložíme do proměnný DYLKA)
    Len(DYLKA+1)*2 - počet následujících Bytů, který nesou textovou hodnotu (UTF-16)
    4 Byty - délka násleudjícího stringu (UTF-16) (uložíme do proměnný DALSIDYLKA)
    Len(DALSIDYLKA+1)*2 - počet následujících Bytů, který nesou textovou hodnotu (UTF-16)

    (mimochodem, psaný je to v IronPythonu)
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    LOOCAS: proč to máš jako pole bytů? Pokud to není stream, tak si to stejně celý načítáš do paměti a ukládáš zpětně, pak bych použil nějakou vhodnější strukturu a custom serializaci/deserializaci. A jelikož se ti to vejde do paměti, tak rozdíl mezi zpracováním RAW pole a nějakého spojáků/něčeho jiného bude minimální.
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    ANDY_WARHOL: co je nejdelší opakující se sekvence znaků?
    pro vstup "ababfabab" chceš mít výstup:
    abab - 2x
    ab - 4x
    a - 4x
    b - 4x

    a f protože se neopakuje tam nemít?
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    mam taky dotaz. potreboval bych vyhledat v retezci nejdelsi opakujici se sekvence znaku. jak byste na to sli ?
    nemam moc napad jak to udelat a na internetu sem nic moc nenasel.
    JANFROG
    JANFROG --- ---
    LOOCAS: Ukazatel do toho pole?
    LOOCAS
    LOOCAS --- ---
    Zdravim vespolek. :)

    Mám tu jeden trochu nevšední problém. Potřebuju nějakym rozumnym způsobem parsovat ByteArray, bohužel je to ale proměnlivě veliký pole v závislosti na obsahu.

    Ten stream objekt, kterej dostanu se sestává z následujících Bytů:

    16 Bytů - vyhrazeno pro ID
    4 Byty - délka následujícího stringu (UTF-16) (uložíme do proměnný DYLKA)
    Len(DYLKA+1)*2 - počet následujících Bytů, který nesou textovou hodnotu (UTF-16)
    4 Byty - délka násleudjícího stringu (UTF-16) (uložíme do proměnný DALSIDYLKA)
    Len(DALSIDYLKA+1)*2 - počet následujících Bytů, který nesou textovou hodnotu (UTF-16)

    A tohle se v tom streamu opakuje různě krát (podle toho, kolik těch textovejch proměnnejch je uloženo).

    Máte někdo tip na to, jak efektivně podobnej stream parsovat a měnit jeho hodnoty? Zajímaj mě vždycky jen ty stringy, který budu měnit + zapisovat jejich novou dýlku. Celý je to stream Bytů (resp. ByteArray) a já bohužel nevim, kde začít, jak iterovat přes ty Byty s proměnlivou velikostí kroku.

    Předem díky za tipy.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    TENCOKACISTROMY: jj, sharpdevelop (nebo aspon monodevelop) na androidu, to bych si asi radosti strikl do textilu ;)

    a ano, bez debuggeru ani ranu, printf debugging je neuveritelny terror (uzil jsem si to s unity na macu, kde debugger byval tak stabilni, ze nemelo nejmensi smysl ho spoustet)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    SHIGORBIRDMAN: Ja javu taky moc nemusim. Mam to s ni stejne jako ty se C#. Nemoznost debugingu je trosku voser (stravil jsem asi 2 hodiny hledanim chyby pres logy, kterou bych pri debugingu nasel za par minut).

    Na druhou stranu jako IDE na neco, kde jen udelas rychly hotfix resici nejakou trivialni chybu mi to prijde idealni.

    Rozhodne bych ale uvital, abych takovejhle nastroj mel pro C#. To by bylo fakt super :).
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    TENCOKACISTROMY: mam aide nainstalene, chvilicku jsem v tom neco zkousel. Neexistence debuggingu je pro me dost smrtici, ale ta moznost naflakat si nejaky kod primo na tabletce je velmi prijemna.

    Ja obecne javu velmi nerad, zvlast kdyz ji porovnam s mnohem prijemnejsim c#... bez anonymnich metod a eventu ani ranu :)

    proto zvazuju ze bych teda zkusil monodroida / monotouch, jak to bude pouzitelny na appy a obecne jak to na tom je.
    SAmozrejme hry bych mohl mastit v unity, kdyz uz mam i droidi licenci, ale to je prece jen spis na hry :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    SHIGORBIRDMAN: Doporucuju si vyzkouset AIDE ( https://play.google.com/store/apps/details?id=com.aide.ui&hl=cs ) ja v tom udelal dve maly appky a oproti eclipse/netbeans to je cely mnohem jednodussi a sviznejsi. Pravda i za cenu neexistence ruznych ficur (treba debugging).

    Nicmene o tom monodroidu fakt uvazuju, protoze jako java v UI opravdu sucks! Ten jejich koncept s anonymnima tridama misto anonymnich metod je fakt pekelenej. Radoval jsem se ze maji generics, ale je ve skutecnosti jen fakovana. Coz nevadi v dobe vyvoje, ale pri runtime to uz trochu prekazi.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    No ja taky, co jsem si ted poridil lenovackou tabletku, tak mam tendence na to neco napraskat, ale do javy se mi fakt nechce :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    SHIGORBIRDMAN: Nepracoval jsem, ale silne uvazuju ze budu.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    Pracoval tady nekdy nekdo s monotouch/monodroidem?
    SPRUZY
    SPRUZY --- ---
    Ohledne MS certifikaci..

    Jedna vec je pohled nas vyvojaru - kus papiru z tebe lepsiho programatora neudela, na druhou stranu ten test pokryva vetsinou vic nez vetsina lidi denne pouziva, takze je to dobre pro rozsireni obzoru.

    Druha vec je, jak se certifikovany clovek da vyuzit ve firme jako "promo".
    MS Gold Partner vypada hezky v nabidce (kterou si cte manager, ktery o tom nic nevi - jen vidi hezkej obrazek a logo MS u toho). Stejne tak kdyz mu napisete bude na tom delat X certifikovanych programatoru, atd..

    Osobne mam MCPD - Windows Developer 4. Moc casu to nestalo.. Muzu jen doporucit.
    KUBATKOREBEL
    KUBATKOREBEL --- ---
    NECROMAN: spatne jsem to napsal. Da se to srovnat dobre, je to lehci.
    NECROMAN
    NECROMAN --- ---
    KUBATKOREBEL: neda srovnat v jakem smyslu? tezsi, lehci, netusis?
    KUBATKOREBEL
    KUBATKOREBEL --- ---
    NECROMAN: Ja jsem si udelal dva zakladni od Microsoftu - MTA (software dev. fundamentals a web dev. fundamentals). Chtel jsem zjistit o cem to je, delal jsem to kvuli sobe mimo praci. Libily se mi jejich vyukovy materialy a pak i v testu ty otazky mi prisly dobre zpracovany. Odnesl jsem si z toho par poznatku a tipu jak co vyuzit, ale byly to uplny zaklady. S konkretne zamerenejma certifikacema, co dela ta holka se to neda srovnat.
    SAJAGI
    SAJAGI --- ---
    Používáte tu někdo castle dynamicproxy? Dá se nějak přesvědčit ProxyBuilder, aby se interceptory předávaly ne v konstruktoru, ale nějakou setter metodou / propertou až po vytvoření objektu? (potřeboval bych uchovat signaturu konstruktorů podle vzorového typu)
    EDISN
    EDISN --- ---
    MICTECH: Dekuji
    NECROMAN
    NECROMAN --- ---
    Windows Phone 8 SDK preview release leaks online | wpcentral | Windows Phone News, Forums, and Reviews
    http://www.wpcentral.com/windows-phone-8-sdk-preview-release-leaks-online
    MICTECH
    MICTECH --- ---
    NECROMAN: To me pripomnelo, ze kdyz jsem pracoval s IBM technologiema. Ve firme to chodilo tak, ze dva nejvetsi skilleri delali tyhle certifikaty za ostatni lidi z firmy, aby se rychle dosahlo na ruzny partner programy. :)
    Kliknutím sem můžete změnit nastavení reklam