torsdag den 4. oktober 2012

Dine business objekter i produktion (URL'er)


Det kan være dejligt at have din egen ASP.NET Development Server som kører alting for dig lokalt på din maskine når du skal teste dine ting.
Dog skal du være opmærksom på dine objekter og URL'er fordi i produktion kan tingene være anderledes.
Jeg havde fx ikke selv tænkt over at nogle stier i min adresse hed firmanavn som fra tidligere ansættelser indeholdt mellemrum.
Det sjove var at det virkede fint lokalt på maskinen, både i IE og FF, hvor firefox selv indsatte "+" hvor der var et mellemrum og den lokale ASP.NET Development Server kunne åbenbart håndtere dette og forstå det.

Nu ville jeg så ligge den over på produktion for at vise en ven noget og bare for at have noget at se på i produktion. Her virkede det så pludseligt ikke og her satte den også "+" ind hvor der var mellemrum, men serveren kunne åbenbart ikke håndtere det.

Så tænk over dine objekter og navngivning når du skal bruge dem som reference i din URL'er.
Jeg løste det ved at alle links nu erstatter " " med "-", og i min model når jeg får fx firmanavnet ind så vil den lede efter "firma-navn" = firma.replace(" ", "-") fordi at så kan min model finde det rigtige objekt.

En lille problematik jeg havde på min udvikler side med mit udvikler cv på www.csharpudvikler.dk

onsdag den 3. oktober 2012

"Farlige" forskelle i VB.NET og C#.NET (Rekursiv kode)


Jeg er jo indfødt C# .NET systemudvikler så gamle vaner dør svært. Det kan mærkes nu på mit nye arbejde hvor jeg skal arbejde med VB.NET.

Jeg har jo arbejdet med C# og .NET igennem en del år efterhånden, men ikke med VB.NET - dog følte jeg stadig at jeg havde set det meste. Nej det havde jeg så ikke..
Hvis man i VB.NET har et objekt med en arrayliste på og skal kalde et index skal man bruge "(index)" for at få det, hvor i C# bruger man "[index]".
Det "farlige" her er at når man skal bruge VB.NET så er "[index]" refererende til sit eget objekt (forudgående).
Så pludselig vil du i din "arrayliste[0]" få samme objektstruktur efter punktum.
Opdagede det hvor jeg skulle igennem et objekt med et array som pludselig gav et objekt med samme array på i en uendelighed - ligesom følger:
lines[0].lines[0].lines[0] etc.

Det kan godt være lidt farligt det ikke giver nogen kompileringsfejl og også fordi man kan blive ved sådan.
Rekursiv kode længe leve!!

Unittesting - Sikre din kode til fremtiden

Nu sidder jeg og arbejder med unittesting til dagligt og som en del af noget omlægning af et projekt.
Her kan jeg meget nemt se effekten af unittesting.

Når vi fx laver en ny type rapport og nedarver fra noget eksisterende og begynder at kunne se et brugsmønster der gør vi kan refakturere således at i stedet for 4-5-6 klasser kan vi muligvis nøjes med 1 eller 2, så hjælper unit testing enormt meget!

Når vi har refaktureret vores kode så fejler vores unittests efter at have rettet dem til og vi kan nemt se at business processer pludselig nu får problemer og hvor vi skal rette i vores refakturerering for at det kan virke. Det kan virke kedeligt og trivielt og ligegyldigt når man sidder med det og bare skal have lavet nogle, men bagefter når man skal arbejde videre med det senere så er det sådan en stor hjælp.
Så det er helt klart noget man ikke kan komme udenom hvis man vil have effektiv kode.

tirsdag den 2. oktober 2012

Effektiv flytning af domæne (SEO)

Ofte så har folk ikke tænkt over hvad deres domæne skal hedde og man har jo lov at blive klogere. Derfor er det ikke unormalt at man ønsker at skifte domæne senere hen.
Der er dog en masse ting man skal huske når man flytter sit gamle domæne, og kan være katastrofalt ikke at tænke over.

Hvis man ser på Search Engine Optimization (SEO) / Søgemaskineoptimering, så er det vigtigt man ikke opsiger sit gamle domæne. Google og andre søgemaskiner har sandsynligvis fundet din side allerede, og indekseret den. Så det er vigtigt at alt dette ikke går tabt. Samtidigt giver de dig en rang baseret på alder, indhold, fejl, loadtid og meget andet.
Så hvis du beholder dit gamle domænenavn, men viderestiller det til dit nye domæne vil du kunne sørge for at alle dem der kommer ind på din gamle side nu bliver sendt til din nye side - og samtidigt så vil alle dem der finder dig via en søgemaskine stadig blive sendt til din nye side - så du ikke mister trafik eller kunder.

Du skal huske at bruge en 301 Moved permanently redirect. Dette fortæller Google og andre søgemaskiner at den nu skal videreføre din rang til dit nye domæne fordi du er flyttet.

Derudover kan du videreføre din query så de rammer den nye side der svarer til det du bad om.
Et lille eksempel:
Gamledomæne.dk/Produkter/ProduktOversigt.aspx
skal nu blive til
Nyedomæne.dk/Products/Overview/All/


Hvis du kan overføre query vil du overføre "/Produkter/ProduktOversigt.aspx" til dit nye domæne - så du kan modtage det og læse det og mappe det til din nye side.
I ASP.NET kan du i Global.asax sætte op regler for hvad du skal gøre. Således vil du på dit nye domæne modtage dette: Nyedomæne.dk/Produkter/ProduktOversigt.aspx
men fordi dit domæne ikke har denne sti vil det give en fejl - dog hvis du sætter en regel op i Global.asax vil du kunne se på hvad der requestes i QueryURL, og hvis det er lig ovenstående så kan du videresende den til din nye adresse.

Derudover kan du alternativt fortælle at domænet er flyttet, så hvis du kan se at "referer" er dit gamle domæne så fortæller du blot at du er flyttet. Information til brugerne.

Ved at sætte ovenstående op vil du bibeholde alt din trafik og kunder fra dit gamle domæne som vil komme til dit nye site, samtidigt med dit nye site vil få alt den rang og respekt den har opbygget igennem sin levetid.

søndag den 30. september 2012

Styrk dit selvværd! Se hvor MEGET du nået..


Ved at lave lister over alt du har lavet så kan du nemt og hurtigt få overblik over alt det du har lavet i dag og behøver ikke have dårlig samvittighed over at du ikke føler du får lavet noget.

Det kan styrke dit selvværd og dermed gøre dig til en mere effektiv medarbejder.

Det kan være meget små og simple ting som man skal huske og alt sammen hjælper på listen.

- Sende bekræftelsesmail til Jørgen med vi kommer næste lørdag
- Ringe til skat med kørepenge
- Gennemlæst design dokument for Rolf
- Rettelser til design dokument (Rolf)
- Tidsregistreret
- Lavet console projekt til rapporter
- Lavet data acces layer til nye database
- Unittestet data acces layer
- Begyndt på business layer
- Refactored MockingEngine som mange nedarver fra for mere optimal struktur
- Hjulpet Peter med hans email opsætning
- Hjulpet Flemming med HTML5, og webworker

Det er måske mange små ting som ikke tager så lang tid, men det gode er at jo mere du får skrevet på jo bedre kan du huske alle dine succesoplevelser i løbet af dagen. Og alle disse gør at du får en oplevelse af succes igen og styrker dit selvværd fordi nu får du visuelt bevis på ALT det du har lavet i dag, for mange bække små giver en å. Så jo mere du kan fortælle jo bedre og gerne del nogle ting op i dele - et stort projekt kan sagtens deles op i flere bider

fredag den 28. september 2012

Tænk over performance i din model - specielt i webudvikling

Performance er altid vigtigt! Specielt i webudvikling er svartider enormt vigtige!

Jeg har netop siddet og fået lidt over en faktor 25 ved at optimere min model og kald meget lidt.
Det var at der skulle præsenteres en liste af business objekter, og en liste på 70 elementer tog over 2 sekunder at loade (hente business objekter alene), så det føles meget langsomt når en side er omkring 2½ til 3 sekunder om at præsentere en liste på 70 elementer.

Det viste sig at være på grund af dette business objekt var meget kompliceret, og havde mange underelementer i lister som jeg ikke har behov for da jeg blot skulle bruge en liste med navne at kunne præsentere.
Så ved at lave om på kaldet så jeg kunne sige om den skulle levere navne kun - så når den kom ned og havde fået fundet navnene, og skulle tilføje alle underelementer ville den lade være med det fordi at jeg havde specificeret den kun skulle tage navne.
Dermed fik jeg optimeret med over en faktor 25 da jeg kom ned på 0.08 sekund som er meget bedre for at leverere en god brugeroplevelse.



Ikke alene er det spild af tid for at kunne levere en god user experience, men hvis du ikke optimerer fra start af og det "kun" er 0.5sek den er om at loade og du ikke ser på om det kan optimeres så kan det senere være noget som gør at fordi du bygger mere og andet på så bliver din side "langsom" (1sek+) og gør at du ikke senere kan se hvad der gør din side er langsom fordi det "kun" er 0.5 sek og 0.7sek og 0.4sek som altsammen gør at din side bliver "langsom".
Så tænk over det fra start og optimer din kode, for når du så bygger på er der plads til "buffer" fordi du får mere arbejde og din side vil stadig føles hurtig fordi "meget lidt" + "meget lidt" giver stadig kun lidt :)

tirsdag den 25. september 2012

Samsung Galaxy S3 stadig på tronen


Der har gået rygter omkring at Samsung Galaxy S3 skulle blive afløst af en Samsung Galaxy S4 (IV) til februar, hvilket skulle give Apples nye iPhone 5 baghjul.
Nu har Samsung selv bekræftet de ikke frigiver en Samsung Galaxy S4 til februar, også på grund af Samsung Galaxy S3 stadig sælger rigtigt godt (20 millioner eksemplarer solgt på 100 dage)

Det vides ikke endnu hvornår Samsung Galaxy S4 kommer så min kæreste må vente noget tid endnu før hun kan få en ny kraftig mobil til udskiftning med hendes eksisterende Nokia Lumia 700.
Jeg er sikker på når engang den vil udkomme så skal jeg have sådan en og nyde godt af dens egenskaber, power og features som jeg elsker på min Samsung Galaxy S3.


Kilde: http://newz.dk/samsung-galaxy-s4-kommer-ikke-til-februar

tirsdag den 18. september 2012

Opdatering til Samsung Galaxy S3

 Så kom der endnu en opdatering (firmware opdatering) til min Samsung Galaxy S3.

Det var ikke den helt store som jeg kunne have håbet på og stadig venter på, men en mindre.
Den skulle efter sigende gøre telefonen mere stabil - selvom jeg ikke har oplevet den som ustabil over hovedet. Men det er meget fedt at der kommer opdateringer selvom det ikke er de helt store for så ved man at ens telefon og software/firmware vedligeholdes så man beholder følelsen af power i sin Samsung Galaxy S3 og at det er den bedste telefon.

Så må vi jo bare vente på at der kommer den næste store opdatering til Samsung Galaxy S3 med Jelly Bean (Android 4.1).

Fordelene ved at eje en Samsung Galazy S3 bliver ved med at vælte ind. Du er endda sikret god service og reperation på dele der nemt KAN gå i stykker på din Samsung Galaxy S3.

lørdag den 15. september 2012

jsfiddle.net - udviklerens værktøj til at fejlfinde og dele


Her har du mulighed for at dele din kode med andre, lege og prøve ting af sammen med dine kolleger.
Du kan dele din kode som du har problemer med og se de har mulighed for at give dig hjælp til den.
I som gruppe har mulighed for at dele kode og hver især arbejde videre med den for at skabe bedre og vildere resultater.
Det er et smukt og lækkert værktøj som man simpelthen ikke kan klare sig uden!

fredag den 14. september 2012

Kant og mellemrum ved billede indeni en div


Det er sådan så man meget nemt står med et probel med at man gerne vil lave lidt lækre detaljer omkring sine billeder. En meget simpel kan være en border, men man kan ikke få den til at følge hele vejen rundt fordi i bunden kommer der et stort mellemrum.

Som man kan se på følgende eksempel: http://jsfiddle.net/YwBSL/2/

Det viser sig det er fordi at et billede fra standart renderes som om den var et bogstav (altså inline), hvilket giver lidt mellemrum i bunden fordi når bogstaver som "j,g,p" etc. så kommer de under linien og der er derfor behov for tage hånd om dette.

Dette gøres med "vertical-align: top", på det billede der skal gøres noget ved.
Det kan også løses ved at bruge "float: left;" på billedet.

Se resultatet her: http://jsfiddle.net/YwBSL/3/

onsdag den 12. september 2012

Mere effektivt at få dit firma på Google+ ??


Overvejer du om det kan betale sig at få dit firma på Google+ ?

Mange tror fejlagtigt at Google+ skal være konkurrent til Facebook og være et socialt netværk, men skal det faktisk ikke. Det er Googles egen platform som skal sikre dem en større og mere aktiv brugerskare.
Hvis du har en "væg" og kan dele ting med folk og både dit eget indhold men også andres, så giver det Google enormt meget information omkring dig og hvad du kan li.
Dette kan Google bruge til at gøre søgninger til dig endnu bedre fordi Google nu VED mere om dig! Også fordi at når du synes godt om noget med dine venner eller deler deres, eller en af dine venner synes godt om noget af dit indhold (+1 hos Google) så får de information om dig, om dine venner og dine og dine venners vaner og ting i kan li.

Oveni dette så er det en rigtigt god platform fordi folk der har en væg og kan dele det med sine venner er mere aktive end at skulle sende en mail til sine 3 bedste venner med "se her den her video er sjov" eller "læs lige det her - det er da for vildt!" - men hvis du kan dele det på din væg så er det en nem platform at dele på og dermed tilkendegive dine mønstre og ønsker og samtidigt kan dine venner gøre det samme ved at interagere med din væg.

Da Google jo er i søgebrancen er det ikke kun vigtigt at kunne levere gode resultater til dig, for det er ikke alle der synes Google+ er "the shitness" eller har lyst til at bruge deres tid på en sådan platform.
Men det som Google også lever af er at folk fortæller hvad der er godt, spændende, sjovt og lign. og med +1'er kan man nu tilkendegive at dette indhold kan jeg godt li og det giver Google værdi ved at man kan give dette som en hjælp til søgeresultater for hvis to konkurrerende sider er i samme søgeresultat og den ene har 50 stks +1'er, og den anden har 2, så er det jo en indikation for hvor brugbart og populært og godt indholdet af denne side er. Dermed kan Google bruge det som en nem og hurtig måde at få folk til at vise hvad der er godt.
Og igen det er NEMMERE at trykke på en +1 knap end det er at skulle lave et link til siden et eller andet sted på nettet, og måske har du ikke engang noget sted offentligt at kunne dele dette link med nogen.
Nu har Google gjort det nemt for hele verden at kunne fortælle hvad der er godt på en nem og hurtig måde, få andre involveret og dermed tjene flere penge.

Så er det en ide at komme på Google+ ?
Det synes jeg bestemt! Tror absolut at +1 og Google+ vil blive meget større og meget mere vigtigt med tiden så jo før du kommer i gang jo bedre.
Det vil være endnu et sted ligesom Facebook, Twitter etc. som du vil kunne promovere din side, dine konkurrencer, dine nyheder etc. og endnu et sted som Google vil kunne få mulighed for at finde information om dig, din side, dine produkter, konkurrencer, folks tilkendegivelser overfor disse.
For tror at i fremtiden vil +1'er afgøre i langt højere grad hvor din side placeres i søgeresultater.

Så det er kun at komme i gang og få lavet din Google+ side og få endnu mere besøgende og komme længere op på Googles resultatside.

Flere fordele med Samsung Galaxy S3 - Penge tilbage, gratis spil. bedre service og mere?

Nu ligger Samsung for alvor pres på at deres highend telefon ikke alene skal vælges bare fordi den er verdens bedste telefon, men nu også fordi du får meget andet med i købet.

Hvis i læser denne artikel: http://www.mobilsiden.dk/nyheder/nu-far-galaxy-s-iii-ejere-gratis-spil,lid.23283/
kan i se at man får penge tilbage fra køb, man får for lidt under 100 kr. gratis spil, god service hvis der skulle ske noget med din skærm, plus du får skiftet dit bagcover hvis det knækker.

Det er da rimeligt fedt og god service og jeg må igen tage hatten af for Samsung. De gør det sku egentligt meget godt må man sige.. Jeg var tilfreds bare jeg fik deres telefon, men at finde ud af alt det andet gør det jo ikke værre.

Og som i kan læse i mit blogindlæg:  Samsung Galaxy S3 får Android 4.1 (Jelly Bean) så får man også en opdatering med Jelly Bean senere så man er sikret at ens monster er opdateret, effektivt og kan meget af det nyeste fra Android med en opdatering til Android 4.1 Jelly Bean.

Hvordan kan man undgå at man bare bliver mere og mere glad for sin Samsung Galaxy S3 jo længere tid man har den? Ja jeg ved ikke hvad der skulle være at klage over!

Gratis reperation af Samsung Galaxy S3's bagcover

Fordelene ved at eje en Samsung Galaxy S3 vokser mere og mere.
Jeg bliver gladere og gladere for min jo længere tid jeg har den fordi den telefon simpelthen bare er så fortrinligt lækker.

Nu har Samsung i Danmark så gjort noget som gør at det bliver endnu bedre, for nu kan man GRATIS få repareret bagcoveret på sin Samsung Galaxy S3.

Det er ganske rigtigt at bagcoveret er meget meget tyndt, og skrøbeligt så kan være svært at sørge for det holder og ikke revner uden at have beskyttelse på i en eller anden form.
Nu er det så lige meget fordi Samsung Danmark har valgt at levere god (forventet) service.

tirsdag den 11. september 2012

Holde kompetencerne opdateret på udvikler CV'et


Jeg har for noget tid siden lavet en hjemmeside der skulle give et overblik over mig som profil.
Dette skulle både være på det personlige plan fordi der ofte ikke er så meget plads til det i en ansøgning eller CV, og er stadig noget ret essentielt så besluttede at hvis man ønskede det kunne man læse mere på min side. Dette skulle således virke som en udvidelse af mit CV jeg fremsender fordi meget skal tilpasses til det er det mest relevante der kommer med.
Så for at folk kan se at jeg kan faktisk mere end de "få" 20-30 ting jeg lister på mit CV indenfor system udvikling, webudvikling, databaser, kategorier, udviklingsmetoder, værktøjer og andet så kunne man her læse den komplette liste. Så hvis det vigtigste fra mit udvikler CV så kan de læse mere på min side www.csharpudvikler.dk

Mit problem er nu bare at jeg ikke får data opdateret.. Dette vil sige at jeg har en side hvorpå der står jeg har 4,5 års erfaring med noget, 6 års erfaring med noget andet, men endnu vigtigere dem hvor jeg har 1,5 års erfaring indenfor bliver ikke opdateret.
Dette er problematisk fordi det pludselig ikke afspejler virkeligheden og jeg har derfor besluttet at lave det helt om for at sørge for at det bliver vedligeholdt.

Dette skal gøres ved at i stedet for jeg selv holder styr på hvor mange års erfaring jeg har indenfor C# (csharp), .NET, webudvikling og meget meget mere ved at tænke over hvad jeg har lavet hvornår og hvor osv. så har jeg kommet til en meget mere smart løsning.
Nemlig at jeg vil opbygge det med at alt er erfaring - ansættelser, projekter, kurser, eller andet. Så pludselig skal jeg hægte mine kompetencer på hele perioder eller dele af perioder (som de ovennævnte) som således selv vil kunne vedligeholde disse data og tal for mig.

Således vil jeg kunne sige at under min ansættelse som Systemudvikler hos KMD fik jeg erfaring i hele forløbet med Oracle PL/SQL, og i en begrænset periode fik jeg erfaring indenfor "Java J2EE (Java Webservice)". Dette kan sættes på et projekt eller sige at det er 1/3 af tiden som Systemudvikler hos KMD at jeg fik erfaring indenfor dette (og vil tildele sidste 1/3 periode til denne kompetence).
 Ved at sætte dette op kan man således også nemmere beregne hvornår forskellige kompetencer sidst er blevet brugt, hvor mange års erfaring man har med den, og hvornår den sidst er blevet brugt.

Således vil jeg også kunne spore kompetencer med erfaring og vise indenfor C# hvor kommer din erfaring fra. Du har 3 års erfaring under min uddannelse til datamatiker, 1 år og 3 måneders erfaring som GIS Systemudvikler hos Informi GIS, 1 måneds projekt som Systemudvikler hos KMD Energi i Odense, 1,5 år hos Capgemini som Software Engineer.
Derudover kan jeg så selv tilføje egne definitioner oveni fordi jeg ved at der er noget som er udenfor som ikke er knyttet til en ansættelse eller et projekt. Kan være at jeg har været på kursus eller blot ved at der mangler noget mere her eller her som jeg også har fået erfaring fra.

Samtidigt vil jeg også se hvornår jeg sidst har redigeret i disse, og hvis de ikke er blevet rettet til i 6,7,8 måneder eller mere, vil jeg vise en information på siden om at disse data kan måske ikke være tilstrækkelige og derfor er det vigtigt at kontakte mig for at få mere præcise data.

fredag den 7. september 2012

Gratis AJAX loader billede

Mangler du en et billede til at bruge som din AJAX loader så se på: http://preloaders.net/en/circular
Fantastisk side med gode muligheder for at finde lidt af hvert ganske gratis som kan tilpasses til din side nemt, hurtigt og effektivt.