- 1
https://m.vk.com/wall-30666517_1672469
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://m.vk.com/wall-30666517_1672469
Из исходников и документации Go убрали фразы whitelist/blacklist и master/slave.
Всё из-за протестов, которые сейчас проходят в Америке.
Фразы «blacklist» и «whitelist» заменили на «blocklist» и «allowlist», а «master» и «slave»
в зависимости от контекста на «process», «pty», «proc» и «control».
Отмечается, что изменения не приведут к нарушению обратной совместимости и путанице, так как
большая часть исправлений приходится на комментарии, тесты и внутренние переменные.
−3
void push_stack(node *topPTR, int value) {
node newPTR = malloc(sizeof(Stack));
if (newPTR != NULL) {
newPTR->alpha = value;
newPTR->nxtPTR = *topPTR;
*topPTR = newPTR;
}
else {
puts("error");
}
}
void push_stack_2(node_2 *topPTR_2, double value) {
node_2 newPTR = malloc(sizeof(Stack_2));
if (newPTR != NULL) {
newPTR->alpha = value;
newPTR->nxtPTR_2 = (void *) *topPTR_2;
*topPTR_2 = newPTR;
}
else {
puts("error");
}
}
int pop(node *fix) {
int value = 0;
node temp = *fix;
value = (*fix)->alpha;
*fix = (*fix)->nxtPTR;
free(temp);
return value;
}
double pop_2(node_2 *fix) {
double value = 0;
node_2 temp = *fix;
value = (*fix)->alpha;
*fix = (void *) (*fix)->nxtPTR_2;
free(temp);
return value;
}
char check_stack(node data) {
return data->alpha == 0 ;
}
int isOperator(char c) {
return c == '/' || c == '*' || c == '-' || c == '+' || c == '^' ;
}
int precedence(char data_1, char data_2) {
switch(data_1){
case '(':
return -1;
case '^':
if(data_2 == '^' ){
return 0;
}
else if (data_2 == '*' || data_2 == '/' || data_2 == '+' || data_2 == '-' ){
}
case '/' :
case '*':
if(data_2 == '^' ){
return -1;
}
else if( data_2 == '/' || data_2 == '*' ){
return 0;
}
else if( data_2 == '+' || data_2 == '-' ){
return 1;
}
case '+':
case '-':
if(data_2 == '^' || data_2 == '/' || data_2 == '*' ){
return -1;
}
else{
return 0;
}
}
}
calc 3
0
n = ((n >> 1) & 0x55555555) | ((n << 1) & 0xaaaaaaaa);
n = ((n >> 2) & 0x33333333) | ((n << 2) & 0xcccccccc);
n = ((n >> 4) & 0x0f0f0f0f) | ((n << 4) & 0xf0f0f0f0);
n = ((n >> 8) & 0x00ff00ff) | ((n << 8) & 0xff00ff00);
n = ((n >> 16) & 0x0000ffff) | ((n << 16) & 0xffff0000);
-- C code which reverses the bits in a word.
−1
for i in xrange(10):
globals()["mymassiv%d"%i] = i*i
print mymassiv0, mymassiv1, mymassiv9
Нафига в пыхоплеяде разные структуры данных типа массивов, множеств, словарей? Чтобы быть как "взрослые" языки?
−1
https://stackoverflow.com/questions/51521158/in-python-why-does-0xbin-return-false
Свежий обосрамс питона
+7
github.com/natribu/natribu.org
Исходники официального сайта нахуй, жесть
+144
Флоат даёт ошибки только тогда, когда он плывёт.
На вычислении всяких косинусов он не плывёт - поэтому ошибки там врядли возможны.
Точность не будет падать - её не будет, вместо неё будет округленчиский мусор.
Каким образом у вас это получилось - я не знаю, ибо у меня cos(M_PI_2) = ноль. 2.0f*2.0f = 4.0.
Конпелятор всегда знает, ибо нормальные про-пацаны юзают фичи конпелятора, и умеют писать код.
В гцц есть такие штуки - builtin_*() - ими запиленны аналоги самых популярных libc функций.
ГГЦ абсалютно точно умеет определять константы - для этого есть свой builtin_constant_p() -
который в любом куске кода тебе 100% скажет - константа эта перменная, либо нет.
Дак вот, в гцц даже можно писать так:
static const double cos_pi = cos(M_PI);//глобальная статик-константа, которая в компилтайме инициализируется результатом вызова функции cos(). Это не особо профитно, ибо издревли система констант в Си лютое говно.
Так же в гцц есть атрибуты, один из которых const - он говорит, что твоя функция не имеет побочных эффектов.
И все функции, которые их не имеют - принято так помечать, особенно в glibc и libgcc.
А всё почему? Патамучто их пишут более-менее про-пацаны.
Конпелятору не нужно ничего знать - знает программист, который пишет, а конпелятор должен предоставить ему фичи,
с которыми он может пилить нормальный код, а не говно.
А неосиляторам подавай оптимизиторы, автоматизаторы и прочую ересь, от которой толка нет, а гонору много.
http://ru.stackoverflow.com/questions/245261/Неправильная-работа-cos
Как-то я проебал открытие сего быдлятника. Когда читал ответ сходу какое-то знакомое чувство, будто я знаю автора.
+165
// Whoever introduced xml to shipping companies should be flogged
$xml = '<?xml version="1.0"?>';
$xml .= '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/rate/v10">';
$xml .= ' <SOAP-ENV:Body>';
$xml .= ' <ns1:RateRequest>';
$xml .= ' <ns1:WebAuthenticationDetail>';
// почти сотня строк
$xml .= '</SOAP-ENV:Envelope>';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
Смотри-ка, оно еще и ругается
https://github.com/opencart/opencart/blob/58eeb544e2eddbe18b00224e10d2761259e8ce7b/upload/catalog/model/shipping/fedex.php#L48
+161
function FindPosOfStr(str1, str2) {
for (i = 0; i <= str1.length; i++) {
comp = str1.substring(i, str1.length);
comp = comp.substring(0, str2.length);
if (comp == str2) {
return i;
break;
}
}
return -1;
}
Вот такое вот веселье встретилось в одном проекте. Кто-то был сильно пьян и забыл про indexOf
+4
namespace std
{
template<class T, class T2> class common_type<::std::shared_ptr<T>, ::std::shared_ptr<T2> >: public ::std::common_type<T, T2>{};