David Parnas, On the criteria to be used in decomposing systems into modules, 1971 https://prl.khoury.northeastern.edu/img/p-tr-1971.pdf
Peter Naur, Programming as Theory Building, 1985 https://pablo.rauzy.name/dev/naur1985programming.pdf
David Parnas, On the criteria to be used in decomposing systems into modules, 1971 https://prl.khoury.northeastern.edu/img/p-tr-1971.pdf
Peter Naur, Programming as Theory Building, 1985 https://pablo.rauzy.name/dev/naur1985programming.pdf
Devoxx Uni - Hexagonal Architecture - together with Thomas Pierrain & Cyrille Martraire: https://www.youtube.com/watch?v=wZ7cxcU4iPE
Devoxx Uni - Property-Based Testing (Invariants) together with Romeu Moura https://www.youtube.com/watch?v=O-LWbSUaEQU
Devoxx Uni - Modular Architecture - together with Arnauld Loyer https://www.youtube.com/watch?v=1igv2rHGKfo
Devoxx Talk - Domain-Driven Design pour de vrai !
Sandro Mancuso et ”la gueule de bois agile” : https://www.infoq.com/articles/mancuso-software-craftsman/
Université Devoxx 2018 sur l’architecture (YouTube): https://www.youtube.com/watch?v=1igv2rHGKfo
Mob Programming (Woody Zuill): https://mobprogramming.org/
Testing in Production (Charity Major): https://www.infoq.com/presentations/testing-production-2018/
Functional Core Imperative Shell: https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
Following my talk “Modeling Music for DDD Practitioners” at #NewCraftBdx here are the related link.
Dubstep Wobble in Java: https://gist.github.com/cyriux/aa82e1676c60ba6fce3a7e160fbcbc46
MPC Maid Editor & Chop Slices using a onset Detection: https://github.com/cyriux/mpcmaid
And the video: https://www.youtube.com/watch?v=_Nm_bCox50Y
| package com.martraire.synthesis; | |
| import org.junit.Test; | |
| import com.jsyn.JSyn; | |
| import com.jsyn.Synthesizer; | |
| import com.jsyn.ports.UnitInputPort; | |
| import com.jsyn.unitgen.Add; | |
| import com.jsyn.unitgen.FilterLowPass; | |
| import com.jsyn.unitgen.LineOut; |
Les slides ici: https://www.slideshare.net/cyriux/sunny-tech-2019-craft-forever
| package pbt; | |
| import static org.junit.Assert.assertEquals; | |
| import static pbt.MonoidTest.Balance.ERROR; | |
| import static pbt.MonoidTest.Balance.ZERO; | |
| import org.junit.runner.RunWith; | |
| import com.pholser.junit.quickcheck.From; | |
| import com.pholser.junit.quickcheck.Property; |
| package com.cyrillemartraire.monoids; | |
| import static java.lang.Double.doubleToLongBits; | |
| import static java.util.Arrays.asList; | |
| import static org.junit.Assert.assertEquals; | |
| import java.time.LocalDate; | |
| import java.util.ArrayList; | |
| import java.util.Arrays; | |
| import java.util.Collections; |
| package com.cyrillemartraire.monoids; | |
| import static org.junit.Assert.assertEquals; | |
| import java.util.Arrays; | |
| import org.junit.Test; | |
| public class HistogramTest { |
| public class Weight { | |
| private final double weight; | |
| public final static Weight ZERO = new Weight(0.); | |
| public Weight(double weight) { | |
| if (weight < 0) { | |
| throw new IllegalArgumentException("Weight must be positive"); | |
| } | |
| this.weight = weight; |