Shrimp: масштабируем и раздаем по HTTP картинки на современном C++ посредством ImageMagic++, SObjectizer и RESTinio

Предисловие

Наша небольшая команда занимается развитием двух OpenSource инструментов для C++разработчиков — акторного фреймворка SObjectizer и встраиваемого HTTP-сервера RESTinio. При этом мы регулярно сталкиваемся с парой нетривиальных вопросов:

  • какие фичи добавлять в библиотеку, а какие оставлять «за бортом»?
  • как наглядно показывать «идеологически правильные» способы использования библиотеки?

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

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

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

Сегодня мы хотим рассказать как раз об одной такой «небольшой» задачке, в которой естественным образом объединились SObjectizer и RESTinio.

Масштабирование и раздача картинок. Почему именно это?

В качестве небольшой демо-задачи для самих себя мы выбрали HTTP-сервер, который раздает по запросам отмасштабированные картинки. Вы складываете изображения в какой-то каталог, запускаете HTTP-сервер, делаете к нему запрос вида:
Читать дальше →
Shrimp: масштабируем и раздаем по HTTP картинки на современном C++ посредством ImageMagic++, SObjectizer и RESTinio
Source: geektimes

Пост №3566913

Автор: TonyK13

Сычевальня, которую мы заслужили Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3566913″ }, «headline»: «Сычевальня, которую мы заслужили / Объявления :: квартира :: аренда :: сычевальня :: авито», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B0%D1%80%D0%B5%D0%BD%D0%B4%D0%B0-%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B8%D1%80%D0%B0-%D1%81%D1%8B%D1%87%D0%B5%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D1%8F-%D0%9E%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-4578539.jpeg», «height»: 639, «width»: 651 }, «datePublished»: «2018-07-09T10:24:23+03:00», «dateModified»: «2018-07-09T10:24:23+03:00», «author»: { «@type»: «Person», «name»: «TonyK13» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3566913
Source: Joyreactor

Пост №3566907

Автор: AleksFry

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3566907″ }, «headline»: «тян :: почесушки :: собака (собакен, собакены, собаки, щенки, щенок, собака, ) :: язык :: gif», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D1%81%D0%BE%D0%B1%D0%B0%D0%BA%D0%B0-%D0%BF%D0%BE%D1%87%D0%B5%D1%81%D1%83%D1%88%D0%BA%D0%B8-%D1%8F%D0%B7%D1%8B%D0%BA-%D1%82%D1%8F%D0%BD-4578532.gif», «height»: 458, «width»: 460 }, «datePublished»: «2018-07-09T10:13:44+03:00», «dateModified»: «2018-07-09T10:13:44+03:00», «author»: { «@type»: «Person», «name»: «AleksFry» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3566907
Source: Joyreactor

Цитата #451187

Постригли малютку пуделя, чтобы не мучился от жары, и случилось преображение: вместо терьеристого бобика явилась нам тонконогая финтифлюшка, собачонка с мелким носиком и общим просительным выражением лица. "Не бейте!". Или: "Подайте!"
И здесь, с одной стороны, хочется сделать вывод о важности парикмахеров в нашей жизни, а с другой, сразу понимаешь, что от задиристого терьера до жалкой болонки тебя отделяет не внутренняя стена, характер, условия взросления и проч, а каких-то триста грамм волос.
Цитата #451187
Source: bash

Пост №3566904

Автор: Proteus_An

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://anime.reactor.cc/post/3566904″ }, «headline»: «FKEY (Zengxianxin) :: AO :: nekomimi :: Anime Art (Аниме арт, Аниме-арт) :: Animal Ears (Kemonomimidae, Девушки с ушками, Anime Ears) :: Anime (Аниме)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/FKEY-Anime-Art-Anime-AO-4578527.jpeg», «height»: 1273, «width»: 900 }, «datePublished»: «2018-07-09T10:12:06+03:00», «dateModified»: «2018-07-09T10:12:06+03:00», «author»: { «@type»: «Person», «name»: «Proteus_An» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3566904
Source: Joyreactor

Цитата #451186

— Не нужно начинать разговор с "я — веган". Это как-то сразу раздражает. Ты мог бы просто говорить "я не ем мясо" — мало ли, по каким причинам.
— Хорошо. Ты знаешь, я не ем мясо…
— Опачки! Веган штоле?!
Цитата #451186
Source: bash

Цитата #451185

xxx: Как кошку назовешь — так она и будет жить…
xxx: В общем, назвал кошку Никсей, лет 7 все было хорошо, а вчера пр приходу с работы обнаружил коробку диска с виндой погрызанным и наполовину закопанным в землю в горшке из под пальмы.
Цитата #451185
Source: bash

[Перевод] Достаточно ли на ледяных мирах химических веществ, чтобы поддерживать там жизнь?

Десятилетиями учёные считали, что под ледяной поверхностью Европы, спутника Юпитера, может быть жизнь. За это время появилось несколько различных свидетельств в пользу того, что этот спутник не одинок. И действительно, в Солнечной системе существует множество «океанических миров», потенциально способных поддерживать жизнь: Церера, Ганимед, Энцелад, Титан, Диона, Тритон, и даже, вероятно, Плутон.

Но что, если на этих мирах не хватает элементов, необходимых для такой жизни, какую мы знаем? В новом исследовании двое учёных из Гарвард-Смитсоновского центра астрофизики (CfA) решили определить, может ли у океанских миров оказаться дефицит необходимых для жизни элементов. Их выводы могут серьёзно повлиять на теории о существовании жизни в Солнечной системе и за её пределами, не говоря уже о наших способностях изучать жизнь.
Читать дальше →
[Перевод] Достаточно ли на ледяных мирах химических веществ, чтобы поддерживать там жизнь?
Source: geektimes

Обзор Ulefone Power 5: как не заряжать смартфон неделю

Во многие современные смартфоны ставят аккумуляторы, едва доживающие до конца рабочего дня. Делается это обычно в угоду тонким корпусам, которыми можно ненароком ладонь порезать. Просьбы сделать гаджет […]
Обзор Ulefone Power 5: как не заряжать смартфон неделю
Source: 4pda

[recovery mode] Лента новостей: почему мы делаем это неправильно?

Здравствуй, меня зовут Дмитрий Карловский и у меня для вас новость. Ну как новость, свежий взгляд на привычную вещь в виде очередной статьи. Скорее всего вы попадёте на неё из какой-либо ленты новостей. Или не попадёте, если новость будет опубликована не вовремя. Независимо от того, насколько данная статья была бы вам интересна.

Типичная лента новостей

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

Читать дальше →
[recovery mode] Лента новостей: почему мы делаем это неправильно?
Source: geektimes