Pull to refresh

Technotext

Этапы профессиональной карьеры разработчика: какие задачи решают junior, middle и senior

Reading time8 min
Views43K

В своем блоге на Хабре мы уже не раз писали о Python. Хотя бы потому, что это один из наиболее популярных в мире языков программирования. В начале этого года по версии Tiobe он занял первое место. Популярность его объясняется достаточно просто - язык можно относительно быстро выучить на базовом уровне и начать двигаться к вершинам профессии. Но какие они, эти вершины? На что способен senior, какие задачи решает middle, а какие - junior? Об этом мы поговорили с Алексеем Некрасовым (@znbiz), лидером направления Python в МТС, программным директором направления Python и спикером профессии “Python-разработчик” в Skillbox.

Читать далее

Самообучающийся трекер объектов: как отслеживать цель в изменчивых условиях сцены

Reading time16 min
Views16K

Специалисты по компьютерному зрению не один десяток лет бьются над трекингом объектов. Они перепробовали многое: от старой-доброй оценки движения оптическим потоком до сетей-трансформеров.

Есть один подход к трекингу, широко известный на западе, но о котором мало пишут по-русски: Incremental Visual Tracker (IVT). Это трекер объектов на основе модифицированного метода главных компонент: он самообучается на ходу и адаптируется к изменчивым условиям.

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

Читать далее

Нужен ли скрипач или приключения кандидата наук в кровавом энтерпрайзе

Reading time14 min
Views17K

Мысль написать этот текст у меня появилась после того, как я прочёл статью уважаемого 3dvideo. В статье среди прочих автор поднимает тему оттока исследователей с кафедр университетов в коммерческие компании реального сектора экономики, когда “кровавый энтерпрайз” выгребает персонал из классических исследовательских университетских команд. И это только один из возможных сценариев “ухода из науки”, который реализуется в сильной научной школе с отличной культурой исследований (МГУ). Часто многие ребята с учёной степенью как из сильных научных школ, так и из команд попроще ищут себе место в жизни за пределами научной среды. Многие из тех, кто работал в естественных и технических науках уходят в ИТ, да и общественники с гуманитариями тоже не прочь “войти в айти”. Я задумался о том, что ждёт таких ребят при переходе из университетской (или академической) исследовательской среды в коммерческую. Чего от них ожидают? Как их примут? Как они увидят порядки, принятые в реальном бизнесе? Какие их навыки требуемые и уважаемые в академической среде будут востребованы, какие пройдут мимо, а какие будут мешать в работе? Зарплата будет выше? Какие мысли и чувства вызовет столкновение с этой действительностью? Какие открытия для себя сделают? Я сам из этих самых кандидатов наук, ушедших на вольные хлеба, и хочу здесь не только поискать ответы на свои вопросы, но и поделиться своим личным опытом исследования реализации различных путей кандидата наук в ИТ энтерпрайзе.

Читать далее

Улучшаем качество кода React-приложения с помощью Compound Components

Reading time10 min
Views8.6K

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

Но есть кое-что, из-за чего я не люблю программировать. Как ни странно, это тоже трудности, только другого рода. Например, когда, чтобы пофиксить баг, приходится разбираться с легаси-компонентом, который написан на классах на 300 строк кода. Разбираясь уже второй час, ловлю себя на мысли, что уже 10 минут просто смотрю в экран, а в голове «из-за угла» выглядывает мысль «Псс, парень, программирование — это не твое». Такие задачи не вызывают удовлетворения.

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

Читать далее

Barev Dzez! Сделал помогалку в изучении армянского алфавита

Reading time2 min
Views7.4K

По приезду в Ереван я порвался на кучу маленьких Игорей от вывесок, меню, табличек и прочих инфоносителей. Мозг отказывался воспринять "S" как "Т" и совершенно не видел разницы между Ե и Է.

Букварь я себе, конечно, нашёл, но лень — штука непробиваемая.

Задача сформулировалась: "как бы так выучить алфавит, чтобы его не учить". Звучит оптимистично, люблю такое.

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

Читать далее

Два или три тест-кейса для проверки граничных значений?

Reading time3 min
Views32K

Подсчитываем минимальное достаточное количество тест-кейсов для тестирования граничных значений и эквивалентных классов.

Читать далее

Как мы переходили с pip на Poetry

Reading time7 min
Views14K

Всем привет! Я Станислав Бушуев, Software Engineer в Semrush. В этой статье я расскажу о том, как мы столкнулись с проблемой периодического обновления Python-зависимостей, тестировали решение с полной их фиксацией, ошибались, и в итоге перешли на Poetry.

Читать далее

GeekBrains, который мы потеряли

Reading time9 min
Views22K

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

Читать далее

Моя попытка сделать Wi-Fi-флешку и что из этого получилось (а что нет)

Reading time11 min
Views63K

Что такое WiFi-флешка? Это флешка, которая опознается, как флешка, пахнет, как флешка, крякает, как флешка, но на самом деле никакая она не флешка, она эмулирует файловую систему, а данные берет по WiFi с сервера.

Читать далее

Красота в консоли

Reading time4 min
Views22K

Если верить статистике MacOS то топовые приложения которые я использую для работы это Chrome, VS Code, iTerm и VK Teams. При этом в консоли я провожу от часа до трех ежедневно. На самом деле время в терминале больше, потому что часть того что трекается как VS Code тоже является временем работы в консоли, только встроенной в VS Code. Поэтому консоль хочется сделать удобнее и красивее. Особенно этой поздней осенью. Этими красивостями и удобностями и хочется поделиться. И не просто поделится, а что бы с красивыми картинками, некоторые из которых были бы не совсем статичны. Ну или совсем не статичны. Это как кому нравится.

Читать далее

Как джуну найти работу: лайфхаки от HR

Reading time6 min
Views11K

Привет, Хабр! Меня зовут Анна Галимова, я HR бизнес-партнер в МТС Digital. В этой статье я расскажу о том, что делать, если вы специалист уровня junior и хотите найти хорошую работу в IT. Я дам советы на что смотреть при выборе работодателя, как подготовиться к собеседованию и о чем говорить с рекрутерами. Жмите кнопку «Читать далее» и вы узнаете, что делать, чтобы вас взяли не просто «куда-то, зачем-то и на какие-то задачи» и как выстроить по ступенькам идеальную карьерную лестницу.

Читать далее

Протрезвели — прослезились, или на чём строить сети летом 2022 года

Reading time13 min
Views46K

День советской армии изменил большую часть нашей жизни. С профессиональной точки зрения прежде всего изменился ландшафт сетевых решений, которые можно применять в проектах — по сути нас отбросило лет на 10 в прошлое. За прошедшие полгода у меня сформировалось некое понимание, что и как можно использовать (с фокусом прежде всего на энтерпрайз), этим пониманием я с вами и делюсь.

Читать далее

Что делать неизвестным в вашем git репозитории

Reading time5 min
Views12K

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

Читать далее

Моя история подготовки к интервью в FAANG

Reading time3 min
Views17K

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

Читать далее

Мой опыт с Webpack 5 Module Federation

Level of difficultyMedium
Reading time11 min
Views18K

Всем привет. Меня зовут Михаил, я - фронтенд-разработчик в Лиге Цифровой Экономики.

В последнее время я пробую себя в должности руководителя направления фронтенд-разработки, однако я хочу с вами поделиться опытом разработки приложения с применением Webpack Module Federation, о том, какие задачи приходилось решать и проблемы, которые возникли на этом пути. Не буду вдаваться в теорию о микрофронтах и module federation, об этом уже много написано и предполагается, что вы знакомы с базовой настройкой. Мы же поговорим о самом «вкусном», некоторые моменты будут опущены в целях сосредоточения на деталях.

Читать далее

Разглядывая JTAG: идентификация

Reading time19 min
Views22K

Каждый электронщик, работающий (или отдыхающий) с цифровыми микросхемами рано или поздно обязательно сталкивается с протоколом JTAG. Значительное количество материалов о данном протоколе содержит три раздела:
1) Обширный экскурс в историю и рассказ о том, как стенд с летающими щупами и рентгеновская установка легко могут быть заменены отладчиком на 2-3 порядка дешевле их.
2) Достаточно сжатое описание протокола JTAG (с картинкой его конечного автомата).
3) Рассказ о том, что фирменный отладчик, а также программное обеспечение компании <COMPANY NAME> позволят почти без усилий протестировать почти любое устройство почти любой сложности и конфигурации.

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

Идентифицировать микросхему

Автоматизируем выбор ревьюера с помощью GitLab CI и Danger JS

Level of difficultyEasy
Reading time7 min
Views6.5K

Всем здравствуйте! Я расскажу о том, как решал задачу ускорения проверки merge request’ов(MR)  в нашей команде. Почему вообще это понадобилось? Потому что разработчики ленивы экономят силы и обычно не стремятся брать новые MR на проверку, либо выбирают что попроще. Так что я решил сделать бота, который для каждого MR автоматически расставлял бы приоритеты и назначал проверяющего.

Читать далее

Edge AI чипы от Kneron. Собираем оригинальный девайс

Reading time12 min
Views2.5K

Custom Device

Привет, я Антон Маслов, ведущий разработчик в MTS AI.


В предыдущих статьях я рассказывал о том, как работает распознавание изображений на чипе KL520 с помощью нейросети Tiny YOLOv3, а так же о том, как устроена, из чего состоит и как собирается прошивка чипов KL520. И вот теперь, когда мы познакомились с технологией Edge AI в общих чертах, мы можем отправиться в самое увлекательное путешествие и создать на базе KL520 собственный оригинальный девайс!


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