- 1
- 2
$ev = '$atHtml[] = template::translateTemplate('.$atArr[0].'::getHTML($atArr[1]));';
eval($ev);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+149
$ev = '$atHtml[] = template::translateTemplate('.$atArr[0].'::getHTML($atArr[1]));';
eval($ev);
Самый простой способ заставить работать статический метод класса из переменной в PHP ниже 5.3.
+19
struct BufInfo
{
const tbal::Bitmap &src, &dst;
int y1, y2;
BufInfo (const tbal::Bitmap &scr, const tbal::Bitmap &dst, int y1, int y2) : src(src), dst(dst), y1(y1), y2(y2) {}
};
Как можно проебать час жизни...
+14
template<typename T>
constexpr size_t printed_sizeof() {
return log10(sizeof(T)) + 1;
}
Осваиваем новые стандарты.
+20
#define STR(a) #a
#define EXCEPTION_CLASS_CREATE(a) \
class a : public std::exception \
{ \
public: \
a() \
{ \
d(STR(a)"\n"); \
} \
\
a(const char * format, ...) \
{ \
char buffer[ 1024 ]; \
va_list vl; \
va_start( vl, format ); \
vsnprintf( buffer, sizeof(buffer), format, vl ); \
va_end( vl ); \
_str.append( buffer ); \
d(STR(a)" %s\n", buffer); \
} \
\
~a() throw() \
{ \
} \
\
const char* what() const throw() \
{ \
return _str.c_str(); \
} \
private: \
std::string _str; \
};
// ...
EXCEPTION_CLASS_CREATE( InternalException )
Мы очень любим varargs
−123
if ps ax | grep -v grep | grep keydispatcher > /dev/null
no comments. но блин, даже "работает". т.е. без этого grep -v grep лажает, а с ним - нет (видимо потому что второй греп не успевает запуститься пока ps ax отрабатывает). однако...
−124
КоличествоОбъектов_ = 0;
Для Каждого СтрокаТаблицы Из Объекты Цикл
Если СтрокаТаблицы.Объект = Элемент.Значение Тогда
КоличествоОбъектов_ = КоличествоОбъектов_ + 1;
КонецЕсли;
КонецЦикла;
Если КоличествоОбъектов_ > 1 Тогда
Элемент.Значение = Справочники.ОбъектыСтрахования.ПустаяСсылка();
Предупреждение("Выбранный объект уже присутствует в списке");
Возврат;
КонецЕсли;
Нашел такое в конфе, которую поддерживаю.
Программер накнопал алгоритм, чтобы исключить попадание одного и того же объекта в таблицу.
Вначале был ступор, потом дошло.
+13
class session {
public:
session(int id, boost::asio::io_service &io_service) :
id(id),
timer(io_service)
{
timer.expires_from_now(session_timeout);
timer.async_wait(boost::bind(&session::on_timeout, this, _1));
}
void on_timeout(const boost::system::error_code &error) {
if (error)
return;
std::cout << "Session timed out " << id << std::endl;
}
private:
int id;
boost::asio::deadline_timer timer;
};
std::map<boost::asio::ip::udp::endpoint, boost::shared_pointer<session> > sessions;
sessions.erase(endpoint) приводит к небольшому насилию над трупом сессии... Ничего конечно не вылетает, и никогда не сломается, но совесть мучает, неприятно пользоваться UB'ом.
−110
Select Case Figure mod 6
...
Case chsQueen 'Ферзь
Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
Picture.Circle (X + 0.5 * Side, Y + 0.15 * Side), 0.08 * Side, Border
Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
Picture.Circle (X + 0.3 * Side, Y + 0.25 * Side), 0.08 * Side, Border
Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
Picture.Circle (X + 0.7 * Side, Y + 0.25 * Side), 0.08 * Side, Border
Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
Picture.Circle (X + 0.85 * Side, Y + 0.35 * Side), 0.08 * Side, Border
Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
Picture.Circle (X + 0.15 * Side, Y + 0.35 * Side), 0.08 * Side, Border
Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.27 * Side, Y + 0.8 * Side), Border
Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.73 * Side, Y + 0.8 * Side), Border
Picture.Circle (X + 0.5 * Side, Y + 0.35 * Side), 0.5 * Side, Border, 1.35 * Pi, 1.65 * Pi
Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.5 * Side, Border)
Picture.Circle (X + 0.5 * Side, Y + 1.24 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
Picture.Circle (X + 0.5 * Side, Y + 1.1 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
Picture.Line (X + 0.73 * Side, Y + 0.68 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.73 * Side, Y + 0.77 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.27 * Side, Y + 0.68 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.27 * Side, Y + 0.77 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
Let Picture.FillColor = Border
Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.7 * Side, Border)
Call FloodFill(Picture.hdc, X + 0.73 * Side, Y + 0.7 * Side, Border)
Call FloodFill(Picture.hdc, X + 0.31 * Side, Y + 0.68 * Side, Border)
Let Picture.FillColor = Fill
...
End Select
Пишу свои шахматы, с блекджеком и не без них.
Вот, набацал алгоритм векторного рисования ферзя.
Только на это ушло около получаса времени чистого с примесями (подстройки, мать их).
Чую нутром, лучше забить и вырвать клипарт из интернета.
+137
long ticksFrom1970 = (long)(serverDateTime - serverDateTimeSubstractor) * 10000000L + (DateTime.Now.Ticks - realDateTimeOfserverDateTime.Ticks);
+164
$(document).ready(function(){
//50% прозрачность иконкам голосования
var minusBig = $(".photo-rate-block-minus"),
plusBig = $(".photo-rate-block-plus"),
minusSmall = $(".photo-rate-block-minus-small"),
plusSmall = $(".photo-rate-block-plus-small");
$(minusBig).css('opacity', '0.5');
$(plusBig).css('opacity', '0.5');
$(minusSmall).css('opacity', '0.5');
$(plusSmall).css('opacity', '0.5');
$(".photo-rate-block-minus, .photo-rate-block-plus, .photo-rate-block-minus-small, .photo-rate-block-plus-small").hover( function(){
$(this).css('opacity', '1');
}, function(){
$(this).css('opacity', '0.5');
});
});
CSS для слабаков