Archive for the ‘PHP’ category

Liten oppdatering til Fileshed

august 12th, 2009

I dag fikk jeg ideen å oppdatere filopplastningssystemet mitt litt. Tanken var følgende: la brukere legge passord på filene sine. Fra før kan brukerne velge mellom “offentlig” eller “privat” status på filene. Dersom filen er privat er det kun han som kan laste ned den, er den offentlig kan alle. Problemet var at det ikke fantes noe mellomledd: det kom i dag.

Nå kan brukere lett legge passord på filen sin (også et hint, om nødvendig), og passe på at uvedkommende ikke laster ned filen (selv om den er markert offentlig). Når en bruker klikker på filen for å laste ned den, kommer det opp en side som spør etter passord.

Dersom dere har flere tips til hva som kan være nyttig, er det bare å si i fra. Jeg personlig har tenkt litt over en E-posttjeneste, hvor brukeren får i valg å sende en E-post med markert fil som vedlegg. Hadde dette vært noe?

Fileshed-oppdateringFiler med nøkkel etter filnavnet er passordbeskyttede filer. Dersom de har rød bakgrunn er de markert privat. For å bytte status er det bare til å klikke på det røde utropsikonet / grønne v-ikonet. For masseendringer finnes det avkryssningsbokser.

Edit 13/08-09: Nå er det også blitt lagt til en passord-glemmer.
Edit 14/08-09: Har laget en logg for nedlastninger, slik brukeren kan følge med på hvem som laster ned fra han (hvilken fil, og dato).
Edit 16/08-09: Nå er også E-postvideresenderen på plass, som gjør du kan sende filer via E-post.

Nytt utseende til Fileshed — trenger feedback

juni 28th, 2009

Fileshed, filopplastningssiden jeg har laget, fikk en etterlengtet ansiktsløftning i disse nattetider, hvor jeg skiftet ut det dystre og kjedelige designet med noe nytt.

For å fortelle litt om tjenesten, er det en side hvor du kan laste opp filer slik du kan for eksempel sende dem mellom multiple PC-er. Du kan også organisere filene i mapper, gjøre dem offentlige (andre kan se dem, og laste de ned) eller private. Det er også mulighet for å laste ned mange filer på én gang (vil bli arkivert i et Zip-arkiv).

Tjenesten ligger også ute for salg, om det er noen som har lyst å bruke det kommersielt/privat.

Her følger to før-bilder; hvordan siden såg ut for ti minutt siden:Fileshed, fremsidenFileshed, oversikt over filer

Her er den nye siden, fra samme sider som bildene over:

Fileshed (ny), fremsidenFileshed (ny), oversikt over filerBle det bedre, eller hva synes du? Skjekk selv på: http://fileshed.davidsteinsland.net/

Hemmeligheten bak rask og kvalitetsikret programmering

juni 24th, 2009

I mange år har jeg strebet meg frem når det gjelder å programmere raske, men omfattende PHP-løsninger. Hver dag fant jeg alltid en bedre måte og gjøre ting på, og midt oppi alt leste jeg om klasser, Singletons, MVC og sikkerhet, som ikke gjorde dagene lettere.

Jeg har hele tiden brydd meg veldig mye om fleksibilitet, ytelse, kvalitet og sikkerhet. Å kombinere alt dette til én løsning er ikke bare-bare. Etter som tiden gikk, startet jeg med tanken om å lage mitt eget rammeverk for mine løsninger, slik jeg lett kunne “hive inn” ferdige moduler uten noen spesiell konfigurering for hvert prosjekt.

Jeg innså fort at jeg hadde tatt vann over hodet, og ble enda mer fortvilet da jeg kikket på de største rammeverkene for PHP. De var store, komplekse, og så veldig overarbeidet ut.

Det faktisk ikke før ved en tilfeldighet, da jeg satt og hørte på et foredrag av Rasmus Lerdorf, der han blant annet tok opp emnet “rammeverk”. Han også ergret seg over at de var store, tunge, og faktisk tregere enn å kun konvensjonell PHP. Det var ikke før mot slutten han sa: “Det rammeverket jeg liker best er det som ligner mist på et”. Det var CodeIgniter.

Sekunder etter å ha hørt på gründeren bak PHP, navigerte jeg meg til CodeIgniters hjemmeside og lastet ned pakken. Jeg gikk innom “brukerhåndboken” og dens egen Wiki for å sette meg bedre inn i det.

Det gikk et par dager med lesing og lett testing (jeg hadde jo aldri prøvd ut noen skikkelig, og syntaksen var litt små-rar). På dag fire startet jeg med et prosjekt hvor jeg ville laste opp filer, og dele dem med andre.

Rundt én måned senere stod systemet klart, som jeg kallet for Fileshed (filskur: en rote-/samleplass for filer du vil dele med andre, eller med deg selv over ulike PC-er). Selv bruker jeg systemet flittig, da jeg merket det faktisk var nyttig.

Poenget mitt i denne anekdoten er verken å skryte over mine egne prestasjoner eller fremme et spesifikt rammeverk. Det er rett og slett å fremme selve overskriften i artikkelen. Rammeverk har alt du trenger: databaseklasser, inputklasser, sessionklasser … you name it.

For å danne litt kontrast brukte jeg, som tidligere nevnt, rundt én måned på Fileshed – på Logopedane, hvor jeg måtte hardkode hele systemet, brukte jeg rundt 4-5 måneder.

Aldri tvil på kraften til et rammeverk. Du sparer utrolig mye verdifull tid som du heller kan bruke ute i vår fagre natur, eller på kundekommunikasjon om du driver business.