- 1
- 2
- 3
- 4
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[KQCache clearCache];
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−112
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[KQCache clearCache];
}
memory warning?
значит надо очистить, и пох какая memory!
+163
function hideblock(elemid) {
$('#'+elemid).fadeOut(300);
setCookie(elemid,'hidden',365);
$('#i_restore').fadeIn(300);
}
function restoreblock() {
$('#i_blog').fadeIn(300);
$('#i_search').fadeIn(300);
$('#i_chat').fadeIn(300);
$('#i_stat').fadeIn(300);
$('#i_links').fadeIn(300);
$('#i_tags').fadeIn(300);
eraseCookie('i_blog');eraseCookie('i_search');eraseCookie('i_chat');eraseCookie('i_stat');eraseCookie('i_links');eraseCookie('i_tags');
$('#i_restore').fadeOut(300);
}
------------
if (getCookie('i_blog')=='hidden') {$('#i_blog').hide();};
if (getCookie('i_search')=='hidden') {$('#i_search').hide();};
if (getCookie('i_chat')=='hidden') {$('#i_chat').hide();};
if (getCookie('i_stat')=='hidden') {$('#i_stat').hide();};
if (getCookie('i_links')=='hidden') {$('#i_links').hide();};
if (getCookie('i_tags')=='hidden') {$('#i_tags').hide();};
if (!(getCookie('i_links')=='hidden')&&!(getCookie('i_blog')=='hidden')&&!(getCookie('i_stat')=='hidden')&&!(getCookie('i_chat')=='hidden')&&!(getCookie('i_search')=='hidden')&&!(getCookie('i_tags')=='hidden')) {$('#i_restore').hide();};
Nuff said
+150
// don't show any errors to end user
error_reporting(0);
// error handler function
function my_error_handler($errno, $errstr, $errfile, $errline) {
$date = date('d/M/Y:H:i:s O');
// \r\n for cozy look on win machines
$error_str = "{$date} | [error] #{$errno}: {$errfile}:{$errline} {$errstr} \r\n";
// *.txt for win machines
error_log($error_str, 3, 'C:\AppServ\www\error_log.txt');
// don't execute php internal error handler
return true;
}
set_error_handler('my_error_handler');
// throws error
echo date();
Рубрика: Советы от Говнокода.
В связи с #7594. Fatal errors не ловит (пхп, хуле), но их и не нужно показывать пользователю, все остальные ошибки пишем в лог на сервер.
Ошибка в логе выглядит так:
21/Aug/2011:16:50:52 +0000 | [error] #2: C:\AppServ\www\4.php:22 date() expects at least 1 parameter, 0 given
+161
int b;
int c();
template<class u, class v>
struct IsSameType
{
enum {r=0};
};
template<class u>
struct IsSameType<u,u>
{
enum {r=1};
};
//...
cout<<IsSameType<decltype(b),decltype(c())>::r<<endl;
cout<<IsSameType<decltype(b),decltype((b))>::r<<endl;
cout<<IsSameType<decltype(c()),decltype((b))>::r<<endl;
Сегодня увидим новую плюшку, что нам подарил новый стандарт С++0х.
1)Что на экране получим после выполнения данной программы?
2)Какие реально decltype возвращает типы в данных случаях?
Желательно ответить на оба вопроса, не компилируя. ^_^
+146
// file.h
template <class T>
void gg (T i)
{
a = i;
}
// file1.cpp
#include "file.h"
static int a;
...
gg (a);
// file2.cpp
static int a;
...
gg (a);
// компилюем, линкуем - где напёрсточек^W^W в какое a стучится gg<int>?
>Мне тут некоторые граждане, на пару с некоторыми компиляторами и стандартом наперевес, пытались неубедительно доказывать, что-де такого не позволяет ODR, но пояснить свою мысль в математически непротиворечивой форме что-то не получилось. А между тем, не грех было бы взять пример с презренного пхп и заставить программизда все глобальные переменные, используемые в какой-либо функции, специфицировать в ней явным образом.
+161
/// ...хде-то в начале огромной-преогромной функции...
#define ADD_GRAPH(gid,gmod) m_Registry[TGraphId(gid,gmod)] = new
/// ...хде-то по её середине...
#define ADD_MAP_WEAPON_OVERLAY(name_base,file_name)\
for (i=0; i<8; i++)\
{\
ADD_GRAPH(name_base _T("S"),i) (CLoadImage (\
file_name,\
TImageFX ()\
.SetColorReplacementFX (g_WeaponRecolor[i],2,0)\
));\
ADD_GRAPH(name_base _T("Q"),i) (CLoadImage (\
file_name,\
TImageFX ()\
.SetColorReplacementFX (g_WeaponRecolor[i],2,1)\
));\
}
#define ADD_MAP_WEAPON_OUTLINE(name_base,file_name)\
ADD_GRAPH(name_base _T("C"),0) (CLoadImage (\
file_name,\
TImageFX ()\
.SetColorReplacementFX (g_WeaponRecolor[0],2,2)\
));
ADD_MAP_WEAPON_OVERLAY (_T("CellSword"),_T("cell_weap_sword.png"));
ADD_MAP_WEAPON_OVERLAY (_T("CellAxe"),_T("cell_weap_axe.png"));
ADD_MAP_WEAPON_OVERLAY (_T("CellEshock"),_T("cell_weap_eshock.png"));
ADD_MAP_WEAPON_OVERLAY (_T("CellLance"),_T("cell_weap_lance.png"));
//... тут очень много в таком же духе ...
ADD_MAP_WEAPON_OUTLINE (_T("CellXbow"),_T("cell_weap_xbow.png"));
ADD_MAP_WEAPON_OUTLINE (_T("CellRifle"),_T("cell_weap_rifle.png"));
ADD_MAP_WEAPON_OUTLINE (_T("CellPistol"),_T("cell_weap_pistol.png"));
>Как бы оно выглядело без макросов, предоставляю гадать желающим.
Эстеты, разумеется, могут возопить: "Пошто было не вынести всё это в функцию?!" Пото, что функцию (а она потребовалась бы методом) пришлось бы описывать в хедере вместе с классом + имплементировать где-то снаружи текущей функции - весёлое занятие, нечего сказать. Это при том, что данный конкретный кусок кода на момент написания сильномутабелен в плане кол-ва требующихся параметров, и в перспективе мог вообще исчезнуть/слиться с другим. И таких кусков там ~100500. Возможностей, с которыми использование функций для подобного действа не является злобным буратинством, в моём местном С++ пока не наличенствует. А так все релевантные к специфике данного куска пиписьки сконцентрированы в одном месте, умещаются на 1 экран, и я спокоен за возвращение к нему через много времени.
+146
Boost
December 25th, 2009 (07:36 pm)
Tags: мудаки
current mood: ненависть
Как же меня заебали люди, изобретающие свои велосипеды, и не желающие пользоваться бустом. "От буста одни тормоза".
"Он долго компилируется". "Он жрет многа памяти".
Ну пиздец, слов нет. Дай обезьяне компьютер, так она пойдет им гвозди забивать. Буст охуенен, блять.
Буст - это плод многолетней кропотливой работы самых светлых умов планеты. В мире просто нет ей аналога, даже отдаленного.
Прежде чем, блять, иметь ахуй критиковать буст, посмотрите объективно на то невероятно уебищное, запредельно
сверхблевотное термоядерное убер-гавно, которое выходит из под ваших кривых культяпок. Это же невообразимый пиздец.
Студия плачет стекловидным телом, у компилятора кровавый понос, линкер блюет собственными кишками.
Сравнивать буст и собственную говноподелку - это все равно что сравнивать телескоп Хаббл и бабушкины очки.
Если даун не смог качественно решить задачу с помощью буста, то это не потому что буст - гавно, а потому что он даун.
Предлагаю новый тест на IQ из одного вопроса: "Используете ли вы Boost?".
http://outsidecpp.livejournal.com/8678.html
+169
case"register": // если do=register, выводим регистрацию
if (isset($login) && isset($pass1) && isset($pass2)) {
if (!empty($login) && !empty($pass1) && !empty($pass2)) {
$users=get_serial('users');
$reallogin=$login;
$login=md5(strtolower($login));
if (!$users[$login]) {
if (strlen($pass1)>=4) {
$pass1=md5($pass1);
$pass2=md5($pass2);
if ($pass1==$pass2) {
$users[$login]=array();
$users[$login]['login']=htmlspecialchars($reallogin);
$users[$login]['pass']=$pass1;
set_serial($users,'users');
$error="Вы успешно зарегистрированны";
header("Refresh:3;url=".$_SERVER['PHP_SELF']);
}else {
$error="Ошибка: Пароли не совпадают";
}
}else {
$error="Ошибка: Минимальная длина пароля 4 символа";
}
} else {
$error="Ошибка: Такой пользователь уже существует";
}
}else {
$error="Ошибка: Обязательные поля нужно заполнить";
}
}
+162
#include<thread>
void f();
struct F {
void operator()();
};
int main()
{
std::thread t1{f}; // f() executes in separate thread
std::thread t2{F()}; // F()() executes in separate thread
}
Фигурные скобочки t1{f}; , используемые где только можно не перестают доставлять.
http://www2.research.att.com/~bs/C++0xFAQ.html
+161
// mysql_affected_rows порядка 200 записей
while ($row_ex=mysql_fetch_array($res_ex)){
$e_arr[trim(strtoupper($row_ex[0]))] = $row_ex[1];
$exc .= "(".preg_replace("/(\*|\+|\(|\))/","\\\\$0",$row_ex[0])."(\ |\,|\<|\n|\.)+)|";
}
if ($exc){
preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['info'],$maches);
$mach=array_unique($maches[0]);
unset($maches);
foreach ($mach as $e_name){
$last_c=substr($e_name,-1);
if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
if ($e_name[trim(strtoupper($e_name))])
$Tour['info'] = preg_replace("/$e_name(?!.?<\/a>)/","<a href='".$e_arr[trim(strtoupper($e_name))]."\.html'>".$e_name."<\/a>",$Tour['info']);
}
preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['info1'],$maches);
$mach=array_unique($maches[0]);
unset($maches);
foreach ($mach as $e_name){
$last_c=substr($e_name,-1);
if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
$e_arr[trim(strtoupper($e_name))]."\.html'>".$e_name."<\/a>",$Tour['info1']);
}
preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['info2'],$maches);
$mach=array_unique($maches[0]);
unset($maches);
foreach ($mach as $e_name){
$last_c=substr($e_name,-1);
if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
$e_arr[trim(strtoupper($e_name))]."\.html'>".$e_name."<\/a>",$Tour['info2']);
}
preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['shedulle'],$maches);
$mach=array_unique($maches[0]);
unset($maches);
foreach ($mach as $e_name){
$last_c=substr($e_name,-1);
if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
}
}
http://govnokod.ru/7602 "Регулярки? Да, слышал!"
Итого + 8-10 секунд на исполнение.