Fasil Hayat's blog

...C#, .Net, Sharepoint, BizTalk, JQuery...
feb
22

Logik for burhøns?

af Fasil | Tags: ,

Den måde man fortolker verden på, bærer meget præg af vores anskuelse af omgivelserne, og da vi som mennesker er meget forskellige, har vi også vidt forskellige fortolkninger. Dog er der ting som er absolutte, som bør have samme betydning uanset perspektiv eller en anden form for kulturel eller religiøs divergens. Når noget er sandt, er der ingen tvivl; ej heller tale om et fortolknings spørgsmål. Logik vil mange også kalde det (særligt Vulcans). Som udvikler eller programmør har man derfor naturligvis en tendens til at adoptere denne måde at afkode tingene på. Derfor er det yderst vigtigt, man som programmør er eksplicit i måden, man afleverer og udtrykker entiteter og deres tilhørende data på.

<value>100</value>
<value>0</value>
<value />


Disse tre eksempler har alle vidt forskellige betydninger, særligt de to nederste. Med værdien '0' har man angivet en forretningsmæssig betydning eller en forretningsmæssig værdi i feltet. Det nederste eksempel giver derimod en indikation om at værdien ikke findes eller ikke er sat i feltet. I mit tilfælde er jeg fx. blevet fortalt, at jeg skal oversætte det nederste som et '0', da det skulle være betydningen af det. Hvad man desværre ikke forstår eller direkte har misforstået er notationsformen. Desuden har man katastrofalt lagt en fortolkningslogik ovenpå, som ikke manifesterer sig ved aflæsning af de tre eksempler, men noget man mundtligt overleverer. Dette er helt klar vejen til fremtidige misforståelser, og brug af notationsformerne på en helt og aldeles forkert måde. Man kan naturligvis tyde tingene i oversættelsen, men ved aflæsing af xml strukturen er man yderligere pålagt en ekstern viden omkring notationformens betydning fra den leverende part.
Istedet for at aflæse skal man yderligere fortolke det.

<value>100</value>
<value /> == <value>0</value>


Her er en glimrende analogi til problemet.

flaske med vand

 Halvt fyldt flaske.
 
 <
value>100</value>

flaske med vand

 Tom flaske.

 <
value>0</value>

flaske med vand

 <value />

 Fortæl mig ikke man ser en tom flaske her...
 Dog skal det fejlagtigt fortolkes i koden som '0',
 hvilket er forkert.

Som man kan se på eksemplet, så gælder det altså om at være eksplicit i sit udtryk, dvs. send et '0' med over som værdi, hvis værdien er '0', og undgå noget fortolkningslogik, som helt sikkert vil falme væk med tiden.

I mine øjne betyder den nederste illustration, at værdien mangler, og det er ikke et spørgsmål om fortolkning, men en absolut konklusion. Den anden særhed i det jeg modtager som data, er at ingen angivelse af noget som helst også betyder, der er tale om noget lig med '0'. Hvordan kan man vide noget er lig med '0', når man ikke kan se det. Med andre ord, man kan ikke vide, hvad der mangler, når man ikke kan se, det mangler. Det hele kan gå hen og blive ret kryptisk at forklare, men det er fortolkningslogik, der er blevet pålagt strukturen. Jeg skal vide, hvis jeg ikke ser noget som helst på et bord, så er der altså tale om en tom flaske, fordi jeg ved, der kan stå en flaske på bordet. Sagt på en anden måde null er aldrig det samme som 0.



nov
24

VirtualBox

af Fasil | Tags: , ,

VirtualBox er et udemærket lille værktøj til at oprette / køre virtuelle miljøer med. Jeg bruger fx. VirtualBox på min Ubuntu maskine, hvorpå jeg har instanser af andre operativsystemer. Jeg har fx. en Windows Server 2003, hvor jeg har en Team Foundation Server installeret. Denne virtuelle maskine kører som en dedikeret buildserver, og bygger mine løsninger en gang i døgnet. Jeg kommer til at skrive et indlæg, der beskriver denne konstellation og kommer under emnet buildserver og continueous integration (CI). Dette er blot en forløber for emnet, og derfor er dette indlæg også kategoriseret under emnet 'Arkitektur'.

Virtualbox er nemt at anvende og ganske gratis. Det er for ikke så længe siden blevet købt op af Oracle, og lad os håbe udviklingen ikke stopper af den grund. VirtualBox er prekonfigureret til understøttelse af en del populære operativsystemer som fx. Solaris, Ubuntu, Suse, Win XP, Win7 m.fl., som man uden problemer kan køre virtuelt. Herudover kan selve VirtualBox programmet ligeledes afvikles på en del operativsystemer. Sørg blot for at downloade den rigtige 'installer' for det operativsystem, man ønsker afvikling af VirtualBox på.

Kort installations video:

Hent VirtualBox her.

! Sørg for at vælge 'Bridged adapter' ved opsætning af netværket til den virtuelle maskine. Den vil herefter få tildelt en ip adresse, og være tilgængelig på resten af netværket.



nov
19

principio

af Fasil | Tags: , ,

Dette er min første blog. Her vil jeg gå dybden med det, jeg til dagligt arbejder med.

Emner der vil blive berørt:

Quality Assurance
Automated tests => TestComplete
NUnit => Testdriven.net
Moq
NMock
Rhino Mock

Buildserver
MS Build => Powertools
Nant
Hippo.net
Cruisecontrol.Net
TeamCity

Software Design Patterns
Domain Driven Design
3-tier architecture
Service Oriented Architecture => BizTalk, MSE
Model View Controller (MVC)
Inversion of Control (IoC)
Windsor Castle
Spring.net
Autofac
UML tools
NClass
Enterprise Architect
Star UML
AJAX
JQuery
JSON
Source control
Team Foundation Server
Subversion => Ankh
Continueous Integration
Cruisecontrol
Beyond compare
Logging
Enterprise Library
Log4net
User interface design
Axure
Pencil
Enterprise Architect
Development methodology
SCRUM
Analysis => Design =>
Implementation =>
Test => Release

Management
Projectleaders / SCRUM masters
Teamwork
Micromanagement

Change management
Handling RFC's
ITIL

Database modelling
ERwin
Enterprise Architect
Content management
Sharepoint 2007 / 2010
Umbraco
.Net Nuke
Sitecore

Additional tools
CKEditor
Resharper
Reflector
FXCop
Testdriven.net
Royal TS
U2U CAML Creator
Sharepoint Designer
SPDisposeCheck

Software documentation
NDOC / ImmDoc.NET
GhostDoc
 Misc
VirtualBox
Ubuntu 10.10
Get PublicKey Token plugin
Powershell 2.0



Fasil Malik Hayat

Developer
.Net, WCF, Sharepoint, MOSS, Biztalk, JQuery.

linkedin facebook twitter plaxo google+ grooveshark boxee
fasil

Education

fasil

Bachelor of Science (Honours)
De Montfort University, Leicester.

Fag: Java, MVC, Information Strategy, ITIL

Microsoft Certified Technology Specialist

Skills

.net vs2010 - C# sharepoint sql server jquery ubuntu java netbeans


  

Sign in