Author Archives: Robert Haken

avatar Neznámé

About Robert Haken

Software Architect, Founder at HAVIT, Microsoft MVP - ASP.NET/IIS

Optimalizace výkonu webových aplikací – Slides, dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd Praha 2012:

Záznam přednášky nebyl pořizován, rozšířená podoba však byla následně prezentována pro WUG Praha a pro tu existuje záznam.

Tipy a triky v .NET a VS (C#) – Slides a dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd Praha 2012:

Záznam z přednášky nebyl pořizován.

Tipy a triky T-SQL – Slides a dema [TechEd Praha 2012]

Slides a dema z přednášky na konferenci TechEd DevCon Praha 2012:

Záznam z přednášky nebyl pořizován.

Diff Visual Studio 11 z příkazové řádky + použití s TortoiseSVN

Krásný nový Diff-tool z Visual Studio 11 se dá vyvolávat i externě z příkazové řádky a dá se tak použít například i přímo z TortoiseSVN.

Obecná syntaxe je:

devenv /diff sourceFile targetFile [sourceDisplayName] [targetDisplayName]

Pokud již nějaká instance Visual Studia běží, použije se, jinak se spustí nové.

TortoiseSVN

Pro TortoiseSVN v Settings/Diff Viewer stačí přepnout na „External“ a použít:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe /diff %base %mine %bname %yname

(Cestu si samozřejmě upravte podle sebe.)

…teď už jenom zajistit, jestli se dá takhle vyvolat i merge. Z výpisu devenv /? to zatím nevypadá.

NuGet – poznámky z přednášky

Pár mých poznámek z přednášky o NuGet (Package Manager ve VS od Microsoftu), které zřejmě nebudu dále zpracovávat.

(Microsoft MVP Summit 2012 Seattle)

Links

Tvorba vlastního package

  • NuGet Command Line (ke stažení přes samotný NuGet)
  • VS / New Project / Class Library
    • NuGet.exe pack <.csproj file>
      • vznikne .nupkg
      • je to zip ála .docx
    • NuGet.exe push <.nupkg file>
  • [global: AssemblyInformationVersion(„any string“)]
    • pre-release = číslo verze obsahuje podtržítko

Nastavení vlastního NuGet feedu ve VS11

  • Tools / Library Package Manager / Package Manager Settings / Package Sources
  • dá se tam nastavit FilePath, kde mám své packages
  • nebo použít package „NuGet.Server“
    • Install-Package NuGet.Server
    • stáhne SLN s jednoduchým servříkem

C# 5: Caller Info Attributes

Zajímavá novinka v C# 5 poslouží například k logování. Následující příklad funguje ve Visual Studio 11 Beta

  class Program
    {
        static void Main(string[] args)
        {
            Log("Message");
        }

        static void Log(string message,
            [CallerMemberName] string callerMemberName = "",
            [CallerFilePath] string callerFilePath = "",
            [CallerLineNumber] int callerLineNumber = 0)
        {
            Console.WriteLine(message);
            Console.WriteLine(callerMemberName);
            Console.WriteLine(callerFilePath);
            Console.WriteLine(callerLineNumber);
        }
    }

Výstupem je např:

Message
Main
d:\Development\CallerAttributes\CallerAttributes\Program.cs
14

Juice UI – ASP.NET WebForms Controls pro jQuery UI

Na první dnešní přednášce ASP.NET 4.5 na Microsoft MVP Summitu byla prezentována zajímavá nová knihovna, která přináší jQuery UI Widgets do prostředí ASP.NET WebForms – Juice UI. Protože je to jedna z mála věcí, které nejsou pod NDA, mohu se s Vámi o tento poznatek podělit.

Juice UI aspiruje na náhradu AJAX Control Toolkitu a zahrnuje například tyto controly:

  • Accordition
  • Autocomplete
  • Button
  • DatePicker
  • Dialog
  • Draggable
  • Position
  • ProgressBar
  • Resizable
  • Slider
  • Sortable
  • Tabs

Použití je přímočaré a nijak nekomplikované, např.:

<Juice:Tabs ID="_Default" runat="server">
  <Juice:TabPage Title="Tab 1" ID="_Tab1">
    <TabContent>
      ...
    </TabContent>
  </Juice:TabPage>
  <Juice:TabPage Title="Tab 2" ID="_Tab2">
    <TabContent>
      ...
    </TabContent>
  </Juice:TabPage>
</Juice:Tabs>

…uvidíme, jak se vypořádají s porodními bolestmi, které AJAX ControlToolkit měl. Jedná se o open-source knihovnu použitelnou pod licencemi MIT nebo GPLv2.

Číslování stránek slovy v MS Word

  1. Vložte si do stránky klasické číslování (automatické pole)
  2. Pravým tlačítkem klikněte na číslo stránky a zvolte Toggle Field Codes
  3. Předpis pro automatické pole změňte ručně na
    • {PAGE \* CardText \* MERGEFORMAT} – pokud chcete číslo ve formátu „jedna“, „dva“
    • {PAGE \* OrdText \* MERGEFORMAT} – pokud chcete číslo ve formátu „první“, „druhý“, „třetí“ (bohužel nikoliv druhá)
    • …nejspíš se dají najít i další řídce dokumentované možnosti formátování
  4. Přepněte zpět pomocí Toggle Field Codes na výsledné zobrazení

Návrh schématu DB – Slides a záznam [MS Fest 2011]

Slides z přednášky pro MS Fest Praha 2011:

Záznam z přednášky najdete na našem YouTube Channel:

Task Scheduler – dvojí Stop task if it runs longer than…

Pozor na Task Scheduler, pokud mu nastavujete limit „Stop task if it runs longer than“. Ten limit je tam totiž dvakrát, a už jsem se několikrát napálil, že na jednom místě byl nastaven dostatečný a z druhého místa mi to task sestřelovalo a nedobíhal:

  1. Prvním místem je záložka „Settings“ v dialogu vlastností tasku.
  2. Druhým místem jsou Advanced Settings v editaci nastavení Triggeru tasku (Pro každý trigger jde nastavit limit jiný, což je sice hezké, ale…)