- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
var id;
$(window).resize(function() {
clearTimeout(id);
id = setTimeout(doneResizing, 500);
});
function doneResizing(){
window.location.reload();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+164
var id;
$(window).resize(function() {
clearTimeout(id);
id = setTimeout(doneResizing, 500);
});
function doneResizing(){
window.location.reload();
}
На странице элемент, у которого надо менять положение при ресайзе.
+156
foreach($this->_logs as $log)
{
if($log[1]!==CLogger::LEVEL_PROFILE)
continue;
list($message,$level,$category,$timestamp)=$log;
if(!strncasecmp($message,'begin:',6))
{
$log[0]=substr($message,6);
$stack[]=$log;
}
elseif(!strncasecmp($message,'end:',4))
{
$token=substr($message,4);
if(($last=array_pop($stack))!==null && $last[0]===$token)
{
$delta=$log[3]-$last[3];
$this->_timings[]=array($message,$category,$delta);
}
else
throw new CException(Yii::t('yii','CProfileLogRoute found a mismatching code block "{token}". Make sure the calls to Yii::beginProfile() and Yii::endProfile() be properly nested.',
array('{token}'=>$token)));
}
}
Yii 1, реализация профайлинга через лог (ну потому что есть же лог, зачем еще сущности плодить, классы же долго грузятся, а у нас самый лайтвейт фреймворк). Чтобы уж точно наверняка, код дублируется в CProfileLogRoute.
https://github.com/yiisoft/yii/blob/11c3010a82ce2c25332baacce568ff89e451896a/framework/logging/CLogger.php#L294
https://github.com/yiisoft/yii/blob/11c3010a82ce2c25332baacce568ff89e451896a/framework/logging/CProfileLogRoute.php#L137
+136
char *stringFromDTM(MDTM *dtm)
{
if (dtm->count < 1)
return "";
uint32_t size = (sizeof(MDTMPoint) + sizeof(uint32_t)) * dtm->count;
void *data = calloc(1, size);
uint32_t *ptr = data;
*(ptr++) = size;
uint32_t index;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].x;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].y;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].color;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].tol;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].size;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].x;
bool *bptr = (bool *)ptr;
for (index = 0; index < dtm->count; index++)
*(bptr++) = dtm->points[index].bad;
uint32_t len = compressBound(size);
char *buffer = malloc(len);
if (compress((Bytef *)buffer, (uLongf *)&len, data, size) == Z_OK)
{
free(data);
char *compressed = malloc(len + sizeof(uint32_t));
*((uint32_t *)(compressed)) = len;
strcpy(compressed + sizeof(uint32_t), buffer);
free(buffer);
}
free(buffer);
free(data);
return "";
}
Я так и не раскурил, почему так, а не иначе.
+134
protected static DataTable[] ExecuteDataTablesReader(string ProcedureName, SqlParameter[] Params = null) {
SqlConnection cnn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(ProcedureName, cnn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
if (Params != null && Params.Count() > 0) {
cmd.Parameters.AddRange(Params);
}
cnn.Open();
IDataReader rd = cmd.ExecuteReader();
List<DataTable> tables = new List<DataTable>();
do {
DataTable dt = new DataTable();
dt.Load(rd);
tables.Add(dt);
} while (rd.NextResult());
return tables.ToArray();
}
может я чего не понимаю, но какого хера rd.NextResult() кидает мне exception, что ридер закрыт?
+159
$image_type = substr($image_data,strpos($image_data, '/')+1,strpos($image_data, ';')-(strpos($image_data, '/')+1));
Выдирание типа из заголовка base64-закодированного изображения (data:image/jpeg;base64,......................)
+73
@GET
@Path("/store")
void getStoreSummary(@QueryParam("id") final String id, final MethodCallback<StoreSummary> callback);
@GET
@Path("/store")
void getStoreDetails(@QueryParam("id") final String id, @QueryParam("detailed") final boolean mustBeTrue, final MethodCallback<StoreInfo> callback);
Есть API-вызов HTTP GET, который по ?detailed=true возвращает расширенный JSON с дополнительными полями.
И вот в RestyGWT, оказывается, по-другому никак. То есть если бы других параметров запроса не было, можно было бы просто написать
@Path("/store?detailed=true")
. Но он не умеет добавлять динамические параметры запроса к захардкоженным. Если попытаться - получается два вопросительных знака: [/code]/store?detailed=true?id=[id][/code].
+135
void SoundService::stop(){
if (mOutputMixObj != NULL) {
(*mOutputMixObj)->Destroy(mOutputMixObj);
mOutputMixObj = NULL;
}
if(mEngineObj != NULL){
(*mEngineObj)->Destroy(mEngineObj);
mEngineObj = NULL; mEngine = NULL;
}
}
Случайно нашёл в книге по Android NDK, открытой на случайной странице.
+42
class Message {
public:
explicit Message(Level level);
~Message();
Level level() const { return level_; }
const time_t& time() const { return time_; }
std::string text() const { return s_.str(); }
bool enabled() const { return enabled_; }
template<class T>
Message& operator << (const T& t)
{
if (enabled_)
s_ << t;
return *this;
}
Message(Message& msg) { moveFrom(msg); }
Message& operator = (Message& msg) { moveFrom(msg); return *this; }
struct Ref {
explicit Ref(Message& msg): msg_(&msg) {}
Message* msg_;
};
operator Ref() { return Ref(*this); }
Message(Ref r) { moveFrom(*r.msg_); }
Message& operator = (Ref r) { moveFrom(*r.msg_); return *this; }
private:
Level level_;
time_t time_;
std::ostringstream s_;
bool enabled_;
void moveFrom(Message& msg)
{
level_ = msg.level_;
time_ = msg.time_;
s_.str(msg.s_.str());
enabled_ = msg.enabled_;
msg.enabled_ = false;
}
};
move головного мозга
+121
if (Ints.contains(new int[] { 4, 5 }, statusCode / 100)) {
// error response
} else {
// success response
}
Насколько я знаю, Apache HTTP Client не содержит "официального" метода для определения категории кода состояния. Приходится так.
+153
/*рыба*/
$render['variables']['winter_complite'] = array(
'Жилищный фонд' =>100
,'Котельные' =>100
,'Тепловые сети' =>100
,'Водопроводные сети' =>100
,'Канализационные сети' =>100
,'Создание запасов топлива' =>100
);
reformat me!