• Как скрыть лишние сетевые интерфейсы в Ubuntu

    Привет. Недавно я обновил Ubuntu 23.04 до 23.10, а по пути обновилась и KDE Plasma c 5.27.4 до 5.27.10. Помимо прочего, в системе установлен docker. И почти сразу начали мозолить глаза вот такие нотификации:

    Заглянув в список сетей, я обнаружил тучу каких-то «левых» интерфейсов:

    (далее…)
  • Как экспортировать коллекции из Postman и сконвертировать в http/curl/wget

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

    Мы будем трогать постман.

    Пользователь Postman каждый день

    И здесь не будет скриншотов для кретинов о том, как нажимать кнопочки в его паршивой гуйне, чтобы экспортировать за раз целую 1 коллекцию или 1 запрос в curl. Мы же не животные.

    Пост пропитан лютой ненавистью к этому ржавому глюкавому дерьмодемону.

    (далее…)
  • Деревья без рекурсии

    Привет. Статья расчитана на разработчика до мидла включительно, но в целом может оказаться полезной и другим. Так, для разминки.

    Ты наверняка знаешь что такое рекурсия. Она применяется в разных местах, но, как правило, это классические графовые алгоритмы (DFS, BFS, etc.), когда надо пройтись по веткам вширь, вглубь, туда, сюда и вообще. Однако рекурсия может обойтись дорого, учитывая, помимо прочего, ограничения стека и количество данных.

    Есть как минимум три относительно простые задачи, которые связаны с деревьями:

    • как узнать всех родителей некоего элемента в плоском связном списке (иными словами, восстановить иерархию без построения дерева; узнать путь до элемента);
    • как построить иерархическую структуру, имея на руках только плоский связный список его узлов;
    • как вывернуть эту иерархию обратно в плоский связный список.

    Возможно, ты удивишься, но для решения всех трёх задач рекурсия не нужна. Ниже будут их решения. Они элементарны, но неочевидны (хотя казалось бы).

    (далее…)
  • Быстродействие коллекций Laravel

    Photo by Bruno Guerrero on Unsplash

    Привет. Это небольшой пост-шпаргалка. В нём речь пойдёт о классах Illuminate\Support\{Collection, LazyCollection}.

    Я обожаю коллекции Laravel. Они очень гибки и комфортны в использовании при обработке массивов данных. Однако это балует и расслабляет разработчика. Более того, вся философия Laravel и good practices вертятся вокруг гибкости и простоты написания кода. Всё это может плохо сказаться (и в итоге сказывается) на производительности бекенда.

    Ниже рассмотрим несколько конкретных случаев, на которые следует обратить внимание.

    (далее…)
  • Резервное копирование фотографий со смартфона

    a person holding a smart phone in their hand
    Photo by Vitalii Khodzinskyi on Unsplash

    Привет. Сегодня заметка о том, как я настроил бекапинг мобильных фоток. Механизм прост, обкатан и проверен месяцами работы, так что описываю как есть.

    Всё базируется на нескольких простых вещах:

    • Syncthing;
    • inotify-tools;
    • демонизированный shell-скрипт.

    На десктопе — Ubuntu, на смартфоне — Android. Базовые хотелки:

    • логирование;
    • конфигурирование;
    • копирование фоток из директории Syncthing в безопасное место;
    • обработка нескопированных вовремя фоток.

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

    План понятен, погнали делать.

    (далее…)