Fork me on GitHub
#clojure-russia
<
2016-12-08
>
andmed01:12:05

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

andmed01:12:18

пробовал -- работает. и есть вариант задать свой BUILD файл локально для удаленной репы, то есть можно обойтись малой кровью и скомпилить не bazel-репозиторий

andmed01:12:33

круть в общем

andre06:12:02

надо обратить внимание тома хикки на lambdacd

mike_ananev09:12:51

кто есть том хикки?

artemyarulin09:12:19

вопрос по спеке, вот тут пример:

(s/def ::first-name string?)
(s/def ::last-name string?)
(s/def ::email ::email-type)
(s/def ::person (s/keys :req [::first-name ::last-name ::email]))
а можно это по короче написать? Т.е. как нить заинклудить ::first-name внутрь person?

artemyarulin09:12:29

мне просто надо счас задизайнить стейт для приложения, начинаю я сверху вниз, т.е. {:state {:user {:address {:street …} а спека форсит меня начинать с низу вверх наоборот, сначала определить все эти :street :address и потом идти наверх. Не удобно по крайней мере в начале когда я сам толком не знаю что хочу

andre09:12:40

@mike1452 если правильно понимаю, это брат Рича, и автор логотипа и сайта кложки

mike_ananev09:12:06

а что lambdacd нарушает что-то?

andre09:12:16

нет, некрасивая

andre09:12:43

просто у кложки все сайты красивые такие 🙂

mike_ananev09:12:14

ну автор lambdacd везде на конференциях выступает. на ютубе про lambdacd полно уже докладов. если бы что-то было не так то когнитект наверно бы уже скзаал.

andre09:12:35

ну нет, я про то что может Том им поможет с дизайном 🙂

andre09:12:30

ну т.е. это я больше как в шутку что ли, @artemyarulin привел скриншотик, что выглядит сыро

andre09:12:28

@mike1452 а вы им в сбере в бою пользуетесь?

mike_ananev11:12:30

первый сервис на кложе "в бою" ожидается после 20. если случится, нажрусь реально, т.к. чтобы кложу протащить кучу нервов стоило. готовимся к пси. а на счет lambdacd нет пока не используем. я на нее посматриваю, буду пробовать для домашних проектов. уж очень меня прельщает идея: 1) хранения CI & CD скриптов в git в виде проекта, 2) доступности всей мощи языка clojure в CI&CD конвеере и построение сложных билд-скриптов 3) отсутствие надобности учить какой-то недоDSL. 4) не надо держать отельный компонент (в виде Jenkins/TeamCity) , его настраивать и обслуживать @artemyarulin не понравилась веб-консоль, но для нее уже есть несколько более красивых морд в виде плагинов и как я понял ее в бою используют другие (гуглить нужно)

andre11:12:35

В оракле они что-то свое вообще придумали? 🙂

mike_ananev11:12:17

да у них там свой dsl на мапах

seryh11:12:03

а для clojureScript есть что то подобное http://jsfiddle.net ?

seryh11:12:04

восхитительно

misha12:12:34

@artemyarulin в твоей спеке можно начать с 4 строки, и на ней же остановиться opieop

artemyarulin13:12:42

@misha да неа, просто спека форсит меня описывать все снизу вверх. А я тут для нового приложения решил задизайнить как стейт будет выглядеть и ессно начать сверху в низ ибо я хз вообще пока чо и как. Думал спеку вот заюзать, ан нет. Она как система типов - начинать надо снизу

mike_ananev14:12:31

@artemyarulin тут возможно лучше всего сделать hamock driven development. как учил САМ надо "бросить компилятор" и обдумать решение. сделай high-level atchitecture. лучше всего вот тут - lucidchart. можно даже колаборейшн там устроить с несколькими людьми. выясни из каких кубиков будет состоять приложение, посмотри где-какие стейты тебе понадобятся. сделай несколько итераций архитектуры, пока в голове не сложится ясная картина того, где какой стейт, кто с кем взаимодействует. и тогда спека только поможет. а сейчас получается у тебя пока в голове не понятно "что и как", спека-то ессно не для этого.

artemyarulin14:12:15

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

niquola17:12:34

Ты можешь пустышки вставить sdef :: property (constantly true)

niquola17:12:14

И постепенно рефайнить

artemyarulin17:12:39

ну я думал мож как инлайн можно сделать

niquola17:12:03

Напиши хэлпер макрос

artemyarulin17:12:26

ну вариант да, но походу я просто неправильно использую инструмент. Спеку надо юзать всеж снизу вверх. Хотя… надо подумать кста да, макрос не сложно написать :thinking_face:

niquola17:12:52

@prepor вот, резонно, утверждает что нужно поверх спеки писать топ лэвэл либу

niquola17:12:06

Менее многословную

artemyarulin17:12:48

уже написал кто может?

niquola17:12:14

Вот ты и начнешь ;)

sarman22:12:05

@artemyarulin тоже такое интересно, я иду снизу, тк пишу сразу генератор, чтобы когда юзер собрался, то я их нагенерил, `(s/def ::login (s/with-gen #(s/and string? (fn [] (<= (count %) 15)) (fn [] (>= (count %) 1)) (fn [] (re-matches #"^[a-zA-Z0-9-]]{1,15}$" %))) #(cgen/string-from-regex #"user-([a-zA-Z0-9-]{7})"))) ` (это с помощью [com.gfredericks.test.chuck.generators :as cgen])

artemyarulin22:12:01

там же вроде есть instrument-all?

sarman23:12:26

ааа, точно, спасибо, надо сразу читать кода больше было, наверное это instrumentable-syms

sarman23:12:34

то есть просто (stest/instrument) без параметров его вызовет