Fork me on GitHub
#clojure-hungary
<
2021-12-01
>
onetom13:12:32

sziasztok! mi újság felétek?

sb17:12:12

Magyarorszagon? Nem sokara jon a Telapo! 😄 😉

sb17:12:42

Hong Kongban unneplik?

onetom01:12:43

a külföldiek szokták ünnepelni. Hong Kong-iak csak akkor, ha keresztények. itt a szigetünkön a gyerekeknek szoktak rendezni Mikulást. elég fura mondjuk, mikor 18-20 fokban Mikulás sétál a tengerparton :)

😄 1
onetom14:12:09

én nemrég próbáltam a https://github.com/nubank/state-flow -t, de nem vált be. triviálisan el lehet érni ugyanazt a tesztelési stílust, alap Clojure eszközökkel, meg némi konvencióval és a Cursive érti a kódot és működik a jump to definition meg a mindenféle refactoring. mi azt találtuk ki, hogy a teszt állapotot S-nek hívjuk egységesen a flow-stílusú tesztekben, (atom {})-ként definiáljuk és úgy használjuk mint egy iskola táblát (https://en.m.wikipedia.org/wiki/Blackboard_system)

👀 1
onetom14:12:52

így tudunk pl ilyesmi teszteket írni, hogy:

(transact db-conn :user-1 data-for-user-1)
(swap! S assoc :user-1 (query-user-state (latest-db-val) :user-1))
(transact db-conn :user-2 data-for-user-2)
;; user-1 can't see user-2's data
(is (= (-> @S :user-1)
       (query-user-state (latest-db-val) :user-1)))
stb...

onetom14:12:37

ti hogy teszteltek összetettebb rendszereket?

sb17:12:21

Engem igazabol mostanaban a security issue-k “idegesitenek”, igy bar meg nem fejeztem be egy proxy tunnelt kezdtem el.. Netty alapon (aleph-el kezdtem), ami hasonlit pl Tor vagy Blurp technologiajara. Lenyegeben szeretnem automatizalni a fobb problemak felismereset a tesztelesi fazisban. Egyszer meg van es utana barmikor lehet hasznalni es boviteni.

sb17:12:45

Nekem ez nagyon hianyzik most, szoval december vegen ezzel fogok ujra foglalkozni, ha tudok.

Aron08:12:30

Property based testing vagy semmi

onetom15:03:05

@U0VQ4N5EE elkerülte ez az üzenet a figyelmemet :) közvetlen test.check-et használsz vagy clojure.spec-re is támaszkodsz? más egyéb segédeszközt tudsz javasolni? test.chuck pl? vagy valami talk, ami sokat segített elsajátítani ezt a technikát? emlékszek volt egy talk arról hogy stateful rendszereket, pl konkrétan Dropbox-ot, hogy lehet tesztelni. jó lenne látni konkrét példát ilyenre Clojure-ben... mi elkezdtünk in-memory Datomic dev-local klients használni external rendszerek állapotának a modellezésére. ígéretes a megközelítés eddig...

Aron15:03:07

én clojure-t csak szeretnék használni, főleg js-ben írtam property based teszteket

Aron15:03:12

elsajátítani, annak idején néztem valamiket, de nem nagy kunszt, a unit tesztből indulsz ki és általánosítod

Aron15:03:27

nekem főleg UI-on jó a különféle edge casek tesztelésére amit kézzel nagyon unok végigkattogtatni

Aron15:03:41

de amúgy ja, a lényeg a séma, vagyis vagy spec vagy valami, bármi mód amivel leírod az elvárásokat az adatról

onetom15:03:23

ez mi az akadálya hogy Clojure-t használj?

Aron15:03:03

én főként JSON-SCHEMA-t használok, mert jsben ennek a legjobb a támogatottsága, de ha egyszer sikerül clojuret használjak, akkor remélem a spec és amiket te is írtál elég lesz hogy őszinte legyek, egy nagyon minimál clojurescriptben írt interfacere felhúztam egy ilyen rendszert, de alig tíz teszteset volt, nem tudom hogyan bírna egy nagyobb feladattal

(:require 
    ["puppeteer" :as p]
;    [cljs.core.async :as async]
    [cljs.spec.alpha :as s]
    [cljs.spec.gen.alpha :as gen]
    [cljs.test :as t]
    [goog.dom :refer [findElement getTextContent]]
    [kitchen-async.promise :as kp]
    [lambdaisland.regal.generator :as regal-gen]
    [tests.config :refer [launch_config TEST_URL]]
    [tests.generators :refer [guest-generators]]))

Aron15:03:34

> ez mi az akadálya hogy Clojure-t használj? Ez olyan tipikus clojure kérdés, hogy nem is tudom hol kezdjem 🙂 .

Aron16:03:29

Nem akadálykérdés a dolog hanem lehetőségkérdés. Nem nagyon van ahol és amire. Az a nagyon kevés alkalom amikor van energiám és időm is csinálni valamit ami nem munkahelynek kell (ahol ugye nem ezt kérik, szóval gondolom nem azt kérdezted miért nem használom munkahelyen:) ), szóval olyankor általában valami célzattal csinálok és mivel nincs a fejlesztői környezet meg, nincsen meg a kellő tapasztalatom hogy tudjam pl. mi fán terem az integrant, és kell-e nekem vagy ha nem kell, mi kell helyette és hasonló kérdésekkel kerülök szembe, inkább az volt a tendencia hogy a már bevált eszközökhöz nyúltam, hogy azt a kis időt kellően ki tudjam használni.

Aron16:03:06

Szóval az elmúlt 8 évben kb 2 hetente vagy 2 havonta leültem egy kicsit clojurözni. Na meg az előző munkahelyemen egy UI-t clojurescriptben raktam össze, de nem használtam igazán ki a nyelvet, mert egy olyan libet használtam ami a react hookjait használja state managementre

onetom00:03:07

mindenkinek mas a hattere, masok a constraint-jei, ezert kerdezem. pl tudsz e angolul kellokeppen ahhoz h kulfoldi cegnek dolgozzal? mi keresunk clojure-os embereket, de egyelore olyanokat, akik vagy mar tudjak kello szinten, vagy pl tudjuk h meg birjak tanulni gyorsan (1-2 honapon belul). ami a fontosabb mint a konkret clojure ismeret az a kommunikacios keszseg, meg a logikus gondolkodas, megbizhatosag, csapat munka.

onetom00:03:06

itt ezen a csatornan pl kerdezhetnel ilyesmiket, h kell e neked az integrant. en szivesen segitek embereknek atlendulni a kezdeti nehezsegeken. a munkahelyemen amugy is par havonta be kell vezetnem uj kollegakat a rendszerunkbe, ugyh jol jon a gyakorlat.

onetom00:03:19

meg jo neha latni mas megkozeliteseket, workflow-kat, h ne szukoljon be az ember

onetom00:03:48

mindig lehet valamit tanulni mas language ecosystem-ekbol

Aron09:03:16

20 éve programozom kb. 2004 óta még pénzt is kapok érte, de csíkszeredában kezdtem és nincs végzetségem, csak a tapasztalat, amiből mára már nem sok minden maradt fenn, főként a nehezebb melók mind NDA-sok. Jelenleg a UK-ban élek több mint 4 éve és egy ultra nagy cégnél vagyok senior frontendes, nem mintha élvezném egy kicsit is, de eltart.

Aron09:03:14

régebb csomó php meló, aztán kicsi java, de főleg js

Aron09:03:54

most meg typescript, de egy folyamatos szenvedés, teljesen fordítottnak érzem ezt a megközelítést, igazi pénzpazarlás a maximumon, csak hát mindenki akivel dolgozom csak ezt ismeri

Aron09:03:03

"industry standard"

Aron10:03:18

Amúgy volt néha hogy kérdezgettem, de inkább csak az adott eszköz channeljén, nem a nagyobb csatornákon, mert ott az a tapasztalat hogy amikor kiderül hogy kezdő vagy elküldenek dokumentációt írni. És én úgy vagyok vele, hogy szerintem a doksit nem azok kell írják akik nem értenek hozzá hanem akik a legjobban értenek hozzá.

Aron18:03:43

Tervezek amúgy minél többet tanulni továbbra is, de nem húsz éves vagyok hogy eltartson a családom amíg tanulok, az én fizetésemből élünk majdnem hárman és rengeteg minden van amivel még szeretnénk foglalkozni és pénzt/időt igényel. Clojure azoknak könnyű akik mint Hickey, el tudnak vonulni 2 évre csak ezzel foglakozni

Aron18:03:34

Régen tudtam IRCen kérdezni és várni két napot a válaszra. Most ha van húsz percem és kérdezek, két hét múlva mikor megint lesz időm akkor a választ hiába keresem. S pláne nem tudok visszakérdezni. 🙂

onetom17:03:50

typescript-tol en is agyrakot meg aranyeret kapok... az a benyomasom rola, h mental masturbation mostly. csak eltakarja a lenyegi kodot a sok type annotation es olyan alapveto dolgokat nem tudsz vele egyszeruen megcsinalni, mint a clojure.spec-el a map-key-ek meg map-value-k kulon specifikalasa. nekem sincs vegzettsegem, de ez sose volt akadaly. nekem is beletelt kb 2-3 evbe, mire odaig jutottam, h bele mertem vagni a clojure-be. datomic keltette igazan fel az erdeklodesem a clojure irant. banom mar h nem kezdtem meg korabban az ismerkedest vele 🙂 azota viszont csak olyan munkahelyre megyek ahol hasznalhatok clojure-t. nekem is van 3 gyerekem meg 1 unokam, de 1 gyerek magyarorszagon el az anyjaval, itt HK-ban meg van 2 filippino helper-unk akik gondoskodnak az unokarol meg a masik gyerekrol, ugyh van idom tanulni, foleg most h itthonrol dolgozok megint.

Aron17:03:35

datalog főleg nagyon bejön

onetom17:03:05

hat lehet erdemes lenne kitalalni akkor h hogyan tudsz palyat korrigalni... 😉

Aron17:03:31

és igen, ahogy írod, ha kiszervezel dolgokat akkor azzal lehet időt spórólni, de egyelőre ami nekem van azt vagy nem lehet vagy nem szeretném kiszervezni

sb15:03:23

A datalog es asami es knowlegde graphok tenyleg utnek a clojure nyelvben. En anno azert kezdtem el erdeklodni felole, mert anno a Palantir adatbazisat is ez adta. Ok pedig tudjak mi a jo dolog, en meg adatbazisokkal fogolalkoztam. Szoval Aron en is biztatlak, hogy vagj bele. Python iterop jo, graalvm is jol mukodik mar raspberry pi-n is, ill arm szervereken. En csak azt sajnalom, nem korabban talalkoztam a Clojure nyelvvel szinten, bar ha nem lettem volna belekenyszeritve melohelyen (kitalaltam hogy gyerunk Clojure-ben es most abban is csinalunk mindent) akkor valoszinuleg feladtam volna.

sb15:03:43

Bar az is teny mindenkinek egyedi az eletutja.

Aron16:03:33

Hát, próbálkozom:D

onetom14:12:09

https://github.com/nubank/matcher-combinators mi ezt használjuk még tesztekben. a state-flow-val ellentétben, ez nagyon bevált!

👀 1
sb17:12:14

Az en tapasztalatom nem mervado a Clojure-ban, bar lassan ket eve ezzel dolgozok. Legalabbis alkalmazom, amikor lehet. Matcher-combinators szerintem is jo.