Javascript herschrijven naar een jQuery plugin nl

Door creator1988 op vrijdag 28 januari 2011 13:04 - Reacties (4)
Categorie: Frontend, Views: 3.742

Wanneer het op 'normale' backendcode aankomt is refactoring en het opnieuw schrijven van delen code welhaast een routineklus geworden. JavaScript is daarin wat lastiger; scoping is minder transparant, dus je breekt eenvoudig bestaande code die wellicht niets te maken heeft met jouw deel; en de flexibiliteit kan tegen je gaan werken. Vandaar een artikel over de wondere wereld van het herschrijven van de JavaScript voor de footer op funda!
http://www.100procentjan.nl/tweakers/viafunda.png

Lees verder »

Bouw eens een API met WCF, deel 3: Domain entities converteren naar API entities nl

Door creator1988 op dinsdag 25 januari 2011 13:58 - Reacties (11)
Categorie: Backend, Views: 2.810

De domain entities die je zelf gebruikt op je site zijn niet noodzakelijk ook de entities die je via je API wil communiceren. Dit kan alleen naamgeving zijn, maar ook het uitsluiten van bepaalde velden of het toevoegen van afgeleide velden. Al snel krijg je code als:

C#:
1
2
3
4
5
6
7
8
9
public ApiObject Convert(DomainObject domain) {
     ApiObject api = new ApiObject();
     api.Adres = domain.Adres;
     api.Huisnummer = domain.Huisnummer;

     if(domain.Makelaar) {
           api.MakelaarNummer = domain.Makelaar.Id;
     }
}

Niet alleen veel werk (geloof me, ik heb op mijn 19e duizenden regels van dit soort code zitten kloppen), maar door alle boilerplate ook nog eens onoverzichtelijk (imagine bovenstaand fragment maar dan met 200 properties!). Goed moment voor expression trees om dit soort code on-the-fly te genereren.

Lees verder »

Bouw eens een API met WCF, deel 2: Autorisatie nl

Door creator1988 op vrijdag 21 januari 2011 14:40 - Reacties (9)
Categorie: Backend, Views: 3.273

Bij een API is toegangsbeperking een fijn idee, zo voorkom je dat bezoekers je hele platform platleggen of kan je contractueel vastgestelde beperkingen afdwingen. Standaardautorisatie zou je kunnen doen via sessies, op IP basis of via een Key. Sessies vallen per definitie af, omdat de gemiddelde API client helemaal geen sessie-informatie kan of wil doorsturen. Op IP basis zou prima kunnen om het maximaal aantal requests te kunnen monitoren, maar je kunt hiermee geen restricties op de API plaatsen. Vandaar dat we hebben gekozen voor een systeem op basis van een key.

Database
In onze database hebben we een heel simpele structuur met een n-n relatie tussen de Users en de Rights.

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Users
--------------------------------------
Id  | Key               | Name
1   | abcde1234af32     | Jan's Mobile Client

Rights
---------------------------------------
Id  | Description
101 | Opvragen koopaanbod

UserRights
---------------------------------------
UserId  | RightId
1       | 101


Lees verder »

Bouw eens een API met WCF, deel 1 nl

Door creator1988 op donderdag 20 januari 2011 14:52 - Reacties (10)
Categorie: Backend, Views: 4.142

Er komt een moment in de geschiedenis van elke contentleverancier dat er de vraag komt om je content anders te gaan presenteren. Van je ‘main’ platform naar bijvoorbeeld mobiel.
http://www.100procentjan.nl/tweakers/api1.png
Probleem: bij een website heb je één centrale server waar je database op draait, en waar je met je favoriete toolkit tegenaan kan praten. Bij een mobiele applicatie is het iets lastiger om een database van 12 GB mee te leveren. Ergo: tijd om je content beschikbaar te maken voor externe leveranciers via een API.

Lees verder »

Waarom je nooit mag toegeven dat je Ruby on Rails hebt bestudeerd nl

Door creator1988 op woensdag 19 januari 2011 14:23 - Reacties (12)
Categorie: -, Views: 5.693

Vanochtend gevonden op mijn bureau n.a.v. mijn comment gisteren met de complimenten van een niet nader te noemen collega die mij al weken probeert lid te maken van de RoR fanclub.

http://www.100procentjan.nl/tweakers/emileklein.jpg