- 1
- 2
- 3
- 4
status.setCounter(new Number(
Number.nullToZero(
status.getCounter()).add(
value.movePointRight(2))));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+75
status.setCounter(new Number(
Number.nullToZero(
status.getCounter()).add(
value.movePointRight(2))));
Действительно, кому нужна перегрузка операторов?
+3
"experiments":[25894,19733,11804,21034,31793,21476,17396,12016,
...
window._data = {"__type":"ru.yandex.zen.publishers.front.pojo.PublicationPageNodeData","publisher":{"id":"592d594b8e557de2f707c29f","name":"FORUMHOUSE","nickname":{"raw":"forumhouse","normalized":"forumhouse"},"ownerUid":13690671,"statId":4156,"description":"Добро пожаловать на портал №1 в России, посвященный строительству и загородной жизни.\n\nЗдесь мы публикуем новости, оригинальные материалы, фотообзоры домов; веселим приколами и угощаем рецептами; проверяем знания тестами; даем рекомендации по стройке и ремонту, раскрываем секреты мастеров.","socialLinks":[{"link":"https:\u002F\u002Fwww.instagram.com\u002Fforumhouse\u002F","socialNetwork":"instagram"},{"link":"https:\u002F\u002Fok.ru\u002Fforumhouse","socialNetwork":"ok"},{"link":"https:\u002F\u002Fvk.com\u002Fforumhouse","socialNetwork":"vk"},{"link":"https:\u002F\u002Fwww.facebook.com\u002FForumHouse","socialNetwork":"facebook"}],"themes":[],"logo":{"id":"5ae188e38c8be3ec66de9bb5"},"domain":"forumhouse.ru","agreement":true,"isNirvana":false,"isAdultContent":true,"isSubscribedToEmails":true,"itemId":"981789127750603755","favouritesCount":51813,"audience":1020223,"shouldSendReport":false,"isVerified":false,"allowedPrivateMessages":false,"chatReferences":[]},"publication":{"id":"5fab9d6891ab8a65f7246192","publisherId":"592d594b8e557de2f707c29f","addTime":1605083675615,"publishTime":1606389210899,"content":{"type":"article","articleContent":{"contentState":"{\"blocks\":[{\"data\":{},\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"text\":\"Чтобы что-то делать, нужно хоть что-то уметь — звучит просто и правильно. У героев нашей очередной подборки, по всей видимости, строительных навыков нет, но они уже вышли на тропу серьёзного заработка. Что оставляют после себя дилетанты, когда попадают на стройку — смотрите далее.\",\"type\":\"unstyled\",\"key\":\"3sbd\"},{\"data\":{\"image\":{\"id\":\"5fab9d9a7935977d97ff25e1\"}},\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"text\":\"Источник фото: инстаграм-аккаунт rukozhopy\",\"type\":\"atomic:image\",\"key\":\"881o6\"},{\"data\":{},\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"text\":\"Немного криво — делу не помеха\",\"type\":\"header-two\",\"key\":\"c8dnh\"},{\"data\":{},\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"text\":\"Криво — это такая мера, которая не везде заметна. Согласны? Вот например, на кухне. Ну кто будет измерять пирожки, когда их оценивают по совершенно другим критериям? Здесь важен их вкус и количество начинки. Кулинар может допустить оплошность в калибровке пельменей или размере макаронин. А вот строитель — нет!\",\"type\":\"unstyled\",\"key\":\"4k113\"},{\"data\":{\"image\":{\"id\":\"5fab9dbd91ab8a65f724f703\"}},\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"text\"
Открыл исходный код произвольной страницы на кое-каком сайте для текстов с картиночками, а там
* Человекочитаемый текст - метушня в <head> и <meta> для роботов
* Какой-то скрипт зожатый на 17к симполов
* Зожатый(!) CSS на 190к символов
* Зожатый скрипт 58к, содержащий контент в нечитаемом виде (русские буквы там могут быть заэскейпенными, но почему-то не все)
* Зожатый скрипт + зожатый HTML 62к, содержащий код, кнопки, картинки, копии текста из зожатого скрипта на 58к
И всё это ради того, чтобы показать 5к символов текста и вставить 9 картинок. Даже комментарии подгружаются аяксом.
НАЧАЛЬНИК, БЛЯДЬ, ОН ОБОСРАЛСЯ! ИДИТЕ МОЙТЕ ЕГО НАХУЙ, Я С НИМ ЗДЕСЬ СИДЕТЬ НЕ БУДУ, БЛЯДЬ! Я НЕ БУДУ С ЭТИМ ГОВНОЕДОМ СИДЕТЬ! — ХУЛИ ВЫ МЕНЯ С СУМАСШЕДШИМ ПОСЕЛИЛИ, БЛЯДЬ, ОН ЖЕ МУДАК ПОЛНЫЙ, БЛЯ!!!
Как мы до этого докатились?
+1
Currently it's hard or even impossible to use hexadecimal literal constants that result in overflow of the corresponding signed types.
https://github.com/Kotlin/KEEP/blob/master/proposals/unsigned-types.md
какой пиздец!!!
+2
# Пример #1
class FastClass:
def do_stuff(self):
temp = self.value # это ускорит цикл
for i in range(10000):
... # Выполняем тут некие операции с `temp`
# Пример #2
import random
def fast_function():
r = random.random
for i in range(10000):
print(r()) # здесь вызов `r()` быстрее, чем был бы вызов random.random()
Забавно, что в статье под названием «Разработка чрезвычайно быстрых программ на Python» (https://habr.com/ru/company/ruvds/blog/483678) этот самый «Python» оказался обосран (ненамеренно) куда качественнее, чем в недавно обсуждённом высере (https://govnokod.ru/26050#comment517858).
Неужели конпелятор/интерпретатор «Питона» настолько туп, что не может самостоятельно провести вот эти вот микрооптимизации?
−4
>>> -14 // 57
-1
Отсосу питоноблядей!
https://ideone.com/kBYoU9
+2
#include <tuple>
#include <utility>
#include <array>
namespace detail {
template <typename... Types, std::size_t... Indexes>
auto make_array(const std::tuple<Types...> &t, std::index_sequence<Indexes...>) {
using Tuple = std::tuple<Types...>;
using ValueType = typename std::tuple_element<0, Tuple>::type;
return std::array<ValueType, sizeof...(Types)>{ std::get<Indexes>(t)... };
}
template <typename Value>
constexpr Value fib(std::size_t idx) {
switch (idx) {
case 0: return 1;
case 1: return 1;
default: return fib<Value>(idx - 1) + fib<Value>(idx - 1);
}
}
}
template <class... Args>
auto to_array(const std::tuple<Args...> &t) {
return detail::make_array(t, std::index_sequence_for<Args...>{});
}
template <typename Value, std::size_t size>
class Fibonacci {
public:
constexpr auto as_array() const { return to_array(as_tuple()); }
constexpr operator std::array<Value, size>() const { return as_array(); }
private:
template <std::size_t offset = 0>
constexpr auto as_tuple() const {
return std::tuple_cat(std::tuple{detail::fib<Value>(offset)}, as_tuple<offset + 1>());
}
template <>
constexpr auto as_tuple<size - 1>() const { return std::tuple{detail::fib<Value>(size - 1)}; }
};
int main() {
std::array a = Fibonacci<int, 10>().as_array();
return a[5];
}
По мотивам http://govnokod.ru/25401#comment460820. Правда на момент написания я прошляпил, что речь шла о "нельзя возвращать массив"ю
−1
https://madnight.github.io/githut/#/pull_requests/2018/2
Python, Ruby, C++, Java и Go популярнее чем PHP.
PHP не нужен
−1
; минимальная .COM программа, которую я смог высрать в ascii
; генерит ret и передаёт на него управление
; пробел (and r/m8, reg) я тоже не использовал
; писалась в hex-кодах
push 314ah
pop ax
xor ax, 3070h
push ax
pop bx
pop ax
push ax
xor ah, [bx]
sub [bx], ah
pop ax
push ax
dec ax
xor ax, 3c3ch
xor bx, ah
jnz 013ah
hJ1X5p0P[XP2'('XPH5<<0'u!
Мой малинькый скукожоный моск очинь долго мучился, прежде чем родить это. Так что, не судити строго. :)
+1
#include <iostream>
#include <tuple>
using namespace std;
template<typename T, typename T0, typename T1, typename ...Args>
void PrintStruct(const tuple<T0 T::*, T1 T::*, Args T::*...>& members, const T& val)
{
cout << val.*std::get<0>(members) << endl;
PrintStruct(members._Get_rest(), val);
}
template<typename T, typename T0>
void PrintStruct(const tuple<T0 T::*>& members, const T& val)
{
cout << val.*std::get<0>(members) << endl;
}
struct MyStruct
{
int x;
float y;
static const tuple<decltype(&MyStruct::x), decltype(&MyStruct::y)> Members;
};
const tuple<int MyStruct::*, float MyStruct::*> MyStruct::Members = std::make_tuple(&MyStruct::x, &MyStruct::y);
int main()
{
MyStruct str = {123, 3.14159f};
PrintStruct(MyStruct::Members, str);
return 0;
}
Пытался понять, почему мой код не компилится в 2013 студии, и быстренько накатал этот минимальный пример. Но вышел облом - он почему-то компилится, в отличие от моей реальной либы со схожими шаблонными крестоконструкциями.
+139
// ==UserScript==
// @name GK parent comment
// @namespace GK
// @description Adds links to parent commentary to GK comments, and sets parent commentary text as link tooltip.
// @include http://govnokod.ru/*
// @include http://www.govnokod.ru/*
// @version 1.0.0
// @updateURL http://userscripts.org/scripts/source/172756.meta.js
// @downloadURL http://userscripts.org/scripts/source/172756.user.js
// ==/UserScript==
(function(){
//hack for Chrome, as it doesn't support unsafeWindow.
if (typeof unsafeWindow == 'undefined')
{
unsafeWindow = (function()
{
var el = document.createElement('p');
el.setAttribute('onclick', 'return window;');
return el.onclick();
}())
};
$ = unsafeWindow.jQuery;
//dirty, DIRTY hack to wait for certain element to appear. -_-
//But I have no idea how to do it right.
function waitForSelector(selector, context, mustexist, callback) {
var l = $(selector, context).length;
if ((l>0) != mustexist)
{
setTimeout(function(){waitForSelector(selector, context, mustexist, callback)}, 50);
return false;
};
callback();
}
//short function for adding custom CSS rules. Why use Greasemonkey specific GM_setStyle() just for that?
function addCSS(rule) {
var styleElement = document.createElement("style");
styleElement.type = "text/css";
if (typeof styleElement.styleSheet !== 'undefined')
styleElement.styleSheet.cssText = rule;
else
styleElement.appendChild(document.createTextNode(rule));
document.getElementsByTagName("head")[0].appendChild(styleElement);
}
addCSS([
'.comment-parent-link {margin-left:10px;font-size:10pt}',
].join('/n'));
var PARENT = '<a class="comment-link comment-parent-link" href="">↑</a>';
var oldLoadComments = unsafeWindow.comments['load'];
function newLoadComments(aElemTrigger) {
var $parent = $(aElemTrigger).closest('.entry-comments');
oldLoadComments.call(this,aElemTrigger);
waitForSelector('.hcomment', $parent, true, function(){
setParentLinks($parent);
});
}
unsafeWindow.comments['load'] = newLoadComments;
function setParentLinks($context) {
$context.find('.hcomment').each(function(i,e){
var $this = $(this);
var $parent = $this.parents('.hcomment:eq(0)');
if ($parent.length) {
var $parentlink = $(PARENT);
$parentlink.attr('href', $parent.find('a.comment-link:eq(0)').attr('href'));
$parentlink.attr('title', $parent.find('.comment-text:eq(0)').text());
$this.find('a.comment-link:eq(0)').after($parentlink);
}
});
}
setParentLinks($('body'));
})();
http://userscripts.org/scripts/show/172756
По просьбам трудящихся, скрипт для поиска родительского комментария. Добавляет ссылку на родителя, и ставит его текст как тултип.
Учитывая подключение либы с самого сайта и метод поиска динамически подгруженных комментариев, вполне себе говнокод. А потому: тов. Страйкер, вынесите уже отдельно функцию comments.loadSuccessful()! А то адский гемморой любую постобработку комментариев делать.