These are chat archives for synrc/n2o

9th
Oct 2015
Andy
@m-2k
Oct 09 2015 00:02
внимательно на -module(n2o_client). посмотри
Andy
@m-2k
Oct 09 2015 00:09
wf:wire напиши и заработает
Andy
@m-2k
Oct 09 2015 00:22
итак
Egor
@madmake
Oct 09 2015 00:23
сек
Andy
@m-2k
Oct 09 2015 00:24
% in console
application:set_env(n2o,protocols,[n2o_heart,n2o_nitrogen,n2o_client,n2o_file,n2o_text]).

% code
event(init) -> wf:reg({game,r20}),
wf:update(upload,#button{body="test",postback=test}]);

event(test) ->
    wf:send({game,r20},{text,<<"sas">>});
event({text,<<"sas">>}) ->
    wf:format(#io{eval= <<"alert('sus');">>, data= <<>>});
Снимок экрана 2015-10-09 в 3.24.44.png
ща прост нет такого протокола который бы отсылал тебе какие-то байтики
#bin{} выпилен немного
напиши что ты хочешь передать в браузер
ты можешь написать свой протокол, это оч просто
но я уверен есть путь еще проще
Andy
@m-2k
Oct 09 2015 00:31
че бы тебе например не делать
wf:wire(wf:f("game_score('~s');",[Score])).
Egor
@madmake
Oct 09 2015 00:43
Ну раньше шло сообщение в массиве где отлавливал нужные параметры...
в принципе можно и вф апдейт с функцией и нужными параметрами...
Andy
@m-2k
Oct 09 2015 00:46
надо @5HT дождаться, пусть свет прольет
Egor
@madmake
Oct 09 2015 04:08
Кстати после старта приложение выкидывает:
application: fs exited: {{shutdown, {failed_to_start_child,fs_server, {badarg, [{erlang,open_port, [{spawn_executable,"deps/fs/priv/kqueue"}, [stream,exit_status, {line,16384}, {args,"/usr/home/stallion/www/n2o/samples"}, {cd,"/usr/home/stallion/www/n2o/samples"}]], []}, {kqueue,start_port,2, [{file, "/usr/home/stallion/www/n2o/samples/deps/fs/src/sys/kqueue.erl"}, {line,11}]}, {fs_server,init,1, [{file, "/usr/home/stallion/www/n2o/samples/deps/fs/src/fs_server.erl"}, {line,11}]}, {gen_server,init_it,6, [{file,"gen_server.erl"},{line,328}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,240}]}]}}}, {fs_app,start,[normal,[]]}} type: temporary
хотя в ребаре закоментил FS
Egor
@madmake
Oct 09 2015 04:14
application: fs exited: {{shutdown, {failed_to_start_child,fs_server, {badarg, [{erlang,open_port, [{spawn_executable,"deps/fs/priv/kqueue"}, [stream,exit_status, {line,16384}, {args,"/usr/home/stallion/www/n2o/samples"}, {cd,"/usr/home/stallion/www/n2o/samples"}]], []}, {kqueue,start_port,2, [{file, "/usr/home/stallion/www/n2o/samples/deps/fs/src/sys/kqueue.erl"}, {line,11}]}, {fs_server,init,1, [{file, "/usr/home/stallion/www/n2o/samples/deps/fs/src/fs_server.erl"}, {line,11}]}, {gen_server,init_it,6, [{file,"gen_server.erl"},{line,328}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,240}]}]}}}, {fs_app,start,[normal,[]]}} type: temporary
Namdak Tonpa
@5HT
Oct 09 2015 04:21
причем тут rebar надо в .applist удалять
судя по deps/fs/priv/kqueue это дело на FreeBSD пытается поднятся
ну так у нас же FreeBSD не супортится
Egor
@madmake
Oct 09 2015 04:50
Удалил тож, но если перекомпилировать то снова вылазит но насколько я понимаю это в основном для ФаловойСиситемы. что не так важно для фунционала который необходим
Подскажи как делать рассыл сообщений на клиенты.
Namdak Tonpa
@5HT
Oct 09 2015 04:53
слушай m-2k он все правильно говорит
Oleg Zinchenko
@cystbear
Oct 09 2015 09:17
@5HT не Макс, он еще не в Киеве
@5HT приедит только через месяц, и то не факт
Maxim Ivanov
@redbaron
Oct 09 2015 10:10
стоит ли вкладываться в -spec ?
Andy
@m-2k
Oct 09 2015 10:10
нет
я дефолтные значения просто проставляю для рекордов
и в раби стиле делаю булевые как is_enabled
Maxim Ivanov
@redbaron
Oct 09 2015 10:12
мне вчера dialyzer прямым текстом сказал, что я получу undefined там где ожидаю integer. мне понравилось
без спек этого бы не было
Oleg Zinchenko
@cystbear
Oct 09 2015 10:13
если есть время то пиши спеки
я пишу -- пока живой
Maxim Ivanov
@redbaron
Oct 09 2015 10:14
я вот смотрю ковбои всякие, берем модуль, половина функций со спеками, половина без. как понять где писать, а где нет7 :)
Andy
@m-2k
Oct 09 2015 10:14
если есть время то пиши спеки
Maxim Ivanov
@redbaron
Oct 09 2015 10:14
так не годится, они шумные очень
неприятно читать если все спеками увешано
Andy
@m-2k
Oct 09 2015 10:15
уверен что сначала надо вложиться в соглашения к коду, API, логику и минимальный функционал
Maxim Ivanov
@redbaron
Oct 09 2015 10:15
я вчера поудалял половину :)
без этого никуда конечно, ту не спорю
Oleg Zinchenko
@cystbear
Oct 09 2015 11:00

они шумные очень

это блять да :(

вот если бы их в отдельный файл вынести можно было бы
Maxim Ivanov
@redbaron
Oct 09 2015 11:00
можно же
Oleg Zinchenko
@cystbear
Oct 09 2015 11:01
только что бы они еще и работали
Maxim Ivanov
@redbaron
Oct 09 2015 11:01
они ж вроде не должны быть рядом с функцией, могут кучковаться вместе где-нибудь, но тогда их неудобно редактировать :)
Maxim Ivanov
@redbaron
Oct 09 2015 11:08
ого, типы могут иметь аргументы:
-type ingress_ev(Inlet, Payload) :: {time_unit(), ingress, Inlet, Payload}.
-type egress_ev(Outlet, Payload) :: {time_unit(), egress, Outlet, Payload}.
-type sim_mod_ev(SimEvents, Payload) :: {time_unit(), SimEvents, Payload}.
-type sim_event(SimEvents, Inlet, Outlet, Payload) :: sim_mod_ev(SimEvents, Payload) 
        | ingress_ev(Inlet, Payload) 
        | egress_ev(Outlet, Payload).
Namdak Tonpa
@5HT
Oct 09 2015 23:41
спеки писать надо в отдельных файлах api.hrl это у меня обычно