Search
Write a publication
Pull to refresh

Technotext

Slackalypsis. Часть 2

Level of difficultyEasy
Reading time8 min
Views1.1K

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

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views1.7K

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

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

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

Reading time9 min
Views12K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time11 min
Views64K

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

Читать далее

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

Level of difficultyMedium
Reading time6 min
Views7.7K

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

Читать далее

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

Reading time6 min
Views11K

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

Читать далее

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

Reading time7 min
Views2.2K

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

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

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

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

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

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

Читать далее

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

Level of difficultyHard
Reading time15 min
Views1.8K

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

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

Читать далее

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

Level of difficultyEasy
Reading time14 min
Views39K

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

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Views22K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time17 min
Views19K

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

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

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

Поехали

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

Level of difficultyMedium
Reading time27 min
Views1.6K

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

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

Читать далее

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

Level of difficultyMedium
Reading time34 min
Views9.4K

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

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

Читать далее

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

Level of difficultyMedium
Reading time8 min
Views1.3K

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

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

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Views4.4K

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

Читать далее

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

Reading time6 min
Views15K

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

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

Читать далее

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

Level of difficultyMedium
Reading time16 min
Views4K

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

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Views103K

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

Читать далее

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

Level of difficultyHard
Reading time15 min
Views3K

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

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

Читать далее

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

Level of difficultyEasy
Reading time12 min
Views111K

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

Читать далее