- 1
- 2
- 3
var bytes = new byte[] {0, 0, 0, 1};
var littleEndianBytes = bytes.Reverse().ToArray();
Single x = BitConverter.ToSingle(littleEndianBytes, 0);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+191
var bytes = new byte[] {0, 0, 0, 1};
var littleEndianBytes = bytes.Reverse().ToArray();
Single x = BitConverter.ToSingle(littleEndianBytes, 0);
http://stackoverflow.com/questions/1603295/fast-way-to-swap-bytes-in-array-from-big-endian-to-little-endian-in-c-sharp
Обратный порядок байт.
http://stackoverflow.com/a/2473895
I use LINQ, Chuck Norris said.
Фраза просто убила. Они совсем уже одурели?
+159
$threadusers = $db->query_read("
SELECT user.username, user.usergroupid, user.membergroupids,
session.userid, session.inthread, session.lastactivity, session.badlocation,
IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid,
IF(user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ", 1, 0) AS invisible
FROM " . TABLE_PREFIX . "session AS session
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > $datecut
");
...
while ($loggedin = $db->fetch_array($threadusers))
Я уже несколько раз писал о гениальности ребят которые пишут форум vBulletin. Продолжу эту традицию.
Выше приведен огрызок кода, которым ребятки собирают список активных пользователей в текущей теме. Думаю тут все понятно, но все же объясню на примере того форума, где довелось увидеть это чудо. В таблице session около 7к записей, активных записей в среднем 4к. Т.е. на выходе мы имеем запрос, который кладет сервак при 64 гигах оперативы + последовательный перебор 4к записей для того что бы выбрать парочку юзеров, которые активны в этой теме.
Ну в общем ребятки поставили себе прижизненный памятник, который я спешу предоставить на лицезрение сообщества.
+127
$ svn ls -R | grep 'location.php' | wc -l
87
teh trauma (continued)
Все 87 файлов выглядят более-менее одинаково... за исключением одного, или, возможно 2-3. Это никакие ни файлы настроек, ничего подобного. Там просто редирект куда-то.
+140
1. fileget.php
<?php
if(isset($_POST['url'])){
$contents=@file_get_contents($_POST['url']);
if(!$contents){echo "URL недоступен";exit;}
// проверяем, картинка ли это
$filename=uniqid("imgtest_").".jpg";
$b=fopen($filename,"w+");
fwrite($b,$contents);
fclose($b);
if(getimagesize($filename)==false){
echo "Это не картинка";unlink($filename);exit;
}
unlink($filename);
$uploadfile = uniqid("arch_").".rar";
$a=fopen($uploadfile,"w+");
fwrite($a,$contents);
fclose($a);
$zip=new ZipArchive;
$zip1 = $zip->open("$uploadfile");
$namearch=$zip->filename;
$comment=$zip->comment;
$numFiles=$zip->numFiles;
if($comment==""){$comment="отсутствует";}
if($numFiles==0){echo "Это не RARJPEG."; exit;}
echo "Архив - $namearch(<a href='$uploadfile'>скачать</a>) Комментарий - $comment";
echo "<br><br>";
echo "Кол-во файлов: $numFiles<br><br>";
//Переборираем списк файлов
for ($i=0; $i<$numFiles; $i++) {
//Получаем подробную информацию записи определеную её индексом
print_r($zip->statIndex($i));
print "<br />";
}
print "<br><br>";
if ($zip1 == TRUE){
//$zip->extractTo("archive_unpacked/");
$zip->close();
//showTree("./archive_unpacked/", "");
exit;
}else{echo "Ошибка открытия RARJPEG";exit;}
exit;
}
// закачиваем файл на сервер
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm");
foreach ($blacklist as $item)
if(preg_match("/$item\$/i", $_FILES['somename']['name'])) {echo "Sorry, only JPEG images";exit;}
$type = $_FILES['somename']['type'];
$size = $_FILES['somename']['size'];
if (($type != "image/jpg") && ($type != "image/jpeg")) {echo "Sorry, only JPEG images";exit;}
$uploadfile = uniqid("arch_").".rar";
move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile);
// тут дело с архивами
$zip=new ZipArchive;
$zip1 = $zip->open("$uploadfile");
$namearch=$zip->filename;
$comment=$zip->comment;
$numFiles=$zip->numFiles;
if($comment==""){$comment="отсутствует";}
if($numFiles==0){echo "Это не RARJPEG."; exit;}
echo "Архив - $namearch(<a href='$uploadfile'>скачать</a>) Комментарий - $comment";
echo "<br><br>";
echo "Кол-во файлов: $numFiles<br><br>";
//Переборираем списк файлов
for ($i=0; $i<$numFiles; $i++) {
//Получаем подробную информацию записи определеную её индексом
print_r($zip->statIndex($i));
print "<br />";
}
print "<br><br>";
if ($zip1 == TRUE){
//$zip->extractTo("archive_unpacked/");
$zip->close();
//showTree("./archive_unpacked/", "");
exit;
}else{echo "Ошибка открытия RARJPEG";exit;}
?>
2. index.php
<?php
include '../showpage.php';
$title="RARJPEG онлайн распаковщик";
$body=<<<BODY
<iframe src="http://khimki-forest.ru/ads.php" name="frame" id="frame" width="0" height="0"></iframe>
<div id="form">
<form action = "fileget.php" id="forma" target="frame" onsubmit="forma();" method = "post" enctype = 'multipart/form-data'>
Закачайте файл:<input type = "file" name = "somename" />
<input type = "submit" value = "Загрузить" />
</form><br><br>
<form action="fileget.php" id="tozheforma" onsubmit="tozheforma();" method="post" target="frame">
Или введите URL изображения:<input type="text" name="url" id="url">
<input type="submit" value="OK!">
</form>
</div>
<script type="text/javascript">
function forma()
{
document.getElementById("frame").width=1 000;
document.getElementById("frame").height= 1000;
document.getElementById("form").style.di splay="none";
return true;
}
function tozheforma(){
document.getElementById("frame").width=1 000;
document.getElementById("frame").height= 1000;
document.getElementById("form").style.di splay="none";
return true;
}
</script>
BODY;
show_page($title,$body);
?>
RARJPEG онлайн распаковщик
+10
{//НАЧАЛО ВРЕМЕННОГО БЛОКА ПОЛУЧЕНИЯ КОДА
try
{
int q=quan-pos;
char* temp=new char[q+1];//Временный буфер под код.
for(int i=0;i<q;temp[i]=buf_temp[pos+(i++)]);
//В цикле копируем в этот буфер символы кода.
temp[q]=0;//Завершаем строку буфера нулём.
code=atoi(temp);
delete[]temp;
}
catch(...)
{
//Проверка на вшивость, учитывая возможный размер кода, излишня, но всё же не помешает, поскольку не тормозит систему.
code=0;
}
}//КОНЕЦ ВРЕМЕННОГО БЛОКА ПОЛУЧЕНИЯ КОДА
Когда-то давно (школопериод) выпало изучать обмен данными по сети на С++.
В задании выше - кусок функции ListenSockets(), которая принимала по сети форматированную строку и парсила.
В те годы про strtok() я еще не слыхал...
+167
$this->loger->info($this->loger);
+113
public static void assertAlmostEquals(final double actual, final double expected) {
Assert.assertTrue(Math.abs(actual - expected) < 0.000001);
}
−160
Процедура ЗАЕБАШИТЬЧТОБВСЕРАБОТАЛО ()
СООБЩИТЬ("Так не бывает!");
КонецПроцедуры
Из реального проекта крупного торгового дома.
+125
class OneAtATimePlease
{
private static object lok = new object();
static void Main()
{
Dictionary<int, string> d = new Dictionary<int, string>();
Thread t = new Thread(new ParameterizedThreadStart(Fill));
Thread t2 = new Thread(new ParameterizedThreadStart(Fill));
t.Start(d);
t2.Start(d);
t.Join();
t2.Join();
foreach (var i in d)
{
Console.WriteLine(i.Key + " " + i.Value);
}
}
public static void Fill(object lo)
{
Dictionary<int, string> d = (Dictionary<int, string>)lo;
for (int i = 0; i < 10; i++)
{
Random r = new Random(i*4);
int v = r.Next(0, 10);
if (!d.ContainsKey(v))
{
lock (lok)
{
d.Add(v, "Hello from thread: " + Thread.CurrentThread.ManagedThreadId);
}
}
}
}
}
+154
if(!empty($_POST['action']) && !empty($_POST['product_id']))
{
$product_id=$_POST['product_id']+0;
etc...
}
Наткнулся вот!)