Syncronizing Data with a Server in SQL Server 2005 Everywhere Edition

november 8, 2006

Steve Lasker
Blog: blogs.msdn.com/SteveLasker

SQL Everywhere Edition är efterföljaren till SQL Express och har uppdaterats med de önskemål som kommit in till Microsoft. Sessionen gick igenom vad det finns för möjligheter att göra lokala lagring av data och synkronisering av denna. För att göra sådant så kan man idag använda SQL Express för lagringen och sedan Remote Data Access (RDA) eller Merge-replikering för att synkronisera datan.

Jag hade lite förhoppningar om att kunna komma på lite intressanta sätt att få Isidor att inte bli helt nätverksberoende men tyvärr kändes det inte som det fanns några bra tekniker för detta. Det kommer komma en vidareutvecklad variant i nästa version av Visual Studio men det känns lite långt borta så just nu så får vi nog istället försöka titta på de funktioner som finns inbyggda i asp.net 2.0 med profilering.

Powerpoint presentation

Annonser

Hälsningar från Barcelona

november 8, 2006

Introduction Visual Studio 2005 Team Edition for Database Professionals

november 8, 2006

Denna produkt som ofta kallas DataDude ingår som en del i Visual Studio 2005 Team Suite men går att köpa enskilt och kostar då lika som de andra delarna i Team Suite.

Det som produkten gör som inte vanliga VS gör är att göra det möjligt att lägga upp SQL-schema i ett projekt så man kan jobba med den precis som ett vanligt utvecklingsprojekt med versionhantering och liknande. Det gör det också möjligt att göra schema och data-jämförelse mellan projektet och en utveckling eller produktionsdatabas, alt från en databas till en annan. Man kan säga att de har fört in det SQL-Compare kan men jag tycker att SQL-Compare är lättare och mer användarvänligt. Produkten gör det också möjligt att göra unittesting på databasen på ett enkelt sätt vilket är det enda som egentligen gör produkten lite intressant, men jag tycker inte det är en anledning till att köpa den då den är väldigt dyr.

Windows Presentation Foundatios

november 8, 2006

Creating Windows and Browser Applications with WPF
Ian Griffiths
http://www.interact-sw.co.uk/iangblog/

Powerpoint presentation

Oj… Här börjar sessionen med kod exempel,  inte ett ljud om vad WPF är eller vad det kan användas till.

Jag har sammanställt lite information om vad det är och hur det kan användas.:

Windows Presentation Foundation gör upplevelsen av dokument, media och användargränssnitt enhetlig och tillhandahåller en helgjuten process för webbläsarbaserade upplevelser, formulärbaserade program, grafik, video, ljud och dokument.

Windows Presentation Foundation ligger ovanpå DirectX, vilket innebär att det kan utnyttja den totala kraften hos den grafiska hårdvara som finns i moderna datorer och tillgodogöra sig framsteg i kommande hårdvara.

Windows Presentation Foundations vektorbaserade återgivningsmotor tillåter skalning av program, så att fördelarna hos bildskärmar med hög upplösning kan utnyttjas utan att det innebär extra arbete för utvecklaren eller användaren. Windows Presentation Foundation utnyttjar också fördelarna hos videokort som har stöd för hårdvaruacceleration.

Windows Presentation Foundation innehåller lösningar för media, design av användargränssnitt och dokument som sträcker sig långt bortom de möjligheter som utvecklare har idag. Windows Presentation Foundation har utformats för att kunna byggas ut så att utvecklare kan skapa sina egna kontroller ovanpå Windows Presentation Foundation-motorn eller genom att tillämpa ”subclassing” på befintliga kontroller.

I centrum av ramverket står kontroller för former, dokument, bilder, video, animeringar och 3D-grafik samt paneler där kontroller och innehåll kan placeras. Dessa utgör byggstenarna för utvecklingen av nästa generations användarupplevelser.

När Microsoft lanserar Windows Presentation Foundation, lanseras även XAML. XAML är ett märkspråk som representerar användargränssnitt deklarativt för Windows-program och som förbättrar funktionerna hos de verktyg som används för att skapa och omarbeta användargränssnitt. För webbutvecklare innehåller XAML en välbekant beskrivning för användargränssnitt. Med XAML kan även designen av användargränssnittet separeras från den underliggande koden, så att utvecklare och designers kan föra ett närmare samarbete.

Tyvärr framgår detta inte av presentationen, utan här diskuteras endast hur man bygger/kodar ett wpf program. Jag hänger tyvärr inte med alls men det känns verkligen som detta kan bli något otroligt stort, eftersom man utnytjar hela datorns kraft! Man kan alltså köra wpf filer direkt på datorn utan att installera något på klienten, wpf kan fungera standalone eller ses i browsern, vilket gör att man kan göra otroligt avancerade webbsidor och ge användaren rika webbuplevelser.

Test Driven Development

november 8, 2006

Myths & Misconceptions
Roy Osherove
Team Agile
ISerializable.com

Detta var en frågesession, d.v.s. det visades inte en massa powerpoints utan deltagarna fick istället ställa frågor som föreläsaren sedan besvarade. Då vi aldrig jobbat med Test Driven Development så gjorde detta att det blev lite för hög nivå för oss. Vi valde dock att sitta kvar och lyssna och försöka ta till oss så mycket som möjligt och här är några punkter vi skrev upp.

TDD och gränssnitt
Det är nästan omöjligt att göra unittesting på gränssnitt så därför bör man istället bryta ut de logiska delarna och testa dem för sig själva

Tester
Det är viktigt att testerna är så enkla som möjligt och om det ska vara en riktig unittest så ska det inte finnas någon konfiguration alls och testet bör ta runt en millisekund att köra. Om den finns konfiguration så är det en Intergration-test och dessa kan ta lite längre. Det är dock viktigt att köra båda delarna.

Privata/Interna metoder
Man testar inte privata/Interna metoder eftersom dessa ska komma till efter en refactoring och då ska de redan vara testade.

Vem skriver testerna
Det är utvecklaren själv som skriver testerna och man ska kunna se om utvecklaren förstått kravspecen bara genom att titta igenom hur testerna fungerar.

Vad ska man testa
Kort sagt det mesta och vad man ska börja med kan variera men om man börjar med en stor komplicerad del som används mycket så kan det ta tid att bryta ner den så det går att testa den, men man kan samtidigt vinna en massa tid på att en massa annat jobb kommer gratis.

Vi fick också tips om en bra bok som heter:
Working effectivly with Legecy Code
Vi bör köpa och läsa den,.

Morgonäventyr

november 8, 2006

Morgon från hotelfönstret Henrik, vilsen? Magnus - Koll på läget!

Så, då var det onsdag morgon och vi åt ännu en gourme-frukost på hotellet. När vi sedan skulle gå till tunnelbanan så kände vi att vi skulle var lite äventyrliga och försöka gå till tunnelbanestationen vi gick av vid under gårdagen. Vi ville ta reda på vad restaurangen vi åt på låg och hette samt ta kort på den och det skulle ju inte vara så svårt, vi visste ju exakt hur vi hade gått. Vi började gå och det gick bra, vi hittade direkt till Plaza Nova-torget som vi var på under gårdagskvällen och sedan gick vi in i den gränd vi visste vi kom ifrån. Allt kändes bra men efter en liten stund började vi känna att nu borde vi vara framme och efter en liten stund kom vi ut vid en tunnebanestation. Gutt tänkte vi ända till vi upptäckte att vi var vid helt fel tunnebanestation på helt fel linje. En linje som bara gick åt helt fel håll mot vad vi skulle. Vi tittade på klockan och upptäckte att vi aldrig skulle hinna åka runt och byta tunnebanelinjer och hinna till första sessionen. Vi hoppade därför in i en taxi och då kom nästa problem, vi skulle till Forum och sa det, men han fattade inte så vi visade lite på en karta och han började köra, vi upprepade Forum några gånger och till slut när han fick se tunnebanekartan förstod han ungefär vart han skulle. När vi började närma oss så var vi ändå inte helt rätt och då hittade vi en karta till som hade det utmärkt och visade honom och då sa han ahhh Forúm och körde oss rätt. Som tur är så kostar taxi väldigt lite i Barcelona, vår resa kosade 12 Euro och vår frukost kostade 10 Euro/person, så det var ingen direkt kostnad.

Kvällsaktiviteter tisdag kväll

november 7, 2006

Eftersom det var första dagen på tech-ed (om man räknar bort pre-conf) så serverades det välkomstdrink i utställningsdelen och självkart gick Mingis och jag dit eftersom det vankades gratis dricka och den smålänska dängan ”Gratis Är Gott” gäller ju fortfarande 😉 Vi kom dit och tog oss ett par öl och gick en liten runda och då träffar vi på Markus Olsson, d.v.s. mannen som utvecklade SR Tablå projektet och som också har hållt en utbildning i VB.NET för oss i utvecklingsgruppen. Vi hade ett trevligt samtal som bl.a. gick in på frågan om varför SR Tablå-projektet lades ner. Det serverades i princip ingen mat och både Magnus och jag kände att vi skulle behöva något i magen om vi skulle klarar av att dricka mer så vi började röra oss därifrån. Innan vi gick passade vi på att besöka experterna vid sql-server båset och prata om replikeringsutbildning och hade ett väldigt intressant samtal med en av deras experter där. Det visade sig att det fanns en kurs i replikering men de kör den väldigt sällan eftersom det inte är någon efterfrågan på den. De föreslog istället att vi skulle köra en utbildning SR som var anpassad efter hur vår miljö såg ut och efter hur vi använde replikering hos oss. Det lät väldigt intressant så han fick min e-post adress så vi kan fortsätta diskussionen i ett lite mer icke-rusigt tillstånd 😉

När vi gick därifrån så bestämde vi oss för att hoppa av en tunnelbanestation innan där vi brukar gå av och äta någonstans på vägen tillbaka till hotellet. Vi gick en liten runda och efter en liten stund hittade vi ett ställe som såg trevligt ut så vi gick in. De frågade först om vi hade beställt bord, vilket vi inte hade gjort och såg sedan jättebesvärade ut när vi sa att vi inte hade gjort det. Efter lite om och men så visade de oss till ett bord och vi fick menyerna att läsa. Vi tittade och pratade lite om vad vi skulle äta och dricka och jag fråga Magnus vad Carpaccio var men han visste inte. Jag frågade därför servitören och han sa något om tunna skivor, vilket jag tyckte lät gott så jag tog svärdfisk-carpaccio och Magnus tog biff-carpaccio. När vi fick in rätterna så kom Magnus på vad det var för något, d.v.s. väldigt tunna råa skivor av någon råvara och min svärdfisk syntes inte ens så det såg ut som en tom tallrik med lite nötter och russin på. Vi tänkte oj, vad har vi gjort, hur sjutton ska vi bli mätta på det här, men, men det är bara att tugga i sig 😉 så vi tackade och började äta. Båda rätterna smakade väldigt gott, men som sagt, man skulle vilja ha haft 3 ggr så mycket så vi tog in macademia-glass och njöt! Vi gick i alla fall därifrån ca 250 kr fattigare och inte mätta så nu sitter jag på hotellrummet och äter lite frukt.

En rolig sak som hände mig idag var att jag träffade en gammal klasskamrat ifrån min högskoletid i Sundsvall vid namn Magnus Pettersson, det var riktigt roligt att prata med honom

Henrik och MarkusHenrik och Microsofts SQL TeamMagnus MummaHenrikSuddigt

SQL Server 2005: Optimizing Procedural Code

november 7, 2006

Kimberly L. Tripp
Blogg: http://www.SQLskills.com/blogs/KimberlyPowerpoint presentation
Ännu en superintressant föreläsning av Kimberly, hon är absolut min favorit bland föreläsarna. Denna session handlade om att optimera sina lagrade procedurer så de fungerar så bra som möjligt i servern. Den berörde inte direkt hur man skriver kod utan den fokuserade på hur sql-servern hanterar frågorna och hur den cachar sin plan på hur den ska exekvera koden på bästa sätt. Det låter ju väldigt bra att den cachar planen så den slipper räkna ut den varje gång, men är det alltid bra? Svaret på den frågan är Nej, det är ofta bra, men ibland kan det ställa till stora prestandaproblem.

Den stora grejen här är att det inte finns några bra regler att följa som säger om man ska tvinga sql-servern att hitta på en ny plan eller inte eftersom planen läggs upp för hela lagrade proceduren och ofta har man ganska komplicerade procedurer. För att man ska kunna ta reda på om detta är ett problem och även om det är ett problem att servern skapar nya planer hela tiden så använder man profiler tillsammans med Query Analyser. Profiler för att hitta information om när det sker en ”recompile” och för att upptäcka när det sker väldigt många läsningar fast det inte borde göra det. Query analyser för att ta reda på vad i proceduren som orsakar detta och för att testa vad som är bäst. Kort sagt, ganska mycket trial and error.

Jag tror att det är ett problem vi har i Isidor med dåligt uppsatta planer och även problem med för många recompiles i onödan och jag hoppas kunna ägna lite tid åt att analysera detta under slutet av året.

Triple XXX:XML, XPath and XSLT

november 7, 2006

FöreläsningMagnus och mr English

Triple XXX:XML, XPath and XSLT
Richard Costall
ASP.NET MVP
NxtGenUG Co-Founder

Dave McMahon
Connected Sys MVP
NxtGenUG Co-Founder

Bill och bull håller låda! Bra och snabb början, de gick igenom enkla xml, xpath syntaxar och visade hur man bygger en enkel webbpats genom att endast använda xml och xslt. Efter det gick de igenom hur man skickar in parametrar och hur man kallar på templats mm.

Det intressanta var att man i ASP.NET kan ”extenda” den något fattiga xslt syntaxen genom att bygga egna funktioner som man kan kalla på via xsl. Det går att köra denna kod ”inline” men då är vi tillbaka på spagetti-kod tiden som är asp och php’s problem.

Frågan är när detta är användbart, vill vi verkligen ta en xml-fil och göra en hemsida, troligen inte, men man kan absolut använda XML,XSLT och XPath i delar av applikationer eller i kommunikation mellan applikationer. Ett användningsområde som vi skulle kunna testa detta på är i aspfelloggningskomponenten där vi inte är helt säkra på vilka egenskaper vi vill logga och vi kommer komma på fler eller mindre hela tiden. Om vi istället sparar informationen som XML i databasen och skriver ut detta med hjälp av XSLT så kan man göra en lite snyggare utskrivt som inte kommer vara bunden till att skapa nya kolumner när vi kommer på nya egenskaper vi vill logga. Om man gör det så enkelt att vi går igenom alla element/attribut och skrivet dessa och sorterar på dessa så kan vi lägga till och ta bort utan att vi behöver skriva ut en enda rad kod. Det blir också ett bra test för oss att implementera ASP 2.0.

Developer and Designer AJAX Bliss

november 7, 2006

with Visual Studio and Expression
Brad Adrams
Group Program Manager
.NET Framework Team
http://blogs.msdn.com/brada

Sessionen börjar väldigt lovande, där Brad menar på att Microsoft har överbyggt de problemen som finns mellan formgivare och utvecklare. Han drar massor av tydliga och roliga exempel på hur psd, jpeg dokument från formgivare blir långt ifrån vad de kunde önska sig när utvecklarna har gjort sitt. Lösningen på detta dilemma är enligt han Microsoft Expression, lyfter på hatten och säger HEPP .

Vi går stegvis igenom hur man som designer bygger upp en webbplats för att sedan gå över till rollen som utvecklare. Initialt så leverar utvecklaren ett antal config och xml filer till designern som han/hon startar det nya projektet med, dessa filer ger designern tillgång på ett grafiskt och enkelt sätt alla dataflöden i from av menyer, rss, puffar mm som kommer att finnas på webbplatsen.

Gillar verkligen den tanken att man från början har tillgång till ett flöde av data och informationstruktur, ibland har vi upptäckt när vi är klara med design fasen att man inte kan få den datan som var tänkt eller att den inte kan formateras på det sätet man önskar.

Tyvärr visar det sig väldigt snabbt att man måste vara en ganska duktig klient programmerare samt hyfsat insatt i databas hantering för att få det hela att funka, så jag tycker verkligen inte att de har uppnåt det som talaren började sessionen med. Kort och gott Microsoft Expression är som ett uppdaterat Frontpage med förbättrat samarbetssystem och med något förberedda arbetsflöden

2 av 5 i betyg, bra talare dåligt innehåll.