- Vorgehen
- Statt User Stories nun Job Stories. Wäre interessant wie das zu unserer Requirementsschulung steht: http://alanklement.blogspot.de/2013/09/replacing-user-story-with-job-story.html
- Kosten für Änderungsmanagement belichtet unter agilen Vorgehen: http://swreflections.blogspot.de/2013/09/the-real-cost-of-change-in-software.html
- Bericht über Code-Reviews aus dem wirklichen Leben und wie sich die Reviews über die Zeit verändern, wenn man sie als Standard in den Prozessen einbaut. http://swreflections.blogspot.de/2013/09/code-reviews-change-over-time.html
- Der Mythos des Rockstar-Programmierer (oder wo geschichtlich der Glaube herkommt, dass es Ingenieure gibt die 10x mehr leisten als normale Ingenieure):
https://medium.com/about-work/6aedba30ecfe
http://www.hanselman.com/blog/TheMythOfTheRockstarProgrammer.aspx - Design
- Eine Beschreibung wie nachrichtenorientiertes Design funktioniert und welche Vorteile es gegenüber OOP hat. Wie immer gilt, für bestimmte Anwendungsfälle ist das sicherlich ein sehr guter Ansatz.
http://eventuallyconsistent.net/2013/08/12/messaging-as-a-programming-model-part-1/
http://eventuallyconsistent.net/2013/08/14/messaging-as-a-programming-model-part-2/ - Entwicklung/Testen
- Fundamentale Unterschiede zwischen "normaler" Programmierung und Programmierung für das Handy: http://highscalability.com/blog/2013/9/18/if-youre-programming-a-cell-phone-like-a-server-youre-doing.html
- Eine interessante einfache Art multithreading Probleme aufzuspüren, indem man den Bytecode bei Tests modifiziert: http://www.javacodegeeks.com/2013/09/thread-jiggling.html
- Eine sehr ausführliche GIT Erklärung (mit Bildern und in Farbe!): http://gitolite.com/gcs/index.html
- Algorithmen
- Wie findet man ein Element in einer sortierten Matrix am schnellsten. Bevor man die Lösung liest, sollte man sich mal überlegen, wie man es selber lösen würde. http://twistedoakstudios.com/blog/Post5365_searching-a-sorted-matrix-faster
- Java/C#
- Wenn es mal nicht Spring sein soll: https://code.google.com/p/google-guice/
- Eine Option Type/Maybe/Nullable für C# (Probleme mit Null wurden ja schon in meinen letzten Posting angesprochen): http://twistedoakstudios.com/blog/Post1130_when-null-is-not-enough-an-option-type-for-c
- Hardware
- Der Turbo-Button ist zurück (das gilt theoretisch auch für Laptops): http://www.hanselman.com/blog/TheNewTurboButtonBalancingPowerManagementAndPerformanceOnWindowsServers.aspx
- Fun
- How to Shoot Yourself in the Foot in Any Programming Language http://www.fullduplex.org/humor/2006/10/how-to-shoot-yourself-in-the-foot-in-any-programming-language/
- Muss man öfters mal spielen, da kommen teilweise ziemlich abgefahrene Programmiersprachen vor. Guess programming language by “Hello, world!” snippet http://helloworldquiz.com/
- Eine Liste von Webseiten bei denen Kinder programmieren lernen können (das meiste leider auf englisch): https://medium.com/p/a2dc04ea9529
- Minecraft bietet einfache logische Schaltkreise, was man daraus machen kann: Minecraft Scientific/Graphing calculator - Sin Cos Tan Log Square root https://www.youtube.com/watch?v=wgJfVRhotlQ&feature=youtube_gdata_player
In diesem Blog geht es um Software-Entwicklung. Neben Themen aus der täglichen Arbeit erscheinen hier Listen mit Links zu interessanten Artikeln.
Dienstag, 15. Oktober 2013
Was das Internet über .... sagt:
Sonntag, 25. August 2013
Was das Internet über .... sagt:
- Ein sehr tief gehender Artikel über den GC von Java. Sehr interessant, da die Java-VM aktuell auch den Stand der Forschung in Richtung GC repräsentiert: http://mechanical-sympathy.blogspot.de/2013/07/java-garbage-collection-distilled.html?m=1
- Und ein paar Tipps wie man den Java-GC-Overhead reduziert: http://www.takipiblog.com/2013/07/18/5-coding-hacks-to-reduce-gc-overhead/
- Ein Artikel der auf Für/Gegen-ORM Artikel verweist. Danach sollte man einen guten Überblick haben, wann ORM sich lohnt. http://architects.dzone.com/articles/high-complexity-and-low
- Wie man eine reine Javascript Anwendung als Windows 8 Programm ohne Browser macht: http://onehungrymind.com/windows-8-and-angularjs/
- Lerne X in Y Minuten (oder wie man eine Programmiersprache am Tag lernen kann, die meisten schafft man in 15 Minuten :-) http://learnxinyminutes.com/
- Mal wieder wie man von STUPID zu SOLID kommt: http://williamdurand.fr/2013/07/30/from-stupid-to-solid-code/
- Pair-Programming für Gruppen (angeblich perfekt um möglichst schnell qualitativ hochwertigen Code zu liefern): http://codebetter.com/marcushammarberg/2013/08/06/mob-programming/
- CQEngine - für Java. Eine Art LINQ für in-memory Suchen. Sehr schnell und flexibel. https://code.google.com/p/cqengine/
- Blink-Estimation. Planning Poker auf Projektebene. Hier etwas genauer beschrieben auf was man achten sollte: http://dannorth.net/2013/08/08/blink-estimation/
- Warum man die Hardware doch nicht ignorieren kann oder wieso das Bearbeiten eines sortierten Feldes schneller ist, als die eines unsortierten. Ähnliches gilt auch für asserts usw., überall wo If-Abfragen vorkommen: http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array/11227902#11227902
Montag, 5. August 2013
Was das Internet über .... sagt.
- Traue niemals einem modernen Kopierer.
- Mechanical Sympathy: Java Garbage Collection Distilled
- Making a better, somewhat prettier, but definitely more functional Windows Command Line
- After Completing 40 Online Training Courses for Pluralsight, What Have I Learned?
- How Religion Destroys Programmers
- High Complexity and Low Throughput: Reasons for Using an ORM
- The Knuth-Morris-Pratt Algorithm in my own words
- Modeling How Programmers Read Code
- Building Windows 8 Applications with AngularJS aka Oh Yes I Did! |
- Learn clojure in Y Minutes
- Cross-Platform Portable Class Libraries with .NET are Happening
- Design Patterns after Design is Done
Mittwoch, 26. Juni 2013
Was das Internet über .... sagt:
- Die 10 tödlichsten Sünden gegen Skalierung (vieles erinnert mich an Projekte die wir haben):
- Guava läuft Apache Commons schon lange den Rang ab, jetzt mit EventBus:
- Builder Pattern um komplexe Objekte schön zu erzeugen:
- Wieso soll man nochmal keine public fields verwenden? Statt zu sagen "Ist halt so", nochmal ausführlich begründet:
- Ein Artikel über sicheres Software-Design. Er enthält so viele Links, dass ich ihn einfach aufnehmen musste.
- Wenn man TDD/Unit testing zum ersten Mal macht, gibt es hier einen Artikel, der schön beschreibt wovon man erst einmal die Finger lassen sollte und erst ran geht wenn man mehr Erfahrung hat:
- Null ist böse, viele Sprachen kennen Null gar nicht. Um Tony Hoare zu zitieren: "I call it my billion-dollar mistake. It was the invention of the null reference in 1965".
- In java8 gibt es Optional.
- Wie schaut es in anderen Sprachen (primär Haskell) aus und wieso macht man das überhaupt: http://lukeplant.me.uk/blog/posts/null-pointers-vs-none-vs-maybe/
- Scala kann es: http://proseand.co.nz/2013/06/05/optiont-null/
- Extreme Boating ;-)
Donnerstag, 13. Juni 2013
Was das Internet über .... sagt.
Eine kleine Sammlung von Entwickler-Blogs, die interessante Themen beschreiben:
- Oft steht man von dem Problem, ob man LinkedList oder ArrayList verwenden soll (oder entsprechendes in C++, C#). Um es kurz zu machen, LinkedList sind in fast allen Fällen böse. Beispielsweise ist zwar Löschen O(1), aber wenn man das Element erst mal suchen muss, hat man O(n). In solchen Fällen sind intrusive lists meist besser (http://www.codeofhonor.com/blog/avoiding-game-crashes-related-to-linked-lists). Noch mehr Informationen:
- Wisst Ihr noch die Komplexität von DFS? Oder Heapsort? Oder ...?
- Man muss nicht immer alle agilen Praktiken anwenden um erfolgreich zu sein. Interessanter Artikel mit vielen Beispielen, wieso man nicht gleich auf dies Nase fliegt wenn man nicht: TDD, Pair Programming, Emergent Design and Metaphor, Daily Standups, Collective Code Ownership, Writing All Requirements as Stories, Relying on a Product Owner verwendet.
- yum/apt-get usw sind ja unter Linux alt bekannt. Für Windows gibt es auch eine Möglichkeit über die Kommandozeile Pakete zu installieren. Statt umständlich die Weblinks zu suchen, download und install, einfach "cinst 7zip" und schon ist 7zip auf dem Computer. Ist sicherlich für die Erstinstallation interessant. Chocolatey mit ~ 1000 Paketen:
- Wer schon immer Wissen wollte was man bei einer Adressverwaltungen alles falsch machen kann:
- Beispiele(Method Chaining, Nested Functions, Lambda expressions) wie man DSL in Java 8 implementieren kann ohne das Modell zu ändern:
- IF CARPENTERS WERE HIRED LIKE PROGRAMMERS:
Sonntag, 2. Juni 2013
Interessante Links (2013)
Vor ein paar Jahren habe ich interessante Links im Bereich Software-Entwicklung gesammelt und diese an interessierte Personen gesendet. Daraus ist dann eine mehr oder weniger regelmäßige Aktion entstanden. Dies war die erste Link-Sammlung:
- Traue niemals einem modernen Kopierer:
- http://www.dkriesel.com/blog/2013/0802_xerox-workcentres_are_switching_written_numbers_when_scanning
- Mechanical Sympathy: Java Garbage Collection Distilled
- Making a better, somewhat prettier, but definitely more functional Windows Command Line
- After Completing 40 Online Training Courses for Pluralsight, What Have I Learned?
- How Religion Destroys Programmers - Simple Programmer
- High Complexity and Low Throughput: Reasons for Using an ORM | Architects Zone
- The Knuth-Morris-Pratt Algorithm in my own words - jBoxer
- Modeling How Programmers Read Code | synesthesiam'
- Building Windows 8 Applications with AngularJS aka Oh Yes I Did! | One Hungry MindOne Hungry Mind
- Learn clojure in Y Minutes
- c++ - Why is processing a sorted array faster than an unsorted array? - Stack Overflow
- Cross-Platform Portable Class Libraries with .NET are Happening
- Design Patterns after Design is Done
Abonnieren
Posts (Atom)