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

    Nejnovější glibc rozbíjí Easy Anti-Cheat. Řada her tak přestala fungovat. V glibc 2.36 byla odstraněna podpora DT_HASH, jež je právě v Easy Anti-Cheat od Epic Games používána. Nejnovější glibc se již dostala například do Arch Linuxu. Tam je problém řešen balíčkem glibc 2.36-2 s vrácenou podporou DT_HASH.

    Ladislav Hagara | Komentářů: 6
    dnes 10:33 | Bezpečnostní upozornění

    V knihovně pro kompresi dat zlib (Wikipedie) byla objevena bezpečnostní chyba CVE-2022-37434 s vážností CVSS 9.8. Opravená upstream verze zatím nevyšla. Chyba se samozřejmě týká i softwarů s bundlovanou zlib, viz například vydání rsync 3.2.5.

    Ladislav Hagara | Komentářů: 0
    dnes 06:00 | Nová verze

    Linus Torvalds vydal Linux 6.0-rc1. Podpora programovacího jazyka Rust se tam nedostala. Kódové jméno bylo změněno ze "Superb Owl" na "Hurr durr I'ma ninja sloth".

    Ladislav Hagara | Komentářů: 3
    včera 09:00 | Zajímavý software

    JuiceFS dospěl do verze 1.0. Jedná se o distribuovaný souborový systém kompatibilní s POSIX, HDFS a S3. Architektura JuiceFS sestává ze 3 částí: JuiceFS Client, Data Storage (S3, Azure Blob, OpenStack Swift, Ceph, MinIO, …) a Metadata Engine (Redis, TiKV, MySQL/MariaDB, PostgreSQL, SQLite, …). Zdrojové kódy JuiceFS jsou k dispozici na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 15
    13.8. 14:11 | Komunita

    O víkendu probíhá online The Raku Conference 2022, tj. konference věnovaná programovacímu jazyku Raku.

    Ladislav Hagara | Komentářů: 7
    12.8. 17:22 | IT novinky

    Včera skončila bezpečnostní konference Black Hat USA 2022 (Twitter) a začala bezpečnostní konference DEF CON 30 (Twitter). V rámci Black Hat byly vyhlášeny výsledky letošní Pwnie Awards (Twitter). Pwnie Awards oceňují to nejlepší, ale i to nejhorší z IT bezpečnosti (bezpečnostní Oscar a Malina v jednom).

    Ladislav Hagara | Komentářů: 0
    12.8. 15:00 | Nová verze

    Vývojáři PostgreSQL oznámili vydání verzí 14.5, 13.8, 12.12, 11.17, 10.22 a 15 Beta 3. Opraveno je více než 40 chyb a také zranitelnost CVE-2022-2625. Upstream podpora verze 10 končí 10. listopadu letošního roku.

    Ladislav Hagara | Komentářů: 0
    11.8. 18:11 | Nová verze

    Byla vydána verze 1.63.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 14
    11.8. 17:55 | Nová verze

    Bylo vydáno Ubuntu 22.04.1 LTS, tj. první opravné vydání Ubuntu 22.04 LTS s kódovým názvem Jammy Jellyfish.

    Ladislav Hagara | Komentářů: 0
    11.8. 08:00 | Komunita

    Microsoft Fluent Emoji jsou nově k dispozici na GitHubu pod licencí MIT. Více v článku na Medium.

    Ladislav Hagara | Komentářů: 15
    Audioknihy ve srovnání s knihami tištěnými (papírovými nebo elektronickými) poslouchám
     (39%)
     (3%)
     (6%)
     (53%)
    Celkem 222 hlasů
     Komentářů: 2, poslední 13.8. 11:46
    Rozcestník


    Dotaz: SVN detekce změny v konkrétní funkci

    Beda0 avatar 31.10.2017 09:49 Beda0 | skóre: 28
    SVN detekce změny v konkrétní funkci
    Přečteno: 640×
    Zdravím, potřeboval bych "nějak" zjistit, jestli došlo ke změně v konkrétní funkci v jednom ze souborů v SVN (C# zdrojáky).

    Nějakým skriptem, který budu spouštět přes make, bych potřeboval zjistit, jestli v jedné (časem asi i ve více) funkcích nedošlo ke změně... SVN umí zjistit změny v souboru, k těm ale dochází dost často - na jiných místech. Potřeboval bych nějak detekovat jen změny v konkrétní C# funkci.

    Napadlo mě zaznamenat začátek definice funkce a její délku (počet řádků). V původní revizi najít začátek funkce a zkopírovat daný počet řádků. To samé v aktuální revizi. Pokud jsou texty stejné je to OK, jinak vyhodit nějakou hlášku / poslat mail...

    Připadá mi to jako docela běžný požadavek, ale nenarazil jsem na hotové řešení. Existuje něco? Jde to nějak jednodušeji?

    Díky

    Řešení dotazu:


    Odpovědi

    31.10.2017 10:20 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Běžným požadavkem je mít každou třídu a každou funkci v samostatném souboru.

    Pokud k těm změnám souboru dochází každou chvíli na různých místech, zamyslel bych se nad SRP, který tě těchto skopičin zbaví.

    BTW: V C# se používají nějaké funkce?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Beda0 avatar 31.10.2017 11:29 Beda0 | skóre: 28
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Myslel jsem metody... Bylo by hezké, kdyby byly zdrojáky členěny tak jak mají. Bohužel to nemůžu ovlivnit - musím s tím jen občas pracovat.
    31.10.2017 11:51 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Napiš si na tu metodu jednotkový test. Pokud neprojde, tak máš jistotu, že v té metodě došlo k nějaké změně.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Beda0 avatar 31.10.2017 12:09 Beda0 | skóre: 28
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Ale pokud projde, nemám jistotu, že k žádné změně nedošlo ;-)

    Navíc je to C# pro windows, na linuxu to nezkompiluju.
    2.11.2017 18:15 Andrej | skóre: 50 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    na linuxu to nezkompiluju.

    To je tak složitý projekt, že ho Mono prostě nedá? :-) Většinou to nějak jde.

    Beda0 avatar 3.11.2017 07:43 Beda0 | skóre: 28
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Ano, je to tak složitý (několik tisíc zdrojáků, některé s několika desítkami tisíc řádků) - proto dělám celou tuhle šaškárnu s hledáním změn v metodách... Navíc i kdybych obětoval hromadu času abych to "nějak" rozběhal s mono (což podle mě stejně nepůjde kvůli závislostem), tak mi to s problémem nepomůže.
    Řešení 1× (Beda0 (tazatel))
    Jendа avatar 31.10.2017 17:50 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Nějak (nejčistší by bylo udělat parser ve Flexu, ale i nějaké naprasení typu regexp + počítání otevíracích a uzavíracích závorek by mělo rozumně fungovat) zjistit rozsah řádků funkce a pak se podívat na dané řádky svn blame.
    Analýzou popisků na schránkách zjistil, že nejčastější české jméno je "Nevhazujte Letáky" a rozhodl se ho přijmout.
    Beda0 avatar 3.11.2017 07:52 Beda0 | skóre: 28
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Díky na nasměrování, vyřešeno.

    Splácal jsem to vy pythonu. Do csv si ukládám kus řádku s definicí metody - návratový typ a jméno, cestu ke zdrojáku a poslední revizi ve které došlo ke změně o které vím. Regexpem vytáhnu celou funkci a spočítám počet řádků, grepem najdu první řádek a z "svn blame -x -b" zjistim revize - vezmu max a mam hotovo.

    Kouzelnej regexp na počítání řádků:
    
    method = "bool methodName"
    methodregex = method.replace(' ', '\s+') + r"[^{}]+(?<rec>\{(?:[^{}]++|(?&rec))*\})"
    result = regex.search(methodregex,text,flags=regex.VERBOSE)
    nlines = int(result.captures('rec')[-1].count('\n') + 1)

    Založit nové vláknoNahoru

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

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