Удобное место, чтобы написать свою статью или просто почитать

Показаны статьи и заметки из категорий: Концепции и идиомы в программировании ×

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

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

Компоненты системы взаимодействуют между собой по сети, используя различные протоколы. Также предоставляется способ внешнего взаимодействия с системой. Обычно, в качестве способа интеграции с "внешним миром" реализуется протокол на базе REST (Uber, Яндекс.Диск, DigitalOcean, AWS, список почти бесконечен). Реализовать такое взаимодействие можно чуть ли не в автоматическом режиме (Swagger). Код в этом случае будет сгенерирован для любого языка... но не для С++.

Как же быть, если нам нужно использовать C++, для реализации веб-сервиса, поддерживающего REST-API ? Почему нам может понадобиться именно С++ для этой задачи? Об этом и многом другом поговорим далее.

Читать полностью | | | | 4590



Если Вам знаком термин "рефлексия" и Вы пишите программы, которые используют этот механизм - то, возможно, Вас заинтересует как обстоят дела с этим "явлением" в других языках программирования. Если же этот термин Вам ни о чем не говорит, то ниже Вы найдете краткое пояснение, что же такое рефлексия (или как её еще называют - отражение) и несколько простых примеров с рефлексией на языках C++, Java и Python.

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

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

Читать полностью | | | | 8076



Все мы знаем, а многие даже читали, книгу Герба Саттера "Решение сложных задач на С++", которая появилась благодаря известным публикациям из серии под названием "Guru of the Week". Одна из задач в этой книге была посвящена std::uncaught_exception и звучала она так:

GotW #47: "Что собой представляет стандартная функция std::uncaught_exception и когда она должна использоваться?" 

Ответ дан в книге Саттера еще в далеком 2002 году. Однако, комитет решил вернуться к обсуждению этой "редкой" функции в 2013. Что же решили изменить и для чего все-таки нужна эта функция, я постараюсь "за 5 минут" рассказать в данном посте. Уделите время, и Вы также узнаете про декларативный подход в обработке ошибок, предложенный Александреску.

Читать полностью | | | | 3220

Показаны статьи и заметки из категорий: Концепции и идиомы в программировании ×