- 1
/bin/cat /bin/cat
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
/bin/cat /bin/cat
https://ideone.com/QSSlWV
+1
std::ranges::for_each(tasks, [](auto x) {x();});
а ещё теперь не нужно писать std::begin(), std::end().
c++ будущего.
−2
В России почти 10 лет легально работает сервис по псевдоремонту компьютеров. Его главные жертвы — пенсионеры
За переустановку Windows «мастера» сдирают до 200 тысяч рублей
https://dailystorm.ru/obschestvo/v-rossii-pochti-10-let-legalno-rabotaet-servis-po-psevdoremontu-kompyuterov-ego-glavnye-zhertvy-pensionery?utm_source=lentach&utm_medium=ctr&utm_campaign=lentach
+1
thispersondoesnotexist.com
Лицовореций тред. Интересные и упоротые портреты, сгенерированные нейропитухами.
Предлагаю челлендж: жмём F5 и постим сюда лица, похожие, по вашему мнению, на обитателей ГК. Разумеется, если вы не знали пользователя в лицо или давно видели мутную фотографию и уже забыли, как он выглядит.
Для чистоты эксперимента рекомендуется не смотреть чужие представления о местных жителях до того, как запостили свои.
0
// Функция считывания списка из файла
private: int readContactList( System::String^ path ) {
contact_list_->clear();
try {
System::IO::StreamReader^ reader = gcnew System::IO::StreamReader( path ); // Объект чтения из файла
try {
System::String^ line; // считываемая строка
array<String^>^ contact = gcnew array<String^>( 32 ); // считываемая строка будет разбиваться
array<String^>^ separator = { " " }; // разделитель строки - пробел
list_node* node; // вершина списка
while( line = reader->ReadLine() ) {
contact = line->Split( ' ' ); // разделяем строку по пробелам
if ( contact->Length != 3 ) // Должно быть три числа
return 4;
try {
node = new list_node(); // Заводим вершину и инициализируем ее поля
node->element_number_ = Int32::Parse( contact[ 0 ] );
node->circuit_number_ = Int32::Parse( contact[ 1 ] );
node->contact_number_ = Int32::Parse( contact[ 2 ] );
contact_list_->pushBack( node );
} catch (Exception^ e) { // В случае ошибки удаляем вершину из кучи и выходим
delete node;
return 4;
}
}
} catch ( Exception^ e ) {
return 2;
}
} catch ( Exception^ e ) {
return 1;
}
return 0;
}
Больше try - catch.
Поля структуры не инкапсулировал потому, что тот, кому нужна эта программа не знает про инкапсуляцию.
Кстати, сделано по примеру с MSDN
+163
#define LOKI_TYPELIST_4(T1, T2, T3, T4) \
::Loki::Typelist<T1, LOKI_TYPELIST_3(T2, T3, T4) >
#define LOKI_TYPELIST_5(T1, T2, T3, T4, T5) \
::Loki::Typelist<T1, LOKI_TYPELIST_4(T2, T3, T4, T5) >
...
...
#define LOKI_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
T41, T42, T43, T44, T45, T46, T47, T48, T49) \
::Loki::Typelist<T1, LOKI_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
T41, T42, T43, T44, T45, T46, T47, T48, T49) >
#define LOKI_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
::Loki::Typelist<T1, LOKI_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) >
+153
// обработка наведения/убирания мышки на тултипы и ссылки
$("a.popup-link").live("mouseenter", function(event) {
var id = parseInt($(this).text().replace(">>", ""));
$(window).data("currentTooltip", id);
showTooltip(this, id);
});
$("a.popup-link").live("mouseleave", function(event) {
$(window).data("currentTooltip", null);
scheduleTooltipClose();
});
$("div.comment-tooltip").live("mouseover", function(event) {
if (!$(event.target).hasClass("popup-link")) {
$(window).data("currentTooltip", $(this).data("id"));
}
});
$("div.comment-tooltip").live("mouseleave", function(event) {
$(window).data("currentTooltip", null);
scheduleTooltipClose();
});
https://github.com/bormand/govnokod-board
Превращаем уютненький форум в уютненькую борду (скрипт для greasemonkey).
P.S. На ГК стоит жквери 1.4, поэтому live() вместо on().
−96
srp_base64_table = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./"
def srpb64decode(s):
ints = [srp_base64_table.index(c) for c in s]
pad = len(ints) % 4
if pad != 0:
pad = 4 - pad
ints = [0 for i in range(0, pad)] + ints
notleading = False
buf = []
pos = 0
while pos < len(ints):
b = (ints[pos] << 2) | ((ints[pos+1] & 0x30) >> 4)
if notleading or b != 0:
buf.append(b)
notleading = True
b = ((ints[pos+1] & 0x0f) << 4) | ((ints[pos+2] & 0x3c) >> 2)
if notleading or b != 0:
buf.append(b)
notleading = True
b = ((ints[pos+2] & 0x03) << 6) | ints[pos+3]
if notleading or b != 0:
buf.append(b)
notleading = True
pos += 4
return bytes(buf)
def srpb64encode(b):
pos = len(b) % 3
b0 = 0
b1 = 0
b2 = 0
notleading = False
buf = ""
if pos == 1:
b2 = b[0]
elif pos == 2:
b1 = b[0]
b2 = b[1]
while True:
c = (b0 & 0xfc) >> 2
if notleading or c != 0:
buf += srp_base64_table[c]
notleading = True
c = ((b0 & 3) << 4) | ((b1 & 0xf0) >> 4)
if notleading or c != 0:
buf += srp_base64_table[c]
notleading = True
c = ((b1 & 0xf) << 2) | ((b2 & 0xc0) >> 6)
if notleading or c != 0:
buf += srp_base64_table[c]
notleading = True
c = b2 & 0x3f
if notleading or c != 0:
buf += srp_base64_table[c]
notleading = True
if pos >= len(b):
break
b0 = b[pos]
b1 = b[pos + 1]
b2 = b[pos + 2]
pos += 3
return buf
Кодирование и декодирование блобов для openssl SRP.
А я построю свой диснейленд с блекджеком и шлюхами! (c) тот, кто пилил SRP в openssl
+77
public static void main(final String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame.setDefaultLookAndFeelDecorated(false);
JDialog.setDefaultLookAndFeelDecorated(false);
} finally {
new ImageMaps().start();
}
}
НАКОНЕЦ запускаю десктоп-приложение.
Не знаю как вам, а по мне - выглядит весьма странно.
+3
В чём прикол "Go"?
Попробовал сделать примитивное апцо - это сущий пиздец. Нельзя просто взять и на лету
сформировать с нуля массив и отобразить его в виде "JSON" - надо под все случаи прописать
какие-то долбоёбские структуры и строго их придерживаться. Нельзя просто так взять и
закомментировать абы какую строку - под это приходится ломать и крушить половину кода
в файле.
Говорят, что это нужно для какой-то дисциплины, но схуяли программист не может распоряжаться
СВОИМ кодом по своему усмотрению? С каких пор компилятор учит программиста стилю кода?
В этом говноязыке чувствуешь себя, как на зоне.
Очень гадостно в этом языке работать с базами данных.
Я было обрадовался, что наконец-то появился язык, официально как будто не дающий возможности
технически реализовать ООП-подход и ломающий стереотип о необходимости влажных фреймворков,
но на деле это оказалось той же пиздой, только в другой обёртке.
Поэтому я за "PHP".
В нём я просто создаю на лету массив произвольной структуры и тут же превращаю его в "JSON".
В нём я просто комментирую ту строку, которая мне в данный момент не нужна. В нём я просто
создаю подключение к "MySQL" и использую его в коде даже без отсылки к переменной подключения.
Наконец, в нём я могу не использовать ООП, если не хочу (а я не хочу).
"PHP" переживает все другие языки для серверной разработки. "Ruby" мёртв, "Python" мёртв, "Java" и
"NodeJS" уже подыхают, на очереди, я так понимаю, как раз "Go". И только "PHP" на коне.