Size: a a a

2020 November 11

DF

Denis Fakhrtdinov in pro.elixir
XÆA-XII
А мне нужно подключить какую-то либу, или с нуля писать всё?
API телеграма работает на подобии вебхуков. Тебе нужно научиться открывать порт, слушать эвенты и выплевывать в ответ какой-то json.
источник

DF

Denis Fakhrtdinov in pro.elixir
Начни с этого.
источник

DF

Denis Fakhrtdinov in pro.elixir
GET / -> {}.
источник

DF

Denis Fakhrtdinov in pro.elixir
Минимальный сценарий.
источник

X

XÆA-XII in pro.elixir
На расте такое уже делал
источник

X

XÆA-XII in pro.elixir
Я тут нашёл nadia, сейчас попробую с ней что-то сделать
источник

AB

Alexey Bolshakov in pro.elixir
Когда я пробовал, вебхуки плохо работали. Медленно. Быстрее было делать лонгполл
источник

DF

Denis Fakhrtdinov in pro.elixir
Для практики и такой вариант сойдёт.
источник

DF

Denis Fakhrtdinov in pro.elixir
Это же велосипед, не предназначенный для серьезного продакшена.
источник

LL

Lama Lover in pro.elixir
Чат, как тестируете функциональность связанную с базой?
Анонимный опрос
17%
Есть сиды, которые используются тестами
44%
База "инициализируется" для каждого теста через существующие функции
28%
Оба варианта
11%
Другое
Проголосовало: 36
источник

B

Bogdan in pro.elixir
Либо вообще не тестирую)
источник

LL

Lama Lover in pro.elixir
Очень интересно узнать почему такие варианты
Я использую сиды, потому что это легко и удобно, но я слышал поинт, что сиды могут не отражать реального состояния данных, потому что эти данные попадают в базу через апи, которое и определяет их поведение
источник

V

V in pro.elixir
что такое сиды?
точнее, в чём разница между сидами и инициализацией?
источник

AN

Alexey Novoselov in pro.elixir
Lama Lover
Очень интересно узнать почему такие варианты
Я использую сиды, потому что это легко и удобно, но я слышал поинт, что сиды могут не отражать реального состояния данных, потому что эти данные попадают в базу через апи, которое и определяет их поведение
так тебе свое апи и надо тестировать, работу Ecto тестируют в Elixir Core Team очень тщательно
источник

B

Bogdan in pro.elixir
V
что такое сиды?
точнее, в чём разница между сидами и инициализацией?
Кстати тоже интересно 🤔
источник

V

V in pro.elixir
А, понял. Конечно, правильный способ - через существующие функции (внутреннее или внешнее api). Но иногда это заёбно и проще накидать в базу.
источник

RK

Roman Kolesnev in pro.elixir
Lama Lover
Очень интересно узнать почему такие варианты
Я использую сиды, потому что это легко и удобно, но я слышал поинт, что сиды могут не отражать реального состояния данных, потому что эти данные попадают в базу через апи, которое и определяет их поведение
ИМХО: Если логика простая и данные почти напрямую кладутся в базу - с сидами норм.

Если на API-call может происходить дохрена логики и сайд-эффектов в разные таблицы и/или большая часть валидаций не отражена в базе - лучше через API херачить.

С идеалистичной точки зрения лучше через API. Сиды - упрощение ради продуктивности.
источник

RK

Roman Kolesnev in pro.elixir
Если математично, то сиды безопасны если "любое корректное содержимое базы является корректным состоянием приложения"
источник

AN

Alexey Novoselov in pro.elixir
с сидами async: true хрен получишь, так что сидить лучше самый минимум, типо одно юзера, который везде нужен, но ни в одном тесте не изменяется
источник

RK

Roman Kolesnev in pro.elixir
Alexey Novoselov
с сидами async: true хрен получишь, так что сидить лучше самый минимум, типо одно юзера, который везде нужен, но ни в одном тесте не изменяется
Можно если сиды маленькие, под конкретные случаи и заливаются в сетапе теста.

Но с большими сидами так делать - извращение, да)
источник