Последние новости сайта

SSL Сертификат

В связи с событиями на Украине контора Sectigo объявила санкции и перестала выпускать ssl сертификаты для .ru и .рф доменов. За выпуск оного я платил 820 рублей в год.

Благодаря сcанкциям, я перешёл на использование бесплатного сертификата от Let’s Encrypt (с помощью certbot — он есть в портах FreeBSD). Поначалу certbot капризничал и не хотел работать без AAAA DNS записи, но это вылечилось, когда я прописал www как CNAME основного домена. Так что теперь я использую сертификат от Let’s Encrypt, а конторе Sectigo вместе с Comodo могу сказать следующее:

Fuck you asshole!

Кстати, в связи с подобными запретами Минцифры РФ подсуетилось и начало выпускать отечественные SSL сертификаты через госуслуги, которые никем не признаны, доступны только юридическим лицам и принесут больше проблем, чем пользы. Досадно, что настройкой чебурнета занимаются кретины.

IPv6

Решая проблемы с certbot, неожиданно вспомнил, что хостер выдал мне сеть /64 IPv6 адресов. Я не сильно в этом разбираюсь, но судя по калькулятору, могу выдать каждому жителю планеты Земля по два миллиарда адресов в моём личном адресном пространстве. Мне много не надо, поэтому взял циферку один и теперь у моего сайта есть AAAA DNS запись и он открывается по IPv6 адресу.

ERROR 2503 и ERROR 2502 при запуске инсталлятора .msi

Хотел написать увлекательную историю про то, как у нас устроена удалёнка, но не хочу, поэтому буду краток.

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

При запуске инсталлятора на 95% прогресса, программа выдаёт окно с ошибкой 2503 и откатывает процесс назад.
Перерыв интернет, нашёл два совета:

  1. Установить права всем на всё на папку %TEMP — не помогло
  2. Способ второй: запустить cmd As Administrator и там запустить .msi на выполнение — СРАБОТАЛ! В благодарность, выкладываю видео сего процесса, хотя терпеть не могу, когда одну строку растягивают на три с половиной минуты.

Онлайн книжка по неопределённому поведению C++

Всем привет!

Буду краток, товарищ поделился ссылкой (спасибо, Влад!) на труд другого умного товарища.
Эта книга пригодится каждому программисту C++: Путеводитель C++ программиста по неопределенному поведению.

Как избавиться от спам-звонков за два шага

Всем привет, буду краток! Вам понадобится всего две вещи:
1. Антиспам от Касперского: Антиспам: Kaspersky Who Calls
2. Телефонный робот-секретарь от банка Тинькофф: Телефонный секретарь Олег

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

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

Вопросы программисту С++ на собеседовании. Часть вторая

Здравствуй, дорогой читатель!

Вот и родилась вторая часть моего шедевра девятилетней давности. Только теперь формат статьи поменялся — ответы я буду писать в свободное время в очень ленивом режиме, потому что работу я не ищу и вопросы передо мной стоят совершенно другие (например, хитромудрый рендеринг в текстуру), а свободного времени у меня немного, потому что я во время него обычно сплю и само собой мне лень.

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

Вопросы по алгоритмам

  • LRU кеш ограниченного размера
  • Что такое хеш таблица
  • Сделать дерево поиска в отсортированном массиве
  • Структура с указателем на parent и надо найти наименьшего общего предка
  • Вывести матрицу по спирали внутрь
  • Убрать элементы нулевые элементы в std::vector
    ответ
    Засунуть все нулевые элементы с помощью std::swap в конец и сделать std::vector::resize
  • Развернуть односвязный список
  • Исходный список содержит цифры, конечный i-й элемент содержит произведение всех элементов кроме i-того в исходном списке
  • Рисование закрашенного треугольника
  • Как нарисовать закруглённые уголки прямоугольника

Вопросы по языку C/C++

  • В чём разница между std::auto_ptr и std::unique_ptr
    ответ
    std::auto_ptr в конструкторе копирования (и операторе присваивания) изменяет источник, в std::unique_ptr конструктор копирования запрещён и можно пользоваться только move семантикой.
  • Бесконечная рекурсивная функция (в какие моменты может произойти, как сделать)
  • Написать свой std::shared_ptr
    ответ
    Код не приведу, но должен содержать два указателя: на данные и счётчик ссылок, должен быть шаблонным и определять конструктор копирования, оператор копирования, конструктор перемещения и оператор перемещения с посчётом количества ссылок. В деструкторе проверяем если --counter==0 то удаляем данные.
  • Отличие структуры от класса
    ответ
    По умолчанию все члены struct имеют видимость public, а classprivate. Наследование от struct по умолчанию public, от classprivate. В остальном никакой разницы.
  • Выравнивание, размер структуры
  • volatile и mutable
  • Что такое pure virtual call
  • Вызов виртуальных функций из конструктора и деструктора
  • Таблица виртуальных функций
  • Как работает dynamic_cast, static_cast, reinterptet_cast, const_cast и C-style cast. Что происходит в случае ошибки приведения типа, работа со ссылкой и указателем
  • В чем отличие ссылки от указателя
  • Многопоточность std::shared_ptr
    ответ
    Всё прекрасно
  • Факториал итеративно, рекурсия, на шаблонах
  • Отличие calloc и malloc
    ответ
    оба выделяют память, но calloc заполняет выделенный блок нулями.
Личный блог Евгения Жирнова