 Your new post is loading...
 Your new post is loading...
|
Scooped by
Mickael Ruau
October 26, 2021 10:18 AM
|
By the way non-embedded engineers, you essentially write firmware too whenever you bury SQL in your code or when you spread platform dependencies throughout your code. Android and iPhone app developers do it when they don’t separate everything they should from dependency on those platforms. I’ve been involved in a lot of efforts where the line between the product code (the software) and the code that interacts with the product’s hardware (the firmware) is pretty fuzzy at best, fuzzy to the point of non-existence
|
Scooped by
Mickael Ruau
October 8, 2021 10:31 AM
|
La famille des outils de création d'applications no code s'agrandit avec un nouvel arrivant : NocoDB. Ses développeurs le présentent comme étant une alternative open source à Airtable. Il transforme vos bases de données relationnelles en une feuille de calcul intelligente. Il est livré avec un magasin d'applications qui vous permettent de vous connecter à n'importe quel service en nuage comme S3 pour le stockage de fichiers et à des applications tierces comme Slack, Twilio pour les flux de travail. NocoDB fonctionne actuellement avec les bases de données MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora et MariaDB.
|
Scooped by
Mickael Ruau
January 18, 2018 6:19 AM
|
Stéphane Déprès, coach Agile & Consultant expert chez inspearit, propose aux lecteurs de Solutions Numériques un article que se veut didactique et opérationnel pour toutes les DSI qui souhaitent se lancer dans des projets de « data thinking » (entre data science et design thinking).
|
Scooped by
Mickael Ruau
July 8, 2016 4:12 PM
|
ConnectionString: Reference for all common database connection strings
|
Scooped by
Mickael Ruau
February 15, 2016 8:39 AM
|
10. The Second D in TDD
9. New Tools in My TDD Arsenal
8. What is the #1 Benefit of TDD?
7. The Roman Numerals Kata: TDD with and without Analysis
6. How to Waste Time on TDD
5. Why I Practice TDD
4. TDD for Multi-threaded Applications
3. TDD vs. BDD: Why Can't We All Just Get Along?
2. TDD: Do We Really Have to Do It?
1. TDD in Python in 5 Minutes
|
Scooped by
Mickael Ruau
February 13, 2016 3:59 AM
|
Nathan Peterson introduces Behavior Driven Development, showcasing its adoption by his team along with successes and failures using it.
|
Scooped by
Mickael Ruau
October 29, 2015 9:08 AM
|
You can use database unit tests to establish a baseline state for your database and then to verify any subsequent changes that you make to database objects. Before you can establish a baseline state, you must create a database project. You then create a test project and write sets of Transact-SQL tests that exercise your database objects. By using these tests, you can verify in your isolated development environment whether those objects are behaving correctly before you check them in to version control. You can create tests that verify changes to any database object. In addition, you can automatically generate stubs of Transact-SQL code that test database functions, triggers, and stored procedures.
|
Scooped by
Mickael Ruau
October 28, 2015 4:08 PM
|
Releasing a product without testing it is generally accepted as an unforgivable sin in the software development world. And frankly, there really isn't an excuse not to test when we have whole suites of testing tools available to us – tools which allow us to examine our applications for speed and functionality, and perform unit tests.
|
Scooped by
Mickael Ruau
August 19, 2015 6:07 AM
|
Looking at Cucumber for JavaScript, Julien Biezemans sees benefits in BDD coming to web development but notes that the same misunderstandings Hellesøy mentions leading to using Cucumber only as a testing tool are common here also. Also for Biezemans, BDD is about encouraging conversation between all involved, writing down examples to make things clearer and reduce ambiguity allowing everyone to agree on what they are building. Automating the scenarios resulting from the conversations is an optional next step.
|
Scooped by
Mickael Ruau
April 11, 2015 11:21 AM
|
|
Scooped by
Mickael Ruau
December 24, 2014 10:39 AM
|
DbUtils is designed to be:
Small - you should be able to understand the whole package in a short amount of time. Transparent - DbUtils doesn't do any magic behind the scenes. You give it a query, it executes it and cleans up for you. Fast - You don't need to create a million temporary objects to work with DbUtils.
|
Scooped by
Mickael Ruau
December 24, 2014 10:34 AM
|
What's an anti-pattern?
I was pleased to discover that Wikipedia has a comprehensive list of anti-patterns, both from within the world of programming and outside of it. The reason I call ORM an anti-pattern is because it matches the two criteria the author of AntiPatterns used to distinguish anti-patterns from mere bad habits, specifically:
It initially appears to be beneficial, but in the long term has more bad consequences than good ones An alternative solution exists that is proven and repeatable It is the first characteristic that has led to ORM's maddening (to me) popularity: it seems like a good idea at first, and by the time the problems become apparent, it's too late to switch away.
|
Scooped by
Mickael Ruau
December 3, 2014 4:01 AM
|
|
|
Scooped by
Mickael Ruau
October 8, 2021 10:32 AM
|
Dolt implémente un surensemble de MySQL. Il serait compatible avec MySQL et fournit des constructions supplémentaires exposant les fonctionnalités de contrôle de version qui sont étroitement modelées sur Git. « Dolt est le véritable Git pour l'expérience des données dans une base de données SQL, fournissant un contrôle de version pour les schémas et les données au niveau des cellules, le tout optimisé pour la collaboration », explique l'équipe. Selon elle, ces fonctionnalités sont combinées (Git + MySQL) pour créer un nouveau type de base de données relationnelle puissante et idéale pour le paysage des données évoluées. Dolt est un outil libre et open source, sous licence Apache 2.0. Par ailleurs, DoltHub est un site Web qui héberge les bases de données Dolt, tout en fournissant des outils tels que l'hébergement, les autorisations, l'interface de requête, et plus encore, pour faciliter une collaboration transparente sur les données. Ajout de fonctions de contrôle de version à une base de données SQL Selon l'équipe, Dolt ajoute les fonctions de contrôle de version suivantes à une base de données SQL familière
|
Scooped by
Mickael Ruau
September 21, 2021 10:34 AM
|
How to install PostgreSQL using Docker, along with some basic Docker management operations as well as some examples.
|
Scooped by
Mickael Ruau
September 6, 2016 4:00 PM
|
The internals of an Orm usually follow some useful patterns that a developer should know to understand what is going on under the hood and here's a list of the most famous ones.
- Table Data Gateway: an object that represent a table of the database, on a one-to-one basis. It is usually built as a generic class which can be subclasses or instantiated for any physical table.
- Active Record: the most common approach, transforms a row of a table in an object. It strictly couples the object structures to the database tables by making the domain object subclassing an abstract implementation.
- Data Mapper: a real Orm is an instance of a Data Mapper, a tool that stores objects which are ignorant of the environment where they will be kept, thus decoupling them from persistence concerns.
- Unit Of Work: maintains a list of dirty objects and writes out the changeset. The purpose of this object is to keep track modified data on the entity object that it knows and its flushing capabilitities substitute the save() method of the Active Record implementations. It is a more resilient and sophisticated pattern than Active Record since it strives for persistence ignorance.
- Repository: the persistent-ignorant equivalent of the Table Data Gateway. While a single repository implementation is aware of the database backend, a generic interface is placed between service classes and object retrieval mechanisms to aid decoupling.
- Identity Map: a map of objects organized by class and primary key. It is a first level cache that contains every initialized object, so it can be used to prepare a changeset of database queries on flushing.
- Lazy Loading: substituting a domain object or collection with a subclass that loads data on the fly when methods are requested, before forwarding the original call.
- Query Object: a class that represents a query for retrieving objects, encapsulating Sql or other high level languages.
- Criteria Object: a class that represents a set of criteria for selection of objects of a particular model.
- Single Table Inheritance / Class Table Inheritance / Concrete Table Inheritance: patterns implemented to represent class inheritance in relational tables. Favoring composition over inheritance is a must because neither of these patterns does a perfect job in persisting data efficiently and in a clean way.
|
Scooped by
Mickael Ruau
February 19, 2016 1:12 AM
|
Are you interested in introducing BDD to your team? Don’t try and do it like this under these circumstances. Learn from my failure.
|
Scooped by
Mickael Ruau
February 15, 2016 4:46 AM
|
Tout d’abord un peu d’histoire: le BDD encore un acronyme du type xDD? Et bien oui, encore un! Le BDD (Behavior Driven Development) est présenté comme une évolution du TDD (Test Driven Development). Proposé par Dan North (qui fut aussi l’un des initiateurs du projet JBehave), le BDD consiste à étendre le TDD en écrivant non plus du code compréhensible uniquement par des développeurs, mais sous forme de scénario compréhensible par toutes les personnes impliquées dans le projet.
Autrement dit, il s’agit d’écrire des tests qui décrivent le comportement attendu du système et que tout le monde peux comprendre.
|
Scooped by
Mickael Ruau
December 8, 2015 11:24 AM
|
StoryTestIQ (STIQ) is a test framework used to create Automated Acceptance Tests or Story Tests. STIQ is a mashup of Selenium and FitNesse. It is "wiki-ized" Selenium with widgets and features that make it easier to write and organize Selenium tests.
|
Scooped by
Mickael Ruau
October 28, 2015 4:54 PM
|
Pivotal vient de publier (sous licence Apache 2) le code source de GreenPlum, la base de données dérivée de PostgreSQL : https://github.com/greenplum-db. C
|
Scooped by
Mickael Ruau
August 19, 2015 6:14 AM
|
Class Summary Behavior Driven Development (BDD) is a rising methodology to test and check your code. Cucumber is a flagship BDD tool and this course is geared to make you Cucumber pro!
|
Scooped by
Mickael Ruau
April 11, 2015 11:21 AM
|
Au lieu d'être ordonnée en lignes et en colonnes, la base de données CouchDB est une collection de documents JSON. De plus, CouchDB contient un serveur HTTP qui permet d'effectuer des requêtes, et renvoie ses données sous forme JSON. On peut ainsi interroger un serveur CouchDB directement avec un navigateur Web, ou on peut exécuter des requêtes avec JavaScript.
|
Scooped by
Mickael Ruau
December 30, 2014 9:23 AM
|
|
Scooped by
Mickael Ruau
December 24, 2014 10:37 AM
|
This is a good place to mention an utility called commons-dbutils (Java). It is a simple tool to map database results to objects that covers the basic cases. It is not an ORM, but it does what an ORM does – maps the database to your objects.
|
Scooped by
Mickael Ruau
December 24, 2014 10:33 AM
|
Personally, I think the only workable solution to the ORM problem is to pick one or the other: either abandon relational databases, or abandon objects. If you take the O or the R out of the equation, you no longer have a mapping problem.
It may seem crazy to abandon the traditional Customer object – or to abandon the traditional Customer table – but picking one or the other is a totally sane alternative to the complex quagmire of classes, objects, code generation, SQL, and stored procedures that an ORM "solution" typically leaves us with.
Both approaches are certainly valid. I tend to err on the side of the database-as-model camp, because I think objects are overrated.
|