Fork me on GitHub
#clojure-russia
<
2016-04-06
>
rmuslimov06:04:22

кхе-кхе, начал деплоить свой первый аппликейшн, размер jara в 70 метров это норм? или я не туда нажал?

abtv06:04:43

у меня тоже дофига, особенно если в jar еще все ресурсы лежат (js, картинки и т.д.)

abtv06:04:24

встречный вопрос: как деплоишь jar? @rmuslimov

rmuslimov06:04:41

мне рано отвечать на этот вопрос simple_smile

rmuslimov06:04:53

сейчас просто через scp отправил

rmuslimov06:04:23

но вообще наверно напишу скрипт на питоне

rmuslimov06:04:38

чтоб с ENV и так далее

abtv06:04:14

ну я имел ввиду что юзать на сервере: upstart или там еще что. я деплоем не занимаюсь, но мне интересно

abtv06:04:22

может кто еще напишет

rmuslimov06:04:28

upstart да

rmuslimov06:04:51

я в свое время написал свой ансибл для нашей компании

rmuslimov06:04:54

так и живем

rmuslimov06:04:05

уже 3 года на нем simple_smile

abtv06:04:14

кстати, апстарт вроде как выпиливают из убунты 16, не?

rmuslimov06:04:40

не слежу, не в курсе - но пользоваться же не запретят

rmuslimov06:04:42

так что норм

abtv07:04:03

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

rmuslimov07:04:14

короткий ответ иметь два инстанса и делать это последовательно

dottedmag07:04:27

@abtv: Ещё нет, так как убунтуфон никак не может переползти на системд

abtv07:04:05

@dottedmag: тоже upstart используешь?

dottedmag07:04:11

@abtv: вынужден

abtv07:04:26

а хотел бы systemd? @dottedmag

lowl4tency07:04:52

Я хочу системд

lowl4tency07:04:56

жду лтс убунты с ним

lowl4tency07:04:02

ибо апстарт говно )

rmuslimov07:04:50

> ибо апстарт говно ) что на ваш взгляд не так?

rmuslimov07:04:12

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

dottedmag07:04:48

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

dottedmag07:04:03

Во-вторых, язык конфигов у него херовый.

dottedmag07:04:11

В-третьих, логирование говно.

dottedmag07:04:31

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

dottedmag07:04:18

Если без докера, то я бы взял системд. Если с докером, то внутри контейнера хватит и какого-нибудь runit или его аналога.

dottedmag07:04:53

Пятиминутка ненависти закончена :)

konukhov07:04:31

а вот по поводу докера. крутая штука, удобная, все дела, но ведь получается, что у тебя в каждом контейнере своя jvm будет крутиться, а это не круто, так? кто jvm + docker использует – как эту проблему решаете? или пофигу?

dottedmag07:04:05

Докер ничего к проблеме не добавляет, только рассаживает jvm'ы по клеткам

konukhov07:04:40

ну так вот я про это и говорю, стоит вообще париться или нет

artemyarulin07:04:01

а в чем проблема?

konukhov07:04:22

+ jar сам по себе контейнер и так

artemyarulin07:04:27

разные jvm - разные версии ты имеешь ввиду или чего?

andfadeev07:04:31

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

andfadeev07:04:02

ну типо jar и докер контейнер совем про разные вещи)

konukhov07:04:06

ну jvm “разогревается”, там кеш какой-то внутренний есть и тд. я недавно совсем в мир jvm пришел, поэтому в общем и спрашиваю.

andfadeev07:04:08

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

artemyarulin07:04:08

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

konukhov07:04:58

@andfadeev: а где почитать про это?

rmuslimov07:04:52

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

konukhov07:04:02

а вообще логично, что разные jarы на разных jvm – могут ведь быть разные версии библиотек в каждом и тд.

rmuslimov07:04:14

и вообще старая технология завернутая в хорошую обложку simple_smile

konukhov07:04:23

что ты имеешь в виду под внешними зависимостями?

rmuslimov07:04:57

системные библиотеки

artemyarulin07:04:37

хм, это сильно плохо?

rmuslimov07:04:05

ну видимо обновил систему и какой то докер перестал запускаться

artemyarulin07:04:29

а понял, да

rmuslimov07:04:44

вообще, я пересказываю что слышал возможно кто то расскажет из первых уст

artemyarulin07:04:15

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

artemyarulin07:04:08

нене, это не виртуальная машина всеж, 100% переносимости не будет

rmuslimov07:04:29

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

konukhov07:04:31

ага, спасибо, это уже прочитал simple_smile

konukhov07:04:16

и вот еще – тут только про достоинства

fxposter08:04:15

если ты собирался в одном jvm делать несколько приложений - то я бы не советовал simple_smile

konukhov08:04:27

а я не собирался, ыы

fxposter08:04:39

какая тогда разница - в докерах или нет )

konukhov08:04:39

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

konukhov08:04:11

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

az09:04:47

А перформанс тут причем?

dottedmag09:04:21

@rmuslimov: Херня всё это про внешние зависимости. Докер в production разворачивается на хостовых машинах, на которых ничего больше нет, и которые не трогают.

prepor12:04:11

@abtv: > [9:58] может кто еще напишет condo конечно! http://github.com/prepor/condo/

prepor12:04:32

на днях напишу доку наконец, благо последняя версия мне уже совсем нравится simple_smile

abtv13:04:26

@prepor: для такой штуки дока точно не помешала бы, вообще непонятно откуда начинать simple_smile

abtv13:04:21

напиши в доке с чего начинать, а то те примеры, которые в examples я че-то не понял с наскока

prepor13:04:47

дада, окей, напишу, сообщу )

abtv13:04:31

>я себе приложение уменьшил на 80 кб минифицированного кода за час работы ты просто добавил везде пустых мапов {} или еще что-то делал ? @asolovyov

prepor13:04:24

и почему саблоно сам не делает это в макросе?

artemyarulin13:04:10

@asolovyov: Я так понимаю server side rendering в Rum работает даже не вызывая React.renderToString вообще?

prepor13:04:41

@artemyarulin: да, в этом типа идея

artemyarulin13:04:07

я удивлен. Это нормально работает?

artemyarulin13:04:19

Ну т.е. я понимаю почему и идею - очень круто

prepor13:04:43

у нас работает )

artemyarulin13:04:57

И еще один вопрос - так еще кто-то делает? Или это возможно из-за sablano|code as data в кложуре?

prepor13:04:19

вот первый маленький баг только сегодня словил, соловьев обещал пофиксить )

prepor13:04:19

думаю только моднакаста и флоктори ) но вообще никто не мешает то же самое делать с реагентом например, по-идее

artemyarulin13:04:36

хм, а какие ограничения у этого подхода?

artemyarulin13:04:24

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

prepor13:04:43

в смысле? какие еще языки нормально умеются компилироваться в сервер / жс, много таких знаешь?

prepor13:04:57

а из тех, что более-менее мейнстримово юзаются и там и там?

artemyarulin13:04:25

ха, кложура мейнстрим simple_smile

prepor13:04:48

более-менее мейнстрим, да

artemyarulin13:04:57

ну да, наверно только скала.жс в голову приходит, но пока там маловато еще

prepor13:04:14

там никогда не будет многовато )

artemyarulin13:04:40

Ну круто ребят - мега респект! Я уж думал придется бек на CLJS писать если server side rendering нужен, а тут прям все из коробки, ня 👍

prepor13:04:48

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

prepor13:04:20

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

artemyarulin13:04:45

дада, ну это уже implementation detail. Ну се тогда решено - дропаю ом-некст и переезжаю на rum тада simple_smile

prepor13:04:15

нууу, ом некст как бы про другое все же

prepor13:04:01

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

fxposter13:04:08

> и почему саблоно сам не делает это в макросе? я подозреваю потому что оно не знает - ты указал опции или child-елементы

fxposter13:04:19

и ему это надо каждый раз проверять в рантайме

prepor13:04:32

я тупанул тут конечно, да, простите

fxposter13:04:34

потому что (foo) может вернуть как массив, так и хеш

asolovyov13:04:48

@abtv просто добавил пустых мапов, угу

asolovyov13:04:58

@artemyarulin: да, никакого реакта на сервере нет

artemyarulin14:04:14

еще раз спрошу - нормально работает?:))

asolovyov14:04:21

@prepor: идею я вообще у arohner взял

asolovyov14:04:29

см исходник страницы simple_smile

asolovyov14:04:48

@prepor: https://github.com/arohner/foam - он на clojure/conj это показывал

prepor14:04:30

но мы еще не в проде )

artemyarulin14:04:50

я foam видел да, но там чота он через хаки к звездам, а тут вон уже в проде почти simple_smile

artemyarulin14:04:12

ну крутяк ащще, прям обрадовали меня:)

prepor14:04:55

дарю скидку, гг )

a.espolov14:04:48

парни юзает кто идею 2016?

a.espolov14:04:17

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

rmuslimov15:04:07

> @dottedmag: Херня всё это про внешние зависимости. Докер в production разворачивается на хостовых машинах, на которых ничего больше нет, и которые не трогают. Докер от этого лучше не стал, но продакшн никто не трогает да

ssesutchenkov16:04:54

@a.espolov: File - Settings (Ctrl - Alt - S) слева Keymap / Editor

a.espolov16:04:23

странно

a.espolov16:04:31

у меня только default settings

ssesutchenkov16:04:29

на этой машинке у меня коммьюнити, билд 143.2287

andre18:04:37

@ssesutchenkov: о, привет, а это не ты к нам подсаживался третьим на воркшопе? simple_smile

ssesutchenkov19:04:03

@andre: ага 😃 привет!

abtv19:04:01

Кстати про идею. IdeaVim плагин кто-нибудь использует? @a.espolov ? парни с идеей?