
Phil
20.02.2017
17:51:16

Roman
20.02.2017
17:51:27
А зачем?

Aleksandr
20.02.2017
17:51:41
и причем тут вообще кука?

Phil
20.02.2017
17:51:42

Google

Aleksandr
20.02.2017
17:52:08
я же сторонний клиент, у меня нет кук auth-сервера

Daniel
20.02.2017
17:52:20

Phil
20.02.2017
17:52:45

Daniel
20.02.2017
17:53:08
эммм
мы про OAuth? у тебя есть сайт, который хочет авторизовать пользователя через другой сайт? вот этот твой сайт и выпишет

Phil
20.02.2017
17:55:18

Denis
20.02.2017
17:57:23
Сервер аутх

Phil
20.02.2017
17:57:30

Denis
20.02.2017
17:57:47
Кстати Фил , тебе точно нужен север аутх а не клиент ?

Phil
20.02.2017
17:58:48

Denis
20.02.2017
18:00:07
Ну чтобы понимать всю задачу, для чего именно тебе аутх?

Google

Phil
20.02.2017
18:00:44
Пусть это будет не аутх, флоу от этого не поменяется. Тем или иным способом клиент показывает логин/пароль, или там какой-то пин, или ещё какой код - и получает билетик доступа к API

Dmitry
20.02.2017
18:04:26

Phil
20.02.2017
18:05:21

Dmitry
20.02.2017
18:05:41
Эм.. вообще можно
Ну да ладно :-) нет так нет

Phil
20.02.2017
18:06:09
Эм.. вообще можно
Но все спеки вокруг этого так не считают. И я честно говоря тоже не понимаю какие операции в жизни так могут сделать

Dmitry
20.02.2017
18:06:42
Пут /билл/4464 в статус пейд
Хоть 400440 раз его в пейд переведи
Например

Phil
20.02.2017
18:07:19
Ну да ладно :-) нет так нет
Я кстати привел пример RFC 7592 - там апдейт клиента делается через PUT, а проверка на совпадение нескольких полей обязательна. И ещё одного игнор

Dmitry
20.02.2017
18:07:40
Ну, бот с ним

Phil
20.02.2017
18:07:56

Dmitry
20.02.2017
18:09:05
Патч для частичного, пут для полного

Aleksandr
20.02.2017
18:09:09

Dmitry
20.02.2017
18:09:13
Вроде по ресту там все четко
Правда не факт что рфц этот про рест

Aleksandr
20.02.2017
18:10:23

Dmitry
20.02.2017
18:10:51
Но хттп вроде просит всю неидемпотентщину совать в пост, потому как остальные запросы могут быть перепосланы и результаты их закешированы

Google

Dmitry
20.02.2017
18:10:51
(но это не точно)

Phil
20.02.2017
18:10:52
что надо проверить? я открыл спеку, но сразу вычленить трудно
2.2 The client MUST include its "client_id" field in the request, and it
MUST be the same as its currently issued client identifier. If the
client includes the "client_secret" field in the request, the value
of this field MUST match the currently issued client secret for that
client. The client MUST NOT be allowed to overwrite its existing
client secret with its own chosen value.

Aleksandr
20.02.2017
18:12:43
то есть update ...... where client_id = ..... если updated row нет, то отдаем 400 и клиент сам виноват, что невалидный id шлет

Phil
20.02.2017
18:13:03

Aleksandr
20.02.2017
18:13:12
ну добавь это все в один запрос

Dmitry
20.02.2017
18:13:51
Селектить только не обязательно явно, можно в одном апдейте с развесистфм where сделать.
Интересно, во вронгодб такой апдейт атомарен?

Phil
20.02.2017
18:13:58

Aleksandr
20.02.2017
18:14:56

Dmitry
20.02.2017
18:16:50

Roman
20.02.2017
18:43:45
Я наверно как затычка в бочке сейчас, но в Тарантуле делаешь upsert, который умеет инкрементировать или заменять поле. Атомарно и никаких транзакций. Но это для счетчиков. Для остального есть транзакции.

Dmitry
20.02.2017
18:45:08
Заменять поле для счетчиков?

Dmitry
20.02.2017
18:45:12
Зе фак
Это для чего угодно

Roman
20.02.2017
18:46:13
Ну например апдейт рейтинга по ключу объекта

Denis
20.02.2017
20:28:51
Дмитрий, наверное о том, что обновление поля почти в любой бд атомик

Roman
20.02.2017
20:36:43

Denis
20.02.2017
20:40:23
Аналогично, в любой acid бд почти все операции атомарны
Или даже не в acid
Вон в монге над документом операция атомарны

Google

Denis
20.02.2017
20:41:24
Суть атомарности в том что нельзя сделать частично вставку или частичное изменения
Либо все либо ничего
Или инсерт в котором вставилась только половина данных

Roman
20.02.2017
20:50:18
Я не вижу примеров инкремента для MySQL
Везде SELECT + UPDATE
http://dba.stackexchange.com/questions/61603/how-to-query-and-increase-a-value-counter-in-a-thread-safe-way-avoid-race-co

Admin
ERROR: S client not available

Denis
20.02.2017
20:56:27
Конкретно это хз, не эксперт в мускул

Dmitry
20.02.2017
20:56:46

Denis
20.02.2017
20:57:26
Нус

Dmitry
20.02.2017
20:57:48

Roman
20.02.2017
20:59:57

Dmitry
20.02.2017
21:00:05
сек
по "счастливой" случайности у меня есть mysql
mysql> update test set txt = txt +1 where id = 1;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from test;
+----+------+
| id | txt |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)

Roman
20.02.2017
21:14:28
Ок. Интересно, почему у чувака не работало?
Это с какой то версии появилось?

Vladislav
20.02.2017
21:15:08
года 3 назад работало

Roman
20.02.2017
21:15:51
Блин, там чувак написал же в ответе
>The update statements works perfectly fine without the select before!

Google

Dmitry
20.02.2017
21:22:26
жалко тупой мускуэль не умеет returning *
ну, какбе...
и хрен с ним

Denis
20.02.2017
21:44:49
И тут появляется постгря

Dmitry
20.02.2017
21:53:56
Не моя проблема что он не умеет :) и надеюсь долго мы с ним еще не встретимся

abc
21.02.2017
06:22:55
парни. хочу хранить изображения в BoltDB. Сейчас пока база 50 мб все окей. Интересует кто пользовал BoltDB для того же чего и я. Какие камни ?

Roman
21.02.2017
06:49:11
Про веб-разработку, пусть не смущает слово PHP :) https://habrahabr.ru/post/322170/

dypa
21.02.2017
06:54:50

Igor
21.02.2017
06:58:20
Да он просто стебется над хипстотами. Можно PHP заменить на чтоугодно

Aleksandr
21.02.2017
07:00:00

dypa
21.02.2017
07:06:14

Igor
21.02.2017
07:07:04

Aleksandr
21.02.2017
07:07:32

Andrew
21.02.2017
07:09:37

Igor
21.02.2017
07:10:00
К несчастью, в отличие от PHP, про js правда. Потому так и смешно

dypa
21.02.2017
07:13:19