- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
const screenCssPixelRatio = (window.outerWidth - 8) / window.innerWidth;
const screenZoomed = screenCssPixelRatio !== 2.639089968976215;
if (screenZoomed) {
return scrollWidth + 4;
}
return scrollWidth;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
const screenCssPixelRatio = (window.outerWidth - 8) / window.innerWidth;
const screenZoomed = screenCssPixelRatio !== 2.639089968976215;
if (screenZoomed) {
return scrollWidth + 4;
}
return scrollWidth;
Когда важна точность
0
https://github.com/TartanLlama/optional/blob/master/optional.hpp#L853
/// Constructs the stored value with `u`.
/// \synopsis template <class U=T> constexpr optional(U &&u);
template <
class U = T,
detail::enable_if_t<std::is_convertible<U &&, T>::value> * = nullptr,
detail::enable_forward_value<T, U> * = nullptr>
constexpr optional(U &&u) : base(in_place, std::forward<U>(u)) {}
/// \exclude
template <
class U = T,
detail::enable_if_t<!std::is_convertible<U &&, T>::value> * = nullptr,
detail::enable_forward_value<T, U> * = nullptr>
constexpr explicit optional(U &&u) : base(in_place, std::forward<U>(u)) {}
/// Converting copy constructor.
/// \synopsis template <class U> optional(const optional<U> &rhs);
template <
class U, detail::enable_from_other<T, U, const U &> * = nullptr,
detail::enable_if_t<std::is_convertible<const U &, T>::value> * = nullptr>
optional(const optional<U> &rhs) {
this->m_has_value = true;
new (std::addressof(this->m_value)) T(*rhs);
}
/// \exclude
template <class U, detail::enable_from_other<T, U, const U &> * = nullptr,
detail::enable_if_t<!std::is_convertible<const U &, T>::value> * =
nullptr>
explicit optional(const optional<U> &rhs) {
this->m_has_value = true;
new (std::addressof(this->m_value)) T(*rhs);
}
/// Converting move constructor.
/// \synopsis template <class U> optional(optional<U> &&rhs);
template <
class U, detail::enable_from_other<T, U, U &&> * = nullptr,
detail::enable_if_t<std::is_convertible<U &&, T>::value> * = nullptr>
optional(optional<U> &&rhs) {
this->m_has_value = true;
new (std::addressof(this->m_value)) T(std::move(*rhs));
}
/// \exclude
template <
class U, detail::enable_from_other<T, U, U &&> * = nullptr,
detail::enable_if_t<!std::is_convertible<U &&, T>::value> * = nullptr>
explicit optional(optional<U> &&rhs) {
this->m_has_value = true;
new (std::addressof(this->m_value)) T(std::move(*rhs));
}
Я даже не знаю, какой конкретно фрагмент этого творчества сюда выкладывать.
https://github.com/TartanLlama/optional C++11/14/17 std::optional with functional-style extensions https://optional.tartanllama.xyz
Вообще меня это забавляет, все эти костылепостроения поверх плюсов. Сделайте там уже возможность в компилтайме работать напрямую с исходным кодом самого себя, т.е. чтобы был некий код, который плюсокомпилятором в компилтайме обрабатывался, и чтобы он принимал исходник самого себя просто в виде тупо текста, и мог произвольно менять содержимое исходника на этапе компиляции (не меняя при этом сами файлы в файловой системе), и чтоб в качестве библиотек к этому компилтайм-метушению шел лексер-парсер плюсов.
Понятно что из плюсов никакого гомоиконного лиспа сделать не выйдет, ведь тогда надо выкинуть очень красивый и элегантный плюсосинтаксис вида std::kukarek(std:kudah<std:kokoko{kokoko ko[hui<govno>]}>:()[*huita]{}) и заменить его на бездуховные скобочки
+2
<?php
class SmsController extends Controller
{
protected static $currentYear;
public static function currentYear()
{
if (is_null(self::$currentYear)) {
self::$currentYear = date('Y');
}
return self::$currentYear;
}
?>
:-D
0
$this->currencyIntToFloat($this->contract->getCredit()->getParams()['installments'][key($this->contract->getCredit()->getParams()['installments'])]['interestAmount']);
+4
-- https://haskell-lang.org/library/http-client
let request = setRequestBodyFile "people.yaml"
$ setRequestHeader "Content-Type" ["application/x-yaml"]
$ "PUT https://httpbin.org/put"
response <- httpJSON request
Товарищ Снойман, конечно, молодец, но его творчество мне зачастую больше напоминает жабу, чем хачкель. У меня одного такое ощущение?
(Неявное) преобразование "PUT https://httpbin.org/put" в значение Request — это, кмк, какой-то ⊥(bottom)
#нытьё #CHayT
+2
https://github.com/BlackMATov/kari.hpp/blob/master/kari.hpp
Безответственные функциональщики сливали в океан блогосферы радиоактивные отходы, и вот печальный итог: гигантская радиоактивная Метушилла начала сокрушать гитхаб! Даже само название либы уже намекает.
+8
Для кульминации ебаных тендеций ебаных информационных технологий,
предлагаю выпустить новые процессоры интел со встроенным джаваскриптом.
Никакого больше ассемблера, никаких ядер, драйверов, ничего не нужно, на
каждом процессоре будет встроенный хардварный веб-сервер с нодежс,
общение с видеокартой, памятью, периферией будет только с помощью
API-вызовов, теперь каждый альтернативно интеллектуальный
жаваскрипт-разработчик сможет почувствовать себя системным программистом
+3
https://vc.ru/5822-code-leaks
Представитель "Rambler" втирает, что сотрудники при приёме на работу подписывают договор о неразглашении.
Между тем, часть исходного кода одного из сервисов "Rambler" -
https://class.rambler.ru/
- успешно проёбана одним из разработчиков:
https://github.com/Serdji/rm_class_edu
Для каких-то внутренних тестеров приложена подробнейшая инструкция по установке.
Причём, судя по многим ссылкам, недоступным извне, публикация кода для всех желающих совершенно не предполагалась.
+5
// 600+ lines skipped
int main() {
window["console"] = console;
window["Math"] = Math;
Math["sin"] = Math.sin;
Math["cos"] = Math.cos;
Math["PI"] = Math.PI;
// EXAMPLE:
var x = 3;
var y = x + null;
var z = "hello, " + y;
var n = NaN << NaN;
var f = Function();
console.log("x = " + x + " y = " + y + " z = " + z);
console.log("x =", x,"y =", y, "z =", z);
console.log(String("222") + true);
console.log(String("222") + 3);
console.log(Number("222") + 3);
console.log(NaN << NaN, !NaN);
console.log(undefined + 1);
console.log(f("hello, ", "world"));
console.log("sin(pi/4) = ", Math.sin(Math["PI"] / 4));
console.log("sin(pi/4) = ", window["Math"]["sin"](Math["PI"] / 4));
}
Я поехал вслед за gost'ом (см. http://govnokod.ru/23440)
Читать далее: https://ideone.com/mLM4yN
Рахитектура:
<|- Number
<|- String
<|- Boolean
<|- Function
Object = var <|- Console <- +
| |
| <|- Window - - + ref
| |ref
| v
| <|- Math - - - - -
| |
| |
| |
| ptr | value
| |
| <|- ObjectBody |
| <|- NumberBody |
v <|- StringBody |
BaseBody <|- BoolBody |
<|- NullBody |
<|- UndefinedBody |
v
<|- FunctionBody <|- SinBody
<|- CosBody
Object null, undefined, NaN, Infinity;
Math Math;
Window window;
Console console;
+5
#include <iostream>
#include <type_traits>
#include <list>
#include <vector>
using std::cout;
using std::endl;
using function = int;
struct Console {
private:
template<typename SS, typename TT>
static auto test(int)
-> decltype(std::declval<SS&>() << std::declval<TT>(), std::true_type());
template<typename, typename>
static auto test(...) -> std::false_type;
template<typename T>
static const bool canCout = decltype(test<decltype(cout), T>(0))::value;
public:
template<typename T>
typename std::enable_if<std::is_same<decltype(std::declval<T>().begin()),
decltype(std::declval<T>().end())>::value && !canCout<T>>::type
log(T arg) {
log('[');
for (typename T::const_iterator it = arg.begin(); it != arg.end(); ++it) {
auto nextIt = it;
++nextIt;
if (nextIt != arg.end()) {
log(*it);
log(", ");
} else {
log(*it);
log(']');
}
}
}
template<typename T>
typename std::enable_if<canCout<T>>::type
log(T arg) {
cout << arg;
}
template<typename H, typename ... T>
void log(H arg, T... rest) {
log(arg);
log(' ');
log(rest...);
}
};
static Console console;
function main()
{
console.log(std::vector<int>({ 1, 2, 3 }), "Hello World!", 100.1, "\n");
console.log(std::string("std::string"), std::list<std::string>({ "one", "two", "three" }), '\n');
return 0;
}
Javascript++.
https://ideone.com/NykL0u