- 1
https://imgur.com/w4Dbg19
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://imgur.com/w4Dbg19
наймите @нормальных программистов
+1
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
+1
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);
}
нужна помощь упростить этот ад.
0
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
0
$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();
});
Главное, что задокументировано
+1
if(object)
if(object->isSolid)
event.isCancelled = true;
;else //<
throw NullEventArgumentException("object == nullptr");
Новый токен в C++ про который знает только 0.6% говнокодеров
+3
Помните шутку про 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/
+3
// Вот код скрипта для отправки емейла:
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/
+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 быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
0
Политота #7
#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/