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

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

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

Terraform в России

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

Сейчас в связи с санкциями публичный Terraform репозиторий https://registry.terraform.io блокирует доступ из подсанкционных регионов.

Как я пришёл к тому, что сделал опенсорс зеркало.

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

Создание собственного ключа Android приложения

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

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

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

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

Как усилить безопасность Linux Debian с ispmanager для сайта на WordPress

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

Это первая статья из цикла, в котором расскажем о практических способах обеспечить безопасность сервера. В качестве примера — операционная система Linux Debian с панелью управления ispmanager 6 и сайт на WordPress.

В этой статье опишу:
▪️ Безопасность в процессе установки Debian
▪️ Защита загрузчика
▪️ Безопасность SSH
▪️ Настройка ядра Linux
▪️ Стратегия усиления безопасности аутентификации
▪️ Шифрование канала
▪️ Удаление ненужного ПО
▪️ Отключение ненужных сервисов
▪️ Настройка Firewall iptables
▪️ Конфигурация Fail2ban
▪️ Профилирование AppArmor

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

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

Путешествие в глубины сети с Shodan – поисковой системой, открывающей двери в неизведанное

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

Shodan — это инструмент для поиска подключенных к интернету устройств.
Для работы ему не нужны записи DNS. Вместо этого он самостоятельно отправляет запросы на различные сетевые узлы, проверяя каждый порт в разных диапазонах IP-адресов.

Благодаря этому Shodan позволяет узнать, какие устройства и операционные системы наиболее распространены, а также оценить уровень проникновения интернета в разные регионы мира.

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

Рассмотрим с вами два вопроса:

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

Введение в Router Cosmo — потрясающе быстрый шлюз с открытым исходным кодом Federation V1/V2

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

Предприятия имеют разнообразные зависимости от данных — внутренние микросервисы со специализированными доменами данных, устаревшие системы с собственными форматами данных, а также сторонние API и приложения SaaS со своими уникальными моделями данных и конечными точками.

TL;DR: разные (и часто устаревшие) технологии, которые нужно как-то объединить.

Federated GraphQL выделился как главное решение для такого объединения в сфере предприятий, и Router (или Gateway) в Federation действует как ключевой элемент, который связывает все эти разрозненные источники данных вместе, делая их доступными через единственный, согласованный API, сохраняя при этом адаптивность. Это, на самом деле, ключ к тому, как Federated GraphQL позволяет создавать масштабируемые и модульные архитектуры.

Сегодня мы рассмотрим высокопроизводительный, открытый, совместимый с Federation V1/V2 Router от WunderGraph Cosmo. Мы расскажем, что он делает, почему он так важен для стека Cosmo, как вы можете разместить его самостоятельно, а также настроить и расширить его с помощью своего собственного кода на Go.

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

Распознаем голосовые сообщения Telegram без СМС и пересылок ботам

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

Как всем известно, люди делятся на две категории:

1. Те, кто любит отправлять голосовые сообщения

2. Те, кто кто надеются, что для первых приготовлен отдельный котел

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

Читать далее
Всего голосов 31: ↑33.5 и ↓-2.5 +36
Комментарии 34

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

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

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

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

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

Создание сквозного конвейера MLOps с помощью Open-source инструментов

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.8K
MLOps с открытым исходным кодом: TL;DR
Эта статья служит целенаправленным руководством для специалистов по исследованию данных и инженеров ML, которые хотят перейти от экспериментального машинного обучения к готовым к производству конвейерам MLOps. Мы выявим ограничения традиционных систем ML и познакомим вас с основными инструментами с открытым исходным кодом, которые помогут вам создать более надежную, масштабируемую и поддерживаемую систему ML.

Среди обсуждаемых инструментов — Feast для управления функциями, MLflow для отслеживания и версионирования моделей, Seldon для развертывания моделей, Evidently для мониторинга в реальном времени и Kubeflow для оркестровки рабочих процессов.

Введение


Ландшафт машинного обучения постоянно меняется, и переход от разработки моделей к их внедрению в производство сопряжен с рядом трудностей. Хотя блокноты Jupyter и изолированные скрипты полезны для экспериментов, им часто не хватает функций, необходимых для системы производственного уровня. Эта статья призвана помочь вам справиться с этими проблемами, познакомив с концепцией MLOps и набором инструментов с открытым исходным кодом, которые могут облегчить создание готового к производству ML-конвейера.

Независимо от того, являетесь ли вы специалистом по исследованию данных, желающим перейти к производственной деятельности, или инженером ML, стремящимся оптимизировать существующие рабочие процессы, эта статья призвана дать целенаправленный обзор основных практик и инструментов MLOps.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 0

Вызволяем увлажнитель из сетей Xiaomi

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

Вероятно, вы слышали о том, что сухость воздуха — одна из частых причин появления статического электричества. Вот и я решил обзавестись увлажнителем, когда заметил, что кошка бьется током почти при каждом прикосновении. И нет, ее зовут не Электро или Шторм Спирит. Знакомьтесь, Амидала (в честь персонажа вселенной «Звездных войн»).

Время шло, потребности в комфортном использовании техники росли, а вот ее функциональность и стабильность оставляли желать лучшего. После очередного сбоя серверов Xiaomi в октябре прошлого года в голове окончательно закралась мысль: почему дом — мой, а серверы — чужие? Так я познакомился с Home Assistant, MQTT, zigbee2mqtt и селфхостингом, о чем расскажу под катом!
Читать дальше →
Всего голосов 66: ↑66 и ↓0 +66
Комментарии 46

Управление секретами при деплое в k8s

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 2.8K
Привет, Хабр!

В определенный момент мы приходим к понимаю, что процесс, который работает «хорошо», должен начать работать «правильно», особенно, если речь зашла про секреты приложений.

Дано: gitlab(onprem), облако (в моем случае Yandex Cloud), 10+ сервисов, которые нужно активно и часто деплоить (с возможностью быстрого наращивания кол-ва сервисов)

Требования к решению: деплои должны происходить без участия вмешательства инженера непосредственно в процессе деплоя, процесс прозрачен для разработчика и отвечает принятым в компании требованиям к качеству и безопасности.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 3

Хранение загружаемых пользователями файлов

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

В самом начале своей карьеры я имел честь в одно лицо разрабатывать проект, предназначенный для массового пользователя. Надо сказать, что почти все основополагающие принципы того, как провалить проект, были соблюдены, однако, он до сих пор жив. Проект был предназначен для принудительного использования определенной категорией работников бюджетной сферы. Технического задания, аналитики, дизайн-документов, макетов в Фигме, лавандового смузи, и прочих этих ваших модных слов, без которых N лет назад строили БАМ и Траннсиб не было от слова совсем. Зато, были процессы “в бумаге”, которые требовалось оцифровать. Поэтому то, что можно было принять за ТЗ, выглядело как “Эти (работники) заполняют вот это (бумаги) потом несут тем (проверяющим) а дальше все это хранится, сделай чтобы они с компьютера могли загрузить и отправить, у нас тут целый этаж бумагами занят, пожар начнется - всему хана”. Используя весь свой багаж знаний и опыта в построении высоконагруженных систем (на этом месте я отошел от написания статьи сначала проржаться а потом поплакать), я приступил к реализации.

Читать далее
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 2

Building firmware for Orange PI i96 (Orange PI 2g-iot) from scratch

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

Hellow my name is Dmitry. Once I bought "Orange PI i96", but unfortunately producer not update it firmvere very long. Last firmwere kernel version is 3.10.62 but kernel current at time this article writing (russian version) is 6.5.1. And so I decide build my own firmware from scratch, and do it from sourse completely.

Read more
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 6

Внутри S3. Доклад Яндекса

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

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

Так что сегодня я расскажу, как сделать так, чтобы ни один клиент, даже с самым неудобным паттерном нагрузки, не положил сервис.

Читать далее
Всего голосов 82: ↑81 и ↓1 +80
Комментарии 52

Развертывание защищенного dev кластера bitnami/kafka в k8s с помощью helm

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 3K

Всем привет. На этот раз хотел бы поделиться материалом, связанным непосредственно с devops работой. Недавно возникла потребность раскатить kafka кластер в kubernetes. В ходе развертывания возникло очень много сложностей, встречено множество подводных камней, и, естественно, в большинстве случаев рецепта в интернете найдено не было, поэтому приходилось искать решения самостоятельно методом проб и ошибок. Все, что здесь будет описано это сугубо личный опыт на одном из проектов. Сегодня я расскажу как с нуля раскатить dev контур bitnami/kafka кластера с помощью helm чартов, как обезопасить ваш кластер kafka и какие сложности могут вам встретиться.

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

Как работает etcd с Kubernetes и без него

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

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

Этот перевод статьи от learnk8s познакомит вас с принципами работы etcd, чтобы вы могли глубже понять внутреннюю работу Kubernetes и получить дополнительные инструменты для устранения неполадок в вашем кластере. Мы установим и сломаем кластер etcd с тремя нодами и узнаем, почему Kubernetes использует etcd в качестве базы данных.

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

Добавление GAL в учетные записи Carbonio

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

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

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

Фабрика должна расти: настраиваем игровой кластер Factorio

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

Игроки Factorio делятся на две группы. Одни отвергают игру в первые часы, а другие «залипают» на несколько суток и строят масштабные производственные линии. Несмотря на отличную оптимизацию игры, некоторые базы настолько велики, что даже самый мощный компьютер перестает справляться. Это, конечно, не устраивает тех, кто намерен продолжать играть.

Привет, Хабр! В этой статье покажу, как поднять выделенный игровой сервер Factorio. А также также поведаю о проекте, который соединяет отдельные серверы в один большой мир. Подробности под катом!
Читать дальше →
Всего голосов 48: ↑47 и ↓1 +46
Комментарии 33

Kerberos простыми словами

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

Несмотря на то, что уже существует множество различных статей про Kerberos, я всё‑таки решил написать ещё одну. Прежде всего эта статья написана для меня лично: я захотел обобщить знания, полученные в ходе изучения других статей, документации, а также в ходе практического использования Kerberos. Однако я также надеюсь, что статья будет полезна всем её читателям и кто‑то найдёт в ней новую и полезную информацию.

Данную статью я написал после того, как сделал собственную библиотеку, генерирующую сообщения протокола Kerberos, а также после того, как я протестировал «стандартный клиент» Kerberos в Windows — набор функций SSPI. Я научился тестировать произвольные конфигурации сервисов при всех возможных видах делегирования. Я нашёл способ, как выполнять пре‑аутентификацию в Windows как с применением имени пользователя и пароля, так и с помощью PKINIT. Я также сделал библиотеку, которая умещает «стандартный» код для запроса к SSPI в 3–5 строк вместо, скажем, 50-ти.

Хотя в названии статьи фигурирует «простыми словами» однако эта статья предполагает, что читатель уже имеет какое‑то представление о Kerberos.

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

Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная

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

Компания у нас на full-remote, поэтому заседание кружка параноиков мы проводим как-то так. Иногда под банджо в углу.

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

Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:

Макаки жуют провода. Цикады принимают кабели за ветки, и расковыривают их, чтобы отложить внутрь яйца. Акулы жуют трансатлантические кабели Google. А в топе источника проблем для крупной телекоммуникационной компании Level 3 Communications вообще были белки.

Короче, рано или поздно, кто-то обязательно что-то сломает, уронит, или зальет неверный конфиг в самый неподходящий момент. И вот тут появляется то, что отличает компании, которые успешно переживают фатальную аварию от тех, кто бегает кругами и пытается восстановить рассыпавшуюся инфраструктуру - DRP. Вот о том, как правильно написать Disaster Recovery Plan я сегодня вам и расскажу.

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

Как я «малину» собирал. История создания KVM на базе Raspberry Pi

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

Рассказываю, что такое KVM Over IP, как можно создать решение своими руками и выгодно ли это сегодня. Спойлер: в 2024 году смысла заморачиваться мало. И да, я понял это только в процессе. Но давайте обо всем по порядку... 

Читать о моем фиаско
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 26

Информация

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