Привет. Это небольшой пост-шпаргалка. В нём речь пойдёт о классах Illuminate\Support\{Collection, LazyCollection}.
Я обожаю коллекции Laravel. Они очень гибки и комфортны в использовании при обработке массивов данных. Однако это балует и расслабляет разработчика. Более того, вся философия Laravel и good practices вертятся вокруг гибкости и простоты написания кода. Всё это может плохо сказаться (и в итоге сказывается) на производительности бекенда.
Ниже рассмотрим несколько конкретных случаев, на которые следует обратить внимание.
Привет. Сегодня заметка о том, как я настроил бекапинг мобильных фоток. Механизм прост, обкатан и проверен месяцами работы, так что описываю как есть.
Всё базируется на нескольких простых вещах:
Syncthing;
inotify-tools;
демонизированный shell-скрипт.
На десктопе — Ubuntu, на смартфоне — Android. Базовые хотелки:
логирование;
конфигурирование;
копирование фоток из директории Syncthing в безопасное место;
обработка нескопированных вовремя фоток.
В итоге все фотки и видосики с мобилы будут сами лететь на комп, мы сможем смело чистить память смартфона от лишнего, а потом спокойно сортировать слитые фотки по своему фотоархиву на компе.
Привет. Вообще, я не хотел писать пост об этом сюда, потому что в сети уже навалом такого добра, повторяться не хочется. Да и в моём канале уже есть некоторые выкладки по хештегу #околоNAS. Там, скорее, поток мыслей и прикидки как бы сделать дома сервачок.
Но пока разбирался с сабжем, подумал — да чё нет-то? Возьму и запилю посты в блоге, с нормальной конкретикой. Я же пишу о том, как сам решаю свои проблемы, вот и будет кому-то ещё пища для размышлений. И себе будущему, чтобы не забыть.
Зачин, как я люблю, небольшой предысторией.
Я давно возжелал домой какой-нибудь сервачок. В сущности, варианта было два: Synology DS220+ или самосборка с авиты. Оба подхода валидны и жизнеспособны, однако мне хотелось гибкости, юзер-френдливости, кастомизируемости, да подешевше и чтоб компактно. Это, знаешь ли, сложно совместить.
Дома валялся еле живой ноутбук HP Pavilion G6, прикинул палец к носу, погонял думы… Однако, долго ли, коротко ли, купил я себе б/у системник Dexp Aquilon O111 (и это не опечатка, такой номер модели бы не только у ноутбука).
Зачем — рассказал здесь. Предполагаю когда-нибудь заменить его нормальным PCI-E или подвести витуху, а до тех пор сойдёт и он. На коробке заявлена поддержка Linux, ценник невысок, мои требования к нему пока тоже. Главное, чтобы он работал и была антенна.
Я не могу спокойно смотреть на USB wi-fi свистульки: на коробке заявляется до 600 Мбит/сек (чем, впрочем, формально не врут), но USB2.0 даже в режиме High-Speed не может пропускать выше 480. USB-не-3.* безальтернативно будет узким горлышком при передаче данных. Этот адаптер хотя бы пару стен пробьёт, а наносвистоперделки без антенн — это просто смешно.
Дома у меня почти все компы на убунтах, посему я ожидал некоторые приключения (можно сказать, знал на что шёл при покупке). И хотя они не были увлекательными, я их прошёл и ниже даю выкладки по результатам.
Этот способ у меня сработал на Ubuntu 22.* и 23.* с абсолютно разным железом, но на 24.04 пришлось вновь гуглить решение.
Как известно, NetBeans сам не умеет запускать консольные скрипты, которые находятся внутри контейнера. Здесь же я покажу как я решил эту проблему и теперь запускаю скрипты не из терминала, а одной кнопкой в гуйне. В целом, как показывает практика, решение работает исправно.
В прошлом посте я придумал простейший скрипт, который в этом немного помог. Вот его исходный вид: