Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Пятничный дебаг: насколько глубока кроличья нора?

Блог компании Selectel IT-инфраструктура *Python *Системное администрирование *

Привет, Хабр! Меня зовут Рома, и я системный администратор объектного хранилища Selectel. Когда меня спрашивают, за что я люблю свою работу, на ум приходит множество вещей. Но лучшее в жизни каждого инженера, как по мне, это столкновение с необъяснимым — ошибки и неполадки, находящиеся, казалось бы, на грани невозможного. И расследование таких случаев.

Этот текст — первый в цикле историй про эксплуатацию, дебаг и жизнь в обнимку с консолью и мануалом. Искушенного инженера они вряд ли удивят, но для начинающих могут оказаться полезными. Среди них есть короткие и длинные, линейные и запутанные. Постараюсь рассказывать поэтапно, чтобы вы пережили все с точки зрения участника и построили собственные гипотезы. Заодно поговорим об используемых инструментах и попробуем найти во всем этом какую-нибудь мораль.

Первая история больше философская, чем техническая. Про долгий поиск ошибки сначала в нашем мониторинге, а после – в софте, и все более глубоком погружении в слои абстракций. Бывало у вас такое, что глубина кроличьей норы с каждым шагом казалась все более неизмеримой? Под катом как раз про это.
Читать дальше →
Рейтинг 0
Просмотры 43
Комментарии 0

Новости

Не обновлениями едиными: как получить привилегии администратора домена без эксплуатации уязвимостей

Блог компании Инфосистемы Джет Информационная безопасность *Тестирование IT-систем *

Всем привет. Я чуть больше полутора лет занимаюсь внутренним пентестом. И вроде бы уже многое знаю, но всегда кажется, что этого недостаточно и хочется знать больше. Когда часто делаешь похожую работу, привыкаешь к одним и тем же действиям, инструментам, и нет идей, что бы еще попробовать. Иногда я черпаю вдохновение в отчетах своих коллег, но всегда интересно почитать о том, как работают и что используют другие команды. А раз это интересно мне, может, это интересно кому-то еще. Мы c командой решили тоже поделиться несколькими интересными киллчейнами. В этой статье я расскажу о последовательности шагов, которая привела к получению привилегий администратора домена в компании, в которой «почти все безопасно».

Подробнее — под катом.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 118
Комментарии 0

Django и PWA

Django *HTML *JavaScript *Python *
Из песочницы

Всем привет! Гуляя по Хабру, мне ни разу не доводилось обнаружить статью на тему Django + PWA. А ведь тема интересная (лично мне пришлось потратить 4 дня на то, чтобы с ней разобраться). И дабы сэкономить ваше время, в данной статье я попытался представить достаточно простой способ для создания прогрессивного веб приложения (PWA) вместе с Django без сторонних библиотек.

Читать далее
Рейтинг 0
Просмотры 65
Комментарии 1

Сразу три причины, из-за которых контроллер GD32F450 теряет UDP пакеты

Компьютерное железо Программирование микроконтроллеров *Системное программирование *
Периодически на Хабре проскакивают статьи, где проверяется двоичная совместимость контроллеров GD32 с их аналогом STM32. Так получилось, что нам довелось поймать пусть и не на двоичном уровне, а на уровне исходников, ситуацию, где одно и то же проявление проблемы (теряются сетевые пакеты) было вызвано не одной, не двумя, а сразу тремя причинами, из которых две оказались признаками несовместимости с STM32. Вот о том, как мы эти причины ловили, я и хочу сегодня рассказать. Будет детектив, аналогичный тому, какой я приводил в своей старенькой статье про поддельную «голубую пилюлю». Ну, и выводы, куда же без них. Они тоже будут.


Читать дальше →
Рейтинг 0
Просмотры 202
Комментарии 0

#2 Нейронные сети для начинающих. NumPy. MatplotLib. Операции с изображениями в OpenCV

Блог компании RUVDS.com Big Data *Python *Обработка изображений *
Tutorial
image
Это вторая статья из серии введения в «Нейронные сети для начинающих». Здесь и далее мы постараемся разобраться с таким понятием — как обработка графических данных, визуализация данных, а также на практике решим пару простых задач. Предыдущая статья — #1 Нейронные сети для начинающих. Решение задачи классификации Ирисов Фишера
Маленький совет из будущего: «В данной статье будут затронуты некоторые понятия, о которых я писал раньше, так что для полного понимания темы, советую прочитать и предыдущую статью»
На самом деле, на хабре было множество публикаций по этой теме, но все они говорят о разных вещах. Давайте разберёмся и соберём всё в одну кучку, для полноценного понимания картины мира.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 149
Комментарии 0

Управление транзакциями в спринге: @Transactional в деталях

Java *
Перевод

Вы можете использовать это руководство, чтобы получить простое и практическое понимание того, как работает управление транзакциями в Спринге (Spring) с помощью аннотации @Transacional .

Единственное необходимое условие? Вы должны иметь приблизительное представление об "Эйсид" (ACID), то есть о том, что такое транзакции баз данных и зачем их использовать. Также здесь не рассматриваются распределенные транзакции или реактивные транзакции, хотя общие принципы, с точки зрения Сприга всё же применимы.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 221
Комментарии 3

NFT-дипломы, денежные призы и трудоустройство: Ак Барс Банк продолжает прием заявок на первый всероссийский СХ-хакатон

Блог компании Ak Bars Digital Хакатоны Дизайн

В рамках форума Kazan Digital Week 2022 Ак Барс Банк организует первый всероссийский СХ-хакатон, финал которого состоится 10 сентября. Делимся подробностями — кто может стать участником, на какой приз можно рассчитывать и какие задачи предстоит решить.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Просмотры 63
Комментарии 0

showcert: проверяем сертификаты (без боли)

Информационная безопасность *Системное администрирование **nix *

Этот пост не про какой-то большой и сложный проект, а про очень маленькую, простую утилитку showcert, мой маленький самодельный велосипед, который экономит время и нервы. Она не для тех, кто не знает, про утилиту openssl, а для тех, кто все знает, но когда хочет проверить дату истечения почтового сертификата яндекса, немного гуглит, потом сноровисто пишет:

$echo | openssl s_client -connect mx.yandex.ru:25 -starttls smtp 2>&1 | openssl x509 -noout -dates
notBefore=Jul 25 11:16:45 2022 GMT
notAfter=Jan 22 20:59:59 2023 GMT

Когда я пишу эту строчку, мне приходят на ум много красочных многокоренных слов из флотской службы. А ведь я даже не служил... А теперь, представьте, что мы хотим не просто увидеть дату, а еще и как-то что-то сделать, если до истечения останется меньше N дней... как будет выглядеть команда?

А теперь сравните с:

$ showcert mx.yandex.ru:25
Names: mx.yandex.ru mx.yandex.net
notBefore: 2022-07-25 11:16:45 (15 days old)
notAfter: 2023-01-22 20:59:59 (165 days left)
Issuer: C=BE O=GlobalSign nv-sa CN=GlobalSign RSA OV SSL CA 2018

Ну разве не проще? showcertсам, по номеру порта догадывается, как начать STARTTLS (но конечно же, это можно переопределить через опцию -t / --starttls, например -t no или -t imap)

Предупредить о том, что сертификат скоро протухнет? Окей!

$ showcert mx.yandex.ru:25 -qw 200 || echo PROBLEM
mx.yandex.ru:25 expires in 165 days
PROBLEM

-q - тихий режим, не печатать лишнего, только предупреждения, -w 200 - завершаться с кодом 1, если до протухания меньше 200 дней. (-w без значения, проверка на 20 дней, без -w проверка валидности сегодня).

Проверки файлов:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 511
Комментарии 4

Заметка о Mapped Types и других полезных возможностях современного TypeScript

Блог компании Timeweb Cloud JavaScript *TypeScript *Разработка веб-сайтов *
Перевод


Привет, друзья!


Представляю вашему вниманию перевод 2 статей:


Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 396
Комментарии 0

Чиним баг в iOS Firebase RemoteConfig

Блог компании AliExpress Россия Разработка под iOS *Objective C *

Здравствуйте, меня зовут Артем Волков. Я iOS разработчик в компании "AliExpress Россия".

В этой статье расскажу историю одного бага, который мы встретили, работая c подом Remote Config из SDK Google Firebase для iOS, а также о том, как мы внесли свой небольшой вклад в его исправление.

Жизнь и приключения одного бага
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 221
Комментарии 1

Выпустили пар: мошенники используют метод Browser-in-the-Browser для кражи аккаунтов у игроков на Steam

Блог компании Group-IB Информационная безопасность *Реверс-инжиниринг *IT-компании

"Хочу рассказать историю, как я недавно лоханулся и потерял свой аккаунт Steam со 100+ играми и донатом на общую сумму больше 15 тыщ рублей". Или вот: "Несколько косарей в Стим вложено, и штук 20 игр, некоторые с дополнениями, на нем висит". Таких историй десятки, если не сотни. В июле специалисты Центра реагирования на инциденты информационной безопасности Group-IB (CERT-GIB 24/7) обнаружили более 150 мошеннических ресурсов под один из самых популярных у геймеров онлайн-сервисов — платформу Steam. Для кражи логинов-паролей от учетных записей злоумышленники используют новую фишинговую технику Browser-in-the-Browser — из-за нее фейковые страницы довольно легко спутать с легальным ресурсом. Иван Лебедев, руководитель группы по защите от фишинга CERT-GIB, и Дмитрий Ерошев, аналитик CERT-GIB, разбирались, как работает новая схема.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.7K
Комментарии 1

Чего хотят клиенты: SOC по-быстрому, собственные плейбуки и мониторинг без SIEM

Блог компании Ростелеком-Солар Информационная безопасность *

Мы продолжаем серию постов "Чего хотят клиенты". В них мы собрали самые популярные запросы, с которыми к нам, как к сервис-провайдеру ИБ, приходят различные компании, желающие подключить свою инфраструктуру к Security Operation Center (SOC). С какой бы стороны баррикад вы ни стояли (строитель SOC или заказчик), надеемся, наш опыт будет вам полезен. В этом посте речь пойдет про тех, кто не понаслышке знает, что такое SIEM, возможно работали в SOC и основная их цель – защита от киберугроз. Но они не так погружены в вопрос, что в итоге приводит к своеобразной постановке задач.

Чего же они хотят?
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 364
Комментарии 0

Оценка (не)покрытия кода по результатам динамического анализа

Блог компании Auriga Программирование *Системное программирование *Программирование микроконтроллеров *

Создание любого ПО сопровождается ошибками. Программисты ошибаются в выборе типов, ошибаются в реализации алгоритмов. Аналитики ошибаются в формулировке требований к ПО, и из этих ошибок рождаются ошибки в функционировании готового продукта. Любой (ну ладно, почти любой) производитель программных продуктов хочет обезопасить себя от ошибок в выпускаемом ПО. Для того чтобы избежать типовых ошибок придумали различные стандарты (типа MISRA C) и утилиты для анализа написанного кода (например, Lint). Но корректно написанный код - это половина проблемы, вторая половина - это насколько верно и полно код реализует требования к программе, и нет ли в программе того чего там быть не должно. Ответ на эти вопросы в свою очередь дает тестирование и проверка покрытия кода (например, gcov).

Иногда, в случае если программное обеспечение является частью системы, имеющей повышенные требования к безопасности, (например, в авионике), требуется доказать что весь код на уровне исполняемого образа программы корректен и не содержит «лишнего». Вот тут-то и приходится задействовать весь выше озвученный арсенал средств и засесть за анализ того что получилось из исходного кода.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 204
Комментарии 0

Пытаюсь устроиться на работу #1 Тестовое задание на pyZMQ

Python *
Из песочницы

Эта статья только первая из цикла "прохожу тестовые задания". Подобными заметками я хочу показать другим начинающим программистам с чем им придется столкнуться при собеседованиях на работу. Сам я изучаю питон(и не только) уже порядка 4 лет, но это только теория с практикой на своих пет проектах, что как оказалось с реальным программированием не имеет ничего общего. Итак хватит лирики.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 1.2K
Комментарии 1

Программирование для админа: какой язык выбрать?

Блог компании Southbridge Системное администрирование *Программирование *DevOps *

Эксперты Слёрма — Антон Черноусов, Павел Селиванов, Денис Наумов и Владислав Килин — собрались, чтобы обсудить, какой язык больше подходит для админов, инженеров и devops.

Дисклеймер. Этот материал не претендует на звание истины в последней инстанции. Статья создана на основе рабочего (и жизненного) опыта экспертов, которым они поделились на этом митапе.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 1.3K
Комментарии 5

Как один парень программистов учиться приучил

Учебный процесс в IT Управление персоналом *Карьера в IT-индустрии Читальный зал *

Помните одного парня? Нарисовался тут опять. Выглядел усталым и довольным. Сказал, что сделал реальное добро реальным людям. Причём, всем сразу, не исключая и себя любимого.

Если помните (или по диагонали перечитаете приведённую выше ссылку), парень этот был программистом на заводе, потом уполз в сторону решения бизнес-задач, и в итоге пришёл к выводу: работа программиста и «улучшителя бизнес-процессов» - очень похожи. Как я понял, с тех самых пор он таскается по разным бизнесам и чего-то там улучшает.

Он много чего наплёл, но одна тема меня прям сильно заинтересовала – обучение программистов, которое парень превратил в какой-то бешеный бурлящий поток. Я выпытал всё, что смог, и спешу рассказать вам.

Да, всё как всегда у того парня – не на десятки процентов, а в разы.

Читать далее
Всего голосов 15: ↑10 и ↓5 +5
Просмотры 3K
Комментарии 4

Теория графов как метод раннего выявления болезни Альцгеймера

Big Data *Научно-популярное Здоровье
Перевод

Древнеримский врач Гален был одним из первых, кто осознал, что именно мозг управляет моторными реакциями, когнитивными функциями и памятью. Но как именно мозг контролирует эти процессы? Со времен Галена этот вопрос был двигателем всей нейрофизиологии.

Начиная с работ Поля Брока, выполненных в 1800-х, функцию мозга описывали в терминах модульной сегментации: каждая зона мозга отвечает за уникальный набор поведений, действий и способностей. Такая позиция была сформулирована на материале наблюдений за пациентами, страдавшими от неврологических симптомов с последующим соотнесением этих симптомов с локализованными травмами мозга. Например, выяснилось, что зона Брока (область мозга, расположенная в задненижней части третьей лобной извилины левого полушария) отвечает за беглость речи. Открыли её, изучая двух субъектов; оба они проявляли ограниченную речевую способность и страдали от поражений головного мозга со схожей локализацией. Притом, что записки Брока оказались критически важны для установления связи между речью и конкретной зоной мозга, данная нейроанатомическая ассоциация между структурными и функциональными признаками не объясняет всей сложности отношений между работой мозга и поведением.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 984
Комментарии 0

Мечтают ли разработчики о декларативных тестах

.NET *C# *
Tutorial
image
Завершение работы над прошлой публикацией (читать которую для понимания этой совсем не обязательно) принесло мне не мир, но меч мечту о мире. Мире, в котором можно писать более выразительные строго типизированные тесты и вместо

[TestCase(typeof(Impl), "command")]
public void Test(Type impl, string cmd) =>
    ((I)Activator.CreateInstance(impl)).Do(cmd);

использовать

[TestCase<Impl>("command")]
public void Test<TImpl>(string cmd) where TImpl : I, new() =>
    new TImpl().Do(cmd);

И он оказался ближе, чем я мог подумать. А дальше пошло-поехало…
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 864
Комментарии 0