Hopp til innholdet

cjohansen.no

Arkiv

Et bedre utviklingsmiljø for Rails

Den siste uken har jeg snublet over og/eller kommet igang med opp til flere småting som har gjort arbeidsmiljøet mitt for Rails-applikasjoner langt mer behagelig. Sjekk tipsene.

Les hele Et bedre utviklingsmiljø for Rails.

Twibot: Et mikrorammeverk for Twitter-bots i Ruby

Idag slapp jeg Ruby-gemen Twibot. Twibot er et mikrorammeverk for å lage Twitter-boter, med et sexy DSL ala Sinatras. Sjekk ut gjennomgangen.

Les hele Twibot: Et mikrorammeverk for Twitter-bots i Ruby.

Ruby Wednesday!

I morgen møtes 16+ engasjerte Rubyprogrammerere i Oslo for å prate om Ruby 1.9 og for å kollektivt hacke 1.9-støtte inn i en gem. Er du på østlandet og interesserer deg for Ruby, bli med!

Les hele Ruby Wednesday!.

Juicer - pakkeverktøy for CSS og JavaScript

Etter mye somling og litt koding er jeg endelig klar med første versjon av Juicer, mitt kommandolinjeverktøy for å kombinere og minifisere CSS og JavaScript-filer. En slags "kompilator" om du vil - med syntakskontroll for JavaScript, og en del URL-verktøy for CSS-filer. Frontend-ytelse har nettopp blitt enklere! For en grundig gjennomgang av funksjonaliteten refererer jeg til gjennomgang på den engelske delen av bloggen.

Les hele Juicer - pakkeverktøy for CSS og JavaScript.

Expires-headeren under Apache

Expires-headeren kan brukes til å øke ytelsen på webapplikasjoner drastisk, ved at statiske ressurser (CSS, JavaScript, bilder) caches hos brukeren. Her er en gjennomgang av oppsett under Apache, og noen tips til hvordan du kan tvinge gjennom nytt innhold når innholdet er cachet hos brukeren. Les hele det engelske innlegget.

Les hele Expires-headeren under Apache.

JavaScript-lesestoff

Med litt flaks så har min julekalender dedikert til JavaScripts magiske verden trigget interessen såppass hos noen av dere er sugne på mer grundig stoff om temaet. Her er noen gode bøker og online-ressurser.

Les hele JavaScript-lesestoff.

JavaScript-organisering, del 2

Igår så vi på noen utfordringer JavaScript-utviklere møter når de føler behovet for å strukturere koden sin på en oversiktelig måte. Idag presenterer jeg noen forslag til løsning på disse utfordringene.

Les hele JavaScript-organisering, del 2.

Å organisere større JavaScript-prosjekter

Når mengden JavaScript stadig øker blir det hele tiden viktigere å organisere koden på et vis. Gjennom to artikler skal vi se hvordan vi kan oppnå kode som både er lettere å vedlikeholde og å jobbe flere sammen på.

Les hele Å organisere større JavaScript-prosjekter.

Debugging og profilering av JavaScript

Firebug er et uvurderlig verktøy for JavaScript-utvikling (og mer). Her ser vi på noen av de nyttigste verktøyene Firebug stiller opp med: debugging, profilering og inspeksjon.

Les hele Debugging og profilering av JavaScript.

Mixins og multippel arv i JavaScript

Fordi metoder er helt vanlige egenskaper på objekter er det fullt mulig å dele metoder fritt mellom objekter. På denne måten støtter JavaScript indirekte multippel arv fordi ett objekt kan "arve" oppførsel fra flere enn ett annet objekt.

Les hele Mixins og multippel arv i JavaScript.

En nyttigere document.createElement

Å opprette nye elementer med nettlesernes DOM-APIer er tungvindt og "verbost". Idag bygger vi en hjelpemetode som lager nye elementer på en langt mer kompakt måte.

Les hele En nyttigere document.createElement.

Metodekjeder i JavaScript

Å kjede sammen metodekall kan resultere i kompakt kode med relativt høy leselighet. jQuery har tatt dette til det ekstreme. Vi ser litt på hvordan dette fungerer, og noen praktiske eksempler.

Les hele Metodekjeder i JavaScript.

Hjelperen $()

De fleste rammeverkene tilbyr en "magisk" "dollarfunksjon". Vi ser litt på hva den ofte gjør, og hvordan den kan realiseres.

Les hele Hjelperen $().

Testing av ytelse

Idag skal vi se på hvordan vi kan legge inn krav til ytelse som en del av testcasene våre.

Les hele Testing av ytelse.

Memoisering av funksjoner

Noen ganger trenger vi kode som forgreiner seg basert på objekters tilstand, nettleserens ferdigheter eller andre omstendigheter - omstendigheter som kan være krevende ytelsesmessig. Memoisering kan i slike tilfeller ofte by på forenkling av logikk og/eller bedre ytelse.

Les hele Memoisering av funksjoner.

Objektorientering via closures

Som en praktisk applikasjon av closures ser vi på hvordan vi med hjelp av closures kan gi objektene våre en ekstra dimensjon.

Les hele Objektorientering via closures.

Navnerom

Fordi all JavaScript i utgangspunktet kjører i det globale skopet er det skremmende stor sjanse for kollisjoner mellom script (særlig om de er fra forskjellige kilder). Ved å bruke objekter som navnerom kan vi minimere scriptenes globale fotspor samtidig som vi kan beholde et rikt spekter av funksjonalitet.

Les hele Navnerom.

Prototyper og JavaScripts innebygde typer

Ved hjelp av JavaScripts prototype-kjeder kan vi bygge funksjonalitet inn i objekter vi ikke selv har laget - så også JavaScripts innebygde objekter. Vi ser på hvordan dette gjøres og noen nyttige applikasjoner.

Les hele Prototyper og JavaScripts innebygde typer.

(function() {})();

JavaScripts kanskje mest kryptiske konstruksjon er et hendig hjelpemiddel for å beskytte det globale skopet. Vi ser på hva dette er og hvordan vi kan bruke det.

Les hele (function() {})();.

Closures

Et svært nyttig - og kraftig - konsept er såkalte closures. Å forstå hva en closure er og hvordan du kan nyttegjøre deg av dem er essensielt for å ta full glede av JavaScript.

Les hele Closures.

2006 - 2013 Christian Johansen Creative Commons Lisens