dd

Рубрика: Разработка

  • Я оказывается совсем забыл, каково это — иметь ПК

    Я сегодня весь день провёл, пытаясь оживить абсолютно внезапно умерший bluetooth. Просто вот прихожу с утра и ни мышка, ни клава не подключаются, а в настройках блютус даже включить нельзя — не видит железку.
    Я чего только не перепробовал, и биос обновил, и ОС другую накатил, и fastboot вырубил. А знаете как всё решилось? Надо просто было выключить комп, отсоединить питание, ЗАЖАТЬ НА 30 СЕКУНД КНОПКУ ВКЛЮЧЕНИЯ и снова включить комп
    Я просто в шоке, честно говоря, после мака, где, сука, всё работает из коробки
    Ну ничего, так если в целом посмотреть, то я доволен новым компом 😀

  • Время пришло

    Последнее время крайне остро встал вопрос нехватки оперативной памяти на моём макбуке. Свободной всегда было 1-2 гига, а своп доходил до 19 гигов из-за докера
    Решил наконец-то собрать себе обычную печку и переехать на линукс
    Камешек — Ryzen 5 7600, 32 оперативы, OS — PopOS
    Посмотрим, как пойдёт полёт в ближайшие пару недель, но пока что меня всё устраивает, всё прям очень плавно и круто
    Ну и конечно, куда же без rgb 😀

  • Что такое оптимизация?

    Вообще, когда пришла задача по оптимизации на 3 неделе работы в компании, то я сначала дико обрадовался, а потом стало страшно. Такие задачи на самом деле что значат? Что ближайшие 3-4 дня ты проведёшь за исследованием кодовой базы на предмет слабых мест, а затем должен будешь оптимизировать эти слабые места, да ещё и так, чтобы хуже не стало. Это по факту подразумевает глубокое понимание внутренней работы системы, чего у меня пока что нет и что придётся получать в экстренном порядке.

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

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

    Собственно, мы и подошли к вопросу поста и ответ вроде бы очевиден — снижение нагрузки на систему и снижение времени ответа апишки. Вот только путей достижения этой цели 2:
    1. реальная оптимизация — например, минимизация запросов к базе или переписывание целого класса, потому что вся логика помещается в 2 строки
    2. мнимая оптимизация — вынос второстепенных синхронных операций в асинх
    Мы пока что выбрали второй путь, так как он очевидно проще и его реальный прикладной эффект будет виден пользователям сразу
    А вот дальше оказывается на мне уже висят задачи по реальной оптимизации и там я по-полной смогу повес_ел_иться 😀

  • Fibers из PHP 8.1 на практике

    Совершенно случайно наткнулся на практический пример применения Fibers из php8.1
    Очень рекомендую к ознакомлению, там достаточно хорошо описано какие именно операции имеет смысл заворачивать в файберы и как это правильно делать

  • Дочитана книга Артура Пантелеева

    Наконец-то дочитал "книгу" Артура Пантелеева из чата phpGeeks
    Книгой это очень сложно, конечно, назвать — это, скорее, компиляция множества тем, которые должен знать и понимать мидл-разработчик
    Иногда, там половина объявленых на странице тем вообще не раскрыта, но это очень хорошая отправная точка по бэкенду

  • Новое начало

    Сегодня первый день на новой работе
    Ощущения крайне странные, потому что это первый раз, когда весь процесс трудоустройства удалённый — с утра приехал курьер, привёз все доки и ноутбук
    Весь день знакомство с командой, различные встречи, выдача доступов
    С завтрашнего дня уже начнутся задачи как только доступ в гит выдадут и начнётся веселье
    Команда огромная — на дейлике было 25 человек 😀
    В общем, пока что я прям очень доволен

    Вот только когда подписывал доки мельком пробежался по NDA и не уверен, что много могу говорить теперь, вечером договор перечитать бы надо

  • Подборка статей про PHP

    Ловите подборку статей и видосов по пхп, в которых разбираются углублённые вопросы:
    1. Потребление памяти
    2. Iterable и их перебор
    3. Про сбор мусора (каюсь, сам пока не читал)
    4. Школа магии
    5. Увеличение скорости работы приложения
    6. PHP JIT

  • Оптимизация через прелоад цен

    Ура! Вечер прошёл не зря

    Перепробовав всё, я решил поставить везде таймеры и измерять суммарное время выполнения разных участков кода
    Оказывается, всё это время 95% времени отнимали простые, блин, селекты в базу

    Сделал прослойку, которая прелоадит все имеющиеся позиции прайса, чтобы делать выборку из памяти, а не из базы и всё полетело!
    Да, первичный импорт, когда в базе пусто, всё ещё не сильно радует, но повторный, с малым количеством изменённых данных — просто ракета!
    Можно спать спокойно, а завтра на дейлике кичиться своими достижениями😊