Search
Write a publication
Pull to refresh
3
0
Максим @MaxxONE

Инженер

Send message

Подготовка радиоэлементов к пайке

Reading time3 min
Views16K

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

Читать далее

Обзор возможностей Qt Creator 4.13 и QBS 1.17 для программирования микроконтроллеров

Reading time3 min
Views4.5K
Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы продолжить обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров.

Ранее я уже писал про улучшения в предыдущих версиях:


Кому эта тема интересна, добро пожаловать по кат.
Читать дальше →

Операционные усилители: 10 схем на (почти) все случаи жизни

Reading time15 min
Views571K
Всем привет!

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


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

Ликбез по типизации в языках программирования

Reading time12 min
Views533K
image

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

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

Основы линейной регрессии

Reading time13 min
Views209K
Здравствуй, Хабр!

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

! Осторожно, трафик! В статье присутствует заметное число изображений для иллюстраций, часть в формате gif.
Читать дальше →

UML для самых маленьких: диаграмма классов

Reading time4 min
Views349K


Аве, Кодер! Диаграмма классов UML иллюстрирует структуру системы, описывая классы, их атрибуты, методы и отношения между объектами.

Даже самые малые детки знают, что UML происходит от Unified Modeling Language, если по- русски, то — унифицированный язык моделирования, который, как гласит легенда, разработали, когда серьезные дяди и тети в конец задолбались плавать в разнообразии кружочков, черточек и облачков.

Для тех, кому лень читать:

Оптимальный путь новичка в мире C++/Qt

Reading time10 min
Views118K
Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, которые возникнут перед ним в будущем. Однако я попытаюсь ответить на данный вопрос для того направления программистской деятельности, в котором лучше всего разбираюсь – в создании кроссплатформенных сложных desktop-приложений. Приложений уровня и класса PhotoShop, VisualStudio, MS Word. Таких приложений, в которых с точки зрения программиста возникает больше количество разноплановых задач:

  • Отрисовка классического «офисного» GUI типа кнопок, прогресс-баров, виджетов, анимации.
  • Отрисовка любой нестандартной графики типа непрерывно движущихся графиков из миллионов точек.
  • Работа с базами данных
  • Работа с сетью
  • Работа с реестром операционной системы
  • Работа с принтером
  • Быстрое (в том числе параллельное) выполнение сложных вычислительных задач.
  • И многое, многое другое.

Наборов платформ и фреймворков, которые позволяют эффективно строить подобные приложения, не так уж много. В свое время, попробовав разные платформы, программисты в моей организации уверенно остановились на следующей связке: язык С++ и платформа Qt. Как показало время, этот выбор не подвел. Вот именно с оглядкой на этот выбор я начну излагать тот набор материалов, которые я рекомендую к изучению начинающими программистами, если они хотят стать настоящими гуру в этом направлении.
Читать дальше →

10 советов схемотехнику

Reading time20 min
Views129K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Здравствуйте! Мы подразделение «Лаборатории Касперского», которое разрабатывает безопасную операционную систему KasperskyOS. Наша цель — создать ОС, у которой есть кибериммунитет, поэтому ей не страшно доверить управление умными автомобилями, сложными техническими процессами и важными информационными системами. Хотим рассказать, как идет развитие проекта, какие технологии лежат в его основе и что получается на выходе. Ну и немного о нашей внутренней структуре: кто и чем занимается, как выстраивается работа на удаленке, а также как попасть к нам в команду.
Узнать →

Rust. Borrow checker через итераторы

Reading time8 min
Views11K
Привет, Хабр!

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

Последнее время scala является моим основным языком, так что сравнения будут с ней, но их не много и все интуитивно понятные, без магии :)

Статья рассчитана на тех кто что-то слышал о rust'e, но в детали не вдавался.


фотографии взяты отсюда и отсюда
Читать дальше →

Как я отказался от вычисления квадратного корня

Reading time14 min
Views48K


Очень часто при цифровой обработке сигналов необходимо вычислить длину вектора, обычно это делается по формуле A=SQRТ(X^2+Y^2). Здесь возвести в квадрат значение не сложно, но операция вычисления квадратного корня не является простой операцией, особенно для микроконтроллеров. Кроме того, алгоритмы вычисления корня выполняются не стабильное время, и для алгоритмов, в которых таких вычислений много, становится сложно прогнозировать время, необходимое для вычислений.

С такой задачей столкнулся и я. О том, как я отказался от процедуры вычисления корня, читайте ниже.
Читать дальше →

Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill)

Reading time7 min
Views33K
Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal).


В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки под микропроцессоры Cortex-M3. После этого напишем простой пример — моргание встроенным светодиодом.
Читать дальше →

Функциональное программирование на примере работы с матрицами из теории линейной алгебры

Reading time11 min
Views18K

Вступление


В основе работы с матрицами (в данной статье мы будем рассматривать только двумерные матрицы) лежит мощная математическая теория из области линейной алгебры. Одно определение или действие следует из другого, одна функция вызывает другую. Поэтому для программной реализации функционала математических операций над матрицами функциональные языки подходят очень хорошо. В рамках данной статьи мы рассмотрим конкретные примеры на языке F# и дадим подробные комментарии, как это работает. Так как F# входит в семейство .NET, то полученный функционал можно без каким либо проблем использовать в других императивный языках, например C#.

Определение матрицы и реализация на F#


Матрицы являются базовой и важнейшей частью линейной алгебры. Матрицы часто используются в программировании, например в 3D-моделировании или гейм-девелопинге. Разумеется, велосипед уже давно изобретен и необходимые фреймворки для работы с матрицами уже готовы, и их можно и нужно использовать. Данная статья не ставит своей целью изобретение нового фреймворка, но показывает реализацию базовых математических операций для работы с матрицами в функциональном стиле с использованием языка программирования F#. По мере рассмотрения материала мы будем обращаться к математической теории матриц и смотреть, как ее можно реализовать в коде.
Читать дальше →

Байесовский ниндзя

Reading time4 min
Views11K

Coderik однажды отметил: "Фильтра Калмана много не бывает". Так же можно сказать и о теореме Байеса, ведь это с одной стороны так просто, но с другой стороны так сложно осмыслить её глубину.


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

Julia и квантовые вычисления

Reading time11 min
Views6.1K


Мы представляем Yao (статья), пакет с открытым исходным кодом Julia для решения практических задач в исследованиях квантовых вычислений. Имя Yao происходит от первого китайского иероглифа, означающего унитарность (幺正).

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

Julia и клеточные автоматы

Reading time8 min
Views14K


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

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

STM32 Часть 1: Основы

Reading time4 min
Views36K
Нельзя доверять коду, который вы не написали полностью сами. — Кен Томпсон
Пожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяца и я решил писать статьи для закрепления материала. Все началось с простой задачи, синхронизировать лампы в своей фото студии с помощью Ардуины. Задача была решена, но в фото студию я больше не заходил, времени нет. С того момента я решил основательно заняться программированием микроконтроллеров. Ардуина, хоть и привлекательна в своей простоте, как платформа мне не понравилась. Выбор пал на компанию ST и их популярную продукцию. В тот момент я еще не представлял в чем особо разница, но как типичный потребитель я сравнил скорость «процессора» и количество памяти, купил себе внушительную плату с дисплеем STM32F746NG — Discovery. Я пропущу моменты отчаяния и сразу перейду к делу.
Читать дальше →

Snoop Project невероятный инструмент интернет разведки, которого пользователи рунета ждали так долго — доступен

Reading time5 min
Views84K
image

На Github-e выложен OSINT-инструмент, заточенный (в том числе) для поиска %username по СНГ локации


【Статья обновлена】в связи с развитием функционала Snoop Project.
Если вам до боли знаком такой софт, как namechk или spiderfoot, то «Snoop Project» вас явно порадует, он даёт «им» фору вместе взятым и это не желтый заголовок «Статья вечерняя» — это реальная «forensic-работа» по цифровым следам в киберпространстве…
Читать дальше →

Что делает Free API Московской биржи в Google Таблицах

Reading time3 min
Views109K

Количество частных инвесторов на Московской бирже удвоилось за последний год и составило 3,86 млн: за 2019 счета на Мосбирже открыли 1,9 млн человек. Санкт-Петербургская биржа, специализирующаяся на торгах акциями иностранных компаний, в прошлом году зафиксировала трехкратный прирост счетов – с 910 000 до 3,06 млн шт.



Это означает, что на рынок пришло почти 2 млн новичков, которые никогда не занимались трейдингом и не использовали специализированный софт для торгов и учета позиций.

Google Таблицы и ИСС Мосбиржи

Пишем API на Rust с помощью процедурных макросов

Reading time18 min
Views13K

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


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


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

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

Information

Rating
10,307-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity