@symfony_php

Страница 515 из 1418
Dmitry
20.12.2017
16:31:36
транзакционный DDL перевешивает многое ;)

Sergey
20.12.2017
16:31:37
а если я захочу упороться - буду думать в сторону polyglot persistence, обмажусь касандрами, всякими orientdb и т.д.

транзакционный DDL перевешивает многое ;)
потому и сказал за mysql8. Ее релиз выравняет позиции

Dmitry
20.12.2017
16:32:07
в нем транзакционного DDL, это миф ;)

Google
Dmitry
20.12.2017
16:32:19
в нем атомарный DDL... это несколько другое

Shmaltorhbooks
20.12.2017
16:32:49
и как-то немного странно рассуждать о нагрузочном тестировании, если нету понимания какие именно запросы будут в основном нагружать базу

Sergey
20.12.2017
16:32:52
в нем транзакционного DDL, это миф ;)
https://mysqlserverteam.com/atomic-ddl-in-mysql-8-0/

Dmitry
20.12.2017
16:33:11
https://mysqlserverteam.com/atomic-ddl-in-mysql-8-0/
ну я и говорю - атомарный

Shmaltorhbooks
20.12.2017
16:33:28
выяснится, например, что мускуль делает на 10% больше селектов на таблице с миллионом записей, а постргес на 10% больше если делается джойн на 3 и больше таблиц

и что делать с этим знанием?

а всякие вмешные и свежие плюшки, которые вкручивают в базу - скорее всего, что они не будут использованы в реальном приложении, ибо нафиг ненужны

Sergey
20.12.2017
16:34:07
Кстати, чем мерять RPS и нагрузочное тестирование проводить? Я поставил Locust, но питон не очень нравится.
меряй хоть через ab, у тебя самое сложное это: - нагенерить разнородных данных имитируя продакшен систему - попробовать прикинуть сценарии и их распросраненность. Правило парето и все такое. Это проще по анализу access log-ов с прода

а всякие вмешные и свежие плюшки, которые вкручивают в базу - скорее всего, что они не будут использованы в реальном приложении, ибо нафиг ненужны
я помню почитал про брин индексы в посгресе и расстроился что у меня столько данных не будет что бы они понадобились(

Алексей
20.12.2017
16:55:53
Я не за этим. Хочу начать новый проект с использованием постгресса
Нормально. Только не бери Postgres 10 пока этот баг не пофиксят: https://github.com/doctrine/dbal/issues/2868 // Хотя, если не нужны сиквенсы и автоинкрементные @Id - бери.

Алексей
20.12.2017
17:02:34
А какой брать? 9?
Если нужны автоинкременты в доктрине - 9.X. Если не нужны - можешь брать 10. У меня один проект на 10 работает, там либо UUID в качестве PK, либо заранее известный полученный из внешнего API идентификатор.

Господа, кстати, есть вопрос. Точнее, не совсем. Может кто кинуть какого-нибудь полезного чтива либо библиотечек, которые помогают сравнивать тексты на похожесть? Линки на встроенные функции в PHP типа levenshtein() и metaphone() можно не давать. Задача - искать похожие объекты из различных источников данных и линковать их к общему каталогу. То есть, нужны инструменты, которые позволят вычислять похожесть текстов (коротких в основном - названий компаний и т.п.) и на основе схожести делать выводы. Если есть примеры, где текст очищается от всякого мусора типа предлогов, артиклей и т.п., а потом разбивается на слова составляющие смысл - тоже хорошо. В целом соображения как решать задачу есть, но интересно посмотреть на другие подходы - вдруг что интересного позаимствовать удастся.

Google
Алексей
20.12.2017
17:13:33
Помнится, где-то читал статью про то как сделан поиск в Кинопоиске (или типа того) - там тоже писалось что из текста лучше выкидывать, что нет и прочее. Такое чтиво тоже было бы полезно.

Если кто-то что-то кинет - просьба кинуть с меншном или реплаем (можно и в личку, если так удобнее).

Petr
20.12.2017
17:22:14
Если кто-то что-то кинет - просьба кинуть с меншном или реплаем (можно и в личку, если так удобнее).
В блоге DaData на Хабре, кажется, подобная статья была, но сейчас ссылочку поискать не могу

Алексей
20.12.2017
17:23:26
В блоге DaData на Хабре, кажется, подобная статья была, но сейчас ссылочку поискать не могу
Спасибо за подсказку. Нашёл их блок. ТАм не одна статья может быть полезна.

Vladislav
20.12.2017
20:03:30
Прив. можно сделать в симфони роутинге вот такой роут /blabla/uploads/{path} где path -> еще какой-то путь 2017/6/lol.png

надо чтобы все после uploads/ считало как слаг уже

регулярка?

Shmaltorhbooks
20.12.2017
20:08:59
Гуглить symfony routing slash in url

Vladislav
20.12.2017
20:10:25
та гуглил уже)

ну ща еще это попробую)

Shmaltorhbooks
20.12.2017
20:10:32
Есть отдельная статья на эту тему на оф доке

https://symfony.com/doc/2.3/cookbook/routing/slash_in_parameter.html

Хм

Старая дока

Но и в текущей может работать такая же шляпа

Sergey
20.12.2017
20:17:29
http://symfony.com/doc/current/routing/slash_in_parameter.html вот новая)

Vladislav
20.12.2017
20:42:03
бл, я это читал раза 2, но чет не обратил внимания. спасиб. думал это траилинг слэш

Alexandr
21.12.2017
08:36:45
подкажите плиз, можно ли как-то удобно в доктрине провернуть такое? проблема в том, что если и $a, и $b заданы, то доктрина не проигнорирует повторный джойн на t.relation if ($a) { $queryBuilder ->innerJoin('t.relation', 'r') ->andWhere('r.a = :a') ... } if ($b) { $queryBuilder ->innerJoin('t.relation', 'r') ->innerjoin('r.anotherRelation', 'ar') ->andWhere('ar.b = :b') ... }

Алексей
21.12.2017
08:39:17
Так а доктрина-то при чем? Может, условие пофиксить? Хотя если хочется извращений - можно проверять запрос на наличие query parts соответствующих.

Google
Sergey
21.12.2017
08:40:25
вжух

но вообще стремная штука

Alexandr
21.12.2017
08:43:46
Так а доктрина-то при чем? Может, условие пофиксить? Хотя если хочется извращений - можно проверять запрос на наличие query parts соответствующих.
как его пофиксить?) ... мне нужно, чтобы в $queryBuilder использовались только те фильтры ($a или $b), которые имеют установленные значения ... для каждого из этих параметров есть свой набор джойнов ... этот набор джойнов конфликтует друг с другом (если джойнить для каждого фильтра отдельно) ... если джойнить все возможные варианты, то по дефолту, даже при отсутствии фильтров, запрос будет избыточен

if ($a || $b) {}
тогда в условие могут попадать кейсы r.a is null, а в случае одного установленного $a будет избыточный джойн на r.anotherRelation

Алексей
21.12.2017
08:46:20
if ($a) {} elseif ($b) {} или чего ты хочешь?

Ты вообще про Symfony или про PHP спрашиваешь?

Alexandr
21.12.2017
08:47:26
про доктрину так-то, но симфонисты в ней как правило разбираются неплохо ))

Алексей
21.12.2017
08:47:56
А в чем вопрос про доктрину, если ты ее сам ломаешь?

Sergey
21.12.2017
08:48:23
у тебя по сути проблема с логикой составления запроса, но то есть с php

а не с доктриной

Alexandr
21.12.2017
08:53:32
неужели никому никогда не доводилось писать опциональных фильтров в репозиториях, где некоторые фильтры используют повторяющиеся джойны? ... я думал задача тривиальная и это я такой тупой ( ... >проблема с логикой составления запроса конечно, можно хитрыми условиями раскидать, когда какие джойны использовать ... но я думал есть решение проще

Sergey
21.12.2017
08:55:02
> задача тривиальная правильно думал)

if ($a || $b) { $queryBuilder ->innerJoin('t.relation', 'r'); } if ($a) { $queryBuilder ->andWhere('r.a = :a') ... } if ($b) { $queryBuilder ->innerjoin('r.anotherRelation', 'ar') ->andWhere('ar.b = :b') ... }

Shmaltorhbooks
21.12.2017
08:56:39
сколько php-шников нужно, чтоб написать if по трём условиям)

Sergey
21.12.2017
08:57:18
большинство вместо этой сатаны с if-ами просто делают 2 джойна с разными элиасами

либо оптимизируют сам запрос дабы избавиться от этих джойнов (подзопросы, выборки айдишников)

Эмин
21.12.2017
08:58:31
2 join'а одной и той же таблицы это вообще ад для базы

особенно если данные одни и те же

Sergey
21.12.2017
09:01:42
2 join'а одной и той же таблицы это вообще ад для базы
ммм.... в чем ад то? это как два джойна разных таблиц)

Google
Alexandr
21.12.2017
09:02:46
if ($a || $b) { $queryBuilder ->innerJoin('t.relation', 'r'); } if ($a) { $queryBuilder ->andWhere('r.a = :a') ... } if ($b) { $queryBuilder ->innerjoin('r.anotherRelation', 'ar') ->andWhere('ar.b = :b') ... }
это и есть вариант с "хитрыми условиями", угу ) ... при нарастании количества фильтров/джойнов комбинации и условия могут быстро выйти за разумные пределы

Admin
ERROR: S client not available

Sergey
21.12.2017
09:03:27
но щито поделать если у тебя логика выборок упорота и ты зачем-то это в одно место положил

нет, конечно можно поиграться вот с этим: $qb->getDQLPart('join');

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

Роман
21.12.2017
10:33:17
Здравствуйте. Подскажите пожалуйста, как при продакшн сборке заставить Symfony Encore добавлять префикс к путям в manifest.json? Сайт находится в подпапке на хостинге..

Boris
21.12.2017
11:20:21
Подскажите, старый sensio/generator-bundle не поддерживает symfony 4. А в новом не вижу команды для создания нового бандла, еще не подвезли?

Сталкивался кто или нет?

Dmitriy
21.12.2017
11:21:47
maker

Boris
21.12.2017
11:22:19
maker
Я его и имею ввиду под "новым" :)

В его командах и исходниках не вижу maker:bundle

Поэтому и спрашиваю, может кто создавал уже бандлы. Или ручками пока?

Andrey
21.12.2017
11:24:46
зачем?
отвечу словами классика

Dmitriy
21.12.2017
11:26:53
а зачем тебе создавать бандл?

https://github.com/symfony/maker-bundle/tree/master/src/Maker

Boris
21.12.2017
11:28:14
https://github.com/symfony/maker-bundle/tree/master/src/Maker
Да, я смотрел эти исходники

Dmitriy
21.12.2017
11:29:05
лучше не бандл а свою библу + рецепт

Artem
21.12.2017
11:34:14
вроде как бандлы - это дела давно минувших дней в sf4

Google
Boris
21.12.2017
11:37:24
Artem
21.12.2017
11:40:09
я имел ввиду это: https://symfony.com/blog/new-in-symfony-3-4-deprecated-bundle-inheritance

Boris
21.12.2017
11:41:04
Bundles will still exist as third-party plugins installed in vendor/

Дмитрий
21.12.2017
11:45:50
http://github.com/symfony/thanks

Boris
21.12.2017
11:46:42
chesarhop
21.12.2017
12:13:49
Салют! Народ такой вопрос, мне надо определять попадает ли дата в диапазон заданный в определённом формате. Диапазоны могут быть вида: а) С 14:30 первого января ДО 18:30 23 февраля б) С 00:00 понедельника ДО 16:00 Среды в) маловеротный сценарий но всё же: вторник и среду в январе, марте, июле Чем можно проверить, попадает ли дата в диапазон?

Vladislav
21.12.2017
12:14:35
data >= x && data <= y

?

Nikolay
21.12.2017
12:15:03
strtotime и сравнение секунд

chesarhop
21.12.2017
12:16:35
Эх если бы

Страница 515 из 1418