Devops for Growth
112.0K views | +4 today
Follow
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'sgbd'. Clear
Scooped by Mickael Ruau
October 26, 2021 10:18 AM
Scoop.it!

Engineers and Programmers, Stop Writing So Much Firmware

Engineers and Programmers, Stop Writing So Much Firmware | Devops for Growth | Scoop.it
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
No comment yet.
Scooped by Mickael Ruau
October 8, 2021 10:31 AM
Scoop.it!

NocoDB, une alternative open source à Airtable, transformerait une base de données relationnelle en une feuille de calcul intelligente, compatible avec la plupart des bases données populaires

NocoDB, une alternative open source à Airtable, transformerait une base de données relationnelle en une feuille de calcul intelligente, compatible avec la plupart des bases données populaires | Devops for Growth | Scoop.it
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.
No comment yet.
Scooped by Mickael Ruau
January 18, 2018 6:19 AM
Scoop.it!

EXPERTISE – LE DATA THINKING POUR RÉUSSIR VOS PROJETS DE DATA SCIENCE EN 7 ÉTAPES

EXPERTISE – LE DATA THINKING POUR RÉUSSIR VOS PROJETS DE DATA SCIENCE EN 7 ÉTAPES | Devops for Growth | Scoop.it

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).

Mickael Ruau's insight:

Pour revenir à notre problématique initiale, nous pouvons nous demander pourquoi le design thinking classique ne peut pas être utilisé dans le contexte d’un projet de data science afin d’en maximiser la valeur produite. En réalité, il est possible de l’utiliser à condition de l’envisager dans un contexte de Data Science. Nous nommerons cette nouvelle démarche le data thinking.

Les 7 étapes d’un projet data thinking

No comment yet.
Scooped by Mickael Ruau
July 8, 2016 4:12 PM
Scoop.it!

Connection Strings - Database Connectionstrings

Connection Strings - Database Connectionstrings | Devops for Growth | Scoop.it
ConnectionString: Reference for all common database connection strings
Mickael Ruau's insight:

Finding it hard to remember database connection strings?
Everybody does!  Here is an easy-to-use reference of connection
strings for numerous databases and data stores.

 

 

Select your database

 

Code samples are in C#.

No comment yet.
Scooped by Mickael Ruau
February 15, 2016 8:39 AM
Scoop.it!

Top 10 TDD Resources: TDD Checklist Expansion Pack - DZone DevOps

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
No comment yet.
Scooped by Mickael Ruau
February 13, 2016 3:59 AM
Scoop.it!

Build Something That Your Users Want - an Introduction to BDD

Build Something That Your Users Want - an Introduction to BDD | Devops for Growth | Scoop.it
Nathan Peterson introduces Behavior Driven Development, showcasing its adoption by his team along with successes and failures using it.
No comment yet.
Scooped by Mickael Ruau
October 29, 2015 9:08 AM
Scoop.it!

Verifying Database Code by Using Unit Tests

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.

Mickael Ruau's insight:

You can create and run database unit tests without having a database project open. However, if you want to auto-generate test scripts to test specific database objects from your project, you must open the database project that contains the objects that you want to test.

No comment yet.
Scooped by Mickael Ruau
October 28, 2015 4:08 PM
Scoop.it!

Not unit testing your databases? You should be

Not unit testing your databases? You should be | Devops for Growth | Scoop.it
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.
No comment yet.
Scooped by Mickael Ruau
August 19, 2015 6:07 AM
Scoop.it!

BDD Tool Cucumber is Not a Testing Tool

BDD Tool Cucumber is Not a Testing Tool | Devops for Growth | Scoop.it
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.
No comment yet.
Scooped by Mickael Ruau
April 11, 2015 11:21 AM
Scoop.it!

CouchDB : le guide authentique

Partie I. Introduction [complète]


1. Pourquoi CouchDB ?2. Cohérence finale3. Premiers pas4. Les fondamentaux de l’API


Part II. Developing with CouchDB [non traduite]


5. Design Documents6. Trouver vos données à l’aide des vues7. Fonctions de validation8. Fonctions d’affichage9. Transforming Views with List Functions


Partie III. Exemples d’application [complète]


10. Applications autonomes11. Gestion des design documents12. Stockage des documents13. Afficher des documents dans des formats particuliers14. Lister les articles


Partie IV. Déploiement de CouchDB [complète]


15. Principes de dimensionnement16. Réplication17. Gestion des conflits18. Équilibrage de charge19. Groupement de serveurs


Part V. Références [complète]


20. Notification des mises à jour21. Correspondances entre SQL et vues CouchDB22. Sécurité23. Haute performance24. RecettesTable des matièresAvant-proposPréface


Part VI. Appendix


A. Installing on Unix-like SystemsB. Installing on Mac OS XC. Installing on WindowsD. Installing from SourceE. JSON PrimerF. The Power of B-treesColophon


Mickael Ruau's insight:

Si vous avez une application en production, CouchDB fait en sorte de ne pas vous déranger. Son architecture interne est tolérante aux pannes, les défaillances se produisent dans un environnement contrôlé et sont gérées harmonieusement. Les problèmes unitaires ne se cascadent pas à travers tout le système, mais demeurent isolés dans les requêtes.

Les concepts fondamentaux de CouchDB sont simples, puissants et bien compris. Les équipes d’exploitation (si vous en avez une ; à défaut, c’est vous) n’ont pas à s’inquiéter de comportements aléatoires et d’erreurs impossibles à tracer. Si quelque chose devait aller de travers, vous pourriez facilement trouver le problème ; mais ces situations sont rares.

CouchDB est aussi conçu pour s’adapter aux variations de trafic. Par exemple, si un site web connaît un pic soudain de trafic, CouchDB absorbera généralement un grand nombre de requêtes concurrentes sans s’effondrer. Cela nécessitera peut-être plus de temps pour chaque requête, mais elles seront toutes satisfaites. Quand ce pic retombe, CouchDB recouvrera sa rapidité habituelle.

No comment yet.
Scooped by Mickael Ruau
December 24, 2014 10:39 AM
Scoop.it!

DbUtils - JDBC Utility Component

DbUtils - JDBC Utility Component | Devops for Growth | Scoop.it

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.

Mickael Ruau's insight:

DbUtils is not:


An Object/Relational bridge - there are plenty of good O/R tools already. DbUtils is for developers looking to use JDBC without all the mundane pieces.
A Data Access Object (DAO) framework - DbUtils can be used to build a DAO framework though.
An object oriented abstraction of general database objects like a Table, Column, or PrimaryKey.
A heavyweight framework of any kind - the goal here is to be a straightforward and easy to use JDBC helper library.

No comment yet.
Scooped by Mickael Ruau
December 24, 2014 10:34 AM
Scoop.it!

ORM is an anti-pattern | Seldo.Com Blog

ORM is an anti-pattern | Seldo.Com Blog | Devops for Growth | Scoop.it
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.
Mickael Ruau's insight:
In summary (TL;DR)
  • ORM is initially simpler to understand and faster to write than SQL-based model code
  • Its efficiency in the early stages of any project is adequate
  • Unfortunately, these advantages disappear as the project increases in complexity: the abstraction breaks down, forcing the dev to use and understand SQL
  • Entirely anecdotally, I claim that the abstraction of ORM breaks down not for 20% of projects, but close to 100% of them.
  • Objects are not an adequate way of expressing the results of relational queries.
  • The inadequacy of the mapping of queries to objects leads to a fundamental inefficiency in ORM-backed applications that is pervasive, distributed, and therefore not easily fixed without abandoning ORM entirely.
  • Instead of using relational stores and ORM for everything, think more carefully about your design
  • If your data is object in nature, then use object stores ("NoSQL"). They'll be much faster than a relational database.
  • If your data is relational in nature, the overhead of a relational database is worth it.
  • Encapsulate your relational queries into a Model layer, but design your API to serve the specific data needs of your application; resist the temptation to generalize too far.
  • OO design cannot represent relational data in an efficient way; this is a fundamental limitation of OO design that ORM cannot fix.
No comment yet.
Scooped by Mickael Ruau
December 3, 2014 4:01 AM
Scoop.it!

Le PostgreSQL Global Development Group a publié la version PostgreSQL 9.4 Release Candidate

Le PostgreSQL Global Development Group a publié la version PostgreSQL 9.4 Release Candidate | Devops for Growth | Scoop.it
PostgreSQL 9.4 RC1 peut être obtenu en se rendant sur la page : http://www.postgresql.org/download

Cette page inclut les binaires et installeurs pour Windows, Linux et Mac.

La documentation complète de la nouvelle version est disponible en ligne : http://www.postgresql.org/docs/devel/static, et s'installe également avec PostgreSQL.
No comment yet.
Scooped by Mickael Ruau
October 8, 2021 10:32 AM
Scoop.it!

Dolt, une base de données SQL avec des fonctions de contrôle de version, qui peut être forké, cloné, dérivé et DoltHub, un site Web qui héberge les BDD Dolt, décrit comme un Git pour les BDD

Dolt, une base de données SQL avec des fonctions de contrôle de version, qui peut être forké, cloné, dérivé et DoltHub, un site Web qui héberge les BDD Dolt, décrit comme un Git pour les BDD | Devops for Growth | Scoop.it

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
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:34 AM
Scoop.it!

Installing PostgreSQL using Docker

Installing PostgreSQL using Docker | Devops for Growth | Scoop.it
How to install PostgreSQL using Docker, along with some basic Docker management operations as well as some examples.
No comment yet.
Scooped by Mickael Ruau
September 6, 2016 4:00 PM
Scoop.it!

10 orm patterns: components of a object-relational mapper - Invisible to the eye

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.
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. Query Object: a class that represents a query for retrieving objects, encapsulating Sql or other high level languages.
  9. Criteria Object: a class that represents a set of criteria for selection of objects of a particular model.
  10. 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.
No comment yet.
Scooped by Mickael Ruau
February 19, 2016 1:12 AM
Scoop.it!

How to Completely Fail at BDD - DZone DevOps

Are you interested in introducing BDD to your team? Don’t try and do it like this under these circumstances. Learn from my failure.
No comment yet.
Scooped by Mickael Ruau
February 15, 2016 4:46 AM
Scoop.it!

Le BDD, qu’est ce que c’est? | Blog Arolla

Le BDD, qu’est ce que c’est? | Blog Arolla | Devops for Growth | Scoop.it
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.
No comment yet.
Scooped by Mickael Ruau
December 8, 2015 11:24 AM
Scoop.it!

Main Page - STIQ

Main Page - STIQ | Devops for Growth | Scoop.it

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.

No comment yet.
Scooped by Mickael Ruau
October 28, 2015 4:54 PM
Scoop.it!

GreenPlum publié en open source - InformatiqueNews.fr

GreenPlum publié en open source - InformatiqueNews.fr | Devops for Growth | Scoop.it
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
No comment yet.
Scooped by Mickael Ruau
August 19, 2015 6:14 AM
Scoop.it!

Cucumber Testing Tutorials for Beginners

Cucumber Testing Tutorials for Beginners | Devops for Growth | Scoop.it

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! 

No comment yet.
Scooped by Mickael Ruau
April 11, 2015 11:21 AM
Scoop.it!

CouchDB — Wikipédia

CouchDB - Wikipédia

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.

No comment yet.
Scooped by Mickael Ruau
December 24, 2014 10:37 AM
Scoop.it!

ORM Haters Don’t Get It | Bozho's tech blog

ORM Haters Don’t Get It | Bozho's tech blog | Devops for Growth | Scoop.it
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.
Mickael Ruau's insight:

So, to summarize – ORMs are doing what you would need to do anyway, but it is almost certain that a framework that’s been around for 10 years is better than your homegrown mapper, and they are providing a lot of necessary and important extras on top of their core functionality.


They also have two weak points (they both practically say “you need to know what you are doing”):

  • they are easy to misuse, which can lead to fetching huge, unnecessary results from the database. You can very easily create a crappy mapping which can slow down your application. Of course, it is your responsibility to have a good mapping, but ORMs don’t really give you a hand there
  • their session management is complicated, and although it is for very good reasons, it may require a very experienced person on the team to set things up properly

I’ve never seen these two being used as arguments against ORMs, whereas the wrong ones in the beginning of this article are used a lot, which leads me to believe that people raging against ORMs rarely know what they are talking about.

No comment yet.
Scooped by Mickael Ruau
December 24, 2014 10:33 AM
Scoop.it!

Object-Relational Mapping is the Vietnam of Computer Science

Object-Relational Mapping is the Vietnam of Computer Science | Devops for Growth | Scoop.it
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.
No comment yet.