Как стать автором
Обновить
18
0
Ярушин Никита @Nikobraz

DevOps, СисАдмин, специалист по ИБ

Отправить сообщение

Полезные консольные Linux утилиты

Время на прочтение13 мин
Количество просмотров110K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Всего голосов 96: ↑92 и ↓4+110
Комментарии110

Устройство CPython. Доклад Яндекса

Время на прочтение21 мин
Количество просмотров33K
Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython.


— Если кратко, какой у нас будет план? Сначала мы поговорим о том, почему будем изучать именно Python. Затем посмотрим, как работает интерпретатор CPython более глубоко, как он управляет памятью, как устроена система типов в Python, на словари, генераторы и исключения. Я думаю, это займет примерно час.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+23
Комментарии1

Феномен. Цикл рассказов «Свойство слоя»

Время на прочтение3 мин
Количество просмотров3.5K


Список рассказов

Частный слой ac:mblab:000121358554
16:45 23 июня 2087 года

Профессор Лекс голосом активировал записывающего бота, тот бесшумно взлетел, разместившись в центре ярко освещенной лаборатории. Ученый дрожащими руками сложил все бумаги с записями в идеально ровную стопку, лежащую в центре стола, и обратился к испуганному молодому человеку, сидящему напротив.

— Это произошло на 3048 слое 20 лет назад. Вир с полным перекрытием объективной реальности, глухая стилизация под какой-то классический шутер от первого лица — банально и уныло. Переулок превратился в набор размытых текстур с низким разрешением и без какой-либо фактуры, об углы домов, казалось, можно порезаться. Обычая поделка увлекающегося древностью богатого гика, отдающего дань давно никому не нужным произведениям прошлого.
Потерпевшего звали Элрон Окс, и он стал частью этого переулка в самом прямом смысле — его тело было наполовину погружено в плоскость дома: бедро правой ноги, таз, живот, локоть левой руки утонули в реальной стене, которая скрывалась за стилизованной визуализацией слоя.
Элрон ничего не говорил, не реагировал на речь других, но активно пытался выбраться из топологической западни. Самое же поразительное в том, что в нулевом слое физический Элрон Окс был уже как 12 часов мертв, как и его аватары в остальных двадцати с половиной миллионах публичных виртуальных реальностях. Но не в слое 3048.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+9
Комментарии3

Джозеф Лесли Армстронг → Цитаты из выступлений

Время на прочтение15 мин
Количество просмотров2K
От переводчика: Джо Армстронг внес величайший вклад в становление Computer Science. Ниже предлагается перевод статьи из вики-цитатника, посвященной Джо.
Сто цитат Джозефа Лесли Армстронга
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

90+ полезных инструментов для Kubernetes: развертывание, управление, мониторинг, безопасность и не только

Время на прочтение15 мин
Количество просмотров18K

Осенью 2018 года мы опубликовали список из 25 полезных инструментов Kubernetes. С тех популярность платформы сильно выросла. Экосистема оркестрации контейнеров бурно развивается, можно найти вспомогательные инструменты практически для любой задачи.

Поэтому команда Kubernetes aaS от Mail.ru обновила и дополнила подборку. Предлагаем вашему вниманию список с почти сотней полезных инструментов, упрощающих жизнь тем, кто работает с Kubernetes.

Всего голосов 30: ↑30 и ↓0+30
Комментарии15

JUnit в GitLab CI с Kubernetes

Время на прочтение6 мин
Количество просмотров8.3K
Несмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним этот пробел!



Вводные


Для начала обозначу контекст:

  • Так как все наши приложения работают в Kubernetes, будет рассмотрен запуск тестов в соответствующей инфраструктуре.
  • Для сборки и деплоя мы используем werf (в смысле инфраструктурных компонентов это также автоматически означает, что задействован Helm).
  • В детали непосредственного создания тестов вдаваться не буду: в нашем случае клиент пишет тесты сам, а мы лишь обеспечиваем их запуск (и наличие соответствующего отчета в merge request'е).
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии2

Руководство по CI/CD в GitLab для (почти) абсолютного новичка

Время на прочтение13 мин
Количество просмотров339K

Или как обзавестись красивыми бейджиками для своего проекта за один вечер ненапряжного кодинга


Наверное, у каждого разработчика, имеющего хотя бы один пет-проект, в определённый момент возникает зуд на тему красивых бейджиков со статусами, покрытием кода, версиями пакетов в nuget… И меня этот зуд привёл к написанию этой статьи. В процессе подготовки к её написанию я обзавёлся вот такой красотой в одном из своих проектов:


результаты


В статье будет рассмотрена базовая настройка непрерывной интеграции и поставки для проекта библиотеки классов на .Net Core в GitLab, с публикацией документации в GitLab Pages и отправкой собранных пакетов в приватный фид в Azure DevOps.


В качестве среды разработки использовалась VS Code c расширением GitLab Workflow (для валидации файла настроек прямо из среды разработки).

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

Реверс-инжениринг драйверов USB-устройств на примере машинки на радиоуправлении

Время на прочтение10 мин
Количество просмотров54K
Перевод статьи DRIVE IT YOURSELF: USB CAR

image

Один из аргументов любителей Windows перед любителями Linux – недостаток драйверов для оборудования под эту ОС. С течением времени ситуация выправляется. Сейчас она уже гораздо лучше, чем 10 лет назад. Но иногда можно встретить какое-то устройство, которое не распознаётся вашим любимым дистрибутивом. Обычно это будет какая-нибудь USB-периферия.

Красота свободного софта в том, что эту проблему можно решить самостоятельно (если вы программист). Конечно, всё зависит от сложности оборудования. С трёхмерной веб-камерой у вас может и не получится – зато многие USB-устройства довольно просты, и вам не придётся нырять в глубины ядра или закапываться в С. В этом уроке мы с вами при помощи Python по шагам изготовим драйвер к игрушечной радиоуправляемой машинке.

Процесс по сути будет реверс-инженирингом. Сначала мы подробно изучим устройство, затем сохраним данные, которыми оно обменивается с драйвером в Windows, и попытаемся понять, что они означают. Для нетривиальных протоколов вам может потребоваться как опыт, так и удача.
Читать дальше →
Всего голосов 78: ↑70 и ↓8+62
Комментарии18

Пишем сервис одноразовых записок на Python

Время на прочтение7 мин
Количество просмотров11K

КДПВ


У некоторых людей возникает необходимость передать небольшие сообщения. Но как это сделать, если вы пользуетесь различными социальными сетями и мессенджерами, в безопасности передачи данных через которые вы сомневаетесь.


Некоторые люди для этого используют сервисы самоуничтожающихся шифрованных записок. Но тут встает вопрос можно ли доверять этим сервисам и действительно ли они уничтожают записки после прочтения.


Для решения этой проблемы мы напишем свой сервис самоуничтожающихся шифрованных записок на языке Python с использованием модуля cryptography и фреймворка Flask и развернем его на облачном сервисе Heroku.

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

Docker Tips: Очистите свою машину от хлама

Время на прочтение8 мин
Количество просмотров151K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Docker Tips: Clean Up Your Local Machine" автора Luc Juggery.


Сегодня мы поговорим о том, как Docker использует дисковое пространство хостовой машины, а также разберемся в том, как это пространство освободить от ошметков неиспользуемых образов и контейнеров.

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

Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight

Время на прочтение21 мин
Количество просмотров46K
image

Это телевизор с диагональю 50” и 37 RGB точками адаптивной фоновой подсветки по верхней и боковым сторонам экрана. Как сделать аналогичную адаптивную фоновую подсветку для любого экрана или ТВ — тема избитая, но вполне актуальная по ряду причин.

Во-первых, все меняется. Пару лет назад еще не было проекта, работающего без программных или аппаратных костылей. Во всяком случае мне не встречались такие публикации. Те, что описаны на просторах рунета – либо потеряли актуальность в связи с устареванием программных или аппаратных платформ, либо реализуют данную технологию только применительно к мониторам, подключенным к ПК.

Во-вторых, на рынке нет и не будет самсунгов, сони, элджи и прочих ТВ с поддержкой данной технологии, так как она запатентована на многие годы вперед компанией Philips. И наконец — все решения «из коробки», доступные на али и иже с ним – имеют ряд ограничений в гибкости настроек и адаптации к размеру кадра видеоконтента, корректировок цветовой гаммы и т. д, являясь при этом всего лишь аппаратным костылем, анализирующим внешний сигнал и работающий только на формирование подсветки.
Всего голосов 35: ↑35 и ↓0+35
Комментарии38

Redis Best Practices, часть 1

Время на прочтение12 мин
Количество просмотров30K
В серии из нескольких статей я приведу свой адаптированный перевод раздела Redis Best Practices с официального сайта «Redis Labs».
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Добавляем в Jupyter Notebooks красоту и интерактивность

Время на прочтение7 мин
Количество просмотров75K
Многие используют в своей работе Jupyter Notebooks. Но с ростом сложности проекта появляются проблемы. В блокноте появляются ячейки с красными пометками для самого себя «перед запуском укажи число...» или «задай количество итераций исходя из...». Какой-то откат к командной строке получается.

Да и вывод данных на экран не всегда воспринимается без пояснений сторонним человеком, который привык к красивым таблицам, картинкам и прочим современным элементам интерфейса.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+18
Комментарии11

Веб-приложение на Kotlin + Spring Boot + Vue.js (дополнение)

Время на прочтение31 мин
Количество просмотров8.6K
Добрый день, дорогие обитатели Хабра!

Как и следует из названия, данная статья является дополнением к написанной ранее Веб-приложение на Kotlin + Spring Boot + Vue.js, позволяющим усовершенствовать скелет будущего приложения и сделать удобнее работу с ним.
Усовершенствовать
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Разбор демки на 128 байт из архива 1997 года

Время на прочтение15 мин
Количество просмотров45K
Очень приятно осуществлять свои желания, особенно из далёкого прошлого, такого далёкого что уже и забыл что этого когда-то хотел. Я мало знаю о демосцене и уж точно никогда не следил ни за авторами ни за их работами, мне просто нравилось смотреть то что получалось. Иногда мне хотелось в этом разобраться, но тогда мне не хватало знаний и опыта, позже усидчивости, а потом и вовсе у меня пропал к этому интерес. Но недавно мой друг, с кем мы учились в то время и который поставлял нам все новинки, включая демки, с BBS и Fidonet, потому что у него чуть ли ни у единственного был и телефон и модем и компьютер одновременно, посетил CAFePARTY со своими работами, что заставило меня открыть архив моего первого компьютера, выбрать демку и разобраться.

pentagra.com

Объективно оценивая свои силы я взял 128 байтовое интро которое мне понравилось визуально. Файл pentagra.com за подписью Mcm, 128 байт, последнее изменение 24.09.1996 18:10:14, шестнадцатеричный дамп:

000000: b0 13 cd 10 68 00 a0 07 06 1f ac ba c8 03 ee 42
000010: b1 40 ee 40 6e 6e e2 fa b8 3f 3f bb 40 01 bf 40
000020: 05 57 b1 78 ab 03 fb e2 fb 5f b1 60 88 01 aa 03
000030: fb 03 fb e2 f7 b1 61 88 01 aa 2b fb 2b fb e2 f7
000040: bf d1 99 57 b1 78 ab 2b fb e2 fb 5f b1 8f f3 ab
000050: 81 fe 00 fa 73 12 ac 0a c0 74 0d 48 88 44 fe 88
000060: 04 88 40 ff 88 84 bf fe 03 f2 42 75 e3 e4 60 3c
000070: 01 75 a5 b8 03 00 cd 10 c3 00 00 00 00 4d 63 6d
Читать дальше →
Всего голосов 169: ↑169 и ↓0+169
Комментарии81

Бот для мониторинга веб-сервисов за полчаса: telegram + bash + cron

Время на прочтение8 мин
Количество просмотров41K


Иногда нужно быстро сделать мониторинг для нового сервиса, а готовой инфраструктуры/экспертизы под рукой нет. В этом гайде мы за полчаса реализуем инструмент для мониторинга любых веб-сервисов, используя только встроенные средства ubuntu: bash, cron и curl. Для доставки оповещений будем использовать telegram.

«Вишенкой на торте» будет эмоциональное вовлечение пользователей. Проверено на людях — работает.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии15

Kubernetes в переводе на детский

Время на прочтение2 мин
Количество просмотров38K


CNCF — созданная при фонде The Linux Foundation международная организация, занимающаяся развитием и продвижением Open Source технологий, которые используются для построения и функционирования инфраструктур, предназначенных для запуска облачных приложений. Но это вы, наверное, и так знаете. Зато, возможно, вы не знали, что CNCF «балуется» издательством книг. Более того, книг для детей. Более того, книг для детей про современные IT-технологии! Перед Новым годом нам попалась одна из них — «The Illustrated Children’s Guide to Kubernetes». И она оказалась такой милой, что даже самые суровые из наших коллег светлели взглядом, листая виртуальные странички.

«Ого, — подумали мы. — Это же так круто!» Конечно, круто: детская иллюстрированная книжка, где на примере историй смешных персонажей простыми словами объясняется, что такое Kubernetes. А ведь K8s — давным-давно уже вездесущее настоящее в мире IT… Вот мы и решили, что нашим детям пора бы знать, чем занимаются их родители. Решили — и перевели книгу на русский язык.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+28
Комментарии45

Как описать 100 Gitlab джоб в 100 строк на Jsonnet

Время на прочтение5 мин
Количество просмотров8.7K

В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml



Дано


Есть монорепа, в которой:


  • 10 Dockerfiles
  • 30 описанных деплоев
  • 3 окружения: devel, staging и production

Задача


Настроить пайплайн:


  • Сборка Docker-образов должна производиться по добавлении git-тэга с версией.
  • Каждая операция деплоя должна выполняться при пуше в ветку окружения и только по изменении файлов в конкретной директории
  • В каждом окружении установлен свой gitlab-runner с отдельным тэгом, который выполняет деплой только в своём окружении.
  • Не все приложения должны быть задеплоены в каждое из окружений, мы должны описать пайплайн так, чтобы иметь возможность делать исключения.
  • Некоторые деплойменты используют git submodule и должны запускаться с установленной переменной GIT_SUBMODULE_STRATEGY=normal

Описать это всё может показаться настоящим адом, но мы не отчаиваемся и вооружившись Jsonnet сделаем это легко и непринуждённо.

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

С чего начать новичку в Go

Время на прочтение2 мин
Количество просмотров160K
Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии50

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность