- 1
public T GetT<T>(T t1, T t2) where T : class, IEnumerable<T>, new() { return new T().Concat(t1.Concat(t2)) as T; }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+105
public T GetT<T>(T t1, T t2) where T : class, IEnumerable<T>, new() { return new T().Concat(t1.Concat(t2)) as T; }
привет всем! давно я не выкладывал перлы)
история сего кода такова: сидел я и придумывал вопросы на анкетирование при принятии на работу в мою контору. дело дошло до дженериков. не долго думая родилась сия жесть. када я сам понял шо написал, был подстолом.
вчитайтесь (вдумайтесь) в код!
то шо получилось - это код, который с синтаксической точки зрения абсолютно правильный, и он закомпилируется, НО, этот метод невозможно вызвать принципе! нельзя построить синтаксическую конструкцию средствами языка, ибо это будет постоянно сложенный на один уровень енумерейбл дженерик.
так-то!
+161
class Kohana_Date {
// ....
/**
* Number of hours in a day. Typically used as a shortcut for generating a
* list that can be used in a form.
*
* $hours = Date::hours(); // 01, 02, 03, ..., 10, 11, 12
*
* @param integer amount to increment each step by
* @param boolean use 24-hour time
* @param integer the hour to start at
* @return array A mirrored (foo => foo) array from start-12 or start-23.
*/
public static function hours($step = 1, $long = FALSE, $start = NULL)
{
// ... implementation
}
/**
* Number of months in a year. Typically used as a shortcut for generating
* a list that can be used in a form.
*
* Date::months(); // 01, 02, 03, ..., 10, 11, 12
*
* @uses Date::hours
* @return array A mirrored (foo => foo) array from 1-12.
*/
public static function months()
{
return Date::hours();
}
}
Занятный способ сократить код, правда вносящий небольшую суматоху )
+170
return (this.name == objToCompare.name) ? true : false;
Из платного учебника по JS. 2350 рублей.
−138
#!/bin/sh
net() {
if ( grep eth0 /proc/net/dev > /dev/null );
then
if (ifconfig eth0|grep -e "inet addr:" > /dev/null);
then
echo "eth0";
ifconfig eth0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
ifconfig eth0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
echo "::"
fi;
fi;
if ( grep wlan0 /proc/net/dev > /dev/null );
then
if (ifconfig wlan0|grep -e "inet addr:" > /dev/null);
then
echo "wlan0";
ifconfig wlan0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
ifconfig wlan0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
echo "::"
fi;
fi;
if ( grep usb0 /proc/net/dev > /dev/null );
then
if (ifconfig usb0|grep -e "inet addr:" > /dev/null);
then
echo "usb0";
ifconfig usb0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
ifconfig usb0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
echo "::"
fi;
fi;
}
space() {
df -h|grep -e "/$" | sed 's/^[a-z0-9/]*\ *[0-9,]*[MG]\ *[0-9,]*[MG]//; s/[0-9]*\%//; s/\ *//g; s/\// \//'
echo "::"
df -h|grep -e "/home$" | sed 's/^[a-z0-9/]*\ *[0-9,]*[MG]\ *[0-9,]*[MG]//; s/[0-9]*\%//; s/\ *//g; s/\// \//'
}
battery() {
if ( grep -e "discharging" /proc/acpi/battery/BAT0/state > /dev/null || \
grep -e "charging$" /proc/acpi/battery/BAT0/state > /dev/null);
then
echo -n "::" $(~/.wmii-3.5/battery.py)
fi;
}
echo -n $(net)\
$(space)\
"::" "LA" $(uptime | sed 's/.*e://; s/,\ .*//')\
"::" $(uptime | sed 's/.*up//; s/[0-9]\ users.*//; s/,//g')\
"::" $(cat /proc/acpi/thermal_zone/TZ00/temperature|sed 's/[a-z]*:\ *//; s/\ /°/')\
$(battery)\
"::" $(date "+%F %R:%S")\
"\n"
можно сказать, первы серьёзный опыт использования bash(скрипт для нижней панельки wmii). Не покидает ощущение, что ооочень много костылей.
+167
/*
`id` int(10) NOT NULL auto_increment,
`time_s` timestamp NOT NULL default CURRENT_TIMESTAMP,
`event` varchar(10) NOT NULL,
`member` int(4) NOT NULL,
PRIMARY KEY (`id`)
*/
$min = 0;
$result=mysql_query('select * from `stat_prohod`.`events`');
while ( $row = mysql_fetch_assoc ( $result ) ) {
if ($row ["id"] > $min) {
$last = $row;
$min = $row ["id"];
}
}
выборка последней записи.
табла заполняется
$query1="INSERT INTO `stat_prohod`.`events` (`event` ,`member` )VALUES ('".$action."', '".$id."');";
+229
;uint64_t foo(uint32_t x, uint64_t y) { return x*y; }
sub esp, 0×8
mov edx, [esp+0x14]
mov ecx, [esp+0xc]
mov eax, [esp+0x10]
mov [esp+0x4], esi
mov esi, edx
imul esi, ecx
mul ecx
mov [esp], ebx
mov ebx, [esp]
add esi, edx
mov edx, esi
mov esi, [esp+0x4]
add esp, 0×8
ret
оптимизированое умножение - gcc 4.2.4
+152
private function http_post($url, $post_string) {
// add any additional curl options here
$options = array(CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post_string,
CURLOPT_USERAGENT => "PubSubHubbub-Publisher-PHP/1.0");
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$this->last_response = $response;
$info = curl_getinfo($ch);
curl_close($ch);
// all good
if ($info['http_code'] == 204)
return true;
return false;
}
http_post ):
+137
var companyStr:String = "adobe";
trace(companyStr.length); // 10
Найдено в доке к Flash, после покупки Macromedia поиском и заменой имя сменили, коммент забыли.
+144
<!-- 3 пустых строчки -->
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- 100 пустых строк -->
<html>
<!-- дальше все что полагается -->
view-source:http://my.mail.ru/my/visitors
может и не совсем ГК, но обьясните мне д-ё, зачем там пустые строки - скроллить то все умеют
+136
#if 0
// memory allocator
// Type: Best Fit with block sorting
#else
static char* last = (char*)KERNEL_HEAP_BEGIN;
void* alloc( size_t size )
{
void * mem = last;
last += size;
return mem;
}
void free( void* mem )
{
(void)mem;
}
#endif
Менеджер памяти.
такую заглушку пришлось делать за пару ночей до сдачи диплома, так как не хватало времени на написание записки.
зато самый быстрый алокатор. сложность О(1)...
нужен был для выделения памяти для данных 2 потоков и 1 процесса... функция free нигде не использовалась...