- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
set -e
myfunc() {
echo "START"
v=$(asdasdsd 1 2 3)
echo "FINISH"
}
myfunc && echo "OK"
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
set -e
myfunc() {
echo "START"
v=$(asdasdsd 1 2 3)
echo "FINISH"
}
myfunc && echo "OK"
Выводит:
START
./b.sh: line 5: asdasdsd: command not found
FINISH
OK
set -e
myfunc() {
echo "START"
v=$(asdasdsd 1 2 3)
echo "FINISH"
}
myfunc
START
./a.sh: line 5: asdasdsd: command not found
−1
ВЫБОР КОГДА ПОДСТРОКА(Поле, 1, 1) <> ""-"" ТОГДА
ПОДСТРОКА(Поле, 1, 1)
ИНАЧЕ """"
КОНЕЦ
+
ВЫБОР КОГДА ПОДСТРОКА(Поле, 2, 1) <> ""-"" ТОГДА
ПОДСТРОКА(Поле, 2, 1)
ИНАЧЕ """"
КОНЕЦ
+
...
+
ВЫБОР КОГДА ПОДСТРОКА(Поле, 100, 1) <> ""-"" ТОГДА
ПОДСТРОКА(Поле, 100, 1)
ИНАЧЕ """"
КОНЕЦ
Реализация СтрЗаменить() в запросе
+1
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
<p oncopy="return false" ondragstart="return false"></p>
Защита контента для самых маленьких
+1
#include <cstdio>
class tag;
template<class>
struct type { friend constexpr auto get(type); };
template<class TKey, class TValue>
struct set { friend constexpr auto get(TKey) { return TValue{}; } };
void foo() { // never called
if constexpr(false) { // never true
if (false) { // never true
constexpr auto call = [](auto value) { std::printf("called %d", value); };
void(set<type<tag>, decltype(call)>{});
}
}
}
int main() {
get(type<tag>{})(42); // prints called 42
}
https://twitter.com/krisjusiak/status/1186363017329594368
Какой C++20 )))
0
А вот операторов сравнения между всеми типами умных указателей, я как понял, нету, и даже по стандарту.
0
<?
class CHISLO {
private $arr = array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять',
'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
private $arr2 = array('', 'сто', 'двести', 'триста', 'четыреста');
private $ar = array(
1=>array('тысяч', 'тысяча', 'тысячи', 'тысячи', 'тысячи', 'тысяч', 'тысяч', 'тысяч', 'тысяч', 'тысяч'),
array('миллионов', 'миллион', 'миллиона', 'миллиона', 'миллиона', 'миллионов', 'миллионов',
'миллионов', 'миллионов', 'миллионов'),
array('миллиардов', 'миллиард', 'миллиарда', 'миллиарда', 'миллиарда', 'миллиардов', 'миллиардов',
'миллиардов', 'миллиардов', 'миллиардов'),
array('триллионов', 'триллион', 'триллиона', 'триллиона', 'триллиона', 'триллионов', 'триллионов',
'триллионов', 'триллионов', 'триллионов')
);
public function get_chislo($ch) {
if( $ch<1000 )
return $this->get_100($ch);
$ch = preg_split('/(?=(\d{3})+(?!\d))/is', $ch, -1, PREG_SPLIT_NO_EMPTY);
$ch = array_reverse($ch);
$result[] = $this->get_100($ch[0]);
for($i=1; $i<count($ch); $i++) {
@$result[] = $this->get_100($ch[$i]) .' '. $this->ar[$i]{$ch[$i]%10};
}
$result[1] = str_replace('один', 'одна', $result[1]);
// $result[1] = str_replace('два', 'две', $result[1]);
return join(' ', array_reverse($result));
}
private function get_100($ch) {
$c1 = (int)($ch / 100);
$c2 = $ch % 100;
if( $c1<5 )
$result = $this->arr2[$c1];
else
$result = $this->arr[$c1] . 'сот';
return @$result .' '. $this->get_10($c2);
}
private function get_10($ch) {
$c1 = (int)($ch / 10);
$c2 = $ch % 10;
if( $ch<20 ) {
$result = $this->arr[$ch];
} else if( $ch<40 ) {
$result = $this->arr[$c1] . 'дцать';
} else if( $ch<50 ) {
$result = 'сорок';
} else if( $ch<90 ) {
$result = substr( $this->arr[$c1], 0, -1 ) . 'десят';
} else if( $ch<100 ) {
$result = 'девяносто';
}
if( $ch>20 && $c2!=0 )
$result .= ' ' . $this->arr[$c2];
return $result;
}
}?>
Bitrix❤️
+1
"Performance is easy. All you need to know is everything" (c) S. Kuksenko (@kuksenk0)
Умеете профилировать программы?
Знаете, что такое flame diagram? Умеете посмотреть стектрейс от входа в тред до какого-нить спинлока в ядре? Смотрите асм своего компилятора или джита? Знаете, какая инструкция сколько занимает?
Умеете по vmstat/iostat или xperf/perf counters увидать проблему и соотнести ее с программой? Используете dtrace голый или с instruments? yourkit? vTune? valgrind? bpf?
Или такие же дебилы, как я?
0
begin 644 /dev/stdout
M,$M$4FMD0V<P6E11;TU+=S!+1%%H9$-H,%I046]D0T1,0T11;TU+,3!+2%%G
M.4-G=W)V46].1U))3D-H-&]#83!+2&EG3&MG,$M(:6=+2%%O3D=2,$M(:6=*
M<E%O34MW,$M$0W1D0V@T;TMS,$M(46EI1%%O9$--,$M(:6=*<E%O3D=624,P
M=$E.0V<P26)1;V5+075D0V<T;U-7,$M$4VMD0V<P6D5G,$M$46AD0V=W<D%G
M,$M(46<Y0V<P26)1;V1#4#!+1$-T.4-H,$EO9S!+2%%G.4-H,$E,46].1U8P
42TAI9TM(46].0T8P2T12;%$]/0H`
`
end
0
/* --- PRINTF_BYTE_TO_BINARY macro's --- */
#define PRINTF_BINARY_PATTERN_INT8 "%c%c%c%c%c%c%c%c"
#define PRINTF_BYTE_TO_BINARY_INT8(i) \
(((i) & 0x80ll) ? '1' : '0'), \
(((i) & 0x40ll) ? '1' : '0'), \
(((i) & 0x20ll) ? '1' : '0'), \
(((i) & 0x10ll) ? '1' : '0'), \
(((i) & 0x08ll) ? '1' : '0'), \
(((i) & 0x04ll) ? '1' : '0'), \
(((i) & 0x02ll) ? '1' : '0'), \
(((i) & 0x01ll) ? '1' : '0')
#define PRINTF_BINARY_PATTERN_INT16 \
PRINTF_BINARY_PATTERN_INT8 PRINTF_BINARY_PATTERN_INT8
#define PRINTF_BYTE_TO_BINARY_INT16(i) \
PRINTF_BYTE_TO_BINARY_INT8((i) >> 8), PRINTF_BYTE_TO_BINARY_INT8(i)
#define PRINTF_BINARY_PATTERN_INT32 \
PRINTF_BINARY_PATTERN_INT16 PRINTF_BINARY_PATTERN_INT16
#define PRINTF_BYTE_TO_BINARY_INT32(i) \
PRINTF_BYTE_TO_BINARY_INT16((i) >> 16), PRINTF_BYTE_TO_BINARY_INT16(i)
#define PRINTF_BINARY_PATTERN_INT64 \
PRINTF_BINARY_PATTERN_INT32 PRINTF_BINARY_PATTERN_INT32
#define PRINTF_BYTE_TO_BINARY_INT64(i) \
PRINTF_BYTE_TO_BINARY_INT32((i) >> 32), PRINTF_BYTE_TO_BINARY_INT32(i)
/* --- end macros --- */
#include <stdio.h>
int main() {
long long int flag = 1648646756487983144ll;
printf("My Flag "
PRINTF_BINARY_PATTERN_INT64 "\n",
PRINTF_BYTE_TO_BINARY_INT64(flag));
return 0;
}
−1
stwu r1, -0x18(r1)
PPC как бы говорит нам