- 1
$(document.getElementById(containerid))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+172
$(document.getElementById(containerid))
+123
static bool HasSp1()
{
try
{
WaitHandle h = new ManualResetEvent(true);
h.WaitOne(0);
return true;
}
catch
{
return false;
}
}
Проверка наличия Service Pack 1 к .NET Framework 3.5 (в продолжение предыдущего ГК). Да, есть другие варианты, но этот не выглядит хуже.
+111
do
{
...
} while (!stopEvent.WaitOne(1000, false));
// Вылетает с MissingMethodException, если не стоит SP1 к .NET Framework 3.5
//} while (!stopEvent.WaitOne(1000));
Как хорошо, что мощная и надежная технология .NET избавила нас от Dll Hell!
+152
var nav = null;
function init_dev_steps(step) {
this.step = step;
this.steps_glass = ge('dev_steps_s');
this.steps_glass_c = geByClass('content', this.steps_glass)[0];
this.steps_wrap = ge('dev_steps_c');
this.steps_content = geByClass('content', this.steps_wrap)[0];
this.anim = Fx.Transitions.sineInOut;
this.move = function(to_step) {
if (to_step == (this.moving ? this.m_to : this.step)) return;
var moving = true;
if (!this.moving) {
moving = false;
this.m_height = this.steps_wrap.offsetHeight - 2;
this.m_g = (this.step - 1) * 140;
this.m_c = (1 - this.step) * 540;
this.m_cur = this.step;
this.tick = 0;
var self = this;
this.moving = setInterval(function() {
self.m_time += 13;
if (self.anim_h) {
self.tick += 1;
if (self.tick == 3) {
if (self.m_time > self.h_time) {
self.m_height = self.m_to_height;
} else {
self.m_height = self.anim(self.m_time, self.m_from_height, self.m_to_height - self.m_from_height, self.h_time);
}
self.steps_wrap.style.height = self.m_height + 'px';
self.tick = 0;
}
if (self.m_time > self.h_time) {
self.m_g = self.m_to_g;
self.m_c = self.m_to_c;
self.anim_h = false;
self.anim_v = (self.m_to_height != self.m_height);
self.m_time -= self.h_time;
} else {
self.m_g = self.anim(self.m_time, self.m_from_g, self.m_to_g - self.m_from_g, self.h_time);
self.m_c = self.anim(self.m_time, self.m_from_c, self.m_to_c - self.m_from_c, self.h_time);
if (self.diff) self.steps_glass.style.width = self.anim(self.m_time, self.from, self.diff, self.h_time)+'px';
}
self.steps_content.style.marginLeft = self.m_c + 'px';
self.steps_glass.style.marginLeft = self.m_g + 'px';
self.steps_glass_c.style.marginLeft = (-self.m_g - 2) + 'px';
self.m_cur = Math.floor(self.m_g / 140) + 1;
}
if (!self.anim_h) {
self.step = self.m_to;
//hab.setHash('devstep' + this.step);
location.hash = 'devstep' + self.step;
self.steps_wrap.style.height = self.m_to_height + 'px';
clearInterval(self.moving);
self.moving = false;
if (self.step == 3 && ge('inv_password')) focus('inv_password');
}
}, 13);
}
...
+142
if(selected == 3){
if(count == 1){
displayIntResult(0);
}else{
if(count == 1){
displayIntResult(0);
}else{
// код
}
}
// код
}
Надо больше спать. Обнаружено после ночи кодинга
−92
Sub Ìàêðîñ1()
Sheets("Îò÷åò_Âêë.1_15-98").Select
For i = 0 To 25 Step 1
Sheets(Sheets.Count).Select
If i = 0 Then
Range("A:A, B:B").Select
ElseIf i = 1 Then
Range("A:A, C:C").Select
ElseIf i = 2 Then
Range("A:A, D:D").Select
ElseIf i = 3 Then
Range("A:A, E:E").Select
ElseIf i = 4 Then
Range("A:A, F:F").Select
ElseIf i = 5 Then
Range("A:A, G:G").Select
ElseIf i = 6 Then
Range("A:A, H:H").Select
ElseIf i = 7 Then
Range("A:A, I:I").Select
ElseIf i = 8 Then
Range("A:A, J:J").Select
ElseIf i = 9 Then
Range("A:A, K:K").Select
ElseIf i = 10 Then
Range("A:A, L:L").Select
ElseIf i = 11 Then
Range("A:A, M:M").Select
ElseIf i = 12 Then
Range("A:A, N:N").Select
ElseIf i = 13 Then
Range("A:A, O:O").Select
ElseIf i = 14 Then
Range("A:A, P:P").Select
ElseIf i = 15 Then
Range("A:A, Q:Q").Select
ElseIf i = 16 Then
Range("A:A, R:R").Select
ElseIf i = 17 Then
Range("A:A, S:S").Select
ElseIf i = 18 Then
Range("A:A, T:T").Select
ElseIf i = 19 Then
Range("A:A, U:U").Select
ElseIf i = 20 Then
Range("A:A, V:V").Select
ElseIf i = 21 Then
Range("A:A, W:W").Select
ElseIf i = 22 Then
Range("A:A, X:X").Select
ElseIf i = 23 Then
Range("A:A, Y:Y").Select
ElseIf i = 24 Then
Range("A:A, Z:Z").Select
ElseIf i = 25 Then
Range("A:A, AA:AA").Select
End If
Selection.Copy
Sheets.Add
Sheets(Sheets.Count - 1).Select
Columns("A:A").Select
ActiveSheet.Paste
Next i
End Sub
Макрос для копирования подряд расположенных столбцов на отдельные листы
+89
function uIsCommentAllowed($id_all)
{
$db = 'i_all';
$this->db->select('comment');
$this->db->where('id_all',$id_all);
$query = $this->db->get($db);
if ($query->num_rows() == 0) return false;
else
{
$row = $query->row();
if ($row->comment == 1) return true;
if ($row->comment == 1) return false;
}
return false;
}
Кто не видит где говно, показываю: if ($row->comment == 1) return true; if ($row->comment == 1) return false;
Теперь главный вопрос - почему на при тестировании данная ошибка не проявляется, и все вообще работает верно?
+99
import Text.Parsec
import Control.Monad
romanToArabic :: String -> Either ParseError Integer
romanToArabic = parse (genParser (Nothing : Nothing : map Just romans)) "" where
romans = [('M', 1000), ('D', 500), ('C', 100),
('L', 50), ('X', 10), ('V', 5), ('I', 1)]
genParser [_] = eof >> return 0
genParser (ten : five : one : rest) = state1 where
state1 = choice [on one state2, on five state3, next]
state2 = choice [on (sub2 five one) next, on (sub2 ten one) next,
on one state5, next]
state3 = choice [on one state4, next]
state4 = choice [on one state5, next]
state5 = choice [on one next, next]
next = genParser (one : rest)
on Nothing _ = fail ""
on (Just (ch, val)) nextNode = char ch >> nextNode >>= return . (+val)
sub2 = liftM2 $ \(ch1, val1) (ch2, val2) -> (ch1, val1-2*val2)
Кучка в ответ на http://govnokod.ru/9995#comment136058
> с другой стороны раз хаскель, то хотелось бы, например:
> *Main> romanToArabic "LC"
> Left (line 1, column 2):
> unexpected 'C'
> expecting "X", "IX", "IV", "V", "I" or end of input
−94
#*тут определение факториала*
fac_missing_end = factorial(100)/1000000000000000000000000
#there are 134 digits when you take off the zeroes at the end
sum_of_digits = 0
recent_digit = fac_missing_end%10
new_fac = fac_missing_end/10
sum_of_digits = sum_of_digits + recent_digit
recent_digit = new_fac%10
new_fac = new_fac/10
sum_of_digits = sum_of_digits + recent_digit
recent_digit = new_fac%10
new_fac = new_fac/10
sum_of_digits = sum_of_digits + recent_digit
recent_digit = new_fac%10
new_fac = new_fac/10
sum_of_digits = sum_of_digits + recent_digit
# еще пару десятков строк такого говна
print sum_of_digits
http://projecteuler.net/problem=20
http://projecteuler.net/thread=20;page=8
>This is ridiculous, but it worked instantaneously
Первый шаг к решению проблемы — признать что у тебя есть проблема.
+93
class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
function get($url, $extra_headers = null)
{
/* неcущественное пропущено */
if (defined('CURLOPT_NOSIGNAL')) {
curl_setopt($c, CURLOPT_NOSIGNAL, true);
}
if (!$this->allowedURL($url)) {
Auth_OpenID::log("Fetching URL not allowed: %s",
$url);
return null;
}
curl_setopt($c, CURLOPT_WRITEFUNCTION,
array($this, "_writeData"));
curl_setopt($c, CURLOPT_HEADERFUNCTION,
array($this, "_writeHeader"));
if ($extra_headers) {
curl_setopt($c, CURLOPT_HTTPHEADER, $extra_headers);
}
$cv = curl_version();
if(is_array($cv)) {
$curl_user_agent = 'curl/'.$cv['version'];
} else {
$curl_user_agent = $cv;
}
curl_setopt($c, CURLOPT_USERAGENT,
Auth_OpenID_USER_AGENT.' '.$curl_user_agent);
curl_setopt($c, CURLOPT_TIMEOUT, $off);
curl_setopt($c, CURLOPT_URL, $url);
if (defined('Auth_OpenID_VERIFY_HOST')) {
// set SSL verification options only if Auth_OpenID_VERIFY_HOST
// is explicitly set, otherwise use system default.
if (Auth_OpenID_VERIFY_HOST) {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
if (defined('Auth_OpenID_CAINFO')) {
curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO);
}
} else {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
}
}
curl_exec($c);
/* неинтересное пропущено */
}
function post($url, $body, $extra_headers = null)
{
if (!$this->canFetchURL($url)) {
return null;
}
$this->reset();
$c = curl_init();
if (defined('CURLOPT_NOSIGNAL')) {
curl_setopt($c, CURLOPT_NOSIGNAL, true);
}
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $body);
curl_setopt($c, CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_WRITEFUNCTION,
array($this, "_writeData"));
if (defined('Auth_OpenID_VERIFY_HOST')) {
// set SSL verification options only if Auth_OpenID_VERIFY_HOST
// is explicitly set, otherwise use system default.
if (Auth_OpenID_VERIFY_HOST) {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
if (defined('Auth_OpenID_CAINFO')) {
curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO);
}
} else {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
}
}
curl_exec($c);
/* to be continued */
Фрагмент едва ли не самой популярной библиотеки OpenID, а именно клиентской части: http://janrain.com/openid-enabled/
Всё бы было хорошо, но залогиниться, используя лайвджорналовский опенайдишник, не получается. По форумам поползли слухи, что ЖЖ не полностью поддерживает протокол OpenID (хотя протокол разработал Фицпатрик, один из создателей LiveJournal); что он метод POST не поддерживает, поэтому его нужно менять на GET; предлагались совершенно безумные хаки, которые на самом деле не работают...
А ларчик просто открывался. Для поддержки ЖЖ достаточно в приведённый код добавить пару строк. Открыть спойлер или кто-нибудь угадает?