Posts Tagged: software development

Home » software development

More on JSON and REST API Specifications

Expanding on my previous posts aboutannotating and validating JSON data structure with JSON Schema defining and documenting REST APIs using SwaggerI have two additional suggestions for tools that help you define and build HTTP-based APIs in a less haphazard, more deliberate manner:JSON API: While JSON Schema allows you to annotate and validate JSON-based data types JSON API gives you clear, opinionated guidelines for structuring JSON API responses so you don't have think about those implementation details yourself. Having uniform guidelines for API ... Read more

Agile Med Dev: Software Testing for Medical Devices

Medical devices software engineer Julien Zaegel wrote an interesting series of articles on medical devices software testing. These articles provide an overview of as well as several useful insights on the specifics of testing medical devices software and software in general.When it comes to automated and manual software testing for medical devices there are several aspects you don't usually have to deal with when testing more common kinds of web or business applications:With medical systems human lives are at stake.Medical devices ... Read more

Front-end / back-end isn’t a useful distinction

Answering a Hacker News Ask HN titled "Why companies look for “full stack” developers instead of specialists?" I wrote this:Front-end / back-end isn't a particularly useful distinction in my opinion. Differentiating between those 2 is just another way of creating information silos.I'm old enough to have experienced at least 2 full thin-client-fat-client cycles and I'm certain the current one won't be the last (at least it seems to have been a recurring pattern since the beginning of modern computer science). While ... Read more

JHipster: Generate And Bootstrap CRUD Apps With Spring Boot And Angular

The previous two posts in my series on helpful tools for developing CRUD applications were about tools that addressed very specific problem areas: API format specifications and code generation from those specifications in particular.This post will be both less about APIs and solving specific CRUD-related problems but about a tool that deals with CRUD app requirements in a comprehensive manner. This tool I'm talking about is called - not so slightly tongue-in-cheek - JHipster.Both inspired by tried-and-true frameworks like Ruby on ... Read more

Swagger: A Roundtrip Tool For Creating And Consuming REST APIs

In this second part of my series on useful tools for developing CRUD applications I'd like to introduce Swagger and Swagger Codegen in particular. Introduce perhaps isn't exactly the right word because first of all Swagger is quite well known in developer circles these days. Secondly, a few months ago I wrote a blog post about how to use Swagger to generate client SDKs for REST APIs.Swagger - originally having originated at Wordnik is a tool for documenting and publishing their ... Read more

Annotate and validate data structures with JSON Schema

I'd like to begin my little series of useful tools for developing CRUD applications with JSON Schema:"JSON Schema is a vocabulary that allows you to annotate and validate JSON documents."JSON Schema gives you a straightforward way to provide type information and validation to existing data structures. Say, for example you have a product instance like this (converted from your language's native object or general data structure format using a tool like Jackson for Java):Then using a tool like this online JSON ... Read more

Why Do We Still Write CRUD Applications?

Probably every software developer - since the 1990s at least - has been there once, asking him- or herself: "Why do I have to write tedious, repetitive CRUD code time and time again?"Being good, virtuous programmers some of those developers did what software development in the end mostly is about: They tried to automate a cumbersome, repetitive process that like any repetitive process should be performed by machines rather than humans.Some have succeeded - to some degree at least - ... Read more

Using Spring JdbcTemplate Instead of Object-Relational Mapping

Spring JDBC and Spring JdbcTemplate in particular has become my go-to tool for accessing relational databases for quite some time now and for good reason in my opinion:The common way for using data from an RDBMS in an object-oriented context used to be and for the most part still is object-relational mapping (ORM) frameworks like the Java Persistence API (JPA) or Rails' ActiveRecord. As the name suggests these frameworks attempt to map data (and concepts) from relational, set-oriented data structures, which ... Read more

Designing Delivery and Moving Beyond Products

I'm a frequent attendee at Lean DUS, a regular event organised by the fantastic folks of sipgate. Earlier this year at LEAN DUS #23 Jeff Sussna gave a talk on moving beyond products and unifying design and operations.Jeff runs a consulting company called Ingineering.IT, which aims to help businesses to establish a comprehensive, continuous service delivery process.He also condensed his expertise in a book called Designing Delivery, which outlines a continuous value creation process involving design thinking, agile software development and ... Read more

What Causes Over-engineering and How Can You Prevent It?

Last year software engineer Fagner Brack wrote an interesting and thoughtful article on "How To Accept Over-Engineering For What It Really Is"The article is very much worth the read in its entirety. There are a few key takeaways though I derived from it personally:I like the definition of over-engineering (quoted from Jeff Sternal) as "Code that solves problems you don’t have.".Fagner's conclusion is that what constitutes over-engineering depends on both context and the people involved.Over-engineering is usually brought about by unclear ... Read more
Next Page »

By continuing to use the site you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or if you click "Accept" below then you are consenting to this.

Close