-
+157
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
<?
/**
* @author i3ookMAn
* @copyright 2011
*/
$H = "H";
$e = "e";
$l = "l";
$o = "o";
$k = ",";
$w = "W";
$r = "r";
$d = "d";
$v = "!";
$kolat = "$H$e$l$l$o$k $w$o$r$l$d$v";
$init = htmlentities($kolat);
function unperekoder($string)
{
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
$lolwto = get_html_translation_table(HTML_ENTITIES);
$lolwto = array_flip($lolwto);
return strtr($string, $lolwto);
}
$exit = unperekoder($init);
echo $exit;
?>
Выводит "Hello, World!" :D
i3ookMAn,
13 Сентября 2011
-
+964
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
using System;
using System.Reflection;
using System.Reflection.Emit;
namespace DynUnloop
{ // Суммирование в цикле
class SumLooping
{ public int Summ(int valMax)
{ int result = 0;
for (int i = 0; i <= valMax; i++)
result += i;
return result;
}
}
// Плоское суммирование
class SumFlat
{ interface ISumCode
{ int ComputeSumm(int valMax);
}
void WriteCode(int valMax)
{ AssemblyName assemblyName = new AssemblyName();
assemblyName.Name = "SumFlatAssembly";
AssemblyBuilder assemblyBuilder =
AppDomain.CurrentDomain.DefineDynamicAssembly(
assemblyName, AssemblyBuilderAccess.Run);
ModuleBuilder moduleBuilder =
assemblyBuilder.DefineDynamicModule("SumFlatModule");
TypeBuilder typeBuilder =
moduleBuilder.DefineType("SumFlatClass"
, TypeAttributes.Public);
typeBuilder.AddInterfaceImplementation(typeof(ISumCode));
/// Задаём возвращаемое зачение и параметр
Type[] paramTypes = { typeof(int) };
Type returnType = typeof(int);
MethodBuilder methodBuilder =
typeBuilder.DefineMethod("ComputeSumm"
, MethodAttributes.Public
| MethodAttributes.Virtual
, returnType, paramTypes);
ILGenerator il = methodBuilder.GetILGenerator();
// Генерируем плоский код.
il.Emit(OpCodes.Ldc_I4, 0);
for (int i = 1; i <= valMax; i++)
{ il.Emit(OpCodes.Ldc_I4, i);
il.Emit(OpCodes.Add);
}
il.Emit(OpCodes.Ret);
// Перекрываем метод ComputeSumm и создаём тип SumFlatClass.
MethodInfo methodInfo =
typeof(ISumCode).GetMethod("ComputeSumm");
typeBuilder.DefineMethodOverride(methodBuilder, methodInfo);
typeBuilder.CreateType();
/// Код готов, создаём объект и берем его интерфейс.
code = (ISumCode)assemblyBuilder.CreateInstance("SumFlatClass");
}
public int Summ(int val)
{ if (this.code == null)
WriteCode(val);
return this.code.ComputeSumm(val);
}
ISumCode code;
}
Оригинальный стиль кода и комментарии сохранёны. (с), или как там.
В коде - разворачивание цикла в "плоский" IL код, который, как доказывается должен выигрывать по производительности.
Elvenfighter,
13 Сентября 2011
-
+154
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
$NpjCaps = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯЇЄІ";
$NpjSmall = "абвгдеёжзийклмнопрстуфхцчшщьъыэюяїєі";
$var = str_replace( ".php", "", $var );
$var = trim( strip_tags( $var ) );
$var = preg_replace( "/\s+/ms", "-", $var );
$var = strtr( $var, $NpjCaps, $NpjSmall );
$var = strtr( $var, $NpjLettersFrom, $NpjLettersTo );
$var = strtr( $var, $NpjBiLetters );
Нашел в одном из "хороших" скриптов D
SaNcHeS,
13 Сентября 2011
-
−90
- 1
- 2
def removeDuplicate(store):
return [x for x in store if x not in locals()['_[1]']]
Удаление дубликатов в списке, set(store) религия не позволила сделать:)
morpheuz,
13 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
<?if($page=='/map.php'){
$name='Карта сайта';
}
if($page=='/search.php'){
$name='Поиск по сайту';
}
if($page=='/photo.php'){
$name='Фото';
}
if($page=='/schoolsafety/prirodchs/cynami/istoria.php'){
$name='История цунами';
}
if($page=='/school/art.php'){
$name='Стенгазеты';
}
if($page=='/school/photo.php' or $page=='/school/photo_upload.php'){
$name='Фотогалерея';
}?>
<h1><?=$name;?></h1>
Tairesh,
13 Сентября 2011
-
−343
- 1
[[[[[[mainDelegate.subController.CellOfTable.subCellsArray objectAtIndex:[[sourceArray objectAtIndex:1] intValue]] objectForKey:@"Cell in subCell"] subviews] objectAtIndex:0] subviews] objectAtIndex:0];
Доголи-коротколи, а до нужной ячейки доберемся ))))
Psionic,
13 Сентября 2011
-
+156
- 1
RewriteCond %{REQUEST_URI} !\.(cssіjsіjpgіgifіpng)$
Творение удаленного сотрудника. Долго не мог понять, почему сервер кидает 500 ошибку.
PrimeBIT,
13 Сентября 2011
-
+168
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
...
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_octa">'.gettags("str_octa").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_accident">'.gettags("str_sluch").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_travel">'.gettags("str_travel").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_history">'.gettags("str_history").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="8" class="lnk"><img src="images/spacer.gif" width="10" height="8" /></td>';
echo '</tr>';
echo '</table>';
echo '</DIV>';
echo '<!--- end of left menu area ---></td></tr>';
break;
// Spravochniki
case 7:
echo '<td width="5" bgcolor="#FFFFFF"><img src="images/spacer.gif" width="5" height="700" /></td>';
echo '<td width="219" valign="top" ><!--- left area --->';
echo '<table width="219" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">';
echo '<tr>';
echo '<td width="219" height="89"><!--- left menu area ---> <DIV class="left-menu">';
echo '<table width="219" cellpadding="0" cellspacing="0" class="left-menu" border="0">';
echo '<tr>';
echo '<td width="219" height="27" background="images/LMenuBG.gif" class="txtTitleWhite">'.gettags("spr_notarius").'</td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="3" class="lnk"><img src="images/spacer.gif" width="10" height="3" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_help">'.gettags("spr_nothelp").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_functions">'.gettags("spr_funct").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_when">'.gettags("spr_notwhen").'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="219" height="27" background="images/LMenuBG.gif" class="txtTitleWhite">'.gettags("spr_zemsl").'</td>';
...
Переделываем сайт одной компании. Пока суд да дело, их "текущий" сайт переехал к нам на хостинг. Из любопытства залез в код.
Лучше бы я этого не делал.
Собственно, ЭТО (и сотни, если не тысячи строк в том же духе) и выводят все странички.
havelock,
12 Сентября 2011
-
+85
- 1
- 2
- 3
- 4
- 5
Да обойдут вас стороной фатал эрроры, и ужас от переписывания говнокода нубов!=)
Пишите так, чтобы программа не требовала дополнительной плашки памяти на 2 гектара!
Желаю успешного развития в этой нелегкой сфере IT!
Мои искренние поздравления с днем программиста!
1_and_0,
12 Сентября 2011
-
+167
- 1
- 2
- 3
- 4
- 5
- 6
- 7
[code=cpp]
#include <iostream.h>
void main(void)
{
cout << Заключайте сообщение в кавычки;
}
[/code]
http://programmersclub.ru/01/
ReallyBugMeNot,
12 Сентября 2011