@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.

Dmitry
26.02.2018
14:06:10
Звучит как 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
Я скорее про программистов, которым сказали посчитать. Они и посчитали. Но нигде не написано, что это ещё и как ответ ввести надо, да ещё и текстом. :)

Admin
ERROR: S client not available

Vladimir
26.02.2018
15:31:33
Короч я за правильно поставленнное ТЗ =)

Никита
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
Alex
27.02.2018
13:40:11
я отказываюсь добровольно его использовать

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