Fork me on GitHub
#clojure-russia
<
2016-03-23
>
kharus01:03:09

@artemyarulin: В гамаке? simple_smile

andmed04:03:29

@mkaschenko: на религию похоже ж

maxim04:03:26

чем это?

rm04:03:10

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

andmed04:03:08

@mkaschenko: ок, на секту

rm04:03:51

andmed, фанклуб же, ну.

andmed04:03:18

@rm так я за, я че

rm04:03:31

ну вот эта вот цитата -- она тоже как будто про рок-звезд, типа "его песни будят во мне сокровенное и говорят то, что мог бы я, будь у меня способность выражаться красиво"

artemyarulin06:03:52

@mkaschenko: Оу, забыл про этот репо, спасибо!

niquola06:03:13

Чет мы давно не хэнгаутились? Как насчет следующего понедельника? Темы?

andfadeev07:03:55

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

andre07:03:38

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

andfadeev07:03:25

был же какойто сайтец

andre07:03:42

http://clojure.ru/ -- кто-то обещал даже отдать сообществу simple_smile

andfadeev07:03:10

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

andre07:03:52

ну да. сделать как 4clojure опенсорс

niquola07:03:18

Пиши он на gh

Kira Sotnikov07:03:18

нужно запилить на кложоскрипте

artemyarulin08:03:39

чота не увидел - может добавить на главной ссылку на слаку?

rmuslimov08:03:32

Коллеги, нормального форматинга нет или я просто не умею?

andre08:03:59

@artemyarulin: если ты про http://clojure.ru то там есть ссылка в http://clojure.ru/community.html

artemyarulin08:03:53

а да увидел, ну может убрать тогда “англ”, мы тут ну русской мове вроде общаемся

andfadeev08:03:29

@rmuslimov: https://github.com/clj-time/clj-time как вариант, ну или можно жавой

andfadeev08:03:49

или у тебя кложурскрипт?

artemyarulin08:03:17

https://github.com/clojure-ru/clojure-ru/pull/4 пофиксил, люблю опен сорс simple_smile

andfadeev08:03:03

с чего начать не ясно)))

rm08:03:25

посмотреть hammock-driven development, конечно же

artemyarulin08:03:26

а посещения вообще есть на этом сайтике?

andfadeev10:03:06

помогите разобраться

(routes
   (-> telegram-bot-routes
       wrap-json-body)
   (-> (routes site-routes)
       (defaults/wrap-defaults defaults/site-defaults))
   (-> (routes api-routes)
       wrap-json-response
       (defaults/wrap-defaults defaults/api-defaults)))
vs.
(routes
   (-> (routes site-routes)
       (defaults/wrap-defaults defaults/site-defaults))
   (-> telegram-bot-routes
       wrap-json-body)
   (-> (routes api-routes)
       wrap-json-response
       (defaults/wrap-defaults defaults/api-defaults)))
это будут разные handler-ы в итоге? я вообще думал что одинаковые, а у меня такое чувство что вокруг telegram-bot-routes оборачивается wrap-defaults и я огребаю invalid anti-forgery token ring

andfadeev10:03:07

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

andfadeev11:03:19

разобрался!

az12:03:20

@andfadeev: покажи исходники

az12:03:51

Бот через вебхуки / колбеки работает?

andfadeev12:03:02

через вебхук

andfadeev12:03:01

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

az12:03:48

А флоу взаимодействия сложный? Есть где-то описание?

andfadeev12:03:10

взаимодействие телеграма и приложения?

az12:03:00

Да, что прилетает, в каком формате, как ответить.

andfadeev12:03:46

просто делаешь роут в приложении вида POST /telegram/{api-key}/webhook (у меня так) и ловишь, в доке есть что приходит https://core.telegram.org/bots/api#getting-updates

andfadeev12:03:38

тока https нужен для вебхука

az12:03:56

Спасибо

andfadeev12:03:56

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

az12:03:06

Да, выложи

artemyarulin14:03:56

Отличный доклад на тему типов/контрактов/схемы/тест.чек в кложуре http://www.infoq.com/presentations/clojure-contracts

andfadeev14:03:48

заценим

andre18:03:13

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

(partial f)(partial f arg1)(partial f arg1 arg2)(partial f arg1 arg2 arg3)(partial f arg1 arg2 arg3 & more)

andre18:03:57

почему не написать

(partial f & args)

rmuslimov18:03:46

+1 к вопросу

prepor18:03:08

где пишут?

prepor18:03:27

ну а вообще обычно так с var args в либках из-за оптимизаций

prepor18:03:52

var args требуют аллокации дополнительной структуры

andre18:03:06

я спрашивал про доки https://clojuredocs.org/clojure.core/partial, но теперь понял что реализация именно такая

prepor18:03:19

ну реализация такая по той же причине, оптимизация

prepor18:03:29

*реализация partial

andre18:03:56

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

prepor18:03:21

да все желательно

prepor18:03:30

это оптимизация зашитая в core

prepor18:03:07

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

andre18:03:07

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

prepor18:03:15

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

fxposter18:03:39

что значит “желательно/не желательно"

fxposter18:03:44

это деталь реализации

prepor18:03:08

они это сделали, потому что: 1. могут. 2. это бесплатная оптимизация. 3. это core. => 4. она сделает на миллиардную долю быстрее почти все кложа программы

fxposter18:03:10

просто в clojure core сделали такие вот оптимизации

prepor18:03:30

будешь пилить clojure.core тоже желательно думай о микрооптимизациях

prepor18:03:00

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

andre18:03:14

мы о разном, но теперь я получил ответ на свой вопрос simple_smile

andre18:03:32

спасибо

razum2um18:03:37

@andfadeev: с чего начать не ясно))) you’re welcome

az18:03:07

@prepor: чувак, смотри что ML со мной делает

def min_path(triangle)
  f = ->(path, row, col){
    if row == triangle.size
      path
    else
      [
        f[path + [triangle[row][col]], row.next, col],
        f[path + [triangle[row][col]], row.next, col.next]
      ].min_by{|r| r.reduce(&:+) }
    end
  }

  f[triangle.first, 1, 0]
end

razum2um18:03:09

@artemyarulin а посещения вообще есть на этом сайтике? https://monosnap.com/file/faxKWbwuRswpbmcRNKZ1qTjRlhOvCg

az18:03:57

народ, а кто-нибудь увлекается членомерками типа http://www.codewars.com/ и росиянских кодобатлов ?

artemyarulin19:03:55

@az: Хм, а чо - интересная штука? Я последний раз задачки решал когда кложуру тока начал смотреть на 4clojure

az19:03:19

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

artemyarulin19:03:15

ок, тут народ чутка мерился 4clojure, там вроде интересно было, я может задач 50 решил и забил

artemyarulin19:03:21

или меньше, забыл уже

az19:03:23

@razum2um: я всё видел )

bernik20:03:37

@az: в декабре была тема с http://adventofcode.com/ почти все порешал на кложе, там нет завязки на язык, поэтому делали кто на чем может.