- 1
- 2
- 3
- 4
Пиздец, блять. На мои соопщения в yandex.раёны
ввели...
премодерацию...
Когда постишь, пост виден только запостившему - один из способов умерить пыл тролля.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Пиздец, блять. На мои соопщения в yandex.раёны
ввели...
премодерацию...
Когда постишь, пост виден только запостившему - один из способов умерить пыл тролля.
Эти гомосекуалисты думали, что я поведусь на такое дешевое наебалово...
+2
SELECT SQL_NO_CACHE IT.itemCode,
SUBSTRING_INDEX(GROUP_CONCAT(IT.ean),",", 1) as ean,
SUBSTRING_INDEX(GROUP_CONCAT(IT.artCode),",", 1) as artCode,
SUBSTRING_INDEX(GROUP_CONCAT(IT.description),",", 1) as description,
SUBSTRING_INDEX(GROUP_CONCAT(IT.siteName),",", 1) as siteName,
SUBSTRING_INDEX(GROUP_CONCAT(IT.familyName),",", 1) as familyName,
SUBSTRING_INDEX(GROUP_CONCAT(IT.familyCode),",", 1) as familyCode,
SUBSTRING_INDEX(GROUP_CONCAT(IT.SSfamilyCode),",", 1) as SSfamilyCode,
SUBSTRING_INDEX(GROUP_CONCAT(IT.SSfamilyName),",", 1) as SSfamilyName,
SUBSTRING_INDEX(GROUP_CONCAT(IT.sectorCode),",", 1) as sectorCode,
SUBSTRING_INDEX(GROUP_CONCAT(IT.sectorName),",", 1) as sectorName,
SUBSTRING_INDEX(GROUP_CONCAT(IT.radiusCode),",", 1) as radiusCode,
SUBSTRING_INDEX(GROUP_CONCAT(IT.radiusName),",", 1) as radiusName,
FI.areaName,
FI.areaCode,
ROUND(SUM(IT.price), 2) as price,
SUM(IT.quantity) as theoreticalQty,
IFNULL(FI.countedQty, 0) as countedQty,
ROUND(SUM(IT.quantity) * ROUND(SUM(IT.price), 2), 2) as theoreticalQtyValue,
ROUND(IFNULL(FI.countedQty, 0) * ROUND(SUM(IT.price), 2), 2) as countedQtyValue,
IFNULL(FI.countedQty, 0) - SUM(IT.quantity) as stockGapQty,
ROUND((IFNULL(FI.countedQty, 0) - SUM(IT.quantity)) * SUM(IT.price), 2) as stockGapValue,
DATE_FORMAT(ST.lastImport, "%d-%m-%Y %H:%i:%s") as dateOfLastImport,
DATE_FORMAT(NOW(), "%d-%m-%Y %H:%i:%s") as dateOfExport
FROM Items as IT
LEFT JOIN (
SELECT MIN(FI.ean) as ean, SUM(FI.quantity) as countedQty, IT.itemCode,
GROUP_CONCAT(DISTINCT AR.name) as areaName,
GROUP_CONCAT(DISTINCT AR.code) as areaCode
FROM FoundItems as FI
INNER JOIN Items as IT ON FI.ean = IT.ean
LEFT JOIN Areas as AR ON AR.id = FI.areaId
INNER JOIN Stores as ST ON ST.id = IT.storeId
WHERE eventId = ${args.eventId}
AND IT.storeId = (SELECT storeId FROM Events WHERE id = ${args.eventId})
GROUP BY IT.itemCode
) as FI ON IT.itemCode = FI.itemCode
INNER JOIN Stores as ST ON ST.id = IT.storeId
WHERE IT.storeId = (SELECT storeId FROM Events WHERE id = ${args.eventId})
GROUP BY IT.itemCode, FI.areaName, FI.areaCode, FI.countedQty, dateOfLastImport
а що ця конструкція вміє, а ета що, про та ще й ето потрібно впихнути сюди
+1
switch (pattern)
{
case 0:
case 1:
case 4:
case 32:
case 128:
case 5:
case 132:
case 160:
case 33:
case 129:
case 36:
case 133:
case 164:
case 161:
case 37:
case 165:
{
PIXEL00_20
PIXEL01_60
PIXEL02_60
PIXEL03_20
PIXEL10_60
PIXEL11_70
PIXEL12_70
PIXEL13_60
PIXEL20_60
PIXEL21_70
PIXEL22_70
PIXEL23_60
PIXEL30_20
PIXEL31_60
PIXEL32_60
PIXEL33_20
break;
}
case 2:
case 34:
case 130:
case 162:
{
PIXEL00_80
PIXEL01_10
PIXEL02_10
PIXEL03_80
PIXEL10_61
PIXEL11_30
PIXEL12_30
PIXEL13_61
PIXEL20_60
PIXEL21_70
PIXEL22_70
PIXEL23_60
PIXEL30_20
PIXEL31_60
PIXEL32_60
PIXEL33_20
break;
}
case 16:
case 17:
case 48:
case 49:
{
PIXEL00_20
PIXEL01_60
PIXEL02_61
PIXEL03_80
PIXEL10_60
PIXEL11_70
PIXEL12_30
PIXEL13_10
PIXEL20_60
PIXEL21_70
PIXEL22_30
PIXEL23_10
PIXEL30_20
PIXEL31_60
PIXEL32_61
PIXEL33_80
break;
}
Отсюда:
https://github.com/grom358/hqx/blob/master/src/hq4x.c
0
Вчерась обнаружил в списке стандартных программ "Ножницы"
Это скринго, если кто не знает.
Ёбля с PrintWindow, BitBlt и GetDC была напрасной.
0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00800060: 424f 4f54 2020 2020 4249 4e20 0057 7a99 BOOT BIN .Wz.
00800070: 954f 2250 0000 1c87 954f 0700 bc00 0000 .O"P.....O......
file boot.bin
00828000: - file start (0c94 3400 0c94 3e00 0c94 3e00 0c94 3e00)
+3
while ( port->available() )
{
au8Buffer[ u8BufferSize ] = port->read();
u8BufferSize ++;
if (u8BufferSize >= MAX_BUFFER) bBuffOverflow = true;
}
Если буфер переполнился – попробуем это запомнить и... продолжим затирать память! Реальный кусок из библиотеки работы с RS485 – протоколом, применяющимся в промышленных контроллерах и все такое.
+1
См. что пишут на лОре:
"... на сайте царила приятная атмосфера олдскульности, а контент был не хуже, чем на Хабре. [...]
неадекватный человек, который много лет спамит и оскорбляет участников. Из -за него а также из-за бездействия админа ушли многие участники и сайт запустел :("
−3
1)
const
OUT_OF_BOUNDS:TPoint=(X:-1; Y:-1);
var
INT_OUT_OF_BOUNDS:Integer absolute OUT_OF_BOUNDS;
TargetForm.Perform(WM_LBUTTONUP,0,INT_OUT_OF_BOUNDS);
2)
const
ZERO_ZERO:TPoint=(X:0; Y:0);
var
INT_ZERO_ZERO:Integer absolute ZERO_ZERO;
TargetForm.Perform(WM_LBUTTONUP,0,INT_ZERO_ZERO);
3)
TargetForm.Perform(WM_LBUTTONUP,0,0);
Болею. Стояла задача воспроизвести системное меню. Но оказалось, что при клике на элемент фейкового системного меню, форме не посылается WM_LBUTTONUP и кнопка-иконка не перекрашивается в ненажатый вид. Решил перформить WM_LBUTTONUP прямо при клике, но туда нужно передавать координаты мышки куда был совершён клик в High(lParam) и Low(lParam). Сначала хотел передавать -1;-1 но подумал что передавать туда $FFFFFFFF как-то некрасиво, а прямое приведение типов а-ля Integer(Point(-1,-1)) оно у меня хавать не захотело, и поэтому красоты ради наговнокодил первый вариант кода. Потом подумал, а что если там только положительные значения, будет же 65535;65535 непорядок, лучше буду передавать нули. Впихнуть туда просто 0 сразу в голову не пришло (болею же, башка квадратная) и наговнокодил второй вариант.
Потом, конечно же, написал всё по нормальному.
+3
template <typename T>
void f() {
if constexpr (std::is_arithmetic_v<T>)
// ...
else
static_assert(false, "Must be arithmetic"); // ill-formed: invalid for every T
}
// The common workaround for such a catch-all statement is a type-dependent expression that is always false:
template<class T> struct dependent_false : std::false_type {};
template <typename T>
void f() {
if constexpr (std::is_arithmetic_v<T>)
// ...
else
static_assert(dependent_false<T>::value, "Must be arithmetic"); // ok
}
То есть «static_assert(false)» в шаблоне — это UB. Чтобы оно было не UB и можно было спокойно отключать ненужные специализации — надо городить ёбанный костыль. Пиздец. Почему стандартизаторы не могут просто взять и сделать что-то удобное? Что-то, для чего не требуется городить по десятку костылешаблонов, заставляющих его работать? Что-то без ёбанной явной специализации для bool? Почему любой высер крестокомитета обязательно должен быть максимально сложным, вербозным, неочевидным говном с кучей подводных камней и UB?
0
std::tuple<int, int, int, bool> cock;
std::get<bool>(cock)
Сначала не понимал нахуй нужен геттер по типу, но при очередном добавлении нового int и забытии поменять индекс у була, заюзал его.
Бтв, почему нету cock.get<0>?