pondělí 10. prosince 2012

Začínáme s CodePlex

Při vývoji služby iDoklad potřebujeme vývojářům předat informace jak se napojit na naši službu prostřednictvím jejího API. Napadlo mě, že dobrou cestou bude vytvořit Open Source Projekt s demo aplikací na CodePlexu.

  1. Přihlášení
  2. Založení projektu
  3. Připojení se z Visual Studia do repository
  4. Doplnění popisu projektu
  5. Výběr licence
  6. Dokumentace
  7. Issue Tracking
  8. Vývoj aplikace
  9. Check In

a za 10.












Kluci z technické podpory CodePlexu mi napsali že právě zažívají těžké chvilky a že se snaží o co nejrychlejší vyřešení problému.
No nic tak to zkusím zase zítra. Třeba si do té doby zatím CodePlex odpočine. ;)

čtvrtek 12. ledna 2012

Jak se dělá Splashscreen v Silverlightu

Na internetu se dá najít několik článků v angličtině které jsou některé více a některé méně názorné.
Nejpochopitelnější mi přišel článek na MSDN http://msdn.microsoft.com/en-us/library/cc903962(v=vs.95).aspx


  1. Vytvoříš novou Silverlightí aplikaci která má připojený WEBový projekt
  2. Do webového projektu vložíš Silverlight JScript Page
  3. Jako startup stránku vybereš html
  4. V ní přidáš do objektu Silverlightu parametr splashscreenu. Což je cesta k vloženému XAML souboru
  5. Jako další parametr přidáš funkci která reaguje na stahování XAP balíčku s hlavní aplikací
  6. Dalším krokem je přidání do hlavičky html souboru odkaz na JavaScript kde je definice funkce která mění splashscreen
Pokud je pro tebe malování v Blendu obtížné jako pro mě tak se podívej na tenhle tutoriál o smajlících
http://blogs.msdn.com/b/vyvojari/archive/2010/05/25/kreslime-emotikonu-v-programu-expression-blend.aspx
Naučí tě základní postupy při malování v Blendu.


Další zdroje:
http://weblogs.asp.net/lduveau/archive/2009/09/05/tutorial-create-a-custom-silverlight-splash-screen.aspx
http://silverzine.com/tutorials/splash-screens-and-loaders-in-silverlight/

Expression Blend 4 - Školení Gopas - den 2.

Master Detail
Pokud chci vygeberovat tabulku
VS: Data / Show Data Sources
Přetažení z DataSource (přepnout combo z Gridu na Details) Je potřeba dělat na View, budeme na něj potom přetahovat entitu pro kterou chceme generovat formulář.

Binding
V blendu se nabindovaná property pozná podle žlutého čtverečku vedle jejího názvu

UpdateTrigger = Explicit
http://msdn.microsoft.com/en-us/library/system.windows.data.binding.updatesourcetrigger.aspx


Stavy
AddStateGroup
je potřeba mít stav v nějaké skupině

Výchozí stav Base - zde musí být již nachystané všechny Controly které chci použít v ostatních stavech

Tkačítkem [Turn On Fluid Layout] zapnu vlastnost která umožní plynulý přechod mezi diskrétními hodnotami. Například pokud ve stavech měním hodnotu Visibility přechod se podívá jak vypadá stav na začátku a na konci a plynule ho zanimuje.
<VisualStateGroup x:Name="NaseSkupina" ei:ExtendedVisualStateManager.UseFluidLayout="True">

Pomocí tlačítka [Turn On Transition Preview] zapne přecházení mezi stavy pomocí přechodu. Bez této funkce stavy přecházejí okamžitě.

FluidMoveBehavior
Na ItemPanelTemplate


SketchFlow
File / Package SketchFlow Project
Vytvářet skeče můžeme pro WPF a Silverlight. Pokud chceme vytvářet skeče pro WP7 musíme si stáhnout šablonu ze stránky http://wp7sketchflow.codeplex.com/

Window / SketchFlow Feedback
Tímto zobrazím panel do kterého si můžu importovat feedbacky od zadavatele a zobrazit si je přes sebe ve vrstvách.
V nápovědě: prototyping with SketchFlow / Convert a prototype - Convert into a production project

Poznámky:
Kurz bubnování
http://afro.cz/kurzy/brona-pavlicek

Visibility
Visible: Zobrazí element
Hidden: Nezobrazí element a rezervuje pro něj místo
Collapsed: Nezobrazí element a místo pro něj nerezervuje

středa 11. ledna 2012

Xaml Cop

Do Visual Studia existuje addon který hlídá kvalitu vámi psaného C# kódu. Jmenuje se StyleCop. Jelikož se v poslední době hodně věnuju aplikacím které mají UI psané v XAMLu hodil by se i nějaký XAML COP.
Na adrese http://xamlcop.codeplex.com/ jsem na něco takového narazil a teď se to hodlám vyzkoušet.
Pro kompilaci je potřeba stáhnout SDK pro XAML které je na adrese http://archive.msdn.microsoft.com/XAML/Release/ProjectReleases.aspx?ReleaseId=4720

nicméně pří úspěšné kompilaci a spuštění programu na vlastní projekt programu nevypíše XAML COP nic zajimavého. Tak jsem to zkusil na některý z našich projektů a XAML COP spadl protože nenašel naše knihovny tak kde si myslel že je máme.

Takže to zatím dávám k ledu až se objeví nějaká novější verze.

http://labs.ranjithvenkatesh.com/XamlCop/publish.htm

úterý 10. ledna 2012

SQL zobrazení chyby

Zrovna jsem dopsal SQL stored proceduru na smazání uživatele a všech jeho záznamů. Docela se mi hodilo vidět chybovou hlášku pokud nějaký záznam nebylo možné smazat kvůli navázanému záznamu.


BEGIN TRY
    -- Generate a divide-by-zero error.
    SELECT 1/0;
END TRY
BEGIN CATCH
    SELECT
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
GO

čtvrtek 5. ledna 2012

Domácí síťování

Koupil jsem si nové hračky od Zyxelu, ale pořád se nemůžu zbavit pocitu, že to zase taková hitparáda není


Kopírovaný soubor 1,5GB
Ze serveru na notebook HP


Při propojení přes gigabitový switch 
Rychlost 30.000-50.000 kilobit/s
Samba doba kopírování 46s
FTP doba kopírování 30s

Při připojení přes WiFi 11g (54Mbps, reálně prý 22Mbps)
Samba doba kopírování 14min Rychlost 1.930 kilobit/s
FTP doba kopírování 13min Rychlost 2.200 kilobit/s
Tohle by tak sedělo

Při připojení přes WiFi 11n (300Mbps)
3-5.000 kilobit/s
Samba doba kopírování 5,5min Rychlost 4.600 kilobit/s
FTP se nepodařilo připojit nevím proč ...

http://cs.wikipedia.org/wiki/IEEE_802.11
http://www.lupa.cz/clanky/802-11g-rychlejsi-wifi/

Jiné rychlosti:
Kopírování CD cca 2MB/s

Expression Blend 4 - Školení Gopas - den 1.

Rozložení panelů programu Blend 4
Menu
  • File / New Project - založení nového projektu
  • Tools / Options - nastavení prostředí a zkratek
  • Windows / Workspace - přepínání klávesou F6. Možnost vytvořit si vlastní pracovní prostor a uložit si ho.
Levá strana
  • Projects - (Solution Explorer)
  • Assets - prostředky controls (ToolBox)
  • Triggers
  • States - prohlížení visual states
  • Objects & Timeline - visuální strom (něco jako DOM)
Pravá strana
  • Propertyes - Vlastnosti, události (atributy), které je možné filtrovat.
  • Resources -
  • Data a Data Context - umožňuje bindování pomocí Drag & Drop
Hlavní panel
  • F4 - skryje všechny panely
  • V - operace výběr prvku
  • H - operace přesunutí plátna
  • Scrool - Zoomování
Pohledy
  • Design - pouze návrh
  • XAML - pouze XAML kód
  • Split - obojí
  • Přepínání pomocí klávesy F11
Odlišnosti oprosti Visual Studia
Zoom pomocí Ctrl + Scrool
Tools / Options | Workspace - Theme = Expression light
Světlé téma
Tools / Options | Artboard - Mouse wheel = Ctrl + mouse wheel

Návrh UI
Přes shevron vlevo dole se rozbalí seznam Controlů kde je mořné vyhledávat podle názvu. Tlačítko pod shevronem umožňuje vložit posledně použitý control.

Styly
Styl mění již existující vlastnosti
Definujeme je v Resources. Mají platnost do hloubky od s vojí definice.
Pojmenovaný a implicitní styl
Pojmenovaný styl musím připojit ke controlu přes Style = {StaticResource ...}
implicitní styl se připojí ke všem elementům se stejným TargetTypem

Šablony (Templates)
Šablona mění implicitní styl prvku. Mění to jak prvek vypadá např. tlačítko je obdelník.
<Button Click="Button_Click"  >
    <Button.Content>
     <TextBlock>Naše tlačítko</TextBlock>
    </Button.Content>
    <Button.Template>
     <ControlTemplate TargetType="Button">
      <Grid>
       <Ellipse Width="120" Height="20" Fill="LightBlue" StrokeThickness="3"></Ellipse>
       <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
      </Grid>  
     </ControlTemplate>
    </Button.Template>
   </Button>


Pro seznamy
<StackPanel IsItemHost = "True" > 
</StackPanel>

Na zvoleném prvku vyvolám kontextovou nabídku a tam zvolím EditTemplate / EditCurrent
Toto mi umožní editovat pouze šablonu zvoleného prvku.
Klávesová zkratka G přepne do editace gradientu štětce.

Vytvoření kope výchozí šablony elementu
EditTemplate / Edit a Copy

Editace šablony položky ListBoxu
EditAditionallTemplate / Edit ... ItemTemplate / EditCurrent

Vytvoření ukázkových dat
V pravém panelu záložka Data kliknout na tlačítko [CreateSampleData] (tři elipsy a +)
[NewSampleData]

Databinding DataContext