-
+162
- 1
- 2
- 3
- 4
$e=mysql_fetch_assoc(mysql_query(" select * from conf_news where razdel='{$_GET["kind"]}' AND pub='yes' order by `date` desc limit 1 ")) ;
$max_year=substr($e["date"],0,4);
$e=mysql_fetch_assoc(mysql_query(" select * from conf_news where razdel='{$_GET["kind"]}' AND pub='yes' order by `date` limit 1 ")) ;
$min_year=substr($e["date"],0,4);
Как определить минимальную и максимальную дату в списке новостей? А вот как!
Да, кстати, $_GET нигде не проверяется на SQL-инъекцию.
(с) разработка под названием "CMS9"
may_cat,
24 Декабря 2010
-
+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
function getAlphabetList($list = null)
{
$alphabet = split(' ', 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z');
foreach($alphabet as $letter)
{
$has_letter = false;
if(is_array($list))
{
foreach ($list as $value)
{
if(substr(strtoupper($value),0,1) == strpos($letter,$value,1))
{
$has_letter = true;
}
}
}
if($has_letter)
{
$output .= '<a href="?letter='.$letter.'">'.$letter.'</a> ';
} else {
$output .= $letter.' ';
}
}
return $output;
}
Шерстим список записей, определяем, на какие буквы они начинаются, и для имеющихся букв генерируем гиперссылки. Мужика попросили разобраться, почему каталог на 126000 записей тормозит при отображении, и он увидел в коде это.
http://thedailywtf.com/Articles/Thorough-Letter-Checking.aspx
telnet,
24 Декабря 2010
-
+144
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
<?php
error_reporting(E_ALL);
if (isset($_GET["src"])) {
if (stripos($_GET["src"], "http://") !== false || stripos($_GET["src"], "https://") !== false) {
die("Анонимус, пошёл на /*
вырезано
*/
if($ext == "jpg" or $ext == "jpeg"){
$img = imagecreatefromjpeg($src);
}
защита от инклудов по HTTP от нашего любимого анального клоуна lstem aka komprenda
Анонимус,
24 Декабря 2010
-
+145
- 1
- 2
- 3
- 4
- 5
case "exit":
unset($_SESSION["SITE_ADMIN"]);
header("location: {$_SERVER["PHP_SELF"]}");
die;
break;
выход "по-мишустински"
не знаю как вам, а я словил лулзы
цопырайты уходят komprenda, он же "Istem"
Lure Of Chaos,
24 Декабря 2010
-
+92
- 1
- 2
Result := not FExecuting;
if not Result then Exit;
сейчас работаю над правкой компонента доставшегося от другого разработчика :), причем эта вершина мысли была обнаружена в недрах левого компонента, используемого моим компонентом :) ,который использовал этот разработчик :), Сам код соправождаемого мною компонента не далеко по стилю ушел от этого куска
ageron,
23 Декабря 2010
-
+73
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
public abstract class EntityCRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter, DaoObject extends GenericDao<DataObject, DataKey>>
extends EntityManager<DaoObject> implements CRUDManager<DataObject, DataKey, Filter> {
...
}
public interface CRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter>{
...
}
public abstract class EntityManager<DaoObject extends GenericDao> extends Manager{
...
}
Во как!!!
KILA,
23 Декабря 2010
-
+128
- 1
if ((((((X >= -7) && (X<= -6) & (Y!=2)) || (X<= -2) && (X>= -6) && (Y<=0) && (Y>= -1) && (Y== 0.25*X + 0.5) || (X+ -2)*(X+ -2) + (Y+2)*(Y+2)==4) && (X >= -2) && (X<=0) && (Y>=0) && (Y<=2)|| (((X*X)+(Y*Y)==4)) && ((X>=0) && (X<=2) && (Y>=0) && (Y<=2))) || ((Y==0.5*X-1) && (X>=2) && (Y<=3) & (Y!=0)))) Console.WriteLine("Принадлежит");
HIMen,
23 Декабря 2010
-
+163
- 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
AClass::AClass()
{
char c;
pipe( m_ThreadPipeA );
pipe( m_ThreadPipeB );
write( m_ThreadPipeA[0], &c, sizeof(c) );
}
void AClass::JobCreatorThread()
{
char c;
do {
/* prepare new job and pass it to the thread pool */
read( m_ThreadPipeA[1], &c, sizeof(c) );
m_CurrJob = IncomingJob;
write( m_ThreadPipeB[0], &c, sizeof(c) );
} while (!m_Shutdown);
}
void AClass::ThreadPoolMethod()
{
char c;
do {
Job j;
read( m_ThreadPipeB[1], &c, sizeof(c) );
j = m_CurrJob;
write( m_ThreadPipeA[0], &c, sizeof(c) );
/* handle the job j */
} while (!m_Shutdown);
}
из архивов.
дала как-то архетиктура задание модуль распаралелить потоками - но при этом как можно меньше использовать локи, что бы проблем вертикального скалирования не возникало. и три месяца спустся они родили -о чудо!- многопоточный модуль ВООБЩЕ без локов. тока с производительностью проблемы - но это не могут быть локи потому что модуль ими ВООБЩЕ не пользуется - почему мне и дали задание посмотреть что там можно еще усовершенствовать.
мне несколько часов понадобилось что бы мой примитивный мозг смог осознать величие полета мысли моих коллег. а потом (когда я наконец из моря кода выцедил приведенную сверху эссенцию) у меня волосы дыбом встали....
лопата: чудаки пайпами симулировали мутексы/ивенты. и ведь не придерешься: архитекторы сказали локи избегать, а про пайпы ничего сказано не было.
ЗЫ ну и то что в джоб объекте еще и строковых массивов на 80К, и они постоянно копировались туды сюды, это было cherry topping ко всему этому счастью.
Dummy00001,
23 Декабря 2010
-
+121
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class RandomGeneratorFiveState : RandomGenerator {
int zero, one, two, three, four, min, max;
public RandomGeneratorFiveState(int min, int zero, int one, int two, int three, int four)
: base() {
max = min + (four != 0 ? 4 : three != 0 ? 3 : two != 0 ? 2 : one != 0 ? 1 : 0);
this.min = min;
this.zero = zero;
this.one = this.zero + one;
this.two = this.one + two;
this.three = this.two + three;
this.four = this.three + four;
}
public override int Next() {
int n = Random.Next(four);
if(n < zero) return min;
if(n < one) return min + 1;
if(n < two) return min + 2;
if(n < three) return min + 3;
return min + 4;
}
public override int GetMax() { return max; }
public override int GetMin() { return min; }
}
amartynov,
23 Декабря 2010
-
+145
- 1
http://www.zvezdi-oriona.ru/134679.htm
тут все прекрасно: и HTML и JS
Анонимус,
23 Декабря 2010