These are chat archives for synrc/n2o

12th
Dec 2015
Andy
@m-2k
Dec 12 2015 01:11
@Revent
application:start(epgsql).
{error,{already_started,epgsql}}
$ ./mad pla
Ordered: [kernel,stdlib,fs,ranch,asn1,crypto,compiler,syntax_tools,mnesia,
          inets,gproc,kvs,cowlib,public_key,ssl,cowboy,n2o,review,active,
          epgsql,erlydtl,jsone,mad,nitro,rest,sh]
OK
вот именно такой порядок запуска должен быть
это достигается фиксом epgsql
epgsql.app.src
{applications, [kernel,
                  stdlib,
                  asn1, % addition
                  public_key, % addition
                  ssl]},
можешь сделать пуллреквест им в репу с фиксом
:smile:
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 13:31
А что, путь в ковбое не может начинаться на /знак_препинания?
Пишу /., /~, /~
получаю badarg, [{cowboy_router,compile_rules
  • /!
Нет, может. Но падает, если написать что-то вроде /~:username
А /~foo нормально воспринимает
Andy
@m-2k
Dec 12 2015 13:40
зачем тебе это говно в url?
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 13:47
Чтобы отличать комикс foo от юзера foo (/foo, /~foo)
Можно сделать /foo и /user/foo. А если комикс будет называться "user" тогда как отличить /user/150 от /user/foo?
Andy
@m-2k
Dec 12 2015 13:49
case C of <<"user">> -> wf:wire("Wrong name, sasay"); _ -> store end.
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 13:50
Просто запретить такое название и попросить заменить на the-user?
Andy
@m-2k
Dec 12 2015 13:50
тебе всё равно придется чекать ввод
на длину и корректные символы
если тебе вообще имена комиксов в url нужны
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 13:51
Можно и числами обойтись
Andy
@m-2k
Dec 12 2015 13:51
это для быдло seo?
а если два комикса с одинаковыми именами? ) тогда проблема про user имеет частный случай
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 13:54
Мне иногда проще сразу ввести урл с названием
Andy
@m-2k
Dec 12 2015 13:54
лучший вариант - посмотреть как это уже сделано у других и запилить лучший вариант лучший вариант лучший вариант лучший вариант
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 13:54
Хотя, тот же Навер не заморачивается
У них там все числами
Andy
@m-2k
Dec 12 2015 13:55
/user1/comic1
:comic ~ /[a-z0-9-]{5,20}/
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:06

Сделаю так и пофиг:

/list
/comic/:id
/read/:id/:no
/user/:id

Namdak Tonpa
@5HT
Dec 12 2015 14:43
ты все неправильно делаешь
во-первый у нас есть synrc/rest если ты хочешь HTTP API
у REST API вполне четкий интерфейс
придумывть своего ничего не нужно
1. /:resourse/:id -- для идентификации объектов
2. /:resourse -- для идентификации фидов
все
все остальное это попытки описать на HTTP то что описать на самом деле на нем не нужно
N2O -- это вебсокет фреймворк
то что ты пытаешься сделать это неправильное использование N2O
тебе тогда нужно прсто выбросить N2O и на чистом ковбое написать
вот эти ебанистические /read/:id/:no
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:47
Человек сходу зашел на определенную главу определенного комикса. Как мне эт оописать?
Вот как у тебя: /tr/i
Namdak Tonpa
@5HT
Dec 12 2015 14:48
ты вконце закончишь вот таким
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:48
{"/[:q1/[:q2/[:q3]]]", n2o_cowboy, []}
Namdak Tonpa
@5HT
Dec 12 2015 14:48
/studio/name/season/show/series/frame
{"/[:q1/[:q2/[:q3]]]", n2o_cowboy, []} --- что это за хуйня?
такое работает разве?
ты должен понять что N2O это вебсокет фреймвор для вебсокет протоколов
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:49
Тьфу, не заметил, кто птшет
Andy
@m-2k
Dec 12 2015 14:50
лол
работает
епта
Namdak Tonpa
@5HT
Dec 12 2015 14:50
то что ты делаешь это не вебсокет протокол
Andy
@m-2k
Dec 12 2015 14:50
@5HT а как ты предлагаешь
Namdak Tonpa
@5HT
Dec 12 2015 14:50
и как эти q1 вы выгребаете?
ну для сайта комиксов наверно REST как раз то что нужно
Namdak Tonpa
@5HT
Dec 12 2015 14:51
только ножно API зализайнить нормально. посмотрите как амазон делает апи или страйп
ну я ж говорю cowboy_req:binding n2o тут не причем
это чисто на ковбое можно все сдлеать
ну хотя потом каменты нада будет
но это все хуйня ж
сайт комиксов это статик сайт
я же говорил уже
никаких биндингов в ковбое нахуй не нужно
нужно просо nitro для генерации сайта
и придумать структуру
/series/volume/page
и все
а когда будут каменты напишешь уже свою первую вебсокет страницу на n2o
@Revent в mad есть способ задать депенденси которые надо компилировать в первую очередь
и эта опция совместима с ребаровской
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:55
Ну, я сразу хочу с комментами и юзерами
Namdak Tonpa
@5HT
Dec 12 2015 14:55
для таких штук как shen чтобы в swan не переимновывать
делай как хочешь только без ебучего HTTP
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:56
:D
Namdak Tonpa
@5HT
Dec 12 2015 14:56
HTTP только для статики
а для статики ковбой нахуй не нужен
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 14:56
nginx
Namdak Tonpa
@5HT
Dec 12 2015 14:56
в следующих версиях N2O просто не будет HTTP
для HTTP руби используйте :-) ха ха ха
у тебя @m-2k кстати тут прикольно сделано https://github.com/5HT/erlach/blob/master/apps/erlach/src/routes.erl#L22
типа по тройному кортежу диспатч
можно даже распространить на много параметров и унифицировать
а в роутинг правила так диспатчить [X1], [X1,X2], [X1,X2,X3], ...
Andy
@m-2k
Dec 12 2015 17:01
они так и диспатчатся вроде в dinamic
@5HT я чот не понял что ты имеешь ввиду под тем чтобы выкинуть http
и что юзать заместо ковбоевского роутинга
щас я могу ткнуть по ссылке, скопировать URL, открыть в другом окне и всё будет ок
я ковбоевский роутинг юзаю не более чем чтобы распарсить url, при чем тут руби ваще
Namdak Tonpa
@5HT
Dec 12 2015 18:07
я про то что страницы сами можно не рендерить, а роутинг полюбому канечно понадобится
зачем ему комиксы рендерить
если у них количество страниц не меняется
и сами страницы всегда с одними и теми же рисунками
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 20:12
Shen, я так понял, с числами в аргументах не работает
Andy
@m-2k
Dec 12 2015 20:19
Как это
Там 2 режима
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 20:24
-jsmacro([foo/1]).
foo(A) ->
  A.
foo(1). -> badarg
io_lib ругается, типа ~s используется для целого, как я понял
ERROR:  error:badarg

STACK:     io_lib:format/[[126,115,59,10],[1]]:168
    index:main/0:11
    n2o_document:run/1:17
    n2o_cowboy:handle/2:14
    cowboy_handler:handler_handle/4:111
    cowboy_protocol:execute/4:442
Ryuuji Kagami
@kagami-ryuuji
Dec 12 2015 20:42
А, все. Просто book.pdf устарела, наверное. Или там опечатки