Fork me on GitHub
#clojure-russia
<
2016-01-21
>
rm05:01:22

по-моему, в хачкеле тоже так. Ну и вроде логично, (map как что). А вот обращение к джаве как раз путает (.method object args). Был бы object последним, я бы не путался

rm05:01:50

ладно, не логично, но привычно

Kira Sotnikov06:01:30

lf 'nj ;t utybfkmyj

Kira Sotnikov06:01:35

да это же гениально

Kira Sotnikov06:01:38

ХАЧКЕЛЬ

rmuslimov06:01:00

хачкель и гложа

rm06:01:29

на кложу не придумывается обидного прозвища. Неудобное слово

asolovyov06:01:35

@dottedmag: да, очень клевая штука simple_smile

asolovyov06:01:26

@rm кложурА

artemyarulin07:01:44

я всегда кложурОй ее называю simple_smile

andre07:01:25

кстати есть google closure и вот как говорить чтобы тебя правильно поняли что ты имеешь ввиду clojure а не closure

rm07:01:53

гугл кложа / не гугл кложа :)

andre07:01:55

кложур ближе к closure , а clojure ближе к кложар

andre07:01:50

клауджир

andre07:01:17

даже какой=то получается

asolovyov07:01:24

@artemyarulin: я ударение на У обычно ставлю

andre07:01:54

Александр а я вас узнал

andre07:01:05

это вы поете чето там чумачеча пришла и чето там

asolovyov07:01:15

@andre: я юзаю звук з в случае с google closure, когда в одном контексте говорю simple_smile

asolovyov07:01:31

не, я пою ду хаст и зи веном инсайд

andre07:01:40

понял

rm08:01:26

Маликов пишет на хаскеле, Соловьев поет про чумачечую весну :)

abtv08:01:35

Скажите, а что вы используете для CI?

abtv09:01:14

В контексте Clojure / ClojureScript

andfadeev10:01:15

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

andfadeev10:01:38

хотя я наверное могу заюзать abstract-map

artemyarulin10:01:10

@abtv: CircleCI, Travis, Jenkins

abtv12:01:47

@artemyarulin: а бесплатная версия CircleCI подойдёт для clojure? Там памяти хватает?

artemyarulin12:01:23

@abtv: А вот кстати не знаю. Дело в том что я у них использовал всегда MacOS машины https://github.com/artemyarulin/koh/blob/master/circle.yml, который счас стали платными. А докер окружения ни разу не использовал

artemyarulin12:01:30

на скок я помню там 2 гига памяти

abtv12:01:48

А ты их ещё используешь?

abtv12:01:18

И вообще Circle CI?

konukhov12:01:27

подойдет для clojure

konukhov12:01:32

я проект маленький на нем гонял

artemyarulin12:01:14

@abtv: Почти нет - для опенсорса ухожу на тревис, а для приватных проектов мне с моим монорепо ничо не подходит и хостю свой дженкинс

artemyarulin12:01:46

дак ты попробуй - vendor lock то нету почти, можно хоть завтра на тревис переехать

delaguardo12:01:30

а TeamCity от JetBrains никто не использовал для clojure?

artemyarulin12:01:39

дак там же паралельно все, хоть TeamFoundationServer прости господи юзай - сделать cd project && lein uberjar && lein test можно ж где угодно

artemyarulin12:01:45

или я чота упускаю?

delaguardo12:01:26

да действительно, все просто, сейчас играюсь с курсивом заодно и к TeamCity решил прикрутить. Одна среда - это приятно

artemyarulin12:01:15

нет, ну может кто из CI прям из коробки поддерживает кложуру и что прям не надо даже lein test вводить)

artemyarulin12:01:48

вот кстати да сразу вопрос - можно lein test заставить в каком-нить XML виде результаты тестов выкидывать?

artemyarulin12:01:59

JUnit test reports обычно используют

artemyarulin12:01:33

о, это поактуальней спасибо

malch12:01:38

CircleCI рекомендует

malch12:01:49

Мы им, кстати, пользуемся

malch12:01:29

И при прочих равных я бы брал его, CircleCI сам на Clojure написан

niquola12:01:41

У нас Travis

artemyarulin12:01:41

круто, надо заюзать. Но я почти уверен что для ClojureScript надо искать чонить другое, эх

malch12:01:31

Сам давно тесты на cljs не гонял, но мне кажется все должно примерно так же работать

artemyarulin12:01:39

надо посмотреть, я почти всегда просто код прогоняю под несколькими бразуерами и нодой поэтому юзаю https://github.com/bensu/doo, а он наверняка чота свое еще делает

malch12:01:52

я думаю, что все должно сработать

malch12:01:26

обычно в таких сервисах ты можешь без особых проблем и chrome добавить для тестирования (например)

artemyarulin12:01:48

а кто как вообще тестирует тут clojurescript? просто раньше был https://github.com/cemerick/clojurescript.test, его дропнули ибо clojure.test портанули на clojurescript. И теперь вот можно руками запускать, либо раннеры типо doo юзать

artemyarulin12:01:16

может еще какие варианты есть, кто как делает?

malch12:01:17

I strongly suggest migrating to use the official core cljs.test +  for test-runners and leiningen/boot integration. Thanks to all contributors for helping make testing ClojureScript workable until those tools arrived/matured!

malch12:01:29

В репозитории написано simple_smile

malch12:01:18

У boot, насколько я помню, другой раннер

artemyarulin12:01:13

да я знаю что написано - ну может кто еще как просто, ктож знает что коммьюнити придумает simple_smile

artemyarulin12:01:35

да, но походу чуваки с буута переписывают все с нуля

artemyarulin12:01:46

у них свой аля фигвил даже видел есть

abtv13:01:22

О, сколько информации, спасибо!

mike_ananev14:01:17

скажите, а правильно ли я понял что пкобраен это бот?

ul14:01:32

не-а

ul14:01:42

человек=)

mike_ananev14:01:08

а то он тут в соседней ветке Стюарту Сиерре сказал, "я смотрю ты не плохо знаешь кложу. ты не пробовал написать книжку?"

mike_ananev14:01:25

Бедный Стюарт высыпал кучу эмоций - ржака короче

ul14:01:11

вроде Миллеру

rm14:01:13

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

mike_ananev14:01:35

о точно! сорри

Kira Sotnikov16:01:04

в какой ветке?

Kira Sotnikov16:01:36

запилите оригинальные цитаты )

artemyarulin17:01:00

это пкбрайн чота странный - пришел в канал cljsrn, спросил anyone^? и больше не отвечал. Так что может и бота включает иногда

rm18:01:56

у меня глупый вопрос

rm18:01:14

как вы обновляете скомпиленный js?

rm18:01:18

на клиенте

rm18:01:38

в смысле, вы туда насовали кода, задеплоились, а клиент пришел и видит старый код

rm18:01:16

как это хоть по-человечески называется. Надеюсь, вы меня поняли

potapenko18:01:26

@rm: помоему тут какое-то недопонимание. деплоишь уже js

seryh18:01:43

речь видимо про то что браузер кеширует js?

seryh18:01:25

script.js?version=12345

seryh18:01:48

гет динамическей суй при подключении

dottedmag18:01:51

Это не зависит от языка, да.

seryh18:01:33

у меня после сборки версия меняется

seryh18:01:37

она и подставляется

seryh18:01:54

unixtime даты сборки

rm18:01:14

а в html это как подставлять? И как в lein задать, чтобы так собиралось?

seryh18:01:46

ога, там милион вариантов можно придумать, простор для фантазии

potapenko18:01:16

не припомню такой проблемы… 304 сервер отдает если не изменился. в обратном случае браузер по новой загружает. и никаких костылей с &version=122 не нужно

rm18:01:23

seryh, dottedmag: дай кусок конфига от лейна, будьте няшками

dottedmag18:01:40

@rm: зачем лейн? мейк наше всё

seryh18:01:41

у меня на gulp

seryh18:01:43

эта штука

dottedmag18:01:12

@potapenko: Это если ETag правильно и всё это в CDN.

dottedmag18:01:48

@potapenko: Плюс у пользователей будет каждый раз лишний round-trip "ась, не поменялось?" на сервер.

rm18:01:49

potapenko: как etag прикручивал?

rm18:01:59

dottedmag: да пусть будет

potapenko18:01:26

@rm нет. не прикручивал. У меня серверная часть в последних проектах на node.js

rm18:01:36

да что ж такое :)

dottedmag18:01:39

@rm: Илья Григорик негодуэ!

potapenko18:01:50

там все из коробки работает

rm18:01:11

блин

rm18:01:20

ладно, завтра запилю что-нибудь

rm18:01:22

спасибо

potapenko18:01:04

@dottedmag: наоборот никакого дополнительного запроса. нет? Всегда один запрос, нет?

dottedmag18:01:47

@potapenko: Если у тебя стоит Cache-Control: навсегда для script.js?version=123, то тогда при втором заходе на сайт запроса не будет.

dottedmag18:01:01

А если без ?version=123, то всегда будет один.

dottedmag18:01:26

Иногда с контентом, а иногда с 304 в ответе.

potapenko18:01:40

а не пофиг ли? simple_smile зачем эти заморочки? в чем оптимизация и профит?

artemyarulin18:01:55

ноль запросов меньше чем один

dottedmag18:01:28

Во-первых, производительность. По этому поводу есть замечательная книжка: http://astore.amazon.com/possiboutpos-20/detail/1449344763

dottedmag18:01:42

Во-вторых, нагрузка на сервера и/или трафик к CDN'у.

artemyarulin18:01:58

Ilya Grigorik, мега книга

artemyarulin18:01:29

помню оттуда что index.html должен быть меньше 16кб simple_smile

artemyarulin18:01:59

или скок там чтоб в MTU влезло сразу

potapenko18:01:06

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

potapenko18:01:14

по факту

prepor18:01:41

> или скок там чтоб в MTU влезло сразу мту в большом интернете полтора килобайта

artemyarulin18:01:42

ворчишь:) там оно больше направленно не на экономию денег/трафика а на уменьшение latency

prepor18:01:47

1500 точнее

prepor18:01:01

у тебя заголовки только столько займут

artemyarulin18:01:16

э, ой ли?

dottedmag18:01:18

@potapenko: Ну да, на домашнем блоге не надо, а когда количество пользователей подбирается к десятку миллионов - начинает влиять уже и по деньгам.

potapenko18:01:50

так до 10 миллионов нужно дожить, у тебя есть такой проект?

dottedmag18:01:53

Latency на мобилках тоже не беслпатная.

dottedmag18:01:03

Чуть больше: http://hola.org/

dottedmag18:01:19

Там кложуры нет, но зато есть все те оптимизации. Я поэтому про них и вспомнил.

potapenko18:01:35

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

potapenko18:01:28

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

artemyarulin18:01:01

ну так же интересней! simple_smile

artemyarulin18:01:49

если 100% времени заниматься только бизнесс логикой, кастомерами и продуктами - скушнож будет

artemyarulin18:01:01

да, мне нельзя в стартапы)

potapenko18:01:20

вот в этом беда айтишников simple_smile нам интересны железки, а не продукт simple_smile

dottedmag18:01:42

Есть ещё одно соображение -- если всё равно, как делать: через ETag или через бесконечное кэширование и версии, то лучше сделать future-proof, чтобы просто забыть про это.

artemyarulin18:01:18

кста - CDN же должны автоматом все это предлагать

dottedmag18:01:06

@artemyarulin: Ну вот в холе мы 20-30% времени (в зависимости от того, насколько много чего горит в данный момент) занимаемся рефакторингом, тулингом, инфраструктурой и выплатой техдолга. Так что от стартапа к стартапу варьируется.

dottedmag18:01:12

@artemyarulin: Переписывание ссылок в HTML тоже?

artemyarulin18:01:54

дак неа, при ETag не надо будет ничо писать. Т.е. будет всегда запрос от браузера на который будет 304 будет всегда

artemyarulin18:01:17

т.е. не так красиво как с Cache: forever, но зато ничо менять не надо.

dottedmag18:01:43

Пока юзеров на 3G-интернете нет кучи -- да, не не надо.

artemyarulin18:01:30

а чо там используете? Google Closure не пробовали? Как никак лучший минификатор

dottedmag18:01:49

А пофиг. gzip'нул, и не надо ничего минифицировать.

dottedmag18:01:06

Раз файлы кэшируются навсегда, то мы и не заморачиваемся.

artemyarulin18:01:32

ха, то тут 304 лишний тебе не пофег, то на минификацию тебе пофег simple_smile

dottedmag18:01:01

304 - это round-trip каждый раз, а минификация -- только на первой загрузке.

dottedmag18:01:30

Впрочем, ещё пилить и пилить.

potapenko18:01:51

@dottedmag: в сафаре не понятно - нужно крупнее написать что у меня браузер не той модели simple_smile а то двадцать раз нажал на кнопку «Start usung hola…»

potapenko18:01:06

а вот нужно было о продукте думать!!!! simple_smile

dottedmag18:01:08

Новую страницу выкатили пару дней назад.

dottedmag18:01:19

Пора закатывать обратно, кривая получилась.

potapenko18:01:02

попапчик нужно добавить, чтобы ругнулся

dottedmag18:01:01

Там не попапчик, там кнопку не надо в сафари показывать. Бага.

dottedmag18:01:04

Зарепортил.

potapenko18:01:25

чет у меня из Черногории самый популярный сайт - это «Gay Serbia» … однако simple_smile

dottedmag18:01:38

Лол. Можно URL, где это показывается?

potapenko18:01:12

ну не самый популярны, а где «more sites»

dottedmag18:01:12

Ахаха, надо выпилить.

dottedmag18:01:40

Впрочем, в некоторых странах как раз именно порнуха в самых популярных.

potapenko18:01:58

клевый проект, плеер заинтересновал

potapenko18:01:19

эх мне бы миллийоны пользователей на мой стартап simple_smile

artemyarulin18:01:17

чтоб у тебя все сразу легло?:)

artemyarulin18:01:07

это конечно приятная проблема - но легче от этого не будет simple_smile

potapenko18:01:21

ну с этим уже будет приятно бороться simple_smile

artemyarulin18:01:39

… особенно с нодой на беке которая знаменита своей скоростью simple_smile

potapenko18:01:03

у меня максимально было 2K одновременных, это же сколько если миллионы тода?

potapenko18:01:00

а чем нода по скорости плоха? по тестам 600K одновременно один инстанс может держать

potapenko18:01:15

толстости они обычно где база, нет?

rm19:01:47

одна из любимых шуток рубистов: - как вы оптимизируете руби? - просто докидываем больше серверов

artemyarulin19:01:09

@potapenko: 600к одновременных это скок запросов в секунду? Да и не важно - если нода может 600к, то netty под JVM сможет 6M simple_smile

artemyarulin19:01:19

посмотрел где там руби - хм, ну да. Нода быстра 😄

potapenko19:01:47

да сейчас в век тонких серверов уже пофиг на каком VM оно крутится. и на каком языке. У меня любой проект на ноде - это схема базы, идентификация, REST и правила доступа, и генерация index.html для социалок. Пару middleware и кастомных роутеров. а клиент это SOA и там всякие сложности уже реализованы в виде клиентского приложения и серверу на это пофиг. Фреймворки типа Rails/Grails итд не нужны.

potapenko19:01:29

бредово если честно выглядит таблица

artemyarulin19:01:53

@potapenko: У тебя на клиенте чо? Реакт с JS или CLJS? Почему ты в этом чате?:)

dottedmag19:01:03

Да, сервер уже не настолько важен. Вот здесь у нас обычные пользователи вообще до кода, который работает на сервере, не доходят: http://holacdn.com/

artemyarulin19:01:15

я хз по поводу прям что все равно на чем на сервере - у меня как раз бек сча на ноде и вот пишу наконец на кложуре. Больше никогда ноду не хочу видеть

artemyarulin19:01:55

один репл чего стоит. Т.е. я согласен что client side счас важен и сложен но бек на ноде бы не стал писать

potapenko19:01:02

у меня в моем проекте была проблема с базой, у меня там был текстовой поиск и меня не устаивала производительность, я написал на clojure апи серер на http-kit, потому что хотел чтобы многопоточность была при обращении к кэшу. да там получилось в 1000 раз быстрее чем обращение к базе. Но заслуга тут не в сервере на java, а в правильных моих руках simple_smile Ибо я придумал очень хитрый кэш и текстовой поиск по нему.

potapenko19:01:39

если пишешь продукт, стандартный, то сервер чаще всего очень прост. тут встает вопрос не производительности, а на сколько многого готовых решений, как быстро его запилить и как легко его подерживать. node.js - очень и очень неплохой выбор.

dottedmag19:01:20

Вот ещё бы перестали раз в пять лет переписывать все библиотеки заново с Perl на Python на Ruby на JavaScript, и было бы зашибись.

artemyarulin19:01:40

сча на гоу все все переписывают)

seryh19:01:44

я сейчас небольшой проект с ноды на кложу переписываю, на ноду больше не вернусь

dottedmag19:01:46

Хотя JVM и JavaScript are going to stay, так что может и закончилась эта вакханалия.

dottedmag19:01:50

Упс, го.

dottedmag19:01:52

Раст ещё.

potapenko19:01:14

@seryh я тоже поглядываю, на как бы слезть, но пока мой стэк решений меня устраивает и такого же аналога на clojure/jvm не нашел

artemyarulin19:01:29

ну сложно удержаться да - я планирую внесли свою лепту в переписывание всего на раст да simple_smile

potapenko19:01:49

не нашел на java/clojure схемы для mongodb как mongoose (http://mongoosejs.com) и такого же удобной REST библиотеки как baucis (https://github.com/wprl/baucis) может ты подскажешь чего? monger мне понравился, и я его использовал. но он не про то.

artemyarulin19:01:27

неа, на орм у меня аллергия. А на такие большие либы которые много всего и все магически и само за тебя тоже как то не очень. Сейчас делаю сервис - там 2 ендпоинта по сути, дак один aleph как сервер пара функций для роутинга, т.е. совсем не знаю, сорри

artemyarulin19:01:38

т.е. да - я не знаю либ которые помогают делать продукт simple_smile

artemyarulin19:01:18

@potapenko: дак ты на клайн сайде то не юзаешь cljs, я что-то пропустил. Просто на клиенте без ом (да и самого cljs) я счас вообще не представляю как бы жил

potapenko19:01:04

cljs юзаю для фронта (reagent) react-native (reagent) и для node.js

prepor19:01:43

artemyarulin [9:30 PM] э, ой ли? ой ли. в интернете ничего больше 1500 байт у тебя не пролезет

prepor19:01:59

у себя в стойке можешь выставлять jumbo frames конечно

dottedmag19:01:34

Григорик вроде не про один пакет говорил.

seryh19:01:43

Помню монгоюсе заставил меня страдать, своей самостоятельностью, кажется сам дописывал s к именам журналов

dottedmag19:01:46

Вообще, с HTTPS everywhere плохо.

prepor19:01:11

> Григорик вроде не про один пакет говорил. ну я и не с григориком общаюсь simple_smile

artemyarulin19:01:12

@prepor: Я может уже чо путаю, но 1.5кб plain text это как бэ не мало? index.html можно упихнуть нет разве?

dottedmag19:01:49

1500 байт - на сетевом уровне.

dottedmag19:01:11

Т.е. ещё HTTP-заголовки.

prepor19:01:35

<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en-RU"><head><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><link href="/images/branding/product/ico/googleg_lodp.ico" rel="shortcut icon"><meta content="origin" id="mref" name="referrer"><title>Google</title> <script>(function(){window.google={kEI:'RTShVvOZHuueywOO7KuADg',kEXPI:'1350255,3300133,3300161,3312381,3700283,3700385,4029815,4031109,4031477,4032677,4033307,4036527,4038012,4038214,4039268,4041776,4042553,4042784,4042788,4043041,4043397,4043492,4044606,4044954,4045096,4045293,4045841,4046043,4046304,4046399,4046835,4046837,4046904,4047593,4048854,4048881,4048980,4049063,4049551,4049555,4050281,4050912,4050916,4050981,4051105,4051540,4051559,4051714,4052304,4052316,4052749,4052751,4052954,4053233,4054284,4054552,4055217,4055390,4055718,4055744,4055996,4056038,4056126,4056162,4056247,4056359,4056366,4056485,4056489,4056611,4056682,4056723,4057143,4057169,4057185,4057409,4057552,4057704,4057834,4058002,4058227,8300096,8300273,8300310,8502095,8502315,8502690,8502888,8502937,8502986,8503210,10200083,10201554,10201587',authuser:0,j:{en:1,bv:24,pm:'p',u:'3fba0b6f',qbp:0},kscs:'3fba0b6f_24'};google.kHL='en-RU';})();(function(){http://google.lc=[];google.li=0;google.getEI=function(a){for(var b;a&&(!a.getAttribute||!(b=a.getAttribute("eid")));)a=a.parentNode;return b||google.kEI};google.getLEI=function(a){for(var b=null;a&&(!a.getAttribute||!(b=a.getAttribute(

dottedmag19:01:43

Вообще, Григорик говорил, чтобы в первом пакете оказывались ссылки на CSS/JS, которые браузер может начать парсить и сосать ещё до второго пакета.

artemyarulin19:01:10

вооот, я про это, спасибо @dottedmag

prepor19:01:16

ну вот у гугла только иконка влазит

dottedmag19:01:27

@prepor: Есть проблема, что HTTPS-хэндшэйк ещё пару round-trips добавляет.

dottedmag19:01:36

Даже со всеми оптимизациями.

prepor19:01:43

@dottedmag: это сейчас

prepor19:01:34

а, ты про ssl уровень прям

prepor19:01:47

ну в хттп2 еще хуже будет

prepor19:01:19

сначала стукнуться по хттп1, словить апгрейд и начинать хендшейк по хттп2 )

dottedmag19:01:40

Ну, один раз стукнуться, запомнить HSTS-заголовок и больше никогда не стучаться.

dottedmag19:01:54

Это не считая списка HSTS, загруженного в браузеры.

niquola19:01:26

Кто re-frame использует или сознательно не использует - поругайте или похвалите?

potapenko19:01:17

я стал использовать

potapenko19:01:43

вынес большую часть логики в слой

niquola19:01:46

почему?

potapenko19:01:46

это хорошо

potapenko19:01:03

«верстка» менее загружена

potapenko19:01:11

минусы - пока не понял

potapenko19:01:28

пока исхожу из того что не мешает и ладно

niquola19:01:30

тебе принципиально что это pub/sub events или мог бы просто по namespace разбить?

niquola19:01:18

Ну или так: Нахрена этот уровень косвенности?

potapenko19:01:32

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

potapenko20:01:10

@nicola: > Ну или так: Нахрена этот уровень косвенности? а вот хрен знает simple_smile

potapenko20:01:35

ну некие шаблоны в структуре приложения - это хорошо

potapenko20:01:48

некое соглашение, делать так и так

potapenko20:01:05

по себе скажу чем дальше, тем это вызывает у меня меньше отторжения

potapenko20:01:25

я тебя прекрасно понимаю с вопросом «а нахрена?» сам его задавал и задаю

potapenko20:01:59

я изначально с делал вывод такой re-frame писали люди которые не full-stack и и они не могли сами лепить структуру данных как им нравится, у них всегда был впереди некий процесс под названием - «прикручивать к серверу» и чем они могут существовать от сервера более изолированно, им от этого более хорошо

potapenko20:01:11

когда фулл-стэк мне кажется эта сложность избыточной

potapenko20:01:30

нахрена query если я могу их написать прямо обращаясь к базе

potapenko20:01:14

а эти query разработчик клиента не может быстро сделать «не отвлекая Васю» вот он и делает все средствами клиента.

potapenko20:01:47

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

potapenko20:01:12

и привык уже

potapenko20:01:42

но схемы DB снес

potapenko20:01:52

еще понравилось что глобального DB как бы нет

potapenko20:01:57

нет к нему у меня доступа

potapenko20:01:13

даже не понял как к нему обращаться без handlers/subs

potapenko20:01:17

Есть способ?

niquola20:01:26

Я понимаю, что если компонент только эмитет данные - то вроде как он раздекауплен. Вопрос - это практически полезно, или просто заставляет меня в трех местах одно и тоже писать.

potapenko20:01:35

Зачем тогда db.cljs в шаблоне того же re-natal?

niquola20:01:25

по централизованной базе - такой же вопрос - насколько это полезно, какие кейсы иначе не решить

potapenko20:01:48

ну например ты управляешь доступом к данным на одной странице (фильтр некий) а сморишь их на другой

potapenko20:01:03

такой кейс

potapenko20:01:52

ну кейс так себе

potapenko20:01:59

или ты локально что сохраняешь

niquola20:01:10

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

potapenko20:01:06

нет ответа simple_smile нужно послушать еще докладчиков. Может кто объяснит.

niquola20:01:57

Чистота компонентов?

potapenko20:01:02

однозначно не могу ответить что это хорошо. сплошные академические штуки типа MVC или других архитектурных догм

potapenko20:01:19

чистота да, однозначно

potapenko20:01:22

это улучшается

potapenko20:01:44

но выпилить потом re-frame у меня будет уже проблемой, у меня даже вот toggle кнопка уже знает что такое подписка

potapenko20:01:10

зато потом на других проектах про эти микро-решения я уже не буду думать совсем

potapenko20:01:05

@nicola: а не знаешь почему интерграцией с dropbox не сделали? чтобы картинки видеть в чате?

niquola20:01:05

напиши им

niquola20:01:25

код можно ``вставлять

rm20:01:12

картинки можно на кучу других сервисов выкладывать

rm20:01:55

которые прямо картинку отдают, а не кучу говна вокруг нее еще

potapenko20:01:09

на маке это встроенная штука cmd+shift+4 и дропбокс это дело выкладывает. тут бы ничего не было лишнего - картинка, которая откроется попапом без лишнего хлама. Они open-graph используют в slack для отображения.

artemyarulin21:01:41

вау, никто не игрался еще с http://planck-repl.org? Быстрый, прям думаю уже для скриптинга заюзать

time planck -e'(* 4 (Math/atan 1))'
3.141592653589793
real	0m0.280s

potapenko21:01:29

оу! нужно глянуть!

potapenko21:01:01

@artemyarulin: Больше никогда ноду не хочу видеть [8:15] один репл чего стоит. а когда фигвил ноду запускаешь, там репл есть

artemyarulin21:01:49

аа, дак ты на ноде на CLJS пишешь?

artemyarulin21:01:16

ааа ты про недо-репл который вызывается когда node вызываешь без аргументов?

artemyarulin21:01:40

нене, я имел ввиду нормальный репл - когда из емакса я могу в любом месте сделать евал, я про это

artemyarulin21:01:57

а так то я могу сказать что и C# репл есть, как бэ

potapenko22:01:17

ну я запускаюсь из sublime, мне как бы пофигу simple_smile ручками в консоли впишу вызов.