Feed aggregator

Готовимся к Micromouse: как роботу построить карту лабиринта

Habr.com - 1 hour 26 min ago

Привет, Хабр! Меня зовут Денис Логашов, я инженер-исследователь отдела автоматической обработки результатов моделирования и визуализации YADRO. В этом году мне предложили поучаствовать в соревновании по робототехнике в дисциплине Micromouse, где роботизированной мыши нужно как можно быстрее найти путь в центр лабиринта и понять, что цель достигнута. Такие соревнования проводятся в разных странах уже почти 50 лет, и в этом году Micromouse вошел в программу фестиваля РобоФинист 2024 в Санкт-Петербурге, где мы заняли второе место.

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

Читать далее

Портал, манулы и мячи: опыт разработки для Apple Vision Pro. Часть 1

Habr.com - 1 hour 32 min ago

В статье описан мой опыт разработки мини-игр для Apple Vision Pro в условиях жёсткого ограничения во времени.

Расскажу, с какими сложностями я столкнулся в ходе работы с 3D-моделями, и поделюсь способами их преодоления. Лайфхаки для упрощения работы с RealityViewContent и Reality Composer Pro прилагаются.

Читать далее

Как пересылать сообщения из Telegram в SMS с помощью бота

Habr.com - 1 hour 33 min ago

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки своих серверов до открытия ворот по SMS. Наиболее интересные и подробные решили размещать в нашем хабе.

В этом гайде пользователь объясняет, как можно написать простого Telegram чат-бота на NodeJS, который будет пересылать все входящие сообщения в SMS, используя Exolve SMS API.

Читать далее

SDR радиоприёмник в FPGA плате Марсоход3GW2 (Gowin)

Habr.com - 1 hour 34 min ago

Когда-то давно, аж 2013-й год, на Хабре была статья "Простой SDR приёмник на ПЛИС" автора @iliasam. Я попытаюсь повторить этот проект на другой элементной базе: FPGA плата Марсоход3GW2, микросхема Gowin GW1NR-LV9QN88PC6/I5.

Законы Цифровой Обработки Сигналов кажется остаются всё те же, что и раньше. Посмотрим, что у меня получится.

Читать далее

Какие айтишники будут востребованы в 2035г, а какие – нет?

Habr.com - 1 hour 45 min ago

Часто слышу отголоски дискуссии, что через 10-15 лет за разработчиков будет писать код искусственный интеллект, он же будет находить и фиксить баги, автоматически создавать интерфейсы, анализировать пользовательский опыт и так далее. Так ли это?

Поскольку в Гринатоме сегодня мы уже не только выполняем функцию ИТ-интегратора для Росатома, но и создаем свои ИТ-продукты и выводим их на рынок, у нас очень высокая потребность в кадрах: в Гринатоме более 7 тысяч ИТ специалистов, а к 2035г. их должно стать более 12 тыс.

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

Читать далее

Стой и сражайся! Как мебельный интернет-магазин удвоил продажи в неравной битве с маркетплейсами

Habr.com - 1 hour 46 min ago

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

Читать далее

Топология Dragonfly для дата-центровых сетей

Habr.com - 1 hour 46 min ago

Итак, вы гиперскейлер, давайте отталкиваться от этого. Потому что если нет — собирайте хоть 3-tier на OSPF. А гиперскейлер вы в том случае, если у вас большая сеть на тысячи хостов, а лучше стоек. Вы уже попробовали топологию Клоза. Сначала вам очень нравилось. Она вся такая плотная, регулярная и масштабируемая — просто прелесть.

Как только кластер начал грозить вырасти за 2000 хостов, вы стали надстраивать ещё один уровень коммутации и докидывать в него всё новые и новые группы стоек. И продолжаете расти на десятки тысяч узлов. У вас отработанный дизайн, автоматизация ввода нового оборудования. Всё на потоке.

Но отчего‑то вы несчастливы. Вам плохо спится. Гложут сомнения и дурные мысли.
А всё дело в эпохе 400G! Вы долгие годы строили свою сеточку на 25+100, и всего всегда хватало. Раньше. А теперь надо на хосты соточку спустить. А значит и аплинки надо расширять, да вы и сами уже понимаете, что пора: ещё несколько лет — и эта сеть станет устаревшей. 200G, 400G, SerDes по 100 Гб/с на PSM4. Тут думать надо.

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

Читать далее

Стили, темы и адаптивная верстка в React Native

Habr.com - 1 hour 47 min ago

Из этой статьи вы узнаете, как эффективно организовать очень важную часть разработки на React Native - работу со стилями и ресурсами для создания адаптивных и доступных интерфейсов под три платформы: iOS, Android и Web. Также в целом обсудим особенности верстки и проблемы производительности в рамках данного фреймворка.

Читать далее

Готовим Gitea со вкусом werf CI/CD и Dex-авторизации в кластере Deckhouse Kubernetes Platform. Часть 2

Habr.com - 2 hours 10 min ago

Продолжаем готовить возможную замену GitLab или GitHub с удобным CI/CD и on-premise размещением. Во второй части подробной статьи-инструкции для новичков поговорим о Gitea Actions: настроим инфраструктуру и Gitea Actions CI/CD. 

Читать далее

[Перевод] Внезапная старость и продление жизни. Как клетки печени взывают каскад старения

Habr.com - 2 hours 19 min ago

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

Читать далее

[Перевод] Реализация алгоритма двумерной упаковки Skyline

Habr.com - 2 hours 30 min ago

Упаковка 2D-прямоугольников в прямоугольники большего фиксированного размера необходима в большинстве мультимедийных проектов. В программировании GPU изменение текстур (binding) — затратный процесс. Поэтому при рендеринге текста не стоит использовать по одной текстуре на глиф, вместо этого желательно упаковать глифы в единую текстуру, называемую атласом. В 2D-играх содержащие спрайты атласы называются листами спрайтов (spritesheet). Листы спрайтов также используются для веб-сайтов, потому что скачивать один большой файл удобнее, чем по одному файлу на каждый значок/логотип.

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

Самым ценным ресурсом из найденных мной стал превосходный обзор Юкки Йулянки. В нём описано четыре типа алгоритмов и их практическая оценка. Выделяются из них два:

MAXRECTS если вы знаете заранее, какие прямоугольники будете упаковывать («офлайн-упаковка»)

SKYLINE если не знаете («онлайн-упаковка»)

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

Именно поэтому я остановился на алгоритме skyline. Он применяется в stb_rect_pack.hfontstash, а значит, и в nanovg.

В этой статье объяснён алгоритм skyline и представлена его реализация. Реализация доступна онлайн и в общественном достоянии (UNLICENSE).

Читать далее

Переводчик текста для терминала

Habr.com - 3 hours 16 min ago

Большое количество специалистов в области IT используют переводчики текста в своей работе, и я тому не исключение. Достаточно часто в вакансиях Системного администратора можно встретить требуемый навык - "чтение технической документации на английском языке", но, не всегда такая документация может быть очевидной в полной мере, даже имея базовый уровень английского языка, и как мне кажется, тут нечему стесняется. Для перевода текста чаще всего используется браузер, а также десктопные приложения, я же расскажу про альтернативу таким решениям, для перевода текста прямо в консоли Linux или Windows.

Читать далее

Собеседование — битва к которой нужно подговиться

Habr.com - 3 hours 30 min ago

Ты ищешь первую работу или решил сменить работу? Поздравляю! Впереди тебя ждет карусель интересных приключений: от собеседований и до ожидания обратной связи. Я провел немало собеседований, и у многих кандидатов есть одна общая ошибка — отсутствие подготовки. Они идут напролом, что заслуживает уважения, но можно облегчить себе путь, если подготовиться заранее. Ниже я опишу простые способы подготовки. Однако помни: не стоит затягивать с выходом на собеседования. Подготовка не должна превращаться в бесконечное "а вот этот вопрос изучу поглубже, этот курс пройду, еще видео посмотрю". Не превращайся в "вечного студента". Скорее всего, все нужные знания у тебя уже есть; главное — их УПАКОВАТЬ (как бы инфоцыгански это ни звучало).

Самопрезентация

Одна из самых важных частей собеседования, которая задает его тон. Здесь важно чувствовать себя уверенно и с интересом рассказывать о своем предыдущем опыте работы. Как можно себе помочь?

1. Заранее структурируй рассказ о себе.

Первый вопрос почти всегда — "Расскажите о своем предыдущем опыте". Поэтому тебе нужно подготовить монолог на несколько минут, в котором ты полно и убедительно представишь себя. Основные моменты:

- Информация о проекте (что это за проект; веб или десктоп; сколько % бэка, сколько фронта; функциональность проекта).

- Состав команды (сколько человек, какие роли, как вы взаимодействовали).

- Технологический стек (языки программирования; инструменты для тестирования; системы управления проектами и место хранения документации).

- Процессы в команде (как ставились и отслеживались задачи, взаимодействие с разработчиками, аналитиками и командой QA, как работали со срочными задачами и багами, частота релизов).

Читать далее

Уведомление в telegram при блокировке пользователя AD или локального пользователя

Habr.com - 3 hours 31 min ago

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

Читать далее

Язык как проект: как продакт-менеджеру учить английский

Habr.com - 3 hours 46 min ago

Привет, меня зовут Ирина Орлова, и я преподаю английский сотрудникам IT. Я работала корпоративным преподавателем для продакт-менеджеров и HR Ikea, немецких консалтинговых и архитектурных компаний.

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

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

Английский для работы — это проект, который в среднем закрывается за полтора года. В моей практике самые успешные кейсы были реализованы за 8 месяцев, причем 2 ученика с абсолютного нуля. 

50% результата зависит от воли ученика 

50% от грамотного планирования процесса и опыта преподавателя

Совет 1: 


Вам не нужен язык “вообще”, вам нужен фокус на том, что понадобится для работы

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

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

Как правило, на первых парах задача сводится к тому, чтобы научиться правильно строить фразы: задать вопросы в настоящем, прошедшем и будущем временах, формулировать отрицания, конструировать запросы и давать комментарии.

Совсем без грамматики тут не обойтись, она задает рамку и несколько десятков “болванок”, на которые вы будете нанизывать лексику в зависимости от конкретных ситуаций. И тренировка этих конструкций должна быть строго на примере рабочих ситуаций. Никаких текстов про экологию, спорт или как Мэри ходит в гости к Гарри. Только рабочие проблемы и их языковое оформление. 

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

Практический совет:

Продумайте список ситуаций, в которые вы регулярно попадаете на работе, например: 

питч проекта

презентация road map

организация встреч

уточнение запроса

распределение задач

контроль

просьба, объяснение, корректиров

Читать далее

FastAPI + APScheduler: Простой пошаговый гайд по созданию асинхронного API для мониторинга валют по расписанию на Python

Habr.com - 3 hours 51 min ago

Как создать асинхронный API для мониторинга курсов валют на Python? В этом практическом руководстве мы разработаем сервис на FastAPI с интеграцией APScheduler, который будет отслеживать курсы USD и EUR в банках России. Вы узнаете, как реализовать асинхронный парсинг данных, настроить планировщик задач и развернуть приложение в облаке. Проект включает систему аутентификации, фильтрацию данных и REST API — идеальный пример для изучения современной веб-разработки на Python.

Читать далее

Карты на стол, или Как мы провели исследование аудитории для покерного акселератора

Habr.com - 3 hours 54 min ago

Привет, я Андрей Краснопеев — основатель агентства стратегических исследований «Фабрика Гипотез». Мы помогаем бизнесу анализировать рынок и создавать востребованные продукты. Недавно к нам обратилась команда покерного акселератора Firestorm. Они запускают курс с опытными тренерами, собственной платформой и поддержкой в Дискорде.

Читать далее

Создание баз данных за выходные

Habr.com - 3 hours 55 min ago

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

Базы данных являются одними из самых сложных частей программного обеспечения, задуманных с момента появления вычислительной эры более полувека назад. [1] Почти каждая часть технологии в конечном итоге касается базы данных в той или иной форме. Несмотря на повсеместность баз данных в программном стеке, подавляющее большинство разработчиков были приучены относиться к базам данных как к более или менее черному ящику — сложным плотным чарам программного обеспечения, созданным волшебниками и знатоками, укрывшимися в элитных рядах компаний, занимающихся базами данных, или в таких местах, как Google. Поговорка для остальных из нас, как она есть, — никогда не пытайтесь написать свою собственную базу данных .

Тем не менее, несмотря на их долговечность, мы наблюдаем постоянные инновации в этой области, которая впервые началась с появлением Hadoop около 2 десятилетий назад. На сайте ClickBench теперь перечислено более 50 баз данных в его наборе тестов [2]. И это только аналитические движки. С учетом последних тенденций переписывания всех больших данных на Rust [3] не проходит и месяца, чтобы интересный новый проект не оказался в тренде Hacker News. В этой статье мы рассмотрим, насколько легко (или сложно) создавать базы данных с помощью Apache Datafusion и можете ли вы, будучи простым смертным, на самом деле реально создать собственную базу данных и внедрить инновации вокруг опыта разработчика.

Читать далее

Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами

Habr.com - 3 hours 58 min ago

Привет, Хабр! Сегодня рассмотрим, как реализовать паттерн Composite в Kotlin с помощью sealed-классов и корутин. Если у вас есть сложная система с кучей объектов — простых и составных — и вы хотите управлять ими, не теряя асинхронности, то этот гайд для вас.

Читать далее

Compound V3: Обзор кредитного протокола

Habr.com - 4 hours 35 min ago

Привет, Хабр! Я уже рассказывал про Compound v2 в предыдущей статье, там мы описывали основы протокола. В этой статье сравним вторую и третью версию, а еще детальнее разберем архитектуру и смарт-контракты.

Читать далее

Who's online

There are currently 0 users and 11 guests online.
Syndicate content