• Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku



      Для кого написано


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

      Предыстория


      Когда моя дочь начала изучать арифметику, я между делом накидал алгоритм генерации простых примеров на сложение и вычитание вида «5 + 7 =», чтобы не придумывать и не гуглить для неё задания.

      И тут на глаза попалась новость, что Telegram выпустил новую версию Bot API 5.0. Ботов я раньше не писал, и потому решил попробовать поднять бота как интерфейс для своей поделки. Все примеры, которые мне удалось найти, показались либо совсем простыми (нужные мне функции не были представлены), либо очень сложными для новичка. Также мне не хватало объяснений, почему выбран тот или иной путь. В общем, написано было сразу для умных, а не для меня. Потому я решил описать свой опыт создания простого бота — надеюсь, кому-нибудь это поможет быстрее въехать в тему.
      Читать дальше →
      • +11
      • 3.9k
      • 7
    • Под капотом: 4D радар для построения изображений от Vayyar

      • Translation
      image

      В наши дни радары стали применяться даже в потребительских товарах, и сотрудники System Plus Consulting интересуются их внедрением. Компания, занимающаяся анализом технологий и их стоимости решила разобрать и изучить какой-нибудь радарный чип, но какой именно? В качестве устройства для анализа была выбрана RF-система на чипе первого поколения от Vayyar, и на то есть несколько причин.

      Во-первых, аналитикам System Plus Consulting стало интересно каким образом Vayyar удалось разработать столь высокоинтегрированную однокристалльную RF-систему на чипе. Также эксперты были заинтригованы тем фактом, что это устройство может создавать четырехмерные изображения в высоком разрешении.

      Раньше рынок радаров рос очень медленно, а сами датчики применялись в очень зрелых отраслях (вроде военной). Сейчас положение дел значительно изменилось. Радары (особенно те, которые могут формировать изображения) стягивают на себя больше внимания, чем Кардашьяны. Автомобильные и потребительские приложения разжигают воображение инженеров, в результате чего количество новых устройств и их применений растет двузначными числами.
      Читать дальше →
      • +11
      • 2.5k
      • 1
    • Сверхдлинное преобразование Фурье на FPGA

        Всем привет!

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

        В этой статье показана невозможность реализации «классической» схемы очень длинного БПФ даже на самых современных кристаллах ПЛИС и предложен алгоритм, позволяющий это сделать. Также пошагово рассмотрена основная идея алгоритма: от математической составляющей до создания законченного решения на базе ПЛИС с использованием внешней DDR-памяти. Статья затронет тонкости проектирования многоканальных систем обработки для подобного класса задач и, в частности, опишет мой практический опыт.


        Читать дальше →
      • Как экономисты потеряли веру в разумность людей и научились их понимать



          Многие научные открытия, когда они уже сделаны, кажутся очевидными. Настолько очевидными, что сложно себе представить, как это ученые могли быть настолько глупыми, чтобы когда-то считать иначе. Пожалуй, в экономической теории чаще других такое недоумение вызывает область, исследующая то, как люди принимают решения – поведенческая экономика. Я изучаю поведенческую экономику и отклонения от рационального поведения последние семь лет – началось всё с дипломного проекта, а в прошлом году исследования в этой области принесли мне кандидатскую степень по экономике. Когда я рассказываю интересующимся друзьям, что только в ХХ веке экономисты стали говорить, что человек, оказывается, не всегда рационален, да еще и не использует для совершения выбора всю возможную информацию, они начинают со скепсисом коситься на экономистов-классиков. Мол, серьезно, мистер Адам Смит? Ты думал, что, когда я молоко покупаю в Пятерочке, я матрицу решений строю, включая туда цены по всем розничным магазинам города?

          Бывают ложные белые грибы, у амебы есть ложноножки, а такое отношение к экономистам я называю феноменом ложноглупых классиков. Кстати, частично он тоже объясняется когнитивных искажением, одним из тех, которые изучает современная поведенческая экономика: «мудростью задним числом» (hindsight bias). Однако в первую очередь он связан с той особенностью развития экономической науки, которая отличает ее от естественных наук вроде физики. Об этой особенности экономической теории и о том, как так получилось, что до ХХ века одной из ее самых прочных основ была предпосылка о рациональном и эгоистичном экономическом человеке, и почему в ХХ веке её вдруг решили пересмотреть, я и расскажу сегодня.
          Читать дальше →
        • Визуализация хаоса: как представляют аттракторы динамических систем


            (с)

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

            Еще известен афоризм, приписываемый физику Ричарду Фейнману: «Если вы ученый, квантовый физик, и не можете в двух словах объяснить пятилетнему ребенку, чем вы занимаетесь, — вы шарлатан».

            Доступно объяснять устройство сложных вещей — великий навык, однако бывают истории, о которые сломает язык даже самый искусный оратор. Теория динамических систем – вот та область, где без визуализации чувствуешь себя слепым садовником в окружении колючих, увенчанных шипами растений.

            Сложные непериодические режимы поведения динамических систем можно описать непериодическими траекториями — так называемыми странными аттракторами, имеющими фрактальную структуру. Сегодня покажем, как визуализируют поведение странных и некоторых других аттракторов.
            Читать дальше →
            • +39
            • 7.8k
            • 5
          • Визуализация данных при отладке в Visual Studio Code



              Вообще Debugger Visualizers для обычного Visual Studio — это очень старая тема (статья 2009 года), но не очень популярная. В большинстве случаев принято учить сразу дебажить, представляя процессы в голове, а штуки вроде сортировок и списков показываются на доске. В вебе часто визуальную часть предоставляет браузер, и все всем довольны. Но бывает, что списки или деревья в голове уже не умещаются, таблицы хочется отсортировать, а графики строить не выходя из среды отладки. Для всего этого и был создан плагин для VS Code — Debug Visualizer.
              Читать дальше →
            • Azure RTOS. Часть 1: обзор и запуск (STM32 + CubeIDE + HAL)

              • Tutorial

              На недавно прошедшем Microsoft Build 2020 многократно упоминалась Azure RTOS как специализированная ОС жесткого реального времени для микроконтроллеров.


              В данном материале мы последовательно разберемся в том, что это за операционная система, какое место она занимает в продукции Microsoft для встраиваемых систем, а также установим планировщик ОС на один из микроконтроллеров STM32.

              Читать дальше →
            • Передача данных на расстояние до 20 км по обычным проводам? Легко, если это SHDSL…

                Несмотря на повсеместное распространение сетей Ethernet, технологии связи на основе DSL не теряют своей актуальности и по сей день. До сих пор DSL можно встретить в сетях последней мили для подключения абонентского оборудования к сетям Интернет-провайдера, а в последнее время технология все чаще используется при построении локальных сетей, например, в промышленных приложениях, где DSL выступает в качестве дополнения к Ethernet или к полевым сетям на основе RS-232/422/485. Подобные промышленные решения активно применяются в развитых европейских и азиатских странах.
                Читать дальше →
                • +15
                • 9.7k
                • 8
              • Производительность Raspberry Pi: добавляем ZRAM и изменяем параметры ядра

                • Translation
                Пару недель назад я опубликовал обзор Pinebook Pro. Поскольку Raspberry Pi 4 тоже основана на ARM, то для неё вполне подходят некоторые из оптимизаций, упомянутых в предыдущей статье. Хотел бы поделиться этими хитростями и узнать, проявятся ли у вас такие же улучшения в производительности.

                После установки Raspberry Pi в свою домашнюю серверную я заметил, что в моменты дефицита оперативной памяти она становилась очень невосприимчивой и даже подвисала. Чтобы решить эту проблему, я добавил ZRAM и внёс несколько изменений в параметры ядра.
                Читать дальше →
                • +32
                • 12.2k
                • 7
              • Вопросы к собеседованию Java-backend, Java core (60 вопросов)

                image

                Добрый день! Представляю вашему вниманию список вопросов к собеседованию Java Backend, которые я оформлял на протяжении около 2х лет.

                Вопросы разбиты по темам: core, collections, concurrency, io, exceptions, которые задают основные направления хода технического собеседования. Звездочками отмечен субъективный (с точки зрения автора) уровень сложности вопроса, в сноске спойлера — краткий ответ на вопрос. Ответ представляет для интервьювера правильное направления развития мысли кандидата.
                Читать далее
              • Руководство по прохождению сертификации в Salesforce


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

                В 2019 году Salesforce признали лидером на мировом рынке CRM-систем за последние 6 лет. В настоящее время специализации на Salesforce очень востребованы на ИТ-рынке вакансий по всему миру. Поэтому, если перед вами стоят задачи:

                • подтвердить свои знания в Salesforce,
                • выделиться среди кандидатов при поиске работы,
                • углубить свои теоретические знания в Salesforce,
                • добиться прибавки к зарплате.

                В таком случае, вам определенно необходимо проходить сертификацию Salesforce.
                Читать дальше →
              • Как получать 100 тысяч за код. Полное руководство для начинающих

                • Tutorial

                Сохраните в закладки сейчас, скажите спасибо через год. В конце каждого этапа — ссылки для внеклассного чтения.


                Что нужно знать, чтобы получать зарплату 100 тысяч

                1. Познакомьтесь с веб-разработкой


                Ситуация на 1 этапе

                Продолжительность этапа: 1 месяц.


                Что изучить на этом этапе.


                1. Структуру HTML.
                2. Отличия фронтенда и бэкенда.
                3. Разметку и оформление текста.
                4. Как размечать страницу по макету.
                5. Как ставить ссылки и вставлять изображения.
                6. Основы CSS — правила, селекторы, свойства и каскадирование.
                7. Хотя бы немного понимать, как работает и где применяется JavaScript.

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


                Ещё 7 шагов
              • Утилита Power Stage Designer — инструмент разработчика силовой электроники

                Приветствую! Хочу рассказать о весьма интересной для разработчика электроники утилите, которую я уже давно применяю в своей профессиональной деятельности. Утилита Power Stage DesignerTM от компании Texas Instruments — инструмент из «маст хэв» набора разработчика источников питания, преобразователей, силовой электроники. Как следует из названия, утилита предназначена для расчёта параметров силовой части (power stage), а также включает в себя некоторые дополнительные возможности, помогающие в решении смежных задач.


                Основные возможности утилиты:


                • Расчёт основных параметров преобразователя;
                • Калькулятор параметров петли обратной связи «Loop Calculator»;
                • Расчёт потерь MOSFET-транзистора «FET Losses»;
                • Расчёт конденсаторов «Capacitor Calculator»;
                • Расчёт демпфирующих цепей «Snubber Calculator»;
                • Расчёт параметров цепей регулирования/стабилизации выходного напряжения «Output Voltage Scaling»;
                • Конвертер единиц измерения «Unit Converter».
                Читать дальше →
              • Четвертушка Ethernet-а: старая скорость, новые возможности


                  5 февраля этого года был утверждён новый стандарт на 10-мегабитный Ethernet. Да, вы верно прочитали: десять мегабит в секунду.

                  Для чего в 21-м веке нужна такая «маленькая» скорость? Для замены того зоопарка, который скрывается под ёмким названием «полевая шина» — Profibus, Modbus, CC-Link, CAN, FlexRay, HART и т.д. Их слишком много, они несовместимы между собой и относительно сложны в настройке. А хочется просто воткнуть кабель в коммутатор, и всё. Как с обычным Ethernet.
                  И вскоре это станет возможным!
                • Пришло ли время забыть о React и перейти на Svelte?

                  • Translation
                  Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков и многое другое.

                  В нём всё, конечно, крутится вокруг JavaScript. Поэтому если вы используете для веб-разработки JS — я очень рекомендую взглянуть на State of JavaScript в том случае, если вы ещё этого не сделали.

                  Для меня одним из самых интересных результатов State of JavaScript стало неожиданное внимание тех, кто участвовал в опросе, к фронтенд-фреймворку Svelte.

                  В общем рейтинге ведущих фронтенд-инструментов (основанном на показателях осведомлённости о фреймворке, интереса к нему и удовлетворённости им) Svelte появился на второй позиции. Он идёт там сразу после React, опережая такие хорошо известные инструменты, как Vue.js, Preact, Angular и Ember.
                  Меня это слегка шокировало, так как Svelte — это сравнительно новый инструмент — как в плане возраста, так и в плане парадигмы разработки программного обеспечения.


                  Рейтинг фронтенд-фреймворков по результатам исследования State of JavaScript
                  Читать дальше →
                • IoT шлюз Ethernet-RS485 на базе STM32

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


                  Данный пост посвящён DIY разработке Ethernet-RS485 шлюза. Цель данного шлюза – обеспечение централизованного управления нодами Mysensors со стороны контроллера умного дома.


                  imageНедавно меня таки достали провода, дюпоны, навесная пайка и т.п. и было принято давно оттягиваемое решение — сделать свои платы с нуля, т.е. всё по серьёзному. :)
                  Сказано — сделано!


                  Первым делом была разработана и нарисована принципиальная схема шлюза, в которой я постарался учесть все свои хотелки и пожелания. Далее произведена компоновка и подгонка платы под требуемые размеры (50x50мм). И последний этап, это заказ плат на производстве. Я заказывал на фабрике JLCPCB, 5 плат — 2$ + доставка.


                  Данный шлюз построен на базе МК STM32F103CB(8)T6. В качестве Ethernet чипа выступает достаточно известная микросхема от WIZnet — W5500. Транспортом данного шлюза в сети Mysensors является проводной интерфейс RS485. В качестве драйвера RS485 был выбран чип — MAX13488EESA+T, в том числе и в связи с наличием у него режима автоматического выбора направления приёма/передачи.

                  Читать дальше →
                • Собираем переносной магнитометр

                  • Translation
                  Перевод статьи с сайта обучающих материалов Instructables



                  Магнитометр, который иногда ещё называют гауссометром, измеряет силу магнитного поля [в данном случае магнитную индукцию / прим. перев.]. Это прибор, необходимый при измерении силы постоянных магнитов и электромагнитов, а также для установления формы поля нетривиальных комбинаций из магнитов. Он достаточно чувствительный для того, чтобы определить намагниченность металлических предметов. В случае, если зонд будет работать достаточно быстро, он сможет определять изменяющиеся во времени поля от моторов и трансформаторов.

                  В мобильных телефонах обычно есть трёхосевой магнитометр, однако он оптимизирован для слабого магнитного поля Земли силой в 1 Гаусс = 0,1 мТл [миллитесла] и насыщается в полях с индукцией в несколько мТл. Где именно в телефоне расположен этот датчик, обычно непонятно, и расположить его внутри узкого места типа разреза магнита часто невозможно. Более того, лучше вообще не подносить смартфон к сильным магнитам.
                  Читать дальше →
                • Микрофонный усилитель и УНЧ для ЦАП и АЦП микроконтроллера

                  • Tutorial

                  Усилители сигналов для АЦП и ЦАП микроконтроллера


                  В статье изложены подходы по построению схемотехники усилителей для микрофона и динамиков в микроконтроллерной технике. Занимаемое элементами усилителей пространство не превышает $5 см^2$




                  Читать дальше →
                • Как научиться фронтенд-разработке, найти первую работу и не набить шишек

                    image

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

                    О том, как правильно учиться, как не набить шишек и двигаться по карьере, мы расспросили у Олега Шикова, декана факультета веб-разработки в GeekBrains и у Дарьи Дьячковой, начинающей веб-разработчицы.
                    Читать дальше →
                    • +15
                    • 18.5k
                    • 4
                  • Лучшие плагины IntelliJ IDEA

                    • Translation


                    Key promoter X


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

                    Идея проста: всякий раз, когда вы используете мышь для вызова команды в вашей IDE, появляется всплывающее окно, которое сообщает вам, каково сочетание клавиш для этого действия.
                    Читать дальше →