- 1
- 2
- 3
https://news.ycombinator.com/item?id=20426997
LiveJournal data breach impacts 33M users with plaintext passwords
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://news.ycombinator.com/item?id=20426997
LiveJournal data breach impacts 33M users with plaintext passwords
Идиотия, кретинизм, олигофрения, и другие способы стать разработчиком в livejournal
+2
template <typename F, class = decltype(F()(E()))>
auto map(F p) -> std::vector< decltype(p(E())) >
{
std::vector< decltype(p(E())) > result;
std::transform(get().begin(), get().end(), std::back_inserter(result), [=](auto &v) {
return mutable_(p)(v);
});
return result;
}
template <typename F, class = decltype(F()(E(), 0))>
auto map(F p) -> std::vector< decltype(p(E(), 0)) >
{
std::vector< decltype(p(E(), 0)) > result;
auto first = &(get())[0];
std::transform(get().begin(), get().end(), std::back_inserter(result), [=](auto &v) {
auto index = &v - first;
return mutable_(p)(v, index);
});
return result;
}
// и применение (e) => f()
auto strs = (array<int>{ 1, 2, 3 }).map([](auto x)
{
return "X" + x;
});
// или (e, index) => f()
auto strs = (array<int>{ 1, 2, 3 }).map([](auto x)
{
return x + i;
});
как я выкрутился бля... с разными маперами... как генерики в c#
+5
https://github.com/ASDAlexander77/TypeScript2Cxx/blob/master/cpplib/core.h
Нужна помощь смелых и умных людей, надо сделать review кода и посоветовать что там по стандартам улучшить... короче любая помощь welcome
https://github.com/ASDAlexander77/TypeScript2Cxx/blob/master/cpplib/core.h
+2
function isNative (Ctor){
return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
}
https://habr.com/ru/company/ruvds/blog/503634/
>>> 5 интересных JavaScript-находок, сделанных в исходном коде Vue
0
Пиздец-оффтоп #4
#1 https://govnokod.ru/26503 https://govnokod.xyz/_26503
#2 https://govnokod.ru/26541 https://govnokod.xyz/_26541
#3 https://govnokod.ru/26583 https://govnokod.xyz/_26583
0
// Там в стандарт сишки хотят добавить хуйни какой-то
// https://habr.com/ru/company/badoo/blog/503140/
// C2x: будущий стандарт C
// Итак, с опозданием лет на 20 к нам приходят функции strdup и strndup!
#include <string.h>
char *strdup (const char *s);
char *strndup (const char *s, size_t size);
Они есть в позикс стандарте, да и вообще эти функции - говно, как и нуль-терминированные строки сами по себе.
−5
Сегодня днем я познакомился с очень хорошей, умной собакой - она увязалась за мной, по пути с работы.
Я шел по улице, а она бежала следом. Когда мы поравнялись, она подошла и тихонько скуля лизнула мне руку.
-Кормить нечем, сказал я. Но видя ее печальные глаза, не устоял и сбегал в магазин за "краковской".
В идели бы Вы жадность, с которой она была съедена!..
Скоро мы дошли до дома, вместе зашли в лифт и поднялись на шестой этаж.
-Проходи, сказал я шепотом. Скоро цокот когтей смолк в полутьме.
Я вошел следом и только собрался включить свет, как кто-то прыгнул мне на грудь, сбивая с ног.
Падая я почувствовал застилающий запах псины и вслед за этим кто-то стал бешенно облизывать и целовать моё лицо.
-Успокойся, хватит, -сказал я раздраженно. В ответ невидимый "любовник" сердито зарычал и расстегнул на мне джинсы.
Снова это волшебное прикосновение теплого, влажного языка... Я не мог сопротивляться.
Мой партнер ласкал меня весьма умело и скоро добился своего. Я бурно кончил, испачкав линолеум - сперма была досуха вылизана.
Потом мы поменялись. Собака оказалась кобелем...
Нащупав острую, влажную морковку я не раздумывая поместил ее себе в рот. Я сосал, а собака покусывала мне соски.
Наконец мы выбились из сил. Отдохнув, я включил свет и увидел, что собака долизывает остатки спермы.
Вот так, а меня супруга импотентом называет.
Выгнал я жену, и стал жить с собакой.
+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);
}
нужна помощь упростить этот ад.