
F01134H
03.10.2017
07:16:39
зато ищут они тех, кто живет в часе от москвы. Если живете дальше, это же не их проблемы, кек

Ilya
03.10.2017
07:20:11
они ищут тех кто работает в часовом поясе от +2 до +4, всё

Konstantin
03.10.2017
07:23:03
я чет сильно сомневаюсь, что туда возьмут недоучек

F01134H
03.10.2017
07:26:17
никто и не говорит, что возьмут

Google

ainu
03.10.2017
07:30:29
Недоучка не сможет ответить на вопрос как из большой базы удалять пользователей
врятли они примут ответ delete from users where id = :id

Valentin
03.10.2017
07:35:57
Такс, а можно ссылочку на то почему в большой таблице нельзя удалять просто через delete from users where id = :id ? Если индекс есть, а он в любом случае есть на поле id то не вижу ничего плохого

Ilya
03.10.2017
07:37:36
нужно через softdelete или какой-нибудь флаг deleted

Ярослав
03.10.2017
07:42:20
задача поставлена тогда некорректно
нужна схема таблицы как минимум

Борис
03.10.2017
07:42:36
нужно через softdelete или какой-нибудь флаг deleted
мммм.... а че так категорично-то? это нихрена не для 100% случаев нужно, потому что потом во всех запросах выборки тебе нужно учитывать and deleted = 0 А это двойные индексы, в идеале. Короче я тоже не понял, почему нельзя простым delete from. Давай поясняй Валентин

Alexey
03.10.2017
07:44:45
а потом правильный ответ окажется "а не надо ничего удалять!". что кстати вполне себе обычная практика

Valentin
03.10.2017
07:47:54

Борис
03.10.2017
07:48:51
Сорри, попутал :) Да, это не к тебе

Valentin
03.10.2017
07:49:02
потому что проверка на username = :username будет возращать ошибку валидации, так как юзер ещё существует, а даже если добавить WHERE is_deleted = 0 то база не разрешить его добавить
изза того что поле username уникальное
разве что опять же ставить индекс unquie(username, is_deleted)

Google

Valentin
03.10.2017
07:50:48
Короче сомнительные преимущества)

Mikhail
03.10.2017
07:52:13

Valentin
03.10.2017
07:52:41
А это вомзожно вообдще?)

Mikhail
03.10.2017
07:53:12
Я имею ввиду с однми юзернаймом)

Valentin
03.10.2017
07:53:40
а, понял, ну да

Sergey
03.10.2017
08:32:57
вдруг там чего ценного
я так как-то карзины удалял
типа "ну а че не надо ж уже"
а там потом оказалось что ценная инфа, и она уже потеряна для последних полу года

Sergey
03.10.2017
08:33:53
есть всякие штуки типа аудита

Sergey
03.10.2017
08:33:56
потому по дефолту я бы выбирал стратегию при которой ничего не удаляется

Konstantin
03.10.2017
08:34:01
вреедитель ёпт

Sergey
03.10.2017
08:34:05
но не soft delete блять

Sergey
03.10.2017
08:34:06

Sergey
03.10.2017
08:34:11

Sergey
03.10.2017
08:34:22
ну потому что аудит ты будешь делать только тогда когда тебя попросят
а тут не просили ж, но и удалять как бы небыло разговора
да и по поводу "двойных индексов" и прочей шляпы - есть частичные индексы - как раз для случаев с флагами. Так что базе плевать будет


Pavel
03.10.2017
08:35:08
Ох, иногда сам вопрощающий на собеседовании не до конца понмает что спрашивает. Например когда-то давно моему коллеге(который года два работал с C# потом перешел на php) на одном из собеседований задали вопрос "что быстрее отработает передача параметра напрямую или передача параметра по ссылке", на что мой знакомы ответил что не может однозначтно дать ответ на этот вопрос, т.к. не знает как внутри ядро php эти моменты обрабатывает. На что ему сказали что это не верно и передача по значению "копирует" переменную и по этому работает медленнее и выжирает больше памяти.
https://habrahabr.ru/post/134784/
http://www.php.net/manual/ru/language.references.return.php
"Не используйте возврат по ссылке для увеличения производительности. Ядро PHP само занимается оптимизацией. "

Google

Sergey
03.10.2017
08:35:10
ну обычно такие вещи спрашивают в процессе разработки

Sergey
03.10.2017
08:35:44

Sergey
03.10.2017
08:35:46
в 5.5+


Sergey
03.10.2017
08:36:24

Sergey
03.10.2017
08:37:02
да и вообще ссылки не рекомендуют делать, чтобы не сводить оптимизатор пхп с ума

Pavel
03.10.2017
08:37:13
работа со ссылкой всегда медленнее
Дык, тут неоднозначно. Как-то игрались на https://3v4l.org/ с исскусвенными замерами. Где было медленне где быстрее, а гду вообще одинаково

Sergey
03.10.2017
08:37:28
и то не факт...
но в целом соглашусь - ссылки стоит юзать как крайнюю меру
есть статья от Ника по поводу того как работает нынче CoW в семерке и как там чего ссылки сейчас действуют

$iD
03.10.2017
08:38:33
плз

Sergey
03.10.2017
08:38:36
многие вещи которыми раньше руководствовались как бы уже не сказать что актуальны
секу

Pavel
03.10.2017
08:38:39

Sergey
03.10.2017
08:39:30
https://nikic.github.io/2015/05/05/Internal-value-representation-in-PHP-7-part-1.html#references

$iD
03.10.2017
08:39:39
спс

Pavel
03.10.2017
08:39:43
спс

Google

Sergey
03.10.2017
08:40:28
> Because count() accepts its value by-value, but $array is a PHP reference, a full copy of the array is done before passing it off to count(). If $array weren’t a reference, the value would be shared instead.
то есть при ссылках происходит копирование как раз таки для 5.x
> References will still be slower than normal values, because they require allocation of the zend_reference structure (and indirection through it) and are usually not handled in the fast-path of engine code.


Борис
03.10.2017
08:47:24
а ты у бизнеса спросил можно ли удалять данные?
Так я к тому и отвечал, что нужно решить с точки зрения бизнесса, притом иногда нужно решить лиду, а не спрашивать у заказчика.... ибо заказчик скорее всего не поймет и на все будет кричать "хочу софт делит". Конкретно с пользаками согласен, что их можно и сохранить, но точно не через deleted=true. Корзину, если ты про "заказ".... ну мужик, у тебя видимо недостаток опыта с магазинами. Заказы, и товары в момент заказа принятно сохранять навечно (копия товаров, в момент заказа) :) Каб было.
Если ты про корзину, но не "order" тогда странное требование...
Короче, я не категорично заявляю что софт делит не нужен, но на вопрос на собесе "как удалить запись из таблицы" ответ "delete where id = 15" считаю норм.


Sergey
03.10.2017
08:48:09
Так я к тому и отвечал, что нужно решить с точки зрения бизнесса, притом иногда нужно решить лиду, а не спрашивать у заказчика.... ибо заказчик скорее всего не поймет и на все будет кричать "хочу софт делит". Конкретно с пользаками согласен, что их можно и сохранить, но точно не через deleted=true. Корзину, если ты про "заказ".... ну мужик, у тебя видимо недостаток опыта с магазинами. Заказы, и товары в момент заказа принятно сохранять навечно (копия товаров, в момент заказа) :) Каб было.
Если ты про корзину, но не "order" тогда странное требование...
Короче, я не категорично заявляю что софт делит не нужен, но на вопрос на собесе "как удалить запись из таблицы" ответ "delete where id = 15" считаю норм.
заказы - да. Карзина это другой агрегат, другой контекст даже
по поводу ответа на собесе - да, ответ норм.
Так я к тому и отвечал, что нужно решить с точки зрения бизнесса, притом иногда нужно решить лиду, а не спрашивать у заказчика.... ибо заказчик скорее всего не поймет и на все будет кричать "хочу софт делит". Конкретно с пользаками согласен, что их можно и сохранить, но точно не через deleted=true. Корзину, если ты про "заказ".... ну мужик, у тебя видимо недостаток опыта с магазинами. Заказы, и товары в момент заказа принятно сохранять навечно (копия товаров, в момент заказа) :) Каб было.
Если ты про корзину, но не "order" тогда странное требование...
Короче, я не категорично заявляю что софт делит не нужен, но на вопрос на собесе "как удалить запись из таблицы" ответ "delete where id = 15" считаю норм.
чем тебе deleted=true не нравится мне просто интересно.... в 99% случаев индекс с условием и живем не тужим


Борис
03.10.2017
08:49:51
>>>>
на что мой знакомы ответил что не может однозначтно дать ответ на этот вопрос, т.к. не знает как внутри ядро php эти моменты обрабатывает. На что ему сказали что это не верно
Ахуенный интервьювер (или же ты криво написал), но это смешно :D
- Какой вариант А или Б?
- Я не знаю.
- Это не правильный ответ (Вы самое слабое звено, до свидания! )
Угараю

Sergey
03.10.2017
08:49:53
да, есть пожалуй какой-то 1% а то и меньше когда это будет вызывать проблемы
ты ж сам дал линку на образ. Берешь и юзаешь

Pavel
03.10.2017
08:52:07

Asset
03.10.2017
08:52:19
не получается собрать образ из докера

Sergey
03.10.2017
08:52:25

Asset
03.10.2017
08:52:49
COPY failed: stat /var/lib/docker/tmp/docker-builder064418195/docker-php-source:

Sergey
03.10.2017
08:53:05

Pavel
03.10.2017
08:53:32

Sergey
03.10.2017
08:53:33

Asset
03.10.2017
08:53:35
Ну я скачал докер файл, дальше командой docker build . пытался собрать :|

Sergey
03.10.2017
08:54:05

Google

Sergey
03.10.2017
08:54:15
ты там на генту сидишь еще небось

Asset
03.10.2017
08:54:15
а ок :|
Просто не имел дело с докером

Sergey
03.10.2017
08:54:46
ну там же прям на docker hub инструкция сбоку есть - docker pull php:latest например
да и в ридми есть

Aleh
03.10.2017
08:55:05
ну или если свои образы делаешь, то FROM php:latest

Sergey
03.10.2017
08:55:18
весь профит докера как раз таки в том что бы не собирать свои образы по возможности
опенсурсная инфраструктура
ну... не только в этом но как по мне это самое удобное ибо просто lxc в целом и так не сложно пользоваться

Sergey
03.10.2017
10:15:56
тут кто-то юзает React SSR через V8js?
расскажите про свой опыт, как до такого докатились

Dmitry
03.10.2017
10:16:38
Не советую даже и думать о таком, очень медленно работает.

Sergey
03.10.2017
10:17:18
юзаете ноду вместо этого как фронт сервер?

Dmitry
03.10.2017
10:17:23
Да

Sergey
03.10.2017
10:17:40
а какие данные нода собирает с бекендов для рендеринга?
как решаете что запрашивать на ноде, а что из браузера?

Dmitry
03.10.2017
10:18:07
У нас изоморфный рендер, поэтому SSR просит все тоже самое, что и браузер.
https://habrahabr.ru/post/309958/
Читал что-нибудь типа такого ?

Sergey
03.10.2017
10:21:25