- 
        
        
                +1         
                            - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
 if number >= 0 and number <= 9 then
    string.format('00%d', number)
end
if number >= 10 and number <= 99 then
    string.format('0%d', number)
end
if number >= 100 and number <= 999 then
    string.format('%d', number)
end
 
 
            
         
             imring,
            22 Мая 2020 imring,
            22 Мая 2020
 
- 
        
        
                +1         
                            - 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
 struct any
    {
        std::any _val;
        inline constexpr any() : _val{}
        {
        }
        inline constexpr any(undefined_t) noexcept : _val{}
        {
        }
        inline constexpr any(std::nullopt_t) noexcept : _val{}
        {
        }
        template <typename T>
        inline constexpr any(const T &val) : _val{val}
        {
        }
        inline any(const any &val) noexcept : _val{val._val}
        {
        }
        inline any(any &&val) noexcept : _val{std::move(val._val)}
        {
        }
        inline any &operator=(const any &val)
        {
            _val = val._val;
            return *this;
        }
        inline operator bool()
        {
            if (!_val.has_value())
            {
                return false;
            }
            auto type_index = std::type_index(_val.type());
            if (type_index == std::type_index(typeid(int)))
            {
                return std::any_cast<int>(_val) > 0;
            }
            else if (type_index == std::type_index(typeid(double)))
            {
                return std::any_cast<double>(_val) > 0;
            }
            else if (type_index == std::type_index(typeid(tstring)))
            {
                return std::any_cast<tstring>(_val).size() > 0;
            }
            else if (type_index == std::type_index(typeid(tstring_view)))
            {
                return std::any_cast<tstring_view>(_val).size() > 0;
            }
            else if (type_index == std::type_index(typeid(const char_t *)))
            {
                auto v = std::any_cast<const char_t *>(_val);
                return !v;
            }
            else if (type_index == std::type_index(typeid(std::nullptr_t)))
            {
                return false;
            }
            else if (type_index == std::type_index(typeid(bool)))
            {
                return std::any_cast<bool>(_val);
            }
            return true;
        }
        template <typename N = void>
        requires Arithmetic<N> any operator+(N n)
        {
            return any{std::any_cast<N>(this->_val) + n};
        }
        friend std::ostream &operator<<(std::ostream &os, const any &val_)
        {
            auto val = val_._val;
            if (val.has_value())
            {
                auto type_index = std::type_index(val.type());
                if (type_index == std::type_index(typeid(int)))
                {
                    os << std::any_cast<int>(val);
                }
                else if (type_index == std::type_index(typeid(double)))
                {
                    os << std::any_cast<double>(val);
                }
                else if (type_index == std::type_index(typeid(tstring)))
                {
                    os << std::any_cast<tstring>(val);
                }
 
 
            нужна помощь упростить этот ад.
         
             ASD_77,
            21 Мая 2020 ASD_77,
            21 Мая 2020
 
- 
        
        
                0         
                            - 1
 reinterpret_cast<ppu_function_t>(static_cast<std::uintptr_t>(ppu_ref<u32>(cia)))(*this);
 
 
            Лопни глазоньки. Шаблоны увечат С++ как бог черепаху.
 https://github.com/RPCS3/rpcs3/blob/91d06a97296e5e418fb601284577475d8c7dfbaf/rpcs3/Emu/Cell/PPUThread.cpp
 
             Psionic,
            21 Мая 2020 Psionic,
            21 Мая 2020
 
- 
        
        
                0         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
 $openTab.on('click', function () {
            $('.c-header__nav__level-1').hide();
            $('.c-header__nav__level-back').show();
            $tabContent.show();
        });
        //показываем меню 1 уровня когда нажимаем на бургер
        $('.c-header__toggler--burger').on('click', function () {
            $('.c-header__toggler').toggle();
            $('.c-header__nav__level-1').fadeIn();
            $('body').addClass('body-no-scroll');
        });
        //скрытие на кнопку закрытие
        $('.c-header__toggler--close').on('click', function () {
            $('.c-header__toggler').toggle(); //сама кнопка
            $('.c-header__nav__level-1').fadeOut(); //закрываем первый уровень
            $tabContent.fadeOut(); //закрываем второй уровень
            setTimeout(function () { //тайм-аут для восстановления 2 уровня по умолчанию
                $('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show');
                $('.c-header__nav__level-2-item').show();
            }, 800);
            $('.c-header__nav__level-3').fadeOut(); //закрываем 3 уровень
            $('.c-header__nav__back').fadeOut(); // закрываем все кнопки 'назад'
            $('body').removeClass('body-no-scroll');
        });
        //кнопка "назад" со 2 на 1 уровень
        $('.c-header__nav__level-back').on('click', function () {
            $(this).hide().parent().hide().prev().show();
        });
        $('.c-header__nav__level-2-back').on('click', function () {
            $(this).hide();
            $(this).prev().show();
            $('.c-header__nav__level-2').removeClass('is-active');
        });
        //кнопка "назад" с 3 на 2 уровень
        $('.c-header__nav__level-3-back').on('click', function () {
            $(this).hide()
                .parent().find('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show'); // восстановления 2 уровня по умолчанию
            $('.c-header__nav__level-2-item').show(); // восстановления 2 уровня по умолчанию
            $('.c-header__nav__level-2-back').show(); //восстанавливаем кнопку "назад" 2 уровня
            $('.c-header__nav__level-3').hide(); //закрываем 3 уровень
        });
        //переход с 2 на 3 уровень
        $('.c-header__nav__level-2-item').on('click', function () {
            $('.c-header__nav__level-2-item').not($(this)).hide(); //закрываем весь 2 уровень кроме нажатого
            $(this).addClass('c-header__nav__level-2-item--show'); //стили для нажатого 2 уровня
            $('.c-header__nav__level-2-back').hide(); //скрываем кнопку "назад" 2 уровня
            $('.c-header__nav__level-3').show(); // показываем кнопку "назад" 3 уровня
            $('.c-header__nav__level-3-back').show(); //показываем 3 уровень
        });
        //новое меню
        $('body').on('click', '.c-header__nav__level-left__link.parent', function (e) {
            e.preventDefault();
            $(this).next('ul').addClass('is-active');
            $('.c-header__nav__level-2-back').show();
            $('.c-header__nav__level-back').hide();
        });
 
 
            Главное, что задокументировано
         
             phpBidlokoder2,
            21 Мая 2020 phpBidlokoder2,
            21 Мая 2020
 
- 
        
        
                +1         
                            - 1
- 2
- 3
- 4
- 5
 if(object)
    if(object->isSolid)
        event.isCancelled = true;
    ;else //<
        throw NullEventArgumentException("object == nullptr");
 
 
            Новый токен в C++ про который знает только 0.6% говнокодеров
         
             digitalEugene,
            21 Мая 2020 digitalEugene,
            21 Мая 2020
 
- 
        
        
                +3         
                            - 1
- 2
- 3
- 4
- 5
 Помните шутку про 1С/C++/CSH программиста?
Так вот: парень хочет работать с COM портом, но почему-то COM объект в Windows не создается.
https://phpclub.ru/talk/threads/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-failed-to-create-com-object.86770/
 
 
            
         
             MAKAKA,
            21 Мая 2020 MAKAKA,
            21 Мая 2020
 
- 
        
        
                +3         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
 // Вот код скрипта для отправки емейла:
mb_internal_encoding ("utf-8");
$from = "Иван Иванов <[email protected]>";
$to = $name."<$email>";
$subject = "Подтверждение подписки";
$message = "текст письма здесь";
$headers = "From: ".$from."\nReply-To: ".$from."\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit";
mail ($to, $subject, $message, $headers);
// И что характерно, само тело письма приходит в правильной кодировке. А вот поля отправителя,
// получателя и сабж письма - в краказябинах. Сами тексты этих полей 100% написаны в utf-8, код скрипта тоже в utf-8.
// Вот что что я вижу в почте:
// Subject: РРѕРґСРІРµСждение РїРѕРґРїРёСРєРё
// From: Рван Рванов <[email protected]>
// Reply-To: Рван Рванов <[email protected]>
// ...
// Проблема решилась следующим образом:
$subject = "=?utf-8?B?" . base64_encode("Подтверждение подписки") . "?=";
// И так для каждого поля.
 
 
            https://phpclub.ru/talk/threads/Нужна-помощь-битая-кодировка-в-письме.82881/
         
             gost,
            20 Мая 2020 gost,
            20 Мая 2020
 
- 
        
        
                +2         
                            - 1
- 2
 https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
 
 
            Выбор небогат – это PHP. Да, я сказал PHP. И мне не стыдно.
 
 Ещё раз напомню, о каком типе приложений идёт речь: о тех, где сложная логика, требующая вычислительной производительности, реализована на C/C++, а к ним в пару нам нужен как можно более простой открытый язык/экосистема для общения с внешним миром и связи компонентов между собой. А если будет C-подобный синтаксис – вообще хорошо. И тут мы ставим галочки напротив каждого пункта наших требований.
 
 Главное – PHP прост. При том круге задач, которые он (и экосистема) может решать — он божественно прост. И дело не только в когнитивной нагрузке при кодинге и переключении контекста. Простота ещё и в развёртывании, администрировании и минимальном количестве вариантов, которыми можно решить одну задачу.
 PHP медленно, без резких движений, ползёт в правильную сторону, от увеличения производительности в 3 раза, до строгой типизации, решая задачи простым способом. И обрастая по пути крутыми штуками типа Swoole.
 PHP реализовал офигенский FFI (foreign function interface) к C. Офигенский в том контексте, о котором идёт речь — сочетании простоты и возможностей. Вы только наберите в гугле «PHP: Basic FFI usage».
 В PHP кругом $, а кто по нынешнему курсу их не любит...
 PHP быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
 
             j123123,
            20 Мая 2020 j123123,
            20 Мая 2020
 
- 
        
        
                0         
            #1: https://govnokod.ru/15804 (не открывается) https://govnokod.xyz/_15804/
 #2: https://govnokod.ru/19910 https://govnokod.xyz/_19910/
 #3: https://govnokod.ru/23643 https://govnokod.xyz/_23643/
 #4: (vanished) http://govnokod.xyz/_24822/
 #5: https://govnokod.ru/24868 https://govnokod.xyz/_24868
 #6: (vanished) https://govnokod.xyz/_26648/
 
             bagrinho,
            19 Мая 2020 bagrinho,
            19 Мая 2020
 
- 
        
        
                0         
            #1: https://govnokod.xyz/_20162 https://govnokod.ru/20162
 #2: https://govnokod.xyz/_25329 https://govnokod.ru/25329
 #3: https://govnokod.xyz/_25415 https://govnokod.ru/25415
 #4: https://govnokod.xyz/_25472 (vanished)
 #5: https://govnokod.xyz/_25693 https://govnokod.ru/25693
 #6: https://govnokod.xyz/_26649 (vanished)
 
             bagrinho,
            19 Мая 2020 bagrinho,
            19 Мая 2020