Fork me on GitHub
#clojure-greece
<
2017-03-15
>
gtsiftsis07:03:41

καλήμερα, ναι το είχα δει και εγώ πριν καιρό

gtsiftsis07:03:00

btw τελείωσα ένα prototype με onyx αν ψήνεστε μπορούμε να κάνουμε κάτι με αυτό

gtsiftsis07:03:06

ίσως μια παρουσίαση κάποια στιγμή

gtsiftsis07:03:28

καλό θα ήταν να κανονίζαμε κάτι σύντομα 🙂 🙂

greenonion08:03:00

@stathissideris πως τα πας απο Java interop; μπορει να χρειαστω καμια γνωμη/συμβουλη

stathissideris08:03:06

@greenonion παλιά ήμουν javάς, ρώτησε με ελεύθερα! :)

greenonion08:03:27

tl;dr θελω να παιξω με το apache beam το οποιο εχει java sdk και προσπαθω να καταλαβω ποσο feasible ειναι να χρησιμοποιησω interop vs να καταπιω την περηφανια μου και να γραψω java

greenonion08:03:46

και βλεπω ενα library που κανει wrap το παλιο sdk και μου φαινεται απειρη δουλεια

greenonion08:03:02

αλλα δε μπορω να αξιολογησω αν χρειαζεται

greenonion08:03:51

λιγο που το κοιταξα μπερδευομαι γιατι εχει annotations, anonymous classes, generics κλπ και μπλεκομαι 🙂

greenonion08:03:05

εννοω το Java SDK τα εχει αυτο

greenonion08:03:37

που ειναι το πιο απλο example

greenonion08:03:40

χρησης του SDK

greenonion08:03:00

no pressure προφανως, ΑΝ βρεις χρονο και ορεξη 🙂

stathissideris08:03:11

@greenonion ta generics mporeis na ta agnohseis plhrws

stathissideris08:03:10

a opote to beam einai san to Onyx kapws e?

greenonion08:03:30

ειναι Google

greenonion08:03:40

βασικα ειναι ενα SDK

greenonion08:03:43

και διαλεγεις engine

greenonion08:03:54

ενα απ’ τα engines ειναι το Cloud Dataflow που ειναι στο Google cloud

greenonion08:03:02

αλλα παιζεις και με αλλα, π.χ. Apache Flink

greenonion08:03:24

ο gtsiftsis παιζει με Onyx αλλα θα θελαμε να δουμε και την εναλλακτικη

greenonion08:03:35

γιατι φαινεται μεγαλο/σοβαρο project το Beam

stathissideris09:03:19

@greenonion den vgainei kai poly kako, alla o peirasmos na to kanw pio clojury einai megalos: https://gist.github.com/stathissideris/12f5a65b047b9b5c0636f78e5f145965

greenonion09:03:04

γμτ το δουλευω σπιτι και δεν το εχω προχειρο εδω

greenonion09:03:10

κατι δεν πηγαινε καλα με το reify

stathissideris09:03:10

@greenonion to mono gia to opoio exw amfivolia einai to Count.<String>perElement()

greenonion09:03:17

και το δοκιμασα και με proxy

greenonion09:03:27

εχει καποιο static check

stathissideris09:03:38

me to reify paizei na ksexases to this?

greenonion09:03:44

και δεν καταλαβα ποτε αν λειπει το annotation

greenonion09:03:44

νομιζω οχι

greenonion09:03:59

θα το δω σπιτι 🙂

greenonion09:03:07

παιζει το annotation να βγαζει προβλημα;

stathissideris09:03:10

aaaa nai exei kai annotations

greenonion09:03:12

εννοω η ελλειψη του;

stathissideris09:03:17

mporei na ta koitazei dynamically

greenonion09:03:25

μπορεις να τα βαλεις; κατι ειδα για metadata

greenonion09:03:28

αλλα μπερδευτηκα

stathissideris09:03:48

den mou exei xreiastei pote

greenonion09:03:30

κατι ειδα οτι σε deftype μπορει να βαλεις

greenonion09:03:34

αλλα χαθηκα λιγο

greenonion09:03:44

ξερεις ειναι η φαση trial and error

greenonion09:03:59

btw το cider δεν εχει access σε java code ε

stathissideris09:03:21

ennoeis na pathseis na deis to java code definition?

stathissideris09:03:27

alla to kanei to cursive

stathissideris09:03:33

(opws diapistwsa prosfata)

stathissideris09:03:19

pantws to Ceveats section tou datasplash einai arketa agxwtiko

stathissideris09:03:27

fainetai misospasmeno

greenonion09:03:53

τολμησες να δεις κωδικα;

greenonion09:03:57

ειναι τρομαχτικο

greenonion09:03:13

ΤΙΓΚΑ σε macros, bindings κλπ

greenonion09:03:23

δεν ξερω τι πηγαν να κανουν

greenonion09:03:06

φαινεται να δουλευει ομως

stathissideris09:03:00

8 macros mono 🙂

stathissideris09:03:35

dysthxws to interop kammia fora se sprwxnei pros ta macros

stathissideris09:03:42

to asteio einai oti twra teleytaia psaxnw to concept twn cells, pou einai kapws sxetiko apo thn apopsh oti exeis kapoio processing pou ekteleitai san pipeline klp

stathissideris09:03:04

alla ayto pou exw kanei einai poly pio aplo, trexei mesa sto process, den trexei parallhla klp

stathissideris09:03:17

einai gia allh xrhsh (UI)

gtsiftsis09:03:22

stathissideris hoplon?

stathissideris09:03:54

@gtsiftsis nai, javelin, alla reimplementation se clojure (to javelin einai mono gia cljs)

stathissideris09:03:44

diavasa arketa ton kwdika tou javelin kai exw mpleksei se extensive kouventa me enan apo tous developers

gtsiftsis09:03:54

νομίζω για UI είναι πολύ καλό μοντέλο σκέψης/υλοποίησης και είναι και στην ίδια λογική

gtsiftsis09:03:04

με react / components

stathissideris09:03:32

emena to react mou fainetai aploustero

gtsiftsis09:03:54

εννοείς μονο το react ή όλο το flow ?

gtsiftsis09:03:24

true είναι απλούστερο αλλά η γενική ιδέα που πατάει είναι λιγο πιο σύνθετη

stathissideris09:03:17

kala mh nomizeis oti to implementation twn cells einai aplo 🙂

gtsiftsis09:03:00

σίγουρα δεν θα ειναι

gtsiftsis09:03:19

για να ξαναγυρίσουμε στο αρχίκο, ναι είναι σχετικά και τα 2 concepts

gtsiftsis09:03:36

στην ουσία έχεις data flows και event triggers

gtsiftsis09:03:58

και στις 2 περιπτώσεις

stathissideris09:03:36

egw ftiaxnw cells giati thelw (an anteksw) na ftiaksw ena mini desktop ETL/excel-like thing

stathissideris09:03:48

opote ta cells einai to swsto metaphor pisteyw gia kati tetoio

stathissideris09:03:08

kai tha ta xrhsimopoihsw kai gia na kanw drive to UI kai gia (light) data processing

greenonion09:03:55

personal project ή θες να το βγαλεις;

stathissideris09:03:33

personal alla open source tha einai, apla den nomizw na to kanw idiaitera promote an den kanei mature

stathissideris09:03:08

hdh einai sto github

stathissideris09:03:18

isws na exei nohma ta cells na einai ksexwristo library

greenonion10:03:08

btw @chief ρωτουσαν παλι απο Cognitect στο twitter να πουνε ποιοι δουλευουν σε Clojure

greenonion10:03:11

να τους στειλω;

greenonion10:03:15

να μας βαλουν στη λιστα;

gtsiftsis10:03:50

yep why not!

greenonion18:03:11

ξυλο με interop, εχω μπλεξει με gen-class

greenonion18:03:21

ωραια που τα μαθαινω, 99% θα γραψω Java τελικα :))

stathissideris18:03:52

@greenonion πω γιατί gen-class;

greenonion18:03:15

τελευταια ελπιδα 😛

greenonion18:03:34

εδω σκαει

greenonion18:03:42

νομιζω ολα αυτα τα redirections της Clojure

greenonion18:03:44

δε θα πανε καλα

greenonion18:03:19

και το exception ειναι

greenonion18:03:22

java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType

stathissideris18:03:07

opote heavy reflection e

stathissideris18:03:48

@greenonion ti mageireyete kai kanete evaluate beam kai onyx?

greenonion18:03:03

user session analysis

greenonion18:03:18

παρεχουν τα primitives που χρειαζομαστε

greenonion18:03:23

για να κανουμε ευκολα τη δουλεια μας

greenonion18:03:37

ελπιζω να διαλεξουμε το Onyx, δε θελω να γραψω Java

greenonion18:03:05

διαβασα αυτο https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-101 και τη συνεχεια του και πωρωθηκα

greenonion18:03:10

δεν ξερω αν εχεις ασχοληθει καθολου

stathissideris18:03:47

@greenonion den exei tyxei, alla einai ontws porotiko

stathissideris18:03:18

kai fainetai poly in depth to arthro, thanks!

greenonion18:03:45

ναι, ειναι απ’ την πηγη

greenonion18:03:53

lead του project στη Google

greenonion18:03:58

και η συνεχεια του ειναι επος

stathissideris18:03:15

anti gia beam tha koitaksete kai spark?

greenonion18:03:12

Flink ισως

greenonion18:03:26

το Spark δεν υλοποιει ολο το Beam

greenonion18:03:40

ενω το Flink συνεργαζεται με Google

greenonion18:03:55

για να το υποστηριζει πληρως

stathissideris19:03:13

@greenonion opote einai meros tou requirement na paizei me google cloud kai aws?

stathissideris19:03:39

kala kai apache spark kai apache flink?

stathissideris19:03:47

POSA tetoia yparxoun pia

stathissideris19:03:30

opote to beam einai kai standard kai implementation?

greenonion19:03:48

οχι οχι

greenonion19:03:54

δεν ειναι requirement το cloud

greenonion19:03:03

ισα-ισα

greenonion19:03:06

τοπικα θα το τρεξουμε

greenonion19:03:12

απλα ειναι high-profile Google project

greenonion19:03:20

και φαινεται σοβαρη δουλεια γι’ αυτο που θελουμε να κανουμε

greenonion19:03:30

πχ το Onyx εχει παρει πολλα concepts απο αυτους, και λογικο

greenonion19:03:41

ναι το Beam ειναι specification & SDK

greenonion19:03:46

και οριζεις “runner"

greenonion19:03:57

εχει εναν δικο του για dev περιβαλλον

greenonion19:03:04

κι απο κει και υστερα συνεργαζεται με διαφορους

greenonion19:03:17

Google Cloud Dataflow, Apache Flink, Apache Apex, Apache Spark κλπ

greenonion19:03:26

τα 2 πρωτα αυτη τη στιγμη ομως υποστηριζουν ολο το SDK

stathissideris19:03:33

nai eida, ta kanei abstract

greenonion19:03:35

(ναι γινεται κολαση με τα Apache projects)

digiou20:03:15

"well-designed streaming systems actually provide a strict superset of batch functionality"

digiou20:03:51

το θεμα ειναι ποσο καλα κανεις expose την ολη ιδεα απο stream -> batch, οταν χρειαζεται

digiou20:03:26

το Flink δεν επιτρεπει μετατροπη DataStream σε DataSet (κατι που το Spark το κανει αλλα για αρχιτεκτονικους λογους)

digiou20:03:56

αλλα σου δινει Windows (Count/Time) και κανεις δουλεια με αυτα (οτι χωραει σε ενα Window ειναι ενα batch)

digiou20:03:09

και μετα τα ξαναμετατρεπεις σε DataStreams

digiou20:03:17

ειναι stream-centered af

digiou21:03:00

μετα ειδα το υπολοιπο αρθρο, ακριβως για αυτα μιλαει (παραθυρα και τυποι τους)

greenonion22:03:03

Για μας ειναι ταμαμ

greenonion22:03:20

Τραβάμε από Κάφκα, ξαναστέλνουμε κλπ

digiou22:03:37

εγω με rabbitmq με βολεψε σε συνδιασμο με apache avro για de/serialization

digiou22:03:23

connector εχει και για τα 2 ετοιμα

digiou22:03:39

https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/windows.html#session-windows και γενικα ολη η σελιδα, ειναι το αρθρο σχεδον 1-1