Size: a a a

Эликсир и Вунш

2019 March 20

TF

Terry Filch in Эликсир и Вунш
Źmićer Rubinštejn
Блин, сайт же мой
есть такая тема, адаптация сайта под быстрый просмотр в телеграме
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Не, это именно какие то хтмл штуки
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Редит, слак, телега
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Аннотации они одинаково генерят, но я не помню как
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Читал пару лет назад, теперь найти не могу
источник

TF

Terry Filch in Эликсир и Вунш
Źmićer Rubinštejn
Аннотации они одинаково генерят, но я не помню как
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Не, вот нагуглил
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Og image в мете надо прописать
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Прост картинку полчаса жена рисовала, жалко что не видно 😩
источник

TF

Terry Filch in Эликсир и Вунш
Źmićer Rubinštejn
Прост картинку полчаса жена рисовала, жалко что не видно 😩
а ты скопируй картинку, и вставь при редактировании свообщения с урлой и будет тебе счастье)
а тег добавишь
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
"Любопытно, почему отсутствуют надёжные, хорошо протестированные и поддерживаемые фреймворки где-то между plug + cowboy и Phoenix?"

=>

А тут такой интересный момент... На самом деле phoenix вообще можно использовать как набор готовых plug-ов, т.е. очень минималистично подключить, как будто подключил plug. Т.е. добавил phoenix - как библиотеку, без генераторов и добавил примерно такие куски кода:

defmodule MyApp.Endpoint do
 use Phoenix.Endpoint, otp_app: :my_app
 plug(Plug.Parsers, parsers: [:urlencoded, :multipart, :json], pass: ["application/json"], json_decoder: Jason)
 plug(MyRouter)
end

И дальше красивый Router со scope-ами если нужно, в общем-то в разы удобнее, чем использовать голый плаг. Ну и нужно добавить Endpoint в дерево супервизоров и всё. И зачем что-то между phoenix-ом и plug-ом, когда phoenix уже можно легковесно использовать как минимальную удобную надстройку в виде готовых plug-ов?

И вместо такого:

conn
   |> put_resp_content_type("application/json")
   |> send_resp(200, Poison.encode!(message()))

Будет вот так:

json(conn, message())

Что согласитесь удобнее.
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Dmitry Russ (Aleksandrov)
"Любопытно, почему отсутствуют надёжные, хорошо протестированные и поддерживаемые фреймворки где-то между plug + cowboy и Phoenix?"

=>

А тут такой интересный момент... На самом деле phoenix вообще можно использовать как набор готовых plug-ов, т.е. очень минималистично подключить, как будто подключил plug. Т.е. добавил phoenix - как библиотеку, без генераторов и добавил примерно такие куски кода:

defmodule MyApp.Endpoint do
 use Phoenix.Endpoint, otp_app: :my_app
 plug(Plug.Parsers, parsers: [:urlencoded, :multipart, :json], pass: ["application/json"], json_decoder: Jason)
 plug(MyRouter)
end

И дальше красивый Router со scope-ами если нужно, в общем-то в разы удобнее, чем использовать голый плаг. Ну и нужно добавить Endpoint в дерево супервизоров и всё. И зачем что-то между phoenix-ом и plug-ом, когда phoenix уже можно легковесно использовать как минимальную удобную надстройку в виде готовых plug-ов?

И вместо такого:

conn
   |> put_resp_content_type("application/json")
   |> send_resp(200, Poison.encode!(message()))

Будет вот так:

json(conn, message())

Что согласитесь удобнее.
Endpoint не надо на самом деле. В смысле use Phoenix.Endpoint не надо
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Просто довольно странно тащить такую мошну ради роутера и "макро" json
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Может быть чувакам надо разбить свой феникс на кусочки
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Źmićer Rubinštejn
Просто довольно странно тащить такую мошну ради роутера и "макро" json
Не знаю, на мой взгляд, ничего страшного нет. В двух проектах так используем, проблем никаких не было.
источник
2019 March 21

NK

ID:476249930 in Эликсир и Вунш
Как решаете вопрос с таймзонами в экто?
источник

V

Vladislav in Эликсир и Вунш
Źmićer Rubinštejn
Ну, если тебя не смущает то что ты уже знаешь js, то учи Эликсир и делай стартап
Очень плохая идея, постоянно будешь натыкаться на то, чтобы искать ответы на вопросы с elixir + если нужно ещё кого-то в команде учить всё становится совсем грустно.
Для стартапа бери только те технологии с которыми хорошо знаком и в которых уверен, ничего «хочу выучить», потому что в итоге поднимешь свой скилл в elixir, а стартап не сделаешь.
8 месяцев назад у меня был такой же вопрос.
Выбрали делать backend на elixir вместо spring, который я хорошо знаю.
Выбор был просто исходя из того, что при масштабировании elixir стоит сильно меньше, по факту мне приходилось самому разбираться в непонятных штуках, писать в этот чатик, спрашивать ребят, а потом ещё и объяснять второму backend-разработчику, итоги
1) продукт не вышел на пользователей
2) деньги кончились раньше
3) то что можно было за недели две без проблем поднять на spring, делалось месяца три
4) мне нужен был mongo, для того чтобы его запустить понадобилось куча времени
5) через пять месяцев у коллег кончилась мотивация, я продержался ещё 3 и в итоге проект закрыли

Для себя понял 2 штуки:
1. Действительно, преждевременная оптимизация зло
2. Стартап это про то, как быстро проверять гипотезы, а не про то, как делать всё на «идеальном стеке» или учиться

P.S. Когда выбирал язык, читал ещё про Haskell, там вроде как даже есть гарантия того, что «если код скомпилировался, значит он работает правильно». И «было бы прикольно его выучить», но там я хотя бы понял, что это очень отдаляет меня от цели, а когда посмотрел на Phoenix, показалось, что вот оно, сейчас из коробки всё заработает, плюс масштабируемость, вообще круто будет)))
P.P.S зато у elixir самое приятное  коммьюнити, эта разница прям сразу видна, по тому как коллеги отвечают
источник

V

Vladislav in Эликсир и Вунш
@mazzahacker возможно будет полезно
источник