Fork me on GitHub
#clojure-russia
<
2016-08-23
>
chort40901:08:20

А кто как деплоит артефакты в репозиторий после постройки? Смотрел на lein deploy ... но не похоже что бы ему можно было указать что нужно деплоить именно standalone.jar

chort40901:08:24

Вариант руками - не подходит 🙂 Строительство происходить на Jenkins через командную строку lein uberjar Если, что пытаюсь запихнуть в Artifactory

artemyarulin05:08:25

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

Kira Sotnikov07:08:56

а можно директ линк?

Kira Sotnikov07:08:04

запощу в твитерочек

comerc07:08:33

Вчера была на первом, не поверишь. :) Публиковать лучше утром в субботу утром. На буднях быстро вытесняют "блог компании х". @artemyarulin ^

Kira Sotnikov08:08:53

а мой кложа код сегодня начальство похвалило

Kira Sotnikov08:08:00

чсв прям поперло

comerc08:08:55

@lowl4tency: запили статью на Хабр - вообще будешь на вершине мира! :)

Kira Sotnikov08:08:08

А я и собираюсь 🙂

Kira Sotnikov08:08:24

я правда не уверен что на хабр

Kira Sotnikov08:08:30

думаю завести бложек на медиуме

Kira Sotnikov08:08:56

не хочу никого обидеть, но хабр какая-то помойка и годные статьи там как-то очень редко

Kira Sotnikov08:08:04

ну и плюс у меня кармапроблемы постоянные

comerc08:08:32

@ferzco @alimov @meshiko : кто-нибудь из вас узнал о нашем чатике по статье на Хабре?

just.sultanov08:08:44

я сюда попал благодаря ссылке в группе на google+

comerc08:08:05

@lowl4tency: он дает главное - широкий охват аудитории. На медиум - это только если для портфолио.

comerc08:08:53

@dbushenko мог бы порвать Хабр вот с этим заходом http://clojure.by/articles/2016-07/why-not-haskell

comerc08:08:03

Популяризация - главная цель.

meshiko08:08:50

я попал из хабра 🙂 из статьи по ссылке

comerc08:08:37

Ну вот! Есть результат. :)

comerc08:08:25

@lowl4tency: еще большой потенциал у трансляций кодинга. http://hitbox.tv прекрасен. я бы замутил, инет не позволяет.

artemyarulin08:08:06

Меня вот эта статья сильно впечатлила в свое время https://circleci.com/blog/rewriting-your-test-suite-in-clojure-in-24-hours/ . Прям мощь всего лиспа и кложуры в частности можно прочувствовать, хотя не для новичков да

younke08:08:09

o/ попал с хабра )

comerc08:08:38

@artemyarulin: переведи, пажаласта! А я помогу с публикацией.

artemyarulin08:08:34

да неа, лень 🙂

seryh08:08:00

не будь мы тут все ленивые, не выбрали бы clojure =P

comerc08:08:22

Вот это еще очень хочется увидеть в переводе на Хабре https://www.infoq.com/presentations/Simple-Made-Easy

seryh08:08:25

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

just.sultanov08:08:37

@comerc у @tonsky было видео в переводе на ютубе

just.sultanov08:08:58

если не ошибаюсь 🙂

just.sultanov08:08:09

чет не могу вспомнить, где я видел

comerc08:08:38

Да где?! :)

comerc08:08:59

Я только про Датомик помню

alimov08:08:50

@comerc я из хабра попал сюда)

comerc08:08:00

@seryh: Руби в игнор :)

just.sultanov08:08:13

@comerc блин вроде про датомик)))

just.sultanov08:08:45

в голове каша из-за объема поступаемой инфы

comerc08:08:25

@just.sultanov: я завел доску в трелло :)

rmuslimov08:08:35

Коллеги, а помогите пож-та отладить приложение, вышло в прод и периодически стало отваливаться. Собственно, ни логов и ошибок в stderr/stdout

rmuslimov08:08:22

Я не имел дело ранее в java applications, возможно есть какой туториал как правильно

seryh08:08:03

помониторь сам сервер, мунином каким-нибуть, я как то словил утечку tcp/ip подключений

seryh08:08:53

ну и потребление памяти в куче https://visualvm.java.net/gettingstarted.html

rmuslimov08:08:03

вообще какое то сранное поведение у меня upstart скрипт через который стартует апп

rmuslimov08:08:19

exec java -jar target/uberjar/gdsconsole-standalone.jar >> /home/ubuntu/logs/yakovlev-web-1.log 2>> /home/ubuntu/errs/yakovlev-web-1.log

rmuslimov08:08:36

так вон продолжает думать что приложение запущено

seryh08:08:52

я супервизор использую. проблем не было

rmuslimov08:08:17

Хорошо, спасибо

comerc08:08:54

@seryh: @nicola рассказывал, что переписал огромный проект Ruby > Clojure - минус 2/3 кода.

rmuslimov08:08:31

тут сильно зависит от докладчика и ситуации

rmuslimov08:08:47

можно с руби на руби переписать так что в 2 раза меньше будет кода

comerc08:08:57

это практически всё, что я знаю про Ruby 🙂

rmuslimov08:08:58

потом еще раз переписать с руби на руби

comerc08:08:52

у партизанского маркетинга тоже хороший потенциал, я думаю https://habrahabr.ru/post/308308/#comment_9766094

comerc09:08:54

@andre но этож только тизер 😞

seryh09:08:04

2 клона проекта с хабра!

seryh09:08:09

два человека пощупали репл )

comerc09:08:03

@seryh: в избранное - 35. курочка по зёрнышку.

kronos_vano10:08:14

@niwinz: а почему в struct integer-str не пускает integer? Получается если у меня может придти и “5” и 5 мне придется плясать 😞

niwinz10:08:35

PR welcome 😉

kronos_vano10:08:19

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

niwinz10:08:01

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

comerc12:08:00

А давайте переведём полезную статью, которую насоветовал @artemyarulin !!! Один я не справлюсь, т.к. по-английски (да и по-русски) не очень. 🙂 https://github.com/comerc/Rewriting_Your_Test_Suite_in_Clojure_in_24_hours_RU/blob/master/article.md

comerc12:08:04

Закопипастил на гитхаб и отформатировал. Перевод можно выполнить совместно пул-реквестами.

andre12:08:27

да вроде там все просто

andre12:08:37

интуитивно понятно

comerc12:08:36

@andre поможешь? 🙂

andre12:08:37

мне нужно форкнуть?

comerc12:08:30

да как удобно! я посмотрел другие переводы на гитхабе, какой-то устоявшейся методологии не обнаружил.

comerc12:08:12

а как добавить мейнтейнера?

andre12:08:44

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

andre12:08:46

я форкнул

andre12:08:58

а дальше мне в мастер просто коммитить а потом сделать пулреквест моего мастера?

comerc12:08:26

Collaborators?

comerc12:08:47

да хоть и так, какой у тебя ник?

andre12:08:03

flexsurfer

comerc12:08:29

там можно просто жамкнуть карандашек, отредактировать текст и сохранить. при этом оно само создаст форк и пул-реквест

andre13:08:57

о круто

artemyarulin13:08:08

@comerc: Думаешь она нормальна для новичков? Для тех кто не в курсе что такое кложура я имею ввиду покажется что магия и все, может чего получше народ посоветует перевести

comerc13:08:58

@artemyarulin пусть будет в копилочке не только для новичков, чтобы стремились к просветлению 🙂 такое хорошо заходит https://habrahabr.ru/post/247889/

comerc13:08:39

@artemyarulin если тебя оно торкнуло, то и другим будет полезно! 🙂

artemyarulin13:08:13

ну тогда добавьте в начале в тизер абзац про лисп - что AST доступно, S-Expressions и что все остальные языки сосут ибо у них этого нет. Коментов сразу много будет troll

andre13:08:14

@comerc сделал пробный пулрек

comerc13:08:48

@artemyarulin напиши своими словами, пажаласта! 🙂

artemyarulin13:08:12

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

seryh13:08:46

надо написать что go говно, так как оно не лисп. сорвем хайпа

seryh13:08:18

только тоньше

seryh13:08:25

чтоб минусов не сорвать

seryh13:08:23

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

seryh13:08:38

горутины пфф. вот коре асинкх

artemyarulin13:08:49

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

kronos_vano14:08:49

кто-нибудь делал на immutant-е internal-error-midleware

kronos_vano14:08:59

не перехватывает ошибку почему то

rustam.gilaztdinov17:08:42

Подскажите, в чем может быть проблема? Ставлю библиотеку, прописываю в project, делаю lein deps, смотрю lein deps :tree — все на месте. Открываю репл в спейсмаксе — FileNotFoundException (эта самая библиотека), открываю в идее (курсив) — все на месте

chort40917:08:30

используй курсив 🙂

rustam.gilaztdinov17:08:48

Не, спейсмакс просто офигенен

chort40917:08:13

не знаю ... я на столько влюблен в курсив/intellij что переходить на что-то не хочется

artemyarulin17:08:46

@rustam.gilaztdinov: В репле емакса попробуй , затем позырь classpath

artemyarulin17:08:18

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

rustam.gilaztdinov17:08:26

Ну да, я так и делаю в спейсмаксе, или чего-то я не понял c classpath. Отправляю и буфер и нэймспейс в репл, везде падает с ошибкой — could not locate blablabla on classpath

artemyarulin17:08:55

эм, я хз - в спейсмаксе же тот-же сидер да?

artemyarulin17:08:19

ну т.е. он падает сразу когда репл открываешь?

rustam.gilaztdinov17:08:46

Щас, перезапущу заново, посмотрю

artemyarulin17:08:21

я имел ввиду из доки:

In the REPL you can also use "shortcut commands" by pressing , at the beginning of a REPL line. You'll be presented with a list of commands you can quickly run (like quitting, displaying some info, clearing the REPL, etc).

artemyarulin17:08:02

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

rustam.gilaztdinov17:08:41

Ну вот перезагрузил, все заработало, магия

rustam.gilaztdinov17:08:49

Уже в который раз такая ерунда

artemyarulin17:08:09

дак ты добавил либу когда репл уже был запущен?

rustam.gilaztdinov17:08:32

В курсиве меня спасало invalidate caches, а для емакса/спэйсмакса есть что-нибудь подобное?

rustam.gilaztdinov17:08:59

В этом проблема?

artemyarulin17:08:27

аа, так работать не будет да. Надо перезапускать репл, либо юзать https://github.com/clojure-emacs/clj-refactor.el

artemyarulin17:08:14

ну или чтоб те тащить все то только https://github.com/pallet/alembic

dbushenko17:08:22

Я смотрю тут периодически возникает вопрос чем так хорош емакс, так что вставлю свои пять копеек. Емакс для тех, кто набирает слепым десятипальцевым методом и не хочет терять скорость из-за переключения на мышку или стрелочки. Еще емакс - это не редактор, это конструктор. Нет смысла использовать емакс, если вам нужен продукт, емакс нужен тем, кто соберет для себя инструмент сам. Ну и последнее - комьюнити, в котором до сих пор сохранился дух тру хакеров 80-х. Это совсем не то комьюнити, которое есть у атома, visuak code, light table

artemyarulin17:08:14

@dbushenko: О да, я начал емакс вместе с кложурей 2 года назад и они с емаксом чем то похожи: Вылепляешь то что нужно именно тебе

artemyarulin17:08:48

перезжаю вот счас на оргмод для записей, прям ах, такая няя

artemyarulin17:08:07

поделить конфигом кста, посмотреть чо как?:)

chort40917:08:25

@dbushenko: 10 пальцев - ни как не связано с тем что пользуюсь... Я и русскую и английскую раскладку пользую не напрягаясь в слепую. Плюс в intellij все на shortcuts тоже подключается

chort40917:08:45

повторю свой вопрос. который задал вчера: кто как деплоит артефакты в репозиторий после постройки? Смотрел на lein deploy ... но не похоже что бы ему можно было указать что нужно деплоить именно standalone.jar Вариант руками - не подходит. Строительство происходить на Jenkins через командную строку lein uberjar Если, что пытаюсь запихнуть в Artifactory

comerc18:08:31

@dbushenko: а как же spacemacs? (про конструктор)

dbushenko18:08:19

@chort409: связано-связано. Так, как emacs позволяет настроить shortcuts, по сути не может ни один другой редактор. Там вообще всё, полностью всё можно без мышки, он ведь и без графического режима прекрасно работает. Все элементы внутри фрейма емакса -- это текст. В отличие от той же идеи, где вполне обычные виджеты.

dbushenko18:08:34

@comerc : spacemacs -- это как раз и есть результат работы напильником 🙂 Был конструктор, его перебрали по-своему и сделали spacemacs. Судя по отзывам -- удобнее дефолтной настройки

dbushenko18:08:25

но, честно говоря, почему из одного старья (emacs) решили сделать другое старье (vim) -- мне совершенно непонятно. Лучше бы не поклонялись vim-у, а сделали более современный конфиг

chort40918:08:18

@dbushenko: как показывает моя практика все-таки больше времени ты думаешь, и на 2 порядка меньше времени ты тратишь на то чтобы писать. Особенно это заметно в clojure

dbushenko18:08:55

Ну и что? Речь о том, что в емакс легче работать с клавиатуры, вот и все. А всякие там рассказы что IDE лучше - ну в чем-то лучше, кроме одного - работы с клавой

rmuslimov19:08:58

По-моему вы не противоречите друг другу

dbushenko19:08:42

Так и есть

dbushenko19:08:21

Вообще я заметил, что в подобных спорах стоит указать какие-то отличия Emacs от любого другого редактора/IDE, так оппонент воспринимает это как наезд на его любимую технологию

dbushenko19:08:47

а штука тут в том, что технологий так много неспроста: они все хоть чуть-чуть, но отличаются

dbushenko19:08:23

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

dbushenko19:08:44

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

dbushenko19:08:09

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

dbushenko19:08:38

короче, кому хорошо в IDE -- тот и молодец, а кому-то нужен Emacs -- ну почему бы и нет 🙂

artemyarulin19:08:57

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

artemyarulin19:08:39

Integrated development environment. Заинтегрировано по самый яи.. уши

dbushenko19:08:13

С плагинами - да, конечно он не хуже IDE, может даже лучше в чем-то

comerc19:08:11

@dbushenko: а напиши убойную статью, пажаласта! чтобы на Хабре поднять волну.

comerc20:08:44

> ClojureScript supports the list comprehensions как переводится "the list comprehensions"?

comerc20:08:23

пример:

(for [x (range 1 10)
      y (range 1 10)]
  [x y])

kronos_vano20:08:48

в институте мы решили “генератор списков"

kronos_vano20:08:51

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

kronos_vano20:08:37

выбирай

comerc20:08:16

@prepor: не помню, кто тут возмущался, что список нельзя сравнить со множеством (ты нам разжовывал)

(= '(:cat :dog :bird) #{:cat :dog :bird}) => false
а я нашёл таки способ 🙂
(= (sort (seq #{:cat :dog :bird})) (sort '(:cat :dog :bird))) => true

kronos_vano20:08:57

ты сравниваешь список со списком а не список со множеством

kronos_vano20:08:23

я не верю что препор говорил что множество нельзя привести к списку)

comerc20:08:24

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

niquola21:08:44

@chort409 Инструментом нужно владеть в совершенстве - performance & composition rich

chort40921:08:39

@nicola согласен, но тут скорее идет речь о выборе марки молотка ...

chort40921:08:51

я говорю что мне нравиться молоток марки А

chort40921:08:33

или не молоток а мультитул

chort40921:08:04

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

chort40921:08:06

вы говорите что молоток марки B - значительно лучше ... но вот чем я понять не могу

chort40921:08:26

но как говориться на вкус и цвет все фломастеры разные 🙂

niquola21:08:08

Эргономичность vim не превзойдена ;)

chort40921:08:33

да ... а vi так вообще прекрасен

comerc21:08:10

@andre: ну ты монстр! 🙂 запуль себе мои правки, чтобы не трахаться с мерджем. котаны! процесс перевода движется, помогайте: https://github.com/comerc/Rewriting_Your_Test_Suite_in_Clojure_in_24_hours_RU/blob/master/article.md

comerc22:08:45

@artemyarulin: зацени (вместо clojure.string/join) (apply str (interpose ", " ["Bob" "Mary" "George"]))

artemyarulin22:08:30

@comerc: ну круто конечно, но join и короче и яснее 🙂