clojure-france

2020-09-13T05:54:17.099900Z

[Off topic] Extrait des tests de ma propagation des diff - les Clojuriens bordelais comprendront.

(let [state {:items [nil nil nil {:name "Pain au chocolat"} nil]}
          new-state {:items [nil nil nil {:name "Chocolatine"} nil]}
          diff (h/map-update :items (h/vec-update 3 (h/map-assoc :name "Chocolatine")))
          subscriber-tree (-> empty-subscriber-tree
                              (subscribe-on-path [] 1)
                              (subscribe-on-path [:items] 2)
                              (subscribe-on-path [:items 3] 3)
                              (subscribe-on-path [:items 3 :name] 4))]
      (is (= (state-diff->subscribers state diff subscriber-tree)
             [[1 {:state state
                  :new-state new-state
                  :diff diff}]
              [2 {:state (-> state :items)
                  :new-state (-> new-state :items)
                  :diff (h/vec-update 3 (h/map-assoc :name "Chocolatine"))}]
              [3 {:state (-> state :items (get 3))
                  :new-state (-> new-state :items (get 3))
                  :diff (h/map-assoc :name "Chocolatine")}]
              [4 {:state (-> state :items (get 3) :name)
                  :new-state "Chocolatine"
                  :diff (h/value "Chocolatine")}]])))

val_waeselynck 2020-09-13T15:25:55.109400Z

Et du coup, quand tu manges du pain au raisins, t'appelles ça une raisinine ?

👎 1
2020-09-14T03:06:56.109700Z

J'appelle ca un pain aux raisins. J'ai toujours connu la chocolatine comme etant une chocolatine dans ma region, c'est pas comme si on avait change le nom de Pain au chocolat vers Chocolatine. De la meme facon, on ne va pas changer un pain aux raisins.

baptiste-from-paris 2020-09-14T11:46:33.115200Z

Chocolatine powaaa !!!

🩜 1
😎 1
🎉 1
val_waeselynck 2020-09-14T18:56:49.122100Z

En vrai, je suis tellement en manque de bonne viennoiseries que je pourrais en acheter mĂȘme si c'Ă©tait Ă©crit chocolatine.

val_waeselynck 2020-09-14T18:57:19.122300Z

Et qui plus est, je pourrais mĂȘme acheter du Saint-Genix prĂ©sentĂ© comme une "brioche pralinĂ©e". J'en suis lĂ .

2020-09-15T11:53:45.122900Z

Je te comprends beaucoup 
 a Taiwan, nous sommes en rupture de Fromage Francais a cause du COVID.

2020-09-13T08:22:50.107200Z

Pour revenir sur le concept de CRUD, le problĂšme est que le modĂšle est assez limitĂ© (en gros l’utilisateur Ă©dite des record/lignes de la base de donnĂ©es) et ça ne prend pas en compte toute la subtilitĂ© des interactions avec le logiciel car derriĂšre l’update se cachent souvent tout un tas de rĂšgles mĂ©tiers planquĂ©es. Une approche beaucoup plus fine et puissante avait Ă©tĂ© proposĂ© avec le framework Naked Object, cf le bouquin https://b-ok.cc/book/1010067/44fb2f et la thĂšse de Pawson lĂ -dessus : http://isis.apache.org/docs/ug/fun/_attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf En gros la UI et tout le reste dĂ©rive complĂštement du modĂšle objet du domaine. J’expĂ©rimente depuis quelques mois sur l’utilisation des concepts DDD en Clojure, donc data-driven, pour dĂ©crire le domaine et dĂ©river la logique applicative (endpoint REST, UI, http://etc.et d’infrastructure (persistance, messaging, sĂ©curitĂ©) depuis ces data structure qui dĂ©crive le domaine. Pour ceux que ça intĂ©resse on peut se faire une session de brainstorm lĂ -dessus. L’aspect dynamique et data-driven de Clojure peut complĂštement changer la donne sur ce genre d’approche. Le point clĂ© est d’avoir un mĂ©ta-modĂšle de description du domaine suffisamment expressif et puissant pour dĂ©river le reste du code avec des hooks placĂ©s aux bons endroits pour ce qui resterait spĂ©cifique.

👍 5
val_waeselynck 2020-09-13T14:49:08.108Z

@jeremie le lien de la thÚse est cassé

val_waeselynck 2020-09-13T14:50:37.108200Z

> Le point clĂ© est d’avoir un mĂ©ta-modĂšle de description du domaine suffisamment expressif et puissant pour dĂ©river le reste du code avec des hooks placĂ©s aux bons endroits pour ce qui resterait spĂ©cifique. Bon, pour ça tu sais dĂ©jĂ  ce que je propose 😉 https://vvvvalvalval.github.io/posts/2018-07-23-datascript-as-a-lingua-franca-for-domain-modeling.html

val_waeselynck 2020-09-13T14:53:48.108400Z

Tu as peut-ĂȘtre entendu parler du Hodur, qui dĂ©rive de cette approche ? https://github.com/hodur-org

👍 1
👀 1
val_waeselynck 2020-09-13T14:55:31.108900Z

(Je ne recommande pas particuliĂšrement Hodur. Ils traitent la base DataScript sous-jacente comme un dĂ©tail d'implĂ©mentation, alors que je pense qu'il est gĂ©nĂ©ralement plus sain d'en faire l'API du modĂšle, pour ne pas tomber dans les mĂȘmes travers que d'autres frameworks. Mais bon, ça pourrait t'intĂ©resser).