Fork me on GitHub
#clojure-russia
<
2016-01-07
>
niquola00:01:58

Ага почитал - те reaction это просто возможность оптимальный кэш сделать на запрос из атома и лишний раз не перерисовывать виртуальный дом? Похоже на оптимизационный хак всеже.

niquola00:01:29

смотрю исходники reagent - и чем-то все эти игрища с ратомом, реакциями и врапперами сильно напоминают angularовский digest simple_smile

niquola00:01:53

Ну вот :( я почти разочаровался в реагенте

artemyarulin08:01:59

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

artemyarulin08:01:31

не много не в тему но спрошу - никто static site generators не пользовался? Что-то созрел для бложика, а ничего кроме jekyll не знаю. Он вроде ничо но руби эм..

rm08:01:42

jekyll просто работает

rm08:01:00

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

asolovyov08:01:34

@rm а еще джекилл просто тормозит

rm08:01:42

щито

asolovyov08:01:47

просто тормозит так, что плакать хочется, 300 страничек генерирует 5 секунд

rm08:01:55

да ты же наркоман

artemyarulin08:01:57

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

asolovyov08:01:13

@artemyarulin: ну там есть еще на окамле и еще чота

rm08:01:23

ну и пусть генерирует, ты так часто посты пишешь чтоли

asolovyov08:01:29

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

asolovyov08:01:54

@rm: ну, меня раздражает, что когда я из редактора переключаюсь в браузер, обновляю его - а там еще старая версия

asolovyov08:01:03

и надо ждать, пока эта коза перегенерирует

asolovyov08:01:15

я не так часто пишу, как меня бесит отсутствие мгновенной реакции

rm08:01:43

странно, там же вроде есть вотчеры. Он не должен все 300 перегенеривать, если у тебя один пост

artemyarulin08:01:53

хм - ладно уговорили, напишу свой с кложурой и шш..фигвелом simple_smile

rm08:01:57

просто я фиговый блоггер с 3 постами, не могу ничего сказать за производительность

asolovyov08:01:24

@artemyarulin: есть уже на кложуре пара, на самом деле

asolovyov08:01:34

но кложура для коммандлайновых приложений... ну такоэ

asolovyov08:01:55

@rm так у него ж нет трекинга зависимостей, он на каждое изменение всë с нуля перегенерирует

artemyarulin08:01:48

Кста про скорость:

planck -e'(+ 7 (inc 3))’
155 ms

artemyarulin08:01:04

это конечно CLJS но круто

asolovyov08:01:13

> time gostatic config   
Rendering 0 changed pages of 294 total
gostatic config  0.07s user 0.02s system 93% cpu 0.099 total

asolovyov08:01:38

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

asolovyov08:01:06

я б канеш лучше на камле себе всë написал, но я не умею камл (и тем более не умел, а теперь лень :))

niquola08:01:27

@artemyarulin: я тоже свой начал писать - мне кажется каждый уважающий себя программист объязан написать хоть один статик генератор simple_smile

niquola08:01:42

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

niquola08:01:06

те обратно - будет не большой шов

niquola08:01:35

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

artemyarulin08:01:12

это твой?:)

niquola08:01:49

не я не экстрактил еще

niquola08:01:04

ссылка на gh выше

artemyarulin08:01:09

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

niquola08:01:50

что значит - нативные? сразу app?

artemyarulin08:01:08

апп для бложика с 2 статьями, круто-же!

niquola08:01:29

Ну и десктоп тоже нужно

artemyarulin08:01:46

конечно, я уже смотрю на электрон

niquola08:01:24

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

niquola08:01:36

Я бы всеже блог писал в medium simple_smile

artemyarulin08:01:16

дада, я тоже о нем думал сначала - но не спортивно simple_smile Плюс мне нужно задачи чтоб обкатать свои либки для кросс платформенной разработки, самое то

artemyarulin08:01:35

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

artemyarulin08:01:41

прям вин вин

niquola08:01:33

(loop (recur))

niquola08:01:14

Может декатрон Никите расточишь? под крос платформу

artemyarulin08:01:02

кого-кого?

artemyarulin08:01:16

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

artemyarulin08:01:44

да и сложно - бложик попроще всеж

artemyarulin10:01:20

Оо, думаю что нет но спрошу - никто не пробовал вот это http://bazel.io/docs/tutorial/review.html?

artemyarulin10:01:48

всякие тревисы и прочие нацелены на один репо - одни проект. А мне с моей кроссплатформенностью без монорепо в котором clojure/clojureScript/Java/Objective-C никак. Тут прям как раз вроде для этого

artemyarulin11:01:10

Или вот еще тоже интересный https://buckbuild.com проект. Как тут вообще народ, пользуется монорепо?

niquola13:01:40

А что ты называешь не монорепо - мультирепо? Среди них все равно есть главный зонтик.

niquola13:01:34

Или тебе именно среда для мобилок нужна?

artemyarulin13:01:01

монорепо это как у гугла/фб и прочих - 100500 проектов, но все в одном гит репозитории

artemyarulin13:01:07

нету главных

artemyarulin13:01:35

вот тут описание хорошее http://danluu.com/monorepo/

artemyarulin13:01:05

и эти Bazel и Buck как раз на такие монорепо расчитаны

niquola14:01:50

Ага, понял. Мы сами так тоже делаем ;) А в чем проблема на Travis такое добро собирать? Меньше утилиток и сахара?

artemyarulin14:01:49

дак он не для монорепо точно. Если я хочу под iOS собрать, то должен буду выбрать машину с макОсь, но там не будет жавы. Если выбрать машину с жавой и лейном, но она будет не под макОС ессно. Если с тулзами под андроид то нам не будет лейна, ну и прочее

artemyarulin14:01:11

а несколько тревис файлов оно не умеет на проект. Должен быть один в корне

artemyarulin14:01:50

кста вопрос в догонку на тему рядом - никто не пробовал тесты рядом класть с кодом? т.е. core.cljs и core.test.cljs в той-же папке например

ul15:01:45

тогда уже core_test.cljs (а ns core-test) и не должно быть никаких проблем

ul15:01:12

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

artemyarulin15:01:12

оу, да - точно

artemyarulin15:01:42

меня просто начинает что-то бесить дерево папок в src/ и потом такое-же в tests/, хочу попробовать рядом класть.

artemyarulin15:01:29

спасибо

artemyarulin15:01:41

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

artemyarulin15:01:56

https://github.com/travis-ci/travis-ci/issues/2320 не то чтобы прям все что нужно - но круто

artemyarulin15:01:37

ха, этой штуке пара лет уже, как я мог это пропустить(

niquola16:01:23

Была идея, по-моему у midje тесты прямо в исходниках писать - тоже звучит интересно - как стили в компоненте ;)

rm16:01:12

> тесты прямо в исходниках захламляет же

niquola16:01:45

Или документирует

artemyarulin16:01:41

дак раст же - там это стандартная практика

artemyarulin16:01:48

обычно так + еще отдельно папка с тестами по желанию

rm16:01:20

ну когда у тебя 5 строк кода перемежаются 30 строками тестов -- это перебор

artemyarulin16:01:19

ну или вон питончик можно взять где тесты можно в докстрингу заэмбедить https://docs.python.org/2/library/doctest.html

artemyarulin16:01:13

о, кста - в кложуре тоже можно я забыл:

(defn my-function
  "this function adds two numbers"
  {:test #(do
            (assert (= (my-function 2 3) 5))
            (assert (= (my-function 4 4) 8)))}
  ([x y] (+ x y)))

(test #'my-function)