
F01134H
03.08.2018
11:56:17
ахахахахаха

Dmitry
03.08.2018
11:56:52

Maksim
03.08.2018
11:58:41
и вообще нахер всё это. Внутри твига можно свою доктрину написать
понапридумывают всякого.. слои, домены какие-то

Google

Artem
03.08.2018
12:00:54

Bohdan
03.08.2018
12:01:10

Artem
03.08.2018
12:01:31

Dmitry
03.08.2018
12:05:25
Зря вы так про MVC. То что идею исковеркали - похер. Главное людям вбили клин в голову о разделении (похер что это разделение каждый понимает по-своему). Тут лучше вопрос поставить по-другому. Если не эпоха MVC-фреймворков, то что??? Самопсиные ???? велики, размазанные точки входа, масивчики, масивчики масивчиков, запросики к БДшечке откуда хошь.

Anton
03.08.2018
12:09:18
Какие то крайности... На MVC свет клином не сошелся. Есть ADR, MVVM, MVP, HMVP, etc.
То же Symfony как они сами пишут ниразу не MVC

Dmitry
03.08.2018
12:11:46

Anton
03.08.2018
12:13:20
Я к тому что кроме MVC можно (читай нужно) писать нормально без "размазанные точки входа, масивчики, масивчики масивчиков, запросики к БДшечке откуда хошь."

Sergei
03.08.2018
12:28:42
зашел парень спросить про шаблонизатор...

Dmitry
03.08.2018
12:32:10

Maksim
03.08.2018
12:32:38

Сергей
03.08.2018
12:33:04
http://php.net/manual/ru/language.generators.syntax.php

Dmitry
03.08.2018
12:33:08

Google

Maksim
03.08.2018
12:33:28

Гена
03.08.2018
12:33:57
Односторонний итератор с возможностью выхода?

Roman
03.08.2018
12:34:11
хотел загуглить что такое "йелда" но мне страшно...

Dmitry
03.08.2018
12:34:34
Да лан, сам обмазался йулдами по 4 штуки на 10 строчек, а теперь в непонятку уходишь :))))

Гена
03.08.2018
12:34:41
На лямбда

Dmitry
03.08.2018
12:35:10
Видел твой service-bus: шаманство чистой воды, магия высшего порядка!!!!

Maksim
03.08.2018
12:38:09

Leonid
03.08.2018
12:45:51
оно работет? данных не много? ну и ладно
хотел бы уточнить с чем именно и в каких размерах в данном запросе могут быть проблемы с производительностью?
С ростом количества различных category_id или ростом количества записей?
Так как я не понимаю работу под капотом данного запроса я не могу оценить сложность алгоритма. С моим текущим пониманием n^2 я тут нигде не вижу.

Sergey
03.08.2018
12:48:24
Там проблема в отсутствии возможности индексы заюзать

Ivan
03.08.2018
13:56:21
почему?
array_map('strtolower', ['Собака']) = ['Собака']
array_map('mb_strtolower', ['Собака']) = ['собака']
заметил на кириллице
для английского норм
UPD : strtolower с кириллицей вообще не дружит

Dmitry
03.08.2018
13:59:43
для кирилицы и уникода лучше пользовать с приставкой mb_*

Dmitry
03.08.2018
14:00:25
mb_ и предназначен же для таких случаев

Ivan
03.08.2018
14:00:56
бля. оно от локали работает.

Sergey
03.08.2018
14:06:35

Evgeniy
03.08.2018
14:38:49
mb_* надо давно для работы со строками юзать

Maksim
03.08.2018
14:39:44
ну, хз даже) спорно)

Evgeniy
03.08.2018
14:40:00
ну я не против либ поверх mb_*
я лишь говорю что в большинстве случаев везде multibyte

Google

Maksim
03.08.2018
14:40:39
твои бы слова, да на реальность)

Гена
03.08.2018
15:09:00
С мб надо локаль ставить

Ivan
03.08.2018
15:09:21
по дефолту utf8

Гена
03.08.2018
15:10:10
Setlocale

Ivan
03.08.2018
15:11:39
нет. это нужно для простого strtolower. для mb он не нужен. но там можно выбирать кодировку.

Sergey
03.08.2018
15:17:47
я лишь говорю что в большинстве случаев везде multibyte
операции с multibyte могут ударить по производительности (например если offset нужен в строке то это уже не просто указатель выставить а надо реально пройтись по страке и посчитать позициию курсора). И в массе случаев в целом тебе это не нужно.
Но я сейчас конечно про всякие парсеры и т.д

Evgeniy
03.08.2018
15:18:48
это лучше наверно чем потом брать непонятные символы из строки

Sergey
03.08.2018
15:19:31
лучше - разобраться что тебе нужно для конкретной задачи)

Evgeniy
03.08.2018
15:19:53
ну а хз кто как потом юзает этот код)
преждевременная оптимизация .... (с.) Кнут

Sergey
03.08.2018
15:21:19

Evgeniy
03.08.2018
15:21:40
я осилил первый том там где про сортировку было
но следующие уже были про поиск и там было сложновато
ну и очень давно читал

Sergey
03.08.2018
15:22:04
в частности что он не предлагает "если ты знаешь как оптимизировать не оптимизируй", он предлегает не тратить время когда у тебя есть предположение и тебе надо его проверять и изобретать новые алгоритмы или структуры данных

Гена
03.08.2018
15:24:58

Sergey
03.08.2018
15:25:56
а не строчки в 100 байт
или даже пару килобайт

Google

Гена
03.08.2018
15:31:40
Сайты

Sergey
03.08.2018
15:32:56
ну так это пара килобайт на страницу)

Admin
ERROR: S client not available

Leonid
03.08.2018
16:56:38
Данный запрос возвращает N полей с каждым значением category_id и сортировкой по created_at.
SELECT notes.* FROM notes
WHERE notes.id IN (
SELECT T1.id
FROM notes as T1
WHERE (
SELECT COUNT(*)
FROM notes as T2
WHERE T2.category_id = T1.category_id
AND T2.created_at > T1.created_at
AND T1.user_id = T2.user_id
) < 2
)
AND user_id = 6
После добавления индексов время запроса не зависит от общего количества полей, но зависимость от подпадающего под параметр user_id полей линейна. То есть если подпадает 200 полей = 2 секунды, 400 = 4.
Как оптимизировать? Где спросить, если здесь не помогут?

Shaun
03.08.2018
17:18:25

Nurik
03.08.2018
18:28:46

Anton
04.08.2018
18:46:31
Свежее мясо :)

F01134H
04.08.2018
18:57:51

Vadim
04.08.2018
18:58:42
declare(ticks=1) действует в скопе файла в 7.2, кто сталкивался?

Ivan
04.08.2018
18:59:32

Vadim
04.08.2018
18:59:57
Подозреваю, что заскоупили declare на файл в силу strict_types, но об этом не сообщили. Или я пропустил?

Ivan
04.08.2018
19:02:50

Sergey
04.08.2018
19:13:54
Для сигналов они в 7.0 нормально сделали
http://php.net/manual/en/function.pcntl-async-signals.php
Вроде оно

Anton
04.08.2018
19:36:57
declare(ticks=1) => pcntl_signal_dispatch() => pcntl_async_signals()
Развитие сигналов в PHP

Vadim
05.08.2018
05:57:38
Спасибо!

Artem
05.08.2018
11:49:53
Есть обработчик команд, хочу использовать его для обработки n одинаковых команд пачкой (в целях повышения производительности).
Вынес сохранение uow во что-то типа декоратора и там уже решается, когда сохранять.
Вот обработка одной команды:
https://github.com/Guuzen/UmbrBlog/blob/master/src/Post/Action/CreatePost/CreatePostSingleHandler.php
А вот обработка n команд:
https://github.com/Guuzen/UmbrBlog/blob/master/src/Post/Action/CreatePost/CreatePostBatchHandler.php
Как обычно это белые люди делают?
Вообще обрабатывают команды пачкой? Может я фигнёй страдаю =\
Ну и в моём варианте мне не нравится, что придётся для обработчика каждой команды пилить пакетные обработчики, которые будут одинаковые за исключением типов, с которыми они работают.

Google

Olga
05.08.2018
13:11:35
Добрый день всем! Прошу извинить за сообщение не по теме программирования на php. Возможно,кому-то из чата будет интересно ознакомиться с вакансией php-программиста в Мск.

Nikitcat
05.08.2018
13:12:43
@php_jobs

Shaun
05.08.2018
13:13:02

Nikitcat
05.08.2018
13:13:52
https://t.me/webWork

Olga
05.08.2018
13:14:25
??
Спасибо!
Напишу в пн!

Oleg
06.08.2018
06:38:42
доброго утра всем!
Подскажите, существует ли в природе либа, которая позволяет редактировать существующий pdf? Т.е. не генерить, а именно отредактировать существующий (отметить чекбоксы, заполнить поля некоторые) и сохранить. Пока поиски на увенчались успехом (

Roman
06.08.2018
06:46:32
Камрады, свежий дайджест https://habr.com/post/419359/

Artyom
06.08.2018
06:46:34

Oleg
06.08.2018
06:48:04