Я сегодня весь день провёл, пытаясь оживить абсолютно внезапно умерший 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
Очень рекомендую к ознакомлению, там достаточно хорошо описано какие именно операции имеет смысл заворачивать в файберы и как это правильно делать -
Время почитать
1. Книга о внутренностях пхп
2. Зачем изучать основы компиляторов
3. Всё что вы когда-либо напишите станет легаси
4. Практическое применение анонимных классов
5. О работе и преднамеренно наплевательском отношении к ней
6. О разнице ООП и ФП — раз и два
7. Как на самом деле работает форыч в пхп
8. Логирование медленных запросов в пхп
9. Корутины в пхп
10. Точно ли вам нужен graphql?
-
Дочитана книга Артура Пантелеева
Наконец-то дочитал "книгу" Артура Пантелеева из чата phpGeeks
Книгой это очень сложно, конечно, назвать — это, скорее, компиляция множества тем, которые должен знать и понимать мидл-разработчик
Иногда, там половина объявленых на странице тем вообще не раскрыта, но это очень хорошая отправная точка по бэкенду -
Новое начало
Сегодня первый день на новой работе
Ощущения крайне странные, потому что это первый раз, когда весь процесс трудоустройства удалённый — с утра приехал курьер, привёз все доки и ноутбук
Весь день знакомство с командой, различные встречи, выдача доступов
С завтрашнего дня уже начнутся задачи как только доступ в гит выдадут и начнётся веселье
Команда огромная — на дейлике было 25 человек 😀
В общем, пока что я прям очень доволенВот только когда подписывал доки мельком пробежался по NDA и не уверен, что много могу говорить теперь, вечером договор перечитать бы надо
-
Подборка статей про PHP
Ловите подборку статей и видосов по пхп, в которых разбираются углублённые вопросы:
1. Потребление памяти
2. Iterable и их перебор
3. Про сбор мусора (каюсь, сам пока не читал)
4. Школа магии
5. Увеличение скорости работы приложения
6. PHP JIT -
Оптимизация через прелоад цен
Ура! Вечер прошёл не зря
Перепробовав всё, я решил поставить везде таймеры и измерять суммарное время выполнения разных участков кода
Оказывается, всё это время 95% времени отнимали простые, блин, селекты в базуСделал прослойку, которая прелоадит все имеющиеся позиции прайса, чтобы делать выборку из памяти, а не из базы и всё полетело!
Да, первичный импорт, когда в базе пусто, всё ещё не сильно радует, но повторный, с малым количеством изменённых данных — просто ракета!
Можно спать спокойно, а завтра на дейлике кичиться своими достижениями😊
