Как стать автором
Поиск
Написать публикацию
Обновить
0
@dansenisheeeread⁠-⁠only

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

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

Детки, не учитесь кодить. Вместо этого освойте моделирование

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

«Я хочу творить, а не быть следствием чужого творчества. Я хочу принадлежать к тем, кто создает смыслы, а не быть плодом этого смысла».

Представьте себе ситуацию. Скоро истекут сроки подачи документов в колледж. Очередная партия новичков изберет профессию, адепты которой постоянно задаются вопросом: «А нужны ли будут программисты через год... через пять лет... или через десять лет?». И хотя горячие дебаты на этот счет уже улеглись, в воздухе висит немой вопрос: не настанет ли час, когда крупные языковые модели, такие как ChatGPT, заменят нас на поприще написания кода. Неважно, кто ты — абитуриент, зависший в нерешительности перед выбором ВУЗа, или матерый кодер, я предлагаю тебе остановиться и кое-что переосмыслить. А поможет нам в этом деле... кукла Барби.

Читать далее

Обзор AудиоКодека NAU8814YG

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

Аудио кодек по сути это цифро-аналоговое устройство, где есть пара ADC + DAC. На входе обычно есть сумматор на операционных усилителях для подмешивания аналогово сигнала с разных проводов, есть еще аналоговые усилители. Высокоскоростной многоканальный интерфейс: I2S или TDM. И интерфейс I2C для того чтобы всем этим добром управлять.

В этой заметке я написал о своём опыте работы с ASIC аудиокодеком NAU8814.

Читать далее

Написал книгу по C#

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

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

Читать далее

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

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

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее

Ответ на «Коротко о том, почему Rust лучше C/C++» или меня не бомбит

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

Собственно ответка на указанную статью.

Решил ответить на претензии автора. А так же рассказать, почему С\С++ именно такой какой есть. Почему приняты такие решения при его создании и развитии. Указать на явные недостатки Rust'а и его инфраструктуры. Язык не может существовать сам по себе. Он должен иметь не только токсичное сообщество, но и быть нужным работодателю.

Поехали

Вы все еще пишете многопоточку на C++ с ошибками синхронизации?

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

Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).

Сразу хочу оговориться, что тема многопоточности — очень большая и серьезная. И эта статья — не полноценный анализ проблем многопоточки, а только частНЫе (но довольно частЫе) кейсы, когда мы вынуждены использовать мьютексы.
Читать дальше →

Секретная китайская плата: контроллер стиральной машины

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


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

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

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

XRay (с VLESS/XTLS): проброс портов, реверс-прокси, и псевдо-VPN

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

Я уже написал тут много статей на тему установки и настройки прокси‑серверов XRay с недетектируемыми протоколами Shadowsocks-2022, VLESS (с XTLS), и т. п. И один из очень часто поднимаемых в комментариях вопросов звучит так: можно ли с использованием XRay как‑то организовать проброс портов или получать доступ к внутренностям корпоративной сети? Можно, и сейчас я расскажу как.

Итак, что же можно сделать с помощью реверс‑проксирования?

Можно получать доступ к каким‑либо сервисам на хосте за NAT'ом или строгим фаерволом, и даже более того — можно получать доступ к сервисам на других устройствах в локальной сети, к которой имеет доступ этот самый хост за NAT'ом файерволом.

Можно маршрутизировать весь (или некоторый в зависимости от настроенных правил) трафик на хост за NAT'ом или фаерволом и выпускать его оттуда в Интернет.
Например, вы проживаете за границей, хотите оплачивать счета за ЖКХ вашей недвижимости оставшейся России, но сервис оплаты не пускает вас с забугорных IP и не пускает вас с IP‑адресов даже российских VPS‑хостеров. Тогда можно поставить у кого‑нибудь из друзей или родственников в РФ преднастроенный роутер или одноплатник типа Raspberry Pi, который подключится к вашему прокси‑серверу, а вы, в свою очередь, через прокси‑сервер сможете достучаться до этого роутера/р‑пишки и выйти через него во внешний интернет как обычный пользователь, находящийся в России — и всем ресурсам будет виден IP‑адрес российского домашнего интернет‑провайдера.

Можно выборочно пробрасывать порты, например, все подключения на 80 порт прокси‑сервера будут переадресовываться на 80 (или любой другой) порт «изолированного» хоста или еще куда‑то дальше.

Можно даже в теории соорудить псевдо‑VPN, чтобы подключенные клиенты прокси‑сервера могли достукиваться друг до друга.

Читать далее

Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги?

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

На Хабре неоднократно в комментариях звучало мнение, что Россия впереди планеты всей по онлайн‑сервисам. Мол, у нас и госуслуги, и финтех, и такси, и доставки — все на высочайшем уровне, а в остальных странах, а особенно в отсталой Европе бедные бюргеры до сих пор стоят в многочасовых очередях, заполняют вручную тонны бумажек и ждут в очередях на кассах чтобы сделать банковский перевод, а курьер не привезет им ночью смузи в течении получаса после заказа. Давайте разбираться, так это или нет.

Читать далее

9 Синтез и коррекция систем автоматического регулирования (САР)

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

Продолжаем публикацию лекций по предмету "Управление в технических системах". Кафедра "Ядерные энергетические установки" МГТУ им. Н.Э. Баумана. Автор: Олег Степанович Козлов.

1. Введение в теорию автоматического управления.2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13

3. Частотные характеристики звеньев и систем автоматического управления регулирования. 3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности

4. Структурные преобразования систем автоматического регулирования.

5. Передаточные функции и уравнения динамики замкнутых систем автоматического регулирования (САР).

6. Устойчивость систем автоматического регулирования. 6.1 Понятие об устойчивости САР. Теорема Ляпунова. 6.2 Необходимые условия устойчивости линейных и линеаризованных САР. 6.3 Алгебраический критерий устойчивости Гурвица. 6.4 Частотный критерий устойчивости Михайлова. 6.5 Критерий Найквиста.

Читать далее

Документируем код эффективно при помощи Doxygen

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


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

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

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

Автодокументация Doxygen и её развертывание на GitHub Pages

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

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

Документация будет создаваться на основе исходного кода, она будет обновляться при каждом коммите и при этом будет доступна через интернет. Документирование происходит через Doxygen, в качестве хостинга выступает GitHub, а за обновление документации отвечает GitHub Pages.

Читать далее

Странные осцилляции в казалось бы простой числовой последовательности

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

Есть простая последовательность чисел...

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

Читать далее

Итак, вы унаследовали старую кодовую базу на C++. Что дальше?

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

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

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

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

И что делать теперь?

Не волнуйтесь, у меня такое случалось очень много раз и в разных компаниях (кто-то язвительный может спросить: а разве кодовые базы на C++ бывают какими-то другими?), выход есть, он не особо сложен и поможет вам действительно устранять баги, добавлять фичи, а то и когда-нибудь переписать её.

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

Ламповый дисплей для компьютера. Часть 1 — обзор концепций и постановка задачи

Время на прочтение10 мин
Количество просмотров15K
Всем привет! Мне с большим трудом удалось побороть лень и начать писать новый цикл статей, но на этот раз не о лазерах. Дело в том, что лазеры – не единственный мой интерес, значительное место в списке интересов у меня занимает ламповая техника в её разнообразных проявлениях, и совершенно особый фетиш – советская ламповая радиолокационная аппаратура. Мне давно хотелось отвлечься от лазеров и создать что-то такое, что, как бы это ни звучало банально, не имеет аналогов. Потому вспомнил одну старую идею, очень долго лежавшую в «долгом ящике». И речь в статье пойдет о нестандартных устройствах отображения визуальной информации.
image

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

Согласование волнового сопротивления на СВЧ

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

Иногда приходится наблюдать борьбу за каждую долю Ватта, а то и миллиВатта при первых запусках аналоговых СВЧ-схем. Когда разработчик делает плюхи раскатанным индием по поверхности печатной платы устройства. Либо просто недоумевают откуда возник повышенный уровень отражений на его входе, хотя покупные СВЧ-компоненты соединены между собой дорожками по 50 Ом, которые не предполагают сильных рассогласований. А если детально покопаться, то замечаешь, что в погоне за 50 Ом произошло пренебрежение, казалось бы, мелкими, но важными вещами, влияющим на качество согласования узлов между собой. Кто-то пытается досогласовывать вот так, по факту, хотя проще это сделать на этапе проектирования. Как можно было избежать подобных неприятностей?

Попробуем разобраться...

SamsPcbGuide, часть 9: Гальваническая изоляция, безопасность и печатные платы

Время на прочтение8 мин
Количество просмотров17K
Данная статья продолжает рассмотрение темы, поднятой @olartamonov, а именно, обеспечение безопасности в высоковольтных приложениях. В статье будут рассмотрены физические основы пробоя диэлектриков, а также новый стандарт безопасности.
Читать дальше →

Делаем новый контроллер сервоприводов

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

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

Читать далее

Проект «Селенит». Часть 1: Побуждение к действию

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

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

Воодушевление от руководства чужими проектами к тому времени я испытывал всё реже и реже. Хотелось чего-то своего, причём восхитительно бесполезного. А что может быть бесполезней в век социальных сетей, чем коротковолновая любительская радиостанция? Только «бюджетная» любительская радиостанция!

О разработке в одиночку радиолюбительского SDR-трансивера, простого и доступного по цене, и пойдёт речь дальше.

Все части цикла статей о создании любительской радиостанции:
Читать дальше →

Настройка VSCode для отладки китайского RISC-V SoC

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

Я всей душой люблю малоизвестных производителей. Зачастую их продукты имеют фичи, недоступные у их более именитых конкурентов, по очень интересной цене (однажды меня очень выручило наличие встроенной в SoC полуамперной зарядки для аккумулятора и нескольких LDO, способных запитать всю периферию). Кроме того, сроки и условия поставки какого-нибудь Nanjing Qinheng Microelectronics могут приятно удивить разработчиков, привыкших за последние два ковидных года к конскому ценнику и 52+ неделям доставки на ST, TI, Nordic и прочие привычные вещи. Логистика становится особенно приятной, если массовое производство планируется в Китае и на площадке присутствует ваша китайская команда, способная разрулить возникающие проблемы. Да и доставка из Шеньчженя в Шеньчжень проще и предсказуемей, чем со склада глобального дистрибьютора и растаможка в России.

Погрузиться в дивный мир

Информация

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