Præsentationsportfolio for Thomas Riis > Blog

Zendframework og unittests

Installér aldrig en server i ‘Program files’ hvad enten det er default-indstillingen eller ej

Her den senere tid har jeg sat mig ind i Zendframework, igen (har tidligere brugt Zendframework).

Brugte tid på at prøve Zends Quickstart guide. Lige i begyndelsen var det success.

Men så sprang kæden af og den halve time var hurtigt gået. De havde valgt at anvende sqlite og så valgt at lave et meget langt script som skulle oprette indholdet i databasen (hvad skal jeg med sqlite??). Og det var ret voldsomt med et stort script for at oprette to tabeller og komme fyld i – især når scriptet ikke virkede.

Jeg valgte at anvende MySQL i stedet. Men resultatet blev desværre alligevel at gæstebogen ikke blev fundet.

Det var en sløj omgang. Jeg kunne også se på kommentarerne på siden at jeg ikke var den eneste med problemer. Jeg har muligvis overset noget undervejs eller der var fejl i min konfiguration.

Men jeg synes nu alligevel jeg lærte en del og Zendframework er nice og deres reference guide er fantastisk.

En anden dag søgte jeg på google efter bøger omkring Zendframework og var heldig jeg fandt denne gode online bog:

Survive The Deep End

Den bog har virkelig været god læsning og givet mig godt overblik. Dog fik jeg problemer da jeg skulle i gang med unittests. For der var desværre ikke nogen beskrivelse af hvordan jeg skulle konfigurere testmiljøet. Blot at man skulle benytte phpunit. Så jeg gik ind på phpunit.de der læste jeg at man skulle installere phpunit gennem pear. Desværre har jeg ikke brugt pear meget længe. Så jeg havde det ikke installeret. Så det måtte jeg lige gøre. Desværre var det meget bøvlet og jeg fik en masse forskellige fejl. Bl.a. kunne pear ikke pakke tarballs ud. På et tidspunkt bemærkede jeg at pear havde oprettet en program mappe (nok fordi at windows har ‘program files’ mappen som har mellemrum – så derfor blev det fortolket til ‘program’) . Så gik det op for mig at jeg nok måtte installere ZendServer på en anden måde en default måden. Således at den ikke længere blev installeret i C:/Program files/Zend/ men istedet C:/Zend.

Jeg afinstallerede ZendServer og installerede på ny i roden af C. Herefter rettede jeg window environment variable. Og startede go-pear.bat igen. Men php CLI kom med en masse fejl – fordi den forsøgte at afvikle koden via min xampp server. Så jeg måtte lige rette rækkefølgen i PHPRC så ZendServer/bin blev fundet først. Så stoppede at bøvl og pear blev installeret uden crash af php cli. Herefter opdaterede jeg pear og kunne herefter installere phpunit. Btw jeg valgte option ‘local’ og ikke ’system’ under installationen af pear.

Hvad kan vi så lære af det: Installer aldrig en server i ‘Program files’ hvad enten det er default-indstillingen eller ej.

 

 

Enighed om mockup

Studiegruppen Maria, Rasmus, Tommy og mig selv. Sad med hver vores fantastiske mockup og skulle blive enige om hvilken løsning vi ville vælge. Det var ret svært så vi aftalte at vi ville arbejde videre med hver vores mockup. Men så blev vi mere og mere enige om at Rasmus’ mockup faktisk kunne blive ret godt hvis vi anvendte fixed position til menuen.

Samtidig har vi en rigtig god idé omkring vores markup (det skriver jeg ikke her før sitet er oppe). Når sitet er oppe skal jeg nok linke til det. Men tro mig det bliver et lækkert site med database og Ajax funktionalitet.

Analyserne er finito

Så kunne vi sætte et tjekmærke ud for vores analyser i projektplanen.

Vi har fået lavet en et design brief så nu er vi igang med at idé udvikle.

Jeg har et par ideer som måske kan bruges så i morgen vil jeg gå mere i dybten med Illustrator og få lagt nogle forslag op. Så mon ikke vi kan få et mockup klar til mandag.

Jeg glæder mig til at se hvad de andre kommer med. Håber der kommer en idé på bordet som virkelig sprænger rammerne.

Diverse analyser

Nu rykker vi frem ad. Vi havde lidt problemer med at finde et klasseværelse at arbejde i så vi endte med at sidde nede ved 400 lokalerne. Det var ikke det bedste sted men vi fik lavet en god målgruppeanalyse, SWOT analyse og TOWS matrice. Og vi fik tænkt meget over hvad vores produkt helt nøjagtig er. Vi holder stadig projektplanen – lækkert.

Ikke så produktive

I dag var vi ikke særlig produktive – men alligevel ret kreative.  Det er altid godt med en god brainstorming, vi fik fundet på et navn til vores webbureau. Så det går da fremad. Men det er altid lidt tungt inden vi begynder at flytte os.

Vi havde et møde med vores vejleder her under hovedopgaven. Han synes godt om vores idé og problemformulering. Dog vil han gerne have at vi finder nogle rigtig gode USP’ere.

Vi fik fundet nogle USP’ere (unique selling points). Så vi kan forsøge at skille os lidt udfra mænden. Beklager men det er oplysninger jeg vil holde tæt med.

Her i eftermiddag – har jeg fået registret vores nye domæner.

I morgen kaster vi os over WBS’en (work breakdown structure).

 

Kiggede på Asp.net MVC

Så har jeg fået lavet en test applikation i Asp.net MVC framework – det har været meget sjovt og lærerigt at kode en MVC løsning i et andet sprog end PHP som jo er det sprog jeg har mest erfaring i.

Jeg er imponeret over dette framework. Jeg synes at Microsoft har gjort et godt arbejde. I tiden fremover vil jeg kode noget mere C#. Inden jeg kastede mig over Asp.net MVC. Havde jeg gennemgået en del tutorials så jeg havde ret godt styr på C# syntaksen igen – men det er ikke den store forskel på de forskellige sprog. Dog er der en masse klasser i  .net frameworket som jeg naturligvis ikke kender – det kræver jo man koder C# til hverdag. Der koder jeg jo PHP.

Havde lidt bøvl med MSSQL kunne ikke finde ud af hvordan ASP.Net linkede til databasen for det var noget Microsoft havde klaret for en. Det er jeg ikke vant til i PHP så det bryder jeg mig ikke om – føler jeg mister kontrol ; ) Men det er jo kun et spørgsmål om tilvending.

Vi ændrede lige kurs

Da vi forlod skolen torsdag var vi alle enige om vi havde den helt rigtige idé. Men efter lidt tid fandt vi ud af at vi ville ende med at skulle lave en forum løsning, som vi sagtens kunne lave men vi synes bare ikke det ville give opgaven det fokus vi ville have. Så vi troede ganske enkelt ikke på vores idé mere (Nu vil jeg ikke skive hvad vores idé var for det kan jo være – den kan tages frem en anden gang).

Nu er planen at vi vil lave et website for et webbureau der skal være konkurrence dygtigt og skal kunne differentiere (skille sig ud) sig fra andre webbureauer. På denne måde vil vi kunne lave en løsning hvor vi virkelig skal tænke kreativt.

Samtidig skal vi tænke i at lave en kommunikationsstrategi og diverse marketings-analyser. Problemformulering en skrevet og nu kan vi så gå i gang med projektplanlægningen på mandag. Dog skal vi lige have lidt feedback fra vores vejleder.

Men går stærkt ud fra vi holder fast i vores idé nu – så i mit hoved burde vi være færdig med en PBS (product breakdown structure) og WBS (work breakdown strukture) projektplan i Microsoft Project, interessentanalyse og risikovurdering på tirsdag.

Hyggede lidt med jQuery

Fredag eftermiddag kodede jeg lidt jQuery. Ville lave en cool måde at lave en navigation med rullende indhold.

  1. Lavede hurtigt noget markup der kunne bruges til at lave tre “content areas” der kunne skubbes rund i en div “container” som jeg gav en fast størrelse og satte overflow til hidden.
  2. Oprettede også en “sidebar” div hvor jeg kunne have links i.
  3. Så tænkte jeg at jeg ville starte ud med at lave løsningen som ren html udgave og så linke til indhold vha “#content-area”.
  4. Dette virkede faktisk bedre end jeg havde troet – når man klikkede på et link rullede indholdet ned til det rigtig område. Og det tidligere synlige del forsvandt. He he det gjorde linksne så også.
  5. Løste link issuet ved at anvende position: fixed.
  6. Det er så den løsning brugeren vil se hvis javascript er slået fra.
  7. Nu kunne jeg så kode løsningen i jQuery.
  8. Det var ret simpelt at lave animationen – da jeg først fandt ud af forskellen på at avende jquery metoden offset() og position().
  9. Jeg begyndte med at anvende offset() men det virkede ikke efter hensigten. Men fik hurtigt ændret til at benytte position() som giver div elementernes position realativt i forhold til den element de ligger i.
  10. Så løsning var i hus.

Tjek min løsning ud (bemærk ren prototype ikke noget fancy grafik) :
htmlversion

javascriptversion

Du kan jo snuppe kode – men jeg vil være glad hvis du spørg pænt ; )

Fik godkendt mit praktikfoløb

Fik holdt en lille præsentation omkring virksomheden og praktik projektet. Tue min vejleder synes godt om min løsning af projektet og ville gerne godkende praktikken så jeg fik en glad smilely – lækkert. Vi fik hyggesnakket lidt og jeg fik et virkelig godt råd. Når jeg programmere skal jeg huske at finde frem til 3 forskellige løsninger af den pågældende opgave (bare hurtigt) og så vælge den løsning der umiddelbart virker bedst.

Han mener at min svaghed er at jeg mange gange er for hurtig på aftrækkeren og derfor kan vælge en løsning der er mere besværlig end hvis jeg havde tænkt lidt mere over det. Men han var slet ikke i tvivl om at min tekniske kunnen og stædighed ville komme til en løsning. Men jeg kunne nå der meget nemmere. Jeg er faktisk enig i hvad han siger og vil følge dette råd. Lækkert at have noget at arbejde med.