tirsdag den 7. juli 2015

Udviklersiden CSHARPUDVIKLER.DK til ny standard


Nu er udvikleren, Laurits West, ved at få mere og mere Umbraco (C#.NET) under neglene, og det gør at der nu er nye muligheder.

Min udvikler side www.csharpudvikler.dk er mit personlige udvikler CV, hvor jeg nu er ved at give det en ordentligt overhaling for at få det mobiltilpasset så det har responsive design så den tilpasser sig mobile devices.
Derudover bliver det en one-page -side som skal levere alle data på en side og nemmere skabe overblik for brugeren. Ved at have alt på en side, forsøger jeg at sørge for at folk læser dele som de ellers ikke ville læse.

Derudover så forsøger jeg at få en større sammenhæng ved at linke ting sammen.
Så når du ser på mine kompetencer, så er det dem der er brugt i projekter og i ansættelser, som derfra giver hvor mange års erfaring jeg har med det.
Når man så ser på fx en ansættelse vil man kunne se antallet af kompetencer brugt, og hvis man trykker på dem vil man kunne se navnene og ved tryk på dem komme til kompetencen hvor man kan se detaljer for den.

Derudover gør Umbraco (C#.NET) det også nemmere for mig at ændre indhold når jeg først har designet og flowet på plads. Så nu fokuserer jeg på at få det hele til at spille ordentligt sammen og se pænt ud.

Udviklersiden vil opleves som mere "levende" fordi der sker ting undervejs når man kommer ned igennem indholdet, som gør indholdet interessant.
Jeg leger lidt med nogle ideer om formatering og opstilling som skal bryde nogle mønstre imens man scroller ned af siden, så man får fokus på forskellige dele.
Jeg er ikke nået i mål endnu, og der er stadig en del jeg gerne vil have lavet, men det er godt på vej og udsigten er virkeligt god.

SCRUM - Vores modificerede tilgang med visuel projektledelse


Der er rigtigt mange der kører SCRUM, og rigtigt mange der ikke ved hvordan de skal gøre det.
Jeg personligt ser det som et middel til at skabe overblik, specielt hvis man bruger grafiske virkemidler så man nemt kan se hvilke ting der er i hvilken state.

Så vores SCRUM board er opdelt i forskellige faser, så kan se om en opgave er i gang, om den er tildelt en udvikler, om den afventer nogen, om den er til test.


Derfor har vi følgende bokse:

NAVN       I DAG       TEST HOS OS       TEST HOS KUNDE       AFVENTER KUNDE       AFVENTER OS

Så i NAVN står udviklerens navn, Laurits. Her sættes de kort som jeg skal løse i sprintet, og som jeg ikke er gået i gang med endnu. Så ved sprintstart flyttes der løbende opgaver ned til mig fra en boks med opgaver eller "smut-sager".
I feltet I DAG, er sat kort på med de opgaver jeg arbejder på i dag.
TEST HOS OS betyder at vi er ved at teste det. Vi har vores egne testere, eller kan være udvikleren der er ved at gennemteste det hvis vi ikke har en decideret tester til det.
TEST HOS KUNDE er at vi nu har testet og set det fungerer, så nu får kunden lov at teste.
AFVENTER KUNDE er de opgaver hvor der mangler afklaring - fx i bad om den her funktionalitet på den side her der ligner den jeg skal lave nu, men skal ikke ha denne. Er det meningen? Eller de skal afklare ting.
AFVENTER OS er hvis vi har at en anden person skal levere servere, der skal laves noget database noget, der skal ses på nogle problemer. Her kommer de opgaver som udvikleren ikke selv tager sig af, men andre i firmaet tager sig af og vi venter på.

Derudover har vi boksene:
OPGAVER       SMUT       DONE

OPGAVER er de opgaver der er indmeldt til sprintet som vi bør se på.
SMUT er opgaver der er mindre som man kan tage imellem andre opgaver hvis man lige har en halv time og mangler at lave noget.
DONE er de opgaver der er færdig testet hos kunden, og accepteret. Når de kommer i done, så aftales der med kunden hvornår de ønsker de kommer i produktion.

torsdag den 2. juli 2015

Dokumentation - One standard to rule them all

Dokumentation er altid besværligt, og kunden vil ofte gerne have noget på skrift inden vi går i gang for at vise du forstår det, og i er enige, og de kan komme bagefter og sige vi har aftalt der står dette i designdokumentet, men sådan ser det ikke ud, eller sådan virker det ikke.

Så er udfordringen så altid at man helst skal have alting med, og her kommer et forsøg på at få det hele med:

1.0 Introduktion til designrapporten

1.1 Revisionshistorik

Væsentlige ændringer i dokumentet noteres.

Version
Dato
Ansvarlig
Beskrivelse




1.1       Referencer

Referencer til andre rapporter.
Dokumentnavn
Designguide til "den nye superapp"

2.0         Beskrivelse af websiden

2.1       Formål

Kort beskrivelse af websidens formål.

2.2       Design

2.2.1        Skærmbilledet

Kort beskrivelse af skærmbilledet med billede eksempler.

2.2.2        Designstandard

Beskrivelse af elementer som ikke er beskrevet i designguiden.
Websiden er designet ifølge designguiden til d-service.

Designskabelon

Skrifttyper

Farvekoder

Afstande

Ikoner

Knapper

Elementer

Faktabokse

Andet

2.2.3        Design af print

Er der mulighed for print på siden, beskrives designet af printet med billede eksempel.

2.3       Rettigheder

Rettigheder på websiden beskrives.

2.4       Tekster

Formuleringer som hardkodes, samt elementer hvor der benyttes tekster som kunden skal kunne administrere beskrives.

2.5       Links

Oversigt over alle links samt referencer. Dette indebærer også bogmærker.

2.6       Print

Beskrivelse af print-funktionen uden billede eksempel. Hvordan skal den opføre sig.

2.7       Pop-up, tooltip og advarsel

2.7.1        Pop-up

Kort beskrivelse af hvornår pop-upper vises. Beskrivelse af tekster og knapper er beskrevet i designrapporten ”Pop-up, tooltip og advarsler”.

2.7.2        Tooltip

Kort beskrivelse af hvornår tooltips vises. Beskrivelse af tekster er beskrevet i designrapporten ”Pop-up, tooltip og advarsler”.

2.7.3        Advarsel

Kort beskrivelse af hvornår advarsler vises. Beskrivelse af tekster er beskrevet i designrapporten ”Pop-up, tooltip og advarsler”.

2.8       Funktioner, usecase og behandling på backend

2.8.1        Funktioner på websiden samt usecase

Beskrivelse af funktionerne på websiden samt usecases.

2.8.2        ”End-to-end”-usecase

Flowbeskrivelse med tilknytning til øvrige programmer.

2.8.3        Overordnet beskrivelse af behandling på backend

tirsdag den 23. juni 2015

Dynamiske properties - ikke skulle ændre din database eller objekter


Det kan være en udfordring når man definerer et system, at vide på forhånd alt det skal indeholde.
Derfor er det ikke unormalt at efter noget tid hvor systemet er blevet brugt, så finder man ud af hvad man gerne vil have ændret.
Det kan resultere i ændringer i dine objekter, og i din database struktur.
Alt efter hvilke ændringer det er kan det være rigtigt problematisk.

Der er dog en måde at opbygge en struktur på som gør du altid nemt kan ændre, slette, tilføje i din funktionalitet og krav uden at skulle lave ændringer i din database eller objekter absolut.

Objekter og properties.

Et objekt er dit samlingspunkt, og kan bruges til alt. Det kan være forskellige kontroller, det kan være en objekttype du skal gemme i databasen, eller hvad du nu end ønsker.
Så til hvert objekt har du en samling af properties, som er en tekstværdi. Du kan selv udbygge med at sætte type på og nogle automatiske konverteringer hvis du ønsker.
Hvis din database skal kunne håndtere billeder, skal du selvfølgelig have et felt til det også og gemme dem i.

Fordelen her er at fx hver kontrol du har, den svarer til et objekt, og du kan så sætte 0 - * properties til den, og nogle kan måske redigeres og andre kan ikke. Uanset hvad indput og felter, og billeder etc. af værdi den har så kan du altid ændre det fra kontrol til kontrol, og kan ændre en eller flere kontroller uden at skulle huske at køre en masse database scripts i rækkefølge for at kunne få din database op på niveau.

Hvis man bruger et CMS, så er dette ofte også tilfældet - ligesom når man bruger Umbraco (.NET CMS system), hvor man kan tilføje & fjerne properties til de objekter og strukturer du nu opbygger.

Gemme "alle" valgte så det altid fungerer - ved at gemme ingenting


Det er meget normalt man har nogle valg med at sætte begrænsninger og adgange op via nogle roller eller andre begrænsninger.
Oftest vil man så gemme dem som der er valgt, og hvis alle er valgt (alle har adgang) så gemmes alle muligheder.

Er dette nu også så smart?

Hvis man gemmer "", og ved at dette betyder "alle", så har du aldrig et problem den dag at der tilføjes flere muligheder, og skal ikke huske at sætte det op igen med de ekstra muligheder.

Hvis man ikke vælger noget, vil man få en fejl.
Hvis man vælger mindre antal end totalt antal, gemmes de værdier der er valgt.
Hvis man vælger alle, gemmes "".

Fx hvis du sætter et stort system op, og mange rettigheder mange steder, og så tilføjer en mulighed så vil du ikke skulle rette en masse steder. For de er automatisk med, ved at du ikke direkte siger hvilke den indeholder - fordi den indeholder alt der er tilgængeligt uanset hvornår det er og uanset hvad der er nu og der er i fremtiden.
Så kan man i præsentationslaget altid ændre det til at når man får "" tilbage, så vises alle muligheder som valgte - undtagen når det er nyoprettelse.

torsdag den 11. juni 2015

Ros dine medarbejdere for godt arbejde!

I går fik jeg en ret stor ros af min chef, som jeg havde fået et par dage før, men som jeg ikke vidste hvor stor den ros var. Det er virkeligt en fed følelse!

Vi havde i starten af ugen holdt et møde med vores kunde, og her var IT-direktøren med fordi hun mente vores estimat på en samlet opgave af andre små opgaver var lidt vel stor.
Derfor skulle hun med for at se hvorfor det var så stort, og hvad hendes medarbejdere bad os om at lave.

Vi gennemgår så en rapport med en masse kommentarer, og går sitet igennem de havde ønskerne til, og imens sidder jeg og noterer deres ønsker kort. Mange af dem er noteret i dokumentet, men de større noterer jeg alligevel for at have et overblik.
Da vi skal til at slutte mødet siger IT-direktøren så "Godt hvem har en liste med hvad der skal laves?", og jeg ser rundt på mine kollegaer, og min afdelingsleder uden nogen umiddelbart melder sig, så jeg siger "Jamen jeg har en liste, jeg gerne vil præsentere", og hun nikker til mig med et smil.
Jeg gennemgår slavisk

Da mødet så er slut, skal vi spise. Vi spiser og
går op og arbejder videre, hvor vi skal have SCRUM og gennemgå dagens opgaver. Her ser min chef med nærmest funklende øjne på mig og siger "Virkeligt godt gået i dag", og jeg smiler og siger tak.
Tænkte det var da fedt at han lagde mærke til jeg gjorde det godt, og tænkte over de små ting som mine kollegaer ikke havde tænkt over. Det var jo nok fordi det gav et godt professionelt indtryk af vi havde styr på det, og er jo altid det du ønsker for din kunde. Generelt var der også god afslappet dialog omkring løsninger som jo også er dejligt.

Så gik der et par dage og midt på dagen kommer min chef og siger han skal lige tale med mig og min kollega inde på det kontor jeg sidder med andre kollegaer. Han lukker døren og vi tænker alle Hvad nu fordi det virkede så seriøst, og det var så at han havde iagttaget vores nye projektleder (som også havde været på mødet), og set at hun ikke fulgte specielt meget med i mødet. Hun var ikke professionel, og virkede heller ikke interesseret i at lære mere om det område hun snart skulle bestyre.
Han kigger så over på mig og siger "Du ved hvad jeg taler om", og jeg bliver lidt forundret for jeg aner faktisk ikke hvad der er grunden. Han fortæller så de ting han har observeret, og jeg måtte jo erkende det havde jeg ikke set, og inden jeg når at fortælle det var fordi jeg faktisk ikke havde observeret vores nye projektleder fordi jeg var fokuseret på vores kunde og de medarbejdere der var med derfra, så siger han "Nej for du var fokuseret på kunden" og griner med et stort stolt smil.
Det var meget nemt at læse at det store smil fra to dage tidligere og "Du gjorde det virkeligt godt i dag" var fordi han kunne se hvordan min komplette koncentration var på kunden.
Nu fik jeg forklaringen, og samme store smil var der meget tydeligt og han var meget tilfreds med mig for jeg var faktisk så optaget af at levere en professionel oplevelse at jeg ikke opdagede at andre deltagere gjorde det dårligt.
Det kan jeg jo så kun være meget stolt af.


Men derfor er det vigtigt du fortæller dine medarbejdere når de gør det godt!
Forklar dem meget gerne indgående HVAD de gjorde godt ned i detaljer flere steder, og hvad ved det der gør dig så glad. Det er ikke sikkert de har fanget de samme ting som dig, og derfor ikke får alle detaljer med.

Det er en stor motivator for dine medarbejdere, og giver fornyet energi. Det gør de føler sig stolte og ved at din chef ser du leverer topkvalitets arbejde. Det er ikke altid til at vide at du gør det godt.
Hvis du så vælger at give dem mere i lønningsposen af den grund, så husk igen at forklar dem hvorfor og i detaljer hvad det er de gør som har givet dem denne lønstigning.


Mange af dine medarbejdere ligger måske heller ikke selv mærke til når de gør det godt, fordi sådan gør de jo altid, men fortæl dem de gør det godt. Så er du sikker på de ved det, og at de værdsætter at få det at vide, og du får nok også mere produktive medarbejdere ud af det.

Jeg er en meget stolt og ekstra produktiv medarbejder i øjeblikket, for mit energiniveau er kommet noget højere op - fordi jeg fik forklaringen på HVAD der var godt.

mandag den 1. juni 2015

Browser compability - Check din side i flere browsere


Når man udvikler en side kan man ikke altid regne med at du som udvikler kan bruge det nyeste nye.
Du bliver nødt til at tage udgangspunkt i din laveste fællesnævner, og derfor det er farligt at gå efter for mange nye teknologier som ikke er bredt understøttet af alle browsere, brugere og devices.
Fx Node.js kan være et problem hvis du får brugere ind der ikke understøtter javascript, og bør håndtere det.
Det samme gør sig gældende med dit design, og dine sider kan komme til at se meget underlige ud i forskellige browser versioner. Altid noget som kan være besværligt for udviklere at skulle gennemteste alt i flere versioner af samme browser, og flere forskellige browsere.
Der findes dog en hjælpende hånd til at teste en side i flere browser versioner, og den hedder http://netrenderer.de/.

Her har du mulighed for at teste at din side ser korrekt ud i forskellige versioner af IE (Internet Explorer), og har mulighed for at style dine elementer anderledes så de opfører sig og ser korrekt ud i alle versioner af browsere.

torsdag den 30. april 2015

ASP.NET Webforms udfører ikke load/init på child-child-kontroller


Har lige haft en sag med en kollega hvor vi i ASP.NET Webforms bruger kontroller, som så er nested under en anden kontrol, som ikke får kørt onInit eller onLoad, men kun render.

Det ser ud som om når det er en kontrol under en anden kontrol, så kører den alt på den første kontrol, men på child-child-kontrollen har den kun det renderede resultat og kører kun Render på den.
Det ser ud som om at ved Render af den første kontrol, så kører den Render på den underliggende kontrol og derefter tager det og putter ind i den første, men man kan ikke debugge og ændre noget i onLoad eller i onInit.

Det vi forsøger at lave er at tilknytte ressources til hver kontrol så CSS og JS, Javascript, bliver knyttet til hver kontrol hvad den har brug for.
Det bliver bare ikke udført korrekt når det er en kontrol under en anden kontrol.

onsdag den 22. april 2015

Mere effektiv: Dont react,respond!


Her er dagens effektive råd

"Tæl til 10 før du svarer ja eller nej til alle forespørgsler i dag. Tænk over dit svar og ikke giv din første reaktion."


Det gør du får tænkt over hvor svært det er, hvad skal du ellers, eller hvad der end kunne være. 

onsdag den 15. april 2015

Spørgsmål til jobsamtalen


Der er mange ting der er vigtige at få afklaret til en jobsamtale, for at se om du passer ind, og om det er det rigtige sted. Fx hvilken ledelsesstil og arbejdsrutine er der.
Det er ting som er vigtige at tænke over inden du siger ja til jobbet, og som kan vise om du overhovedet gider være der.

Hvis du er forberedt så går det meget bedre. Gerne øv dig og tænk forud, så du kan være forberedt.
  1. Hvad forventes af mig de første 30 dage?
  2. Hvilke mål ses som succes i slutningen af året?
  3. Hvor stor udskiftning har i af personalet i firmaet og i afdelingen?
  4. Hvordan er jeres rejsepolitik til kunder? Skal man ligge ud og tage offentlige transportmidler? Er der taxiboner? Bruge egne transportmidler og så blive kompenseret?
  5. Hvad får andre i en lignende stilling i løn her i virksomheden? (Hvis du vil være lidt fræk omkring lønforhandling)
  6. Hvilke muligheder tilbyder i for videreuddannelse?
  7. Hvordan bliver mine præstationer målt og bedømt? Få gerne noget konkret som er målbart og som kan sættes som et fast mål, så du ved helt præcist hvornår du gør det godt.
  8. Hvilke muligheder er der for avancering for en som mig, i den stilling jeg ansøger og hvad er tidshorisonten på dem? (Viser du er interesseret i stige i graderne og løn, og det er noget der er vigtigt for dig - stil selvfølgelig kun spørgsmålet hvis du gerne vil avancere)
  9. Er du i tvivl om jeg egner mig til stillingen?
  10. Hvornår kan jeg forvente at høre fra jer igen?
  11. Hvad ville jeres medarbejdere sige var grunden til dette er en arbejdsplads de forbliver på?
Forbered dig også gerne på de spørgsmål du kan få
" Hvad er det ene projekt eller opgave som du ville se som din største succesopgave/projekt i din karriere indtil nu? "
Dette er et godt spørgsmål, der kræver forklaring og ikke ja eller nej. Det kræver omtanke og formulering, og giver noget værdi. Når du ved det giver værdi for den der interviewer dig, så ved du også hvordan du kan selv afgive denne værdi til dem som en gave og vise indsigt og bruge det som salgsorgan for at sælge dig selv til jobbet.

Så lav en serie opfølgningspørgsmål til dig selv, så du kan få detaljerne med.
  • Kan du give mig et detaljeret overblik omkring det du opnåede? 
  • Fortæl mig omkring firmaet, din titel, din position, din role og teamet der var involveret.
  • Hvad var det i reelt opnåede?
  • Hvornår var det, og hvor lang tid tog projektet?
  • Hvorfor blev du valgt til opgaven?
  • Hvad var de 3-4 største udfordringer du havde undervejs, og hvordan håndterede du dem?
  • Hvilke steder gik du længere for at opnå det, eller hvor tog du initiativ?
  • Hvilke dele af projektet nød du virkeligt?
  • Hvilke dele af projektet nød du ikke så meget, og hvordan håndterede du dem?
  • Fortæl mig detaljeret om hvordan planen var, hvordan den holdt i virkeligheden og hvordan du forholdte dig til den?
  • Fortæl mig hvordan du håndterede andre, eller indspirerede dem, med masser af eksempler.
  • Hvordan voksede du som person af det?
  • Hvordan var miljøet og ressourcerne? Hvordan forholdt du dig til det?
  • Hvordan blev du værdsat for din indsats, og resultat og hvordan havde du det med det?
  • Hvilke tekniske kompetencer skulle bruges undervejs, og hvordan gjorde du brug af dem, med enkelte eksempler?
  • Hvilke er de største fejl du lavede undervejs?
  • Hvad er dine styrker?
  • Hvad er dine svagheder?
  • Hvad gør dig anderledes end andre kandidater? Hvad kan du tilbyde os som vi ikke kan få hos en anden kandidat?
  • Hvorfor er du interesseret i at arbejde for os?
  • Hvor ser du dig selv om 5 år? 10 år?
  • Hvorfor forlod du dit nuværende firma?
  • Hvorfor er der et mellemrum imellem de to ansættelser på de to datoer?
  • Hvilke tre ting var der din tidligere manager gerne ville have du forbedrede dig på?
  • Hvilke tre ting ville din tidligere manager sige du var god til?
  • Er du villig til at skifte lokation?
  • Er du villig til at rejse?
  • Hvad er dit drømmejob?
  • Hvordan hørte du om denne stilling?
  • Hvad ville du opnå indenfor de første 30/60/90 dage i jobbet her?
  • Diskuter dit CV - hvad er godt og hvad er skidt? Hvor er der for meget information, og hvor er der for lidt information?
  • Synes du din uddannelsesmæssige baggrund er passende til jobbet? Over/-underkvalificeret? Hvorfor?
  • Beskriv dig selv
  • Hvordan håndterer du svære situationer?
  • Hvorfor skulle vi ansætte dig?
  • Hvorfor leder du efter et nyt job?
  • Ville du arbejde i weekender og helligdage?
  • Hvordan ville du håndtere en vred eller besværlig eller krævende kunde?
  • Hvad er dine lønkrav?
  • Giv et eksempel hvor du gik over kravene til et projekt.
  • Hvem er vores konkurrenter?
  • Hvad er din største fejltagelse i din karriere indtil nu?
  • Hvad motiverer dig?
  • Hvem er dit idol og inspiration?
  • Fortæl om en gang hvor du var uenig med din chef. Hvad gjorde du? Hvad gjorde han? Hvad burde og han have gjort?
  • Hvordan håndterer du arbejdspres?
  • Hvad er navnet på vores CEO?
  • Hvad er dine karriere mål?
  • Hvad får dig op om morgenen?
  • Hvad ville en der har arbejdet under dig eller sammen med dig, sige om dig?
  • Hvad var din chef's styrker og svagheder?
  • Hvis jeg ringede til din chef nu og spurgte ham hvilket område du skulle forbedre dig på, hvad ville han så sige?
  • Er du en leder eller en der følger efter?
  • Hvilken bog har du sidst læst for sjov? (For at se om du slapper af med noget)
  • Hvad er en af dine kollegaers kæledyrs navn? (For at se om du engagerer dig i folk omkring dig)
  • Hvilke hobbier har du?
  • Hvad er din favorit hjemmeside?
  • Hvad gør dig dårligt tilpas? Højder? Vand?
  • Hvis du skulle fyre nogen, hvordan ville du så gøre det?
  • Hvad kan du bedst og mindst lide ved at arbejde i denne branche og industri?
  • Ville du arbejde over 40 timer om ugen?
  • Hvilke spørgsmål har jeg ikke stillet dig?
Når du har besvaret følgende spørgsmål, kan du også se på hvilke ting der er vigtige at fortælle om til din jobsamtale. Så er du klar til at stille de kritiske spørgsmål, og klar til at forklare det som sikrer dig jobbet i tilfælde af du gerne ville have det.

Derudover bør du også gøre et indtryk ved at spørge din interviewer et par spørgsmål. Det viser du har interesse i firmaet og din kommende arbejdsplads, og gør dermed et indtryk de kan huske. Dette kunne være:
  • Hvor ser du den afdeling jeg skal arbejde i om 3 til 5 år?
  • Har direktionen nogen retningslinier for hvor de vil hen med firmaet?
  • Hvordan er min nærmeste leders lederstil?
Din krog
Hver interviewer har sine noter og skal gerne gå tilbage til dem for at huske detaljer om dig.
Hvad har du som gør de kan huske dig? Manden med de skæve fortænder? Ham i de røde bukser? Den ustyrlige latter? At du gik i meget fint tøj og butterfly i en vild farve?
Næsten alle mennesker har noget som andre husker dem på, og ved at vide hvad din er, kan du udnytte det til at stå ud og blive husket. Ved at stå ud, så kan de huske dig og de vigtige ting om dig nemmere - i den forbindelse gør det ikke noget de husker dig for dine flyveører, for de er ligeglad med dem og vil ansætte dig alligevel, men det vigtige er at de husker DIG og det du sagde til dem, så du hurtigere bliver husket når de tænker på ansøgere. Chancen for at blive valgt er større når du nemt huskes, end alle de andre kandidater som er lige så dygtig som dig som er dine konkurrenter.

Samme princip gør sig gældende ved at sende din skriftlige ansøgning på farvet papir så det nemt kan ses i forskel og derfor huskes meget nemmere.

torsdag den 19. marts 2015

Fjerne blå markering i Chrome


Outline: 0;

Det er noget browseren selv viser og laver, og er ikke din border for den ændres ikke ved at sætte andre ting på. Så selv med border: 0px solid white; så vil der stadig komme den blå markering, men du kan overstyre det med outline.

"hr" skal have border og ikke baggrundsfarve til Chrome print


Hvis man bruger en <hr> og den skal vises i Chrome på print så kan du ikke nøjes med at sætte en background-color på din <hr>, men du skal sætte en border på for at den kan ses når du printer det.
Det er underligt for den kan ses på websiden, men når den skrives ud fra browseren så forsvinder den helt desværre. Hvis man så sætter en border på 1px solid black og background-color: transparent eller en farve hvis du kan det, så vil den komme ud. Det er meget underligt, men det er sådan det virker.

Ikke brug størrelse "pt" til chrome (point/punkt til ting der skal have farve)


Har netop prøvet at lave en border på 0.5pt, som helt forsvandt i Chrome browser.
Den svarer til samme størrelse som en 1px størrelse border, men af en eller anden grund så vises den ikke i Chrome.

Skulle lave en kvittering og efterfølgende et print, og kunden opgiver sine mål i pt, men desværre forsvandt denne linie under overskriften totalt i Chrome. Efter at have lavet den om til 1px så kom der ensartede resultater på alle browsere.

Så pas på med at bruge pt til ting der skal have noget farveindhold i, for det forsvinder med denne størrelsesangivelse i Chrome.

torsdag den 12. marts 2015

.replace i javascript erstatter kun første indeks


Det man skal vide med metoden .replace er at den tager kun første indeks ([0]) og laver replace på.
Derfor hvis du fx har teksten "5.000.000,00" som du gerne vil parse til float i javascript, og derefter så skal du lave det om til et format som den kan forstå korrekt og parse til float.
Dermed skal du fjerne "." som tusindtals-adskiller, fordi i float er det et komma. Hvis du ikke gør det vil dit float-tal blive 5,00.
Derfor laver du først erstat ALLE "." med ingenting, og erstat "," med "." og derefter lav en parseFloat for at give det korrekte tal.

En nem funktion der kan hjælpe dig i din replace er:

function (valueToReplaceIn, valueToFind, valueToReplaceWith) {
                while (valueToReplaceIn.indexOf(valueToFind) >= 0) {
                    valueToReplaceIn = valueToReplaceIn.replace(valueToFind, valueToReplaceWith);
                }
                return valueToReplaceIn;
            }

Så længe den kan finde det du forsøger at replace i strengen erstatter den det, og vil derfor gradvist få et nyt indeks som indeks 0 ([0]) at replace på, og derved udføre det på alle steder i strengen.

mandag den 9. marts 2015

Jeg er så glad for Umbraco (C# .NET)


Efter lidt mere oplæring i Umbraco er jeg ved at blive endnu mere vild med det.
Jeg var ved at opbygge mit eget CMS hvor jeg kunne få min egen side til at holde styr på hvor længe jeg har erfaring med forskellige kompetencer, og hvor længe jeg har erfaring generelt.
Efter at have fået det basale på plads faldt det dog hurtigt til et fornuftigt niveau, da jeg kunne se jeg skulle udvikle fortrinsvis meget for at kunne vedligeholde det og ikke bare præsentere det. Det havde jeg ikke lige tid og overskud til efter at have overtaget "nyt" hus som også tog tid.
Efter at have haft et ønske om at lære Umbraco i lang tid, har jeg endeligt fået muligheden igennem en bekendt, og jeg bliver bare endnu mere glad når jeg kan se hvor nemt det er at knytte ting sammen i min model.
Lige nu har det stort set aldrig været nemmere for mig at rette tekster, billeder, opbygning af nye features, og få alt kædet sammen på en nem intuitiv måde. Det har jeg nu en nem måde at gøre på, og jeg kan nemt ændre de informationer og udtryk jeg vil komme ud med.
Fx er det utroligt nemt at knytte mine ansættelser, projekter, uddannelser sammen med mine kompetencer og derved måle hvor mange års erfaring jeg har med noget. Derudover bliver det ligeledes nemt på en ansættelse at vise hvilke kompetencer jeg har brugt og linke til dem, på samme måde som med projekter.

Det gør jeg kan migrere hele min håndlavede side over i Umbraco på meget kort tid i et andet design.
Siden bliver nu en one-pager som vil give dig alt den information du har i et flow og ikke på undersider, og derfor skal jeg have noget javascript til at sende dig til de sektioner på one-page-siden du nu har valgt.