@proelixir

Страница 889 из 1045
Fey
25.02.2018
17:38:09
можно конечно явно для каждой транзакции указывать юзера как вот в той репе

но возникла мысль, нельзя ли установку переменной просто убрать в плаг

john
25.02.2018
17:38:43
ну вообще кастомно можешь подключаться хоть к другой репе, хоть с другим юзером

Dmitry
25.02.2018
17:39:11
@feymartynov Если сессия - это 1 к 1 соединение, то не гарантирует, потому что одним соединением могут пользоваться разные http-запросы.

Google
john
25.02.2018
17:39:15
к другой репе- в смысле к другой базе

Alex
25.02.2018
17:41:30
может лучше БД на домены разбить?

Dmitry
25.02.2018
17:41:41
@feymartynov Одновременно нет. Только если первый делает первую транзакцию, потом вторую, то между первой и второй другой http запрос может использовать тоже соединение.

Fey
25.02.2018
17:42:01
ясненько, спасибо

значит надо явно на каждую транзакцию переключать контекст

Dmitry
25.02.2018
17:45:23
@feymartynov Было бы по-другому, тогда бы кол-во одновременных запросов, которые приложение может обрабатывать ограничивалось бы кол-вом возможных соединений к базе данных.... Это очень дорогой боттлнек

Alex
25.02.2018
18:03:27
значит надо явно на каждую транзакцию переключать контекст
при http запросе можно делать одну главную транзакцию с включением этой фигни и после включения в этой же транзакции можно дергать вложенные транзакции, если ты об этом

вложенные обойдутся уже без "переключения контекста"

Dmitry
25.02.2018
18:10:42
А в чем суть? Нужно понимать какие запросы выполнялись в БД для каждого http запроса?

Alex
25.02.2018
18:12:48
там установка переменной делается current_setting('app.user')); в транзакции. интересно а транзакции от разных юзеров выполняющиеся параллельно не встанут ли в очередь на ее изменение под себя?

Fey
25.02.2018
18:13:50
разве постгрес поддерживает вложенные транзакции?

Google
Fey
25.02.2018
18:14:16
прям как автономные транзакции в, прости господи, оракле?

Alex
25.02.2018
18:20:41
прям как автономные транзакции в, прости господи, оракле?
На уровне Ecto они есть, ну а где то там в дебрях видимо это одна и та же транзакция

Fey
25.02.2018
18:21:58
если я правильно помню, там в дикт процесса засаживается флажок, что in_transaction

и по нему уже для вложенной транзакции ничё не делается

если всю обработку хттп-запроса обернуть в одну большую транзакцию, тогда как раз соединение будет заблокировано и будет вот этот ботлнек, про который писал Dmitry

Alex
25.02.2018
18:30:30
да и вообще может делать несколько переменных для каждой таблицы свою current_setting('app.user.messages') current_setting('app.user.comments') и тд

Fey
25.02.2018
18:49:11
да, нет смысла

там SET_CONFIG('app.user', $1, TRUE) – вот это последнее TRUE значит, что оно на транзакцию устанавливается

Alex
25.02.2018
20:55:28
Вообще, для меня обычной выглядит ситуация, когда коннекты из пула выдаются на транзакцию. Две последовательных транзакции могут быть выполнены разными коннектами, на иное я бы не полагался

Dmitry
25.02.2018
20:56:11
@nwalker Ага.

Alex
25.02.2018
20:59:12
У нас вообще перед поцгресом стоит pgbouncer в режиме transaction pooling, что окончательно убивает идею привязки к сессии

Den
26.02.2018
06:03:35
/stat@combot

Combot
26.02.2018
06:03:35
combot.org/chat/-1001061355522

Dmitry
26.02.2018
11:19:11
from([..., q] in query, where: q.inserted_at < ^dt)

Что это обозначает и почему это компилируется?

Alex
26.02.2018
11:19:41
а многоточие там так и есть?

Dmitry
26.02.2018
11:20:38
Пиздец....

https://hexdocs.pm/ecto/Ecto.Query.html#module-query-bindings

Не, ну кто подумать то мог

Google
Dmitry
26.02.2018
11:20:52
Ебанаты

Alex
26.02.2018
11:22:54
строгие позиции в результатах запросов

Dmitry
26.02.2018
11:23:28
Наверное из Руби взяли

Я понятия не имею как там

Но до такого додуматься как можно то?

Dmitry
26.02.2018
13:56:53
Это про ...

ES6 синтаксис в эликсире

Evgeny
26.02.2018
13:57:45
я нихуя не понял, но да, как они так могли?!

Dmitry
26.02.2018
13:57:59
Многоточие

Evgeny
26.02.2018
13:58:58
я понял, что про многоточие, не понял что оно значит. и даже понимать не хочу.

Dmitry
26.02.2018
14:05:38
Using ... can be handy from time to time but most of its uses can be avoided by relying on the keyword query syntax when writing queries.

Звучит как bad praxis.

Buckler
26.02.2018
14:21:36
Hello, Татьяна! Please, calculate: 16+59=... If you don't answer - you'll get banned from the channel... Good luck!

عاصم بن حارث
26.02.2018
14:29:12
111

Mi
26.02.2018
14:29:25
аааааааа

аааа

Vladimir
26.02.2018
15:19:04
может надо, чтобы бот не только попросил вычислить выражение, но и написать его? вдруг именно в этом путаются? :)

Andrey
26.02.2018
15:27:20
но и написать его в обратной польской нотации

чтоб повысить градус серьёзности

Google
Alexey
26.02.2018
15:29:54
может надо, чтобы бот не только попросил вычислить выражение, но и написать его? вдруг именно в этом путаются? :)
ты считаешь, что женщины, по женской традиции, думают, что бот должен сам догадаться, какая сумма у них получилась?

Vladimir
26.02.2018
15:30:48
Я скорее про программистов, которым сказали посчитать. Они и посчитали. Но нигде не написано, что это ещё и как ответ ввести надо, да ещё и текстом. :)

Короч я за правильно поставленнное ТЗ =)

Никита
26.02.2018
15:53:29
Ну пральна. Посчитал, а результат вывел, по дефолту, в консоль.

Evgeny
26.02.2018
15:58:25
Звучит как bad praxis.
что-то Deus Ex вспомнился. Правда там praxis всегда был good

Dmitry
26.02.2018
16:43:04
Да я чёт хотел доделать бота, только руки не доходят

Там по плану конфигурация в личке, несколько типов капчи и локализация

Кстати все уже есть, кроме конфига в личке

Поэтому есть разные языки, только выбрать нельзя ( ну как всегда )

Alex
27.02.2018
13:35:53
today i remembered: после with нельзя ставить перенос строки

отношения парсера с переносами строк не первый раз меня удивляют

Никита
27.02.2018
13:37:24
\

можно поставить

после with

Alex
27.02.2018
13:37:38
вот зачем, зачем они приделали синтаксис

делали бы лисп сразу

\
спасибо, но я уж переживу

Никита
27.02.2018
13:39:35
mix format же есть. зачем ручками то)

Alex
27.02.2018
13:39:58
про mix.format я тут уже писал

я отказываюсь добровольно его использовать

Google
Dmitry
27.02.2018
13:49:32
Я вообще стараюсь не использовать with с некоторых пор

Dmitry
27.02.2018
13:49:43
@Virviil Почему?

Dmitry
27.02.2018
13:50:28
Не очень наглядно, лучше рефакторить

Самая большая дырка - нету предыдущих переменных в error кейсах вложенных

К примеру на первом этапе фетчишь юзера из бд, на втором делишь на ноль

Dmitry
27.02.2018
13:52:03
@Virviil Мне кажется тут ошибка, что ошибка не несет все необходимое.

Dmitry
27.02.2018
13:52:20
И в логе не можешь написать «для такого юзера на ноль не делится»

Потому что юзера нету

Никита
27.02.2018
13:52:41
так надо ждать {:ok, user}

а если юзера нету - такое не вернется

Dmitry
27.02.2018
13:52:57
Я к примеру, всегда стараюсь в {:error, error} - в error передать все необходимое об ошибке.

Страница 889 из 1045