Search
Write a publication
Pull to refresh
-16
0
Send message

С++ exception handling под капотом. Часть 2

Reading time19 min
Views21K
Продолжаем перевод серии статей об обработки исключений в С++

1 часть
3 часть

C++ exceptions под капотом: милая персональность


Наша поездка в удивительном путешествии изучения работы исключений еще далека от конца, нам еще предстоит изучить что-то называемое "call frame information", помогающая библиотеке Unwind делать разворачивание стэка, а так же что компилятор пишет в чем-то, называемом LSDA, в которой определяется, какие ошибки метод может обрабатывать. А так же мы уже узнали, что большинство магии происходит в персональной функции, которую мы пока еще не видели в действии. Давайте резюмируем, что мы уже знаем о пробросе и отлове ошибок (или, точнее, что мы уже знаем о том, как брошенное будет перехвачено):

  • компилятор транслирует throw объявление в пару cxa_allocate_exception/xca_throw
  • __cxa_allocate_exception создает исключение в памяти
  • __cxa_throw запускает работу разворачивания и передает исключение в низко-уровневую библиотеку разворачивания, вызывая _Unwind_RaiseException
  • Разворачивание стэка использует CFI, чтобы узнать, какая сейчас функция в стеке
  • Каждая функция имеет LSDA, добавляя что-то, называемое .gcc_except_table
  • Разворачивание вызывает персональную функцию с текущим фреймом стэка и LSDA, которая должна продолжить разворачивать стэк, если текущая функция не имеет обработчиков исключения данного типа.
Читать дальше →

Что нам стоит умный дом построить?

Reading time7 min
Views18K


Еще недавно экзотические понятия «умных устройств» и «умных домов» широко вошли в наш повседневный быт, упрощая ведение хозяйства и добавляя комфорта. Хотя, если задуматься, инженеры просто сделали сказку былью. Ведь первая смарт-избушка была на самом деле уже у бабы-яги. Помните – «избушка, избушка, повернись ко мне передом, к лесу задом»? Да и «сим-сим, откройся» из сказки про али-бабу чем не аналог клича современного пользователя «Привет, Алиса» или «Окей, Гугл»?  

От избушки Бабы-Яги…


За последние годы появилось огромное кол-во «умных» устройств и помощников, позволяющих управлять любыми бытовыми устройствами, освещением, климатом, следить за безопасностью жилища или просто развлекать домочадцев и гостей. Недостатка в рекламе этих гаджетов нет, но как не утонуть в этом море информации? Опираясь на 20 летний опыт инженерной работы в IT индустрии и годы автоматизации своего дома и дачи, я хочу поделиться полученными навыками, которые, надеюсь, помогут новичкам в решении вопросов домашней автоматизации и уберегут их от возможных ошибок.
Читать дальше →

5 мифов об ИБП, их опровержение и реальное положение дел

Reading time9 min
Views120K


Источники бесперебойного питания уже не одно десятилетие — важный, но неприметный атрибут корпоративных офисов и домашних кабинетов. Многие из нас вспоминают о них в редкие моменты отключения электричества или когда надо купить новые ИБП или же заменить в них батареи. Вот тут и возникает желание сэкономить. А где желание сэкономить — там всевозможные мифы и «рассказы бывалых». Сегодня на 5 таких мифов станет меньше.
Читать дальше →

Sherbet: эргономичная игровая клавиатура

Reading time11 min
Views18K
Перевод статьи из блога самодельщика Billiam

Через некоторое время после того, как мою Logitech G13 перестали выпускать, она у меня сломалась, и я решил разработать для неё замену, которую назвал Sherbet.

Сначала – что получилось:


Клавиатура с джойстиком

Файлы для печати и инструкция по сборке: www.prusaprinters.org/prints/5072-sherbet-gaming-keypad

Проектирование


Мне хотелось сделать аналоговый джойстик под большой палец, как и у G13, а ещё я решил включить в проект несколько эргономических улучшений от других клавиатур — Dactyl keyboard, Dactyl Manuform, Kinesis Advantage и Ergodox. Конкретно – смещение клавиш от вертикали, смещения по высоте, кривизна столбцов и более удобный наклон.
Много фоток

Роботаракан Петя за десять баксов

Reading time10 min
Views30K

Знакомьтесь с Петей, шестиногом о трёх сервоприводах


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


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

Четвертушка Ethernet-а: старая скорость, новые возможности

Reading time6 min
Views92K

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

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

Настраиваем простой VPN с WireGuard и Raspberry Pi в качестве сервера

Reading time4 min
Views53K
Поскольку WireGuard станет частью будущего ядра Linux 5.6, я решил посмотреть, как лучше всего интегрировать этот VPN с моим LTE-маршрутизатором/точкой доступа на Raspberry Pi.

Оборудование


  • Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее в тексте он называется edgewalker)
  • Телефон на Android, который должен использовать VPN для всех коммуникаций
  • Ноутбук Linux, который должен использовать VPN только внутри сети

Каждое устройство, которое подключается к VPN, должно иметь возможность подключаться ко всем другим устройствам. Например, телефон должен иметь возможность подключаться к веб-серверу на ноутбуке, если оба устройства являются частью сети VPN. Если настройка получится достаточно простой, то можно подумать о подключении к VPN и десктопа (по Ethernet).
Читать дальше →

Расчет прибыльности от «Зелёного тарифа» в 2020 г., Украина

Reading time4 min
Views25K
Законодательные изменения в 2020 году для рынка домашней «Зелёной» энергетики, обзор выработки моих станций и расчёт, что получится, у желающих построить свою станцию в 2020 г.


КДВП — отражает положение дел в «Зелёной энергетике»
Читать дальше →

Собираем цветомузыку к Новому году

Reading time3 min
Views24K
image

Всем привет!

Скоро новый год и нужно как то оригинально украсить свою комнату к празднику. Для этого идеально подходит цветомузыка, в основе которой Ардуино и светодиодная лента ws2812b.

Красочные адресные светодиоды на новый год без программирования и пайки

Reading time7 min
Views46K

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



Рассмотрю два варианта — отдельно без существующей домашней автоматизации и работу в связке с “умным домом”.

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

Умная гирлянда на весь год

Reading time4 min
Views47K
Адресные светодиоды позволяют делать очень красивые ёлочные гирлянды, где каждый «огонёк» управляется независимо, меняя цвет и яркость. Эффекты и анимация такой гирлянды выглядят очень интересно.

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

Наборы и конструкторы для начинающих электронщиков 6-10 лет. Что доступно в магазинах

Reading time2 min
Views31K
После серии моих публикаций, мне посыпались вопросы, а что я могу порекомендовать для детей 6-10 лет, которым родители хотели бы показать «основы» радиоэлектроники? Я посмотрел что есть в масс-маркете и составил свой список. Он не окончательный и я надеюсь в комментариях вы выскажете свое мнение о нем и предложите свои варианты.


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

Заметки обо всем. Простые и опасные источники питания

Reading time11 min
Views64K


О чем эта статья


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

Прошу желающих и интересующихся читать, критиковать, уточнять и дополнять на почту shiotiny@yandex.ru или на мой сайт в раздел «Контакты».

Вступление


Не так давно один мой знакомый влез пальцами в некую схему, которую собирался починить (проводок отвалился — так что просто припаять его надо было на место). И его ударило током. Не сильно ударило, но ему хватило, чтобы удивиться: «как так — тут микроконтроллер стоит, что тут может стукнуть? Он же от 5 вольт питается!».

Его удивление быстро разъяснилось: схема оказалась с бестрансформаторным питанием и без гальванической развязки от сети.

Далее последовали вопросы уже в мою сторону. Сводились они к двум вещам: «А чё? Так можно делать?!» и «А как оно работает?».

Хотя я и не считаю себя экспертом в электронике, но делать подобные блоки питания мне приходилось. Так что пришлось взять ручку и листок и объяснить как оно работает. Благо это совсем не сложно.

Возможно, что и вам покажется интересной тема «бестрансформаторных» источников питания или, сокращённо, БИП. Кому-то для общего развития, а кому-то и для практического применения.
Читать дальше →

Создание консоли c изменяемой высотой для более удобной работы за компьютером

Reading time3 min
Views20K
Доброго времени суток, сегодня я хочу рассказать об устройстве которое я разработал и собрал.



Введение


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

Так же есть несколько различных моделей настольных/настенных консолей. Например Ergotron (IMHO самая большая контора про производству подобных устройств).
читать далее

Миниатюрный электротехнический конструктор для детей своими руками

Reading time2 min
Views18K
Хотя я и создаю настольные игры, обучающие в том числе и основам электротехники, но я всегда рекомендую совмещать их с физическими деталями, проводами и макетными платами.

И поэтому я хочу представить вам конструктор размером с пластиковую банковскую карточку, который был разработан для ознакомления детей с простыми схемами, но достаточно необычным образом. Идея была сделать простоту уровня Знатока, но на макетных платах.

Самодельный счётчик Гейгера на ESP8266 с сенсорным экраном

Reading time4 min
Views36K


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

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

Умные замки: какие есть, как работают (и кто устанавливает)

Reading time8 min
Views96K


В старых добрых сериалах о космосе, вроде «Звездного пути», у людей напрочь отсутствовала паранойя. Почему? Они все поголовно пользовались умным замками. Подходит герой к двери — и та открывается. Прямо через научно-фантастический аналог Face ID. Сейчас умные замки уже существуют и работают. Рассказываем подробнее о типах умных замков, подводных камнях и конкретных устройствах.

Бюджетная водянка для GPU. Знакомство и первый опыт

Reading time5 min
Views38K
Хочу поделиться с Вами, как Я собирал свою первую «бюджетную», местами самодельную, систему водяного охлаждения. Где-то на пути создания встречались неудобства, а где-то удача улыбалась. Я не ожидаю от СВО каких-то чудес и рекордов, а всего лишь хочу немного снизить температуру сильно-греющихся деталей и, разумеется, насладиться процессом ее создания. Также хочу чтобы те, кто тоже захочет собрать водянку сам, обратил внимание на трудности, с которыми я столкнулся и постарался избежать их.

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

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

Проблема PGP

Reading time11 min
Views54K
Криптоинженеры уже несколько десятилетий кричат о недостатках PGP. Когда это слышат обычные разработчики, то бывают крайне удивлены. Как, PGP никуда не годится? Зачем же тогда его советуют использовать? Ответ в том, PGP действительно никуда не годится, и никому никогда не следует его рекомендовать. Он должен исчезнуть.

Как вы скоро увидите, у PGP много проблем. Если не вдаваться в подробности, основная причина в том, что программа разработана в 90-е годы, до появления серьёзной современной криптографии. Ни один компетентный криптоинженер сегодня не станет разрабатывать систему в таком виде и не потерпит большинства её дефектов ни в какой другой системе. Серьёзные криптографы в основном отказались от PGP и больше не тратят на неё времени (за некоторыми заметными исключениями). Поэтому хорошо известные проблемы в PGP остаются нерешёнными более десяти лет.
Читать дальше →

В Италии началась Open Source революция

Reading time4 min
Views66K

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


Оригинальный пост на английском опубликован представителем итальянской государственной команды по цифровизации (Italian Government Digital Transformation Team) — прим. перев.


«Свобода, ведущая народ»


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


Следуя этим гайдлайнам гос. учреждения могут (и должны) опубликовать всё ПО, приобретённое ранее и приобретаемое с этого момента, на Developers Italia.

Мы впервые упомянули эти правила в 2018 году в статье «Открытое программное обеспечение и государство: онлайн-рекомендации по приобретению и повторному использованию ПО», в которой было анонсировано начало публичных консультаций. В течение этого периода нам прислали много ценных комментариев, которыми гайдлайны были дополнены. Это чётко показало, что пришло время окончательно принять парадигму Open Source.


Спустя несколько месяцев, после одобрения Объединённой конференцией и Европейской комиссией, процесс принятия был завершён, а гайдлайны опубликованы в Official Journal (такая публикация является условием вступления закона в силу — прим. перев.).

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

Information

Rating
Does not participate
Registered
Activity