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

Пользователь

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

[гайд] Как слушать аудиокниги и подкасты пока плаваешь | Обзор водонепроницаемых наушников SHOKZ OpenSwim Pro

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

Три месяца назад я, наконец, разобрался с вопросами:

1. Какие водонепроницаемые наушники выбрать для прослушивания аудио контента в бассейне (или на открытой воде) во время плавания.
2. Как подготовить аудиокнигу для прослушивания на автономном водонепроницаемом MP3 плеере, какие приложения использовать.
3. Как при прослушивании во время плавания избежать шума от пузырей воздуха и плеска воды.

Читать далее
Всего голосов 9: ↑3 и ↓6-3
Комментарии9

Настройка OpenVPN для CTF

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

Однажды была поставлена задача создать собственный стенд для проведения CTF-соревнований. Задачи были подготовлены в формате Docker-контейнеров, но для них была необходима сеть.

Возникает логичный вопрос «Зачем?». Сеть позволит выделить отдельный IP адрес каждой задаче. В принципе, конечно, можно обойтись и без сети, однако такой подход имеет несколько минусов, а именно:

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии4

Принтеры с СНПЧ — так ли они хороши?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6K

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

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии33

Zero Trust Network: какой CNI лучше и почему именно Calico

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

Привет! Я Максим Рязанцев, DevOps-инженер в AGIMA. Мы разрабатываем большие проекты для больших компаний — поэтому много внимания уделяем безопасности. Новости о новых утечках данных или взломах прилетают чуть ли не каждую неделю. Работать зачастую приходится с облачными технологиями. И всё это увеличивает паранойю: не хочется профакапиться. Бороться с паранойей помогает модель Zero Trust. Как мы с ней работает, подробно опишу в этой статье.

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

Разбираемся со сканерами в Linux: получение информации об устройстве и поиск подходящего драйвера

Уровень сложностиСредний
Время на прочтение61 мин
Количество просмотров4.1K

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

В первой части коснемся вопроса сбора информации об устройстве при помощи системных утилит, входящих в состав ОС, а также программ от разработчиков SANE. Расскажем, как физическое устройство (например, МФУ) представляется в ОС сразу и принтером, и сканером, и много ещё чем. Обязательно затронем тему дескрипторов и детально рассмотрим значение каждого из них. База, так сказать. Заглянем в типовой пакет проприетарного драйвера и на примерах покажем, как он должен выглядеть в идеальном современном мире. Глазами разработчиков SANE, конечно. Мы не будем с ними спорить.

Подключайте свои сканеры
Всего голосов 21: ↑20 и ↓1+23
Комментарии7

Часть 1. Елка с сурикатой или собираем свой мини-полигон

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров951

Привет, Хабр! Продолжая продвигать ИБ‑трек для начинающих специалистов, я решил вместе с вами построить свой собственный мини‑киберполигон. Ранее я уже упоминал киберполигоны, говорил о том, что они есть практически у всех, на них строятся соревнования, макетируются атаки, тестируются СЗИ и проводятся учения.

Сегодня мы «развернем елку» и «прикрутим к ней сурикату».

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии1

Памятка по работе с JSON в консоли Linux на примере api

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров2.6K

Язык разметки JSON используется в огромном количестве приложений и систем благодаря своей простоте, а также является стандартным форматом обмена данными между клиентом и сервером в RESTful API. Многие приложения и системы предоставляют интерфейс удаленного управления, который может использоваться как для получения информации (например, для передачи данных в систему мониторинга), так и для управления этой системой через другое приложение или скрипты. В данной статье на примере работы с одним сервисом через API разберемся, как обрабатывать данными в формате JSON через утилиту jq, а также расскажу про другие инструменты.

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

Пайплайны Gitlab CI: моя коллекция граблей

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров8.4K

Привет, Хабр! Я Евгений Малышев, SRE-инженер в Купере (так теперь называется СберМаркет). Моя основная задача — это надежная работа сервисов фронтенда, и немалую роль в этом играют правильно построенные пайплайны CI/CD. В этом нам помогает Gitlab CI. В компании мы широко используем этот инструмент для создания общих шаблонов для сервисов на различных языках. На уровне отдельного репозитория легко расширить или настроить шаблонные джобы и добавить свои.

До этого у меня был опыт с Jenkins и Azure Devops, так что Gitlab CI мне показался довольно простым: есть стадии, есть правила запуска джоб с shell-подобным синтаксисом, да и скрипты джоб тоже используют bash-интерпретатор. Но в процессе близкого знакомства не раз возникали ситуации, когда поднимается то одна бровь, то обе, а то и руки в праведном гневе. Заходите посмотреть, какую коллекцию граблей собрал я.

Весь код с примерами граблей можно посмотреть в репозитории.

Пройтись по граблям
Всего голосов 27: ↑22 и ↓5+22
Комментарии9

Домашний сервер на базе Proxmox

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров29K

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps‑инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии.

И здесь сразу появляется главная проблема — для развития DevOps нужна среда, где можно запускать ПО для исследования. Разработчикам проще: открыл документацию, скачал IDE, начал пробовать и изучать новую технологию. А вот DevOps‑инженеру одной только IDE будет мало, так как часть его работы как минимум завязана на Linux серверах. Поэтому важно не просто знать, как использовать готовые решения, но и понимать, как они функционируют на уровне инфраструктуры.

Чтобы получить это понимание, нужно уметь разворачивать и настраивать серверы самостоятельно. В этом поможет работа с домашним сервером. Она позволит глубже погрузиться в процессы, увидеть, как все устроено изнутри, и набраться практического опыта для решения реальных задач. На мой взгляд, такой подход гораздо эффективнее, чем просто взаимодействие с облачными сервисами.

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

Читать далее
Всего голосов 53: ↑51 и ↓2+57
Комментарии129

Как я запустил Linux с Google Drive

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров19K

Я грешен: во мне есть дух соперничества. Когда я услышал, что мой друг заставил Linux загружаться с NFS, мне обязательно нужно было его превзойти. Я обязан был доказать, что могу сделать что-то сложнее, лучше, быстрее, сильнее [прим. пер.: в оригинале отсылка к композиции Daft Punk «Harder, Better, Faster, Stronger»].

Как и все хорошие проекты, этот начался с идеи.

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

На грани безумия мой утомлённый мозг придумал мой magnum opus: запуск Linux с рута Google Drive.

▍ Но как?


Я хотел обеспечить автономность системы, поэтому не мог использовать в качестве «помощника» вторую машину. Мой разум сразу же вспомнил FUSE — программу, работающую драйвером файловой системы в пользовательском пространстве (с поддержкой со стороны ядра).

Мне достаточно было установить программы FUSE в initramfs ядра Linux и сконфигурировать сеть. В этом ведь не должно быть ничего сложного, так?
Читать дальше →
Всего голосов 50: ↑49 и ↓1+66
Комментарии6

Публикация локального сервера из дома в интернет

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров44K

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Всего голосов 57: ↑55 и ↓2+62
Комментарии97

Миграция в облако быстро и без ошибок. Часть 2: миграция баз данных и объектных хранилищ S3

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

Миграция баз данных - это процесс переноса данных из одного хранилища в другое с минимальным или отсутствующим воздействием на работу организации. Она может быть необходима при изменении поставщика услуг, обновлении аппаратного или программного обеспечения, объединении баз данных или просто для улучшения производительности и безопасности данных. Миграция баз данных требует тщательного планирования, тестирования и выполнения, чтобы избежать потери данных, ошибок в структуре данных или проблем совместимости. Важно учитывать особенности каждой базы данных и выбрать подходящий метод миграции для сохранения целостности и безопасности информации.

Читать далее
Всего голосов 15: ↑14 и ↓1+20
Комментарии3

Git. Скачем между ветками как древесные лягушки

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров22K

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

Читать далее
Всего голосов 86: ↑86 и ↓0+102
Комментарии71

В чем силиум, брат? Обзор ключевых фишек Cilium и его преимущества на фоне других CNI-проектов

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров3.8K

Привет! Меня зовут Даниил, я DevOps-инженер в KTS.

Сегодня я расскажу о Cilium – опенсорсном CNI-плагине для Kubernetes с технологией eBPF под капотом.

Помимо CNI, Cilium предоставляет множество фич, которые также используют eBPF и в совокупности покрывают почти весь нетворкинг в Kubernetes. Их я и рассмотрю в этой статье, попутно описав свои впечатления и трудности, с которыми пришлось столкнуться.

Читать далее
Всего голосов 52: ↑52 и ↓0+54
Комментарии10

Настройка Git сервера с нуля

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров11K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее
Всего голосов 27: ↑24 и ↓3+23
Комментарии21

Книжная полка разработчика в эпоху интернета и искусственного интеллекта

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров11K

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

Однако, на мой взгляд, книги всё ещё остаются важным и незаменимым инструментом для изучения программирования, особенно для новичков. В этой статье я, Бартенев Евгений, автор и техлид курсов «Python-разработчик» в Яндекс Практикуме, расскажу, почему я так считаю. А также поделюсь своей подборкой книг как для начинающих разработчиков, так и для тех, кто уже пишет код не первый день.

Читать далее
Всего голосов 14: ↑13 и ↓1+14
Комментарии18

Я тебя с вертухи сломаю, если ещё раз заговоришь об ИИ

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров48K

Последние инновации в сфере ИИ, наиболее примечательными из которых стали проекты наподобие GPT-4, очевидно, могут иметь далеко идущие последствия для общества: от утопического избавления от монотонного труда до антиутопического ущерба для работы художников в капиталистическом обществе, а также до экзистенциальных угроз самому человечеству.

Лично я получил формальное образование дата-саентиста, даже выиграв в высококонкурентном конкурсе по машинному обучению в одном из лучших университетов Австралии и написав магистерскую, для которой создал в MATLAB с нуля собственные библиотеки. Я не гений в этой сфере, но, очевидно, лучше большинства конкурентов, то есть практиков вроде меня; я не могу, сидя в пещере, создавать собственные библиотеки на C, но умею читать учебники, реализовывать готовые решения на языках высокого уровня и использовать библиотеки, написанные элитными организациями.

Поэтому с глубочайшим сожалением должен объявить, что следующий человек, который начнёт говорить мне о реализации ИИ, получит от меня сеанс живительных процедур над позвоночником; иными словами, я сломаю ему нафиг шею. Мне очень-очень жаль.

Читать далее
Всего голосов 203: ↑185 и ↓18+202
Комментарии215

Пишем кастомный Plugin SonarQube

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.3K

Привет всем! Недавно я решил поэкспериментировать с SonarQube и создать свой собственный кастомный плагин для проверки кода на соответствие моим правилам разработки. В этой статье я поделюсь с вами своим опытом и покажу, как вы тоже можете создать такой плагин своими руками.

Читать далее...
Всего голосов 7: ↑7 и ↓0+8
Комментарии0

Описание внутреннего git протокола

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.9K

Одним из важным инструментом разработчика, в не зависимости от языка (и религиозных убеждений), является система контроля версий (VCS). И практически промышленным стандартом стала такая распределенная система как GIT. В повседневной работе мы (разработчики, DevOps инженеры, технические писатели и все причастные) используем ее чтобы нести людям добро и свет объединять усилия команд в работе над нашими проектами. И все давно уже выучили «на зубок» основные команды (если не выучили то бегом учить, тут есть отличная книжка) и превратили в рутину то что совсем не давно (олды тут?) казалось гениальным, сложным, а кому то магическим. А современные IDE еще больше нам упростили жизнь, спрятав от нас командную строку и git команды, заменив на возможность кликать мышкой. Но постойте, разве вам в детстве не было интересно понять как та или иная игрушка устроена внутри, как работает холодильник или мотор в папиных жигулях (олды все же тут?)? Так вот и мне стало интересно заглянуть под капот GITу. Конечно как и с любым сложным механизмом уровень этого «заглядывания» под капот может быть разным, кому то будет достаточно увидеть крышку мотора и отверстие куда лить незамерзайку, а кому то «заглянуть под капот» это дойти до марки стали используемой для изготовления той или иной детали жигулей. Поэтому давайте сразу обозначим уровень нашего погружения в этой статье. В статье мы рассмотрим в деталях что происходит когда мы делаем привычные нам «git clone/push», посмотрим как этот процесс устроен и какие есть в нем возможности. Сущности и процессы, которые конечно же останутся за рамками этого повествования, можно будет самостоятельно найти (ссылку я указал выше), ибо охватить такую обширную тему как Git, а тем более его подкапотное пространство, не представляется возможным за раз. Так что все кому интересно прошу под кат.

Читать далее
Всего голосов 18: ↑14 и ↓4+16
Комментарии4

Зачем делать прожорливый софт: принципы reconciliation loop (Привет, K8s!)

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров6.8K

Привет, Хабр! Меня зовут Георгий Меликов, я из VK Cloud и руковожу там инфраструктурной разработкой (IaaS) облака, где мы создаём SDN (Software Defined Networks) — программно определяемые сети; SDS (Software Defined Storages) — программно определяемые хранилища; и другие решения.

А ещё на досуге я — контрибьютор файловой системы OpenZFS с 2016 года.

В этой статье поговорим о наших подходах к разработке на примере создания нашего SDN. Мы ставим перед собой несколько целей:

1) Разрабатывать быстро, чтобы итерации были явно очерченными  и понятными. Хотим, чтобы у нас вырабатывался дофамин от закрытия спринтов, и было понятно, как жить дальше.

2) Эксплуатировать системы без людей — полностью автоматически.

3) Использовать принцип «Дизайн на отказ». Система должна уметь переживать любой возможный сбой и проблему, т.е.обладать так называемым качеством самовосстановления (self-healing).

Предлагаю пройтись эволюционно от простого примера "облака на минималках" до нашей production среды на несколько ЦОДов, собрав по пути проблемы из нашей реальной жизни.

Читать далее
Всего голосов 29: ↑29 и ↓0+38
Комментарии2
1
23 ...

Информация

В рейтинге
4 678-й
Зарегистрирован
Активность