Pull to refresh

Technotext

Совместимость (или нет?) MLOps-инструментов

Reading time14 min
Views3.1K

Как и любой уважающий себя инженер, в детстве я любил конструкторы и всякого рода головоломки. Не растерял я эту любовь и сейчас, правда, на смену простеньким детским головоломкам пришли сложные программные системы. Как Lead Data Scientist я решил автоматизировать процессы в разработке для себя и своей команды. Изучил десяток различных MLOps-инструментов, дело оставалось за малым — соединить их в одну общую удобную систему. Вот только этот конструктор отказывался легко собираться…

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

ЖМИ

Сдать Астру. Что нужно знать об экзамене ALCSA-1.7

Reading time8 min
Views20K

Приветствую всех! В этой статье я бы хотел поделиться опытом подготовки и сдачи экзамена ALCSA-1.7: Сертифицированный системный администратор Astra Linux Special Edition 1.7. Вопросов от коллег (и не только) по нему было много, а информации в открытом доступе до обидного мало. Итак, пойдем по порядку.

Читать далее

Столица — не монополия успеха: работа и высокие зарплаты в регионах

Level of difficultyEasy
Reading time5 min
Views8.5K

Я родился, вырос и получил вышку в регионе. Оказалось, что это не уменьшает твои шансы на интересные задачи на работе и достойную оплату. Главное — быть заинтересованным и владеть английским языком (спасибо, бинго!). В остальном тебя мало что отличает от жителя столицы — такого же сервисного инженера, как и ты. За годы региональной карьеры я побывал во множестве стран мира, вырос до руководителя и не раз убедился, что переезжать в столицу не обязательно.

Но обо всём по порядку.

Читать далее

Курс на Linux — как сделать обучающий курс с нуля, и при чём тут опоссумы?

Level of difficultyEasy
Reading time9 min
Views4.7K

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

Читать далее

Ликбез по вхождению в Data Science: что для этого нужно и стоит ли пытаться?

Level of difficultyEasy
Reading time9 min
Views35K

Всем привет! Меня зовут Надя, и сейчас я выступаю в роли ментора на программе Mentor in Tech и помогаю людям «войти» в Data Science. А несколькими годами ранее сама столкнулась с задачей перехода в DS из другой сферы, так что обо всех трудностях знаю не понаслышке.

Порог для входа в профессию очень высокий, так как DS стоит на стыке трех направлений: аналитики, математики и программирования. Но освоить специальность — задача выполнимая (хоть и непростая), даже если ты гуманитарий и списывал математику у соседа по парте.

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

Погрузиться в мир Data Science

«Ветхий завет» речевых технологий. Говорящая голова, металлические языки и безумные синтезаторы

Reading time7 min
Views4K

Привет. Меня зовут Александр Родченков, я занимаюсь речевыми технологиями в компании «Инфосистемы Джет». Как-то я задался вопросом — когда люди стали пытаться синтезировать или распознавать речь? Изучив вопрос, раскопал много криповых любопытных историй и решил с вами поделиться.

Узнать больше

Путь к надёжности: как QA инженеру действовать в нестандартных ситуациях

Reading time5 min
Views7.6K

Труднее всего тестировщику приходится в ситуациях, где даже не подозреваешь, что действуешь неправильно.

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

Читать далее

Нейронные сети для планирования движения беспилотных автомобилей

Reading time16 min
Views19K

Планировщик движения беспилотного автомобиля — это алгоритм-помощник, который общается с другими участниками движения посредством манёвров. То есть он действует так, чтобы другим было понятно, куда поедет беспилотник, и сам по действиям других пытается определить, кто куда будет двигаться и почему.

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

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

Читать далее

Пути внедрения поддержки скриптов в Dart/Flutter

Level of difficultyHard
Reading time9 min
Views2.1K

А что, если я скажу вам, что есть ряд способов изменения бизнес-логики мобильных приложений без проверки сторами?

«Бред!»- ответят скептики. «Выкладывай!» - ответят энтузиасты.

В рамках данной статьи я предлагаю вам рассмотреть возможные пути для интеграции функционала выполнения скриптов в ваши Dart/Flutter приложения.

Читать далее

После GPT-4

Level of difficultyEasy
Reading time24 min
Views107K

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

Далее

GitOps-платформа на базе Argo CD

Level of difficultyMedium
Reading time9 min
Views26K

Привет, меня зовут Сергей — я руководитель DevOps-направления KTS. 

Рассмотрим относительно новый виток в развитии деплоя приложений и посмотрим, какие вопросы можно закрыть с помощью инструмента Argo CD.

GitOps — это одна из реализаций Pull-модели, в которой Git является хранилищем всех конфигураций. Источник правды — Git, все изменения в инфраструктуре проходят только через него. Все изменения по Pull-модели проводит специальный агент, который затем поддерживает заданное состояние. То есть если внести в инфраструктуру изменения вручную, агент увидит несоответствие с тем, что есть в Git, и вернёт все к нужному состоянию, идентичному источнику правды. 

Argo CD — один из самых популярных GitOps-инструментов. Он живет внутри Kubernetes и там же развертывает сущности. Argo CD предоставляет удобный RBAC, то есть управление правами и доступами. В интерфейсе можно посмотреть свои действия, управлять приложениями и  принудительно синхронизировать их. Argo CD входит в CNCF, что вызывает к нему большое доверие.

Читать далее

Из тестирования в техподдержку и обратно

Level of difficultyEasy
Reading time4 min
Views6K

В тестирование попала впервые пару лет назад - это была маленькая аутсорсинговая компания, в которую меня позвал их HR, увидев моё резюме в телеграмме. К сожалению, через пару месяцев в компании начались проблемы и бОльшую часть сотрудников уволили или отправили в “отпуск”, поэтому пришлось снова выходить на рынок и искать новую работу по факту не только практически не получив опыта (большинство компаний рассматривает людей с опытом от полугода), но и несколько ухудшив своё резюме подобным перескоком.

Пока искала работу знакомая QA Lead порекомендовала попробовать себя в сопровождении, сказала, что это будет полезно для развитии в тестировании. Стоит признаться, что изначально приняла это предложение скептически, но за неимением вариантов получше решила попробовать. Ниже, чтобы вы поняли, чем я занималась и поняли, насколько это будет вам полезно, распишу чем занималась и что мне это дало, а также какие препятствия мне встретились на этом пути.

Читать далее

Видеокарта VGA для микроконтроллера

Level of difficultyMedium
Reading time17 min
Views16K
image

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

В то же время есть огромный парк старых ЖК мониторов. Модели с диагональю 15-19 дюймов можно приобрести в рабочем состоянии за 200 – 500 руб. Особенно это касается моделей с немодным сейчас соотношением сторон 4:3. Эти модели достаточно надежные. Лампы CCFL, используемые для подсветки, конечно, теряют яркость за годы эксплуатации и их спектр свечения уходит в неприятный красноватый оттенок, но благодаря большому количеству таких мониторов всегда есть возможность выбрать более-менее живой экземпляр. Кроме того, лампы CCFL относительно несложно заменить обычной светодиодной лентой, подключив ее напрямую к источнику питания 12 В монитора. Однако при этом обычно необходимо заблокировать цепи обратной связи от микросхемы управления подсветкой к контроллеру самого монитора, иначе монитор будет думать что подсветка неисправна и просто выключится. Также придется пожертвовать функцией регулировки яркости. Однако, этой функцией мало кто пользуется. Обычно яркость монитора настраивается один раз в жизни, сразу после его покупки и потом никогда не меняется.
Читать дальше →

Эйчары такие противные девочки, которые отказывают из-за цвета глаз: найм глазами IT-рекрутера

Reading time5 min
Views60K

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

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

Читать далее

Разворачиваем веб-приложение в Kubernetes с нуля

Level of difficultyEasy
Reading time31 min
Views58K

Современные веб-приложения, даже простые на вид, часто подразумевают нетривиальную архитектуру, состоящую из многих компонент. В статье «Делаем современное веб-приложение с нуля» я рассказал, как она может выглядеть, и собрал для демонстрации простейшую реализацию на стеке из нескольких популярных технологий. В неё вошёл бэкенд, фронтенд, воркер для асинхронных задач и аж два хранилища данных — MongoDB как основная база и Redis как очередь задач. В «Делаем поиск в веб-приложении с нуля» я показал, как можно добавить полнотекстовый поиск, и подключил третье хранилище — Elasticsearch.

Всё это время для простоты разработки и отладки компоненты приложения запускались локально через Docker Compose. Но как развернуть такое приложение в настоящем продакшн-окружении? Как обеспечить горизонтальное масштабирование? Как раскатывать новые релизы без простоя? 

В этой статье мы разберёмся, как разворачивать многокомпонентное веб-приложение в кластере Kubernetes на примере его локальной реализации — minikube. Мы поднимем виртуальный кластер прямо на рабочем ноутбуке, разберёмся с основными сущностями Kubernetes, запустим и соединим между собой компоненты демо-приложения и обсудим, какие ещё возможности Kubernetes пригодятся нам в суровом энтерпрайзе. Если вы занимаетесь разработкой и слышали о Kubernetes, но ещё не имели возможности пощупать его руками — добро пожаловать под кат!

Скорее к YAML-инженерии

Личный путь и опыт в становлении Python разработчиком

Level of difficultyEasy
Reading time21 min
Views33K

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

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

Как мы кнопку Enter пытались сгенерировать

Level of difficultyEasy
Reading time4 min
Views5.8K

Привет Хабр! Хочу поделиться своим опытом взаимодействия с нейросетками. В последнее время они наделали много шума, в сети есть огромное количество примеров сгенерированных изображений очень приличного качества и хорошей проработки. Меня вдохновили эти примеры, и я решил на боевом проекте протестировать Midjourney, Stable Diffusion и Kandinsky, чтобы выявить их их сильные и слабые стороны, и понять какая нейронка больше всего подойдёт для моей дальнейшей работы.

Читать далее

Как советский физик научил мир делать искусственные алмазы, и зачем они нужны

Level of difficultyEasy
Reading time11 min
Views21K

Алмаз известен человечеству многие столетия. Попытки создать его искусственный аналог не прекращались с 18 века. Зачем люди стремились создать искусственный камень, кому удалось это сделать впервые и какую роль играли в этом ученые из СССР, постараюсь рассказать в этом материале.


Конечно же, история будет не об украшениях, а о науке, технике и человеческой скупости.


Читать далее

Глубина кроличьей норы: бинарная граница и ABI C++

Reading time26 min
Views8.6K

Вопрос ABI (Application Binary Interface), бинарной границы и бинарной совместимости в C++, раскрыт на просторах интернета не так хорошо как хотелось бы. Особенно сложно в его изучении приходится новичкам, потому что эта тема связана со множеством деталей нарочно скрытой от глаз программиста имплементации языка.

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

Подробнее о статье:

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

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

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

В рамках всей статьи будут рассмотрены темы: системный стек, системные регистры, динамическая память, детали механизма виртуальных функций, стандарт С++ и реальная имплементация, детали механизма исключений, copy elision при линковке библиотек, шаблоны, POD-типы и ODR violation.

Break -in- ABI

Релейный компьютер, телетайп и интересный алгоритм игры в крестики-нолики

Reading time10 min
Views8K

Крестики-нолики – классическая игра, которую наверное пытался написать каждый. При этом программы иногда получаются довольно запутанные, несмотря на простоту правил. Электромагнитные реле – классическая элементная база для компьютеров и калькуляторов. Они тёплые, ламповые и прикольно щёлкают. Если добавить к этому телетайп, то получится игровая консоль в стиле 1940х.

Читать далее