Как стать автором
Обновить
7
0
Дмитрий @Joka

Пользователь

Отправить сообщение
и это говорит тим лид? тим лид забыл что инструмент выбирается под задачу? не хватает возможностей PHP100500? возьми Golang,nodejs для поддержки вебсокетов. Это будет тупой сервис который через какой-то прокси(база, редис, кафка, что угодно еще) прокидывать нужные данные в основную кодовую базу.

Нужна скорость, реальная скорость для обработки, ну скажем картинок, Rust или С в помощь, но при этом кодовая база остается на PHP.

хватит хоронить языки. учитесь их правильно выбирать под ваши задачи.

у меня по 5ггц на домашний нас (rpi) пишет 60 мегабайт в секунду. единственный вариант использования wifi-6 для меня будет если он кстати окажется в новом роутере и ноутбуке когда они будут планово обновляться мною. а это будет года через 3-4.
удачи маркетологам. это будет нелегкая битва :)
как по мне это больше желание тотального контроля, когда вы не умеете или не хотите доверять своим работникам либо же делегировать им задачи. у работника должна быть задача которая должна быть выполнена к сроку Х. все остальное вас не должно волновать. работник должен быть достаточно квалифицирован чтобы такие мелочи как помощь по задаче и тп решать самостоятельно.
2 совещания в день? вы вообще не доверяете людям или у вас люди настолько неорганизованны, что их нужно контролировать дважды в день?

я бы на вашем месте пересмотрел все процессы если вам требуется такой микроменеджмент
попробуйте pi-hole + ublock origin. вообще нет рекламы на ютубе, на десктопе
т.е тестовый день у вас толковому программисту обойдется примерно в 240 долларов (30 в час * 8 часов в день). таким образом чтобы так серьезно потратится у программиста должна быть дикая мотивация работать именно у вас. а есть у вас какая-то интересная мотивация? может у вас зп выше рынка на Х процентов? или какие другие плюшки?
мне интересна мотивация компаний которая требует от соискателей таких вложений в потенциальное место, интересна мотивация соискателей, чего они ждут и что получают раз готовы на такие вложения?
а вы оплачиваете время потраченное кандидатом на вас?
пока что выдача рекламы содержит <li class=«ads-ad» так что по этому признаку можно фильтровать ublock origin или аналогами

Паттерн синглтон. Лучше использовать это понятие, а не глобальный словарь.

А ещё все забыли что недавно кто-то из умельцев просто взял и клонировал инстанс телеграмма на другой телефон и отлично получал туда дубликаты секретных чатов защищённых шифрованием. На хабре статья и была. https://m.habr.com/ru/post/419551

начальное состояние должно задаваться в самом классе вроде private $_var = null;
перед запуском сеттера вы можете убедиться что начальное состояние задано в дефолт через геттер.
тут вообще не нужно лезть в потроха класса, если там приватные переменные вас как вызывающего вообще не должно волновать что там внутри. сделайте black-box тестирование на этот класс и все
Да, я понимаю. Не только такие методы есть для того чтобы влезать внутрь «мозгов». Есть спец расширения для ре-дефайна переменных и подмены статических функций и тп. Но философский вопрос: а стоит ли о таком вообще знать и на кой черт это вообще создали разработчики PHP если вроде как мы тут все в мире боремся за качество кода?
Если вам нужно инициализировать для тестов что-то приватное в классе через вот такие хитрые подвыподверты, то в первую очередь стоит подумать, а хороший ли это код? Описанный способ интересный, однако думаю стоит все таки отрефакторить класс в который вы так нагло врываетесь
Да, логично. Но тогда лучше сделать отдельный TableSearch или типа для поиска стола куда передавать список всех столов и размер группы. Потому как в теории Table класс это просто класс-сущность
в джаве не разбираюсь, но прочтя код могу сказать что именования перееменных в классе Table оставляет желать лучшего. size — это что за размер? длина? ширина? тогда уж лучше использовать нечто вроде numberOfChairs, chairs, freeChairs или типа того

Table.setFreeSpace должен устанавливать пустое место в то значение которое передано, а не вычислять его. ибо как все привыкли если ты делаешь set* то оно будет именно таким.

RestManager.searchTable наверное будет лучше превратить в Table.getSuitable(group)

может быть в джаве это и нормально, я не знаю
for (Table table : tableList) {
            if (table.getFreeSpace() == 0) break;


но вот эта конструкция при чтении кода просто вводит в ступор. получается мы идем по списку столов и как только один из них занят, то все — мы даем отлуп группе. я понимаю что сортировка где-то там выше, в другом месте и тп. но я бы забраковал такой подход

для «иногда люди задолбались ждать в очереди и ушли» нужно использовать TTL — это стандартная задача на cache ttl
habr.com/company/oleg-bunin/blog/309330 — попробуйте так еще. вы можете все старые данные вынести на отдельный сервер просто.
тонну фич добавили, а чтобы добавить количество одновременно исполняемых пайплайнов на проекте, которое уже просят года 2, наверное, так это у них руки не доходят :(
галера, латенси сети < 1ms между нодами
зависит от размера данных конечно, но мы через гигабит протаскивали 20k qps в базу. по масштабированию благодарю за ответ.
NDB cluster быстрый, но совершенно ужасный для поддержки в бесплатном режиме. если кластер падает, то быстро его не поднять пока не вольешь всю базу заново. так же он жестко ограничивает обьем размером оперативной памяти нод. а еще он хранит весь лог в памяти что сокращает место для самой базы. в общем отказались от него в пользу перконы в свое время.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность