Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.Asio накопилось много. И уже в тот момент, когда казалось, что легче подбросить монетку, одна задача все изменила. Нужно было разработать инструмент, позволяющий frontend’у фильтровать данные в запрашиваемых списках. Сам же список со стороны backend'а представляет собой обыкновенный json_array. Добро пожаловать под кат, там все взлеты и падения последних дней.
Смирнов Дмитрий @Kroineko
Разработчик
Асинхронный обмен данными с удалённым приложением через SSH
8 мин
9KДоброго времени суток, друзья и коллеги. Меня всё ещё зовут Дмитрий Смирнов, и я всё ещё, к моему вящему удовольствию, являюсь разработчиком ISPsystem. Некоторое время назад я начал работу над совершенно новым проектом, который меня очень вдохновил, поскольку новое — это в нашем случае отсутствие легаси кода и поддержки старых компиляторов. Здравствуй, Boost, C++17 и все прочие радости современной разработки.
Так случилось, что все мои прошлые проекты были многопоточными, соответственно, у меня было крайне мало опыта с асинхронными решениями. Именно это стало самым приятным для меня в этой разработке, помимо современных мощных инструментов.
Одной из последних сопутствующих задач стала необходимость написать обёртку над библиотекой libssh2 в реалиях асинхронного приложения, использующего Boost.Asio, и способного породить не более двух потоков. Об этом и расскажу.
![](https://habrastorage.org/webt/j2/fm/-k/j2fm-k44ityxe7_xjzcrwxwy7hw.jpeg)
Примечание: автор предполагает, что читатель знаком с основами асинхронной разработки и boost::asio.
Так случилось, что все мои прошлые проекты были многопоточными, соответственно, у меня было крайне мало опыта с асинхронными решениями. Именно это стало самым приятным для меня в этой разработке, помимо современных мощных инструментов.
Одной из последних сопутствующих задач стала необходимость написать обёртку над библиотекой libssh2 в реалиях асинхронного приложения, использующего Boost.Asio, и способного породить не более двух потоков. Об этом и расскажу.
![](https://habrastorage.org/webt/j2/fm/-k/j2fm-k44ityxe7_xjzcrwxwy7hw.jpeg)
Примечание: автор предполагает, что читатель знаком с основами асинхронной разработки и boost::asio.
+18
Пишем плагин для получения wildcard-сертификатов Let’s Encrypt
5 мин
6.2KИ снова здравствуй, дорогой читатель. Вторая глава о похождениях Let’s Encrypt в панели ISPmanager объявляется открытой. В предыдущей статье мы обсудили плагин для ACME v01. В этой поговорим о его эволюции с точки зрения логики работы с пользователем и, разумеется, о протоколе ACME v02 с поддержкой wildcard-сертификатов.
![](https://habrastorage.org/getpro/habr/post_images/83a/ef8/da1/83aef8da17fd132c3e3a0c97b019c9e5.png)
![](https://habrastorage.org/getpro/habr/post_images/83a/ef8/da1/83aef8da17fd132c3e3a0c97b019c9e5.png)
+18
Формирование JWS и JWK из rsa-ключей на примере интеграции Let’s Encrypt и ISPmanager
6 мин
17KВсем привет! Меня зовут Дмитрий Смирнов, я разработчик из ISPsystem и это именно я в ответе за появление в панели ISPmanager 5 интеграции с Let’s Encrypt. Расскажу, как проходила разработка плагина, как он менялся и как пришел в теперешнее состояние. Из текста узнаете, как формировать JWS и JWK из rsa-ключей и получать Let’s Encrypt сертификат для ACME v01. Если интересно, добро пожаловать под кат.
![image](https://habrastorage.org/webt/ga/qn/bb/gaqnbbn9stvrpxcbwwwic42bsgo.jpeg)
![image](https://habrastorage.org/webt/ga/qn/bb/gaqnbbn9stvrpxcbwwwic42bsgo.jpeg)
+14
Информация
- В рейтинге
- Не участвует
- Откуда
- Иркутск, Иркутская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность