-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+74
- 1
- 2
- 3
- 4
- 5
- 6
protected static final Set<String> SUCCESS_STATUSES = new HashSet<String>(3) {
private static final long serialVersionUID = 76234654856701L;{
add(PROCESSING_COMPLETE_RESULTS_CLEAR.toString());
add(PROCESSING_COMPLETE_WITH_RESULTS_INFORMATION.toString());
add(NOT_PROCESSED_STATE_LIMITATION.toString());
}};
Эпичный способ создать статическую константную мапу без статического блока в основном классе
roman-kashitsyn,
10 Ноября 2011
-
+160
- 1
- 2
unset($this->session->data['order_id']);
$this->data['pap4_orderid'] = $this->session->data['order_id'];
Не разбирался зачем сохраняется order_id, но в любом слусае - где логика?
opencart, /catalog/controller/checkout/success.php, 13-14 строки
antongorodezkiy,
09 Ноября 2011
-
+174
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
$this->_filters = array(
"" => array("\\1".chr(28)."\\2", array(
"/({$_Jb}{$_M}{$_Je}{$_M}{$_Jh}{$_M})({$_Ja}{$_M}{$_Jv}{$_M}{$_Ji}{$_M}{$_Jo}{$_M}{$_Jr}{$_WS_OPT}{$_Jdd})/is",
"/({$_Jgav}{$_M}{$_Ji}{$_M}{$_Jm})({$_M}{$_Jp}{$_M}{$_Jo}{$_M}{$_Jr}{$_M}{$_Jt})/",
"/({$_Jgalka}{$_Jvopr}{$_M}{$_Ji}{$_M})({$_Jm}{$_M}{$_Jp}{$_M}{$_Jo}{$_M}{$_Jr}{$_M}{$_Jt})/is",
"/({$_Jj}{$_M3}{$_Ja}{$_M3}{$_Jv}{$_M3})({$_Ja}{$_M3}{$_Js}{$_M3}{$_Jc}{$_M3}{$_Jr}{$_M3}{$_Ji}{$_M3}{$_Jp}{$_M3}{$_Jt}{$_M3}{$_Jdd})/is",
"/({$_Jv}{$_M3}{$_Jb}{$_M3})({$_Js}{$_M3}{$_Jc}{$_M3}{$_Jr}{$_M3}{$_Ji}{$_M3}{$_Jp}{$_M3}{$_Jt}{$_M3}{$_Jdd})/is",
"/({$_Je}{$_M2}{$_Jx}{$_M2})({$_Jp}{$_M2}{$_Jr}{$_M2}{$_Je}{$_M2}{$_Js}{$_M2}{$_Js}{$_M2}{$_Ji}{$_M2}{$_Jo}{$_M2}{$_Jn}{$_M2}{$_Jss})/is",
/* + ещё строк двести зубодробительных регулярок, исполняющихся в каждом запросе */
);
/* а это подставляется в них */
$_M='(?:[\x09\x0a\x0d\\\\]*)';
$_M3='(?:[\x09\x0a\x0d\\\\\s]*)';
$_M2='(?:(?:[\x09\x0a\x0d\\\\\s]|(?:\/\*.*?\*\/))*)';
/* и это тоже подставляется */
$_Jv ="(?:v|(?:\\\\0*[75]6))";
$_Js ="(?:s|(?:\\\\0*[75]3))";
$_Jc ="(?:c|(?:\\\\0*[64]3))";
$_Jr ="(?:r|(?:\\\\0*[75]2))";
$_Ji ="(?:i|(?:\\\\0*[64]9))";
$_Jp ="(?:p|(?:\\\\0*[75]0))";
$_Jt ="(?:t|(?:\\\\0*[75]4))";
«Проактивная защита» - это принципиально новый подход к концепции веб-безопасности, при котором меняется само понятие реакции веб-приложения на попытки вторжения. Выпуск «Проактивной защиты» является продолжением многолетней работы компании по обеспечению безопасности интернет-проектов. Но впервые нам удалось настолько существенно усилить защищенность сайтов и снизить зависимость клиентов от наиболее частых ошибок веб-разработчиков».
Генеральный директор «1С-Битрикс» Сергей Рыжиков
actuator,
08 Ноября 2011
-
−115
- 1
SELECT id, login, 0 AS shows, 0 AS clicks, 0 AS money FROM users WHERE is_adv=1 AND is_blocked=0 AND (shows <> 0 AND clicks <> 0 AND money <> 0)
peredozo,
07 Ноября 2011
-
+161
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
class Super_Loader extends Zend_Loader {
public static function loadClass($class, $dirs = null)
{
parent::loadClass($class, $dirs);
}
private function moduleIsExist($name) {
if(is_dir(APPLICATION_PATH . "/modules/" . $name . "/")) {
return true;
}
return false;
}
public static function autoload($class)
{
$classArray = explode("_", $class);
$firstPart = array_shift($classArray);
if(self::moduleIsExist($firstPart)) {
$moduleDir = APPLICATION_PATH . "/modules/";
$typePart = array_shift($classArray);
switch($typePart) {
case "Lib":
$file_name = $moduleDir . $firstPart . "/lib/" . implode("/", $classArray) . ".php";
break;
case "Model":
$file_name = $moduleDir . $firstPart . "/models/" . implode("/", $classArray) . ".php";
break;
default:
break;
}
if($file_name) {
try {
self::loadFile($file_name);
return $class;
} catch (Exception $e) {
return false;
}
}
} else {
try {
self::loadClass($class);
return $class;
} catch (Exception $e) {
return false;
}
}
}
}
Свой супер-автолоадер для ZF
asfalanaft,
03 Ноября 2011
-
+93
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
Type
Bool8 = ByteBool; PBool8 = ^Bool8;
Bool16 = WordBool; PBool16 = ^Bool16;
Bool32 = LongBool; PBool32 = ^Bool32;
Bool64 = Boolean64; PBool64 = ^Bool64;
Int8 = Shortint; PInt8 = ^Int8;
Int16 = Smallint; PInt16 = ^Int16;
Int32 = Longint; PInt32 = ^Int32;
//Int64 = Int64; PInt64 = ^Int64;
IntPR = Int64; PIntPR = ^IntPR;
Word8 = Byte; PWord8 = ^Word8;
Word16 = Word; PWord16 = ^Word16;
Word32 = LongWord; PWord32 = ^Word32;
Word64 = QWord; PWord64 = ^Word64;
WordPR = Word64; PWordPR = ^WordPR;
//Pointer = Pointer; PPointer = ^Pointer;
Float32 = Single; PFloat32 = ^Float32;
Float64 = Double; PFloat64 = ^Float64;
AnimeGovno-_-,
02 Ноября 2011
-
+146
- 1
- 2
- 3
- 4
- 5
var x,y,z,w,arctan:real;
begin
Readln(x,y,arctan,z);
w:=(2+y*y)*(x+y/2)/(y*y+1/(1+y*y))-sqrt(Sqr(Sinarctan(z))+abs(Cos(y)));
Writeln(w);
Надо посчитать w, скажите плз, где ошибки
dimalolx,
02 Ноября 2011
-
−101
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class CheckDatabaseYmlEncoding < ActiveRecord::Migration
def self.up
config = Rails::Configuration.new
['development', 'production' ].each { |env|
db_config = config.database_configuration[env];
if db_config
if db_config['encoding'] != 'utf8'
msg = "please use encoding: utf8 in database.yml's #{env} configuration"
Rails.logger.error(msg)
raise msg
else
Rails.logger.info("database.yml's #{env} configuration is using encoding: utf8. Good !" )
end
else
Rails.logger.error("#{env} is missing in database.yml" )
end
}
end
def self.down
end
end
Задорная миграция
Fester,
27 Октября 2011
-
+139
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
j = 0;
while (len >= 8)
{
N[0] = N[0] ^ in[j++];
N[1] = N[1] ^ in[j++];
// first round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
S = N[0];
N[0] = N[0] + k[1];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
S = N[0];
N[0] = N[0] + k[2];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped k[3] - k[6] */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
// second round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
len = len - 8;
};
if (len > 0)
{
for (i=0;i<len;i++)
((uint8 *)N)[i] = ((uint8 *)N)[i]^((uint8 *)&in[j])[i];
// first round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
// second round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
};
полная версия - 250 строк.
это не школолостудентокод, это реальный код, за который когда то кому то были заплачены деньги
defecate-plusplus,
20 Октября 2011
-
−149
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
Dim a as Stack
Dim b as Stack
For n :=8 to 1:
a.Push 1
b.Push 1 xor n
if n xor 1 = 1 then
begin
a.push(b) b.push(a)
end
end
Мультивложенные стеки
Операции за О(1)
Вставка, забывчивость
О(1)
Извлечение в От (1)
От - О с чертой
Константа, короче говоря.
Настоящий стек.
alexoy,
19 Октября 2011