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

Технотекст

Slackalypsis. Часть 2

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

В первой части своей истории я рассказал, что происходило в Контуре в момент, когда многие российские ИТ-компании попали в санкционные листы, как мы писали свой велосипед экспорт из Slack, и о том, как мы начали переезд в Mattermost. Во второй части, как и обещал, я расскажу вам самые болезненные и интересные грабли.

Читать далее

Не сказ, а быль: Java-дев среди сисадминов

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

Долго ли, коротко ли, служил я java-разработчиком, да судьба-злодейка, крутанула меня в Platform Engineer’ы. Овладел я ремеслом devops’ским да сисадминским, но по ночам снится мне low-level Java, но быль моя совсем чуть-чуть об этом будет - поглаголю о JVM опциях, дабы приложение в k8s без дури запускать. Расскажу, как доблестно (а может, и безрассудно) SeaweedFS S3 storage выбирал, как кластер k8s поднимал, не щадя живота своего. Читай сии записки, запивая иван-чаем или медовухой: авось, умная мысль глянет меж строк. Не глянет — так хоть посмеёшься над моим devops экспириенсом.

Развернуть сказы

Пишем простые расширения VS Code для автоматизации задач командной строки

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

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

Для написания расширений используется Typescript, который достаточно просто освоить. Однако существенным препятствием является то, что в документации часто нет ответов на вопросы, которые возникают при реальной разработке.

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

Читать далее

Кто знает, что значит GPT в названии ChatGPT, могут дальше не читать

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

В настоящее время искусственный интеллект (ИИ) стремительно развивается. Мы являемся свидетелями интеллектуальной мощи таких нейросетей, как GPT-4 Turbo от OpenAI и Gemini Ultra от Google. В Интернете появляется огромное количество научных и популярных публикаций. Зачем же нужна еще одна статья про ИИ? Играя с ребенком в ChatGPT, я неожиданно осознал, что не понимаю значения аббревиатуры GPT. И, казалось бы, простая задача для айтишника, неожиданно превратилась в нетривиальное исследование архитектур современных нейросетей, которым я и хочу поделиться. Сгенерированная ИИ картинка, будет еще долго напоминать мою задумчивость при взгляде на многообразие и сложность современных нейросетей.

Читать далее

Подписываемся на датчики

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

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

Читать далее

Как составить тест-кейсы на собеседовании? Разбираем задачу с техсобеса для начинающих QA

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

Привет, Хабр! Я Михаил Бибик, работаю в СберТехе QA-automation-инженером, пишу автотесты для СУБД Pangolin — это целевая СУБД в Сбере и не только. В прошлом году наша команда искала и нанимала QA-инженеров с различным опытом, в том числе совсем начинающих. Когда я провёл штук 15-20 собеседований, то понял, что могу обобщить некоторые наблюдения и составить простые советы по поводу составления тест-кейсов для начинающих (скорее, очень начинающих) тестировщиков. В этой статье я покажу, как применить теорию тестирования на техническом собеседовании. Для этого разберу реальную задачу с нашего собеседования. Проходите под кат.

Читать далее

Разбираемся, как настроить алертинг из OpenSearch по email

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

Ни одно внедрение платформ для запуска контейнеризованных приложений в продуктивном контуре не должно обходиться без настройки логирования происходящих событий. В нашей платформе для управления контейнерами «Штурвал» для этих целей используется модуль OpenSearch.

На одном из проектов мне понадобилось настроить алертинг, чтобы администраторы k8s получали по электронной почте оповещение, если происходят те или иные события. Например, когда назначается ClusterRole с высоким уровнем доступа, при попытке запуска привилегированного контейнера или изменении конфигурации узла.

Изначально в кластере была настроена Audit Policy, определяющая, какие события должны записываться в журнал аудита и какие данные они должны содержать, а также Fluentbit Operator, отправляющий всё в OpenSearch. Кстати, подробнее о том, как мы настраиваем политику аудита в «Штурвале», я буду рассказывать 5 июня на конференции БеКон.

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

С настройкой SMTP действительно не возникло никаких проблем, алертинг на нужные ресурсы тоже настраивался нативно. Но когда понадобилось вытащить данные из тела запроса и добавить их в отправляемое письмо, OpenSearch сказал, что «у него лапки». В открытых источниках я нашла множество тикетов без ответов или с сомнительными советами, которые не помогали решить проблему.

В итоге алертинг я настроила и попутно сделала инструкцию. Надеюсь, она будет для вас полезной.

Читать далее

Просто о сложном: зачем нужны Kube-Audit логи и как с ними подружиться

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

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

Есть много инструментов, которые могут сделать работу в K8s безопасной, а процессы — прозрачными и эффективными. Но в статье поговорим о самом недооцененном, но тем не менее актуальном способе для анализа безопасности в Kubernetes: о сборе Kube-Audit логов.

Читать далее

Kubernetes для всех: поймет даже гуманитарий

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

Привет новичкам в Kubernetes и тем, кто не знаком с этой технологией!

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

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

Мы решили сравнить платформу оркестрации кластеров Kubernetes с любой крупной компанией, взяв за пример «Штурвал». Что из этого вышло — читайте под катом.

Читать далее

Четыре книги Нассима Талеба — фундамент адекватности в мире хаоса

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

Нассим Талеб — гениальный современный экономист, математик, философ и писатель. Его творчество оказало колоссальное (позитивное) влияние на моё отношение к жизни.

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

В каждой книге вас ждёт много математики и статистики, юмора, философии (сугубо практичной), а также истории из личного опыта автора и его окружения. А в качестве мета‑сообщения они несут мощный заряд рационального подхода к жизни, который я бы сформулировал так: «единственное, чему стоит верить — это своим глазам».

Читать далее

Проект Смотритель — удаленно управляемый робот на ESP32-CAM

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

Разрабатываем робота с нуля - от ИИ-дизайна до полного проектирования и реализации всех компонентов устройства.

Зачем? Ради фана, конечно - этот проект практически квинтессенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров, ИИ и в целом все, что можно включить в сферу DIY.

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

Поехали

Конвейер машинного обучения для классификации рукописных цифр MNIST с использованием TensorFlow Extended (TFX)

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

В рамках данной статьи будет рассмотрено построение конвейера машинного обучения для классификации рукописных цифр из базы данных MNIST с использованием фреймворка TensorFlow и TFX, а также мониторинг процесса обучения с помощью TensorBoard и выпуск модели с автоматической генерацией к ней API с помощью TensorFlow Model Server.

Основная цель данной статьи заключается в восполнении информационного пробела по теме использования TFX в контексте решения задачи классификации рукописных цифр MNIST, которая уже была представлена TensorFlow в виде одноименного репозитория tfx/tfx/examples/mnist.

Читать далее

VSCode, SourceCraft Code Assistant и микроконтроллеры

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

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

В этой статье я расскажу, как использовать VSCode для разработки прошивок под разные архитектуры и как мне в этом помогает SourceCraft Code Assistant от разработчиков Yandex Cloud & Yandex Infrastructure.

Читать далее

Фантастическая стратегия тестирования и места, где она обитает

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

Привет, дорогой читатель! Меня зовут Мария Вавилова, я начальник управления обеспечения качества в компании «ГНИВЦ» и занимаюсь созданием комфортных сервисов для взаимодействия с государством.

В этой статье хочу поговорить о must have в тестировании — об артефактах. В конце поделюсь небольшим подарком в виде шаблона одного из таких документов. Чтобы добавить чуть больше динамики, давайте ответим на несколько вопросов:

Знаете ли вы, что такое стратегия тестирования? Применяется ли она на ваших проектах?

Знаете ли вы, что такое план тестирования? Применяется ли он на ваших проектах?

Предположу, что многие ответили утвердительно, но вот к чему я веду…

Читать далее

Как мы работаем с QA-метриками: опыт Рунити

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

Привет, Хабр! Я — Ольга Султанова, руководитель тестирования в Рунити. Сегодня я расскажу о QA-метриках, которые мы применяем в работе: как мы их внедряли, как собираем данные, как автоматизируем и анализируем. А также о том, какие у нас стоят пороговые значения и о том, какие действия мы предпринимаем, когда они нарушаются.

Читать далее

Сможет ли IPFS полностью заменить HTTP?

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

Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспериментальная, к ней и у R&D-команды полно вопросов.

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

Читать далее

Умножение матриц и SMT – почему бы и нет?

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

Привет, Хабр! Меня зовут Евгений Буевич, я работаю в Рунити. Как-то раз у меня возникла непреодолимая потребность умножать матрицы определенного размера, смотреть, что получится и умножать опять до тех пор, пока что-нибудь не получится.

Остановился на BLIS, скомпилировал, подключил, и было мне счастье. Матрицы стали подрастать в числе и размере, скорость процесса, как ей и положено, падала в кубе от размера и кратно от числа. В конце концов стало ощущаться, что на ЦПУ 486,4 GFLOPS и ни флопсом больше, а замеры показывали, что на самом деле их около 350.

Читать далее

Зумеры не хотят работать — вот что показывают новейшие исследования поколения Z

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

Я собрал самые популярные мифы о зумерах (поколении Z, родившихся примерно с 1997 по 2012 год) и проверил их на основе последних исследований.

Читать далее

Как я писал плагин для TypeScript. Часть 1. IDE

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

Привет, Хабр! Меня зовут Дима, я Head of Frontend в Dodo Engineering. Моя команда создаёт инструменты для удобной работы с фронтендами, унифицирует подходы к разработке, помогает другим командам в создании удобных пользовательских интерфейсов Dodo IS.

Недавно мне срочно понадобилось написать плагин для TypeScript. Начал я с того, что погуглил, как это сделать. По пути боролся с повышенным потреблением памяти и искал недостающие файлы в массиве, переписывал Proxy и не только, а закончил на... А впрочем, давайте вместе разбираться, зачем мне вообще понадобился плагин и как я его писал.

Читать далее

Мы все должны уходить с работы вовремя. Вот почему

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

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

Читать далее