- 1
- 2
- 3
https://news.ycombinator.com/item?id=20426997
LiveJournal data breach impacts 33M users with plaintext passwords
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://news.ycombinator.com/item?id=20426997
LiveJournal data breach impacts 33M users with plaintext passwords
Идиотия, кретинизм, олигофрения, и другие способы стать разработчиком в livejournal
0
public class FloatDynamicArray implements DynamicArray {
private int arrayLength;
private int countOfValues;
private float[] dataArray;
public FloatDynamicArray(int arrayLength) {
this.arrayLength = arrayLength;
dataArray = new float[arrayLength];
}
public long getLongValue(int index) {
throw new IllegalAccessError("Cannot get long value from FloatDynamicArray !");
}
public float getFloatValue(int index) {
return dataArray[index];
}
...
...
...
зачем делать отдельный метод getLongValue, который возбуждает исключение IllegalAccessError, когда мы заведомо знаем что это FloatDynamicArray, содержащий float[] значения ?
0
Дано
1) std::vector<int> v размером 4 миллиона элементов.
2) функция:
size_t rand_index(size_t n);
Возвращающая случайное число от 0 до n - 1
Написать функцию удаляющую из массива v случайно выбранный элемент за O(1).
+3
#include <iostream>
using namespace std;
class lock_guard_ext{
public:
lock_guard_ext() { cout << "lock_guard_ext ctor" << endl; }
~lock_guard_ext() { cout << "lock_guard_ext dtor" << endl; }
};
struct Access {
lock_guard_ext lock;
int & ref_to_value;
};
int & t() {
throw 0;
}
Access foo1() {
return { {}, t() };
}
int main () {
try {
volatile auto a = foo1();
} catch (int) {
}
}
В шланге деструктор вызывается, в gcc не вызывается.
https://wandbox.org/permlink/7sbsqzhbo0o7dOse
0
Math.round(400/0).toLocaleString('ru-RU')
0
Выборка = Запрос.Выполнить.Выбрать();
Пока Выборка.Следующий() цикл
Петух = Выборка.Хуй;
Прервать;
конеццикла;
классика
−1
if (!a) {
a = 1;
} else {
a = 2;
}
var a = undefined;
console.log(a); //undefined
if (!a) {
a = 1;
} else {
a = 2;
}
var a ;
console.log(a); //1
+1
xhr.upload.addEventListener('progress', function (e) {
if (e.lengthComputable) {
let percents = Math.round(e.loaded / e.total * 100)
$(`#preloader-${preloaderId}`).html(`${percents}%`)
$(`#preloader-${preloaderId}`).append(`<style>#preloader-${preloaderId}:before{ width: ${percents * 0.94}px;}</style>`);
}
}, false);
Прогрессбар на псевдоэлементах.
+4
&НаКлиенте
Процедура Расчитать(Команда)
ТекДата = ТекущаяДата();
ТекМесяц = Месяц(ТекДата);
МесяцРождения = Месяц(ДатаРождения);
Если ТекМесяц=МесяцРождения Тогда //День рождения сегодня или в этом месяце,
Если День(ТекДата)=День(ДатаРождения) Тогда
КоличествоДнейДоДР = 0;
ИначеЕсли День(ТекДата)<День(ДатаРождения) Тогда
КоличествоДнейДоДР = День(ДатаРождения)-День(ТекДата);
Иначе
КоличествоДнейДоДР = День(КонецМесяца(ТекДата))-День(ТекДата);
Дата = ДобавитьМесяц(ТекДата,1);
Ограничитель = (12-ТекМесяц)+МесяцРождения;
Для сч=1 По Ограничитель Цикл
Если сч=Ограничитель Тогда
КоличествоДнейДоДР = КоличествоДнейДоДР+День(ДатаРождения);
продолжить;
КонецЕсли;
КоличествоДнейДоДР = КоличествоДнейДоДР+День(КонецМесяца(Дата)) ;
Дата = ДобавитьМесяц(Дата,1);
КонецЦикла;
КонецЕсли;
ИначеЕсли ТекМесяц<МесяцРождения Тогда //День рождения еще не наступил,
КоличествоДнейДоДР = День(КонецМесяца(ТекДата))-День(ТекДата);
Дата = ДобавитьМесяц(ТекДата,1);
Для сч= ТекМесяц+1 По МесяцРождения Цикл
Если сч=МесяцРождения Тогда
КоличествоДнейДоДР = КоличествоДнейДоДР+День(ДатаРождения);
продолжить;
КонецЕсли;
КоличествоДнейДоДР = КоличествоДнейДоДР+День(КонецМесяца(Дата)) ;
Дата = ДобавитьМесяц(Дата,1);
КонецЦикла;
ИначеЕсли ТекМесяц>МесяцРождения Тогда //День рождения уже прошел.
КоличествоДнейДоДР = День(КонецМесяца(ТекДата))-День(ТекДата);
Дата = ДобавитьМесяц(ТекДата,1);
Ограничитель = (12-ТекМесяц)+МесяцРождения;
Для сч= 1 По Ограничитель Цикл
Если сч=Ограничитель Тогда
КоличествоДнейДоДР = КоличествоДнейДоДР+День(ДатаРождения);
продолжить;
КонецЕсли;
КоличествоДнейДоДР = КоличествоДнейДоДР+День(КонецМесяца(Дата)) ;
Дата = ДобавитьМесяц(Дата,1);
КонецЦикла;
КонецЕсли;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = КоличествоДнейДоДР;
Сообщение.Сообщить();
// Вставить содержимое обработчика.
КонецПроцедуры
Задача рассчитать количество дней до дня рождения, вопрос в том что не много ли я использовал условий Если?
+2
struct ApplyFunctor {
template <typename Rules, typename ... Args>
bool operator()(const Rules &rules, Args && ... args) const {
for (const auto &rule : rules) {
if (!rule.apply(std::forward<Args>(args)...))
return false;
}
return true;
}
};
Perfect forwarding, сцуко, такой perfect. Но все же не заменяет мозг.