
Sergey
26.12.2017
14:08:00

Dmitry
26.12.2017
14:08:36
и как он работает?

Sergey
26.12.2017
14:09:49
хм... неужто нельзя без fork дочерний процесс породить? я уже не помню...
в целом... по идее копирование памяти происходить не будет...

Google

Dmitry
26.12.2017
14:12:06
да с копированием понятно, там cow везде, да и fork+exec отдельной темой идет... тут скорее сам exec дорогой ... ну, относительно
по-этому и говорю, что раздражает, но если начать аргументировать, то оказывается, что по сравнению с затратами на генерацию pdf - сам exec теряется
типа не будешь же ты делать exec cat file что бы файл прочитать ;) а кто-то, может, и на такое способен ;)

Евгений
26.12.2017
18:44:23
Почему PHP Amazon EC2 SDK не работает?
Возвращает класс AWS-клиента
Вместо именно ec2
На питоне все окей

Bohdan
27.12.2017
08:58:32
гайзы. я опять вернулся с вопросом про json schema валидаторы
есть для php какие-то, которые поддерживают draft 6 и $data + json поинтеры?
сразу отвечаю на свой вопрос
https://github.com/opis/json-schema
указан в implementations на сайте json-schema как единственный с поддержкой draft 6 и draft 7

Stephen
27.12.2017
13:46:58
Всем привет. Вопрос к адептам ReactPHP (или, хотя бы amphp).
Как потоком сделать multipart/form-data отправку файла? т.е. нужен некий пайп между ReadableResourceStream() и HTTP клиентом (WritableResourceStream).
https://github.com/reactphp/http-client вообще не умеет multipart/form-data из коробки. Это мы у себя реализовали.
Но, кроме всего прочего проблема в заголовке Content-Length

Борис
27.12.2017
14:00:42

Stephen
27.12.2017
14:02:48

Google

Борис
27.12.2017
14:03:09
Ну на крайняк, вы можете скомуниздить код отсюда https://github.com/guzzle/guzzle/blob/master/src/Handler/CurlMultiHandler.php чтобы использовать неблокирующий curl (если не ошибаюсь, curl умеет в multipart/form-data)

Stephen
27.12.2017
14:04:34

Борис
27.12.2017
14:04:41


Stephen
27.12.2017
14:06:24
@benbor
» Я же не знаю зачем вы вообще реакт всунули )
потому что никто не умеет в node.js )))
» в чем у тебя вопрос то?
Как без блокирования посчитать размер файла?)

Maksim
27.12.2017
14:11:13
react filesystem

Stephen
27.12.2017
14:12:59
react filesystem
Вот только про размер файла я у них ни слова не нашел. https://github.com/reactphp/filesystem

Maksim
27.12.2017
14:13:52
https://github.com/reactphp/filesystem/blob/master/src/Node/File.php#L63
srsly?

Stephen
27.12.2017
14:15:02

Maksim
27.12.2017
14:16:16
ждёшь пока зарезолвится промис, ну а потом так же тправляешь. в случае с реактом смотреться будет так себе (портянка из промисов), но в целом работать должно

Яўген
28.12.2017
09:19:04
народ, нужен совет.
Задача такая: по потере фокуса с поля надо проверить, существует аккаунт с таким email или нет и, если существует, там своя логика дальше. Юзеры рулятся в своей REST апишке. Не могу придумать какими статусами возвращать инфо о том, что да, чувак с email существует. Пока что вариант: HEAD /users/email@example.com, если нету, вернуть 404 Not Found, если есть 303 See Other c линком на профиль в Location.
Собсна, хотелось бы получить подтверждение, что моя идея нормальная, либо совет как сделать вернее


Sergey
28.12.2017
09:28:56
народ, нужен совет.
Задача такая: по потере фокуса с поля надо проверить, существует аккаунт с таким email или нет и, если существует, там своя логика дальше. Юзеры рулятся в своей REST апишке. Не могу придумать какими статусами возвращать инфо о том, что да, чувак с email существует. Пока что вариант: HEAD /users/email@example.com, если нету, вернуть 404 Not Found, если есть 303 See Other c линком на профиль в Location.
Собсна, хотелось бы получить подтверждение, что моя идея нормальная, либо совет как сделать вернее
200 и результат в json

Яўген
28.12.2017
09:29:36
мне только проверить существование надо, данные нельзя возвращать

Sergey
28.12.2017
09:29:50
почему тебе нельзя возвращать данные?
GET /used_emails?email=someone@example.com 204/404
если хочешь

Яўген
28.12.2017
09:30:49
по логике, если пользователь существует, мы, вместо регистрации предлагаем лолгиниться. Только после этого данные можно вернуть

Sergey
28.12.2017
09:31:03
в моем варианте это used_emails (ну или занятые если хочешь)

Яўген
28.12.2017
09:31:17
то есть даже не Users?

Google

Sergey
28.12.2017
09:31:47
да, анонимные чуваки по идее к юзерам доступа иметь не должны,а HEAD должен действовать так же как и GET
проще сделать еще один ресурс
это вполне валидно

Яўген
28.12.2017
09:32:56
ок, тогда мне в моей идее можно 303 на 204 заменить и, в принципе, гуд
ну ресурс всё же users, только action check
ясно, спасибо

Sergey
28.12.2017
09:33:47
но вообще если ты подобное завязываешь на статус коды http и у тебя проект не маленький ты столкнешся с проблемой что тебе их не хватит)
да и потом, чаще удобнее сделать просто всегда 200 и json вида {used: false}

Яўген
28.12.2017
09:34:42
тут всегда сложность выбора

Sergey
28.12.2017
09:34:57
тогда на клиенте я смогу сделать что-то типа

Яўген
28.12.2017
09:35:18
ну проще всегда отреогировать на статус-код

Sergey
28.12.2017
09:35:38
тебе или фронтендеру?

Яўген
28.12.2017
09:36:18
обоим

Sergey
28.12.2017
09:36:29
фронтендеру вообще плевать
если ты сделаешь 204 и 404

Яўген
28.12.2017
09:37:18
даже если думать про запросы не из фронта: вернёшь 2xx, газл скажет - ок, если 404, кинет Exception
да, 204 - норм вариант
тем более, что HEAD

Sergey
28.12.2017
09:38:12
тот и другой вариант по факту корректные

Google

Яўген
28.12.2017
09:38:37
потому и включил email в url
/users/email@example.com

Sergey
28.12.2017
09:39:01
воу воу, не надо так
хотя как хочешь. всеравно у тебя свой вижен
но я все же поясню

Яўген
28.12.2017
09:39:41
по этому поводу ещё думать буду

Sergey
28.12.2017
09:39:54
с точки зрения операции проверки есть такой чувак или нет, фронтендеру нужно будет сделать что-то типа
isUserExists(email).then(
() => this.askForLogin(),
() => this.emailIsAvailable()
);

Admin
ERROR: S client not available

Sergey
28.12.2017
09:40:46
99% что фронтендер твой не будет проверять конкретные статус коды
ему достаточно того что у тебя один в 2xx а другой в 4xx
более того причин для 404 может быть больше чем "нет такого email-а"
у меня был как-то такой метод API который возвращал 200/404 и если чего-то небыло надо было очень важный флоу запустить....
вопервых в силу того что фронтендеры редко статус коды чекают у меня флоу запустился бы как на 404 так и на 500
во вторых, 404 не совсем корректный статус код для операции поскольку, проще всегда говорить что ресурс такой есть но он не занят
если коротко - флоу запустился для пары десятков юзеров хотя этого для них делать не нужно было. И не смотря на то что количество людей было небольшое - проблем я потом хлебнул

Victor
28.12.2017
09:44:39
Ребзя, маленький оффтоп, кто то из тех кто под саком работает, юзает kaleidoscope(+tower/source tree) или cli / стандартной тулзы шторма хватает ?

Артур
28.12.2017
12:35:11

Shmaltorhbooks
28.12.2017
12:36:04
` вот этим вот символом
с обоих сторон выделяй

Google

Shmaltorhbooks
28.12.2017
12:36:39
а если по три символа - будет многострочная фигня

Артур
28.12.2017
12:37:33
Если `, то оно красным делает текст только
code

Shmaltorhbooks
28.12.2017
12:37:52
ну он и моноширинный становится

Like
28.12.2017
12:38:10
isUserExists(email).then(
() => this.askForLogin(),
() => this.emailIsAvailable()
);

Артур
28.12.2017
12:38:24
а в том сообщении просто серый фон и черный текст

Like
28.12.2017
12:38:41
Так?

Shmaltorhbooks
28.12.2017
12:38:46

Артур
28.12.2017
12:39:11
? спасибо

Shmaltorhbooks
28.12.2017
12:39:54
code
у меня это сообщение вот так выглядит
сорри за картинки в чатике

Sergey
28.12.2017
12:40:12
\`\`\`
your code goes here
\`\`\`
слэшики надо убрать конечно

Артур
28.12.2017
12:40:37
спасибо

Shmaltorhbooks
28.12.2017
12:40:40
это будет многострочный

Like
28.12.2017
12:40:59
Screenshot (02:40PM, дек. 28, 2017)

Shmaltorhbooks
28.12.2017
12:41:29
с разрывом строк. а если нужно одно слово в предложении - с обоих сторон слово/слова обрамляешь кавычечками и привет

Артур
28.12.2017
12:42:21
ага) понял, еще раз спасибо)

Батманов
28.12.2017
13:06:00