timothy
http://bitemyapp.com//posts/2016-09-03-websocket-shootout-haskell.html
timothy
what a time to be alive
Mansur
Мерль
[last news]
The Hashrocket websocket shootout in Haskell
Alexander
Alexander
а уже отвечали
Anatolii
Anatolii
На гитхабе в комментариях к PR
Нурлан
Anatolii
я тут с сервантом играюсь
Anatolii
там когда формат данных определяешь
Anatolii
'[JSON]
Anatolii
вот так вот пишешь:)
Anatolii
что значит ' перед масивом?
Alexander
что это список на уровне типов
Alexander
https://downloads.haskell.org/~ghc/7.4.1/docs/html/users_guide/kind-polymorphism-and-promotion.html
Alexander
мжно поновее поискать
Anatolii
Я понял что JSON это тип:) но почему-то не подумал что для типов список отдельный надо:)
Anatolii
спасиб
Vladislav
Это чтобы отличать [JSON] - тип списка, и '[JSON] - список типов
Anatolii
ну сейчас все логично выглядит
Anatolii
просто сразу не подумал :)
Anatolii
только с mtl чуток разобрался
Anatolii
теперь с типами надо разбираться:)
Anatolii
интересно это все конечно:)
Anatolii
я как в гайде servant увидел
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
сразу испугался:)
Anatolii
и понял что сейчас все опять станет не понятно
Alexander
там все просто
Alexander
если не задумываться склишком глубоко
Anatolii
ну я вот пока не задумываясь написал РЕСТ апи маленькое
Anatolii
и оно работает)
Anatolii
к этому можно отнестись как к аннотациям в джаве:)
многие их ставят и не задумываются как оно работает
Anatolii
но окнечно надо разобраться)
Evgeniy
Anatolii
в гите пока нету
Anatolii
я вот по этому туториалу начал
Anatolii
http://haskell-servant.readthedocs.io/en/stable/tutorial/index.html
Anatolii
хочу написать серверную часть TODO листа, товарищ сказал что будет Elm смотреть, и напилит UI
Evgeniy
Я элм юи и серв на гошке делал, хотелось на серванте но пока времени нет разбираться😞
Anatolii
Да там нет ничего сложного, у них очень хороший туториал
Evgeniy
Кстати находил пет проект тодо elm и servant с фэйковой db в памяти
Evgeniy
Приеду домой скину ссыль если надо
Evgeniy
Anatolii
я видел пару блогпостов elm + hask
Anatolii
да я начал делать
Anatolii
там вроде не так страшно
Anatolii
еще postgressimple надо прикрутить
Anatolii
и postgres-migration
Anatolii
времени сейчас мало после работы
Anatolii
и на работе работа появилапсь
Anatolii
:)
Anatolii
на выходных очень хочу закончить
Evgeniy
Ещё есть генератор под элм с серванта - пока не пробовал но интересно
Anatolii
да
Anatolii
видел
Anatolii
потом попробую
Evgeniy
А так думаю очень хорошо, пишем апи в одном месте из неё уже код как либа под клиент и автоматом доки обновляются , думаю удобно
Anatolii
@johhy13 а расскажи про эльм чуток, я там видел тайм тревел дебагер
можно как-то в прод приложение его встроить, чтобы он записывал действия и отправлял это куда-то
Anatolii
@johhy13 чтобы потом можно было отдебажить проблему пользователя
Anatolii
как-то у себя воспроизвести ее
Evgeniy
Честно глубоко не копал, это у Алексея Пирогова надо поспрашивать
Anatolii
вбил в гугл его имя
Anatolii
выдало участника Дом 2
Anatolii
:(
Evgeniy
На гиттере ищи
Anatolii
ну я уже нашел
Anatolii
это который же на митапе выступал?
Evgeniy
Да он самый
Anatolii
Товарищи, а кто тут с сервантом знаком
Anatolii
если мне из
Anatolii
эндпоинта нужно вернуть пустое боди
Anatolii
они предлагают NoContent ставить
Anatolii
а почему не () ?
Alexander
т.к. при разных contenttype () не пустое?
Anatolii
понятно, просто в хэндлерах не охота писать return NoContent
Anatolii
я так подоздерваю что у меня проблемы с
Anatolii
боди ошибок из-за контент тайпа
Anatolii
shortPassword =
err400
{ errBody = "Password should be at least 6 chars"
}
вот такая ошибка на клиент приходит просто 400 c пустым боди
Anatolii
и еще у меня такой вопрос
type UserLogin = "users" :> Capture "login" String
type UserLists = UserLogin :> "lists" :> Get '[JSON] [List]
я вот так попытался сделать, но наверное нельзя, или я что-то не так записал?
Alexander
нельзя