Привет. Перед прочтением этой статьи настоятельно рекомендую надеть резиновые перчатки, респиратор и что-нибудь на глаза, чтобы не забрызгало.
Мы будем трогать постман.
Пользователь Postman каждый день
И здесь не будет скриншотов для кретинов о том, как нажимать кнопочки в его паршивой гуйне, чтобы экспортировать за раз целую 1 коллекцию или 1 запрос в curl. Мы же не животные.
Пост пропитан лютой ненавистью к этому ржавому глюкавому дерьмодемону.
Привет. Сегодня заметка о том, как я настроил бекапинг мобильных фоток. Механизм прост, обкатан и проверен месяцами работы, так что описываю как есть.
Всё базируется на нескольких простых вещах:
Syncthing;
inotify-tools;
демонизированный shell-скрипт.
На десктопе — Ubuntu, на смартфоне — Android. Базовые хотелки:
логирование;
конфигурирование;
копирование фоток из директории Syncthing в безопасное место;
обработка нескопированных вовремя фоток.
В итоге все фотки и видосики с мобилы будут сами лететь на комп, мы сможем смело чистить память смартфона от лишнего, а потом спокойно сортировать слитые фотки по своему фотоархиву на компе.
Как известно, NetBeans сам не умеет запускать консольные скрипты, которые находятся внутри контейнера. Здесь же я покажу как я решил эту проблему и теперь запускаю скрипты не из терминала, а одной кнопкой в гуйне. В целом, как показывает практика, решение работает исправно.
В прошлом посте я придумал простейший скрипт, который в этом немного помог. Вот его исходный вид:
Привет. Это здоровенный мануал-шпаргалка по настройке этой IDE для php-разработки. Здесь будет много текста и картинок.
Полагаю, он больше сгодится для российских и белоруских разработчиков, переходящих c PhpStorm, ибо есть повод. В этом контексте было решено построить себе запасной инструментарий. А ещё я всё-таки закрыл гештальт и познакомился с Netbeans, как давно хотел.
На деле эта IDE во многих отношениях проще шторма, но местами и переусложнена. Будь готов многого лишиться. Постараюсь раскрыть здесь это поподробнее. Поэтому статья иногда будет дополняться и корректироваться.
Версия Netbeans на сию секунду — 24.
В этой статье я установлю NB, настрою его, разверну тестовый проект с php8.3 и xdebug3 на контейнерах и настрою отладку php-скриптов в разных позах.
Я обкатал стек на двух ПК, так что сетап проверен.
При запуске программы через меню приложений возникает эта ошибка, программа не запускается.
Я встречал это на Oracle SQLDeveloper любой версии 20+, который устанавливался из официального rpm в среде Ubuntu + KDE с помощью sudo alien -dic. Ошибки не было в MATE. Может не встречаться в GNOME. Встретил только в KDE.
Ошибки нет, если запустить программу напрямую из терминала.
Ошибки нет, если запустить desktop-файл через gio launch.
Выдача прав a+x на desktop-файлы не помогает.
Запуск через kioclient5 exec прерывается ошибкой:
Неизвестная ошибка 100
execvp: Ошибка формата выполняемого файла
Отправьте сообщение об ошибке на https://bugs.kde.org
Сегодня 07.07.2022. Два дня назад я очень глупо и почти случайно потерял всё, что было на этом сервере. Бэкапы были только от мая — это лучше, чем ничего, однако регулярного резервирования не было. Тут либо жизнь меня ничему не учит, либо уже научила и я стал достаточно аккуратен, чтобы не ронять проды как слон в посудной лавке, позволив себе облениться ¯\_(ツ)_/¯
В общем, бекапы развернул, всё настроил; делал это в течение нескольких часов на протяжении двух дней. Жаль, я не помню что я мог или потерял окончательно, так что если не досчитаетесь каких-то постов — ну штош.
До этого я не парился с бекапами: ну есть же какие-то, сервак не шатаю, по счетам плачу сполна, чё ему будет-то? Вчера я психанул и забацал простой скрипт, который делает всё за меня.
В этот раз я поленился правильно, как должно: не хочешь заниматься рутиной — автоматизируй и не занимайся.
Поскольку проекты развёрнуты по-старинке, на сервере нет докеров или чего-то сложного, значит и решение элементарно: bash + mysqldump + gzip + rsync + crontab + запасной сервер.
В эту секунду, возможно, ты уже понял что к чему и пошёл прочь, ибо баян и уже даже твой дедушка так не делал, но мне на это покласть и для остальных я всё же дам некоторые вводные и приложу гист.
Привет. Я тут запилил простой скрипт для установки кастомного разрешения экрана на Ubuntu.
Однажды, я столкнулся с такой проблемой. Есть два 100% одинаковых монитора. Оба работают в максимальном разрешениии 1600×900. Оба подключены к родным видео-выходам на материнке. Однако один монитор подключен к D-Sub напрямую, а второй — через переходник HDMI <-> D-Sub. И картинка на втором по умолчанию всегда в 1920×1080, которое монитор героически сжимает в свои 1600×900 (и которое внезапно отсутствует в настройках). В результате на экране мелкое невнятное мыло, но судя по всему, картинка выдаётся в настоящем FullHD.
Ниже — получившийся скрипт. На самом деле, я уже не один год использовал его упрощённую версию для себя. Просто я причесал его, чтобы выложил в паблик. Всё работает хорошо. Тебе остаётся только выставить положения мониторов в настройках ОС (и там, кстати, появится новый недостающий режим). Скрипт можно использовать также и с одним монитором.
Привет. Я в свободное время для рабочих целей пишу один проект, который состоит из кучи bash-скриптов. Есть одна точка входа, которая из cli принимает аргументы. Этот скрипт подключает остальные куски функционала через source. В этих кусках описаны функции, которые должны обрабатывать разные аргументы, нужные только для чего-то конкретного.
В первой версии проекта я просто явно передавал $1, $2, $N сверху вниз, в другие функции. Это было топорным решением, и оно работало, потому что возможные аргументы и их порядок был известен и прост. Но эстетически это было отвратительно. Чтобы мне было приятно смотреть на код, нужно было сильно усложнить вообще всё, чтобы всё стало намного проще.
Итак, я должен принимать от пользователя разные аргументы в разные функции, при этом я хочу дать пользователю возможность передать на вход:
длинные аргументы без значений: ./script.sh --foo --bar
длинные аргументы со значениями: ./script.sh --foo=bar
короткие аргументы без значений: ./script.sh -a -b -c
короткие аргументы со значениями: ./script.sh -a avalue -b bvalue
комбинировать короткие любые короткие аргументы в одно слово: ./script.sh -abc bvalue
всё перечисленное выше — одновременно!
порядок аргументов не должен иметь значения
иметь доступ к любому из них откуда угодно в любой момент времени.