Deníček Jakuba "Chrastyho" Kottnauera

Developer & IT Enthusiasist 

V únoru mě zaujalo...

Tento článek je jakýmsi úvodním článkem každo-měsíčně-se-opakující sérii článků, která shromažďuje odkazy, které mě na internetu něčím zaujala. Většinou to ale bude sběrnice odkazů, které mě zaujaly svým názvem, ale nestihl jsem si je přečíst. Články nejsou nijak řazeny, jen tak, jak mi přišly pod ruku. Za měsíc únor mě tedy zaujalo:

Reading MP3 metadata with Silverlight and drag-drop
Silverlight Splash Page
WCF RIA Services Validation
Pub/sub sample with WCF net.tcp protocol in Silverlight 4
Localizing ASP.NET MVC Validation
Scott Hanselman's 2009 Ultimate Developer and Power Users Tool List for Windows

Loading zmínek Retweet

Komentáře [0]

Kde byla má myš?

Dustin Curtis dnes ukázal na svém blogu hezkou věc, Javovou aplikaci, která snímá dráhu ujetou vaší myší. Tu (dráhu, ne myš) pak můžete exportovat jako zajímavě vypadající obrázek. Tohle najezdila moje myš za posledních 10 hodin, černé tečky ukazují dobu, kterou myš stála na jednom místě (největší černé kolo vzniklo po cca hodině neaktivity):

Zmíněný javový prográmek stáhnete zde:

Click here to download:
mousepath.jar (226 KB)

Loading zmínek Retweet

Komentáře [0]

Už se to blíží

Již brzy ve vašich prohlížečích.

Loading zmínek Retweet
Tagováno »   photolum   programming  

Komentáře [0]

Client-side validace a LINQ to SQL/Entities v ASP.NET MVC 2

ASP.NET MVC 2.0 přijde s jednou velmi hezkou novinkou, a to vestavěnou podporou pro validace na straně klienta pomocí jQuery. Snadněji by to už udělat nešlo: pokud máme například formulář na vytvoření nového komentáře, stačí si vytvořit třídu Comment s vlastnostmi reprezentujícími jednotlivá pole formuláře a odekorovat je patřičnými atributy. Komplikace nastává v případě, kdy máme tuto třídu už automaticky vytvořenou, například vygenerovanou pomocí LINQ to SQL podle databáze. Řešením by bylo něco jako "partial properties", nic takového ale v .NET frameworku nenajdeme. Takže co s tím?

Budeme potřebovat dvě třídy:

  • partial class Comment - bude rozšiřovat třídu Comment vygenerovanou LINQ to SQL
  • class CommentMetaData - zde vypíšeme a odekorujeme vlastnosti, které chceme validovat

Jediný rozdíl je tedy v tom, že místo toho, abychom samotné vlastnosti nadefinovali jako "partial" (což nejde), uvedeme je v jiné třídy a na ni odkážeme ze třídy Comment pomocí atributu MetadataType. Zdrojáček:

 [MetadataType(typeof(CommentMetaData))]
public partial class Comment
{
}

public class CommentMetaData
{
    [Required(ErrorMessage = "Jméno je povinné")]
    public string Author { get; set; }
 
    [Required(ErrorMessage = "Text příspěvku je povinný")]
    public string Text { get; set; }

    [Required(ErrorMessage = "E-mail je povinný")]
    [RegularExpression(@"[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}", ErrorMessage = "E-mail je v nesprávném tvaru!")]
     public string Email { get; set; }
}

Teď už stačí ve View obsahující formulář pro přidání komentářů povolit validace na straně klienta pomocí jedné helper metody (pozor, je nutné tuto metodu zavolat před form tagem (nebo zavoláním Html.BeginForm()), poprvé jsem to přehlídl a pak hodinu přemýšlel nad tím, proč validace nefungují :-)). Kromě toho ještě musíme přidat reference na tři .js soubory, které defaultně nalezneme ve složce Scripts uvnitř MVC projektu.

Ukázkový kód View šablony s podporou jQuery validací:

<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
 <script src="../../Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript"></script>  
  
<% Html.EnableClientValidation(); %>

<% using (Html.BeginForm()) {%>
     <fieldset>
        <legend>Přidat komentář</legend>

        <p>
            <label for="Author">Jméno:</label>
            <%= Html.EditorFor(author=>author.Author)%>
             <%= Html.ValidationMessage("Author", "*") %>       
        </p>

        <p>
            <label for="Email">E-mail:</label>
            <%= Html.TextBox("Email") %>
             <%= Html.ValidationMessage("Email", "*") %>
        </p>
        <p>
            <label for="Web">Web:</label>
            <%= Html.TextBox("Web") %>
             <%= Html.ValidationMessage("Web", "*") %>
        </p>
        
        <p>
            <label for="Text">Text:</label>
            <%= Html.TextArea("Text", null, 10, 40, null)%>
             <%= Html.ValidationMessage("Text", "*") %>
        </p>
        
        <p>
            <input type="submit" value="Odeslat komentář" />
         </p>
    </fieldset>

<% } %>

Loading zmínek Retweet
Tagováno »   asp.net   entities   jquery   mvc   programming   sql   web. linq  

Komentáře [0]

Silverlight a práce s databází

Tento článek měl být původně jen krátkým příspěvkem na blog, i proto to odlehčené pojetí a epická šíře zezačátku, ale rozrostl se v téměř sedmistránkový útvar, a proto jsem se rozhodl ho publikovat na Programujte.com. Zde tedy jen perex a odkaz na celý článek:

V centru dnešního softwarového světa stojí databáze, snad by ani nebylo troufalé říci, že většina větších aplikací nějakou tu databázi využívá. Vytvořit takovou „database-driven“ aplikaci v Silverlightu se může, zejména v porovnání s technologiemi jako ASP.NET, zdát zbytečně komplikované. Účelem tohoto článku je dokázat opak – ukázat čtenářům, že je to ve skutečnosti velmi snadné.

Celý článek je zde.

Loading zmínek Retweet
Tagováno »   programming   silverlight   wcf   články  

Komentáře [0]

Zvýraznění zdrojáků v Posterous

E-mailový redakční systém Posterous, který používám na tomto blogu, má takové omezení. Tím je nepodpora plug-inů, vše, co Posterous umí, musí být implementováno přímo jeho vývojáři. Ač to tak na první pohled vypadat nemusí, Posterous zvýrazňování zdrojového kódu umí.

Je to  velmi snadné, stačí jen obalit kód do tagů code (v hranatých závorkách). Navíc můžete, pomocí atributu lang, specifikovat i jazyk pro zvýraznění syntaxe. Na výběr máte z hodnot 'cpp', 'c', 'c++', 'c#', 'c-sharp', 'csharp', 'css', 'delphi', 'pascal', 'java', 'js', 'jscript', 'javascript', 'php', 'py', 'python', 'ruby', 'rails', 'ror', 'sql', 'vb', 'vb.net', 'xml', 'xhtml', 'xslt', 'html', 'xhtml'.

Výsledku jste si už mohli všimnout v několika článcích na tomto blogu, ale ještě na ukázku:

// Volání jedné metody
MessageBox.Show("Hello World");

Loading zmínek Retweet
Tagováno »   posterous   programming  

Komentáře [3]

Hitachi 160 GB 5400 rpm 2,5" vs. Intel X-25M 80 GB (34 nm)

Je to tady, SSD disk Intel X-25M si konečně užívá života uvnitř mého notebooku Lenovo R61. Samozřejmě, že jsem udělal pár měření, tady tedy jsou:

Windows 7 se na starém disku zapínaly přibližně 56 sekund (měřeno od stisknutí tlačítka až po zobrazení uvítací obrazovky), na SSD to trvá okolo 25 sekund. Pomohl jsem si taky co se hmotnosti týče, i když je to naprosto zanedbatelný rozdíl - starý disk vážil 98 gramů, nové SSD váží 78 gramů.

Největší rozdíl je ale vidět v rychlosti při samotném používání počítače. Takový Firefox nebo Word startují instantně, Visual Studio cca 3 až 4 vteřiny, oproti původním třiceti. Úžasné je taky to ticho. Pustíte notebook a nic neslyšíte. Nic. Pokud se vám tedy zrovna netočí větráček :-)

Na závěr "článku" zase pár obrázků - benchmark starého disku i SSD a jejich fotky:

       

Loading zmínek Retweet
Tagováno »   hardware   hdd   ssd   test  

Komentáře [0]

Co se to s tím blogem zase stalo, ptáte se?

A odpověď naleznete v příspěvku z 11/7/2008, který jsem upravil.

Loading zmínek Retweet

Komentáře [0]

Visual Studio 2010 beta 2 – Napodruhé nejde spustit, devenv.exe je spása

Někdy minulou středu vyšla druhá betaverze Visual Studia 2010, kterou jsem se hned jal vyzkoušet. Čekala mě ale ovšem nemilá věc – po deseti minutách hraní Visual Studio spadlo a nešlo opět spustit, jediná hláškou, kterou jsem dostal, byla “The application cannot start”.

Podle Googlu jsem nebyl zdaleka jediný s tímto problémem, ale řešení je naštěstí poměrně jednoduché, stačí jen smazat jakýsi uživatelský profil Visual Studia pomocí souboru devenv.exe a parametrem /resetuserdata. Můžete to udělat například přes CMD:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe /resetuserdata

(Cestu si samozřejmě upravte podle svého)

Loading zmínek Retweet
Tagováno »   visual studio  

Komentáře [0]

WebExpo 2009 – spousta IT ve 3 dnech

Fotky jsou jako již tradičně dole.

Po delší době (září a říjen jsou hektické měsíce) sem opět něco napíšu, tentokrát o druhém ročníku konference o webových technologiích WebExpo.

Druhý ročník se konal ve dnech 16. – 18. 10. 2009, ale sám jsem se kvůli škole mohl zúčastnit jen 17. a 18., tedy soboty a neděle. S ubytováním jsem naštěstí neměl problém, na rozdíl od několika dalších lidí. Zarezervoval jsem si totiž pokoj na kolejích ČZU téměř dva týdny před začátkem, ještě měli volno.

Samotné přednášky byly zajímavé, účastnil jsem se těchto:

  • Sobota
    • Moderní webdesign I.
    • Tajemství a používání a programování Firebugu
    • Moderní webdesign II.
    • Automatizované testování web aplikací
    • Finále Startup Show 2009
  • Neděle
    • Jak z vás lenost může udělat lepšího vývojáře
    • WCAG 2.0 – nový pohled na přístupnost

Vynikající byla přednáška o Firebugu od Jana Odvárka, dále pak Moderní webdesign II. od Jana Sládka, která pojednávala zejména o různých způsobech použití “exotických” fontů na webu (@font-face etc.) a úplně nejvíc se mi líbila "Jak z vás lenost může udělat lepšího vývojáře” od Christiana Heilmanna – skvělá prezentace, výborný projev, a ukázal nám sílu Yahoovského YQL.

Microsoft Surface

O MS Surface sem prostě musím napsat a pochlubit se, že jsem si na něj sáhnul. O tomto stolu od Microsoftu jistě spousta z vás slyšela, a kdo ne, tomu ho snad přiblíží fotky dole v galerii a Google.

A ten zbytek…

Čtenáři tohoto blogu si asi všimli, že se často rozepíšu o nějakém tématu a najednou to celé useknu a doplním jen samé obrázky. Nemám příliš v oblibě psaní delších “pocitových” článků, tak proto:-) Pro dokreslení atmosféry ještě následuje několik fotek a ještě zmínka, že jsem u MSDN stánku vyhrál 8 GB flashdisk Kingston :-).

                                                 

Loading zmínek Retweet
Tagováno »   přednáška   webexpo  

Komentáře [0]