🐙 Antony
Berkus
для простой задачи - уменьшить ее размер с 5000 строк кода до 10-15
Berkus
по моему вполне адекватно
Anonymous
я решил сделать вебхук для бота
Berkus
я тебе гарантирую что на голых сокетах ты сделаешь обработку SSL _неправильно_ - даю 146%
Anonymous
в телеграмме
Anonymous
дык, оно не заработает если будет неправильно
Berkus
или будет silently insecure да
Berkus
если не заработает - считай повезло
Anonymous
в каком месте оно будет insecure?
Berkus
ну ты когда сервер будешь от троянов вычищать - расскажи где был прорыв, пока мы не знаем
Berkus
(утрированно)
Anonymous
дык, я не буду ничего запускать из того что получу в ответе
Anonymous
или как ты себе это видишь?
Anonymous
короче, я буду пользоваться тем что я неуловимый джо
Anonymous
кому оно будет нужно
Anonymous
шанс того что в бусте найдется уязвимость больше он же популярнее
Berkus
Anonymous
ну смотри, чем больше знаний о цели тем проще
Anonymous
это даёт некие вектора для атаки
Anonymous
что ты будешь делать с чёрным ящиком и получишь ты от этого выгоду?
Anonymous
я не спорю что может быть там всё нормес, но 0day никто не отменял
Berkus
Berkus
(все эти показатели в случае собственноручно написанного кода явно равны нулю)
Berkus
с эпсилоном в районе статистической погрешности
Andrei
Berkus
*yawn*
🐙 Antony
знать каким тулкитом человек пользуется просто ненужно - велосипедники лепят типовые ошибки, на них типовые атаки
Anonymous
ну допустим. можно ведь затолкнуть адресса телеграмма в белый список
Anonymous
а всех остальных просто отключать
Anonymous
ещё на уровне сокетов
Anonymous
что исключит большую половину всего описанного
Berkus
не, если ты хочешь практиковаться в том как делать не надо - флаг тебе в руки
🐙 Antony
да дело хозяйское. Хотите с сокетами на низком уровне работать - ССЗБ
Andrei
Если это критический сервис, то ничего плохого даже в raw-сокетах нет.
Andrei
Для общих задач про SSL соглашусь, свою либу писать не стоит.
Andrei
Однако, надо всегда держать в голове, что сторонняя либа точно так же != абсолютной безопасности.
Andrei
Набивший оскомину пример heartbleed.
Andrei
Опенсоурс, покрытый тестами и «просмотренный» глазами многих программистов.
Berkus
никто в это говно никогда не смотрел на самом деле
Andrei
Но совет в целом воздерживаться от собственных реализаций — я не разделяю ну ваще никак.
🐙 Antony
Berkus
Andrei
В том что касается других областей, в которых у меня компетенция выше среднего — уверен, что напишу лучше.
Andrei
Обязательно С++ ?
Andrei
Я к примеру писал свою реализацию NN для fpga. Открытые либы оказались хуже.
Andrei
Да.
Berkus
и задонатил куда-то в открытую либу или зажал?
Berkus
открытые либы не становятся лучше САМИ ПО СЕБЕ
Andrei
Что значит «зажал»?
Berkus
это значит не задонатил
Andrei
Там смесь на специальном диалекте HLS C и на верилоге.
Andrei
Это интеллектуальная собственность, сердце системы управления беспилотниками, которые я делаю.
Крылатый
Andrei
Вспомнил еще пример. Я писал плагин для protobuf компилятора, который генерирует весь необходимы код для полноценного RPC-сервиса и RPC-клиента, которые при этом являются transport-agnostic.
Andrei
Крылатый
РФ же.
А беспелотник крупный?
Andrei
Andrei
Крылатый
Чот я упустил этот кусок.
Andrei
Когда-то давно об этом рассказывал. В общем беспилотники для воды. По сути делаем модульную платформу, на которую можно повесить хоть автомат, хоть эхолокатор, хоть оборудование для забора проб. Мы, соответственно делаем всё что движется + навигация, в т.ч. автономная без связи с оператором.
Berkus
Andrei
Не распарсил.
🐙 Antony
Кстати, кто пользуется Boost.Exception или чем-то подобным, для добавления информации к исключениям? Тут в стандарт предлагают принять http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0640r0.pdf
Кто что думает?
Berkus
k_voistinov
Ребят, а сюда код можно кидать, на ревью чтоли ?
k_voistinov
ну т.е код на github
k_voistinov
а сюда ссылку
Крылатый
Крылатый
Крылатый
Я кидаю)
Крылатый
Правда я крут и кидаю в супапро.
🐙 Antony
Я строго за.
Я бы хотел добавить этот функционал сразу к throw и std::exception + позволить пользователям это отключать через командную строку компилятора (не дебажная сборка - отключаил, дебажная - включил, хочешь инфу в релизе - по прежнему включил)
+ надо дать возможность сделать неотключаемую инфу (что-то типа throw with info std::logic_error("Oops!"); только с менее убогим синтаксисом)
vladislav
было бы круто