Fork me on GitHub
#clojure-russia
<
2016-08-19
>
andre06:08:48

кстати гифка про Parinfer непонятная, там не уследить что происходит, я паработав с ним понимаю теперь как он работает, а человек не знакомый с clojure вообще не увидит разницы в гифке 🙂

bernik07:08:18

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

andre07:08:54

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

andre07:08:26

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

just.sultanov07:08:04

Мне кажется или реально на кложе так легко писать код, сразу покрывать тестами и видеть результат, используя репл? В джаве пока все напишешь, чтобы проверить работоспособность, так много тратишь времени и сил на техническую часть, отвлекаясь от бизнес-логики.

just.sultanov07:08:11

Вот такие мысли после 2 дня знакомства, что будет дальше?! 😂

artemyarulin07:08:09

реально 🙂

andre07:08:38

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

andre07:08:16

есть и побочный эффект - появится отвращение к ООП

just.sultanov07:08:22

я уже хочу свой проект переписать на кложе 🙂

artemyarulin07:08:59

макросы! Я могу сделать ОГОГОГО! [спустя десяток самописных макросов] ОМГ, зачем я это делал 🙂

just.sultanov07:08:02

> есть и побочный эффект - появится отвращение к ООП

just.sultanov07:08:15

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

just.sultanov07:08:01

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

just.sultanov07:08:32

но там за счет орм и батареек эффект был

just.sultanov07:08:55

а здесь прям после джавы как бальзам на душу 🙂

seryh07:08:12

еще и фронт можно кодить! и на выбор всего 3 фреймворка, а не 300 как в js

seryh08:08:57

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

artemyarulin08:08:12

а гугл реально вот вбухивает на рекламу го что-то?

artemyarulin08:08:50

ну окромя того что мы гугл мы юзаем и создали го что конечно уже хорошая реклама

seryh08:08:00

пруфов нет, но хайп в свое время нездоровый был

seryh08:08:12

такой сарафанно не возникает

artemyarulin08:08:39

ну да, чота интерес к кложуре не очень растет

andre08:08:10

на хабре завалили в посл время статьями про go

just.sultanov08:08:57

я вот выбирал go erlang или clojure

kronos_vano08:08:31

с какой целью

just.sultanov08:08:05

для своего дальнейшего развития

just.sultanov08:08:30

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

dbushenko09:08:43

в этом плане go перспективнее. там нет функциональщины, он простой, как тапок, работает быстро

seryh09:08:25

писать на нем долго, говорят выходит

seryh09:08:20

в одну студию пришел заказчик забугорский с недописанным го проектом. те его переписали им побыстрому на nodejs

dbushenko09:08:10

@seryh это да, но человек ищет удаленку. среди трех названных им языков go пользуется наибольшей популярностью

dbushenko09:08:29

думаю, еще проще удаленку найти на javascript

seryh09:08:41

дописал статью кстате. вроде выглядит теперь законченной

artemyarulin09:08:07

а кто где ищет удаленку? сори за оффтоп

dbushenko09:08:06

@artemyarulin ну вон @just.sultanov учит clojure чтобы удаленку найти. думаю, задача не из простых

dbushenko09:08:28

clojure -- инструмент мало распространенный, заказов на него мало

artemyarulin09:08:23

угу, все что мне попадается US time zone - совсем не охота по ночам колбасить

just.sultanov09:08:14

@dbushenko: с тем же успехом я могу удаленку на java или на js искать так как опыт есть

dbushenko09:08:44

я думаю, даже с бОльшим успехом, а не с тем же 🙂

just.sultanov09:08:12

да согласен 🙂

misha10:08:45

https://clojurians.slack.com/archives/clojure-russia/p1471597700002428 звучит, как страшилка у костра

yashaka10:08:28

@seryh: у меня есть подозрения что за трай кетч в тест логике могут не слабо накинуться… любые сложные конструкции типа ифов, циклов, трай кетчов - считаются плохим тоном в написании тестов в нашем примере - это ведь функционал логирования по сути, и такие вещи обычно выносят в какие то абстракции… может если есть желание показать удобство, то стоит показать как вынести такой код логирования в какую то - то ли функцию толи макрос дополнительный вокруг deftest

seryh10:08:24

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

seryh10:08:13

или еще какой внезапной фигни которую сложно предсказать

yashaka10:08:20

логика “не использовать сложные конструкции” растет от того факта что тестов много, они могут менятся, и их пишет большое количество людей - поэтому нет времени сильно вдумываться в флоу - тесты должны быть буквально очевидными по крайней мене насколько я это себе понимаю:) в селениум тестах - это еще более важно, так как тесты сложнее сами по себе…

seryh10:08:28

да простор для улучшения большой ) руки пока не дошли

yashaka10:08:31

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

seryh10:08:03

я там в статье отметил в заключении что можно dsl написать простой

seryh10:08:13

а в примере, так наколенная поделка

yashaka10:08:00

я сам автоматизатор, а не разработчик, и вишу тут в чатах на эту тему, и там как только какой то новичок показывает тест с ифами и трай кетчами - сразы льются горы нравоучений… здесь суть не в том что хорошо а что плохо… а в том что и так у нас посыл громкий как для неформального языка, и народ начнет лить критику:) и получается мы им с нашими “наколенными подделками” только еще больше повода даем 🙂 У меня сейчас завал, поэтому к сожалению нет времени на то что бы помочь… Но если мы не спешим, то где то через недельку-вторую, я смог бы поконтрибьютить в эту статью…

andre10:08:15

а кейс самый главный не рассмотрен в статье? что упал тест и как его реплом починить?

andre10:08:25

я так понимаю это была киллерфича статьи нет?

seryh10:08:35

публикация на понедельник запланирована. вообще если взлетит то можно и вторую статью запилить

seryh10:08:49

и свой dsl для тестирования запилить =Р

seryh10:08:31

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

yashaka10:08:25

может и так:) вдруг у меня защемит сердце таки раньше чем через две недели, я на выходных может допилю dsl какой то) или еще чего)

seryh10:08:03

motor4ik: @comerc видео на ютюб возможно приготовит с показом этого добра в репл

kronos_vano12:08:37

spec можно только под 1.9 заюзать?

andfadeev12:08:03

есть вот бекпорт, но я не юзал https://github.com/tonsky/clojure-future-spec

just.sultanov14:08:31

есть возможность упростить такой пример?

artemyarulin14:08:46

@just.sultanov: чонить типа так

(let [args [ arg1 arg2 arg3 arg4]]
    (cond (apply predicat-1 args) result1
          (apply predicat-2 args) result2
….

just.sultanov14:08:33

спасибо!

artemyarulin14:08:13

ну и вообще главный принцип - все данные же!

(let [comp-table [predicate-1? result-1
                  predicate-2? result-2
                  predicate-3? result-3]]
   (or (magic-function comp-table arg1 arg2 arg3 arg4) :result-else)
`

rmuslimov14:08:50

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

kronos_vano14:08:52

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

just.sultanov14:08:49

@rmuslimov: когда нет детей и всяких там ипотек, хоть в шалаше живи без еды на краю света 😂

just.sultanov14:08:16

меня год назад перевели с маленького городка на ямале (население 30 тыс) в относительно здоровенный Сургут (~400 тыс)

just.sultanov14:08:50

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

just.sultanov14:08:22

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

just.sultanov14:08:08

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

rmuslimov14:08:23

а что за профессия?

just.sultanov14:08:05

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

rmuslimov14:08:27

так возьми питон/руби и в столицы

just.sultanov14:08:32

в энергосбытовой компании

just.sultanov14:08:45

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

artemyarulin15:08:07

дефолт-сити-2 лучше! Поребрик, а не бордюр! trollface

rmuslimov15:08:17

так повторю вопрос а чего не python/ruby/js?

rmuslimov15:08:29

будешь сам решать где жить

a.espolov15:08:12

лучше самому решать с чем работать)

just.sultanov15:08:54

@rmuslimov: На данный момент пилю проект бэк на java, фронт на ангуляре-1. Жду братишку из армейки, осенью должен вернуться. Оба мы по образованию программисты. Хотим что-то своё открыть, идей много. Clojure показался отличным вариантом для быстрой разработки, плюс наелся с ангуляром, хочу попробовать clojurescript.

comerc15:08:25

Гы-гы, а я наелся с Meteor-ом. 🙂

misha15:08:15

@just.sultanov разработка-то быстрая, но потренироваться для начала совсем не помешает

just.sultanov15:08:44

вот чем сейчас и занимаюсь 🙂

just.sultanov15:08:05

есть работа где можно применить и протестить

seryh16:08:02

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

seryh16:08:42

а, видимо статья об этом и рассказывает

seryh16:08:50

мой английский оставляет желать лучшего

dragoncube16:08:33

это про проприетарную сборку JDK

dragoncube16:08:57

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

dragoncube16:08:18

с OpenJDK нет такой проблемы

comerc18:08:54

Ребята! А поругайте еще раз черновик статьи для Хабра by @seryh https://goo.gl/mPqDn0

kishanov18:08:03

статья-солянка. Из секций “почему Clojure” и “быстрый старт по инструментам разработки” полезный параграф только один - REPL Clojure, с основный pitch’ем на то, что state сохраняется и можно экспериментировать

kishanov18:08:32

Лучше расширить пример и написать пошагово от простого “заполнил текстовое поле” до “прошелся по форме, увидел нотификацию, сделал редирект”

kishanov18:08:22

Если статья ориентирована на тех, кто кложу не знает, но знает Selenium - ему надо продавать, что это удобнее делать через REPL, если статья ориентирована на тех, кто пишет приложение на Clojure и у него появилась задача автоматизировать тестирование - ему нужно только инфу на тему как это быстро сделать

kishanov18:08:56

а так получается ни вашим, ни нашим

seryh18:08:13

ориентация статьи на тех кто не знаком с clojure

seryh18:08:35

нужно сагитировать чемто полезным потрогать репл

seryh18:08:48

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

seryh18:08:31

вообщем то основной мессейдж статьи и есть агитация к реплу.

seryh18:08:46

просто про него сложно что то больше написать.

kishanov18:08:46

ну значит не надо много писать, этож не обязательное сочинение на 3 страницы 🙂

comerc18:08:09

добавил в конце статьи блок "Другими словами".

kishanov18:08:43

Про lein, parinfer и педивикию - визуальный шум. В интернет время ожидать от пользователя прочтение статьи на 7 страниц, которая прыгает по разным темам - это издевательство над пользователем. Сокращенный твиттерами attention span на такое не способен

kishanov18:08:35

если кого-то заинтересует selenium+clojure, он пойдет и первым же делом нагуглит про lein, поддержку в редакторах и как быстро начать писать

comerc19:08:57

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

comerc19:08:24

я вижу в Parinfer продолжение идеи синтаксиса через табы из Python и CoffeeScript.

kishanov19:08:07

ну да, но чем эта информация улучшает статью? (вставить цитату про то, что совершенство достигнуто не тогда, когда нечего больше добавить, а тогда, когда нечего больше убрать)

kishanov19:08:50

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

just.sultanov19:08:10

По-моему про parinfer на гифке не ясно, что он делает. Пока сам не попробуешь 🙂

seryh19:08:47

я раз 10 гифку пересмотрел прежде чем увидел что там скобочка сама дорисовывается )

comerc19:08:12

для пояснения подписана картинка "Как Parinfer помогает закрывать скобки"

just.sultanov19:08:40

ну да там всматриваться надо

comerc19:08:40

может как-то поменять текст?

just.sultanov19:08:32

может в гифке по больше пример привести?

comerc19:08:41

это фирменная гифка Parinfer-а, на сайте много других примеров

just.sultanov19:08:15

и кажется, что тут как минимум 2 статьи -> первая про введение в clojure + использование всяких тулзов, а вторая про селениум-тесты

just.sultanov19:08:22

надо наверное разбить

seryh19:08:47

там половина контента под катом будет

seryh19:08:51

не так уж много в итоге выдет

seryh19:08:10

стандартная добротная по обьему хабр статья

comerc19:08:18

@kishanov: у нас другая цель. нудно повторять до просветления, что кложа - это хорошо 🙂

just.sultanov19:08:50

2-ая гифка вроде нагляднее

just.sultanov19:08:00

где insert-delete

comerc19:08:13

@just.sultanov: так получилось, что это мой первый проект на кложе. @seryh вчера полночи консультировал из Новосиба в Минск, как мне его завести. совместно освоили Atom и LightTable. 🙂

comerc19:08:05

@just.sultanov: на сайте не гифки, гифка на гитхабе https://github.com/shaunlebron/parinfer

just.sultanov19:08:02

@comerc: я тоже вот в течении 2-х дней ковыряюсь, но остановился пока на idea + cursive

comerc19:08:06

и там просто вставляет две скобки при добавлении нового элемента списка, а тут в зависимости от отступов происходит трансформация, что меня лично вштырило, когда сообразил.

just.sultanov19:08:56

lighttable симпотичнее выглядит 🙂

just.sultanov19:08:14

че то куда не посмотрю у всех firacode стоит

just.sultanov19:08:20

или я ошибаюсь?

comerc19:08:17

Беда в том, что Proto REPL в Atom пытается подражать и Emacs-у и LightTable. Хотя я очень люблю Atom, но LightTable для Clojure - must have!

just.sultanov19:08:56

а я все не могу заставить себя освоить emacs

just.sultanov19:08:16

уже все видео @dbushenko на ютубе пересмотрел 😄

comerc19:08:34

Кстати да, firacode - это был еще один весомый аргумент, чтобы перейти на Clojure 🙂

artemyarulin19:08:02

э, а оно причем? оно ж вроде везде работает?

comerc19:08:18

emacs придется осваивать, конечно 🙂

olegakbarov19:08:40

я честно не набрасываю, но что emacs умеет из того что нельзя в других редакторах?

comerc19:08:50

@artemyarulin: я проникся FiraCode и Clojure одновременно 🙂

comerc19:08:30

@olegakbarov: запускаться в удаленной консоли 🙂

olegakbarov19:08:22

по ssh на другом хосте?

comerc19:08:48

в LightTable выбешивает, что часто нужно тянуться за мышкой

just.sultanov19:08:48

да это в любом редакторе напрягает

artemyarulin19:08:56

а в емаксе мышка не нужна, но мизинец страдает. Но говорят можно педали купить … troll

artemyarulin19:08:06

http://xkeys.com/xkeys/xkfootRear.php вооо, на НГ надо себе подарить))

just.sultanov19:08:53

а клава кинезис не лучше будет?

just.sultanov19:08:00

вместо педалей? 🙂

comerc19:08:16

@artemyarulin: а у меня есть педали в прицепе для водопроводных кранов. включаешь кран - помпа качает воду. ногой останавливаешь подачу быстрее. это для экономии. очень удобно. 🙂

artemyarulin19:08:44

вово и самое главное можно в твиттер фотки запостить - всем вимерам на зависть! все, перестаю оффтопить)

comerc19:08:20

@artemyarulin: на третью скидка - 5%

artemyarulin19:08:05

и чем третью нажимать? 😄

comerc20:08:00

@just.sultanov: вроде @tonsky кинезис юзает, видел в его блоге статью. не найду сейчас

just.sultanov20:08:40

@comerc: да есть один знакомый, который юзает

just.sultanov20:08:44

отзывается хорошо

just.sultanov20:08:49

но ценник конский

comerc20:08:53

наврал, вроде он такую показывал:

comerc20:08:38

а у меня вот такая короткая механическая:

comerc20:08:11

единственный плюс, что мышка ближе. подсветка-механика - это понты

comerc21:08:27

Успехи за неделю с новым тренажером клавиатуры - http://www.typingstudy.com/ru/ Прошёл до 7 урока (с результатом на каждом упражнении более 25 слов в минуту), а это только треть курса. По ощущениям сравнивая с KTouch - теперь обучение в радость.