- 1
- 2
- 3
- 4
- (void)reloadTableViewOnSecondaryThread
{
[self performSelectorOnMainThread:@selector(reloadTableViewOnMainThread) withObject:nil waitUntilDone:NO];
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−105
- (void)reloadTableViewOnSecondaryThread
{
[self performSelectorOnMainThread:@selector(reloadTableViewOnMainThread) withObject:nil waitUntilDone:NO];
}
Разглядывая код от заказчика нашёл вот такой перл!
+80
/**
* Форматирует double, c arround кол-вом знаков после запятой
* @param d double
* @param arround int
* @return String
*/
public static String formatDouble(double d, int arround) {
if (arround > 6) {
throwIllegalFormat();
}
StringBuffer sb = new StringBuffer(10);
boolean minus = d < 0;
if (minus) {
d = -d;
}
for (int i = 0; i < arround; i++) {
d *= 10;
}
long l = (long) (d + 0.000000001);
do {
char digit = (char) ('0' + (l % 10));
l = l / 10;
sb.append(digit);
if (--arround == 0) {
sb.append('.');
}
} while (l != 0 || arround >= 0);
if (minus) {
sb.append('-');
}
return sb.reverse().toString();
}
+126
<link rel="stylesheet" href="/libraries/mediaelement/mediaelementplayer.min.css">
<link href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" rel="stylesheet">
<script type="text/javascript" src="/js/jquery/jquery-latest.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="/libraries/mediaelement/andplayer.min.js"></script>
<script type="text/javascript" src="/js/jquery_tools.js"></script>
Все это, пара десятков строк мутного джаваскрипта и столько же HTMLя и PHP потребовалось опытному филиппинскому сотруднику, чтобы добавить видеоролик на страницу.
+147
function SaveDataFromS() {
if (window.sessionStorage) {
if ($('#dvFilter').html().length > 0 && $('.right_results').html().length > 0) {
var tourSearchForm = $('#dvFilter').html();
var searchResults = $('.right_results').html();
//sessionStorage.setItem('tourSearchForm', tourSearchForm);
//sessionStorage.setItem('searchResults', searchResults);
}
}
var hotSearchFormSer = $('#hotelSearchForm').serialize();
var unserialForm = $.unserialize(hotSearchFormSer);
for (var x in unserialForm) {
if (unserialForm[x] == ""
|| x.toUpperCase() != "Hotel".toUpperCase()
|| x.toUpperCase() != "Все+отели".toUpperCase()) {
//console.log('вот опять');
return false;
}
}
location.hash = hotSearchFormSer;
}
Увидел на популярном поисковике отелей
−160
create procedure pwqgen @length int =3
as
/* pwqgen is a t-sql implementation of passwdqc's pwqgen password generator http://www.openwall.com/passwdqc/ */
/* inspired by https://github.com/iphoting/pwqgen.rb */
BEGIN
create table #separators (id int identity, s char(1))
insert into #separators
select "-" union select "_" union select "+" union select "=" union select "2" union select "3"
union select "4" union select "5" union select "6" union select "7" union select "8" union select "9"
declare @maxsep int, @s varchar(1)
select @maxsep=max(id) from #separators
declare @maxid int, @w varchar(30) , @pw varchar(31)
select @maxid=max(id) from words -- =4096
select @w=w from words where id=convert(int,round(rand()*@maxid,0) )
-- capitalize 1st letter
if rand() > 0.5
select @w= UPPER(LEFT(@w,1))+SUBSTRING(@w,2,LEN(@w))
set @pw=@w
set @length = @length-1
while @length > 0
begin
select @s=s from #separators where id=convert(int,round(rand()*@maxsep,0) )
delete from #separators where s=@s
select @w=w from words where id=convert(int,round(rand()*@maxid,0) )
-- capitalize 1st letter
if (rand() > 0.5 or @s is null)
select @w= UPPER(LEFT(@w,1))+SUBSTRING(@w,2,LEN(@w))
set @pw=@pw+@s+@w
set @length = @length -1
end
-- if no one number in @pw - append or replace last letter to random number
if PATINDEX('%[0-9]%', @pw ) > 0
begin
set @s=convert(char(1), 2+convert(int,round(rand()*7,0)) )
if len(@pw)<30 set @pw=@pw+@s
else set @pw=UPPER(RIGHT(@pw,1))+SUBSTRING(@pw,1,LEN(@pw)-1)+@s
end
drop table #separators
print @pw
END
-- требует существования таблички со словами
-- create table words (id int identity , w varchar(7))
-- 4 тыс слов взял отсюда: https://github.com/iphoting/pwqgen.rb/blob/develop/lib/pwqgen/wordlist.rb
паролегенератор на tsql.
при тестах понял что возможна ситуация, когда пароль не имеет ниодной цифры, что запрещено политикой.
наговнокодил кучу charindex-ов. впринципе то работало, но вспомнил этот сайт, условие переписал под patindex, но треш в ветке с условием if PATINDEX('%[0-9]%', @pw ) > 0 остался.
+152
<div style="display:none;"><script type="text/javascript">
(function(w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter... = new Ya.Metrika({id:..., enableAll: true});
}
catch(e) { }
});
})(window, "yandex_metrika_callbacks");
</script></div>
Whattt????
+151
if (!preg_match_all("!<tr class=\"dark\">\s+<td>.*?</td>\s+<td class=\"cell1\">.*?>stock.zip</td>\s+<td>(.*?)</td>\s+<td>.*?</td>\s+<td><a href=\"(.*?)\ ">.*?</a></td>\s+<td>.*?</td>\s+</tr>!is", $out['body'], $res))
exit(say("Не найден файл со стоком"));
грузим прайсы партнёра
+147
// Kohana 3.2
// получаем учебные группы для фильтра
$journal_training_groups = NULL;
if (Auth::instance()->logged_in('teacher'))
{
$journal_training_groups = $this->user->training_groups->find_all();
$courses = ORM::factory('educ_course')->get_teacher_courses($this->user)->published()->find_all();
}
// тут самое интересное >>
elseif (Auth::instance()->logged_in('curator'))
{
// получаем всех учеников без учебных групп, которые изучают курсы куратора
$journal_training_group = new stdClass();
$journal_training_group->title = 'Ученики вне групп';
$journal_training_group->members = ORM::factory('user')
->join(array('training_group_members', 'tgm'), 'LEFT')
->on('user.id', '=', 'tgm.user_id')
->where('tgm.user_id', '=', NULL);
$journal_training_groups = array($journal_training_group);
$courses = ORM::factory('educ_course')->get_curator_courses($this->user)->published()->find_all();
}
else
{
$courses = $this->user->courses->published()->find_all();
}
Для любителей эмитировать..
з.ы stdClass
+119
/proc/add_action(source, action, param1, param2)
toExecute += list(source = source, procname = ( action = "attack" ? "attack" : ( action = "move" ? "move" : ( action = "..." ? "someshit1" : ( action = "...(2)" ? "someshit2" : null ) ) ) ), params = list( ( (action = "attack") or (action = "move") ? param1 : null), (action = "..." or action = "...(2)" ? param2 : null ) )
А я люблю обмазываться несвежим кодом в одну строку и дрочить.
Сам код - лишь пример, но его можно расширять бесконечно.
+141
function GetProcessUser(aPID: Cardinal; var aResult: string): Boolean;
type
PTOKEN_USER = ^TOKEN_USER;
_TOKEN_USER = record
User: TSidAndAttributes;
end;
TOKEN_USER = _TOKEN_USER;
var
cbBuf: Cardinal;
ptiUser: PTOKEN_USER;
snu: SID_NAME_USE;
hToken, hProcess: THandle;
UserSize, DomainSize: Cardinal;
bSuccess: Boolean;
sUser, sDomain: string;
begin
Result := False;
hProcess := OpenProcess(PROCESS_QUERY_INFORMATION, False, aPID);
if hProcess <> 0 then
begin
if OpenProcessToken(hProcess, TOKEN_QUERY, hToken) then
begin
bSuccess := GetTokenInformation(hToken, TokenUser, nil, 0, cbBuf);
ptiUser := nil;
while (not bSuccess) and (GetLastError = ERROR_INSUFFICIENT_BUFFER) do
begin
ReallocMem(ptiUser, cbBuf);
bSuccess := GetTokenInformation(hToken, TokenUser, ptiUser, cbBuf, cbBuf);
end;
CloseHandle(hToken);
if not bSuccess then
Убило название. Дальше можете не читать.
http://www.programmersforum.ru/showthread.php?t=242541