Pull to refresh

Technotext

Как спроектировать фильтр электромагнитных помех для DC-DC преобразователя?

Reading time9 min
Views27K

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

Сегодня мы постараемся рассеять маркетинговый туман и внести осознанность в проектирование фильтров ЭПМ для импульсных преобразователей (DC-DC).

Читать далее

Система озвучки для игр с плагином для Unity, часть 2, упрощенная

Reading time2 min
Views1.6K

Я немного упростил изначальную концепцию, хотя весь код всё еще доступен и работает.

Сама концепция: вы делаете игру, создаёте озвучку своими силами только на своём языке, а дальше отдельные переводы и озвучки вам делают сторонние люди, за деньги или без - договоритесь сами, пока что платить некуда :) .


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

Начинаем :)

Unity: 8 причин отказаться от Coroutine в пользу Async

Reading time9 min
Views41K

Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них. Но мало кто знает, что Unity поддерживает работу с async/await еще с 2017 версии.

Так почему же большинство разработчиков до сих пор использует coroutine вместо async/await? Во первых, как я уже упомянул, большая часть примеров написана с использованием coroutine. Во вторых, async/await кажется очень сложным для начинающих разработчиков. Ну и в третьих, когда речь заходит о коммерческих проектах, где основным из критериев является стабильность, предпочтение отдается проверенному годами подходу.

Но технологии не стоят на месте и появляются библиотеки, которые делают работу с async/await в Unity удобной, стабильной и самое главное высокопроизводительной.

Читать далее

Консольный UI и отказ от асинхронного кода в idewave-cli

Reading time9 min
Views2.5K

С выходом версии 1.0.1 я решил осветить некоторые аспекты технической стороны моего проекта. В этой статье я расскажу про использование библиотеки tui-rs и про нюансы использования библиотеки tokio-rs, а так же постараюсь рассказать, что же было исправлено и почему так, как было раньше делать не надо. Добро пожаловать в статью - возможно, кому-то она поможет на тернистом пути погружения (или восхождения) в Rust.

Читать далее

Стартап в энтерпрайз: выгореть или выстрелить

Reading time5 min
Views3.2K


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

Читай, как мы профакапились

Как я нахожу парковочное место за 5 секунд

Reading time5 min
Views116K

Большой размер придомовой парковки не гарантирует, что вы легко и быстро найдете парковочное место, а чаще даже наоборот, при заезде на парковку может начаться приступ депрессии от того, что объехал парковку, потратил время, но в итоге место не нашёл. Как можно добавить в жизни чуть-чуть больше определённости, я опишу ниже.

Читать далее

Полуфабрикат Windows-службы

Reading time16 min
Views8.3K
Один из способов доморощенной классификации служб основывается на времени их жизни: некоторые из них запускаются сразу же при старте ОС, оставаясь активными постоянно (сюда, скажем, можно отнести веб-серверы и СУБД), другие же запускаются лишь при необходимости, делают свои архиважные дела и сразу завершаются; при этом, ни один из вариантов сам по себе не делает реализацию службы сложнее, однако второй требует от разработчика как минимум ещё и умения программно стартовать, а при необходимости и досрочно останавливать её работу. Именно указанный аспект управления службой, плюс добавление некоторых отсутствующих в штатной поставке Delphi возможностей, и сподвиг автора на данный опус.

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

Взаимодействие службы с очередью и управляющим приложением
Читать дальше →

Почему аспирантура — зло

Reading time5 min
Views100K

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

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

Читать далее

Mikrotik, Telegram и не только…

Reading time8 min
Views41K

Здравствуйте, друзья!

Сегодня я хочу рассказать вам, как открыл для себя новый язык программирования, среду исполнения, а ещё готовый фронт-энд. И всё это без кучи фреймворков и тысяч библиотек, чистое, непаханое поле…

Однако, давайте по порядку.

Читать далее

Дегустация Argo Rollouts: обзор решения, часть 1

Reading time8 min
Views4.2K

Всем привет! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. В этой статье – обзор Argo Rollouts, я покажу несколько примеров применения и отмечу интересные места в документации. Хотите быстро освоить Argo Rollouts и разобраться в этом решении? Тогда жмите кнопку «Читать далее»!

Читать далее

Внедрение контроля над ИТ

Reading time17 min
Views8.2K

Добрый день!

Меня зовут Максим Торнов и я продолжительное время занимаюсь областью управления рисками, присущими ИТ. Данный материал является продолжением статьи «Управление риском ИТ» (https://habr.com/ru/post/599047/).

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

Читать далее

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

Reading time8 min
Views6.2K

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

Свободу свойствам от объектов!

Читать далее

Чем различаются Kafka и RabbitMQ: простыми словами

Reading time8 min
Views115K

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

Читать далее

Пишем собственный ColorWheel на основе представления (View) в Android

Reading time24 min
Views4K

Эта статья рассказывает о моём опыте создания пользовательских представлений под Android. Со временем это всё переросло в целую библиотеку.

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

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

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

Интеграция картин в видео фасада здания за 60 часов

Reading time7 min
Views3.1K

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

На диплом художник выбрал Российскую национальную библиотеку (они выбирают объекты, и декорируют их). В итоге - 9 отдельных картин предполагаемых в технике мозаика были готовы украшать фасад здания. Сделать диплом - это полдела, но более важной задачей является подать его. По задумке камера должна вальяжно облетать здание, масштабироваться и проходить по замысловатым траекториям. Но вот незадача, курс 3D моделирования длился полгода, а результатом была модель пустой комнаты, с плинтусами и окнами. Отчаянные просмотры роликов на YouTube по темам «Как сделать 3D иллюстрации Adobe» дали понять одно - 3D визуализации не будет. Больно, грустно, обидно - но дедлайн заставляет креативить.

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

Мое глубокое подсознание положило эту мысль в стек головного мозга и достало его оттуда, как это водится, перед самым сном. «Так ведь можно это все реализовать программно. Распознать рамки под панно какой-нибудь нейронкой, вставить мозаики попутно сжимая их и растягивая в нужных местах, затенить, выделить контраст и бла бла бла» подумал наш герой-программист и его было уже не остановить…

Читать далее

Баг в ядре Linux и как правильно жаловаться

Level of difficultyMedium
Reading time7 min
Views15K

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

Я отвечаю за поддержку одной из наших библиотек с C-интерфейсом, написанной на C и C++. Мой коллега из другого отдела сообщил, что его нагрузочный тест нашей библиотеки на C# в Linux выдаёт ошибку в хитром сценарии: нужно иметь два процесса по пять потоков, делающих некоторые идентичные вызовы. Если процесс один, а потоков много, то проблема не проявляется. Если процессов два, но в каждом по одному потоку, то проблема не проявляется. Путём просмотра исходников нагрузочного теста и логов работы библиотеки удалось перенести проблему в маленький юнит-тест на C++ с использованием нашего API.

Узнать, что же это было

Мой личный опыт восстановления старых фотографий с помощью нейросетей

Reading time2 min
Views17K

Мой скромный опыт запуска нейросетей на ноутбуке для восстановления старых фотографий.

Читать далее

Читаем ключевой контейнер КриптоПро

Level of difficultyMedium
Reading time2 min
Views15K

Речь пойдет о PFX, который можно экспортировать из КриптоПро, однако данный контейнер нельзя использовать в OpenSSL и в других криптографических средствах из-за некой PBE с OID 1.2.840.113549.1.12.1.80.

Читать далее

Как попробовать 60-процентную клавиатуру, если у вас её нет

Reading time16 min
Views54K

Клавиатура Vortex POK3R RGB V2 (источник — geekboards.ru/product/vortex-pok3r-rgb-v2)

Я правша, но держу мышку в левой руке. Потому что правая и так слишком нагружена стрелочками, цифровым блоком, кнопками Home, Delete и пр. А поскольку эти кнопки перенести невозможно, я перенёс мышку.

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

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

#3 Нейронные сети для начинающих. Работа с изображениями в OpenCV. Алгоритм Canny Edge Detector

Reading time11 min
Views20K


Здесь должна быть шутка
image

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

  1. Преобразование изображения в оттенки серого.
  2. Уменьшение размерности изображения (в пикселях) в 4 раза.
  3. Нахождение и выделение (рамкой) самого тёмного объекта на изображении.
Читать дальше →