Fork me on GitHub
#clojure-russia
<
2016-12-07
>
nicola08:12:31

Надо было делать на эти выходные - пока @tonsky в мск

leov08:12:41

О БОЖЕ МИТАПЧИК

leov08:12:43

а когдаааа

leov08:12:48

ой. переволновался.

andre08:12:42

блин ну нет, у меня гребаный корпорат 16го 😞

andre08:12:29

ктож в пятницу то проводит 😞

nicola08:12:54

Двигайте на 11-12 я тож приеду, заодно на holyjs загляну

andre08:12:09

интересно как подсчитывался этот clojure код

leov08:12:28

мля меня могут не выписать отсюдова к 11-12 (

leov08:12:14

а ещё вопрос - у нас не планирует там появлятся в кложескрипте нативное поедание жаваскрипт модулей?.. никто не знает, есть ли прогресс в этой теме?

leov08:12:10

обещали вроде чтоб можно будет прям с нпма

leov08:12:20

но не обещали кто это будет пилить и когда

leov08:12:54

ну или не с нпма. могу всё путать - у джаваскриптистов 999 видов рантаймов и видов сорцов

andre08:12:04

@edbond ну имеется ввиду это вообще весь код на clojure в гите который есть?

edbond08:12:55

а откуда картинка?

edbond08:12:26

маловато для всего кода

artemyarulin08:12:30

сами картинки от Алекс Миллера, в твиттере сегодня запостил https://twitter.com/puredanger

andre08:12:12

да, я из его твиттера взял

andre08:12:23

кстати а не знаете survey когда проводится обычно?

artemyarulin09:12:36

омг, добавил #dbg перед нужным s-expression, запустил асинхронную жобу, когда нужно emacs+cider сам поставил бряк и остановил выполнение. Прям как в настоящих языках/IDE 😄

sarman12:12:51

Всем здрасьте, @leov я импортировал реакт компоненты как в этой статье http://blob.tomerweller.com/reagent-import-react-components-from-npm (там описано почему cljsjs лишнее звено), был в read-only, но хочу приехать из подмосковья на митапчик=)

leov14:12:08

а может плиз кто-то раскурить как работает datomic pull api?

leov14:12:14

я ломаю голову и вот я её сломал

edbond14:12:45

а что непонятно? по-моему он работает просто наоборот. Не ты данные просиш, а он тебе изменения присылает.

edbond14:12:33

или это я совсем о другом? )

a.espolov15:12:40

@enbound разве у датомика есть апи для получения изменений из базы путем оповещения?

a.espolov15:12:13

@leov 1. Попробуй создать базу 2. Поработать с ней без пулл апи 3. Поработать с ней используя пулл апи В двух словах пулл апи dsl для материализации энтитей или их набор с нужным набором атрибутов, поддерживается рекурсивность. Условно работу с базой можно поделить на два этапа: 1. Выполнение запроса и получение ид энтити(ей) 2. Материализация полученных энтетей(ей)

a.espolov15:12:24

Кстати из тех кто юзает датомик, как вы решаете проблему постраничного получения данных из датомика?

a.espolov15:12:16

Или у вас таких задач не возникает?

leov15:12:34

а там лимит есть? если есть то тогда должен срабатывать рейндж квери по айдишникам (больше последнего на странице) плюс лимит

leov15:12:55

@a.espolov потому что limit offset плохо работает и в реляционных базах (это гуглится)

leov15:12:19

а вопрос вот в чём - может ли pull материализовывать parent/children отношения?

leov15:12:25

в datascript причём =/

ilshad15:12:35

@a.espolov datomic.api/tx-report-queue для "путем оповещения"

ilshad15:12:55

на всех peer'ах

ilshad15:12:28

для постраничного получения данных - log api, если я правильно тебя понял

ilshad15:12:47

@leov - да -работает как ref, так и backref

konukhov15:12:47

про митап классная новость! регаться обязательно? я на днях акк удалил с этого сайта 🙂 [upd] так, зарегался-таки

ilshad15:12:17

@edbond нет, это не про это, иначе бы он тогда назывался Push API 🙂

edbond16:12:14

мне казалось что это одна из главных фич - пуш изменений

andre20:12:42

React Vienna - как минимум 3 доклада про cljs , неплохо 🙂

artemyarulin21:12:16

оффтоп: http://www.scala-lang.org/blog/2016/12/07/implicit-function-types.html Честно пытался понять чо тут вообще происходит, но все эти типчики, магия, implicit, брр

mike_ananev21:12:29

@artemyarulin ежедневно общаюсь с командой скалистов. Сугубо личные наблюдения: говорят что лучше чем java, очень им нравится продвинутая система типов. Но говорят и о минусах: 1) компилятор тормозит, вечно что-то тянет из инета, постояно компилит-компилит, это задалбливает. 2) В Scala столько диалектов, что чтобы всю ее узнать надо довольно много времени. Команда обычно выбирает диалект (у нас от Twitter) и не дай бог заведется кто даже в мелочах начинает писать во всех ее диалектах. То есть на ней очень легко сделать код write-only. А из-за этих имплиситов как раз сильно растет complexity языка и разрабы напрягаются над пониманием куска кода с ними. Со слов разрабов с помощью имплиситов и других фишек языка можно отправить компилятор в бесконечный цикл откуда он не вернется. 3) бинарная несовместимость между версиями Scala - это жопа. Допустим для Hadoop'а мы полгода писали некие джобики для Spark 1.6 в котором внутри Scala 2.10 и тут приходит Spark 2.0 в котором вшита Scala 2.11 Требуется полная рекомпиляция всего кода, всех либ, и их редеплой на кластер. Попробуй бизнесу объясни, что надо потратить X мультов на замену кода в проде, решая проблемы не бизнеса, а из-за того что вот такой язык. Бизнес обычно сразу: "а разве у вас на Java????" А новая Scala 2.12 как и ожидалось несовестима бинарно с 2.11. Это вам не кложурная совместимость от 1.1 до 1.9

artemyarulin21:12:26

спасибо за развернутый ответ. implicit как кейворд в языке это конечно красный флаг сразу, учитывая что в кложуре все наоборот явное

artemyarulin21:12:23

хотя я неосилятор - пол книги прочитал, месяц покодил и свалил, как то очень уж сложно

artemyarulin21:12:55

а можно поподробней про диалекты? Это типо разный код стайл ФП/ООП?

mike_ananev21:12:13

ща попробую нагуглить для наглядности

artemyarulin21:12:30

ага, былоб круто

artemyarulin21:12:40

я перед тем как на скалу сесть просидел пол года с хаскелем (PureScript точнее), дак там тоже типчики все дела, но хаскель прям божественен по сравнению со скалой по крайней мере с точки зрения синтаксиса

andmed21:12:46

божественен... кмк сильно непривычен

andmed21:12:55

кмк == imho

andmed21:12:52

ты говорил как то что buck используешь. а смотрел ли bazel или даже не пробовал?

artemyarulin21:12:44

f a = a + 2 да куда красивее то? 🙂

artemyarulin21:12:11

смотрел ага, да одна фигня по сути

artemyarulin21:12:45

bazel умеет больше, чуть сложнее на входе. У меня стек RN + React, поэтому просто выбрал продукт фейсбука. Вот еслиб юзал Dart например и ангуляр (буэ :)) то взял бы базел. Реально они на столько похожи что чисто дело вкуса, философия одна, некоторые функции называются даж одинаково, я помню читал доки на сайте базела чтоб понять как юзать одну фичу у бака

artemyarulin21:12:25

там история то простая - чувак ушел из гугла в фб, базел еще не был опенсорс. У ФБ ничего похожего не было - написали свой. (Есть еще история с pants - где чувак ушел из гугла в твиттер, базел еще не был опенсорс и т.д. :D)

andmed21:12:57

сегодня пробовал bazel. в отличие от от buck у него плагин под idea работает нормально.

andmed21:12:34

доков прямо скажем маловато. да и кода в инете

artemyarulin21:12:35

ааа, для жавы я вообще ничо не трогал, тут не знаю

artemyarulin21:12:13

кста да - у базела доков поболее. А вот примеров и обоих не так чтоб много открытых.

artemyarulin21:12:34

gradle не смотрел еще?

andmed21:12:16

gradle не нравится. хочется чего поструктурированней

artemyarulin21:12:19

хвалят тоже. Надо понимать кста что bazel/buck делались для монорепо и заточены под это. Т.е. можно и так юзать, но смысла мало

andmed21:12:35

так я и пробую монорепу. по твои следам)

andmed21:12:02

а версионирование у тебя все же git?

airnsk21:12:21

кто-нибудь настраивал сборку на jenkins ? что-то у меня плагин leiningen не очень работать хочет

artemyarulin21:12:43

в смысле плагин?

artemyarulin21:12:34

хм, это типо чтоб не ставить один глобальный leiningen?

airnsk21:12:29

не знаю для чего - думал плагин поставлю и все заработает

airnsk21:12:33

Error: Could not find or load main class clojure.main

artemyarulin21:12:44

дак поставь просто руками может leiningen и в конфиге джобы билда уже просто вызывай lein test && lein uberjar

artemyarulin21:12:56

кста в тему jenkins, не многие видели https://jenkins.io/doc/book/pipeline/ . Если коротко то можно сделать как с TravisCI/CircleCI, т.е. хранить конфиг CI прямо в репо. И прям в этом же конфиге указать например слать сообщения в слак если билд зафейлен и прочую логику

airnsk21:12:38

ну и stackstorm до кучи тогда , чтоб из чата запускать

airnsk21:12:53

без плагина завелось все, спасибо

mike_ananev22:12:04

выкиньте jenkins'ы - http://lambda.cd наше все

artemyarulin22:12:19

посмотрел stackstorm, интересно. @airnsk юзаешь, как оно?

airnsk22:12:39

нет, у нас админы сейчас хотят заюзать , пока еще нет отзывов

artemyarulin22:12:44

http://lambda.cd выглядит слегка сыровато пока https://raw.githubusercontent.com/flosell/lambdacd/master/doc/img/readme-screenshot.png, jenkins мелее 🙂

mike_ananev22:12:11

@artemyarulin ну явно нагуглить не получилось, вот можно посмотреть эту презу http://www.slideshare.net/extempore/a-scala-corrections-library?qid=474e938b-7847-4482-ad69-a620f104aedc&amp;v=&amp;b=&amp;from_search=2

mike_ananev22:12:07

эта преза от главного мантенера компилятора скалы

mike_ananev22:12:56

он весь трэш скалы показывает

artemyarulin22:12:59

спасибо, позырю

andmed23:12:28

@artemyarulin готово, маленький скриптик для компиляции одиночных haskell файлов под bazel. на самом деле была куча непоняток. к примеру, как ссылку на компилятор передать -- получается только через отдельный билд, в итоге написался башевый wrapper https://github.com/andrewmed/build_tools

artemyarulin23:12:18

и как тебе bazel сам? бак кста хаскель умеет из коробки

andmed23:12:39

эт я знаю что умеет. а базель нет

andmed23:12:42

а sandboxing у бака есть?

artemyarulin23:12:17

а чо это?

andmed23:12:03

запуск в изолированном пространстве. компилятор работает только с прямо указанными файлами. гарантируется относительное душевное спокойствие при запуске сторонних билдов.

andmed23:12:06

базель умеет

andmed23:12:22

использует namespaces линукса

andmed23:12:51

плюс линки и прочее. на винду не скоро в общем

artemyarulin23:12:17

buck все линкует в отдельный фолдер, так что тоже только то что указал можно заюзать ага

andmed23:12:49

ну круто. сравнивать пока не могу, но вроде как у базеля больше ограничений на написание правил, бак может быть в этом по проще. но у меня он тупо не захотел нормально работать сразу, а базель в путь... плюс в официальном дистрибе дебиана есть. мне не нужно, но вроде хороший сигнал

artemyarulin23:12:32

ага да, у базеля там почти-питон для правил (хотя вроде можно и включать полный питон назад), а бака просто питон. Но эт мелочи

andmed23:12:55

сейчас вот извращаюсь на тему git filter-branch с последующем откатом... вроде получается... но конечно решение не на большое репо...

andmed23:12:38

в смысле, виделить директорию, для закачки на гитхаб

artemyarulin23:12:10

ааа, я юзаю git subtree чтоб опенсорс либы держать у себя в прайвет монорепо

artemyarulin23:12:26

ну и пушать их обратно конечно

andmed23:12:30

он вроде как стартует с чужого клона только, не?

andmed23:12:07

я с subrepo перепутал