Categories
Artikler

Aldersberegner

Hvor gammel er …. ? Hvis du kender en persons fødselsdag kan dette script beregne alderen ret præcist. Se scriptet her.

Scriptet er en videreudvikling af et regneark, som jeg lavede for nogen år siden for nogen folk, der bruger den slags beregninger. Men i dag bruger folk smartphones – og derfor har jeg designet siden til browseren i Samsung Galaxy; men den virker sikkert i mange forskellige smart- og i-Phones. Så behøver de ikke at rode efter regnearket mere…

 

Categories
Artikler

Flagdage

Det kunne være festligt, hvis min webside hejste Dannebrog på flagdagene. Derfor har jeg eksperimenteret lidt med en PHP-sag, der viser Dannebrog og begivenheden på flagdage.

Resultatet ses herunder (og ja: hvis dagen i dag ikke er en flagdag, så kan du ikke se noget herunder…).



De kirkelige hellig- og flagdage skal beregnes via PHPs easter_date() klasse. Det er lidt mere kompliceret – de skæve helligdage kommer med i den næste version. Kopier koden herunder til din webside:

<iframe style="height: 250px;" src="https://multimusen.dk/flag/flag.php" width="320" height="240"></iframe>
Categories
Artikler Multimedia Deign WWWhat

Anbefalinger på Facebook

Categories
Artikler

DesignTAXI – Creativity and Innovation Daily

DesignTAXI – Creativity and Innovation Daily.

Categories
Artikler

Hvor er bogen?

Bogreol
Bøgerne er sorteret efter størrelse og lidt efter emne.

Bøger kan ordnes på to måder.

  • Sådan at det er pænt.
  • Systematisk. således at man kan finde bogen, når man har brug for den.

Lige nu står vores ca. 900 bøger pænt. De er til en vis grad grovsorteret i emner, og de står efter størrelse. Sådan er der plads til flere bøger på hylderne. Konsekvensen af denne systematik er, at jeg skal bruge timer på at finde mine bøger. For hvor står Aleister Crowleys “Gems from the Equinox” eller “Farvernes Metafysik” af Ingolf Jensen?

Hvordan kan man løse problemet? Jeg har brug for en database!

Regneark som hyldemetafor
Et regneark er smart og til at finde rundt i. Første kolonnes tredje række hedder fx A3. Jeg kunne jo begynde med at navngive mine reoler A, B C … N eller hvor mange der er. Herefter er det bare om at tælle hylderne. Herefter kan jeg referere til en bogs placering som fx I4. Mere præcist kunne man selvfølgelig referere til D7:15 – altså reol D, hylde 7 bog 15 fra højre.

Men bare jeg kan finde ud af reolen, så finder jeg nok frem til bogen. Regnearksmetaforen er nem at forstå. Den kræver kun, at du udpeger en eller anden reol til at være A.

ER diagram over biblioteket
ER diagram over biblioteket

Første udkast til databasen
ER diagrammet viser en simpel databasestruktur. Et værk er skrevet af en forfatter. Hver for sig er de entiteter. Hvis jeg adskiller dem, så får jeg en mere fleksibel database. Hvis databasen skal bruges i en artikel, så kunne jeg lave et henvisningsregister, der også kunne gøres søgbart. På den måde får jeg en akademisk database over mine bøger.

Og vigtigst af alt – jeg kan finde mine bøger igen.

Tidsskrifter
Hvordan henviser man så til artikler i tidsskrifter – eller måske til en artikel i en bog, der ret beset er en artikelsamling? Måske burde man supplere med en artikelentitet. Nu udvikler mit ER-diagram sig sådan:

ER med artikeltabel
Artikeltabel tilføjet.

Lidt id-er skal tilføjes, og lidt tanker tænkes, så ser den sådan ud:

ER3
Tredje gennemkigning af diagrammet

Occams Barberblad
Filosoffen Occam mente, at hvis der er flere mulige løsninger, så er den enkleste den bedste. Occams barberblad handler om at fjerne det, som gør sagerne unødigt komplicerede. I det lange løb bliver adskillelsen af forfatter og værk lidt kunstig, og så kan jeg bruge Occams barberblad og reducere hele baduljen til:

Occams barberblad
Occams barberblad

HTML

Efter en tur i PHPMyAdmin er databasen ved at være på plads. Den er ikke helt som modellen ovenover; men det ligner lidt. Diagrammerne kan nemt omsættes til tabeller i MySQL databasen.. Nu vil jeg have noget html. i form af nogle includefiler:

  • Formular til indtastning af nye bøger
  • Indtaste titler på artikler, der er dele af bøger
  • Søgefelt
  • Præsentationer af søgninger
  • Formular til at redigere resultaterne.

Og så begynder det jo at ligne en webside; selv om formularer uden PHP ingenting kan, ud over at være sådan nogenlunde ikke alt for grimme.

Nu ved jeg nogenlunde, hvad applikationen skal kunne. Så nu er det også indlysende, hvad det er mine classes skal kunne (indrømmet det er CRUD = Create, Update, Delete). Og ja, formularerne validerer på W3C.

Skærmbillede-Index over bogsamling - Iceweasel
Skærmbillede-Index over bogsamling – Iceweasel
Categories
Artikler

Anmeldelse: Building PHP Applications

‘Building PHP Applications’ (Wrox 2011) handler om at udvikle PHP-applikationer ved hjælp af frameworks. Bogen fortæller om en lang række PHP-relaterede frameworks, og vælger at gå i dybden med de frameworks, som forfatterne anser for mest populære:

  • CakePHP
  • Symphony
  • Zend

Bogen kommer således vidt omkring; men det kan ærlig talt være lidt trættende at læse, hvordan man laver fx en adresseliste med det samme eksempel i CakePHP, Symphony og Zend. Derefter går man videre til et nyt eksempel, der skives efter samme algoritme.

Men eksemplerne er gode, og forfatterne er ærlige nok til at skrive, at nogle af disse frameworks har en stejl indlæringskurve. CakePHP skulle være mest enkelt at gå til – og dokumentationen i dette framework roses til skyerne. Det sidste kan undre; men det siger måske lidt om dokumentationen på frameworks generelt.

‘Building PHP Applications’ vrimler med herlige kabbalistiske magiske ord: LAMP, WAMP, MAMP, CRUD, ORM, CMS, MVC, MVP, SVN, ODBC, CSRF, AJAX, LDAP, ACL etc. Den elizabetanske renessancemagiker John Dee ville blegne af midsundelse over dette farverige fagsprog. Men det skal dog siges, at de mange begreber forklares godt og grundigt. Og derefter kan man jo selv kaste om sig med dem.

Jeg købte bogen med det formål at få en bedre forklaring af CakePHP end den som er tilgængelig på CakePHPs egne sider (på disse sider kan man fx læse, at en model er en model – og det er jo en gang tautologisk vrøvl).

‘Building PHP Applications’ forklarer CakePHP på en fin måde – man skal bare springe let og elegant hen over eksempler på Zend og Symphony. Omvendt kunne det jo være, at Zend og Symphony viser sig at være et godt alternativ?

‘Building PHP Applications’ er således en god indføring i PHP-frameworks.

 

Categories
Artikler

WordPress Cache

I begyndelsen var WordPress (WP) lidt langsomt, nærmest gumpetungt. Med cache-setting via WordPress Plugins fra W3 EDGE ser det ud til at websiden loader betydeligt hurtigere.