1 week Ago
A lot of work has been put into Quino 2.0, with almost no stone left unturned. Almost every subsystem has been refactored and simplified, including but not limited to the data driver, the schema migration, generated code and metadata, model-building, security and authentication, service-application support and, of course, configuration and execution.
Two of the finishing touches before releasing 2.0 are to reorganize all of the code into a more coherent namespace structure and to reduce the... [More]
2 weeks Ago
In this article, I’m going to continue the discussion started in Part I, where we laid some groundwork about the state machine that is the startup/execution/shutdown feature of Quino. As we discussed, this part of the API still suffers from “several places where generic TApplication parameters [are] cluttering the API”. In this article, we’ll take a closer look at different design approaches to this concrete example—and see how we decided whether to use generic type parameters.
3 weeks Ago
In this article, we’re going to discuss a bit more about the configuration library in Quino 2.0.
The goal of this article is to discuss a concrete example of how we decided whether to use generic type parameters throughout the configuration part of Quino. The meat of that discussion will be in a part 2 because we’re going to have to lay some groundwork about the... [More]
2 months Ago
Encodo celebrated its 10th anniversary as a company this summer in Bussang in the Lorraine region of France.
We’d originally voted on different ideas and a trip to Amsterdam had squeezed by camping by one vote. Planning our weekend in Amsterdam proved difficult. Something called SAIL Amersterdam—which takes place every five years—was on the same weekend we’d chosen and all the hotels were full.
So, we improvised and Karin found a lovely place in Bussang, just about an hour over the border... [More]
Way back in February, I wrote about my experiences with ReSharper 9 when it first came out. The following article provides an update, this time with version 9.2, released just last week.
tl;dr: I’m back to ReSharper 8.2.3 and am a bit worried about the state of the 9.x series of ReSharper. Ordinarily, JetBrains has eliminated performance, stability and functional issues by the first minor version-update (9.1), to say nothing of the second (9.2).
In the previous article, my main... [More]
3 months Ago
Encodo first published a Git Handbook for employees in September 2011 and last updated it in July of 2012. Since then, we’ve continued to use Git, refining our practices and tools. Although a lot of the content is still relevant, some parts are quite outdated and the overall organization suffered through several subsequent, unpublished updates.
What did we change from the version 2.0?
- We removed all references to the Encodo Git Shell. This shell was a custom environment based on Cygwin. It... [More]
4 months Ago
Windows can take a long time to install, as can Microsoft Office and, most especially, Visual Studio with all of its service packs. If we installed everything manually every time we needed a new machine, we’d lose a day each time.
To solve this problem, we decided to define the Encodo Windows Base Image, which includes all of the standard software... [More]
5 months Ago
Nach monatelanger Suche haben wir in Robin Henkel den richtigen neuen Lernenden für uns gefunden. Über den Sommer wird er ein Praktikum bei uns machen und in die Entwicklungswelt von Encodo eingeführt. Ab August beginnt er offiziell seine Lehre zum Applikationsentwickler.
The summary below describes major new features, items of note and breaking changes. The full list of issues is also available for those with access to the Encodo issue tracker.
In beta1, we read about changes to configuration, the data driver architecture, DDL commands, and security and access control in web applications.
In beta-2, we made the following additional improvements:
- Introduced a new generated-code version that avoids all global references and provides a... [More]
- part I discusses the history of the configuration system in Quino as well as a handful of principles we kept in mind while designing the new system
- part II discusses the basic architectural changes and compares an example from the old configuration system to the new.
- part III takes a look at configuring the “execution order”—the actions to execute during application startup and shutdown
Registering with an IOC is all... [More]
6 months Ago
In this article, we’ll continue the discussion about configuration started in part I. We wrapped up that part with the following principles to keep in mind while designing the new system.
- Opt-in configuration
- Inversion of Control
- Configuration vs. Execution
- Common Usage
Borrowing from ASP.NET vNext
Quino’s configuration inconsistencies and issues have been well-known for several versions—and years—but the opportunity to rewrite it comes only now with a major-version break.
In this article, I’ll continue the discussion about configuration improvements mentioned in the release notes for Quino 2.0-beta1. With beta2 development underway, I thought I’d share some more of the thought process behind the forthcoming changes.
what sort of patterns integrate and customize the functionality of libraries in an application?
An application comprises multiple tasks, only some of which are part of that application’s actual domain. For those parts not in the... [More]