JavaScript – strict mode

Der strict mode von ECMASCRIPT ist nicht nur ein Subset der Sprache, er hat bewusst andere Semantik als normaler Code. Browser die strict mode nicht unterstützen, führen diesen Code mit anderem Verhalten aus als Browser die es unterstützen. Deshalb sollte man sich niemals auf den strict mode verlassen ohne gründliches Testen. Strict und non-strict Code kann koexistieren, so kann man zum Beispiel nur einzelne Funktionen in den strict mode setzen.

Strict mode aufrufen

Strict mode kann für ein gesamtes Skript, oder für einzelne Funktionen definiert werden.


// global auf der ersten Zeile des Scripts

"use strict";

// in einer Funktion

function strict() {

  "use strict";

  return "bla";

}

Syntax Fehler

Im strict mode werden folgende Dinge als Fehler betrachtet:

  • Octal syntax (var n = 023;)
  • wit statement
  • Using delete on a variable name delete myVariable;
  • Using eval or arguments as variable or function argument name
  • Using one of the newly reserved keywords (in prevision for ECMAScript 6): implements, interface, let, package, private, protected, public, static, and yield
  • Declaring function in blocks if(a
  • Obvious errors
    • Declaring twice the same name for a property name in an object literal {a: 1, b: 3, a: 7} This is no longer the case in ECMAScript 6 (bug 1041128).
    • Declaring two function arguments with the same name function f(a, b, b){}

Zudem gibt es einige zusätzliche Runtime Errors, welche im normalen Javascript Mode ignoriert werden. Die Details dazu findet ihr im unten verlinkten MDN Artikel.

Quellen:

Woocommerce – Anzahl Produkte pro Zeile

Generell sollten sämtliche WordPress Themes von Woothemes diesen Hook unterstützen. Im Produkt Loop wird dann jeweils das n-te Produkt mit der Klasse .last versehen, was dazu führt dass dort die Zeile umgebrochen wird und der margin-right entfernt wird. Quelle: Woothemes Docs – Change number of products per row

Angular JS Grundlagen in 60 Minuten (60ish minutes)

Ich habe mir letztes Wochenende endlich mal Zeit genommen etwas in Angular JS einzutauchen. Dazu habe ich eigentlich nicht mehr gebraucht als das Video „AngularJS Fundamentals In 60-ish Minutes“ von Dan Wahlin (Twitter: @danwahlin).

Weitere nützliche Seiten:

Online Finanzbuchhaltung

Als Kleinunternehmen / Freelancer ist es schwer und aufwendig eine saubere Buchhaltung zu führen. Selbst wenn man sich damit einigermassen auskennt, ist es wohl doch so, dass man seine Zeit lieber mit der Ausübung seiner Kerngeschäfte beschäftigt, als mit Buchhaltung und Mwst-Abrechnungen.

Ich habe mir letzte Woche deshalb einige Onlinetools für die Finanzbuchhaltung angeschaut und möchte ich euch meine Erfahrungen hier präsentieren.

Folgende Anforderungen hatte ich persönlich an das System:

  • Onlinetool (keine Installation, im Webbrowser bedienbar, von überall erreichbar)
  • Möglichkeit eigene Konten zu definieren
  • Anbindung an Postfinance für automatische Buchungen
  • Auswertungen wie Jahresabschluss, Eröffnungsbilanz, Mwst Abrechnung
  • Nutzerfreundlichkeit
  • Preis / Leistung

    Run my Accounts

    – Automatisierung
    – persönlicher Buchhalter
    – Online Buchhaltung
    – Belegescanner und automatische Positions-Erkennung

    http://www.runmyaccounts.ch/

    Fibu 3

    Pro Jahr gratis:
    • 100 Buchungen
    • 5 Debitoren und Kreditoren
    • 5 Dokumentuploads
    • API (leider erst für Belegsbuchungen, noch keine Schnittstelle für Kundendaten etc)

    https://www.fibu3.ch/

    Sage One

    • Offerten und Rechnungen
    • Automatisierte Buchhaltung
    • Individuelle Dokumentenvorlagen
    • Übersichtliche Auswertungen
    • Kunden- und Lieferantendaten 
    • E-Banking (Coming soon)
    CHF 19.- / Monat

    zzgl. 8% MwSt.

    http://www.sageone.ch/

    Shake Hands

    http://www.shakehands.com/

    Amanda Online

    http://www.amandaonline.com/de/Preise-Pakete.html

    Fazit

    Obwohl einige der Tools ziemlich gut gemacht und praktisch sind, haben wir uns nun entschieden uns einen Treuhänder zu engagieren – das mag zwar auf den ersten Blick teuer erscheinen – wenn man aber in Betracht zieht was man sich alles an Zeit und Nerven sparen kann, denke ich dass kein Weg daran vorbei führt, wenn man eine saubere Buchhaltung haben möchte.

    Artikel zum Thema

    http://startwerk.ch/2011/08/24/professionelle-buchhaltung-fur-startups-je-fruher-desto-besser/
    http://www.computerworld.ch/news/software/artikel/buchhaltung-einfach-gemacht-60442/

    Epson Moverio BT-200 USB Debugging aktivieren

    Epson Moverio BT-200

    Wir haben momentan ein Projekt in der Schule wo wir mit einer Epson Moverio BT-200 Smart Glass arbeiten können / müssen. Die Brille ist in vielem der Google Glass sehr ähnlich, hat jedoch auch einige Unterschiede aufzuweisen.

    So hat man z.b. zwei Projektionsflächen (eine pro Brillenglas) anstatt nur einer wie bei der Google Glass, was es erlauben soll auch stereoskopisches 3D anzuzeigen. Weiterhin kommt mit der Brille eine Art Controller, welcher benötigt wird um das Android System zu steuern.
    Der Controller ist einfach gesagt ein Smartphone ohne Display – dafür mit einer Touchoberfläche welche einen Cursor steuert mit dessen Hilfe man sich durch das Android 4.02 System navigieren kann. Die Brille selbst ist dabei wie eine Art externes Display für den Controller.

    Nun, ich will nicht allzu sehr ins Detail gehen was die Hardware der Brille betrifft. Ihr könnt euch darüber ganz einfach auf der Herstellerseite, YouTube oder mit ein wenig googeln informieren 🙂 Was ich möchte, ist zu beschreiben wie ihr es schafft die Brille für App-Entwicklung ready zu machen:

    Developer Version auf Brille installieren

    Wenn ihr die Brille erhält ist normalerweise die Retail Version des Betriebsystems installiert. Bei dieser fehlt die Möglichkeit USB Debugging zu aktivieren komplett. Ihr könnt das ganz einfach überprüfen unter
    Settings -> Device Info -> Build Number

    Beginnt die Build Nummer mit D (z.B. D1.0.0) so habt ihr bereits die Developer Version und könnt die nächsten Schritte überspringen. Falls eure Build Nummer mit R beginnt (z.B. R1.0.0), so habt ihr die Retail Version und müsst die Developer Version selbst installieren.

    Dazu gibt es eine Anleitung von Epson (PDF), welche leider nur schwer zu finden ist. Deshalb hier der Link.

    ADB Treiber installieren (Windows)

    Sobald ihr die Developer Version installiert und USB Debugging aktiviert habt, müsst ihr noch die ADB Treiber korrekt auf eurem System installieren. Auch hierzu gibt es eine Anleitung von Epson (PDF).

    Kleiner Hinweis: Ich habe mein Profil auf meiner Daten Partition (D:), dort wurde dann auch das adb_usb.ini File angelegt. Die Brille wurde bei mir aber nie erkannt in adb. Nach langer Suche kam ich darauf, dass adb eventuell seine Einstellungen im %USERPROFILE% Verzeichnis sucht. Beim überprüfen wohin diese Variable auf meinem System zeigt hat sich prompt herausgestellt, dass diese noch immer auf die Systempartition zeigt (C:Users …). Nachdem ich das adb_usb.ini File dann nach %USERPROFILE%.android kopiert hatte funktionierte es.

    Quellen