abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:22 | IT novinky

    Do 17. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2024 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | IT novinky

    Apple na své vývojářské konferenci WWDC24 (Worldwide Developers Conference, keynote) představil řadu novinek: svou umělou inteligenci pojmenovanou jednoduše Apple Intelligence, iOS 18, visionOS 2, macOS Sequoia, iPadOS 18, watchOS 11, …

    Ladislav Hagara | Komentářů: 3
    včera 21:44 | Nová verze

    Vyšla nová verze XMPP (Jabber) klienta Gajim, která přidává podporu reakcí pomocí emoji (XEP-0444: Message Reactions) a citace zpráv (XEP-0461: Message Replies). Přehled dalších vylepšení je k dispozici na oficiálních stránkách.

    sonicpp | Komentářů: 0
    včera 15:00 | Nová verze

    Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 6
    včera 12:00 | Zajímavý článek

    Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.

    Fluttershy, yay! | Komentářů: 1
    včera 08:44 | Zajímavý software

    Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).

    Fluttershy, yay! | Komentářů: 2
    včera 02:22 | Nová verze

    Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    8.6. 17:55 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 11
    7.6. 14:55 | IT novinky

    Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.

    Ladislav Hagara | Komentářů: 28
    7.6. 11:44 | Zajímavý software

    NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 2
    Rozcestník

    Zápisy v kategorii programování

    Pokračujeme jinde

    30.11.2011 10:44 | programování | Komentářů: 4, poslední 2. 12. 2011 | Hodnocení: 10 % (10 hlasů)

    konkrétně tady

    Na čem skutečně záleží při programování

    17.6.2010 12:20 | programování | Komentářů: 73, poslední 21. 6. 2010 | Hodnocení: 77 % (22 hlasů)

    „Nezáleží na tom, jak dobře umíte řešit hádanky nebo jestli jste nejchytřejší ze třídy. Musíte si uvědomit, že vedle složitosti softwaru je i ten největší talent nepatrný; že samotný intelekt nemůže nikdy vyhrát. Jediné dvě zbraně, které máme, jsou jednoduchost a konvence. Tohle si nechte zrcadlově vytetovat na čelo, aby se vám to věčně připomínalo na monitoru. Když dojde na lámání chleba, záleží na přístupu: na tvrdé práci, zodpovědnosti a na tom, abyste sledovali realitu, nikoliv hlasy ve vlastní hlavě.“ — Jonathan Edwards, Mea Culpa

    Jak v gitu rozdělit už mergnuté změny

    14.6.2010 09:41 | programování | Výběrový blog | Přečteno: 1215× | Komentářů: 28, poslední 16. 6. 2010 | Hodnocení: 75 % (4 hlasů)

    Pracoval jsem na nové funkci, pečlivě v samostatné větvi, a ke konci vývoje jsem změny mergnul do hlavní větve a původní feature větev zahodil. Bohužel se chvíli poté ukázalo, že novou funkci ještě na nějakou dobu odložíme, takže bylo potřeba všechny změny zase vyprat z master větve pryč. Čekal jsem, že to bude bolet, a nadával jsem si za zbrklé mergování, ale git je kamarád:


    Distribuce perlových webových aplikací

    15.5.2010 22:20 | programování | Výběrový blog | Přečteno: 1004× | Komentářů: 3, poslední 16. 5. 2010 | Hodnocení: 100 % (6 hlasů)

    Poslední dobou jsem hodně přemýšlel nad distribucí webových aplikací napsaných v Perlu. Dneska mě napadlo, že bych mohl dosavadní výsledky sepsat „na papír“ — z velké části jako akt psychohygieny, aby se mi úvahy pořád nemotaly v hlavě.


    Validace HTML pomocí crawleru

    7.1.2010 22:21 | programování | Přečteno: 997× | Komentářů: 0 | Hodnocení: 100 % (7 hlasů)

    Minule jsem si hrál s validací HTML v automatizovaných testech. Jsem s ní spokojený, jen se ukázalo, že by bylo dobré validovat celý web. A navíc nejen validovat – rád bych při každém spuštění testů zkontroloval, jestli mi někde nevisí linky a podobně. Napadlo mě tedy napsat malý crawler, který by web prošťáral a podle potřeby zkontroloval.


    Legrace s typovým systémem Perlu 6

    4.1.2010 19:15 | programování | Výběrový blog | Přečteno: 1337× | Komentářů: 27, poslední 6. 1. 2010 | Hodnocení: 56 % (9 hlasů)

    U Ovida jsem narazil jsem na pěkný kus šestkového Perlu, který si hraje s typovým systémem:


    Validace HTML v rámci testů

    15.12.2009 07:38 | programování | Výběrový blog | Přečteno: 1314× | Komentářů: 26, poslední 16. 12. 2009 | Hodnocení: 100 % (6 hlasů)

    Dělám na jedné webové aplikaci, u které bych chtěl kontrolovat HTML několika hlavních stránek, jestli jsem se někde neuklepl. Ruční validace se nehodí, protože vyžaduje čas a úsilí a tím pádem by šla dřív nebo později stranou: Pokud není řízení kvality automatizované, jako by nebylo.™ Vzpomněl jsem si, že validátor HTML5 poskytuje webové API.


    Jednotkové testy času

    27.8.2009 08:43 | programování | Komentářů: 6, poslední 29. 8. 2009 | Hodnocení: 17 % (6 hlasů)

    S časem je v jednotkových testech maličko problém. (Co když chci otestovat například funkci, která parsuje data s ohledem na aktuální datum?) V dynamičtějších jazycích se to naštěstí dá vyřešit snadno:

    use Test::More 'no_plan';
    use Test::MockTime 'set_absolute_time';
    set_absolute_time('27/08/2009', '%d/%m/%Y');
    # A jedeme.
    
    Základ Test::MockTime je přitom jednoduchý:
    BEGIN {
    	*CORE::GLOBAL::time = \&Test::MockTime::time;
    	*CORE::GLOBAL::localtime = \&Test::MockTime::localtime;
    	*CORE::GLOBAL::gmtime = \&Test::MockTime::gmtime;
    }
    

    Kvantová fyzika v Perlu

    20.8.2009 19:36 | programování | Komentářů: 40, poslední 23. 8. 2009 | Hodnocení: 100 % (5 hlasů)

    use Modern::Perl;
    use Perl6::Junction qw/any all/;
    my @numbers = 1..5;
    say "Yes" if any(@numbers) == 3;
    say "Nope" if not all(@numbers) == 5;
    
    Není to hezké? Viz Perl6::Junction a Exegesis 6.

    Jak v gitu při merge konfliktu přijmout celý soubor

    9.7.2009 08:19 | programování | Komentářů: 10, poslední 11. 7. 2009 | Hodnocení: 80 % (5 hlasů)

    Při mergování běžně narážím na problém s projektovými soubory Xcode, které jsou sice textové, ale automaticky se příliš mergovat nedají a ručně je to nereálné, protože jde o stovky řádek XML. Naštěstí se většinou dá jednoduše použít verze z novější větve. Chvilku jsem musel hledat, než jsem zjistil, jak při merge konfliktu přijmout celý soubor z mergované větve:

    $ git merge spawner-rewrite
    …
    Auto-merging Source/Paperworks.xcodeproj/zoul.mode1v3
    CONFLICT (content): Merge conflict in Source/Paperworks.xcodeproj/zoul.mode1v3
    Auto-merging Source/Paperworks.xcodeproj/zoul.pbxuser
    CONFLICT (content): Merge conflict in Source/Paperworks.xcodeproj/zoul.pbxuser
    Automatic merge failed; fix conflicts and then commit the result.
    $ git checkout --theirs Source/Paperworks.xcodeproj/zoul.{mode1v3,pbxuser}
    $ git add Source/Paperworks.xcodeproj/zoul.{mode1v3,pbxuser}
    $ git commit -m "A je to."
    

    Stejně by ale bylo pěkné, kdyby byl k dispozici nějaký specializovaný merge skript pro soubory Xcode.


    Zkrácené příkazy v gitu

    6.7.2009 08:14 | programování | Výběrový blog | Komentářů: 9, poslední 7. 7. 2009 | Hodnocení: 75 % (8 hlasů)

    Potřeboval jsem nějakou dobu pracovat offline, a když jsem hledal nástroje pro offline práci se Subversion, nakonec jsem skončil u gitu (konkrétně u git-svn). Jsem nadšený, jen mi trochu chyběla tolerance Subversion při zadávání příkazů. Zatímco Subversion stačí říct svn co a ono už si samo doplní co → checkout, git mě vždycky nechá vydusit. Nakonec jsem ale zjistil, že krátké varianty jdou nastavit pomocí aliasů:

    $ git config --global alias.co checkout
    $ git config --global alias.st status
    A jsem spokojený pantáta!

    Jak jsem se nachytal na ukazatelové aritmetice

    1.7.2009 20:22 | programování | Přečteno: 1260× | Komentářů: 13, poslední 3. 7. 2009 | Hodnocení: 75 % (4 hlasů)

    Psal jsem dneska jednoduchou třídu pro animované sprajty v OpenGL. Abych nemusel texturovací souřadnice počítat při každé změně snímku, předpočítal jsem si je všechny předem do bufferu. Když pak dojde na kreslení snímku, texturovací souřadnice zadám jednoduše jako offset do tohohle bufferu. V principu velmi jednoduchý kód, ale stejně se mi v něm podařilo vyrobit chybu, kterou jsem pak dlouho a nespokojeně hledal. Je to klasický přehmat v ukazatelové aritmetice – býval bych řekl, že takovou chybu bych neudělal, no ale zjevně ano:


    REPL v Perlu

    24.6.2009 19:02 | programování | Přečteno: 947× | Komentářů: 2, poslední 24. 6. 2009 | Hodnocení: 75 % (4 hlasů)

    A ještě jednou Perl, tentokrát REPL. REPL je praktická věc, zvlášť při ladění. Zvykl jsem si do některých svých modulů v průběhu vývoje a testování strčit malou funkci, díky které se dá modul v případě potřeby spustit jako běžný perlový skript a zobrazí REPL, ve kterém si s ním můžu hrát:


    Moderní Perl

    24.6.2009 12:05 | programování | Komentářů: 5, poslední 25. 6. 2009 | Hodnocení: 100 % (5 hlasů)

    Včera vydal chromatic moc pěkný blogpost, ve kterém shrnuje některé moderní způsoby psaní v Perlu – Moose, výjimky a podobně. Příjemná drobnost je například psaní CLASS místo ošklivého __PACKAGE__ nebo Modern::Perl, díky kterému by se podobné moduly časem mohly dát zapnout jedním řádkem kódu.


    Základní problémy Linuxu na desktopu

    13.4.2009 08:40 | programování | Přečteno: 2241× | Komentářů: 111, poslední 16. 4. 2009 | Hodnocení: 28 % (36 hlasů)

    Zajímavý post o tvůrčím procesu, ve kterém autor dobře vystihuje i jeden ze základních problémů linuxového desktopu:
    In fact, it’s far more common to go backwards: to see just the surface gloss of something and try to mimic that, with no understanding at all of the decisions that inform the rest of the work, and how they depend on each other. (…) Our equivalent is the UI “skin”, like the hackery that can make a Windows or Linux desktop look like Mac OS X, but can’t change the fact that everything below the surface is built up with the respective ideas of those operating systems.

    Jak se pozná dobře napsaný kód

    22.3.2009 09:18 | programování | Komentářů: 5, poslední 25. 3. 2009 | Hodnocení: 100 % (9 hlasů)

    Prohlížím si zdrojový kód Kokosu a srovnávám ho s tím, co jsem psal pro BubbleHeada. Je zajímavé sledovat, jak podobné problémy jsme řešili. Přicházím na to, že i problémy, které jsem původně měl za relativně složité, se často dají vyřešit velice jednoduše. Zatímco ze špatně navrženého kódu abych každou funkci páčil heverem, dobře navržený kód bývá jednodušší, přehlednější a nové možnosti mi sám vnucuje. Když se člověk nad kusem kódu nadře, je lepší se zamyslet, jestli to nejde jednodušej. („It’s not meant to be / a struggle uphill.“) Odtud ostatně lenost jako jedna z hlavních programátorských ctností. Teď už jen vystihnout tu hranici…

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