- 1
- 2
- 3
- 4
- 5
- 6
- 7
if (param["LOG"] != NULL) // пришли логи от плагина.
{
this->logs = new loger();
this->logs->write(param["LOG"], param["TYPE"], this->Name, name);
delete this->logs;
return;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1004
if (param["LOG"] != NULL) // пришли логи от плагина.
{
this->logs = new loger();
this->logs->write(param["LOG"], param["TYPE"], this->Name, name);
delete this->logs;
return;
}
Так мы пишем логи
+171
$headers = @get_headers("http://".$domen_name."/templates/form-".$_GET['id'].".tpl");
if(preg_match("|200|", $headers[0]))
{
$form = file_get_contents($root."/templates/form-".$_GET['id'].".tpl");
Самая жестокая проверка на существование файла которую я видел в своей жизни.
Кодеры не знали про file_exists()
+164
private function _arrayToString($array)
{
$count = count($array);
$str = '';
for ($i = 0; $i < $count; $i++) {
$str .= $array[$i] . ',';
}
$str = substr($str, 0, strlen($str) - 1);
return $str;
}
implode ?? не, не слышал!
+155
foreach ($period_range as $k=>$v)
{?><option value="<?=$k?>"<?=($k==$period)?' selected':''?>><?=$v?></option><?}
Накодил как-то...
+158
<?php
function bracket_checker($input_string)
{
$checked = true;
$bracket1_open = "(";
$bracket1_close = ")";
$bracket2_open = "[";
$bracket2_close = "]";
$bracket3_open = "{";
$bracket3_close = "}";
If (strlen($input_string)> 30)
die("Wrong length of the input string!");
$bracket1_count= substr_count($input_string,$bracket1_open);
$bracket2_count= substr_count($input_string,$bracket1_close);
If ($bracket1_count != $bracket2_count)
$checked = false;
$bracket1_count= substr_count($input_string,$bracket2_open);
$bracket2_count= substr_count($input_string,$bracket3_close);
If ($bracket1_count != $bracket2_count)
$checked = false;
$bracket1_count= substr_count($input_string,$bracket3_open);
$bracket2_count= substr_count($input_string,$bracket3_close);
If ($bracket1_count != $bracket2_count)
$checked = false;
If ($checked)
print("Check passed!");
else
print("Check failed!");
}
echo "ab ( cd ()[]) ef{5} - "; bracket_checker("ab ( cd ()[]) ef{5}"); echo "\n";
echo "ab ( cd { ef ) gh } ij - "; bracket_checker("ab ( cd { ef ) gh } ij"); echo "\n";
?>
Прямо с собеседования пишу
+133
(define rsagen
(lambda ()
(for-each (lambda (rsa counter)
(cond
((> (random) 0.5)
(fprintf out-quest "%N=~s, d=~s\n\\item Задача. Криптосистема RSA. Дано: $p=~s,\\ q=~s,\\ e=~s$. Вычислить $N, d$.\n"
(third rsa)
(fifth rsa)
(first rsa)
(second rsa)
(fourth rsa)
))
(else
((lambda (randM)
(fprintf out-quest "%p=~s,q=~s,e=~s,M=~s\n\\item Задача. Криптосистема RSA. Дано: $d=~s,\\ N=~s,\\ C=~s$. Вычислить $M$.\n"
(first rsa)
(second rsa)
(fourth rsa)
(rsacrypt randM (fourth rsa) (third rsa))
(fifth rsa)
(third rsa)
randM
))
((Y
(lambda (checkrand)
(lambda (randf)
((lambda (rand)
(cond
((not (eq? (rsacrypt rand (fourth rsa) (third rsa)) rand))
rand)
(else
(checkrand randf))))
(randf)))))
(lambda () (- (third rsa) (+ (random (quotient (third rsa) 2)) 1))))
)
)
)
)
(take (shuffle (getalllistallmany_e (next-primes 7 50) (next-primes 5 10))) 14)
(build-list 14 (lambda (x) (+ x 1))))
))
Генерирование заданий по криптосистеме RSA. Обратите внимание на Y комбинатор.
+127
string res = "";
try
{
if (org_id == NewId.ToString())
{
string query = "delete from ARMVZ_CONFIG where org_id = " + org_id;
OdbcCommand cmd = new OdbcCommand(query, getConnect());
cmd.ExecuteNonQuery();
cmd.CommandText = "delete from organisations where id = " + org_id;
cmd.ExecuteNonQuery();
cmd.CommandText = "delete from services where orgid = " + org_id;
cmd.ExecuteNonQuery();
NewId = 0;
res = "";
}
else
{
try
{
string query = "select * from tmp_organisations where id = " + org_id;
OdbcCommand cmd = new OdbcCommand(query, getConnect());
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
if (dt.Rows.Count > 0)
{
query = "update organisations set ";
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName != "id")
{
query = query + col.ColumnName +
" = (select " + col.ColumnName +
@" from tmp_organisations where tmp_organisations.id = " + org_id + " ),";
}
}
query = query.Remove(query.Length - 1);
query = query + " where id = " + org_id;
cmd.CommandText = query;
dt.Dispose();
cmd.ExecuteNonQuery();
}
}
catch
{
//
}
try
{
string query = "select * from tmp_armvz_config where org_id = " + org_id;
OdbcCommand cmd = new OdbcCommand(query, getConnect());
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
if (dt.Rows.Count > 0)
{
query = "update armvz_config set ";
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName != "org_id")
{
query = query + col.ColumnName +
" = (select " + col.ColumnName +
@" from tmp_armvz_config where tmp_armvz_config.org_id = " + org_id + " ),";
}
}
query = query.Remove(query.Length - 1);
query = query + " where org_id = " + org_id;
cmd.CommandText = query;
dt.Dispose();
cmd.ExecuteNonQuery();
}
}
catch
{
//
}
метод называется "rollback_transaction". весь метод просто не влез
+164
function recoveryPassword( $data )
{
$value = implode( '', $data );
$key = implode( '', array_keys( $data ) );
$query = '
SELECT
u.user_id AS `id`,
u.login,
u.salt,
u.mail,
u.status
FROM
users AS `u`
WHERE
u.'.$key.' = "'.$value.'"
LIMIT 1;';
if( !list($result) = $this->db->get($query) )
{
...
}
Копаясь в старом студийном коде наткнулся. Видимо, предполагалось, что в качестве $data будет передан массив вида array( 'field' => 'value' ) c 1 элементом.
+1000
int count_object = 64;
int colum = 8;
for(int i = 0; i < count_object; i++){
mObject *dot = new mObject(this);
vec.push_back(dot);
scene->addItem(dot);
}
int t = 1;
for(int j = 0; j < vec.size()-1; j++){
if(t >= colum){
scene->addItem(new mConnect(vec[j+1],vec[j+2]));
t = 0;
}else{
scene->addItem(new mConnect(vec[j],vec[j+1]));
}
++t;
}
for(int g = 0; g < colum; g++){
int u = 0;
for(int y = 0; y < vec.size()/9; y++){
scene->addItem(new mConnect(vec[g+u],vec[u+colum+g]));
u = u + colum;
}
}
особенно порвало "for(int y = 0; y < vec.size()/9; y++){"
+136
static BOOL CALLBACK callbackEspecial(
LPSTR aModuleName,
DWORD aModuleBase,
ULONG aModuleSize,
PVOID aUserContext)
{
BOOL retval = TRUE;
DWORD addr = *(DWORD*)aUserContext;
/*
* You'll want to control this if we are running on an
* architecture where the addresses go the other direction.
* Not sure this is even a realistic consideration.
*/
const BOOL addressIncreases = TRUE;
/*
* If it falls inside the known range, load the symbols.
*/
if (addressIncreases
? (addr >= aModuleBase && addr <= (aModuleBase + aModuleSize))
: (addr <= aModuleBase && addr >= (aModuleBase - aModuleSize))
) {
retval = _SymLoadModule(GetCurrentProcess(), NULL, aModuleName, NULL, aModuleBase, aModuleSize);
}
return retval;
}
аццкая адресация
http://mozilla-thunderbird.sourcearchive.com/documentation/1.5.0.10-0ubuntu3/nsStackFrameWin_8cpp-source.html