Pull to refresh

Technotext

Пишем Hex Viewer для Flipper Zero

Level of difficultyMedium
Reading time11 min
Views13K

Примерно месяц назад основная поставка Flipper'ов таки доехала до России. Вопреки моим ожиданиям, это не вызвало волну публикаций про создание приложений под него. Хорошие публикации есть (например, эта и вот эта), но массовости нет. Слишком долго ждали и перегорели? Пишут долго и обстоятельно? Технологический стек устройства не подходит для быстрого и легкого старта? Как бы то ни было, такой расклад ничуть не убавил мотивации поиграться с устройством!! С удовольствием уделил несколько вечеров созданию своего первого приложения под Flipper Zero: Hex Viewer, шестнадцатеричного просмотрщика. О своем опыте и интересных находках расскажу в теле статьи.

Читать далее

Многопоточный Python на примерах: избавляемся от дедлоков

Reading time8 min
Views18K

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

Разблокировать

Российский серверный процессор Baikal S

Reading time9 min
Views57K

Прошедшие десятилетия отразились на российской микроэлектронике сразу в двух диаметрально противоположных аспектах. С положительной стороны можно отметить период процветания нулевых годов (фундамент которого было заложен в 90-х) до мирового экономического кризиса 2008-го, и период с 2009 по 2013 годы. Именно тогда на территории России началось первое серьёзное финансирование отрасли: появились новые и получили поддержку уже существующие дизайн-центры, способные разрабатывать (пусть и при помощи государственных субсидий) микропроцессоры мирового уровня. Были предприняты попытки локализации производства на территории страны – купленная производственная линия у STMicroelectronics для «Микрона», организованное предприятие министром связи Леонидом Рейманом Ангстрем-Т со списанным AMD оборудованием – всё это могло быть отличным фундаментом для старта отечественной полупроводниковой промышленности, покрывающим часть потребностей внутреннего рынка. Однако события 2014-го года и дальнейший спад экономики в совокупности со странной внешней политикой правительства, в связи с чем Россия попала в санкционные списки развитых стран, а также событиями 2022-го года фактически задушили всю отрасль, оставив тысячи инженеров дизайн-центров у разбитого корыта с абсолютным непониманием дальнейшей судьбы их разработок.

Читать далее

Как я открыл компанию по созданию детских наборов электроники – Часть 1

Level of difficultyEasy
Reading time11 min
Views32K


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

И целого проекта мало — как системному аналитику собрать побольше опыта и не сойти с ума

Reading time9 min
Views8.8K

Предположим, вы в системных аналитиках недавно, например, на позиции джуна. Вы уже представляете, в чем заключается работа, и планируете развиваться в этой сфере. Еще с вами багаж общих IT-знаний, умение гуглить и/или грамотный ментор.Через какое-то время вы осваиваетесь в изначальном проекте. Но системная аналитика, как оказалось, штука очень интересная. Поэтому вы начинаете искать, во что бы еще вляпаться — в своей статье говорю про развитие soft skills. Случаи, когда базовых hard skills нет совсем, здесь не рассматриваются.

Короче, как жить и набраться опыта аналитику, когда почти научился жить и еще не сошел с ума!

Читать далее

Настройка среды для работы с Deep Learning в браузере, используя Облачную операционную систему

Reading time9 min
Views3.2K

Привет Хабр! Меня зовут Ильдар. Сегодня я расскажу вам как настроить Visual Studio Code Server с плагином Jupyter ноутбук для работы с нейронными сетями в браузере на выделенном сервере используя Облачную ОС.

Читать далее

Как мы создавали собственную платформу vStack

Reading time8 min
Views7K

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

Читать далее

10 вредных советов для дизайнеров-джунов

Reading time5 min
Views7.1K

Меня зовут Яна, я дизайнер платформы речевой аналитики и контроля качества в Тинькофф, ментор по направлению «Дизайн» в Тинькофф Старте. Все написанное ниже — моя личная боль.

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

Читать далее

Тестируем слой БД в Python с использованием pytest и testcontainers

Reading time15 min
Views19K

Несмотря на большую популярность testcontainers в мире java, информации по применению testcontainers в python в интернете практически нет. Даная статья - попытка ликвидировать этот пробел. Если тема показалась интересной, добро пожаловать под кат!

Читать далее

Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go

Reading time10 min
Views16K

Привет! Меня зовут Сергей, я старший разработчик в Ozon и раньше вообще не был замечен в QA.

Все мы привыкли к лёгкому написанию тестов на Python и Java — это основные языки автотестировщиков с богатым инструментарием утилит и всего, что упрощает жизнь. Что нужно для написания автотестов для HTTP-сервиса на Python или Java? Гугл, бутылочка крафта и два часа времени. 

А как быть в случае с Go? Как раз на нём мы в большинстве случаев пишем микросервисы. И если тесты написаны на другом языке, разработчики не могут внести в них свой вклад или отревьюить их. Поэтому внутри Ozon активно развивается Go-сообщество QA, и этим ребятам тоже нужно тестировать HTTP-сервисы и проверять отчёты в Allure. Как настоящие сварщики мы подумали: «Если чего-то не хватает, нужно написать своё». Сказано — сделано: встречайте опенсорс-библиотеку CUTE в BDD-стиле, которая облегчает тяготы создания автотестов и упрощает переход на Go. Главные фичи: создание HTTP-тестов, возможность реализовывать проверки из коробки, Allure-отчёты и низкий порог входа. Инструкция — под катом.

Читать далее

Как работает автозаполнение в браузерах и что важно учитывать веб-разработчику

Reading time14 min
Views37K

Если человек пользуется автозаполнением в браузере, он ждёт, что сможет быстро заполнять формы на любом сайте, где посчитает нужным. Наладить такой механизм на стороне сайта или веб-приложения несложно, но важно помнить пару вещей — я покажу кейсы, где подходы «в лоб» приводили к непредсказуемым результатам. Чтобы автозаполнение работало эффективно и не нарушало логику, стоит хотя бы примерно представлять, как оно устроено под капотом разных браузеров, которые могут быть у пользователей. Под катом распишу, каким образом движок подставляет данные в формы.
Читать дальше →

Обзор Spring-компонентов. Часть 1 – Spring Boot и фреймворк интеграции

Reading time18 min
Views50K

В обзоре собраны краткие описания каждого компонента экосистемы, чтобы дать понимание – как выглядит мир Spring, и ориентиры – что из этого стоит изучить глубже и применять в проекте.

Читать далее

Как войти в IT?

Reading time8 min
Views125K

Цель статьи помочь желающим войти в IT, либо показать, что оно им не нужно.

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

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

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

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

Читать далее

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

Reading time19 min
Views9.5K

Привет, 

Это статья нашего бывшего коллеги, Андрея Лукьяненко, который работал над проектом по созданию медицинского чат-бота. Андрей покинул нашу компанию по собственному желанию (и с большим сожалением для нас), но несмотря на это, мы решили опубликовать его материал. Мы уверены, что эта статья будет полезна всем, кто работает над созданием специализированных чат-ботов. 

Итак, передаем слово Андрею Лукьяненко, бывшему техлиду MTS AI.

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

Читать далее

Адаптивные таблицы в вебе

Reading time53 min
Views27K

Таблица — один из самых эффективных способов подачи ТЕКСТОВОЙ информации: на минимуме пространства размещено максимум данных. И что не менее важно — эти данные доступны не только для восприятия, но и для анализа (СРАВНЕНИЯ). Основная сложность таблиц при верстке — их адаптивность для устройств с небольшими экранами (мобильных девайсов). Можно ли сделать так, чтобы даже на экране с размерами в несколько сантиметров таблицы могли быть удобными для восприятия?

Читать далее

Основы Linux (обзор с практическим уклоном)

Reading time14 min
Views387K

Привет, Хабр!

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

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

Читать далее

Астрофото: совмещаем одиночные кадры

Reading time11 min
Views7.7K

Одной из главных проблем при съёмке астрофотографий являются разнообразные шумы. Не буду подробно останавливаться на том, откуда они берутся и какие компоненты в них присутствуют. Об этом уже есть хорошая серия статей на Хабре, за подробностями рекомендую обратиться к ней. Здесь я только резюмирую основной способ борьбы с шумом: нужно снять несколько кадров одной и той же области неба (чем больше, тем лучше) и усреднить сигнал с соответствующих пикселей.


Но какие пиксели на разных кадрах считать соответствующими? Если бы можно было гарантировать, что объекты между кадрами не сдвинутся ни на пиксель, то всё было бы предельно ясно: просто суммируем одни и те же пиксели на матрице. Но что делать, когда слежение неидеально, или съёмка вовсе ведётся с неподвижного штатива? Тогда звёзды и другие небесные тела будут смещаться, и перед сложением кадры нужно будет правильно наложить друг на друга. Эта статья посвящена тому, как это сделать.

Читать далее

Яндекс выложил в опенсорс YDB

Reading time16 min
Views154K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



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

В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.
Читать дальше →

Метрики тестирования, которые вы точно должны внедрить в процесс

Reading time5 min
Views55K

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

Читать далее

От кода «на коленке» к эффективному CI/CD: строим общий Pipeline as Code командой в 100+ человек

Reading time9 min
Views7.6K

Много команд, много продуктов, каждый автоматизирует релизный цикл, у каждого свой набор скриптов. Дублирование, отсутствие обмена практиками и повторное изобретение колеса приводит к тому, что команды тратят много времени на построение своего CI/CD. И все это поддерживает микросервисную архитектуру, где автоматизации нужно уделить особое внимание.

Меня зовут Владимир Цыбров, я релиз-инженер Леруа Мерлен и сегодня расскажу, какие в компании были подходы к построению пайплайнов и улучшению качества их кода. Спойлер: мы использовали подход InnerSource и предоставили командам self-service-инструменты.

Читать далее