webdevkid.wordpress.com is niet meer
Ik vond het al langer tijd om dit handeltje op te doeken en dat doe ik dan ook bij deze. Bij deze dank ik alle personen (inclusief spinnen en bots) die deze website hebben doen floreren *ahum* (het meest aantal personen simultaan online was 11 denk ik) en graag verwijs ik u dan ook door naar het nieuwe http://ignace.wordpress.com waar ik zelf (of de persoon die voor mij moet doorgaan) u zal voorzien van een meer intellectueel getinte en relevante inhoud.
Hier nog een leuk Dilbert plaatje, peace out
Zend Framework Dependency Tracker
Wie met het Zend framework werkt weet dat het geen lachertje is wanneer je werkt met shared hosting aangezien je dan steeds de volledige 22 mb mag uploaden. Daarom heb ik dit klein tooltje gemaakt dat je toelaat om alleen de bestanden (en dus klassen) van Zend over te nemen die je daadwerkelijk nodig hebt.
Je kan hem hier downloaden:
http://rapidshare.com/files/257140476/dependency_tracker.zip
En wie nieuwsgierig is naar de code kan deze hier bekijken:
http://pastebin.com/f379f3c05
Deze code is zoals gewoonlijk niet uitgebreid getest (het werkt op mijn lokale webserver, dus dat was voldoende
) Moest je problemen hebben mag je me steeds contacteren natuurlijk
Hoe te werk gaan:
Download het tooltje, en unzip het in je lokale webserver. Open dependency_tracker.php en pas chdir() aan zodat deze verwijst naar de project map en require_once() zodat deze verwijst naar het bootstrap bestand. Zorg dat je webserver draait en navigeer dan naar de map op je localhost (http://localhost/dependency_tracker/dependency_tracker.php). Deze runt en normaliter krijg je dan de inhoud van het project waarvan je de dependency op zf wou nagaan. Ga nu terug naar de dependency_tracker map (d:/webserver/dependency_tracker) en op de library map daarin vind je nu een Zend map kopieer/knip en plak deze nu in de library map van je project.
Note: Ik heb het zend framework in mijn include_path staan en niet in mijn project map zelf. Normaal zou dit ook moeten werken als het framework in de project map zelf zit, maar dit is niet getest geweest. U weze gewaarschuwd
Zend Framework URL Resolutie voor PHP 4
Voor degene geïnteresseerd om de url resolutie te gebruiken dat het zend framework gebruikt kan deze op onderstaande url vinden. Dit laat je toe om url’s te gebruiken, zoals:
/ => array ( module => default, controller => index, action => index )
/index.php/users => array ( module => default, controller => users, action => index )
/index.php/users/edit/id/1 => array ( module => default, controller => users, action => edit ); params => array ( id => 1 )
Edit: Code is nu echt volledig php 4, dank u Stijn
http://pastebin.com/f12cbc64c
Content Negotiation Klasse
Voor degene geïnteresseerd om hun applicatie op te smukken met content negotiation heb ik een kleine klasse geschreven. Je kan deze vinden op:
1 => 2, 3 => 4, ..
Voor één van de projecten waar ik momenteel aan bezig ben moest ik het 1ste element uit een array toekennen aan het 2de element en dan verdergaan vanaf het 3de element om daar het 4de element aan toe te kennen. Moeilijk is dit niet maar ik wou eens weten op welke manieren dit kan verwezenlijkt worden. Ik heb 2 manieren gevonden:
1) d.m.v. een Iterator
for (; ($value = current($array)) && next($array); next($array)) {
$matches[$value] = current($array);
}
2) d.m.v. array_shift()
for (;($value = array_shift($array));) {
$matches[$value] = array_shift($array);
}
De 2de manier is beter als je werkt met oneven getallen maar je array is wel leeg nadat je er bent doorgegaan.
Stilstaan is achteruit gaan
Ik gebruik Google Reader om de diverse feeds waarop ik geabonneerd ben te lezen, in totaal zijn dit er zo een 38 en het aantal artikelen dat ik lees kan dan al snel oplopen tot 50 of meer. Door het lezen van deze artikelen word ik op de hoogte gehouden van wat er leeft. Ik word niet alleen op de hoogte gehouden van wat er leeft, ik krijg ook een indruk van hoe het er aan toegaat op de werkvloer.
Deze laatste is wat het onderwijs enorm mist, je studeert maar je hebt geen idee in wat soort sfeer je zal terecht komen. Bijv. in België zijn er veel rechters kwaad omdat hun straffen niet worden uitgevoerd, jij als student rechten hebt daar niet het minste idee van.
Daarom is het een goed idee dat bedrijven zich meer gaan bemoeien met het onderwijs zo krijg je een win-win situatie: scholieren leren sneller hoe het er op de werkvloer zal aan toegaan en bedrijven krijgen afgestudeerde met een parate kennis. En dit is noodzakelijk in sectoren zoals de informatica.
Scholen zijn bedrijven en net zoals bedrijven moeten zij hun product adverteren en onder de mensen brengen, dit kan volgens mij bereikt worden op 2 manieren: 1) het gebruik van sociale netwerken waarbij zij mensen uitdagen om te leren en te blijven leren. Bekende vormen zijn “Hoe goed is je frans?” en deze resultaten kunnen worden vergeleken met vrienden waardoor er een vriendelijke competitie optreedt en 2) Zoals al eerder vermeld lees ik artikelen van mensen die in een bepaalde industrie opereren en daardoor kom ik veel te weten over wat er leeft, niet altijd gaan zij verder in op een bepaald onderwerp (bijv. omdat dit als gekend word ervaren) en dan ben je snel aangewezen om zelf onderzoek te plegen. Op het begin opteerde ik om mijn leerkrachten om hulp te vragen met weinig resultaat tot gevolg (en dit word niet als verwijtend bedoeld). Daarom (vind ik) is het belangrijk dat leerkrachten zeer nauw worden verbonden met de bedrijfswereld zodat zij up-to-date zijn over wat er leeft in de bedrijven en op de werkvloer. Op deze manier kunnen zij hun leerlingen bijstaan en begeleiden met de diverse methoden die door bedrijven gehanteerd worden. Want wat voor één werkt, werkt niet voor iedereen.
Ik besef echter dat de 2de mogelijkheid zeer moeilijk mogelijk is omdat verbeter werk en examens van/voor soms wel honderden leerlingen zeer veel tijd vergt.
Zelf wil ik later ooit een zaak starten waarbij ik gratis audits geef aan scholieren waarbij zij worden geïntroduceerd met de bedrijfswereld, de verschillende manieren van werken, waarmee wij werken, hoe wij daar mee werken, waar wij momenteel aan werken en hoe het er aan toegaat bij ons op de werkvloer.
Waarom programmeren voor windows een no-no is
Hier zijn duizenden redenen waarom je NIET programmeert voor het windows platform:
Don’t make me think
Sinds het begin dat ik ben gestart met het maken van websites ben ik van mening dat werken met websites op een makkelijke manier moet kunnen gebeuren zonder dat je daarbij veel moet nadenken. Dit is een trend die meer en meer begint op te komen maar er zijn nog veel websites die irritatie uitlokken doordat de informatie nog veel te moeilijk te vinden is. Ik lees bijv. graag artikelen over project management en andere informatica gerelateerde informatie en dit doe ik meestal via about.com of suite101.com.
Surf gerust eens naar beide websites en probeer eens binnen 10 seconden informatie te vinden over project management (zonder de zoek functie uiteraard). Op suite101 moet je beginnen bij Business & Finance waarna je Business Project Management selecteert (dit is niet zo duidelijk maar dit staat onder categories aan de linkerkant). Bij about.com word het iets moeilijker daar moet je klikken op Browse our channels waar je dezelfde categorie vind als op suite101. Dan ga je verder met Management, waarna je het sub-topic Project Management selecteert. Best wel wat werk om bij de informatie te komen die je zocht.
De slogan van about.com is dan ook: Guidance. Not Guesswork.
Google en het Porter Stemming Algoritme
Wie al eens zoekt via Google zal merken dat je bij enkelvouden ook de meervouden worden gevonden en dat ook het volledige woord wordt gevonden van een abbreviatie. Deze manier van zoeken is een afgeleide versie van het Martin Porter Stemming algoritme. De specificatie van het Porter Stemming algoritme kan op de website van porter gevonden worden. De PHP implementatie ook door Martin Porter kan ook op de website van porter gevonden worden.
Google Gears, HTML 5 en JavaScript die het gaat oplossen
Voor HTML 5 is er nu een offline opslag specificatie wat zoveel betekend als dat het mogelijk word om applicaties offline te gaan gebruiken wat met Google Gears alreeds het geval is. De specificatie zal SQLite gebruiken als opslag-medium. Maar SQL is moeilijk te verstaan voor sommige en er zijn beter alternatieven naast SQLite zo denk ik bijvoorbeeld aan Persevere’s JavaScriptDB. Het volledige artikel omtrent JavascriptDB kan je vinden op Ajaxian. Neem een kijkje naar onderstaande grafiek en beslis zelf:

