-
Building A RESTful PHP Server: Routing the Request
23 January 2012
Read moreThis is the second part of a series, showing how you might write a RESTful API using PHP. This part covers the routing, autoloading, and controller code for the service, and follows on from the first installment which showed how to parse the incoming request to get all the information …
-
Building A RESTful PHP Server: Understanding the Request
19 January 2012
Read moreOnce upon a time, what seems like a lifetime ago, I was away for a couple of weeks, and I wrote a series of posts about serving RESTful APIs from PHP to keep my blog going while I was away. Fast forward a few years and those posts are outdated and still wildly popular - so I thought it was about time I revisited this and showed how I'm writing RESTful PHP servers today!
In the first part of this (probably) 3-part series, we'll begin with the basics. It might seem boring, but the most important thing to get right with REST is parsing all the various elements of the HTTP request and responding accordingly. I've put in code samples from from a small-scale toy project I created to make me think about the steps involved (should I put the code somewhere so you can see it? Let me know). Without further ado, let's dive in and begin by sending all requests through one bootstrap script:
-
SQL Joins with On or Using
17 January 2012
Read moreI recently wrote a post about inner and outer joins, and a couple of people asked what the difference is between USING and ON.
-
Which Basket Should A Developer Put Their Eggs In?
10 January 2012
Read moreThe situation goes like this. Lots of excellent, capable people have great ideas for new software products. They are bootstrapping their venture, so they look for a developer who wants to give some time up front and receive a fair (let's assume fair) share of the rewards once the product …
-
Using lrnja.net Custom URL Shortener with Bit.ly
04 January 2012
Read moreI'm a big bit.ly fan and recently I registered a shorter URL to use for short links - and I went for lrnja.net. I sat down to configure my new domain with bit.ly, and it was very straightforward (I'd almost say "designer-proof"! /me ducks).
- First: register your domain …
-
The Tree Command
29 December 2011
Read moreToday I'm working on a little tutorial (about writing RESTful services, for this site) and I used the tree command to illustrate the file and directory layout of the project. I love this little command and use it frequently, but it isn't very well known so here's a quick example.
-
Tracking Your Domain with Bit.ly
23 December 2011
Read moreAs a blogger and lover of graphs, I am not sure how I hadn't already seen bit.ly's tracking domain feature. With this, you can register a domain and see reports on all of the URLs that are shortened with bit.ly which point through to that domain.
-
Inner vs Outer Joins on a Many-To-Many Relationship
20 December 2011
Read moreSomeone will probably tell me that this is an elementary-level topic, but I got some good questions regarding joins from my most recent ZCE class students, so I thought I'd put down the examples that I used to explain this to them. Being able to join with confidence is a key skill, because it means that you can refactor and normalise your data, without worrying about how hard something will be to retrieve.
-
Simple Regular Expressions by Example
08 December 2011
Read moreWhenever I ask a group of developers if they are familiar with regular expressions, I seem to get at least half the responses along the lines of "I've used them, but I don't like them". Call me a geek if you like, but I quite like regex; I think often it seems unfriendly because it's used inappropriately or just thrown into code with "here be dragons" type comments rather than documentation about what should match, and what shouldn't!
As with most things, it's pretty easy when you know how, so here's my one-step-at-a-time approach to regex (stolen from my ZCE preparation tutorial slides). Let's begin at the very beginning: regular expressions have delimiters, usually a slash character, and these contain a pattern that describes a string.
pattern
notes
/b[aeiou]t/
Matches "bat", "bet", "bit", "bot" and "but" Also matches "cricket bat", "bitter lemon"
-
Is This Marketing?
07 December 2011
Read moreLast year, someone asked me what I'd chosen for the company Christmas cards (I was relatively newly self-employed at the time). The idea of company Christmas cards had not even crossed my mind, but that conversation stayed with me and this winter, I picked a photo I took last winter, and uploaded it to moo.com, producing this:
-
Importing and Exporting MongoDB Databases
05 December 2011
Read moreI'm enjoying working with MongoDB but as with any new technology, it can take a little while to find your way around all the tools related to that stack. In particular, I found myself wondering how do I mysqldump for mongodb?
It should have come as no surprise that the command I wanted was called mongodump, really!
-
Do-it-Yourself Peer Review
29 November 2011
Read moreWhen I get asked about tools for quality assurance, I will pretty much always mention that the technology is not the answer. In my experience, the best improvements in quality come from process, from letting as many people as possible have access to all aspects of the system as early and often as possible.
