Silverlight is sinds de introductie in 2005 / 2006 aan een geweldige opmars bezig. Was de eerste versie (1.0), een door Microsoft te snel gepushte versie, welke alleen bestond uit XAML met als framework Javascript, tegenwoordig met Framework 4.0 en de introductie van RIA services is het zelfs een platform geworden waarin de nodige business applicaties geschreven worden.
De insteek van Silverlight vanuit Microsoft is geweest om als tegenhanger van Adobe Flash / Flex te fungeren. Voor .Net ontwikkelaars is het een eenvoudige stap om vanuit de ervaring met bijvoorbeeld Web of Forms, een overstap te maken naar WPF / Silverlight. Het enige verschil is dat de “voorkant” in Silverlight uit XAML bestaat.
Lees verder…
15 t/m 17 maart jl. was de MIX10 conferentie voor (web)ontwikkelaars in Las Vegas.
Tip voor degenen die niet zijn geweest:
de sessies zijn online te bekijken op http://live.visitmix.com/Sessions.
Heel de wereld lijkt het er over te hebben. Apple heeft een nieuw speeltje voor de markt: de iPad. De reacties zijn op zich heel interessant. Aan de ene kant heb je de gadget freaks die superlatieven te komen komt om het moois te beschrijven. Aan de andere kant zijn er genoeg die nuchter weten te blijven. De iPad is niets meer dan een iPhone die te groot is om lekker mee te kunnen bellen en te klein om als notebook te kunnen worden gebruikt. En nieuw is de iPad helemaal niet. Dit is die van mij, ondertussen al ruim 5 jaar oud.
In mijn vorige blog schreef ik over een handig tooltje dat ik heb herontdekt: Remember The Milk – deel 1. Deze keer wil ik iets dieper op ingaan. RTM biedt de mogelijkheid om tags aan je afspraken toe te voegen. Hier kun je dan weer op groeperen. Van deze tags wordt een Task Cloud gemaakt: een visuele weergave van je takenlijst. De grootte van het font geeft aan dat er veel taken zijn of veel taken met een hoge prioriteit.
Als je een applicatie maakt dat moet draaien via een WLAN (Wifi), pas dan even op en lees het onderstaande door:
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
Soms wordt je onaangenaam verrast: je meet de tijd van alle SQL queries in je programma met “MillisecondsBetween” en je krijgt als resultaat: 0, 0, 0, en 15ms…
De afgelopen weken kreeg ik van twee verschillende klanten een vrijwel identieke vraag. De ene klant wilde een uitbreiding in een bestaand programma om bij een bepaalde datum de eerstvolgende werkdag te bepalen. De andere wilde in een document een datum afdrukken waarop uiterlijk gereageerd kan worden. Voor deze datum geldt als regel dat men 20 dagen de tijd krijgt om te reageren. Als oplossing voor beide vragen heb ik een SQL functie gebruikt.
Momenteel werk ik aan een ASP.NET MVC 1.0 applicatie. In een ASP.NET MVC applicatie werkt je niet meer met postbacks. Daardoor werken de standaard servercontrols ook niet meer (runat=”server” is verdwenen). Eigenlijk is het een soort back to the basics, want het komt er in het kort op neer dat je met plain html aan de slag moet. Voor buttons gebruik je gewoon weer de <input type=”submit|button”/> etc. Je hebt dus weer de volledige controle over de html die gerenderd wordt in de browser. Dat biedt weer mogelijkheden om met javascript aan de slag te gaan. Een library die hierbij erg handig kan zijn is jquery. Jquery is een javascript library dat de webprogrammeur de volledige beheersing over de html geeft.
Lees verder…
Vlak na de preview van Delphi 2010 (zie mijn vorige post), verscheen al de RTM versie en is het officieel released. Ondertussen zijn er verschillende interessante blogs verschenen, waarbij verschillende verbeteringen verder uitgelegd worden. Ik zal niet alle verbeteringen bespreken, maar een paar uitlichten. (P.S: zie ook de complete “reviewers” guide!)
Lees verder…
Voor een uitbreiding van een website bij mijn opdrachtgever kreeg ik laatst het verzoek om een stored procedure te maken waarmee je documenten uit een database kunt vinden. Als zoekcriterium kun je hiervoor oa. een aantal woorden invullen dat binnen de tekst moet voorkomen. Voor deze stored procedure heb ik dynamisch SQL gebruikt. Dynamisch heeft hier de betekenis dat je de query runtime opbouwt en dan pas uitvoert. Deze techniek zul je niet vaak gebruiken, omdat juist de kracht van stored procedures is dat deze vooraf gecompileerd zijn en daardoor snel het gewenste resultaat opleveren. Ook zul je hierbij bewust moeten zijn van het gevaar van SQL injection. Bij deze opdracht heb ik toch voor dynamische SQL gekozen, omdat het aantal zoekwoorden kan variëren van 0 tot meer dan 10.
De totale stored procedure (SP) is te lang om hier in z’n geheel weer te geven. Dit verhaal zou dan ook voor sommigen saai en langdradig worden en dat is nu net wat je niet verwacht bij een artikel met ‘Dynamisch’ in de titel. Om de vaart erin te houden, wil ik in dit blog daarom de belangrijkste onderdelen even kort benoemen. Wie weet helpt het iemand op weg die ook met dynamisch SQL wil werken. Ik ben overigens best benieuwd naar andere voorbeelden van geschikte toepassingen van deze techniek.