Как стать автором
Обновить
-1
0

Пользователь

Отправить сообщение

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

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

Покоцанные, но не сломленные, мы представляем проект, над которым работали полтора года по ночам. Курсы по программированию с задачами в online IDE и прагматичной теорией. Никаких сертификатов и гарантий трудоустройства. Сплошной хардкор и опенсорс!


Читать дальше →
Всего голосов 110: ↑116 и ↓-6 +122
Комментарии 72

Что нужно знать джависту, чтобы пройти собеседование

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 14K

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

Читать далее
Всего голосов 21: ↑16.5 и ↓4.5 +12
Комментарии 17

Как работает кнопка Mute на Яндекс Станции. Подробный разбор логики и схем

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 39K

Привет! На связи Геннадий «Крэйл» Круглов из команды, которая разрабатывает аппаратную часть Яндекс Станций. С кем-то из читателей Хабра мы уже могли познакомиться в рамках мероприятий Я.Железа, где делимся опытом разработки устройств.  

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

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

Читать далее
Всего голосов 116: ↑112 и ↓4 +108
Комментарии 195

Гоночный FPV-дрон своими руками (часть 1) — сборка

Время на прочтение 10 мин
Количество просмотров 102K
Сегодня популярность гонок на дронах стремительно растёт. Любительские полетушки перерастают в серьёзные международные соревнования, а количество людей, вовлечённых в это хобби, растёт в прогрессии. Я сам недавно собрал FPV-квадрокоптер 180-го размера (расстояние в мм между осями моторов по диагонали) и спешу поделиться этим опытом.



Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 25

Получаем спутниковые координаты GPS/ГЛОНАСС с помощью модуля SIM868 на Repka Pi

Уровень сложности Простой
Время на прочтение 25 мин
Количество просмотров 7.4K

Сегодня уже трудно найти человека, который не знает, что такое навигатор и GPS-координаты. В этой статье мы расскажем о том, как встроить функции навигатора в устройство, собранное на базе микрокомпьютера Repka Pi. Для получения координат мы будем использовать модуль GSM/GPRS/GNSS Bluetooth HAT, о котором вы уже знаете из предыдущих статей нашей серии про эти модули на базе SIM868.

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

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

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

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

Модуль GSM/GPRS/GNSS Bluetooth HAT может отправлять данные, например, через GPRS или SMS, а также совершать телефонные звонки.

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 1

CVAT. Инструкция по разметке

Время на прочтение 58 мин
Количество просмотров 28K

Немногие знают, что популярный инструмент Computer Vision Annotation Tool разрабатывали наши ребята в Нижегородском офисе Intel.

Весной Intel приостановил все деловые операции в России. Таким образом ребятам вырубили все доступы, а open source инструмент перестал обновляться.

Но не все так плохо! Сейчас команда CVAT сделала трансформацию, отделилась от Intel и продолжила развивать уже новый CVAT.ai своими силами.

Подробнее о том, как CVAT.ai будет развиваться, вы можете узнать из

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 3

Моя любимая задача для собеседований по программированию

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 97K

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →
Всего голосов 131: ↑126 и ↓5 +121
Комментарии 170

Обнаружение движущихся объектов с помощью OpenCV с использованием обнаружения контуров и вычитания фона

Время на прочтение 12 мин
Количество просмотров 13K

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

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 8

Взгляд изнутри на космический навигационный индикатор «Глобус ИНК»

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 14K

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

Давайте познакомимся поближе с этим устройством.

Читать далее
Всего голосов 85: ↑80 и ↓5 +75
Комментарии 42

Сказ о том, как я за год решил более 600 leetcode задач

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 73K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Всего голосов 150: ↑141 и ↓9 +132
Комментарии 407

Метод быстрого марша (Fast Marching Method)

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 7.7K

Пример реализации метода быстрого марша(Fast Marching Method) для создания полей расстояний(Distance FIeld) и поиска кратчайшего пути.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 10

Капитан ФСБ, шпионы и подставной гендиректор: разбираем атаку на нашего топ-менеджера

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 101K

Привет!

Пока мы разрабатывали продукты по кибербезопасности, на нас самих напали мошенники. 

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

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

В начале рассказываем, откуда пришла новая схема телефонного мошенничества. Если хотите сразу услышать разговор Леши, листайте до раздела «Мошенник звонит из "правоохранительных органов" и напоминает об уголовной ответственности».

Читать далее
Всего голосов 65: ↑61 и ↓4 +57
Комментарии 279

Воспринимайте жизнь как игру, и она станет более понятной

Время на прочтение 9 мин
Количество просмотров 13K

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

Помимо правил, в самом начале с вами поделились интересной информацией. Вероятность того, что инопланетянин достанет чёрный камень — всегда 50%. За несколько секунд до начала игры друг шепнул вам о стратегии, которой нужно придерживаться. И в результате, после бесконечного числа партий, вы оба стали победителями. Просто подфартило? Или сработала стратегия партнера?

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 18

Пора делать нормальных телеграм-ботов #3

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 7.9K

Очень неочевидные вещи, о которых никогда не приходится задумываться, пока не сталкиваешься с реальными проблемами использования ботов (иногда очень злонамеренного и неправильного).

Узнать, о чём речь
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 0

Держись, Маша! Ты, ведь, наша! Продолжение разбора книги «Цифровая схемотехника и архитектура компьютера»

Уровень сложности Сложный
Время на прочтение 21 мин
Количество просмотров 11K

Упомянутая в заглавии книга (далее H&H) - это про железо [15]. Я - про программирование, но на базе "железной модели" конечного автомата. И там и там математическая основа одна. Все это, действительно, крутая железная концепция, помогающая поставить не только синтез цифровых схем, но и программирование на совершенно другие рельсы, определяющие его будущее.

Параллелизм у программистов нынче в моде. Но, видимо, они (программисты) совсем не в курсе, что разработчики железа давным-давно погружены в эту тему. А потому им (я все про программистов) есть у кого поучиться. Но, похоже, некие амбиции-заскоки этому  мешают. Но, если вы этим не страдаете, то прочитайте книгу H&H и дойдите, ну, хотя бы до 4-й главы. Попробуйте реализовать одно-два упражнения, используя свой, программистский инструментарий - всякие там корутины, потоки и весь сопутствующий этому террариум. Убедитесь в его полном бессилии. И тогда, может, это заставит кое-что пересмотреть, переосмыслить. Только представьте: логический элемент - отдельный процесс, десятки, сотни, тысячи элементов - множество параллельных процессов, и все это в вашей ладошке (это я про смартфон) и даже работает!

Но пришло время исполнять обещанное (см. предыдущую часть темы в [1]). И пусть количество "плюсов" пока не достигло заданной планки, но ... если каждый "минус" считать за два "плюса", то это уже более чем ... ;) Так что спасибо всем, давшим положительную оценку - нет, не автору, а затронутой теме. Области знаний, от которой многое сейчас зависит.  Это те слова, которые мы вправе сказать в адрес теории, посвященной  синтезу цифровых схем, в адрес тех, кто занимался и занимается ее развитием, становлением и внедрением в практику.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 30

100+ инсайтов от создателей новых продуктов

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 3.6K

Делимся 100+ инсайтами наших клиентов в области продуктовой разработки, будет полезно абсолютно всем: предпринимателям, продукт-менеджерам, разработчикам..., и даже маркетологам)

Ознакомиться со всеми 100+ инсайтами
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 0

Алгоритмы быстрого возведения в степень

Время на прочтение 8 мин
Количество просмотров 22K

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

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

Читать далее
Всего голосов 35: ↑32 и ↓3 +29
Комментарии 11

Очень сложные Крестики-Нолики

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 4.4K

Доброго времени суток, когда вы в последний раз играли в крестики-нолики? Вспомните поле которое вы рисовали на бумаге: 3x3? 5x5? А что вы скажете насчёт 19x19? "Долго будем играть!" - и это только часть проблемы. Передо мной встала такая задача в ходе хакатона от компании Тинькофф - написать бота для игры в крестики-нолики на доске 19x19 с поиском самого лучшего хода за небольшое время.

Читать далее
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 30

Предсказательное моделирование (Predictive Modeling)

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 6.9K

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 3

Из фото в 3D, ч.2: калибровка камеры

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 6.2K

Фото до (слева) и после (справа) калибровки камеры

В первой части статьи мы немного поупражнялись на яблоках, чтобы понять, как 3D-объекты проецируются на 2D-плоскость фотографии. Заодно мы описали математическую модель камеры и ее параметры.

Знаешь параметры — живешь в Сочи можешь восстановить 3D-сцену или ее характеристики: высоту здания, расстояние до пешехода, загруженность самосвала. Словом, сплошная польза для целого ряда отраслей. 

А вот как именно определить эти заветные параметры, так и осталось за кадром. К тому же мы рассматривали простейшую модель pinhole, но в реальной жизни все сложнее. У большинства камер есть линзы, которые искажают изображения (вспомните эффект fisheye). Все эти «рыбьи глаза»‎ и другие отклонения нужно как-то корректировать.

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

Также из нее вы узнаете:

как выглядит математическая модель калибровки и дисторсии;

как собрать датасет для калибровки;

какие есть методы калибровки;

детали одного из этих методов.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 0

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность