Image Image Image Image Image
Scroll to Top

To Top

Johannes' Blog

24

Feb
2013

inGeneral

vonJohannes Hoppe

JavaScript Best Practices – Presentation

On 24, Feb 2013 | inGeneral | vonJohannes Hoppe

Of course, a presentation about JavaScript should be made with HTML5 & JavaScript. So, here it is! Enjoy the show in a new browser-tab or in the tiny iframe below. You might also want to fork it on GitHub or save it as an old-fashioned static PDF.

01

Feb
2013

inGeneral

vonJohannes Hoppe

JavaScript Best Practices

On 01, Feb 2013 | inGeneral | vonJohannes Hoppe

Kein modernes ASP.NET Projekt kommt heute noch ohne JavaScript aus. Es gab Zeiten in denen Skriptsprache unterschätzt wurde. Dies ist längst vorbei. Es ist an der Zeit, dass wir das Potential von JavaScript voll ausnutzen. Als Berater für ASP.NET MVC kennt Johannes Hoppe die erfolgreichen als auch die unglücklichen Webprojekte. Dieser intensive Vortrag wird Ihnen zeigen, wie Ihr JavaScript-Code ein solider Baustein für den Erfolg wird!

Entwickeln Sie pragmatischen Clean Code mit JavaScript. Mit 0% PowerPoint und 100% Browser stellt Johannes Hoppe seine persönlichen Best-Practices für JavaScript vor. Den „Software Craftsman“ zeichnen dabei Wissen, Werkzeuge und Übung aus. Lernen Sie die wichtigsten Patterns für eine stabile und modulare Website kennen. Überprüfen Sie Ihre persönliche Werkzeugkiste für Entwicklung, Testing und Deployment.

Tags | ,

27

Jan
2013

inAOP

vonJohannes Hoppe

[Gist] ASP.NET MVC bind String property as string.Empty instead of null

On 27, Jan 2013 | inAOP | vonJohannes Hoppe

Currently I’m migrating a good-old ASP.NET MVC v1 project to v4.
In ASP.NET MVC 1.0 the default behavior of Model Binding was to initialize strings to String.Empty. Imagine this simple method:

public ActionResult Hello(string name)
{
    if (name.Contains("Bob"))
    {
        return Content("Hi my friend!");
    }
 
    return Content("Hi stranger!");
}

However, later versions of ASP.NET MVC initialize Strings to null. This results in some nasty NullReferenceExceptions all over the code. On the one hand this change of the framework might be reasonable. The default value of a String is null. But on the other hand we should try to avoid null values at all. As soon as we start to tolerate null values we are going to clutter the code with guards against them:

18

Jan
2013

inGeneral

vonJohannes Hoppe

Vorträge und Termine 2013

On 18, Jan 2013 | inGeneral | vonJohannes Hoppe

Mit insgesamt 12 Vorträgen und tollem Feedback war das Jahr 2012 für mich als Sprecher ein voller Erfolg. Ich bin gespannt, ob ich eine vergleichbare Serie dieses Jahr wiederholen kann. Folgende Liste wird laufend aktualisiert:

Konferenzen

Tags | ,

30

Nov
2012

inNode.js

vonJohannes Hoppe

SolarTournament – November 2012 Update

On 30, Nov 2012 | inNode.js | vonJohannes Hoppe

After some busy months I published a new version of SolarTournament to Azure. The public git repository was updated, too.

Under the hood it’s a massive rewrite of the client-side code. I would like to thank Ingmar Wietig for his great work. He is definitely more skilled in math and general game related concepts than me! :-)

Improvements of the physics engine:

  • free 360° movement; it’s now possible to fly a loop
  • the spaceships model gets a tilt when changing direction
  • new collision detection that calculates the intersection of meshes
  • third-person view

16

Okt
2012

inGeneral

vonJohannes Hoppe

WebTechCon 2012: Die Zukunft von Browser-Games mit HTML5 und WebGL

On 16, Okt 2012 | inGeneral | vonJohannes Hoppe

Mit HTML5 & JavaScript lassen sich Browser-Games kreieren, die vormals nur mit proprietären Plugins möglich waren. Dazu zählen hardwarebeschleunigte 3D-Grafiken, welche über den WebGL-Standard unterstützt werden. Johannes Hoppe stellt die Tools und Technologien vor, die für die Erstellung von SolarTournament verwendet wurden.


Demos:

Cube with Texture
Complex Model
SolarTournament

Download:

SolarTournament auf GitHub

12

Okt
2012

inNoSQL

vonJohannes Hoppe

NRW Conf 2012: NoSQL in .NET – mit Redis und MongoDB

On 12, Okt 2012 | inNoSQL | vonJohannes Hoppe

Der Vortrag stellt die beiden NoSQL-Datenbanksysteme Redis und MongoDB näher vor und gibt Praxisbeispiele. Ich präsentiere die beiden Systeme live an dem ASP.NET MVC Beispielprojekt WebNoteNoSQL.


Downloads:

18

Sep
2012

inGeneral
Node.js

vonJohannes Hoppe

WDC 2012: Die Zukunft von Browser-Games mit HTML5 und WebGL

On 18, Sep 2012 | inGeneral, Node.js | vonJohannes Hoppe

Mit HTML5 & JavaScript lassen sich Browser-Games kreieren, die vormals nur mit proprietären Plugins möglich waren. Dazu zählen hardwarebeschleunigte 3D-Grafiken, welche über den WebGL-Standard unterstützt werden. Johannes Hoppe stellt die Tools und Technologien vor, die für die Erstellung von SolarTournament verwendet wurden. Allen Teilnehmern wird der Source-Code dieses Multiplayer 3D Action-Shooters sowie eine Auswahl der Arbeitsdateien zur Verfügung gestellt.


Demos:

01. Rotating Cube
02. Cube with Texture
03. Complex Model
04. Cube Explosion
SolarTournament

Download:

SolarTournament auf GitHub

17

Sep
2012

inNode.js
NoSQL

vonJohannes Hoppe

WDC 2012: Node.js & MongoDB – Folien und Downloads

On 17, Sep 2012 | inNode.js, NoSQL | vonJohannes Hoppe

Zwei neue Technologien für die Cloud sind das JavaScript-Framework Node.js und die NoSQL-Datenbank MongoDB. Johannes Hoppe gibt einen Schnellstart in die beiden Open-Source-Systeme.


Downloads:

07

Sep
2012

inGeneral

vonJohannes Hoppe

Fachartikel bei der Hakin9 – Sicherheit von Webanwendung (kostenlos!)

On 07, Sep 2012 | inGeneral | vonJohannes Hoppe

„Es ist ein enormer Aufwand eine kompromittierte Website nachträglich auf ihre Sicherheit zu prüfen. Die Kenntnis über bekannte Schwachstellen vermeidet hingegen Fehler bereits während der Entwicklung.“

Die August-Ausgabe 2012 des Hakin9 IT-Security Magazins ist ganz den Themen Server- und Netzwerksicherheit gewidmet. In einem ausführlichen 9-seitigen Artikel gehe ich auf die wichtigsten Angriffsvektoren bei Webanwendungen ein. Es werden exemplarisch Sicherheitslücken aufgezeigt und Gegenmaßnahmen benannt. Unter anderem werden PHP-Schachstellen, SQL-Injections, Session Hijacking, Cross-Site Request Forgeries (CSRF) und verschiedene Cross-Site Scripting Angriffe (XSS) erläutert. Egal ob JAVA, PHP, C# oder Ruby – die Schwachstellen sind konzeptbedingt und betreffen alle Programmier- und Skriptsprachen. Ich empfehle diese Ausgabe der Hakin9 allen Betreibern und Entwicklern von Webanwendungen als Pflichtlektüre!

Tags |