Search
Write a publication
Pull to refresh
0
@lektor32read⁠-⁠only

User

Send message

Тестирование собственного NAS. Какие тесты нужны?

Level of difficultyEasy
Reading time13 min
Views12K

К сожалению любая разработка, даже если она ведётся просто по фану, рано или поздно сталкивается с необходимостью формализовать процессы и подходы. С этой проблемой столкнулись и мы. Сравнение производительности уже трёх прототипов вылилось в трату времени, громадные полотна обсуждений, споров, попыток унифицировать тесты и конфигурации стендов. А где унификация тестов, там и их автоматизация. В данной серии статей мы этим и займёмся!

Читать далее

Тестирование собственного NAS. Часть 2. База

Reading time14 min
Views6.1K

В предыдущей статье мы формулировали цели и составляли список тестов для автоматизации. Далее в работе QA обычно следует разработка базовых тестов и обвязки для них, чем мы в этой статье и займёмся. Полный код проекта лежит на гитхаб и приводить его в статье мы не будем.

Дисклеймер! Это не новость, не туториал и не энциклопедическая заметка, не аккуратная статья со схемами, графиками и выверенной структурой. Дело в том, что проект NAS мы делаем по фану и в свободное от основной работы время. Как следствие, ресурсов на разработку не много, а энтузиазм и внутренняя дисциплина не всесильны. Ответственность перед аудиторией Хабра подталкивает что-то делать, перепроверять свои идеи, избегать халтуры, проводить ревью результатов работы, да и просто глубже вникать в суть.

По этим причинам мы попробуем вести на Хабре дневник разработки. Может кто-то почерпнёт тут идеи для своих проектов, а мы в свою очередь сумеем раньше прислушаться к мнению аудитории и улучшим свои решения.

Читать далее

Облачная кухня: готовим данные для мониторинга с помощью vCloud API и скороварки

Reading time28 min
Views5.7K

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

Читать далее

От Kubernetes в мечтах к Kubernetes в проде. Часть 2: о Kubernetes

Reading time12 min
Views6K

В серии статей по теме DevOps мы рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В первой части мы остановились на основных предпосылках внедрения и выбранном подходе. В этой статье вместе с  Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассмотрим подробнее фундамент нашей инфраструктуры — Kubernetes. 

Разумеется, статей об этом оркестраторе огромное множество, и можно на протяжении всей карьеры узнавать о нем что-то новое. Сразу уточним — в этой части мы не планируем копать глубоко. Попытаемся дать основы, описать Kubernetes так, чтобы сложилось базовое представление об этом инструменте. 

Читать далее

От Kubernetes в мечтах к Kubernetes в проде: как построить инфраструктуру для деплоя. Часть 1

Reading time8 min
Views8.5K

Не так давно мы в департаменте информационных систем (далее – ДИС) ИТМО начали выстраивать новую инфраструктуру для деплоя наших проектов. Образовательным организациям обычно с бюрократической точки зрения сложно прийти к масштабным внедрениям. Нам повезло ― мы смогли путем проб и ошибок выбрать удобные проверенные технологии и реализовать единую среду, которая задала формат взаимодействия между администраторами и разработчиками.

В общей сложности подбор инструментов и их внедрение заняли полтора года. Конечно, иногда был непросто: наступали на “грабли” и возвращались, чтобы выбрать более удачный путь. И это несмотря на то, что в общих чертах было изначально понятно, куда двигаться.

Проанализировав свой опыт, мы решили поделиться основными предпосылками и выводами. Хочется надеяться, что это облегчит внедрение тем, кто пойдет аналогичной дорогой.

В рамках университетского блога мы вводим новую рубрику по DevOps, в которой Lead DevOps инженер ДИС Михаил Рыбкин расскажет, как вместе с командой внедрил платформу деплоя для разработчиков.

Читать далее

Автоматизация развертывания стенда Kubernetes

Level of difficultyEasy
Reading time22 min
Views9.1K

Автоматизация развертывания стенда Kubernetes

Что бывает когда стандартное и самое распространённое решение по изучению kubernetes по каким то причинам даёт осечку на твоей рабочей машине?

Ты начинаешь пилить свой велосипед конечно! Вот и я напилил. и он даже катается!)

Читать далее

Как с помощью практики на LeetCode я получил несколько офферов

Level of difficultyEasy
Reading time4 min
Views56K

После рассказа о том, как я получил работу в Amazon, в этом посте на reddit мне задали множество вопросов о том, как мне помог LeetCode в подготовке к собеседованиям.

В статье я отвечу на эти вопросы.

Сколько времени это заняло?

Я начал готовиться за 2-3 месяца до собеседований в BigTech. В то время я тратил по 2-3 часа в день на подготовку.

Читать далее

Настраиваем Syncthing. Синяя изолента в мелком бизнесе и дома

Reading time4 min
Views148K
image

image
У меня тут внезапно завалялся гайд по настройке syncthing. Я уверен, что многим это может пригодиться.

Про революцию в дистрибуции файлов, которую совершил torrent-протокол рассказывать излишне. Одна проблема была у классических версии технологии — статичность. Если данные в каталоге изменялись, приходилось заново создавать и передавать всем новый torrent-файл. И вдруг, внезапно появляется BitTorrentSync. Наступает всеобщее счастье, теперь можно синхронизировать целые массивы изменяющихся данных. Однако, спустя время проприетарность софта выливается в сильное урезание функциональности, привязку к своим серверам и довольно агрессивную монетизацию. Вот тут и выходит на сцену идеологически кошерный свободный преемник — Syncthing.
Читать дальше →

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Reading time18 min
Views453K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →

Воспитание Obsidian — вашего персонального информационного менеджера

Reading time5 min
Views138K


Методик повышения личной эффективности хоть пруд пруди. Как по мне, основная проблема с ними в том, что нужно работать самому. Совершенно нормальное стремление — избежать приложения усилий. Пускай хорошая методика и есть тот рычаг, коим обещают сдвинуть Землю, но физика знает, что всю-всю работу делать всё равно нам самим. Основной вопрос, терзавший меня в вопросе выбора персонального информационного менеджера заключался в том, что он будет делать вместо меня. Задача была не самая лёгкая. За короткий срок разобраться в новой области — организовать конспекты, классифицировать справочники и литературу по теме. Море открытых вкладок браузера (всё очень нужное, оно не должно скрыться из глаз), pdf-файлы, заботливо присланные новыми коллегами… С этим всем в голове я познакомился с программой Obsidian, которая пообещала стать A second brain, for you, forever.

Читать дальше →

Понятные Terraform-проекты

Level of difficultyEasy
Reading time6 min
Views6K

Код Terraform является декларативным. Мы используем его, чтобы определить, что мы хотим получить от наших облачных провайдеров. Если перевести этот код на простой язык, то он будет выглядеть как подробный список покупок:

Дай мне частную виртуальную сеть с базой данных и кластером kubernetes. Кластер должен иметь некоторое количество узлов, и все они должны использовать определенный тип CPU. База данных должна быть расположена именно здесь, и она должна иметь возможность хранить определенное количество гигабайт…

Цель этой статьи — рассказать о том, как мы в Bulder Bank подходим к проблеме написания понятного кода Terraform.

Читать далее

Готовим тукана в контейнере, или стенд RuBackup 2.0

Level of difficultyEasy
Reading time4 min
Views6.8K

Данная статья будет полезна людям, которые взаимодействуют с RuBackup, решая рабочие задачи, или просто интересуются техническими новинками в сфере бэкапирования. Здесь представлена информация, как быстро и без лишних усилий раскатать демонстрационный стенд RuBackup 2.0.

Читать далее

Учимся создавать и настраивать Jenkins Jobs

Reading time6 min
Views21K

Jenkins CI позволяет разработчикам автоматизировать создание, тестирование и развёртывание кода. Кроме того, он оттачивает возможности для обработки любой сборки или непрерывной интеграции. Jenkins Jobs фокусируется на непрерывном создании и тестировании кода, чтобы любые внесённые изменения легко интегрировались в сборку. В этой статье мы посмотрим на Jenkins в действии — разберём, как создавать и настраивать Jenkins Jobs. 

Читать далее

Автоматизируйте всё с помощью Ansible

Reading time7 min
Views19K

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

В этом посте мы рассмотрим, как Ansible может помочь вам автоматизировать всё в вашей инфраструктуре.

Читать далее

Дорожная карта DevOps: от новичка до эксперта

Level of difficultyEasy
Reading time6 min
Views53K
image

Медианная зарплата DevOps-инженеров в России — 235 000 руб. Выглядит заманчиво, но порог входа в профессию высокий. Чтобы стать экспертом в области DevOps, нужно получить опыт работы с Linux и облачными платформами, выучить языки программирования, освоить инструменты автоматизации и виртуализации.

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

Читать дальше →

25 бесплатных курсов по Python 2023 года

Reading time3 min
Views352K

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

Читать далее

Файл дескриптор в Linux с примерами

Reading time14 min
Views122K
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?

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

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

Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?

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

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

Интервьюер остался доволен, а я нет.

Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
Читать дальше →

Что делать с детьми летом, если ты айтишник. Часть 2

Level of difficultyEasy
Reading time4 min
Views30K

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

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

Читать далее

Kafka за 20 минут. Ментальная модель и как с ней работать

Level of difficultyMedium
Reading time19 min
Views192K

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

Читать далее

Information

Rating
Does not participate
Registered
Activity