HN user

hadriendavid

8 karma

[ my public key: https://keybase.io/hadrien; my proof: https://keybase.io/hadrien/sigs/y3rQe4rrVOBAc_8sDsi78T69mnHf0TXy3T6oieApw9k ]

Posts0
Comments9
View on HN
No posts found.

« Anytime you store Boolean, a kitten dies » Nobody has ever said that but nobody wants any kitten to die so nobody has ever challenged me anytime I use that statement.

Half-Life 1 year ago

I remember playing on the computers at university. Someone had modded the campus map, was so fun to play.

API Design Guide 9 years ago

How I interpret HATEOAS:

The client knows what and how it can access on the behalf of the authenticated user. Examples:

Representation for a user with no privileges:

    {
        "articles": [{
            "id": 123
            "title": "A title",
            "links": {
                "self": {
                    "href": "http://blog.com/articles/123",
                    "methods": ["GET"]
                }
            }
        }],
        "links": {
            "self": {
                "href": "http://blog.com/articles",
                "methods": ["GET"]
            }
        }
    }

Representation for a user who is authorized to add/edit/delete articles:
    {
        "articles": [{
            "id": 123
            "title": "A title",
            "links": {
                "self": {
                    "href": "http://blog.com/articles/123",
                    "methods": ["GET", "DELETE", "PUT"]
                }
            }
        }],
        "links": {
            "self": {
                "href": "http://blog.com/articles",
                "methods": ["GET", "POST"]
            }
        }
    }

This reduces the authorization logic on the client side.

I've used Pyramid for the last 5 years to deploy highly available http api (>500K unique users daily).

- Super Modular, easy to achieve separation of concern;

- Powerful routing system;

- Consistent API;

- Elegant;

- Performant;

- Pyramid folks are super nice and super helpful on irc