- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
class UglyColumnsRedefine < ActiveRecord::Migration
def self.up
change_column :variable_sets, :active, :boolean
VariableSet.all.each{|v| v.update_attribute :active, !!v.active}
end
def self.down
end
end
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+62.7
class UglyColumnsRedefine < ActiveRecord::Migration
def self.up
change_column :variable_sets, :active, :boolean
VariableSet.all.each{|v| v.update_attribute :active, !!v.active}
end
def self.down
end
end
Миграция с весёлым названием 20090601130619_ugly_columns_redefine.rb, для рельсового приложения, аля "так делать низя".
+150.9
//$arr - array with arbitrary keys
end($arr);
do {
if( <some condition> ) {
<something of no importance>
unset($arr[key($arr)]);
}
else {
<something of no importance>
}
} while( prev($arr) !== false );
Предполагалось, что на входе будет непустой массив. Потом он будет пролистан с конца (это необходимо) и из него по некоторому условию исключаются элементы. При этом после первого исключения итератор оказывается вне массива и prev() возвращает false (в самом массиве false не размещён заведомо).
+47.9
IsSimpleAssign = ( !isIfWhileForReturn&&
( _currString->ecoString )->IsAtOncePresent( equalsSign )&&
( _currString->ecoString )->IsAtOncePresent( star ) &&
( _currString->ecoString )->IsAtOncePresent( amper ) &&
( ( ( _currString->ecoString )->GetCharPos( amper ) <
( _currString->ecoString )->GetCharPos( star ) ) ||
( ( _currString->ecoString )->GetCharPos( amper ) >
( _currString->ecoString )->GetCharPos( star ) ) ) &&
( ( ( _currString->ecoString )->GetCharPos( equalsSign ) <
( _currString->ecoString )->GetCharPos( star ) ) &&
( ( _currString->ecoString )->GetCharPos( amper ) <
( _currString->ecoString )->GetCharPos( equalsSign ) )
||
( ( _currString->ecoString )->GetCharPos( equalsSign ) >
( _currString->ecoString )->GetCharPos( star ) ) &&
( ( _currString->ecoString )->GetCharPos( amper ) >
( _currString->ecoString )->GetCharPos( equalsSign ) ) )
);
где-то в недрах рукописного парсера
+156
<?
define ("PROXY_HOST", "10.4.4.4");
define ("PROXY_PORT", 3128);
define ("POP3_HOST", "pop3.yandex.ru");
define ("POP3_PORT", 110);
define ("POP3_USER","-------");
define ("POP3_PASSWORD","---------");
global $Ipc_Device;
/**
* Trying to create process...
**/
module_start();
$Dev_Data = null;
function device_ready (&$device, &$dd)
{
if ( $dd==null )
{
syslog ( "hell_php_client: Device IS READY." ); //Девица готова:)
return true;
}else{
syslog ( "hell_php_client: Device NOT READY." ); //Девица не готова:)
return false;
}
}
function device_write ($data )
{
if ( !dio_write ( $GLOBALS["Ipc_Device"], $data, strlen ( $data )))
{
syslog (1, "hell_php_client: Unable to write to device");
exit(-1);
}
}
function register_device ()
{
//Trying to create IPC Device IF NOT EXISTS
$Device_Name = "/dev/mail";
$IPC_DEVICE = null;
if ( file_exists ($Device_Name) )
{
syslog ( 1, " Device already created." );
}else{
$IPC_DEVICE = posix_mknod ( $Device_Name, POSIX_S_IFIFO);
if ( !$IPC_DEVICE )
{
syslog (1, "hell_php_client: Can't create device. Unknown problem.");
exit (1);
}
syslog (1, "hell_php_client: Device $Device_Name created.");
}
$dev = dio_open ($Device_Name, O_RDWR);
$GLOBALS["Ipc_Device"] = $dev;
return $dev;
}
function device_read($r)
{
return dio_read ($GLOBALS["Ipc_Device"], $r);
}
function device_close ( )
{
dio_close ( $GLOBALS["Ipc_Device"]);
}
/**
* CHAPTER 2: Networking. :))
* Connecting to mailserver
**/
//И еще куча кода с сокетами
Сие творение я написал прошлой ночью в нетрезвом состоянии.
Это - устройство сбора почты. Да, именно устройство. И оно работает. Но, блин, я теперь не могу разобраться КАК именно?
Там около 800 строк кода с сокетами, вызовами read/write/lock и даже fcntl!
+153
function strum($text, $simb)
{
if(mb_strlen($text, 'UTF-8') > $simb){
}
if(mb_strlen($text, 'UTF-8') > $simb)
{
$start = 0;
for($i = 0; $i <= (ceil(mb_strlen($text, 'UTF-8') / $simb)); $i++)
{
$tmp = mb_strpos($text, '. ', $start + $simb, 'UTF-8');
if(is_numeric($tmp))
{
$num[] = $tmp;
}
$tmp = mb_strpos($text, '! ', $start + $simb, 'UTF-8');
if(is_numeric($tmp))
{
$num[] = $tmp;
}
$tmp = mb_strpos($text, '? ', $start + $simb, 'UTF-8');
if(is_numeric($tmp))
{
$num[] = $tmp;
}
if($num != '')
{
$end = min($num) + 1;
}
if($end <= $start)
{
$end = mb_strlen($text, 'UTF-8');
}
$str = mb_substr($text, $start, $end, 'UTF-8');
$string[] = mb_substr($str, 0, ($end - $start), 'UTF-8');
$start = $end;
unset($num);
unset($str);
unset($tmp);
if($end == mb_strlen($text, 'UTF-8'))
{
break;
}
}
}
else
{
$string[] = $text;
}
return $string;
}
Функция для умной разбивки
−117.2
my $cache_sql="SELECT `content`, `insertTime` FROM _cache WHERE `confid`='$$conf{confid}'";
...
$cache_sql.=" AND `location`=".$self->{dbh}->quote($url);
...
$cache_sql.=" AND `cgiparams`=".$self->{dbh}->quote($cgi_hash);
...
$cache_sql.=" AND `callparams`=".$self->{dbh}->quote($callp_hash);
...
$cache_sql.=" AND `userid`=".int($$params{userid});
...
$cache_sql.=" AND `groupid`=".int($$params{groupid});
my $replace_sql=$cache_sql;
$replace_sql=~s/SELECT.*?FROM\s+_cache\s+WHERE/REPLACE INTO _cache SET/s;
perl+sql
−101
my $iref=$self->{ditems}->_get_item({itemid=>$weather_itemid, set=>'Weather', fields=>['MinT', 'MaxT', 'Precip', 'Cloud', 'twater'], prefix=>$$p{prefix}});
if ($$iref{$$p{prefix}.'MinT'}<0 && $$iref{$$p{prefix}.'MaxT'}<=0) {
my $tmp=$$iref{$$p{prefix}.'MaxT'};
$$iref{$$p{prefix}.'MaxT'}=$$iref{$$p{prefix}.'MinT'};
$$iref{$$p{prefix}.'MaxT'}=$tmp;
};
#warn $$iref{$$p{prefix}.'MinT'} if !$$iref{$$p{prefix}.'MinT'}>0;
$$iref{$$p{prefix}.'T'}=int( ($$iref{$$p{prefix}.'MinT'}+$$iref{$$p{prefix}.'MaxT'})/2 );
$$iref{$$p{prefix}.'T'}='+'.$$iref{$$p{prefix}.'T'} if $$iref{$$p{prefix}.'T'}>0;
#$$iref{$$p{prefix}.'T'}=~s/\-/\&\#150\;/gs;
$$iref{$$p{prefix}.'MinT'}='+'.$$iref{$$p{prefix}.'MinT'} if ($$iref{$$p{prefix}.'MinT'}>0);
$$iref{$$p{prefix}.'MaxT'}='+'.$$iref{$$p{prefix}.'MaxT'} if ($$iref{$$p{prefix}.'MaxT'}>0);
$$iref{$$p{prefix}.'twater'}='+'.$$iref{$$p{prefix}.'twater'} if ($$iref{$$p{prefix}.'twater'}>0);
$$iref{$$p{prefix}.'time'}=$$p{daystart}+$$p{hour}*3600;
+132.5
public Image ResultImage
{
get
{
return GetCut();
}
}
private Image GetCut()
{
Bitmap b1 = new Bitmap(border.Width, border.Height);
Bitmap b = new Bitmap(pictureBox1.Image.GetThumbnailImage(pictureBox1.Width, pictureBox1.Height, new Image.GetThumbnailImageAbort(fff), IntPtr.Zero));
int x = border.Location.X;
int y = border.Location.Y;
int x1 = border.Location.X + border.Width;
int y1 = border.Location.Y + border.Height;
for (int i = x; i < x1; i++)
{
for (int j = y; j < y1; j++)
{
b1.SetPixel(i - x, j - y, b.GetPixel(i, j));
}
}
return b1;
}
public bool fff()
{
return false;
}
Вырезка прямоугольника из битмапа.
+143
(12:30:38) * Joins: skimer ([email protected])
(12:38:37) * Joins: snaky ([email protected])
(12:39:30) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality- vS b0rm 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:39:32) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality- vS b0rm 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:42:12) * Joins: gErayke ([email protected])
(12:43:09) * Quits: snaky ([email protected]) (Quit: snaky)
(12:43:48) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:48:14) * Quits: z1Pp0- ([email protected]) (Quit: z1Pp0-)
(12:51:26) * TheDimmy /Y\ ???? ?? ???????: Tuc-Tuc*. /Y\ ?????: 12:51:40 /Y\
(12:51:45) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:53:57) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:53:58) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:54:23) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:59:41) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
(12:59:41) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
da
+153
#! /bin/sh
if [ ! -d $4 ]
then
echo Creating $4
mkdir "$4"
fi
export url1="\/$2/src\/\d{1,30}\.[^ ]{1,3}"
export url2="\/$2\/"/"http\:\/\/$1\/$2\/"
#echo $url1 $url2
echo Entering $4
cd "$4" && rm -f $3.html && wget http://$1/$2/res/$3.html -O $3.html && cat $3.html |pcregrep -o -e "$url1" |sed s/$url2/g|uniq >get.txt && wget -nc -i get.txt --referer="http://$1/$2" -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)"
rm -f get.txt
echo Done!
запуск сприпт сайт борда #_темы куда_сохранять