Читать в телеге. Когда-то там были посты не только от меня.
Space от JetBrains
JetBrains в декабре анонсировала новый продукт - Space, который объединяет в себе очень многое: ведение задач, хостинг репозиториев, календари, встречи, отпуска и т.д. Я смотрел демо на ютубе и общался с тимлидом разработки. Идея сама по себе интересная, но реализация на мой взгляд странная. Это огромный монолит, который пишется с нуля. Т.е. это не интеграция продуктов JetBrains (youtrack, teamcity, upsource и т.п.), и не развитие их продукта Hub, а новый продукт. Соответственно, все есть, но в очень куцом варианте. Заменить какую-то часть на свою - фигушки. С API и интеграцией с другими вещами тоже мутно. Миграций с жиры/ютрека/гитлаба не написано. Ориентация на облачное решение, чтобы локально развертывать - не в приоритете. Лид говорил, что им много людей писали восхищенно. А на то, что на каком-нибудь хабре народ довольно резко критиковал, толком ничего не ответил. В общем, продукт довольно спорный.
Как говорят эксперты,
Список открытых файлов в системе
Как узнать, какой процесс занял порт на локалхосте, чтобы его убить?
Сколько файлов открыл и использует пользователь?
Для ответа на эти вопросы можно использовать утилиту lsof
, которая выводит список открытых файлов:
lsof -w -n -i tcp:8080
lsof -u user | wc -l
Отправка http-запросов в Intellij Idea
В Ultimate версии intellij есть возможность делать http-запросы прямо из scratch-файла. С шаблонированием и всем таким. Штука вроде как прикольная, но покупать ради этого Ultimate - имхо, оверкилл. Хотя если он и так уже есть - почему бы и нет? Подробнее: https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html.
А те, кто сидит на community, могут использовать старый добрый curl
или какой-нибудь плагин к браузеру - тысячи их.
Обработка json в командной строке
Кто-то (например, эластик) выплюнул в консоль километровый json и надо с ним что-то делать? jq
придет на помощь!
Это утилита командной строки для работы с json - фильтрация, извлечение данных и т.п. Порог вхождения высокий, но стоит того, если частый кейс.
Простейший вариант использования - красиво отформатировать json, который выплевывает curl
. Для этого надо просто добавить -s
в curl
, чтобы не писал проценты скачивания, и добавить | jq
.
Более сложный кейс - изменение данных. Например, я использовал jq
, чтобы среди тонны индексов elasticsearch найти те, у которых неправильный индекс. Выглядело это примерно так:
cat 2.json | jq -r 'keys[] as $k | "\($k) -> \(.[$k] | .mappings.post.properties."availability-feed".properties.attributes.properties."owner-id")"' | grep long
Дока по jq: https://stedolan.github.io/jq/tutorial/.
Боли docker
Докер - это не всегда клево. Когда-то в далеком 2015, мы в ОСУЗ тыкали его палкой… Но получилось не очень. С тех пор много воды утекло, и многие все в kubernetes держат, но боли от контейнеров все равно актуальны: https://habr.com/ru/post/467607/.
Сброс кэша памяти в линуксе
Если на линукс-серваке возникает вопрос - “кто же пожрал всю память?”, а в top
все скромно жрут по полмегабайта, то виновник - кэш. Его можно сбросить командой sync; echo 1 > /proc/sys/vm/drop_caches
Подробнее - тут.
Копирование пустой строки в Intellij Idea
Иногда довольно бесит, когда промазал мимо кнопки и скопировал пустую строку. Чтобы отключить это поведение (копирование пустой строки) в Intellij, можно залезть к ней в реестр настроек. Подробнее на stackoverflow.
Чтение тредов твиттера
В твитере люди иногда делают длинный тред с фактами (1 факт - 1 твит). Звучит по-уебански, но таки уж люди, они и в инстаграме статьи-лонгриды пишут. Так вот, есть специальный бот, чтобы из треда с сотней твитов сделать обычную статью: https://threadreaderapp.com/. Типа упоминаешь его твитом и он разворачивает тред.
Сравнение веток в Intellij Idea
Intellij Idea в новых версиях умеет сравнивать между собой ветки - причем как по логу коммитов, так и по файлам. Для этого надо в выборе ветки выбрать compare.
Свободное место на файловой системе
Чтобы не попасть в просак при работе со свободным местом в ФС и всем таким рекомендуется ознакомится со статьей. Можно для разогрева прочесть эту.
Даже если есть место на диске, новый файл может не создаться из-за того, что:
- кончились свободные inode
- кончились свободные inode для пользователя (для root есть специальный резерв)
- может быть коллизия хэша имени в индексе каталога (поэтому много файлов в одной папке хранить плохо)