Clojurians
#clojure-italy
<
2018-04-23
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

reborg07:04:13

buongiorno slackers, allora com'era l'atmosfera ad amsterdam?

manuel07:04:06

buondì. Una meraviglia. Sto giusto ora scrivendo un post riassuntivo per il blog. Stay tuned. :slightly_smiling_face:

nilrecurring07:04:25

Concordo con Manuel, è stato fantastico. Come sempre, complimenti a @skuro per l’ottima organizzazione e ospitalità :slightly_smiling_face:

mdallastella08:04:25

@reborg Wonderful

reborg08:04:20

c'e' un qualche top #1 take away dalla conferenza che vi siete portati a casa? Tipo: nuova lib, letture, chicche, pettegolezzi?

nilrecurring08:04:11

Sembra che il generative testing (`test.check`) stia finalmente prendendo piede

nilrecurring08:04:30

Inoltre: GraphQL. L’ultima volta che ho provato a convincermi non c’era abbastanza tooling in giro, ma ora la situazione sembra molto migliore, quindi penso che il prossimo progetto fullstack qui proveremo GraphQL

nilrecurring08:04:11

Si ho appena finito di leggere il README, avevo la tab aperta da venerdì :slightly_smiling_face:

nilrecurring08:04:43

E questo è quello che ha presentato nel talk: https://github.com/wilkerlucio/pathom

mdallastella08:04:06

@reborg molto sul testing, in effetti. GraphQL è interessante, ma lo vedo limitato alla comunicazione tra frontend -> backend, imho

reborg08:04:14

GraphQL ha preso piede anche qui da noi da 6 mesi a questa parte. Il punto di forza maggiore per noi e' nell'esporre API verso terze parti. Invece di produrre una miriade di endpoints per fare query di questo o di quello, ora gli proponiamo un endpoint solo :slightly_smiling_face:

reborg08:04:47

Ed un client minimale per il loro linguaggio, se non hanno dimestichezza con graphQL

reborg08:04:55

Inoltre dalla spec graphQL si posso derivare altre specs

mdallastella08:04:33

Si, ecco, anche tra services diversi

reborg08:04:51

sono ancora un novizio con test.check ma ho mosso i primi passi negli ultimi progetti. Ora che clojure.spec.test.alpha si integra, ho qualche unit test generativo

reborg08:04:10

e.g.

(require '[clojure.test :refer :all]
         '[clojure.spec.test.alpha :as stest]))

(defmacro generative [sym num-tests]
  `(let [opts# {:clojure.spec.test.check/opts {:num-tests ~num-tests}}]
     (-> (stest/check ~sym opts#)
         first
         stest/abbrev-result
         :failure
         nil?
         (is "\n*** Failed generative testing ***\n"))))

(deftest ^:generative some-generative-test
  (generative `core/myfn 50))

reborg08:04:48

... myfn deve avere il suo corredo di core.spec

reborg08:04:47

e ^:generative si collega ad un profile di test da attivare con lein test :generative

mdallastella09:04:56

L'unica perplessità che ho su GraphQL, avendo io un background su graph db, è come fare query sugli edge invece che sui nodi. Non so nemmeno se sia possibile.

mdallastella15:04:18

Ah, @skuro, grazie per avermi nominato ReasonML ieri, molto interessante.

bronsa15:04:57

c’e` anche bucklescript

bronsa15:04:16

(che preferisco a reason)

mdallastella15:04:29

@bronsa da quel che ho capito, ReasonML usa bucklescript per Javascript

mdallastella15:04:08

Dal sito di ReasonML: > "We use the BuckleScript compiler to compile Reason to JavaScript, then we use NodeJS to run the JavaScript"

bronsa15:04:03

@mdallastella bucklescript semplicemante rimpiazza il backend di ocaml con uno che compila a javascript

bronsa15:04:14

reasonml e` un frontend diverso per il compilatore ocaml

bronsa15:04:24

reason + bucklescript hai la sintassi di reason su js

mdallastella15:04:17

Sì sì, questo l'avevo capito. Intendi quindi dire che preferisci il "vanilla" OCaml a Reason?

bronsa17:04:47

sì esatto