Testing: Find the Sweet Spot
Johann Peter Hartmann explains why it is important to find the sweet spot of testing cost and safety in PHP projects.
Embedding REST Entities
During my talk at IPC Spring I showed an approach for embedding entities in REST responses. This methodology might be useful if the standard use-case for your API is to request multiple related entities together. The downside of such an approach is the raised complexity of caching and especially purging logic. In this blog post I will further elaborate on the approach of resource embedding.
Pragmatic REST & BDD at IPC
On the train back I'm just uploading the slides of my talks at the International PHP Conference in Berlin, which ended some minutes ago. In my first talk I captured my experience with designing RESTful web services, summarizing pitfalls and low hanging fruits under the topic "Pragmatic REST". The second talk dealt with Behavior Driven Development on basis of Behat. Find the slides for download below.
Code Coverage with Behat
Code coverage does not make much sense for Behat tests, except for if you use them on legacy code as wide-coverage test cases, before starting to refactor. This blog post shows you how to generate code coverage information for your Behat test scenarios.
Mocking with Phake
The use of Mock and Stub Objects is an important skill to learn when using Test Driven Development (TDD). Mock objects allow you to replace dependencies of an object with lookalikes, much like crash test dummies are used during automobile safety tests so humans aren't harmed.
Behavior Driven Development
While unit, integration and system tests - especially the methodology of Test Driven Development (TDD) - are great ways to push the technical correctness of an application forward, they miss out one important aspect: the customer. None of these methods verify that developers actually implement what the customer desires. Behavior Driven Development (BDD) can help to bridge this gap.
Confoo: Testing, Performance, Metrics and APIs
Kore and me are currently attending Confoo in Montreal (Canada), one of the largest and a really awesome conference on web technologies. With our talks, we shared some of the Qafoo knowledge on Building Testable PHP Applications, Continuous Performance Testing, Understand and use software metrics and Designing Beautiful APIs. Find our slides for download here.
Coding in Katas
In almost any kind of sports you hone your skills by repeating a small piece of practice over and over again. Pretty much the same works for learning to play a musical instrument. The idea of Code Katas applies this simple but effective method of exercise to the world of programming.
Speaking at ConFoo.ca 2013 in Montreal
Qafoo experts will be part of ConFoo.ca 2013 in Montreal, talking about Continuous Performance Testing, Building Testable PHP Applications, Understand and use software metrics and Designing Beautiful APIs.
Comfortable PHP Editing With VIM -9-
After telling you about my completely reworked VIM setup and the awesome VIM plugins I'm using in it, this blog post deals to share with some snippets and settings I'm using to make all that stuff work round.
Comfortable PHP Editing With VIM -8-
As promised, I'm explaining my new VIM setup in some more detail, staring with the collection of plugins I use by now to enhance my VIM experience. I already have some in mind which I need to try out, but I would be happy to know which additional plugins you can recommend in relation to PHP programming (and beyond). Please leave a comment!
Comfortable PHP Editing With VIM -7-
I finally managed to re-work my VIM setup completely, so it's time for an updated. First the sad news: VIP (VIM Integration for PHP) is dead. To relativate this: I still provide my current VIM setup via Github to deal for you as an inspiration. For more compensation I also have a good news: I rewrote PDV - phpDocumentor for VIM completely and it now nicely integrates with current plugin managers. Its code is now way cleaner and maintainable and it has some fancy new features like templating support through my Vmustache implementation and support for making the generated doc blocks UltiSnippets snippets for even more ease in editing them (waving to Textmate users).