Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
glaphire

Daria Motorina

PHP developer
  • 688
    вклад
  • 30
    вопросов
  • 665
    ответов
  • 57%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Какими инструментами делать синхронное выполнение команд symfony по расписанию?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Нет, крон просто "дергает" указанную команду, когда ее время наступило. Я думаю что лучше создать отдельную команду-список, которая будет по очереди вызывать команды на уровне кода и обеспечивать эту последовательность с промежуточными проверками. Чтобы решить эту задачу используя рэббит, нужно больше проверок, больше кода, вероятно что он тут не нужен
    Ответ написан 20 февр.
    3 комментария
    3 комментария
  • Какой сервис использовать для доставки контента с его оптимизацией?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Cloudinary, Cloudflare
    Ответ написан 12 февр.
    2 комментария
    2 комментария
  • Как программисты хранят частоиспользуемые куски кода, чтобы каждый раз не вспоминать заново?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    В бекенде почти все что часто используется складывается в какой-то модуль, консольную команду-генератор или свалку хелперов (типа класс Utils) в проекте, поэтому надобности хранить это отдельно нет. Изредка можно в гитхаб или гист сохранить какую-то эталонную реализацию большой задачи
    Ответ написан 27 янв.
    Комментировать
    Комментировать
  • КАК РИСОВАТЬ ТЕНЬ И СВЕТ В CG?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Если речь про художественную достоверность, то ФШ мало отличается от рисования вживую.
    Основные подходы, которые я почерпнула раньше:
    1) Лучше сначала рисовать базовый слой с "плоскими цветами", а на новом прозрачном слое поверх него рисовать тени, на втором слое поверх предыдущего - свет. Это сильно облегчает работу, если что-то пошло не так или если хочется добавить эффектов наслоения - яркость, прозрачность, размытие и т.д.
    2) Кисти могут быть любые, стандартных хватает за глаза. Если поиграться с параметрами - края, прозрачность, частота, рассеивание по оси X/Y - можно добиться отличных эффектов. На Deviantart раньше выкладывали брашпаки, сейчас такое вроде есть на Artstation. Вообще легко создавать свои кисти, можно поискать туториалы - это комбинация формы (отпечатка) и ее настроек
    3) Один из подходов в создании света и теней - не "рисовать цветом", как бы это было нп. гуашью, и использовать режимы слоя ("осветление", "затемнение", "умножение") и такие же эффекты для кисти. Иногда результат выходит более естественным, чем рисование цветом.
    Можно купить на месяц Патреон у Lois van Baarle - она в свое время много хороших туториалов сделала, старые есть на youtube и tumblr.
    https://www.patreon.com/loish
    Ответ написан 19 янв.
    Комментировать
    Комментировать
  • Как чувствует себя мак м1 с 8гб ОЗУ?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Сложно представить ноут с 8 гигами, который спокойно потянет современную IDE с современным проектом, лучше докупить память
    Ответ написан 12 янв.
    4 комментария
    4 комментария
  • Как вернуть в json?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Можно использовать флаг JSON_PRETTY_PRINT
    JSON constants
    $arr = array('IP' => $ip,
                 'city' => $city['city']['name_en'],
                 'city code' => $city['city']['id'],
                 'city lat' => $city['city']['lat'],
                 'city lon' => $city['city']['lon'],
                 'country' => $city['country']['name_en'],
                 'country iso' => $city['country']['iso'],
                 'country code' => $city['country']['id'],);
    
    echo json_encode($arr, JSON_PRETTY_PRINT);

    sandbox
    Ответ написан 03 янв.
    Комментировать
    Комментировать
  • Проблема с проектом на php?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Те два примера, которые Вы привели в вопросе, в первую очередь про проектирование базы данных и код, который будет "обслуживать" их изменение. Тут надо спроектировать таблицы и их связи, поднять веб-сервер, настроить хоть-какой-то роутинг, написать эндпоинты для http запросов, создать простой фронтенд (или API)...
    Скорее всего это уровень чуть выше того, с чем Вы успели ознакомиться.
    Книги в статье в принципе хорошие, но там сборная солянка книг для начинающих вместе с книгами по ООП, архитектуре и фреймворкам - это следующий этап после понимания базы. Мне лично когда-то помогла книга Котерова и Симдянова (тогда она была для PHP 5).
    Ответ написан 01 янв.
    Комментировать
    Комментировать
  • Как рисовать изображением?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Есть вариант:
    1. На один слой вставить картинку с желаемой "текстурой".
    2. Создать слой поверх него, закрасить, ластиком сделать нужную фигуру - так текстура будет просвечивать под фоном.
    3. Если нужно еще как-то обработать надпись, то можно манипулировать этими двумя слоями через выделение (select), но надо быть аккуратным с резкостью краев (там есть доп.параметры)
    Ответ написан 31 дек. 2021
    1 комментарий
    1 комментарий
  • Что означают loopN?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    https://askubuntu.com/a/1060452
    Это просто зарезервивонаное пространство на диске под ряд приложений
    Ответ написан 23 дек. 2021
    Комментировать
    Комментировать
  • Какие алгоритмы и структуры данных чаще всего спрашивают на собеседовании джуна?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Меня за все 20+ собеседований не спрашивали про алгоритмы, максимум пузырьковую сортировку написать и какие-то простые задачи на мышление.
    UPD. Спрашивали еще за B-tree деревья, но это в контексте индексов в MySQL, важно уметь на пальцах объяснить как происходит поиск по индексу
    Ответ написан 14 дек. 2021
    3 комментария
    3 комментария
  • Как изменить формат логгирования Monolog Symfony?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Можно создать свой Formatter
    https://github.com/Seldaek/monolog/blob/main/doc/0...
    Ответ написан 07 дек. 2021
    1 комментарий
    1 комментарий
  • Как понять странное поведение сервисов в Symfony?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Тут варианта два:
    1) в определенной версии объявление через class устарело, надо через alias
    https://symfony.com/doc/current/service_container/...
    2) не перегенерен кеш контейнера
    Я вообще сторонник полных неймспейсов, без алиасов в конфигах
    Ответ написан 27 нояб. 2021
    5 комментариев
    5 комментариев
  • Builder: нужна ли фабрика, или можно в билдере оставить метод?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    1) создать класс-обертку для этого логгера, сконфигурировать его внутри (в методе init, метод init засунуть в конструктор)
    2) изучить реализацию service container в текущем фреймворке/приложении и передавать уже сконфигурированный логгер через dependency injection в нужные классы
    Ответ написан 22 нояб. 2021
    Комментировать
    Комментировать
  • Как отрефакторить классы с неоднородными конструкторами?

    glaphire
    Daria Motorina @glaphire Автор вопроса
    PHP developer
    Я упустила в описании вопроса то, что мои "неудобные" параметры были скалярными, а не объектами.
    Ответ Flying о service subscribers натолкнул на мысль о поисках способа достать только конфиги/параметры из контейнера, а не тащить весь контейнер в свою фабрику - можно использовать Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.
    Ссылка на документацию: Symfony 4.1 - Getting container parameters as a service
    Ответ написан 21 нояб. 2021
    Комментировать
    Комментировать
  • Как ускорить чтение большого архива gz?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    1) вижу в коде $_POST и получение файла из запроса, не проще ли написать консольный скрипт, который просто читает файл по указанному пути?
    2) можно использовать генератор, чтобы не грузить память файлом
    https://www.php.net/manual/ru/language.generators....
    https://riptutorial.com/php/example/5441/reading-a...
    Ответ написан 18 нояб. 2021
    2 комментария
    2 комментария
  • Какая разница между пакетами, зависимостями, extensions, модулями?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Обычно это одно и то же в контексте дополнений к php или библиотек в ОС, от которых зависят эти дополнения.
    Тут на реддите был интересный топик, который раскрывает нюансы
    What's a difference between PHP extension and PHP ...
    Ответ написан 08 нояб. 2021
    Комментировать
    Комментировать
  • Docker: контейнер с mysql, неужели нужно постоянно руками выставлять хост пользователю?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Я помню что у меня такой проблемы не возникало, Вы точно настраивали внутреннюю сеть?) Там нужно создать сеть internal и указать ее в контейнерах
    мой пример
    Ответ написан 07 нояб. 2021
    2 комментария
    2 комментария
  • Как работают PHP-потоки (stream)? почему они не загружаются полностью в память?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Эту инфу нужно искать в отрыве от языка, это уровень операционной системы.
    Один из ответов на SO:
    What is Under the Hood in a Stream in Programming?
    Upd. Еще есть пересекающаяся тема как http streaming,
    я когда-то для себя шпаргалку писала (ссылка)
    Ответ написан 04 нояб. 2021
    1 комментарий
    1 комментарий
  • Как сделать класс с методами добавляющим данные?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Это сочетание двух шаблонов проектирования - Builder + Fluent Interface. Описание и примеры реализаций:
    Builder
    Fluent Interface
    Ответ написан 04 нояб. 2021
    Комментировать
    Комментировать
  • Как структурно разложить разные Dockerfile для одного проекта?

    glaphire
    Daria Motorina @glaphire Куратор тега PHP
    PHP developer
    Dockerfile нужен только если основной образ нужно модифицировать, так достаточно в docker-compose.yml указать название основного образа и прописать пару настроек, если они изначально поддерживаются (имя юзера, пароль и т.п.). Мне например обычно нужно только для php-fpm Dockerfile прописать и иногда для mysql, остальные образы ставлю как есть
    Ответ написан 04 нояб. 2021
    2 комментария
    2 комментария
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • drygdryg
    Виктор Голованенко
    • 9 ответов
    • 0 вопросов
  • Dr. Bacon
    • 7 ответов
    • 0 вопросов
  • dimonchik2013
    Dimonchik
    • 7 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 6 ответов
    • 0 вопросов
  • ThunderCat
    ThunderCat
    • 6 ответов
    • 0 вопросов
  • PavelMos
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации