Devops for Growth
111.7K views | +6 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: 'algorithme'. Clear
Scooped by Mickael Ruau
December 6, 2021 10:47 AM
Scoop.it!

Revisiting Switch and If-then-else – DZone Web Dev | Mac Pro Tricks

Revisiting Switch and If-then-else – DZone Web Dev | Mac Pro Tricks | Devops for Growth | Scoop.it

Even Uncle Bob has addressed the subject. In npm alone, countless packages have been released to provide an alternative. People tend to think that the catch with Contact and if-then-else is that the more branches in your code, the more opportunities for untested and unexpected behavior. Each branch requires different use cases to be thoroughly tested, and although some tools, such as Istanbul, provide an indication of how many branches have been performed, in addition to the traditional feature coverage. But branches are part of the nature of programming, there is nothing we can do about it.

In this brief statement, I would like to give a new spin on when to use control structures and when to use some functional alternatives.

Mickael Ruau's insight:

 

Ever since I discovered Dr. Lamport’s Temporal Logic of Action, my programming style has changed to become more explicit about tasks versus mutations of the application mode and more aware of temporal logic. For me, there are three core patterns in programming: object-oriented programming, functional programming, and temporal programming. One developer should master all three and use them accordingly, no pattern wins over the other. We can not write good programs with only one pattern.

One of the key concepts in temporal programming is the concept control mode: when the light is off, and if the switch is in the off position, I can trip the light is on Or else check the switch (in bold we have actions as expected in a given control mode). These are extremely familiar concepts we use every day, but for some reason we rarely come across control mode in the code we write. My view of this is that the situation arose due to the lack of alternative constructions with a good enough developer experience, and partly due to the ease of use of the switch and if-so-otherwise, over the stringency required to use temporal programming constructions, but that discussion is for another article. I would like to focus here on something that is much simpler and more practical.

First, we must absolutely stop using these control structures for (complex) tasks, it leads to some pretty ugly code that is hard to read and debug. How many times have you written such a code? plain on, tell me in the comments …

How about a functional alternative?

No comment yet.
Scooped by Mickael Ruau
June 21, 2021 12:56 PM
Scoop.it!

Coding Horror posts that every programmer should read, at least twice. · GitHub

Coding Horror posts that every programmer should read, at least twice. - gist:7789984
Mickael Ruau's insight:
About being a programmer
No comment yet.
Scooped by Mickael Ruau
July 8, 2020 4:24 AM
Scoop.it!

Complexité en espace — Wikipédia

Complexité en espace

En algorithmique, la complexité en espace est une mesure de l'espace utilisé par un algorithme, en fonction de propriétés de ses entrées. L'espace compte le nombre maximum de cases mémoire utilisées simultanément pendant un calcul. Par exemple le nombre de symboles qu'il faut conserver pour pouvoir continuer le calcul.

No comment yet.
Scooped by Mickael Ruau
March 29, 2019 12:39 PM
Scoop.it!

Timsort — the fastest sorting algorithm you’ve never heard of - DEV Community �‍��‍�

Timsort — the fastest sorting algorithm you’ve never heard of - DEV Community �‍��‍� | Devops for Growth | Scoop.it
An O(n log n) stable sorting algorithm built in the real world, not academia.
No comment yet.
Scooped by Mickael Ruau
February 27, 2014 10:35 AM
Scoop.it!

Ce qu'il faut retenir de la faille de sécurité d'Apple et comment s'en protéger

Ce qu'il faut retenir de la faille de sécurité d'Apple et comment s'en protéger | Devops for Growth | Scoop.it
Récemment dévoilée, une important faille de sécurité fragilise les systèmes iOS et Mac OS. Que penser de cette vulnérabilité ? Comment s'en prévenir ? Des consultants en sécurité du cabinet Lexsi délivrent leurs recommandations.
Mickael Ruau's insight:
Notons que ce type de faille, i.e. faille logique, est un bon cas d’école. Notre expérience en audit de code spécialisé en détection de vulnérabilités, nous a appris à maintes reprises que les vulnérabilités les plus dramatiques viennent généralement d’une erreur d’implémentation.
Réflexion sur cette vulnérabilité. Cette vulnérabilité est très étonnante. En effet nous avons montré que la dernière partie du code, celle qui vérifie effectivement les paramètres échangés, n’est jamais exécutée (c’est ce 
qu’on appelle dans le jargon du « code mort »). On pourrait être tenté de penser qu’une société comme Apple utilise des logiciels de qualité de code permettant notamment de détecter les portions de code jamais appelées/inutiles.
No comment yet.
Scooped by Mickael Ruau
June 23, 2021 3:12 AM
Scoop.it!

Rosetta Code - Wikipedia

Rosetta Code - Wikipedia | Devops for Growth | Scoop.it

Rosetta Code is a wiki-based programming website with implementations of common algorithms and solutions to various programming problems in many different programming languages.

Mickael Ruau's insight:

Some of the tasks found on Rosetta Code include:[10]

No comment yet.
Scooped by Mickael Ruau
July 8, 2020 4:49 AM
Scoop.it!

Catégorie:Théorie de la complexité des algorithmes — Wikipédia

Catégorie:Théorie de la complexité des algorithmes — Wikipédia | Devops for Growth | Scoop.it
No comment yet.
Scooped by Mickael Ruau
July 8, 2020 4:23 AM
Scoop.it!

Comprendre la notation Big O en 7 minutes

Comprendre la notation Big O en 7 minutes | Devops for Growth | Scoop.it


La notation Big O (ou complexité algorithmique) est une manière standard de mesurer la performance d’un algorithme. C’est une manière mathématique de juger de l’efficacité de ton code. J’ai dit le mot mathématique et j’ai fait fuir tout le monde. Encore une fois, pas besoin d’avoir fait mathsup’ mathspé’ pour comprendre et utiliser cette notation.

Cette notation va te permettre de mesurer l’évolution du taux de croissance de ton algo par rapport aux données d’entrées. Ça va décrire le pire cas possible au niveau de la performance de ton code. Aujourd’hui, on ne va pas parler de complexité en espace, mais seulement de complexité en temps.

Et ça va plus loin que simplement mettre un timer avant et après une fonction pour voir combien de temps ça prend.
No comment yet.
Scooped by Mickael Ruau
February 23, 2015 3:48 PM
Scoop.it!

Clever Algorithms: Nature-Inspired Programming Recipes | Table of Contents

Clever Algorithms: Nature-Inspired Programming Recipes | Table of Contents | Devops for Growth | Scoop.it
Clever Algorithms: Nature-Inspired Programming Recipes
Mickael Ruau's insight:

This is the ad-supported version of the book. Buy it now if you like it.

No comment yet.