Недавно мне задали задачку, в обсуждении всё свелось к следующему: - есть объект, в нём есть методы. Каждый метод/ы требует загрузки какой-то логики в рантайме. Хотим точно знать - какие методы были вызваны, после в рантайме затребовать загрузки только нужной функциональности.
Рубрика «ненормальные решения»
Немного уличной магии, либо как статически определить вызывается ли функция
2021-10-02 в 8:58, admin, рубрики: c++, C++20, ненормальное, ненормальное программирование, ненормальные люди, ненормальные материалы, ненормальные решенияOrange Pi 2G-IOT: карта минного поля
2019-02-22 в 16:32, admin, рубрики: Orange Pi, бдсм, китайские товары, мазохизм, ненормальное программирование, ненормальные решения, одноплатники на linux, сборка из исходников, чяднт
Некоторое время назад мне предложили немного поработать с одноплатным ПК Orange Pi 2G-IOT (встроенный 2G и цена выглядят очень привлекательно). Прочитав пост об апельсиновом рае, я подумал, что без затруднений повторю этот путь, тем более, что с Linux я на «ты» (вернее, так я думал недели три назад) и уже имел опыт общения с Raspberry Pi 2 B+. На практике этот путь оказался намного длиннее. Создавалось ощущение, что наши китайские друзья намеренно создавали сложности (причём иногда с особым цинизмом). Если вы захотели сэкономить и купить эту плату, то сначала прочитайте этот пост и подумайте ещё раз.
По возможности, я постараюсь сдерживать эмоции или как минимум переводить их в юмор.
Итак, вот мне в руки попадает плата и SD карточка десятого класса. Поехали.
Читать полностью »
Мониторинг лог-журналов: Такой уязвимый лог или как подложить свинью коллегам
2016-08-19 в 17:54, admin, рубрики: fail2ban, анализ данных, Анализ и проектирование систем, включайте мозг, информационная безопасность, логирование, мониторинг журналов, ненормальные решения, Программирование, системное программированиеМониторинг или анализ лог-журналов, касается ли это темы безопасности, анализа нагрузки, или создания статистики и аналитики для продажника или кормежки какой-либо нейронной сети, часто связан со множеством проблем.
К сожалению часто связано это и с человеческим фактором, а именно с нежеланием или непониманием некоторых простых довольно вещей многими разработчиками программ, API и сервисов, логирующих в журнал ту самую, так необходимую для мониторинга информацию.
Ниже именно то, как это часто делается и почему так дальше жить нельзя. Мы поговорим про форматы логов, разберем пару примеров, напишем несколько регулярных выражений и т.д…
Дорогие коллеги, конечно же это ваше дело, как и что вы пишете в логи своей программы, однако задуматься только ли для себя вы это делаете, все же стоит… Возможно, кроме вас, на эту строчку сейчас с отчаяньем смотрит какой-нибудь пользователь вашей программы, а то и умный до нельзя, но матерящийся почем зря, бот.
Меня же написать этот пост, заставил очередной фэйл с непростым таким для анализа форматом лога, приведший к очередной "уязвимости", вплоть до написания готового эксплойта в процессе поиска.
И если я этой статьей сподвигну хоть одного разработчика задуматься, — это уже будет большое дело, и возможно, в следующий раз анализируя журналы, писаные его программой, его не помянут грязным словом, а напротив благодарно похвалят.
BTSync как средство бэкапа
2016-06-27 в 4:42, admin, рубрики: bittorent, BitTorrent Sync, btsync, бэкап, децентрализованные сети, ит-инфраструктура, ненормальные решения, необычные решения, резервное копирование, системное администрирование, хранение данныхДень добрый комрады. Спустя некоторое время, как я устроился системным администратором, я стал сталкиваться с такой бедой задачей:
Специфичный юзкейс, решаемый в данной статье
Подходит сотрудник с просьбой восстановить файл который вчера/сегодня/только-что удалили, а сейчас он кровь-из-носу понадобился. При этом дату создания файла он не помнит, а дату последнего изменения и знать не знает, ибо с файлом в разное время могли работать множество разных сотрудников. И восстановить нужно, разумеется, последнюю версию.
Либо файл вчера/сегодня/только-что случайно и фатально отредактировали/перезаписали. И восстановить нужно, соответственно, предпоследнюю версию.Итак, исходные данные:
- Имя файла и его адрес: известны хотя бы примерно
- Дата создания искомой версии файла: не известна
- Бэкап ежедневный, инкрементальный или равный ему по ресурсоёмкости. Полный и разностный не используются ввиду ограниченности объёмов дискового пространства в хранилище/приемнике бэкапов.