- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
public override TItem[] ToArray()
{
TItem[] arr = new TItem[Count];
Int64 i = 0;
foreach (TItem item in this)
{
if (i >= Count) break;
arr[i] = item;
i++;
}
return arr;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
public override TItem[] ToArray()
{
TItem[] arr = new TItem[Count];
Int64 i = 0;
foreach (TItem item in this)
{
if (i >= Count) break;
arr[i] = item;
i++;
}
return arr;
}
И пофиг, что foreach и так не даст превысить размер коллекции, всё равно проверим!
0
function setLastHandshake ($carID) {
$HsList = json_decode(file_get_contents('carconnection.txt'), 1);
if ($HsList == "null" || $HsList == null) {
$HsList = json_decode("[]");
}
$carCount = count($HsList);
$i = 0;
foreach ($HsList as &$row) {
if ($row['car'] == $carID) {
$row['lastHS'] = (string)time();
break;
}
else {
$i++;
}
if ($i == $carCount) {
$HsList[] = array('car' => (string)$carID, 'lastHS' => (string)time());
}
}
if ($HsList == "null" || $HsList == null) {
return -1;
}
$f = fopen('carconnection.txt', 'w');
fwrite($f, json_encode($HsList));
}
+4
data[idata].io_data[i % 4].data
Когда процессишь данные данных для данных
−53
Законы де Моргана в 1С
Казалось бы, при чем Булева Алгебра к 1С?
Предположим, есть задача - отобрать действующие договора на некую дату проверки &Дата.
При этом у договора есть дата начала и дата окончания, если дата окончания не задана, то договор действует до конца времен.
Как решается задача? В лоб так:
ВЫБРАТЬ Ссылка ИЗ Справочник.Договоры ГДЕ ДатаНачала <= &Дата И (ДатаОкончания >= &Дата ИЛИ ДатаОкончания = ДатаВремя(1,1,1))
Но операция ИЛИ вызывает некоторые проблемы по скорости, поэтому есть желание обойтись без нее. Как это сделать? Тут приходит на помощь законы Де Моргана.
Перепишем так:
ВЫБРАТЬ Ссылка ИЗ Справочник.Договоры ГДЕ ДатаНачала <= &Дата И НЕ (ДатаОкончания < &Дата И ДатаОкончания <> ДатаВремя(1,1,1))
И всё работает.
Проверяем выделенную зеленым часть условия:
1. Если дата окончания договора меньше даты проверки, то получим НЕ (ИСТИНА И ИСТИНА) = ЛОЖЬ
2. Если дата окончания договора больше или равно даты проверки, то получим НЕ (ЛОЖЬ И ИСТИНА) = ИСТИНА
3. Если дата окончания договора не заполнена, то получим НЕ (ЛОЖЬ) = истина.
Торжество формальной логики! Причем некоторые товарщи пытаются оптимизировать этот запрос через запросы с объединением, а ларчик открывается просто!
Немножко обо мне:
Действующий пикапер. Честно соблазнил 174 женщин и купил 42 феи (на август 2015)
Использует функциональную 5 бальную шкалу оценок женщин.
Известный 1сник с кличкой Гений 1С. Получает от 120 тыщ.
Изобрел фонд «Секс за ваши» - занимаюсь сексом с проститутками за счет пожертвований фанатов.
Изобрел Религию Дембеля.
+70
https://youtu.be/hB6eY73sLV0?t=241
Исполнение произвольного кода(в данном случае Flappy Bird) в Super Mario World. Запись инструкций в память происходит посредством прыжков в нужных координатах.
+3
https://geektimes.ru/post/277444/
0
void Canvas::drawText(const char* text, SDL_Color sdlColor, int x, int y) const noexcept
{
if (!font)
throw std::runtime_error{"TTF_Font* is null"};
SDL_Surface* const sdlSurface =
::TTF_RenderText_Solid(const_cast<TTF_Font*>(font->getTtfFont()), text, sdlColor);
if (!sdlSurface)
throw std::runtime_error{"SDL_Surface* is null"};
SDL_Texture* const sdlTexture =
::SDL_CreateTextureFromSurface(const_cast<SDL_Renderer*>(renderer->getSdlRenderer()), sdlSurface);
if (!sdlTexture)
throw std::runtime_error{"SDL_Texture* is null"};
const SDL_Rect srcrect{0, 0, sdlSurface->w, sdlSurface->h};
const SDL_Rect dstrect{x, y, sdlSurface->w, sdlSurface->h};
::SDL_FreeSurface(sdlSurface);
::SDL_RenderCopy(const_cast<SDL_Renderer*>(renderer->getSdlRenderer()), sdlTexture,
&srcrect, &dstrect);
::SDL_DestroyTexture(sdlTexture);
}
+2
<input type="hidden" name="lang" value="<?= LANG ?>"/>
<input type="hidden" name="ID" value=<?= $arResult["ID"] ?>/>
<input type="hidden" name="LOGIN" value=<?= $arResult["arUser"]["LOGIN"] ?>/>
Кусок формы редактирования профиля.. Отвлечемся от горячо любимой CMS и сконцентрируемся на сути...
Кодер так спешил, что решил просто type="text" превратить в хиддены. Бог с ним что это дает юзеру намек на то как сменить логин.
Но он забыл кавычки. ID проходит через IntVal и это не заметно. А вот к логину при каждом сохранении дописывается "/", юзера не выкидывает. А вот в следующий раз он должен угадать сколько слэшей добавить к логину. Да и логин запретили менять наверное не просто так, а потому что при регистрации туда прописывается мыло, а вот при апдейте юзера уже не трогают это...
−16
Небольшой гуру-тест по сопровождению типовых конфигураций.
Есть запрос, который получает себестоимость и выручку документа возврата товара от клиента (процедура ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж в модуле менеджера документа):
ТекстЗапроса = "
....
| - ВидыЗапасов.СуммаСНДСУпр КАК СуммаВыручки,
....
| ВЫБОР КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ВидыЗапасов.ДокументРеализации = НЕОПРЕДЕЛЕНО
| ТОГДА
| - ВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ
| 0
| КОНЕЦ КАК Себестоимость,
Для удобства сопровождения текст запроса меняется далее в коде, а не в самом запросе, в конструкции вида:
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "... что искать ...",
".. на что заменять...");
Нужно заменить использование ВидыЗапасов.СуммаСНДСУпр так, чтобы СуммаВыручки не изменилась, а Себестоимость изменилась, допустим на число 666 (для гуру-теста).
Это частая задача для УТ11, т.к. там не реализована возможность конкретного указания себестоимости, если возврат осущесвлятся без документа продажи (например, за прошлые периоды, до ввода начальных остатков), в этих случаях УТ11 принимает себестоимость возврата, равную цене продажи, а это не совсем правильно.
В этом случае есть один хитрый трюк, чтобы без использования регулярных выражений добиться замены себестоимости на заданное число. Вопрос - как? Думаем.
Немножко обо мне:
Действующий пикапер. Честно соблазнил 174 женщин и купил 42 феи (на август 2015)
Использует функциональную 5 бальную шкалу оценок женщин.
Известный 1сник с кличкой Гений 1С. Получает от 120 тыщ.
Изобрел фонд «Секс за ваши» - занимаюсь сексом с проститутками за счет пожертвований фанатов.
Изобрел Религию Дембеля.
0
# https://www.fusionticket.org/ cms для продажи билетов
// файл includes/classes/class.router.php
if(is_null($action)){
if (isset($_POST['action'])) {
$action=$_POST['action'];
} elseif (isset($_GET['action'])) {
$action=$_GET['action'];
} else
$action=false;
}
$_REQUEST['action'] = $action;
$_GET['action'] = $action;
$_POST['action'] = $action;
//echo $controller,'-',$module, '-',$action;
// теперь с class.router.php попадаем сюда includes/template/web/shop.tpl
{if $smarty.post.action eq 'resendpassword'}
{$user->forgot_password_f($smarty.post.email)}
{/if}
{if $smarty.request.action eq 'login' and $smarty.request.type != 'block'}
{include file="user_login.tpl"}
{elseif $smarty.request.action eq 'register'}
{if $smarty.request.register_user}
{user->register ismember=true data=$smarty.post secure='user_nospam' login=true}
{assign var='user_data' value=$smarty.post}
{if $user_errors}
{include file="user_register.tpl" ManualRegister=true}
{else}
{include file="user_activate.tpl"}
{/if}
{else}
{include file="user_register.tpl" ManualRegister=true}
{/if}
{elseif $smarty.request.action eq 'activate'}
{include file="user_activate.tpl"}
{elseif $smarty.request.action eq 'resend_activation'}
{include file="resend_activation.tpl"}
{elseif $smarty.get.action eq "remove"}
{$cart->remove_item_f($smarty.get.event_id,$smarty.get.cat_id,$smarty.get.item)}
{include file="cart_view.tpl"}
{elseif $smarty.request.action eq "addtocart"}
{if $smarty.post.place}
{assign var='last_item' value=$cart->add_item_f($smarty.post.event_id, $smarty.post.category_id, $smarty.post.place, $smarty.post.discount, 'mode_web')}
{else}
{assign var='last_item' value=$cart->add_item_f($smarty.post.event_id, $smarty.post.category_id, $smarty.post.places, $smarty.post.discount, 'mode_web')}
{/if}
{if $last_item}
{redirect url="index.php?action=view_cart&event_id={$smarty.post.event_id}"}
{else}
{include file="event_ordering.tpl"}
{/if}
{elseif $smarty.request.action eq "buy"}
{include file="event_ordering.tpl"}
и т. д. 250 строк.
https://www.fusionticket.org/.