These are chat archives for synrc/n2o

28th
Aug 2015
Vitaly Shutko
@sokal32
Aug 28 2015 13:23
ребят, это ошибка или я не разобрался в том как работает mnesia: в этой строчке https://github.com/synrc/kvs/blob/master/src/store/store_mnesia.erl#L17 выполняется mnesia:add_table_copy(Tb, node(), Type), может быть тут нужно вторым параметром передавать Node а не node()? получается мы добавляем еще одну копию таблицы на эту же ноду. или я не понял?
на сколько я понял мы выполняем store_mnesia:join(AnotherNode) на какой-то другой ноде
Andy
@m-2k
Aug 28 2015 13:29
Наверн )
Не, там походу джоинится другая нода с таблицами
И копируются с удалённого хоста
Vitaly Shutko
@sokal32
Aug 28 2015 13:34
все, разобрался, все правильно
Namdak Tonpa
@5HT
Aug 28 2015 17:41
@fycth ну шо смотрел avz?
Andrii Sergiienko
@fycth
Aug 28 2015 18:32
@5HT смотрел, но пока не пробовал. Выглядит красиво. Спасибо. Завтра потестирую.
и да, у меня депозит в привате, - и там апплеты все хорошо работают...
Namdak Tonpa
@5HT
Aug 28 2015 18:33
Первый реально хуйово работает
:-) тут Егор был прав.
Иначе бы не переписывали его на N2O.
Andrii Sergiienko
@fycth
Aug 28 2015 18:34
Ну, мож у меня не такой большой депозит просто, поэтому не заметил :D
Namdak Tonpa
@5HT
Aug 28 2015 18:37
у тебя он (Таблица "Мои Депозиты") сколько секунд грузится?
Andrii Sergiienko
@fycth
Aug 28 2015 18:38
щас спецом замеряю...
Namdak Tonpa
@5HT
Aug 28 2015 18:39
вот замеряй, а потом замеряешь в ноябре еще разок ;-)
Andrii Sergiienko
@fycth
Aug 28 2015 18:39
ну секунд 5 где-то вышло
Namdak Tonpa
@5HT
Aug 28 2015 18:39
Только если ты девелопер тулзами будешь мерять то он вообще будет минуту грузится
ну да где-то так
это же по современным меркам адово медленно
Andrii Sergiienko
@fycth
Aug 28 2015 18:40
ну это да. но в привате были и пострашнее вещи. поэтому на общем фоне я бы даже и не заметил
Namdak Tonpa
@5HT
Aug 28 2015 18:40
А сколько грузится вторая вкладка? :-)
Andrii Sergiienko
@fycth
Aug 28 2015 18:40
"открыть депо"?
Namdak Tonpa
@5HT
Aug 28 2015 18:40
да "Открытие"
Andrii Sergiienko
@fycth
Aug 28 2015 18:41
"пиздык" и открылась. ну так примерно
Namdak Tonpa
@5HT
Aug 28 2015 18:41
power of N2O :-)
Andrii Sergiienko
@fycth
Aug 28 2015 18:41
ну красота чо
ну в привате эрлангистов вроде ж много - я несколько человек оттуда на одеске видел. странно что они до сих пор еще не переписали вообще всё
Namdak Tonpa
@5HT
Aug 28 2015 18:45
выписки и история платежей там охуенные
Andrii Sergiienko
@fycth
Aug 28 2015 18:46
что там ахуенно - так это отправка свифт платежей. я с третьей попытки только смог (и неделю времени заняло). При том что платинум кард, "личный банкир" и прочая срань...
там что форма (их две), что бэкенд - там все прекрасно
Namdak Tonpa
@5HT
Aug 28 2015 18:46
Вмсысле не работаетили что?
Я свифтом не пользовался но знаю что привате он есть, я на карту сразу бросаю любого банка мира.
При том что свифт переводы не во всех банках есть.
Andrii Sergiienko
@fycth
Aug 28 2015 18:48
эээ. ну оно в общем очень "удачно" сделано. Первая форма - это просто большое текстовое поле. И ты туда должен писать реквизиты. Проблема в том что платежи вручную идут и что б ты в ту форму не написал, тебе придет ответ что написал ты не в том формате.
втора форма (старая) - это и правда форма, с полями, но там если лишний пробел где-то будет, - оно тоже не пройдет валидацию
короче для сильных духом
Namdak Tonpa
@5HT
Aug 28 2015 18:48
О а давай мы это починим, напиши мне на maxim@synrc.com я передам куда надо.
Andrii Sergiienko
@fycth
Aug 28 2015 18:48
про на карту я знаю, мне надо было именно долбанный свифт. пришлось страдать.
Namdak Tonpa
@5HT
Aug 28 2015 18:49
Уберем ненужную форму и пробелы пофиксаем.
Andrii Sergiienko
@fycth
Aug 28 2015 18:49
а как чинить? оно ж на их движке там каком-нить хитром сделано
Namdak Tonpa
@5HT
Aug 28 2015 18:49
Шли письмо и ни о чем не волнуйся.
Andrii Sergiienko
@fycth
Aug 28 2015 18:49
окей не вопрос. я готов даже поучаствовать чем умею
Namdak Tonpa
@5HT
Aug 28 2015 18:50
Опиши суть вопроса, предложение и видео если будет прикриплено то вообще класс или картинки.
Andrii Sergiienko
@fycth
Aug 28 2015 18:50
я понял. сделаю картинки, может и видео. и зашлю.
Denys
@denys-potapov
Aug 28 2015 22:04
два дня назад делали перекличку, кто юзает авз
запишите меня 2 с половиной
я пытаюсь понять, его можно без квс использовать?
Denys
@denys-potapov
Aug 28 2015 22:10
суть какая - я пишу туториал, как разобраться с н2о
я всегда так делаю, когда сам пытаюсь разобраться
тут http://buffered.io/posts/webmachine-erlydtl-and-riak-part-3/ я прочитал, что по-ерланговски надо разделить веб часть, и коре приложение
веб часть это вебсервер и н2о, а коре соответственно общается с хранилищем (через квс)
но если для логина использовать авз, то веб приложение, выходит тоже зависит от хранилище, и напрямую в него пишет и читает
тогда смысл вообще разделять на два приложения
Namdak Tonpa
@5HT
Aug 28 2015 22:33
ну эту часть где avz пишет в kvs тоже надо сделать выносимой
тут фишка в том что avz это не что-то абстрактне, это что-то реальное для вториазии и оно врядли будет встречатся без n2o и kvs, поэтому там все зашито
я посмторел эту часть можно переопределить
вынести просто kvs:add, kvs:get куда-то
но это не нужно делать потому что avz это просто пример
он настолько маленький что ты его себе можешь просто копировать в приложение
это не что-то выбитое в граните как n2o или kvs
пока нет юскейса работы avz без kvs, менять никто не будет
по-эрланговски все что-то ты там причитал это полная хуйня
пока там пишут турториалы у нас написаны 10-ки приложений которые работают в продакшине в рамках единой экоситстемы.
чувак который подружил DTL, вебмашину и riak не может нам рассказывать как писать эрланг приложения.
Namdak Tonpa
@5HT
Aug 28 2015 22:39
когда-то были срачи про MVC, везде писали что N2O это не MVC (хотя это не так)
пока не стал популярным react
теперь все наоборот не хотят MVC :-)
любой пиздежь где написано что надо делать так а не иначе по каким-то шаблонам это полная хуйня
напишите 20 приложений и оптимизируйте их по количеству кода все вместе, а потом мы проверим эффективность, быстродействией и размер.
единственное что есть в эрланг мире, где кто-то строит свою экосистему — это Эликсир.
но Synrc стек намного компактнее и не нужно ставить еще один язык.
кроме того части synrc стека, например fs используется в Phoenixframework.
Так шо если хочеш разобраться с эрлангом, ничего не читай в интернете про эрланг.
Читай только исходники github.com/synrc
вот @m-2k так сделал и доволен, теперь смотрит на всех как на говно.
В инетрнете написана везде полная хуйня, я два года это все читал, пока не понял что все долбоебы.
Namdak Tonpa
@5HT
Aug 28 2015 22:49
@denys-potapov Как тебе лекция в киеве которая была, кстати?
Denys
@denys-potapov
Aug 28 2015 22:58
ок, то есть можно не делить на разные приложения, а писать в одном
так и сделаю
как для первого знакомства - мне понравилось
Namdak Tonpa
@5HT
Aug 28 2015 22:59
делить может и нужно, когда в этом есть смысл
Denys
@denys-potapov
Aug 28 2015 22:59
именно его направление (или школа) мне показалась слишком деспотичной, но в целом услышанное мне понравилось
Namdak Tonpa
@5HT
Aug 28 2015 23:00
обычно у нас схема данных выносится в отдельное приложение которое просто зависит от kvs, и там определены дополнительные таблицы, как например в https://github.com/spawnproc/db
Denys
@denys-potapov
Aug 28 2015 23:01
ок, попробую так
Namdak Tonpa
@5HT
Aug 28 2015 23:01
вот тут прсто таблицы свои добавляются и все https://github.com/spawnproc/db/blob/master/src/db_config.erl
а сами таблицы определены как эрланг рекорды https://github.com/spawnproc/db/tree/master/include
кода никакого в spawnproc/db нет, но может быть
если это какой-то сервер
таким сервером может быть чат приложение или веб контейнер, который просто зависит от n2o и db
ну а раз он зависит от db то значит и от kvs
а раз он зависит от n2o и kvs, то и avz будет работать
и все играет.
Denys
@denys-potapov
Aug 28 2015 23:06
резонно, тогда не буду делить на два приложения
Namdak Tonpa
@5HT
Aug 28 2015 23:06
в примере synrc/games все поделено на три приложения
game, db, web
Denys
@denys-potapov
Aug 28 2015 23:07
да, я его читал
Namdak Tonpa
@5HT
Aug 28 2015 23:07
game зависит от db, db зависит от kvs, web зависит от n2o, kvs и avz
Denys
@denys-potapov
Aug 28 2015 23:07
но в скайлайне я все понял, а гамес решил отложить когда глубже вникну
Namdak Tonpa
@5HT
Aug 28 2015 23:08
game — бизнес логика, db — просто схема и утилиты работы с данными, web — веб контейнер где веб логика
Andy
@m-2k
Aug 28 2015 23:08
Да, говнопоток мыслей в инете просто поражает. Один петух может накудахтать в 4 раза больше как ему на мгновение показалось тру принципов, чем другой напишет рабочего кода получит профит и прокачает скилл, а потом срефакторит его и сделает ещё меньше кода.
В итоге первый бомбит за лойсы а второй за реальное бабло
Namdak Tonpa
@5HT
Aug 28 2015 23:10
просто в skyline, только web контейнер есть и все, поэтому там непонятно куда базу лепить и где бизнес логику писать
надо наверно написать детальный разбор этой игрушки
чтобы было понятно как оно работает без jQuery, HTML и DTL :-)
Denys
@denys-potapov
Aug 28 2015 23:11
понял, доделаю скину сюда линк на ревью, если у кого будет желание
Namdak Tonpa
@5HT
Aug 28 2015 23:12
кидай, главное ничего не читай и ходи на лево
а тот тут есть такие, что ходят наспрашивают советов, а потом приходят к нам и говорят а как с помощью gettext i18n в эрланге делать :-) и мы ржем над ними
Denys
@denys-potapov
Aug 28 2015 23:13
строго тут у вас
Namdak Tonpa
@5HT
Aug 28 2015 23:14
тебе просто сложнее будет, лучше учится у одного мастера
когда прокачаешь скил можно будет пойти к другому
но учится сразу двух мастеров, которые говорят разную хуйню тяжело
поэтому выбери себе первого мастера и учи Эрланг у него
я не против быть вторым мастером или третьим
но если ты приходишь ко мне, ты должен забыть всё, чему тебя учили до этого
Denys
@denys-potapov
Aug 28 2015 23:15
я где-то это слышал)
Namdak Tonpa
@5HT
Aug 28 2015 23:16
я специально сформулировал это так, чтобы сразу было все понятно
Denys
@denys-potapov
Aug 28 2015 23:22
спасибо
тогда еще такой вопрос
я сделал онлайн обновление комментариев (пока без сохранения)
wf:send({post, post_id()}, {client, wf:q(comment)}); - тут я посылаю сообщение с комментом
event({client, Text}) -> тут его принимаю
если я первым членом кортежа передаю client - все работает
Namdak Tonpa
@5HT
Aug 28 2015 23:25
это особенности N2O протокола
Denys
@denys-potapov
Aug 28 2015 23:25
а если, хочу поменять на свое типа {new_comment, wf:q(comment)} - я не получаю этого сообщения даже в текущем процессе
Namdak Tonpa
@5HT
Aug 28 2015 23:26
все данные должны быть таплами, и даже больше — рекордами (с первым атомом)
и этот атом должен быть в протокольном стеке, т.е. иметь обраточика
иначе мы не сможем эффективно матчить все данные которые проходят через N2O релей
Denys
@denys-potapov
Aug 28 2015 23:29
ок, то есть правильней надо wf:send({post, post_id()}, {client, {new_comment, wf:q(comment)}});
Namdak Tonpa
@5HT
Aug 28 2015 23:29
да
Denys
@denys-potapov
Aug 28 2015 23:30
дошло
Namdak Tonpa
@5HT
Aug 28 2015 23:30
в примере (который ты не смотрел), так и происходит
Denys
@denys-potapov
Aug 28 2015 23:32
я из него и брал, просто там {User,Message} никак не подписан - типа получи любой кортеж из двух єлементов и считай это комментом
Namdak Tonpa
@5HT
Aug 28 2015 23:32
ага, так и есть, теперь ты это знаешь
еще этот пример лучше скайнлайна в том плане что тут все четки и идиоматично по N2O сделано
скайлайн год назад писался, еще когда по-сути n2o не было, а был только nitrogen
и тут реальный персистетный чат с комнатами
а скайлайн пустышка
Denys
@denys-potapov
Aug 28 2015 23:34
ок, буду на него смотреть
Namdak Tonpa
@5HT
Aug 28 2015 23:34
этот пример вшит в mad
mad app sample генерирует этот пример
или не этот
не не этот
попроще
Denys
@denys-potapov
Aug 28 2015 23:38
в маде смапл не обновляет чат в других потоках
Namdak Tonpa
@5HT
Aug 28 2015 23:40
что ты имеешь ввиду, там есть ошибка?
а да, точно
Denys
@denys-potapov
Aug 28 2015 23:43
да, он шлет сообщение только в свой поток
спасибо за консультацию, пойду
Namdak Tonpa
@5HT
Aug 28 2015 23:50
пофиксал mad