Много лет назад завёл для себя правило: не писать на ЛОР из дома, только с работы. Иначе бы с него не вылезал.
И вот через столько лет организация закрывается. Выходное пособие получено, резюме разосланы, помещения освобождают сегодня. Будет ли на новом месте возможность столько бакланить и нецелевым образом использовать оборудование и время – не знаю. Поэтому до свидания!
В веб-интерфейсе есть длинный список. Разработчик решил, что если загружать его в listbox целиком, это сильно замедлит отзывчивость интерфейса, поэтому список показывается постранично. Можно по 25 строк, можно по 100, можно по 1000, и листать страницы кнопками.
В связи с этим возник вопрос. Есть ли специальные названия для положения списка при переключении на соседнюю страницу? В некоторых программах список каждый раз переключается в начало. В некоторых – сохраняется текущая позиция в списке. Логично было бы при переключении на предыдущую страницу перемещаться в начало списка, а на предыдущую – в конец. Так ведут себя текстовые редакторы и программы для просмотра текстов, но с таблицами я такого не припомню. Как это называется?
Можете сказать, соответствует ли такой JSON этой схеме?
Ответ: вроде, соответствует.
А причина ошибки, как выяснилось, в том, что curl --data ставит Content-type: application/x-www-form-urlencoded. Некоторым программам нужно явное -H 'Content-Type: application/json' или --json.
Есть сервер. На нём крутятся PostgreSQL, Mongo, самописные числодробильные микросервисы, Keycloak и ActiveMQ, через который они все координируются. Когда пользователей много, запускается много экземпляров микросервисов. Память подходит к концу.
Вопрос: угадайте, кого прибьют первым по OOM?
Ответ: ActiveMQ (1G), затем Keycloak (500M). Все остальные потребляют меньше памяти.
Есть сервер ActiveMQ Classic. На нём висит очередь из 1000 сообщений. Требуется просмотреть их и вдумчиво разобраться, отчего некоторые вводят сервер приложений в ступор.
Но одновременно нужно продолжать работать. Для этого надо срочно всё удалить.
Можно руками скопировать каждое сообщение из веб-интерфейса. Можно вдумчиво прочитать всю тысячу (в веб-интерфейсе они выглядят как длиииннная строка JSON) и скопировать только нужные. Можно слепить скрипт, чтобы скопировать все эти сообщения.
А существует ли готовый инструмент для этой цели? Прочитать все сообщения в заданной очереди (не отмечая их как доставленные, либо наоборот, отмечая) и сохранить в текстовый файл.
Чем вы пользуетесь для чтения книг со смартфона? Требуется масштабирование в широких пределах и поддержка основных форматов: FB2, EPUB, DJVU, PDF, CBZ. Совсем хорошо, если есть CBR, MOBI, AWX3 и reflow в PDF.
Ebook Droid ограничивает увеличение шрифта.
FBReader имеет неотключаемую фичу – добавляет дефис при переносе строк. Очень коварная вещь в математических формулах и текстах программ.
Есть программа, которая иногда ест много памяти. Потребление памяти ею можно отслеживать командой top -b -d60 -o +%MEM -c | grep memory_eater | grep -v grep > memory.log & disown Но иногда она быстро отрабатывает – за несколько минут, и файл остаётся пустой. В чём проблема? Слишком малый объём текста зависает в кеше и не сбрасывается? Можно ли как-то ускорить сбрасывание?
P.S. Если увеличить частоту опроса top до -d1 или -d0.1, всё важное фиксируется, но лог увеличивается на 2-3 порядка. Реально достаточно писать раз в минуту. Вопрос не в том, как отслеживать память, а как записать этот лог в файл.
Гружу большой архив файлов (копившийся лет 30) в веб-форму. Всё сразу нельзя – слишком большой, бэкэнд захлебнётся и упадёт (пробовали). Нужно по одной директории, которых десятки. После каждой приходит предупреждение:
Are you sure you want to upload all files from “<директория>”? Only do this if you trust the site.
Не то, чтобы мешает, но надоело. Как-то убрать это предупреждение можно? Firefox 129.
Сабж. Есть самописный клиент для работы с облаком Амазона, использующий рекомендованную Амазоном библиотеку. Когда пользователь прописал неверный сервер в клиенте, сервер возвращает статус 301. Обязан ли клиент автоматически перейти по указанному адресу?
При подключении к виндовой машине по RDP с использованием KRDC можно расшарить директорию на линуксовой машине (по умолчанию – /media) для обмена файлами через неё. Но с последними апдейтами Windows 11 и Server 2022 новым пользователям это по умолчанию запретили. Соединение устанавливается и тут же отваливается. (Без /media работает нормально.) Чтобы обмениваться файлами с линуксом, нужно включить какие-то политики.
Что именно нужно включить? Или хотя бы по каким словам гуглить?
Есть набор текстовых дат вида «14.05.24 17:22:40.653». Нужно вычислить разности по времени между ними и вывести в наглядном виде «сутки:часы:минуты:секунды.доли».
Преобразовать текст в дату несложно: datetime.datetime.strptime(date_time_string, '%d.%m.%y %H:%M:%S.%f')
В секунды с начала эпохи аналогично: datetime.datetime.strptime(date_time_string, '%d.%m.%y %H:%M:%S.%f').timestamp()
Но есть ли готовая функция, чтобы преобразовать разность в секундах в сутки-часы-минуты?
Что разность двух datetime.datetime имеет тип datetime.timedelta – знаю. Но datetime.timedelta не имеет готовых методов для выделения часов и минут.
CREATE COLLATION numeric (provider = icu, locale = 'en-u-kn-true');
SELECT * FROM files ORDER BY file COLLATE numeric;
Для sqlite3 пока нашёл только советы, как писать расширение на Си.
Или можно вычленить числа, преобразовать в числовой формат и сортировать по ним: SELECT * FROM files ORDER BY CAST(REPLACE(SUBSTR(file, 6), '.txt', '') AS int);
Есть закрыто-несвободная программа, которой можно управлять через REST API. Пробовал curl – POST не работал. Попробовал Insomnia (https://github.com/Kong/insomnia) – часть вариантов заработала. Судя по всему, принимает только если Content-Type установлен в «application/json», «application/xml», «text/plain». Проблема в том, что curl --data и curl --data-ascii задают «Content-Type: application/x-www-form-urlencoded», даже в случае curl --data-ascii @file.txt. То же для --data-binary, --data-raw и --data-urlencode.
Переопределять MIME-тип данных при помощи -H можно, но неудобно. Есть ли у curl команда, чтобы постить текстовые данные?
Или это похоже на баг в curl, и --data-ascii должно задавать другой тип?
Ответ: пока предложили --json, который подставляет в хедер "Content-Type: application/json" и "Accept: application/json"
На удалённой машине (подключаюсь по ssh, сессия часто рвётся) выполняется несколько экземпляров программы memory_eater. Требуется записать в файл, сколько какой потребляет памяти. Пока я пользуюсь командой:
Есть удалённая машина на сервере виртуальных машин VMWare. OpenSUSE Leap 15.5. Подключаюсь к ней через ssh, но соединение часто виснет и рвётся с ошибкой «client_loop: send disconnect: Broken pipe». Насколько я могу судить, это происходит от того, что сам собой меняется IP-адрес, каждые минут 5. Как это прекратить?
Погуглил – увидел упоминание увеличения DHCP lease. Дело в нём? Как увеличить это время? GUI отсутствует, yast только консольный, Wicked без NetworkManager.
И почему другие линуксы с DHCP в той же сети постоянно берут одинаковые IP?
Дополнение: Проблема возникает только когда в локальной сети более одной виртуальной машины из этого темплейта. MAC-адреса различаются. Имена машин различаются.
На сервере Windows Server 2022 открыта для всеобщего доступа без логина и пароля директория. \\192.168.3.4\shared Всё принадлежит пользователю Everyone с правами на чтение и запись.
Вопрос: как можно проверить её доступность из-под Линукса помимо sudo mount.cifs //192.168.3.4/shared/ ~/mountpoint/ ? С curl и mc ничего не получилось.
Ответ: Пока предложили smbclient (samba-client в RHEL, net-fs/samba[client] в Gentoo). Жду ответов от знатоков MC и cURL.