В Блумберг на чашку чая забрел Крис и рассказал про [boost].di

В Блумберг на чашку чая забрел Крис и рассказал про [boost].di

Доклад примерно такой: https://youtu.be/NVrZjT5lW5o

Наши слайды: https://github.com/boost-experimental/di/tree/cpp14/doc/bloomberg-2018

К [boost].di я приглядываюсь уже давно.

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

Но! глядя в исходники (https://github.com/boost-experimental/di/blob/cpp14/include/boost/di.hpp), мне вслед за Ерофеевым хочется работать с языком, “где не всегда есть место подвигу”.

Разумеется, это “minified” версия библиотеки, но и в развернутом виде она кажется изуверской вивисекцией. Нечто между “В холоде сам себе скальпелем он вырезает аппендикс” и “давайте отрежем Мересьеву ногу”.

https://github.com/rigtorp/awesome-modern-cpp

https://github.com/rigtorp/awesome-modern-cpp

Подборка полезных ресурсов для пишущих на С++ в стиле “модерн”.

Для любителей списков и списков списков (типа https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D0%BF%D0%B8%D1%81%D0%BA%D0%B8_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%BE%D0%B2)

Интересная и познавательная статья о том, как терпение, стратегия и двойная игра могут оказать весьма нехилое…

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

https://habrahabr.ru/company/ruvds/blog/346442/

Горе от ума!

Горе от ума!

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

После долгих мытарств с Деллом, нашел и купил именно такой ноут, как хотел. В Германии.

Открыл, довольный, и сразу понял, что не учел, что в Германии *физически* другая клавиатура. Мне-то на нарисованные буковки пофиг, я вслепую печатаю, а вот на всякие там Энтеры и Шифты — нет. Три месяца “охотился” и, вот, плачу и смеюсь.

Эх!

Сегодня был мой последний день в Фэйсбуке.

Сегодня был мой последний день в Фэйсбуке.

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

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

Я где-то через денёк её форкну под своим счётом и, авось, попилю дальше.

https://github.com/facebookexperimental/nuclide-kickable

Всем пофиг, но я все равно поделюсь:

Всем пофиг, но я все равно поделюсь:

https://crystal-lang.org/

Компилируемый язык со статической системой типов (но декларировать их почти никогда не нужно) — синтаксис и семантика очень сильно заимствуют из Руби.

А вот так можно быстро привнести в ваш линукс последний кланг со всеми ништяками и с++17.

А вот так можно быстро привнести в ваш линукс последний кланг со всеми ништяками и с++17.

https://www.evernote.com/shard/s251/sh/f45dded3-dd0e-4dbd-8aa7-5bdb6028f75c/a3919fea4fee160b41502e70a56c3d4a

parallel/execution policy пока не работают (виноват libc++)

Мы долго-долго строили…

Мы долго-долго строили…

Я честно посмотрел большую часть докладов CPPCON2017

и кратко запротоколировал:

https://www.evernote.com/shard/s251/sh/ee2ef8fb-0cb6-47c7-8f8a-2dbaba0c99bd/1437bd95b3614377ccdee54f3dd3d709

Все еще смотрю CPPCON, коему “конца и края”.

Все еще смотрю CPPCON, коему “конца и края”.

Но все lightning talks я уже видел. Отделив козлищ от агнцев, предоставляю шортлист относительно интересных пятиминуток:

Hana Dusikova “Regular Expressions Redefined in C++” https://youtu.be/3WGsN_Hp9QY Три минуты, compile time regex, чего же боле?!

Viktor Kirilov “DynaMix: A New Take on Polymorphism in C++” https://youtu.be/NhYY9pnUdwo Динамические миксины. Pattern. О чем же библиотека не понял.

Erik Valkering “Post(er)modern C++” https://youtu.be/Z9JabkvQSi0 smart-reference и зачем он нужен https://github.com/erikvalkering/smartref

Eberhard Gräther “Get Productive on Unfamiliar Source Code”https://youtu.be/r8S6V6U5Vr4 Удобная бродилка по коду с визуализацией зависимостей и графа вызовов. Платная, зараза.

Phil Nash “A Composable Command Line Parser” https://youtu.be/Od4bjLfwI-A Клара — удобно определяем аргументы для ком. строки

Jorg Brown “Calling code w/o headers…” https://youtu.be/-AZE25CJK-A Как нагнуть систему типов, и вызывать функции не подключая их заголовки.

Jody Hagins “Throwing Exceptions for Fun and Profit” https://youtu.be/uRZZ8_d4nGM Как обернуть throw, чтобы не платить за их поддержку в обычном потоке.

Jan Plhak “Pybind11 – Python on Steroids” https://youtu.be/uM1QQXekhpo pybind11 может подружить питоновский код с плюсовым

Morris Hafner “STATIC_WARN” https://youtu.be/JsCCFO5u8Xk Может быть полезно

Giuseppe D’Angelo “Solving a bug via lateral thinking” https://youtu.be/lbCaBqhnckQ Анекдотическая история про дебаг эксмаскрипта. Где-то уже было.

Michael Mehlich “Transforming C++ Code with DMS” https://youtu.be/86fwuXSz7lQ Переписывает код с С++ на С++. Через DSL правил. Вроде, платный.

Takatoshi Kondo “mqtt_cpp: Boost.Asio based mqtt communication library” https://youtu.be/zy_sUBt3wc0 Сумбурно о протоколе (и библиотеке) для передачи сообщений в мире IOT.

Charles L. Wilcox “The Three Layers of Headers A Curious Discovery” https://youtu.be/su9ittf-ozk С циклической зависимостью мы и так справимся, а вот раскладка на слои небезынтересная.

Viktor Kirilov “DynaMix: A New Take on Polymorphism in C++” https://youtu.be/NhYY9pnUdwo Динамические миксины. Pattern. О чем же библиотека не понял.

https://www.pvk.ca/Blog/2017/12/22/appnexus-common-framework-its-out-also-how-to-print-integers-faster/

https://www.pvk.ca/Blog/2017/12/22/appnexus-common-framework-its-out-also-how-to-print-integers-faster/

Ребята наваяли itoa быстрей чем у Александреску в FB.

Но честно признаются — не надо маятся фигней, надо хранить числа в бинарном фомате.