- 1
-
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+149
-
+60
for(int i=0;i<m;i++){
if(i>0 && a[i-1][j]>=a[i][j])continue;
if(i+1<n && a[i+1][j]>=a[i][j])continue;
if(j>0 && a[i][j-1]>=a[i][j])continue;
if(j+1<m && a[i][j+1]>=a[i][j])continue;}
Я так и не понял, в чем смысл этого цикла, ну да ладно.
+1
http://faqs.org.ru/progr/c_cpp/cfaqrus.htm
1.14: Ну а если честно, на какой-нибудь реальной машине используются
ненулевые внутренние представления нулевых указателей или разные
представления для указателей разных типов?
О: Серия Prime 50 использует сегмент 07777, смещение 0 для нулевого
указателя, по крайней мере, для PL/I. Более поздние модели используют
сегмент 0, смещение 0 для нулевых указателей С, что делает
необходимыми новые инструкции, такие как TCNP (проверить нулевой
указатель С), которые вводятся для совместимости с уцелевшими
скверно написанными С программами, основанными на неверных
предположениях. Старые машины Prime с адресацией слов были печально
знамениты тем, что указатели на байты (char *) у них были большего
размера, чем указатели на слова (int *).
Серия Eclipse MV корпорации Data General имеет три аппаратно
поддерживаемых типа указателей (указатели на слово, байт и бит), два
из которых - char * и void * используются компиляторами С. Указатель
word * используется во всех других случаях.
Некоторые центральные процессоры Honeywell-Bull используют код 06000
для внутреннего представления нулевых указателей.
Серия CDC Cyber 180 использует 48-битные указатели, состоящие из
кольца (ring), сегмента и смещения. Большинство пользователей
(в кольце 11) имеют в качестве нулевых указателей код 0xB00000000000.
Символическая Лисп-машина с теговой архитектурой даже не имеет
общеупотребительных указателей; она использует пару <NIL,0> (вообще
говоря, несуществующий <объект, смещение> хендл) как нулевой
указатель С.
В зависимости от модели памяти, процессоры 80*86 (PC) могут
использовать либо 16-битные указатели на данные и 32-битные указатели
на функции, либо, наоборот, 32-битные указатели на данные и 16-битные
- на функции.
Старые модели HP 3000 используют различные схемы адресации для байтов
и для слов. Указатели на char и на void, имеют, следовательно,
другое представление, чем указатели на int (на структуры и т.п.),
даже если адрес одинаков.
Более поздние модели используют сегмент 0, смещение 0 для нулевых указателей С, что делает необходимыми новые инструкции, такие как TCNP (проверить нулевой указатель С), которые вводятся для совместимости с уцелевшими скверно написанными С программами, основанными на неверных предположениях.
Делать специальную инструкцию в процессоре для криво написанного сишного кода. Какой багор!
+21
#include <iostream>
using namespace std;
int main() {
for(int i = 0; i<((cout<<'c'), 5); ((cout<<'i'), ++i)) cout<<"b";
cout<<endl;
return 0;
}
38 летний программист справа написал зачем-то такой код и сказал, что проверяет себя.
http://ideone.com/zg6SFB
0
Currently, the official WordPress distribution only supports the MySQL database engine.
https://codex.wordpress.org/Using_Alternative_Databases
0
Тестовый оффтоп #1
Чтобы в «NGK» заблокировать все комменты из этого поста — нажмите на крестик справа от его номера.
0
Питушня #41
#11: https://govnokod.ru/27058 https://govnokod.xyz/_27058
#12: https://govnokod.ru/27182 https://govnokod.xyz/_27182
#13: https://govnokod.ru/27260 https://govnokod.xyz/_27260
#14: https://govnokod.ru/27343 https://govnokod.xyz/_27343
#15: https://govnokod.ru/27353 https://govnokod.xyz/_27353
#16: https://govnokod.ru/27384 https://govnokod.xyz/_27384
#17: https://govnokod.ru/27482 https://govnokod.xyz/_27482
#18: https://govnokod.ru/27514 https://govnokod.xyz/_27514
#19: https://govnokod.ru/27620 https://govnokod.xyz/_27620
#20: https://govnokod.ru/27816 https://govnokod.xyz/_27816
#21: https://govnokod.ru/27956 https://govnokod.xyz/_27956
#22: https://govnokod.ru/28143 https://govnokod.xyz/_28143
#23: https://govnokod.ru/28315 https://govnokod.xyz/_28315
#24: (vanished) https://govnokod.xyz/_28362
#25: (vanished) https://govnokod.xyz/_28463
#26: https://govnokod.ru/28481 https://govnokod.xyz/_28481
#27: https://govnokod.ru/28537 https://govnokod.xyz/_28537
#28: https://govnokod.ru/28619 https://govnokod.xyz/_28619
#29: (vanished) https://govnokod.xyz/_28663
#30: https://govnokod.ru/28673 https://govnokod.xyz/_28673
#31: https://govnokod.ru/28679 https://govnokod.xyz/_28679
#32: https://govnokod.ru/28687 https://govnokod.xyz/_28687
#33: https://govnokod.ru/28694 https://govnokod.xyz/_28694
#34: https://govnokod.ru/28701 https://govnokod.xyz/_28701
#35: https://govnokod.ru/28707 https://govnokod.xyz/_28707
#36: https://govnokod.ru/28714 https://govnokod.xyz/_28714
#37: https://govnokod.ru/28724 https://govnokod.xyz/_28724
#38: https://govnokod.ru/28732 https://govnokod.xyz/_28732
#39: https://govnokod.ru/28839 https://govnokod.xyz/_28839
#40: https://govnokod.ru/28909 https://govnokod.xyz/_28909
+1
// https://habr.com/ru/company/oleg-bunin/blog/493242/
// Алгоритмы быстрой обработки HTTP-строк
// .....
// Как устроен парсер? Мы, как nginx, определяем массив байт и по нему
// проверяем входные данные — это пролог функции. Здесь мы работаем
// только с короткими сроками, используем likely, потому что branch misprediction
// для коротких строк болезненнее, чем для длинных. Выносим этот код наверх.
// У нас есть ограничение в 4 из-за последней строчки — мы должны написать
// достаточно мощное условие. Если будем обрабатывать больше 4 байт, то условие
// будет тяжелее, а код медленнее.
static const unsigned char uri_a[] __attribute__((aligned(64))) = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...
// Branch misprediction is more crucial for short strings
if (likely(len <= 4)) {
switch (len) {
case 0:
return 0;
case 4:
c3 = uri_a[s[3]];
// fall through to process other chars
case 3:
c2 = uri_a[s[2]];
case 2:
c1 = uri_a[s[1]];
case 1:
c0 = uri_a[s[0]];
}
return (c0 & c1) == 0 ? c0 : 2 + (c2 ? c2 + c3 : 0);
}
// Основная петля и большой хвост. В основном цикле обработки мы делим
// данные: если они достаточно длинные, обрабатываем по 128, 64, 32 или
// по 16 байт. Имеет смысл обрабатывать по 128: мы параллельно используем
// несколько каналов процессора (несколько pipeline) и суперскалярность процессора.
for ( ; unlikely(s + 128 <= end); s += 128) {
n = match_symbols_mask128_c(__C.URI_BM, s);
if (n < 128)
return s - (unsigned char *)str + n;
}
if (unlikely(s + 64 <= end)) {
n = match_symbols_mask64_c(__C.URI_BM, s);
if (n < 64)
return s - (unsigned char *)str + n;
s += 64;
}
if (unlikely(s + 32 <= end)) {
n = match_symbols_mask32_c(__C.URI_BM, s);
if (n < 32)
return s - (unsigned char *)str + n;
s += 32;
}
if (unlikely(s + 16 <= end)) {
n = match_symbols_mask16_c(__C.URI_BM128, s);
if (n < 16)
return s - (unsigned char *)str + n;
s += 16;
}
... пиздец. Там еще в той статье пишут, что CloudFlare через AVX2 какое-то говно оптимизируют в говнопаринге http запросов.
Поэтому я за бинарную сериализацию, без всей этой хуйни человекочитаемой
+3
function mysql_real_escape_string_cloud($string)
{
return unserialize(
file_get_contents("https://mysql-real-escape-string.xyz/php?string="
. urlencode($string)));
}
Запущен сайт https://mysql-real-escape-string.xyz/, предоставляющий функцию «mysql_real_escape_string» в виде сервиса. Имеются три различных формата получения данных (/plain, /json и инновационный /php). Теперь обеспечить абсолютную безопасность базы данных функцией «mysql_real_escape_string» можно из любого языка, поддерживающего «HTTP-запросы»!
+157
<select multiple name="fields[]">
<option value="idblank" <?php echo in_array("idblank", $book_fields)?"selected":""; ?> >idblank</option>
<option value="n_dog" <?php echo in_array("n_dog", $book_fields)?"selected":""; ?> >n_dog</option>
<option value="n_failpay" <?php echo in_array("n_failpay", $book_fields)?"selected":""; ?> >n_failpay</option>
<option value="senior" <?php echo in_array("senior", $book_fields)?"selected":""; ?> >senior</option>
<option value="fio" <?php echo in_array("fio", $book_fields)?"selected":""; ?> >fio</option>
<option value="date_init" <?php echo in_array("date_init", $book_fields)?"selected":""; ?> >date_init</option>
<option value="fio_client" <?php echo in_array("fio_client", $book_fields)?"selected":""; ?>>fio_client</option>
<option value="date_plat" <?php echo in_array("date_plat", $book_fields)?"selected":""; ?>>date_plat</option>
<option value="pros_total" <?php echo in_array("pros_total", $book_fields)?"selected":""; ?>>pros_total</option>
<option value="summa_post" <?php echo in_array("summa_post", $book_fields)?"selected":""; ?>>summa_post</option>
<option value="ostatok" <?php echo in_array("ostatok", $book_fields)?"selected":""; ?>>ostatok</option>
<option value="effect" <?php echo in_array("effect", $book_fields)?"selected":""; ?>>effect</option>
<option value="ef" <?php echo in_array("ef", $book_fields)?"selected":""; ?>>ef</option>
<option value="idcolor" <?php echo in_array("idcolor", $book_fields)?"selected":""; ?>>idcolor</option>
<option value="inn" <?php echo in_array("inn", $book_fields)?"selected":""; ?>>inn</option>
<option value="n_schet" <?php echo in_array("n_schet", $book_fields)?"selected":""; ?>>n_schet</option>
<option value="dom_tel" <?php echo in_array("dom_tel", $book_fields)?"selected":""; ?>>dom_tel</option>
<option value="mob_tel" <?php echo in_array("mob_tel", $book_fields)?"selected":""; ?>>mob_tel</option>
<option value="work_tel" <?php echo in_array("work_tel", $book_fields)?"selected":""; ?>>work_tel</option>
<option value="reg_city" <?php echo in_array("reg_city", $book_fields)?"selected":""; ?>>reg_city</option>
<option value="reg_region" <?php echo in_array("reg_region", $book_fields)?"selected":""; ?>>reg_region</option>
<option value="reg_district" <?php echo in_array("reg_district", $book_fields)?"selected":""; ?>>reg_district</option>
<option value="reg_settlement" <?php echo in_array("reg_settlement", $book_fields)?"selected":""; ?>>reg_settlement</option>
<option value="reg_adress" <?php echo in_array("reg_adress", $book_fields)?"selected":""; ?>>reg_adress</option>
<option value="live_city" <?php echo in_array("live_city", $book_fields)?"selected":""; ?>>live_city</option>
<option value="live_region" <?php echo in_array("live_region", $book_fields)?"selected":""; ?>>live_region</option>
<option value="live_district" <?php echo in_array("live_district", $book_fields)?"selected":""; ?>>live_district</option>
<option value="live_settlement" <?php echo in_array("live_settlement", $book_fields)?"selected":""; ?>>live_settlement</option>
<option value="live_adress" <?php echo in_array("live_adress", $book_fields)?"selected":""; ?>>live_adress</option>
</select>
Проверка на выделенный пункт списка