- 1
- 2
- 3
- 4
<local name="jhgjkgdfghd" />
<loadfile property="jhgjkgdfgh" srcfile="@{filepath}" failonerror="false">
...
</loadfile>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+127
<local name="jhgjkgdfghd" />
<loadfile property="jhgjkgdfgh" srcfile="@{filepath}" failonerror="false">
...
</loadfile>
Я очень долго втыкал, почему один из овер 9000 Ant-скриптов валится....
+138
typedef struct {
UInt8 byte0;
UInt8 byte1;
UInt8 byte2;
UInt8 byte3;
UInt8 byte4;
UInt8 byte5;
UInt8 byte6;
UInt8 byte7;
UInt8 byte8;
UInt8 byte9;
UInt8 byte10;
UInt8 byte11;
UInt8 byte12;
UInt8 byte13;
UInt8 byte14;
UInt8 byte15;
} CFUUIDBytes;
http://developer.apple.com/library/ios/documentation/CoreFoundation/Reference/CFUUIDRef/Reference/reference.html
Nuff said.
+152
//сглаживание ланшафта
for(int i=0;i!=xsize;i++)
{
for(int j=0;j!=ysize;j++)
{
//для левого верхнего угла
if(i==0&&j==0)
{
int* arr = new int[2] // -_- where is ";"?
arr[0] = val[i][j++]; // ???
arr[1] = val[i++][j]; // 0_0
arr[2] = val[i++][j++]; // ???????
val[i][j] = getMiddle(arr);
delete[] arr;
};
//lot's of code...
//govnocode, govnocode, govnocode...
//...
}
}
Фрагмент из генератора ландшафта написанного другом. Коментарии на англе мои.
+117
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
a,b : Integer;
c : Extended;
BEGIN
readln(a,b);
TRY
c := sqrt(a-b);
WriteLn('A > B');
EXCEPT
WriteLn('A < B');
END;
ReadLn;
END.
Дело было вечером, делать было нечего, решил just for education порешать пару задач по программированию. Залез значит в Зултрк, ищу. На глаза сразу попалась небольшая книжица с названием "128 Задач по началам программирования." В.В Пупырышева. Скачал, начал решать. И вот какая задачка мне попалась:
"II-15*. Максимум из двух
Напишите программу, которая запрашивает джва числа и сообщает, какое из них больше другого."
Вроде бы ничего сложного, но ВНЕЗАПНО у задачи обнаружилось примечание: "Эта задача должна быть решена без использования ветвления." Первая мысль, пришедшая в голову, была использовать функции, но ведь и они подразумевали ветвление. Так что начался мозговой штурм. После получаса раздумий, высралось ЭТО. В конце, посмотрев в ответы, я просто охренел. Спойлер: "Эта задача представляет собой подготовку к следующей ступени (задачи с ветвлением). Но решить её можно и без использования ветвлений, если придумать две формулы для вычилсения максимума и минимума из двух чисел. Тогда если обозначить исходные числа как Х и Y, а упомянутые формулы - как MAX(x,y) и MIN(x,y) соответственно, то для получения правильного ответа достаточно будет вывести строку типа: "Число-", MAX(x,y), "-не меньше числа -", MIN(x,y)." После этого я книгу с компа удалил, не помещая в корзину.
+126
// На самом деле это пока только псевдокод. Real code will be on C/C++
//Lock-free non blocking and anatomic operation only if IP was changed
// IN SHARED MEMORY
non_atomic_in_shmem bad_IP_flag_non_atomic_in_shmem[64][16]; // in real code it will be uint64_t array[16] and bits operations with it
some_ip_class IPs_non_atomic_in_shmem[64][16] //
std::atomic<uint64_t> version_holder_atomic_in_shmem[64][16]; // it is debatable "whether to do it the Atomic" but for reinsurance
// IN WRITER PROCESS
void worker_reassign_IP_by_num(new_IP, back_end_server_ID, num)
if bad_IP_flag_non_atomic_in_shmem[back_end_server_ID][num] // in real code this check will be not here but will have same sense
version_holder_atomic_in_shmem[back_end_server_ID][num] ++ //it is increment of atomic var version and version become NOT even
__sync_synchronize(); //TODO may be we can use something better here ?
IPs_non_atomic_in_shmem[back_end_server_ID][num] = new_IP //it copy assignment
__sync_synchronize(); //TODO may be we can use something better here ?
version_holder_atomic_in_shmem[back_end_server_ID][num] ++ //it is increment of atomic var version and version become even
__sync_synchronize(); //TODO may be we can use something better here ?
bad_IP_flag_non_atomic_in_shmem[back_end_server_ID][num] = 0
// IN READER PROCESS
some_ip_class get_valid_ip_by_num(back_end_server_ID,num){
//TODO version_holder is atomic for now, may we do it non atomic? I think YES. Are any arguments in opposites?
// Instead of atomic can we possible use volatile?
uint64_t version_before = version_holder_atomic_in_shmem[back_end_server_ID][num] //it is atomic copy assignment
//if (version_befor & 1) // is not even it will work too instead of checking flags
// but checking flags it is less expensive operation than checking version because the version var is atomic
if bad_IP_flag_non_atomic_in_shmem //
return 0;
some_ip_class ip = IPs_non_atomic_in_shmem[back_end_server_ID][num]
uint64_t version_after = version_holder_atomic_in_shmem[back_end_server_ID][num] // it is atomic copy assignment
if version_before != version_after // versions is not sames
// we may add extra check of version evenest but it will cost us 1 slow atomic operation and excessively
//OR (version_after & 1) //or versions is not even ip is not correct
return 0
return ip
}
some_ip_class get_valid_ip(back_end_server_ID)
while(time_not_expaired) {
for (n=0; n<16; n++){
some_ip_class ip = get_valid_ip_by_num(back_end_server_ID, n)
if ip
return ip
}
//"it will never happened" "if it happened and time expired do something but it is problems on the back end servers site"
//”it is similar situation with situation when back end server just down ”
}
return 0 // or some server_down_ip ;)
some_ip_class check_or_get_new_ip( curent_ip, back_end_server_ID, num)
if NOT bad_IP_flag_non_atomic_in_shmem
if current_ip == shmem_array_of_IP_non_atomic[back_end_server_ID][num] // maybe need copy but I think it's not necessary
return current_ip
Задача: есть reader(ы) Это процессы 20 - 30 -64, которые обращаются к web-серверу. У web-сервера может быть несколько ip (не больше 16). Переодически (1 раз в ~30 секунд) пара (1-2) IP может отвалиться и вместо них может появится пара 1-2 новых. reader обнаружив bad IP выставляет флаг bad_IP_flag. Writer (только 1 единственный процесс не reader) Переодически (1 раз в ~1 сек) проверяет флаг, увидев bad_IP_flag запускает DNS-lookup который длиться примерно (30mks - 1s). Обновляет массив ip Readers при попытке соединиться проверяют не стал ли IP плохим если стал пробуют другой из массива Но суть не в этом Суть в том как безопасно работать с shared memory? Где что не так в предложенной задумке?
+143
int n;
cin >> n;
int nums[n];
for (int i = 0; i < n; i++)
nums[i] = pow(i + 1, 2);
Немного эзотерики.
nums[4] = 24
−410
http://www.macdigger.ru/wp-content/uploads/2014/06/jailbrea-iOS-7-1-1-3.jpg
IOS 7 и выбор даты. Заставить бы автора выбрать свою дату рождения в этом боксе...
Сорри за передачу по ссылке.
+98
Сижу такой набираю код
program Project6;
{$APPTYPE CONSOLE}
var i,j: integer;
begin
repeat
readln(j);
i := 0;
if (j=0) then
i := 1
else
break;
Writeln(i);
until false;
end.
[Hint] : Value assigned to 'i' never used
Ну ладно, похер, уберу
program Project6;
{$APPTYPE CONSOLE}
var i,j: integer;
begin
repeat
readln(j);
// i := 0;
if (j=0) then
i := 1
else
break;
Writeln(i);
until false;
end.
[Warning] : Variable 'i' might not have been initialized
_________________
g@@@@@44444*********9444@@@@@@@@@@@Mggg__
g@M" _an**"""""""**Vw=G______"%%@@@@@gg_
,@@` a^" __a=~v-vvv~~,___ _____`"*@gg_
a@@ _M" _m*"` _______ `""""""""""` " "9@g_
@@ a" ,m"_ar*"'` -, ,amv****-~, 9@g
@@ .* u" C ,~ "\ @
d@ ' __gg____ ` @y
g@ ,g@@@@@@@@4@@gg_ C ______ 9@g
g@@.>~. __ a@""@@@@@@__ "9@g ,g@@@@**4@@_ "@g_
g@"$-*""" *Y, @@@@*""**4@@@g__$@C ggg@@@@@@@@@@*" "'" ""Mg`8@g
g@",` ,g@@@@@@@g_ _g@ ""@M" `"@@" *n_"C"@@
g@' p@" ,`"@@@ggggg@@" 8] ,_ _gM@@@@g ' 'C8@
@@ j@ 8@_ `"""' 8@g_ 3@g@@@`, `" ][@
@L 8@ _g@@@@@gg_ _gMMy "9@g_ `""' 8L j8@
@k 3@ d@@@@ "@@@gg_ *""""" @"``___ '@@g_ @@C n" Q@
"@C $ 9k @@_ "8@@@@gg_ @g_fM4@@M g@""" "n. a@@@ _m*3@"
"@g N, 9@@gg_ 8@ `""9@@@gg__" 8gg@M _g@@@d@k a@%
"@@g_' "@@@@@@@@g_ `"8@@@@ggg____ ""` ___gg@@@@ 8@@@ @@
"@g_ '@g `"@@@@gg__ @L `"""4@@@@@@@@@@@@@@@@" @C @@@ 3@
9@_ `@g 3@"9@@@@@@g@ [@ @@ 4@y @kg@@@ [@
9@ 8@gd@ '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@ [@
8g "@@g @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F [@
@g "@@g_ d@ '""@@@@@@@@@@@@@@@@@@@@@@@$@ 3@
`@g_ "@@@g_j@' @C ``"3@@"""8@""j@'j@g@@ 3@
9@g_ ~__ ~._ `"@@@@g_ @C 8@ g@^ p@^ "@@M @C
"@@g "9m_ "Nq_ "*@@@@ggggg@______@____@@gg@@@@@M" @L
"9@@g_`"Mm_`"Nq_ """"*4@@@@@@@@@@M@@4*"""' 8k
"9@@g_ ""Mm_"*w__ ~~~~ aaa~~ _/ $@
`"@@gg_ "*WG_"*w~.____ ___am*" / [@
"*@@gg `"*-~<.__ ` __M" 3@
"9@gg_ `""'** ------**""` d@
`"@@ggggg__ ,d@
""9@@@@@gg__ __g@"
`""*4@@@@MggggggggM@@@@"
`""""""""""'
+922.2
__declspec(noreturn) int FastAdd(const int a, const int b)
{
__asm mov eax, a;
__asm mov ebx, b;
__asm add eax, ebx;
};
Встречаеться множество подобных функций в одном С++ проекте, который в данный момент разгребаю. Хочеться что-нибудь сказать автору. Например: "на XYZ"?
0
#include <iostream>
using namespace std;
const char _Arr_Digit [] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'},
_Arr_Mantissa [] = {'e', 'E'},
_Arr_Sign [] = {'-', '+'},
_Arr_Dot[] = {'.'},
_Arr_Combo[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'};
const bool DIGIT = false, SIGN = false, OTHER = true;
bool _Call_Mantissa = false, _flag_dot = false, _flag_mant = false;
int _position_mant;
bool Parse_symbol (char _symb, const char* _Arr, int _size_arr);
bool Parse_full_string (string _checking, int _offset, int _amount, bool _sec_cond, const char* _Arr, int _size_arr, bool _Drive);
bool Parse_the_first_symbol (string _checking);
bool Parse_the_second_symbol (string _checking);
bool Control_result (int i, string _checking);
bool Parse_mantissa (string _checking);
bool Parse_full_string_before_mantissa (int i, string _checking);
bool Parse_the_first_symbol_after_mantissa (string _checking);
bool Parse_full_string_after_mantissa (string _checking);
long double Questioning (char s);
long double Questioning (char s) {
string _checking;
while (true) {
cout << "Введите значение " << s << ": ";
getline(cin, _checking);
if (_checking.length() == 0)
cout << "Вы не ввели значение!" << endl;
else if (!Parse_the_first_symbol(_checking))
cout << "Некорректное значение!" << endl;
else return strtold(_checking.c_str(), nullptr); }}
bool Parse_symbol (char _symb, const char* _Arr, int _size_arr) {
for (int i = 0; i <= _size_arr; i++)
if (_symb == _Arr[i]) return true;
return false; }
bool Parse_full_string (string _checking, int _offset, int _amount, bool _sec_cond, const char* _Arr, int _size_arr, bool _Drive) {
bool _parse_flag;
int _parse_count = 0;
for (int j = _offset; j < _amount; j++) {
if (Parse_symbol(_checking[j], _Arr, _size_arr)) {
_parse_count++;
if (_sec_cond) return false;
if (_Drive) {
if (_Call_Mantissa)
_sec_cond = (j == (_amount-1));
if (_parse_flag) return false;
_parse_flag = true;
if (_Call_Mantissa) {
_flag_mant = _parse_flag;
_position_mant = j;
}
}
}
}
if (!_Drive) {
if ((_amount - _offset) == _parse_count) return true;
else return false;
}
else return true;
}
bool Parse_the_first_symbol (string _checking) {
int LENGTH = _checking.length();
bool _parse_cond = (LENGTH < 2);
if (Parse_full_string (_checking, 0, 1, _parse_cond, _Arr_Sign, 1, SIGN))
return Parse_the_second_symbol (_checking);
else if (Parse_full_string (_checking, 0, 1, false, _Arr_Digit, 9, DIGIT))
return Control_result (0, _checking);
else return false; }
bool Parse_the_second_symbol (string _checking) {
if (Parse_full_string (_checking, 1, 2, false, _Arr_Digit, 9, DIGIT))
return Control_result (1, _checking);
else return false; }
bool Control_result (int i, string _checking) {
if (!Parse_mantissa (_checking)) return false;
else if (_flag_mant) {
string _before_mantissa = _checking.substr(0, _position_mant);
string _after_mantissa = _checking.substr(_position_mant + 1);
return (Parse_full_string_before_mantissa (i, _before_mantissa)
&& Parse_the_first_symbol_after_mantissa (_after_mantissa)); }
else return Parse_full_string_before_mantissa (i, _checking); }
bool Parse_mantissa (string _checking) {
int LENGTH = _checking.length();
_Call_Mantissa = true;
bool cash = Parse_full_string (_checking, 0, LENGTH, false, _Arr_Mantissa, 1, OTHER);
_Call_Mantissa = false;
return cash; }
bool Parse_full_string_before_mantissa (int i, string _checking) { // but the first symbol
int LENGTH = _checking.length();
return Parse_full_string (_checking, i, LENGTH, false, _Arr_Dot, 0, OTHER) &&
Parse_full_string (_checking, i, LENGTH, false, _Arr_Combo, 10, DIGIT); }
bool Parse_the_first_symbol_after_mantissa (string _checking) {
int LENGTH = _checking.length();
bool _parse_cond = (LENGTH < 2);
if ((Parse_full_string (_checking, 0, 1, _parse_cond, _Arr_Sign, 1, SIGN)) ||
(Parse_full_string (_checking, 0, 1, false, _Arr_Digit, 9, DIGIT)))
return Parse_full_string_after_mantissa (_checking);
else return false; }
bool Parse_full_string_after_mantissa (string _checking) {
int LENGTH = _checking.length();
return Parse_full_string (_checking, 1, LENGTH, false, _Arr_Digit, 9, DIGIT); }
Очередная говнопопытка оптимизации алгоритма.