Testondersteuning in frameworks voor webapplicaties

Maat: px
Weergave met pagina beginnen:

Download "Testondersteuning in frameworks voor webapplicaties"

Transcriptie

1 Testondersteuningin frameworksvoorwebapplicaties MirkovanEde( ) NijmeegsInstituutvoorInformaticaenInformatiekunde RadboudUniversiteitNijmegen Versie:1.1,11februari2009 Omvang:3ects

2 Samenvatting Frameworkszijneenveelgebruiktebasisvoorhetbouwenvaneenwebapplicatie. Omdatdezeapplicatiesooksteedsbedrijfskritischerworden,ishetvanbelangdat zijgoedgetestkunnenworden.daaromisdematewaarineenframeworkdaar ondersteuningvoorbiedteenbelangrijkgegeven. Omdaterzoveelwebframeworkszijn,isinditonderzoekgekekennaarslechtsdrie, populaire,frameworks:cakephp,djangoenrubyonrails.dezedrieraamwerken zijngeanalyseerdopdematevanondersteuningdiezijbiedenophetgebiedvan testen.desoortentestsdieindezeanalysezijnonderzochtzijneenverzameling vandemeestessentiëlesoortenblack ofgrayboxtestsdieuitgevoerdkunnen worden. Alleframeworksbiedeninruimemateondersteuningvoordezelfdesoortentests. Zowelmodel basedtestingalscapture and playbacktestswordendoorgeenenkel frameworkondersteunt.degrootsteverschillentredenopbijdemogelijkhedentot analyserenvandeoutputdienaardebrowsergaat.daarbijhebbencakephpen RubyonRailseenvoorsprongopDjango. 2

3 Inhoudsopgave Testondersteuninginframeworksvoorwebapplicaties... 1 Samenvatting... 2 Inhoudsopgave... 3 H1.Inleiding... 4 Inleiding...4 Documentstructuur...4 H2.Probleemstellingenrelevantie... 5 Kwaliteitvansoftware...5 Manierenvantesten...5 Frameworksvoorwebapplicaties...6 Onderzoeksvraagendeelvragen...7 H3.Typesoftwaretests... 8 Inleiding...8 Inventarisatie...8 Conclusie...10 H4.Frameworksvoorwebapplicaties...11 Inleiding...11 CakePHP...11 RubyonRails...13 Django...15 Features...16 Conclusie...17 H5.Vergelijkingoptestondersteuningvandeframeworks...18 Inleiding...18 Testondersteuning...18 Toelichtingopderesultaattabel...19 Conclusie...24 H6.Conclusie...26 Conclusie...26 Reflectieenaanbevelingen...26 H7.Bibliografie

4 H1. Inleiding Inleiding Ominzichttegevenwaaromditonderzoekwordtuitgevoerdenwathetbelang ervanis,beschrijftdithoofdstukhetprojectkadervandezebachelorthesis. Testeniseenbelangrijkonderdeelvanallemodernesoftware ontwikkelingsmethodesenhetbelangervanwordtdooriedereenwordt onderschreven,hoewelhetechterookeenonderdeelisdatervaak,vanwegetijd ofgeldgebrekalseerstebijinschiet. Eenanderbekendfenomeenisdatwebapplicaties,applicatiesdieviahetinternet gebruiktworden,steedsgroter,complexerenookbedrijfskritischerworden.dat betekentdusdathetvansteedsgroterbelangwordtomdezeapplicatiesop grondigeengestructureerdewijzetetesten. Omdatbijhetbouwenvandezewebapplicaties,zekerwanneerhetgroteen complexeapplicatiesbetreft,bijnaaltijdframeworkswordeningezet,ishetdusvan belangdatdezeframeworksondersteuningbiedenvoorhettestenvandecodeen programmatuurdiehieringemaaktworden. Ditonderzoekzaldaaromkijkennaardetestondersteuningdiedergelijke frameworksvoorwebapplicatiesbieden. Documentstructuur Inheteerstehoofdstukvandezescriptiezalhetprobleemuitdedoekenworden gedaanenaangegevenwordenwatderelevantievanhetprobleemis.daaruitzal deonderzoeksvraagvolgenendedeelvragendienodigzijnomdeze onderzoeksvraagtebeantwoorden. Dehoofdstukken3,4en5zullenvervolgensderesultatentonendieresulterenuit hetonderzoeknaardedrieopgesteldedeelvragen.daarnaastzalperhoofdstuk eenkleineconclusieoverdedeelvraagwordengetrokken,alsmedeeenstukje reflectieopderesultaten. Hetlaatstehoofdstukbevatvervolgensdeconclusievanditonderzoek,waarmee deonderzoeksvraagbeantwoordis.ookzalindithoofdstukkortworden aangegevenofenwelkvervolgonderzoekereventueelgedaankanworden. 4

5 H2. Probleemstellingenrelevantie Kwaliteitvansoftware Nietalleenistesteneenonderdeelvanallerecentesoftewareontwikkelingsmethodes,inspeciaalvoorsoftwareopgesteldekwaliteitsmodellen neemtheteenbelangrijkeplaatsin.demodellenvanmccall(cavano & McCall, 1978),origineelopgesteldvoordeUSAirforceenbedoeldomtebemiddelentussen ontwikkelaarsengebruikers,enboehm(boehm, Brown, & Kaspar, 1978)zijn algemeengeaccepteerdenzienrespectievelijkeralsvolgtuit (Woolderink, 2007): Afbeelding1:KwaliteitsmodelvanMcCall(links)enBoehm Zoalstezien,ruimenbeidemodelleneenaparteplekinvoordetestabilityvande softwareenonderkendendaarmee,allanggeleden,hetbelangvantestenvoorde kwaliteitvansoftware.ookhet modernere,deeersteversiestamtuit1991,de meestrecenteuit2001,standaardkwaliteitsmodelvoorsoftware,iso9126(iso, 2001),datisgebaseerdopdemodellenvanMcCallenBoehmenaangepastaande behoeftesenervaringenmetdiemodellen,laatziendathettestenvansoftware eenbelangrijkeplaatsinneemtomtekomentoteenkwaliteitsproduct. Manierenvantesten Erzijnveelaspectenwaaropsoftwaregetestkanworden:hoesnelishetsysteem (performance),hoeintensiefkanhetgebruiktworden(stress),hoegaathet systeemommetonverwachtgedragzoalsverkeerdeinputvangebruikers (robustness),hoeveiligishetsysteem(security),etcetera.waarweindezescriptie naarzullenkijken,ishetfunctioneeltesten,waarbijergetestwordtofhet programmavoldoetaandefunctioneleeisendieerzijnopgesteld,ookwel conformancetestinggenoemd. 5

6 Jekuntonderscheidmakentussenverschillendemanierenvantesten.Allereerstis erhetverschiltussenstatischendynamischtesten.statischtestenwordtgedaan zonderdecodedaadwerkelijkuittevoeren,zoalsbijvoorbeeldeencompilerdoet. Bijdynamischetestenwordtdeprogrammacodeweluitgevoerd.Tijdensdeze scriptiezullenwealleenkijkennaardeondersteuningvoordynamischtesten. Eenanderveelgemaaktonderscheidishetverschiltussenwhiteboxenblackbox testen.bijblackboxtestenwordthettetestenobjectgezienalseenzwartedoos, waarietsingaatenweeruitkomt.bijwhiteboxtestenheeftmendebeschikking overdeprogrammacodeengebruiktmendieomtetesten.erzijnnatuurlijkvele combinatiesmogelijk,greyboxtestengenoemd,bijvoorbeeldwanneermenweet uitwelkemoduleseensysteemisopgebouwd,maardemodulesweleenblackbox zijn. Samenvattendzullenwehetindezescriptiealleenhebbenoverdynamischblack engreyboxtesten. Frameworksvoorwebapplicaties Eenanderbekendfenomeenisdatertegenwoordigmeerenmeer,vaak bedrijfskritische,applicatieswordenontwikkelddievolledigwebbasedzijn. PopulairetalenvoorditsoortapplicatieszijnonderandereJava,Microsoft s.net talen,python,rubyenphp. Vanwegedegroteverscheidenheidaantalenbeschikbaarzijnvoorwebapplicaties, zullenwedescopebeperkentotdeopensourcetalenphp,ruby,eneventueel PythonenJava. Vooraldezetalenzijnbestaanframeworks,diehetdeontwikkelaarmakkelijker maken,zorgenvoorgestructureerde,gelaagdecodeendaaromveelgebruikt wordenbijhetontwikkelenvanwebapplicaties.bekendeframeworkszijn bijvoorbeeldrubyonrailsvoorruby,djangovoorpython,strutsenspringvoor JavaenSymphony,,hetZendframeworkenCakePHPvoorPHP. Vanwegedebeperkteomvangvanditonderzoekenhetgroteaantalframeworks datervoorsommigetalenbeschikbaaris,zullenwetweeraamwerkenbekijken. AllereerstisdatCakePHP,zoalsdenaamaldoetvermoedenisditeenPHP frameworkenwekiezendezeomdatphpeenzeerpopulairetaalisvoor webapplicatiesencakephpdaarbinnenéénvandegrotereframeworksis.het tweedeframeworkdatwezullenbekijkenisrubyonrails,voorde programmeertaalrubyentevensergpopulair. Omdatwebapplicatiesgroter,bedrijfkritischencomplexerworden,ishetvan grootbelangdatdezecodevanhogekwaliteitenduseengoedtestbaaris.veelvan dezeframeworkshebbeninmeerofminderemateondersteuningingebouwdvoor hetontwerpenenuitvoerenvantests.devraagisofdezespecifieke testondersteuningzorgtvoorgoedetestsvansoftwarediegeschrevenisindeze frameworks.deconcretevraagstellingdiewekunnenformulerenis: 6

7 Welkeondersteuningvoortestenbiedendeveelgebruikteframeworksvoor webapplicaties? Onderzoeksvraagendeelvragen Omdeonderzoeksvraagtekunnenbeantwoorden,isdevolgendekennisnodig: A. Watvoortypetestskunnenweonderscheidenbinnendeaangegeven criteria? B. Hoezijndegeselecteerdeframeworksopgebouwd? C. Welkevandesoortentestswordendoordegeselecteerdeframeworks ondersteund? OnderzoeknaarhetantwoordopdeelvraagAzalgedaanwordendoormiddelvan literatuuronderzoek. HetantwoordopdeelvraagBzalgeschiedendoormiddelvanliteratuuronderzoek. HetantwoordopdeelvraagCzalwordendeelsgezochtmoetenwordenin documentatieendeelsdoorhetmakenvanvoorbeeldendielatenzienhoedeeisen enrandvoorwaarden,zoalsgevondenbijdeelvraaga,geïmplementeerdkunnen worden. Hetcombinerenvandeantwoordenopdedeelvragenverschaftonsvervolgens eeninzichtindematevantestondersteuningvandezeframeworks. 7

8 H3. Typesoftwaretests Inleiding Dithoofdstukbeschrijfteeninventarisatievanmogelijkesoortentestsdiede frameworkszoudenkunnenondersteunen,binnendekadersdiegesteldzijnin hoofdstuk2.vanelketypetestzaleenkorteomschrijvingwordengegeven. Dezeinventarisatieistotstandgekomendoormiddelvaneenliteratuuronderzoek enhetnagaanvanbestpracticesophetgebiedvansoftwareontwikkelingmet behulpvanwebframeworks.delijstmetsoortentestsdiedithoofdstukoplevert, zalwordengebruiktvoorhetvergelijkenvandetestondersteuningvande geselecteerdeframeworks. Inventarisatie Handmatigtesten Hetsysteemondersteunthethandmatiguitvoerenvantests,bijvoorbeeldviade commandline. Captureandplayback Hettestsysteemonthouddehandmatiguitgevoerdetestsenkandieopeenlater herhalen. Codecoverageanalyse Alhoewelditgeenblackboxtestis,isdecodecoverageanalyseeenveelgebruikte testentevenseenindicatieofdeopgesteldetestsuitedecodedekt. Doctests Testcasesdieindedocumentatiewordengeschrevenvaneenmethodeoffunctie. Dezekunnendangeautomatiseerdallemaaluitgevoerdworden.Hiermeekandus uitsluitenddewerkingvandefunctieopzichwordengetest,nietdeinteractiemet anderemethodesbinnendeunit. Geautomatiseerdeunittests Unittestswordengebaseerdopvantevorenvastgesteldeinput,eventueel ondersteuntdoorzogenaamdefixtures.daarnakunnenzegeautomatiseerd, uitgevoerdworden.unittestswordenuitgevoerdophetniveauvanhetmodel. Verderishetinteressantwelkeoptiesergebodenwordenomdezeunittestsinte richten: Fixtures;herbruikaredefinitiesvandetestdata,waardoordezedoor meerderetestgebruiktkanworden. Mockobjects;hetsimulerenvanobjectenwaarhettetestenobjectvan afhankelijkis. 8

9 Geautomatiseerdefunctioneletests Ookfunctioneletestsmakenmeestalgebruikvanfixtures.Integenstellingtotde unittest,wordthierechternietslechtséénmodelgetest,maareencompleet requestuitgevoerdomtezienofdathetverwachteresultaatoplevert. Binnendefunctioneletests,zullenwekijkennaardevolgendeopties: Databasewijzigingen;ishetmogelijkomnahetuitvoerenvaneen functioneletestteanalyserenoferwijzigingenindedatabasezijn aangebracht? HTTPHeaders;ishetmogelijkdeHTPPheadersteanalyseren? Viewvariabelen/objecten;omdatwehethierhebbenovertestsop controller niveau,ishetmogelijkomtezienwelkedataeraandeview doorgegevenwordt? Authenticatie;kandetestzichauthenticerenalseenbepaaldegebruiker tijdenshetuitvoerenvandetest? Webtests Omdatweinditonderzoekspecifiekkijkennaarframeworksvoorwebapplicaties, ishetookinteressantomtezienoferspecifiekeondersteuningwordtgeboden voorditplatform.wezullendevolgendeoptiesonderscheiden: GETrequests;hetsimulerenvanHTTPGETrequests. POSTrequests;hetsimulerenvanHTTPPOSTrequests,onderandere bruikbaarvoorhettestenvanformulieren. Bestandsuploads:simulerenvanbestandsuploads. HTTPHeaders;ishetmogelijkdeHTPPheadersteanalyseren? HTTPredirects:kunnenHTTP redirectsgevolgdworden? Viewvariabelen/objecten;ishetmogelijkomtezienwelkedataervande controlleraandeviewisdoorgegeven? Outputtest:controlerenofdeHTMLoutputis,zoalsverwachtwerd, eventueelgecombineerdmeteenparseromtezienofdeoutputgeldige (X)HTMLoplevert. Cookieondersteuning:hetcorrectafhandelenvandecookieszoalsdiedoor deapplicatiegebruiktworden. Interface/inbrowsertests Geautomatiseerdtestenvandeinterfacemiddelsdebrowser,volgenshetcapture andplaybackprincipe,zodatdetestsherhaaldkunnenworden.daarbijkunnenwe kijkenofdezetestsbrowseronafhankelijkzijn,ietswatmetnamebijdeinterface vaneenwebapplicatienogaleenstruikelpuntkanzijn. Model basedtesting Hetvolledigkunnenspecificerenvanhetgedragvandewebapplicatie,zodathet testsysteemautomatischzijneigentestcaseskanafleidenomdeapplicatievolledig tetesten. 9

10 Conclusie Dithoofdstukheefteenlijstopgeleverdmetbasisoptiesdieeenframeworkkan ondersteunenophetgebiedvanhettestenvandecodeenbeantwoorddaarmee deelvraaga: Watvoortypetestskunnenweonderscheidenbinnendeaangegeven criteria? Dezeoptiesvoldoenallemaalaandeeisenzoalswedieeraangesteldhebbenin hoofdstuk2,namelijkdathetdynamisch,grey enblackboxtestenzijn.erzijnnog welmeeroptiestebedenkendieeenframeworkookkanondersteunenenhetis eensubjectiefoordeelofeenbepaaldeoptieeenstandaardoptiebehoorttezijn.ik denkechterdatdezelijstvrijcompleetis,enhetontbrekenvanbepaaldeoptiesin dezelijstzalookgeenfundamenteelverschilmakenvoorhetvervolgvanhet onderzoek.eventueelvervolgonderzoekkanmeeroptiesmeenemeninhet eindoordeel. 10

11 H4. Frameworksvoorwebapplicaties Inleiding Dithoofdstukbeschrijftdeselectievanframeworksdiewezullengebruikeninde restvanditonderzoek.vandegeselecteerderaamwerkenzaleenkorte beschrijvingwordengegeven,waarbijergekekenwordtnaardealgemene werkingvanhetframeworkaangevuldmeteenkortoverzichtvandefeaturesdie hetframeworkbiedt.hiermeewordtzaldeelvraagbbeantwoordworden: Hoezijndegeselecteerdeframeworksopgebouwd? CakePHP CakePHPiseenobject georiënteerd,opensourcerapid developmentframework(cake, 2001)geschreveninenvoor degeïnterpreteerde,imperatieveprogrammeertaalphp (PHPGroup).CakePHPisgestoeldophetdesignpattern Model View Controller(kortwegMVC,datgeïntroduceerd werddoorsmalltalk)endwingtdeontwikkelaarsomhun applicatieoptedelenindriedelen.dezedriedelenhebben elkhuneigenverantwoordelijkheden: Hetmodel;representeertdedatawaaropdeapplicatiewerkt.Tussendemodels kunnenverschillendetyperelatiesbestaan.typischwordtdezedatauiteindelijk opgeslagenineendatabase.hetmodelbevatdebusinesslogicavandeapplicatieen opslagenbewerkenvandedataverlooptviademodels. Deview;verzorgtdepresentatievandedata.Voorwebapplicatieszijndatmeestal webpagina s,maaraanandererepresentaties,zoalsxmlofeenpdf document, valtooktedenken.deviewdoetgeenbewerkingenopdedata. Decontroller,verwerktdebinnenkomendeverzoeken(events).Dezezijnmeestal afkomstigvanhandelingenvandegebruikers,maarzoudenevenzogoedop anderemanieren(bijvoorbeeldviaeensoapinterface)binnenkunnenkomen.de controllervoertookapplicatie logicauit,zoalsbijvoorbeelddeautorisatie.een typischmvc requestzieteralsvolguit(cake, 2001): 11

12 Afbeelding2:MVCrequest 1. Vanafdeclientkomtereenverzoek 2. DeCakePHPdispatcherbekijkthetverzoekenstuurthetdoornaarde correctecontroller. 3. Decontrollervoertzijntakenuit,bijvoorbeeldauthentificatieenautorisatie vandegebruikerdiehetverzoekdoet.daarnastuurthijopdrachten (bijvoorbeeldverwijderenofaanpassendata)ofverzoekennaarde benodigdemodels. 4. Hetmodelgeeftdataterug 5. Decontrollerstuurtalledatanaardeview 6. Deviewgebruiktdezedataomdeoutputoptebouwenenstuurtdeinhoud terugnaardeclient. Features HieronderstaateenlijstmetfeaturesdiehetCakePHPframeworkbiedt,zoals beschrevenstaatopdewebsitevanhetproject(cake, 2001): 1. CompatibelmetPHP4enPHP5 2. GeïntegreerdeCRUD(create,read,updateendelete)voordatabase interactie 3. Applicatiescaffolding,hetautomatischverwerkenvanstandaardverzoeken, opbasisvandegedefinieerdedatabasetabellen.bedoeltalstijdelijke,snelle start. 4. Codegenereren,hetautomatischgenererenvandebasisvandeapplicatie, opbasisvandegedefinieerdedatabasetabellen. 5. Vriendelijke(mensenzoekmachine)URL'senaangepasteroutes 6. Ingebouwdevalidatie,validatievaningevoerdegegevens,opbasisvanhet model. 7. ViewHelpersvoorAJAX,JavaScript,HTML formulieren,zorgtervoordat nietallehtmlcodehandmatiguitgewerkthoeftteworden. 8. Componenten,gedeeldeuitbreidingenopdecontrollers,Standaard componentenals ,cookie,security,session,enrequest. 12

13 9. Behaviors,gedeeldeuitbreidingenopdemodels. 10. Flexibeltoegangsbeheer(ACL,accesscontrollists) 11. FlexibeleCaching,opniveauvanmodelsenviews. 12. Localisatie,hetframeworkbiedtondersteuningvoormultilingual applicaties. EenstandaardCakePHP requestisdoordemogelijkheidvanrouting(punt5), behaviors,componentenendemogelijkheidomanderedatabronnendanslechts dedatabasetegebruiken,ietsuitgebreiderdanhethierbovenbeschreven standaardmvc request.(cake, 2001) Afbeelding3TypischCakePHPrequestafhandeling RubyonRails RubyonRailsiseenMVCframework,geschreveninenvoorde programmeertaalruby.detaalrubyiseengeïnterpreteerde,puur object georiënteerdetaaldie,aldusdekenners,erglijktop Smalltalk.DetaalRubystamtuit1995(Matsumoto, 1995)enis, zoalsgezegdpuurobject georiënteerd. 5.times { print "We *love* Ruby -- it's outrageous!" } Codevoorbeeld:AllesiseenobjectinRuby,zelfsprimitievetypen 13

14 HetframeworkRubyonRails(RoR)stamtuit2003(RoR, 2003)engebruiktevenals CakePHPhetModel View Controllerpatroon.Descheidingindriedelenwerkt identiekalshierbovenbeschrevenbijcakephp.rorkomt,integenstellingtot CakePHP,meteeneigenwebserver,Webrick,maarkanookgebruiktwordenmet anderewebserversalsapache. EentypischRoRrequestzieteralsvolgtuit(RoR, 2003): Afbeelding4.RubyonRailsarchitectuur QuaarchitectuurlijktRoRdusergveelopCakePHPenhethandeltopvrijwel dezelfdemanierverzoekenaf. Features OokquafeatureslijkenRoRenCakePHPergopelkaar.Opzichisdatookniet verwonderlijk,alsjebedenktdatcakephpineersteinstantienaarvoorbeeldvan RoRisgebouwd.DevolgendestandaardfeaturesmakendeeluitvanRoR 1. Eigenwebserver,Webrick 2. GeïntegreerdeCRUD(create,read,updateendelete)voordatabase interactie 3. Applicatiescaffolding,hetautomatischverwerkenvanstandaardverzoeken, opbasisvandegedefinieerdedatabasetabellen.bedoeltalstijdelijke,snelle start. 14

15 4. Codegenereren,hetautomatischgenererenvandebasisvandeapplicatie, opbasisvandegedefinieerdedatabasetabellen. 5. Vriendelijke(mensenzoekmachine)URL'senaangepasteroutes 6. Ingebouwdevalidatie,validatievaningevoerdegegevens,opbasisvanhet model. 7. ViewHelpersvoorAJAX,JavaScript,HTML formulieren,zorgtervoordat nietallehtmlcodehandmatiguitgewerkthoeftteworden. 8. Partials;hergebruikvandelenvanandereviews 9. Standaardondersteuningvoor ,cookies,authorisatie 10. Flexibeltoegangsbeheer(ACL,accesscontrollists) 11. FlexibeleCaching,opniveauvanmodelsenviews. 12. Localisatie,hetframeworkbiedtondersteuningvoormultilingual applicaties. 13. Requestprofiler;nagaanwaarinhetafwerkenvaneenrequestdoorhet frameworkdebottleneckzit. Django Djangoiseenwebframeworkgeschrevenvooreninde programmeertaalpython(python, 1991).DetaalPython stamtuithetbeginvandejarennegentigenis ontworpendoordenederlanderguidevanrossum. HetprojectDjangoisontstaanin2005enisgebaseerd ophetmvcdesignpatternwathierbovenreedsis uitgelegd.daarbijhanteertdjangoweleenanderebenaming:watinmvcde controllerheet,heetindjangodeviewenwatinmvcdeviewisgenoemd,noemt Djangodetemplate.Hetideehierachteris,isdatdeviewdedatabeschijftdie getoondwordtaandegebruiker,maarniethoediedataerdanuitziet.detemplate bepaaltdanhoededataeruiteindelijkuitkomttezien.jezouhetframeworkdan alseenmtvframeworkaankunnenduiden. DemanierwaaropDjangoeenrequestverwerkt,zieterschematischalsvolgtuit: (Holovaty & Kaplan-Moss, 2007) 15

16 Afbeelding5RequestverwerkingvanDjango DitzieterietsandersuitdehetschemavanCakePHPenRoRenbehoeftwatuitleg. WaneerereenHTTP requestbinnenkomt,wordtditdoorhetframework verwerkttoteenhttprequestobject.viadeurlconfwordthiernadejuisteview aangesproken,dieditverzoekverderafdienttehandelen.wanneerereenfout optreedt,wordtditdoordeexceptionhandleropgepakt,enuiteindelijkgaatalles viaeentemplatelangsderedsponsemiddlewareterugnaardeclient. InfeitelijktditdusergophetMVCpatroonvandeanderetweeframeworks,maar iseenenanderwatandersbenoemd. Features HieronderstaateenlijstvandemeestopvallendefeaturesdieDjangobiedt: Uitgebreideondersteuningvoorformulierverwerkingenvalidatie Standaardbeheer interface,dieautomatischbeschikbaariszondercode daarvoortehoevenmaken Standaardauthenticatiesysteem Eigentemplatesysteem,gebaseerdopovererving 16

17 Templatesyssteenisvoorzienvantagsenfiltersomeenvoudighetuiterlijk vandeoutputtebepalen. Ondersteuningvoorcookies StandaardCRUDondersteuning Vriendelijke(mensenzoekmachine)URL'senaangepasteroutes Caching Ondersteuningvoormeertaligeapplicaties Securityondersteuning Conclusie Dithoofdstukbiedteenbeschrijvingvanalleframeworksdievergelekenzullen wordeninhetvervolgvanditonderzoek.daarbijzijnuiteraardnietalledetails besproken,datisnatuurlijknietmogelijk,maareriseengoedbeeldontstaanover hoedezeframeworksinelkaarsteken.daarmeeisdetweededeelvraag beantwoord. 17

18 H5. Vergelijkingoptestondersteuningvandeframeworks Inleiding Dithoofdstukbeschouwtdeondersteuningdiedeframeworks,zoalswedie geïntroduceerdhebbeninhoofdstuk4,biedenaandeverschillendesoortentests dieinhoofdstuk3staanbeschrevenenbeantwoordhiermeedederdedeelvraag zoalsdieisopgesteldinheteerstehoofdstuk.deresultatenzullenallereerstin tabelvormgepresenteerdworden,waarnadeopvallendeverschillen,of onderdelendiedatbehoeven,toegelichtzullenworden. Testondersteuning Onderstaandetabelgeefteenoverzichtvanwelkesoortentestsondersteunt wordenperframework.hierbijisinitieelalleengekekennaardeondersteuning diedeframeworks out of the box bieden,maarvanwegedemodulaireopzetvan sommigeframeworksiservoorgekozenomtevermeldenwanneereenbepaalde featuremiddelseenenkelepluginondersteuntwordt. Typetest CakePHP Django RubyonRails Handmatigtesten Captureandplayback Codecoverageanalyse ++ * * Doctests ++ * Unittests Fixtures Objectmocking ++ * ++ Functioneletests Databasewijzigingen HTTPredirects + ++ Viewvariabelen/objecten Authenticatie Webtests GETrequests POSTrequests Fileuploads HTTPHeaders HTTPredirects + ++ Viewvariabelen/objecten

19 Cookies Outputtests Interface/inbrowsertests ** * * Model basedtesting +:biedtenigeondersteuning,++:biedtruimeondersteuning,*:biedtondersteuningmiddelsplugin Toelichtingopderesultaattabel Dezeparagraafbespreektdeopvallendeverschillenenonderdelendietoelichting behoevenuitderesultaattabeldiehierbovenbeschrevenstaat.daarbijdient allereerstopgemerkttewordendatdemaniervantestenvancakephpenrubyon Railsgoedmetelkaarvergelijkbaarzijn,omdatzedezelfdeindelingentypetests kennen,watookteverklarenisaangeziendeopbouwvandebeideframeworks sterkegelijkenisvertoond.djangoechterkenttweesoortentests:standaard unittests,dieeigenlijkdirectuitpythonkomen,entestsdiegebruikmakenvan Django sclientklasse.dielaatstebevatinfeitedemogelijkhedendiebijcakephp enrorverdeeldzijnoverdefunctioneletestsendewebtests. Handmatigtestenencaptureandplaybacktest Geenvanalleframeworksbiedtondersteuningvanhethandmatig,bijvoorbeeldvia decommandlineinterface,uitvoerenvanbepaaldetests.daarmeeisde ondersteuningvancaptureandplaybackvandezetestsnatuurlijkookonmogelijk. Alleframeworksgaanuitvanhetuitvoerenvantestsineenscript. Doctests AlleenDjangobiedtstandaardondersteuningvoordezogenaamdedoctests.RoR kanwelwordenuitgerustwordenomditteondersteunen,doorhetgebruikenvan eenplugin.omeenbeeldtevormen,eendoctestindjangozieteralsvolgtuit: def get_elem(a_list, index): """ >>> a = ['John', 'Sjaak', 'Piet'] >>> my_func(a, 0) 'John' >>> my_func(a, 1) 'Sjaak' """ return a_list[index] Codevoorbeeld1:doctestinDjango Unittests Alleonderzochteframeworksbiedeneenruimeondersteuningvoorhetuitvoeren vanunittests.daarbijbiedenookalledriedeframeworksdemogelijkheidtothet gebruikvanfixtures,ietswatbijzonderhandig,bijnanoodzakelijk,isvoorhet efficiëntopstellenvandetests.hetisdaarbijwelinteressantomvoorelk 19

20 frameworkeensimpeleunittesttelatenzien,zodatdeverschillenen overeenkomstenzichtbaarworden.wegaandaarbijuitvaneensimpelmodel genaamdcar,waarbijeenautoeenbepaaldekleurkanheeft. class CarTest extends Car { var $name = 'CarTest'; var $usedbconfig = 'test_suite'; } class CarTestCase extends CakeTestCase { var $fixtures = array( 'car_test' ); function testcolor() { $this->cartest =& new CarTest(); } } $result = $this->cartest->color("ferrari"); $this->assertequal($result, 'red'); Codevoorbeeld2:unittestinCakePHP import unittest from myapp.models import Car class CarTestCase(unittest.TestCase): def setup(self): self.ferrari = Car.objects.create(name="Ferrari", color="red") def testcolor(self): self.assertequals(self.ferrari.color(), 'red') require 'test_helper' Codevoorbeeld3:unittestinDjango class CarTest < ActiveSupport::TestCase fixtures :cars def test_color color = Car.color('Ferrari') assert_equal color, 'red' end end Codevoorbeeld4:unittestinRubyonRails 20

21 Zoalstezienis,losvandeverschillendetaalconstructies,zijnditsoortsimpele testsinalleframeworksopvergelijkbaremanieroptezetten.detestvandjango gebruikt,terdemonstratie,geenfixtureszoalsdeanderetweewel,maarheeftook diemogelijkheidendatgeldtandersomook. Objectmocking Eenanderopvallendpuntinonzevergelijkingisobjectmocking.Ditwordt gebruiktomafhankelijkhedenbijhettestentereducerenendaarvoorbieden zowelroralscakephpondersteuning.bijobjectmockingwordtereennieuwe klassegemaaktvaneenbepaaldereferentieklasse,waarbijallebestaande methodesnogbestaan,maardezezijnallemaalleeg.beideframeworkshebbenook nogeensdemogelijkheidtotzogenaamdpartialmocking,zodathetmogelijkisom sommigemethodeswelinoorspronkelijkestaattehouden.djangoondersteunt objectmockingnietstandaard,maarkanmiddelseenpluginhierweltoeuitgerust worden. Functioneletests Zoalsaleerderopgemerkt,scharenCakePHPenRoRhettestenvandecontrollers onderdefunctioneletests.detestdiedaarbijuitgevoerdwordt,betreftdusnieteen simulatievaneenhttprequest.djangokentdezemaniervantestenniet,views (watdecontrollerswordengenoemdindeanderetweeframeworks)entemplates wordengetestmiddelssimulatievanhttprequests. Fileuploads Eenbelangrijkonderdeelbijhettestenvanwebformulieren,ishetkunnentesten vanformulierenwaarbijhetuploadenvaneenbestandeneenrolspeelt.ditiseen situatiediebijwebapplicatiesnatuurlijknietongewoonisendaaromookgetest zoumoetenkunnenworden.cakephpbiedthieralsenigeframeworkgeen ondersteuningvoor,hoewelhetwelinderoadmapvoortoekomstigereleases staatopgenomen. HTTPRedirects EencontrollertestdiedetecteertwelkeHTTP headersdecontrollerterugstuurt,is inrubyonrailswelmogelijk,maarnietincakephp.wileendergelijketestgedaan wordenincakephp,danishetwelmogelijkomdaareenworkaroundvoorte maken.omdittedemonstrerenstaathierondereersteenvoorbeeldvaneen dergelijketestinrorenvervolgensincakephp. def test_should_create_post assert_difference('post.count') do post :create, :post => { :title => 'Hello', :body => 'This is my first post.'} end assert_redirected_to(:controller => "posts", :action => "index") assert_equal 'Post was successfully created.', 21

22 end flash[:notice] Codevoorbeeld5:FunctioneletestinRubyonRails class TestPostsController extends PostsController { var $name = 'Posts'; function redirect($url, $status = null, $exit = true) { $this->redirecturl = $url; } } function _stop($status = 0) { $this->stopped = $status; } class PostsControllerTestCase extends CakeTestCase { function construct() { $this->posts = new TestPostsController(); } function testcreate() { $beforecount = $this->posts->post->find('count'); $this->posts->data = array( 'Post' => array( 'title' => 'Hello', 'body' => 'This is a test post!', ) ); $this->posts->add(); $aftercount = $this->posts->post->find('count'); $this->assertequal($beforecount+1,$aftercount); $this->assertequal($this->posts->session-> read('message.flash.message'), 'Post was successfully created.'); } $this->assertequal($this->posts->redirecturl, array('action' => 'index')); } Codevoorbeeld6:FunctioneletestinCakePHP Zoalsuitditvoorbeeldblijkt,isdetestinRubyonRailseenstuksimpelerdandiein CakePHP.DitverschilkomtvoornamelijkomdatinCakePHPbepaaldemethodes vandecontrolleroverschrevenmoetenwordenomzegoedtekunnentesten.in 22

23 RoRisdatnietnodigenzitdieondersteuningzonderextramoeitedirect ingebakken. Djangobiedtookdergelijkeondersteuning.Zoalsalopgemerkt,zitdeze functionaliteitbijditframeworkopeenwatandereplaats,maartochiseen vergelijkbaretestmogelijk: from django.test import * import doctest class ViewTests(TestCase): def runtest(self): c = Client() response = c.post('/posts/add',{'title': 'Test title', 'message': 'This is the actual post'}) self.assertredirects(response, '/posts/') self.assertequal(self.response.context['flash'] ['message'], 'Post was successfully created.') Codevoorbeeld7:webtestinDjango Outputtests Totslotkijkenwenognaardeondersteuningdiedeframeworksbiedenophet gebiedvanoutput analyse,ietswatbijwebframeworkseenbelangrijkissueis. HierkunnenweconcluderendatCakePHPenRubyonRailshiereenuitgebreide ondersteuningvoorbeiden.omdeverschillenenovereenkomstente demonstrerenzettenwenogmaalseenvergelijkbaretestopvooralleframeworks. class mytestwebtestcase extends CakeWebTestCase { function testhomepage() { $result = $this->get('/pages/home'); $this->assertresponse(200); $this->asserttext('lorem ipsum dolor sit amet.'); $this->asserttitle('foobar :: Home'); }} $this->assertelementsbyselector( ul#navigation > li', array('menu item 1', Menu item 2 ) ); Codevoorbeeld8:outputtestinCakePHP def test_should_show_post get "/pages/home" assert_response :success 23

24 # Assert_select zeer krachtig assert_select 'title', 'Foobar :: Home' assert_select 'ul.navigation' do... end end Codevoorbeeld9:outputtestinRubyonRails def test_home(self): response = self.client.get('/pages/home') self.assertequal(response.status_code, 200) # Zijn er 5 newsitems aan de template gestuurd? self. assertequal(len(response.context['newsitems']), 5) self.assertequal(response.template[0].name, 'home.html') Codevoorbeeld10:outputtestinDjango Eenaantalverschillenisdemoeitewaardomeventebelichten.Zoalstezienvalt, biedenrorencakephpdemogelijkheidomdeoutput,watmeestalhtmlis, vergaandteanalyseren.djangokanwelzienoferbijvoorbeeldeenbepaaldestring indeoutputzit,maarkandehtml structuurnietanalyseren. Djangoheeftweldemogelijkheidomtezienwelkevariabelendeviewheeft doorgegevenaandetemplate.ookrubyonrailsheeftdieoptie,maarmetcakephp valtdatalleentetestenmeteenfunctioneletest. In browsertests Alleframeworkshebbeneensterretjebijin browsertests,omdatertoolszijndie ditonafhankelijkvanhetframeworkkunnedoen.eenvoorbeeldvaneen dergelijketoolisselenium(seleniumhq).helaasisdienietbrowseronafhankelijk, ietswatbijwebpagina sweleenbelangrijkpuntis.cakephpheefteeningebouwde koppelingvoorseleniumenisdaarmeeietsbeteruitgerustdandeanderetwee frameworks. Modelbasedtests Helaaszijnmodelbasedtestnogeenstukjetehooggegrepenvooralleframeworks. Zoverikdatmetzekerheidkanzeggeniserooknoggeenenkelwebframeworkdie datsoortondersteuningwelbiedt. Conclusie Hetislastigomtoteengoedevergelijkingtekomentussendeframeworks.Dit wordtteneerstebemoeilijktdoordezeerverschillendewijzewaaropde frameworkshuntestshebbeningedeeld.kunjesomseenbepaaldetestniet linksomrealiseren,dankanhetvaakwelrechtsom. 24

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

DIA Opdracht 4 (Arjan Dekker)

DIA Opdracht 4 (Arjan Dekker) DIA Opdracht 4 (Arjan Dekker) Place klasse: #Deze klasse wordt gebruikt in zowel de client als de server #Daarom deze klasse in apart bestand gezet, die geinclude wordt #door zowel de server als client

Nadere informatie

MVC BASICS 2. Kevin Picalausa

MVC BASICS 2. Kevin Picalausa MVC BASICS 2 Kevin Picalausa 1 Forms 2 Action en Method Action Vertelt de Browser naar waar de form data (informatie) door te zenden. URL kan relatief of absoluut zijn. Method De manier waarop de form

Nadere informatie

Dynamische Websites. Week 9

Dynamische Websites. Week 9 Dynamische Websites Week 9 AGENDA Nut van een framework? Relatieve URLs Views Slicing 2 step design NUT VAN EEN FRAMEWORK? Heel veel code is voor jullie al geschreven, jullie moeten deze op de juiste plaatsen

Nadere informatie

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Chris de Kok 223548 TDI 3 Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Inhoud Inleiding... 3 Black box / White box... 3 XP... 3 SimpleTest... 3 Eclipse plugin... 4 GroupTest...

Nadere informatie

Dynamische Websites. Week 10

Dynamische Websites. Week 10 Dynamische Websites Week 10 INFO Feedback vraag het in de labo s als je feedback wilt op je code Lessen op 5/12 en 12/12 om 17.15 op 19/12 om 11.00 KLEURENCODE GROEN = zelf kunnen schrijven PAARS = code

Nadere informatie

4 ASP.NET MVC. 4.1 Controllers

4 ASP.NET MVC. 4.1 Controllers 4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.

Nadere informatie

CENTEXBEL CLIENT WEB

CENTEXBEL CLIENT WEB CENTEXBEL CLIENT WEB Table of Contents Wat is de Centexbel Client web?... 2 Hoe een account activeren in het programma?... 2 Schermen... 4 Log in... 4 Wat als er een personeelslid met de account gegevens

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

Aanleveren van te verzenden sms berichten aan SMS Via

Aanleveren van te verzenden sms berichten aan SMS Via Aanleveren van te verzenden sms berichten aan SMS Via 1. Inleiding Er zijn drie methoden van aanlevering van sms berichten mogelijk: via een HTTP request; dit kunt u gebruiken voor één sms bericht tegelijk

Nadere informatie

Dynamische Websites. Week 3. donderdag 3 oktober 13

Dynamische Websites. Week 3. donderdag 3 oktober 13 Dynamische Websites Week 3 AGENDA Herhaling Cookies Sessions voorbeeld.php Zuiver PHP: initialisatie variabelen instructies HTML minimum PHP nooit HTML in PHP FORM URL HTTP Methode Parameters Verstuurt

Nadere informatie

Dynamische Websites. Week 2

Dynamische Websites. Week 2 Dynamische Websites Week 2 AGENDA Labo 1 GET, POST Navigatie, etc Varia 1 2

Nadere informatie

Project Embedded Linux Domaza. Elektronica-ICT. Dimitri Kozakiewiez Jonas Govaerts. Academiejaar 2014-2015

Project Embedded Linux Domaza. Elektronica-ICT. Dimitri Kozakiewiez Jonas Govaerts. Academiejaar 2014-2015 Project Embedded Linux Domaza Elektronica-ICT Dimitri Kozakiewiez Jonas Govaerts Academiejaar 2014-2015 Campus Geel, Kleinhoefstraat 4, BE-2440 Geel 5 2 INHOUDSTAFEL INHOUDSTAFEL... 2 1 DOMAZA... 3 1.1

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

AJAX (XMLHttpRequest)

AJAX (XMLHttpRequest) AJAX (XMLHttpRequest) Ajax is hot. De meesten die met webdesign bezig zijn hebben er wel al van gehoord, veronderstel ik. Voor diegenen die er nog niet van hoorden, of nog niet mee werkten volgt hier een

Nadere informatie

Formulieren en waarden posten naar een view

Formulieren en waarden posten naar een view Hoofdstuk 4 Formulieren en waarden posten naar een view Waarden posten naar een view in een Zend-project gaat heel anders dan dat je gewend bent. Om dit mechanisme te leren, kunnen we het beste een eenvoudige

Nadere informatie

digital art 2d - over posters - opdracht drugs poster en website

digital art 2d - over posters - opdracht drugs poster en website digital art 2d - over posters - opdracht drugs poster en website medium is the message The medium is the message is a phrase coined by Marshall McLuhan meaning that the form of a medium embeds itself in

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Project documentatie Project Expo

Project documentatie Project Expo Project documentatie Project Expo Klas: IP110 Groep:3 Groepsleden: Leonard Breitkopf Nander Konijn Onno van Gijssel Contactgegevens: onno.van.gijssel@hva.nl 1 Inhoudsopgave Inhoudsopgave... 2 Inleiding...

Nadere informatie

Externe pagina s integreren in InSite en OutSite

Externe pagina s integreren in InSite en OutSite Externe pagina s integreren in InSite en OutSite Document-versie: 1.1 Datum: 04-10-2013 2013 AFAS Software Leusden Niets uit deze uitgave mag verveelvoudigd worden en/of openbaar gemaakt worden door middel

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.

Nadere informatie

Extra voorbeelden. 1 Objectenhierarchie. 2 Kalender

Extra voorbeelden. 1 Objectenhierarchie. 2 Kalender Extra voorbeelden 1 Objectenhierarchie 2 Kalender PHP EN MYSQL de basis 1.1 Uitgebreid voorbeeld van een objectenhierarchie We zullen een aantal kenmerken van objectgeoriënteerd programmeren toelichten

Nadere informatie

Handleiding RS Form! 1.0.4

Handleiding RS Form! 1.0.4 Handleiding RS Form! 1.0.4 Inhoud 1. Controlepaneel... 3 2. Forms Manager... 4 2.1 Nieuwe form aanmaken... 4 2.2 Nieuwe fields toevoegen... 7 2.3 Wijzigen/verwijderen bestaande Forms, Fields... 10 Versie

Nadere informatie

Handleiding. Mailchimp

Handleiding. Mailchimp Inhoudsopgave Inhoudsopgave... 2 2BLijsten... 3 4BOverzicht... 3 Lijst aanmaken... 4 Campagnes... 6 4BOverzicht... 6 4B... 6 Nieuwe campagne aanmaken... 7 Rapporten... 11 2 2BLijsten Lijsten bestaan uit

Nadere informatie

Dynamische webapplicaties in Java

Dynamische webapplicaties in Java Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages

Nadere informatie

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008 judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3

Nadere informatie

Joomla! en SEO: De basis elementen van SEO. Richard Bruning

Joomla! en SEO: De basis elementen van SEO. Richard Bruning Joomla! en zoekmachines : De basis elementen van SEO Richard Bruning Joomla! out of the box CMS Hoe doeltreffend is Joomla out of the box voor U als website eigenaar? Ontmoet Tux, onze opdrachtgever voor

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Maak een pivot uit een Generic.List

Maak een pivot uit een Generic.List Maak een pivot uit een Generic.List Introductie in extensions, reflection en code generation Nivo: 400 Introductie In bepaalde gevallen komt het voor dat je een Generic.List van een specifieke class hebt,

Nadere informatie

RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA

RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA AGENDA Het Doel #responsivemobilefirsthtml5buzzwordcompliant CSS preprocessing SASS Werken

Nadere informatie

Handleiding Facultaire website Expression Engine

Handleiding Facultaire website Expression Engine Handleiding Facultaire website Expression Engine Inhoud 1. Opbouw 2. Inloggen 3. Home 4. Publish 5. Publish Form full item 6. Uitleg velden Publish Form Full item 7. Publish Form Half Page 8. Uitleg velden

Nadere informatie

User Profile Repository Technisch Ontwerp Versie 1.1

User Profile Repository Technisch Ontwerp Versie 1.1 CATCHPlus User Profile Repository Technisch Ontwerp Versie 1.1 Versie: 1.1 Publicatiedatum: 12-7-2011 Vertrouwelijk GridLine B.V., 2011 Pagina 1 van 12 Documenthistorie Datum Versie Beschrijving Auteur

Nadere informatie

Lab Webdesign: Javascript 7 april 2008

Lab Webdesign: Javascript 7 april 2008 H8: FORMULIEREN In dit hoofdstuk komt het "form"-object aan de orde: we zullen zien hoe we JavaScript kunnen gebruiken voor het manipuleren en valideren van de gegevens die een eindgebruiker invult in

Nadere informatie

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt. Plsqldoc Genereer je documentatie Beeklaan 444 2562 BK Den Haag www.darwin-it.nl info@darwin-it.nl KvK 27283780 ING 65.35.40.663 Technical Architect Net als (vrijwel) elke ontwikkelaar vind ik het documenteren

Nadere informatie

Handleiding configuratie en gebruik tekenmodule

Handleiding configuratie en gebruik tekenmodule Handleiding configuratie en gebruik tekenmodule B3Partners Inhoudsopgave 1 Inleiding...2 2 Configuratie tekenmodule...3 2.1 Database tabel...4 2.2 WMS Service...5 2.3 Gegevensbron en kaartlaag...6 2.4

Nadere informatie

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest. WAT IS EEN UNIT TEST? Een unit test is een test om de functionaliteit van stukken code te controleren. Een goede unit test waarborgt een consistente werking van een klein onderdeel (een unit ) van de broncode.

Nadere informatie

Knowledgeable Referenceable Personable Accountable Scalable

Knowledgeable Referenceable Personable Accountable Scalable Knowledgeable Referenceable Personable Accountable Scalable 1 WebForms en JavaBeans bij Essent Energie OGH presentatie 3 juli 2003 2 Agenda Inleiding Eenvoudige Java Bean in Web Forms Demo Meer complexe

Nadere informatie

Sitecore en AngularJS: hoe werken ze samen

Sitecore en AngularJS: hoe werken ze samen Sitecore en AngularJS: hoe werken ze samen Derk Hudepol Consultant 11-02-2016 Click Wie ben to add ik? title Consultant bij Avanade Werkzaam bij Avanade voor bijna 6 jaar Werk 3+ jaar met Sitecore Meeste

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (compile), runtime- en logische fouten Binaire operatoren Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle

Nadere informatie

TECHNICAL DESIGN DOCUMENT

TECHNICAL DESIGN DOCUMENT TECHNICAL DESIGN DOCUMENT BACHELORPROJECT IN3405 John Ciocoiu 1358227 Elwin Dokter 1275909 TECHNISCHE UNIVERSITEIT DELFT FACULTEIT EWI WOENSDAG 28 APRIL 2010 VERSIE 1 COMMISSIE: Ing. D.J. van Roest (opdrachtgever)

Nadere informatie

Een sjabloon (in PHP template genaamd) bevat de volledige

Een sjabloon (in PHP template genaamd) bevat de volledige Html-sjablonen in PHP 12 Een sjabloon (in PHP template genaamd) bevat de volledige opmaak van een (html-)pagina. Code en opmaak zijn hierbij gescheiden. Terwijl veel startende programmeurs code en opmaak

Nadere informatie

LINQ en SharePoint Development

LINQ en SharePoint Development .NET Framework LINQ en SharePoint Development BREED INZETBAAR EN ZORGT VOOR UNIFORME INTERFACE Mirjam van Olst Met het.net Framework 3.5 zijn de.net-talen uitgebreid met Language Integrated Query, of LINQ.

Nadere informatie

Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen...

Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen... Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen... 4 Bewerken formulier in formulierbeheer... 4 Bewerken formulier -

Nadere informatie

NB Deze lijst is alleen beschikbaar tijdens het project! Alleen voor eigen gebruik, er kunnen geen rechten aan worden ontleend.

NB Deze lijst is alleen beschikbaar tijdens het project! Alleen voor eigen gebruik, er kunnen geen rechten aan worden ontleend. Veelgestelde vragen m.b.t. het UWP 2.0 project Versie 0.5 datum: 27-11-2012 NB Deze lijst is alleen beschikbaar tijdens het project! Alleen voor eigen gebruik, er kunnen geen rechten aan worden ontleend.

Nadere informatie

Capita Selecta Design Patterns voor administratieve applicaties

Capita Selecta Design Patterns voor administratieve applicaties Capita Selecta voor administratieve applicaties Bij afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder 26 augustus 2006 Inhoud 26

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Introductie en even voorstellen

Introductie en even voorstellen Introductie en even voorstellen Onlangs is PHP5 uitgekomen. PHP5 is een grote stap voorwaards voor iedereen die met deze populaire programmeertaal werkt. In deze presentatie bekijken we de belangrijkste

Nadere informatie

3.1! Complexe Interacties!

3.1! Complexe Interacties! 3.1! Complexe Interacties! 3.2! Een optimale werkverdeling! play play play play 3.3! 3. Aanpasbaarheid: TicTacToe! versie 1.1b (displaygame)! koppeling / cohesie! versie 1.2 (Player)! domeinmodel! versie

Nadere informatie

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM Tips & Tricks Eigen Widgets in CRM Eigen Widgets in CRM Introductie De WebUI van CRM 7.0 maakt het mogelijk om je eigen widgets te maken en deze in je eigen view te gebruiken. Dat kan door gebruik te maken

Nadere informatie

1.9.6 Release Notes Verbeteringen en uitbreidingen

1.9.6 Release Notes Verbeteringen en uitbreidingen 1.9.6 Release Notes Verbeteringen en uitbreidingen Februari 2014 Release Versie Item Versie Datum SiteOpMobi Platform (Inclusief SiteOpMobi Service, Control Panel, APIs) 1.9.6 19 februari 2014 2 Inhoudsoverzicht

Nadere informatie

Externe Toegang installeren en gebruiken onder Mac OS X

Externe Toegang installeren en gebruiken onder Mac OS X Externe Toegang installeren en gebruiken onder Mac OS X Deze handleiding beschrijft de inlog en uitlogprocedure voor Externe Toegang. Daarnaast beschrijft het de mogelijkheden binnen de virtuele werkplek

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

Dashboard. 1 Nov 2011-30 Nov 2011 Comparing to: Site. 27.14% Bounce Rate. 409 Visits. 2,197 Pageviews. 00:02:58 Avg. Time on Site. 5.

Dashboard. 1 Nov 2011-30 Nov 2011 Comparing to: Site. 27.14% Bounce Rate. 409 Visits. 2,197 Pageviews. 00:02:58 Avg. Time on Site. 5. Dashboard 1 Nov 211-3 Nov 211 4 4 2 2 Site Usage 49 27.14% Bounce Rate 2,197 Pageviews :2:58 Avg. Time on Site 5.37 Pages/Visit 69.44% % New Traffic Sources Overview Map Overlay Direct Traffic 293. (71.64%)

Nadere informatie

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn.

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn. Objectgeoriënteerd PHP (versie 5) Kennisvereisten: Ervaring met programmeren in PHP met MySQL Je weet wat een class of klasse is Je weet wat een instantie van een klasse (een object) is Je weet wat een

Nadere informatie

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Software 1 php mysql bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Alain Simons alain.simons@artesis.be Basis php 1. Introductie 2.

Nadere informatie

HTTP SMS API Technische Specificatie messagebird.com versie 1.1.6-05 mei 2014

HTTP SMS API Technische Specificatie messagebird.com versie 1.1.6-05 mei 2014 HTTP SMS API Technische Specificatie messagebird.com versie 1.1.6-05 mei 2014 1 Inhoudsopgave INHOUDSOPGAVE 2 1 VERBINDING MET DE API 4 1.1 QUICK START 4 2 SMS PARAMETERS 5 2.1 VERPLICHTE PARAMETERS 6

Nadere informatie

Installatie responsbox bij Windows XP en Windows Vista

Installatie responsbox bij Windows XP en Windows Vista 1 Installatie responsbox bij Windows XP en Windows Vista Gebruik de USB-kabel om de responsbox aan te sluiten op de computer. De kabel kan rechts achter in de responsbox aangesloten worden. De kabel steekt

Nadere informatie

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS WMS voor Kadastrale kaart Limburg GEORZ-lab Datum: 17 juli 2009 Auteur: GEORZ-lab, Just van den Broecke Versie: 2 Contact: Ebrahim Hemmatnia (Adviseur PPI GEO, Kadaster), tel. 088 183 22 16. Inleiding

Nadere informatie

Angular Best Practices Door Alex en Chris van Beek

Angular Best Practices Door Alex en Chris van Beek Angular Best Practices Door Alex en Chris van Beek Over ons Enthousiastelingen Software Architecten bij Luminis Arnhem B.V. Gespecialiseerd in Microsoft technologie:.net, Azure en Windows Twitter: @Beekje

Nadere informatie

Leereenheid Webdesign

Leereenheid Webdesign Leereenheid Webdesign INLEIDING Deze leereenheid leert je een eenvoudige website opbouwen. Vervolgens passen we dit toe op webquest. VOORKENNIS Elementaire kennis van Web 2.0 is vereist. LEERDOELEN LEERDOELEN

Nadere informatie

APPLICATIEBOUW 6E COLLEGE: HET ONTWERPEN VAN EEN KLASSE, LEJOS DEEL 3. Onderdeel van SmartProducts

APPLICATIEBOUW 6E COLLEGE: HET ONTWERPEN VAN EEN KLASSE, LEJOS DEEL 3. Onderdeel van SmartProducts APPLICATIEBOUW 6E COLLEGE: HET ONTWERPEN VAN EEN KLASSE, LEJOS DEEL 3 Onderdeel van SmartProducts INHOUD COLLEGE 6 Het ontwerpen van een klasse {6 Lijsten met ArrayList {7.3, 7.4 LeJOS: Communicatie, SuperPro

Nadere informatie

Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!

Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014! Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige

Nadere informatie

Les 9: formulier controle met javascript.

Les 9: formulier controle met javascript. Les 9: formulier controle met javascript. Javascript is erg veel gebruikt bij internet toepassingen. In tegenstelling tot PHP, wat een server side scripting is, is java client side scripting. Dwz, niet

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

Javascript deel 3. Document Object Model Objecten

Javascript deel 3. Document Object Model Objecten Javascript deel 3 Document Object Model Objecten Document Object Model (DOM) Doel: via javascript willen we graag heel flexibel de htmlpagina kunnen aanpassen. HTML DOM is een standaard waarmee we html-elementen

Nadere informatie

Programming Content Management Server 2002

Programming Content Management Server 2002 Met behulp van Content Management Server 2002 (CMS) kun je eenvoudig te onderhouden websites bouwen en beheren. De business driver van CMS is het gebruiksvriendelijk beheer van een website, in het bijzonder

Nadere informatie

DOMjudge teamhandleiding

DOMjudge teamhandleiding judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat

Nadere informatie

Je gaat nu een Zend-Project maken in de map C:/wamp/www (de document root van de webserver) met behulp van Zend Tool..

Je gaat nu een Zend-Project maken in de map C:/wamp/www (de document root van de webserver) met behulp van Zend Tool.. Hoofdstuk 2 Een ZF project maken het Model-View-Controller pattern Je hebt nu ZF geïnstalleerd en geconfigureerd. We gaan aan de hand van een Zend-project onderzoeken of deze installatie en configuratie

Nadere informatie

Quick Reference Guide Site beheer SharePoint TU Delft. Bestemd voor Key Users Versie 2.0 Datum 11-06-2012 Eigenaar SSC-ICT FAB SharePoint

Quick Reference Guide Site beheer SharePoint TU Delft. Bestemd voor Key Users Versie 2.0 Datum 11-06-2012 Eigenaar SSC-ICT FAB SharePoint Quick Reference Guide Site beheer SharePoint TU Delft Bestemd voor Key Users Versie 2.0 Datum 11-06-2012 Eigenaar SSC-ICT FAB SharePoint Quick Reference guide site beheer SharePoint TU Delft 1. Introductie

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop 1 Agenda Injection Cross Site Scripting Session Hijacking Cross Site Request Forgery #1 OWASP #2 top 10 #3 #5 Bezoek www.owasp.org

Nadere informatie

Een fragment wordt afgeleid van de basis klasse "Fragment".

Een fragment wordt afgeleid van de basis klasse Fragment. Android fragmenten 1/5 Fragmenten Klasse Een fragment wordt afgeleid van de basis klasse "Fragment". package com.android.cursustekst; import java.text.simpledateformat; import java.util.arraylist; import

Nadere informatie

Uitleg site maken. Stap 2) Nu kiezen we de lay-out. Je kunt het aantal kolommen kiezen. Je kiest nu de eerste. Maar dit kun je later veranderen

Uitleg site maken. Stap 2) Nu kiezen we de lay-out. Je kunt het aantal kolommen kiezen. Je kiest nu de eerste. Maar dit kun je later veranderen Uitleg site maken Hier vind je een uitleg hoe je bij Google een site kunt maken. Maak eerst een map bij je Favorieten en zet daar onderstaande sites in. Later zet je daar ook je eigen site in. Handig om

Nadere informatie

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Page 1 1 Kees Vianen Senior Sales Consultant Technology Solutions Oracle Nederland Agenda Geschiedenis van Oracle Portal Portal

Nadere informatie

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag ArcGIS Mobile ADF Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag Agenda Wat is de Mobile ADF? Architectuur Demo Wat is de mobile ADF? Ontwikkeltoolkit voor mobiele (Smart Client)

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89. Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie

Nadere informatie

Forum Plugin. Het toevoegen en beschrijven van een nieuwe forum categorie, conferentie, thread en gebruikersgroep.

Forum Plugin. Het toevoegen en beschrijven van een nieuwe forum categorie, conferentie, thread en gebruikersgroep. Forum Plugin Via de forum extensie kunt u via de website met over bepaalde onderwerpen discusieren. De admin kan bepalen over welke onderwerpen gediscusieerd kan worden. Onder een hoofdthema kunt u meerdere

Nadere informatie

Editions Based Redefinition: Tijdens de verbouwing gaat de verkoop door. Lucas Jellema, Alex Nuijten - AMIS Services BV

Editions Based Redefinition: Tijdens de verbouwing gaat de verkoop door. Lucas Jellema, Alex Nuijten - AMIS Services BV Editions Based Redefinition: Tijdens de verbouwing gaat de verkoop door. Lucas Jellema, Alex Nuijten - AMIS Services BV In een vorige editie van Optimize hebben we bekeken wat voor nieuwe toeters en bellen

Nadere informatie

Eileen Bhakti Mesilio

Eileen Bhakti Mesilio Zoek naar mensen, plaatsen en dingen Eileen Bhakti Mesilio Tijdlijn Info Foto s Vrienden Meer Ken je Eileen? Volg Eileen om haar openbare berichten in je nieuwsoverzicht te ontvangen. Vrienden 310 Eileen

Nadere informatie

Tips en tricks. Hoe te werken met Qualtrics. Ilonka van Meenen

Tips en tricks. Hoe te werken met Qualtrics. Ilonka van Meenen Tips en tricks Hoe te werken met Qualtrics Ilonka van Meenen Inhoud Handigheidjes... 2 Menu: Edit survey survey options... 3 Display logic... 5 Vragen kopiëren uit andere vragenlijsten... 6 Translate...

Nadere informatie

HET NIEUWE LOGO & DE BASELINE

HET NIEUWE LOGO & DE BASELINE BRAND MANUAL 1. Het nieuwe logo & de baseline...22 2. Kleurgebruik...3 3. Typografie...45 4. Minimumafmetingen...5 6 5. Grafische elementen...56 6. Plaatsing...67 7. Don ts...78 8. Papierkeuze...7 8 1

Nadere informatie

Unit testen van EJB's. Koert Zeilstra - iprofs

Unit testen van EJB's. Koert Zeilstra - iprofs Unit testen van EJB's Koert Zeilstra - iprofs Inleiding We weten tegenwoordig allemaal dat we ons product moeten testen om de kwaliteit te verhogen en behouden Software-ontwikkelaars zijn over het algemeen

Nadere informatie

Deel 1 : Gesloten Boek

Deel 1 : Gesloten Boek Naam : EXAMEN SOFTWAREONTWIKKELING 1STE PROEF BURG. IR. COMPUTERWETENSCHAPPEN EERSTE EXAMENPERIODE ACADEMIEJAAR 2004-2005 Deel 1 : Gesloten Boek 1. Testen Geef een overzicht van de verschillende testen

Nadere informatie

beginnen met bloggen (kleine workshop Wordpress)

beginnen met bloggen (kleine workshop Wordpress) beginnen met bloggen (kleine workshop Wordpress) Een weblog is van oorsprongeen lijstje linktips met een stukje tekst. Oorspongvan het weblog Jorn Barger is an American blogger, best known as editor of

Nadere informatie

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011 15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree

Nadere informatie

Hoofdstuk 11 Social media, telefoneren, SMS, camera en e- mail

Hoofdstuk 11 Social media, telefoneren, SMS, camera en e- mail 4 Social media, telefoneren, SMS, camera en e- mail 1 Hoofdstuk 11 Social media, telefoneren, SMS, camera en e- mail In dit hoofdstuk behandelen we enkele functies die van belang zijn voor veel apps: updates

Nadere informatie

Thinking of development

Thinking of development Thinking of development Netwerken en APIs Arjan Scherpenisse HKU / Miraclethings Thinking of Development, semester II 2012/2013 Agenda voor vandaag Netwerken Protocollen API's Opdracht Thinking of Development,

Nadere informatie

Implementatie AssurePay ASP.NET. ideal

Implementatie AssurePay ASP.NET. ideal Implementatie AssurePay ASP.NET ideal Implementatie AssurePay ASP.NET 2 van 11 Inhoudsopgave Microsoft ASP.NET... 3 Classic ASP... 9 Implementatie AssurePay ASP.NET 3 van 11 Microsoft ASP.NET Implementeren

Nadere informatie

Gnome applicaties ontwikkelen met Python (deel 2)

Gnome applicaties ontwikkelen met Python (deel 2) LinuxFocus article number 224 http://linuxfocus.org door Hilaire Fernandes Gnome applicaties ontwikkelen met Python (deel 2) Over de auteur: Hilaire Fernandes is vice president van

Nadere informatie

Handleiding Ad-Aware 2007

Handleiding Ad-Aware 2007 Handleiding Ad-Aware 2007 Dubbelklik het opgeslagen aaw2007exe Website Stap-voor-stap Installatie Het Welkomstvenster opent > klik Next Licentieovereenkomst : vink aan "I accept the licence agreement"

Nadere informatie

Gebruik template. Pagina opbouw. Datum : 15 10 2001 Auteur : ZappWerk

Gebruik template. Pagina opbouw. Datum : 15 10 2001 Auteur : ZappWerk Gebruik template Datum : 15 10 2001 Auteur : ZappWerk In dit document wordt het gebruik van de site template toegelicht. Beschreven wordt hoe de verschillende onderdelen in de in de pagina te plaatsen.

Nadere informatie

Access. Accomplish. Share. Tips voor het gebruik van Office 365: tools voor email, web, en samenwerking

Access. Accomplish. Share. Tips voor het gebruik van Office 365: tools voor email, web, en samenwerking Access. Accomplish. Share. Tips voor het gebruik van Office 365: tools voor email, web, en samenwerking Werk samen, beter Stel uw team in op succes 2 Zie wie online is Communiceer snel met uw team Team

Nadere informatie

JSF webapplicatie performance

JSF webapplicatie performance JSF webapplicatie performance Kees Broenink (JSF expert), 27 januari 2009 JSF webapplicatie performance... 1 Applicatieserver in productie... 2 HotSpot... 2 Geheugen... 2 Webapplicatie performance analyse...

Nadere informatie