0xd34df00d
09.11.2012 11:39 Azoth_primary
За некоторые «дизайнерские решения» мне феерически стыдно. За открытый на всем протяжении файл настроек, например.
Как дальше жить?
На протяжении чего?
времени работы приложения, похоже
он не может закрыться? ( бедный
Странно как-то.
Жизни.
Уебищно. Так его легко потерять, если внезапно на разделе место кончится, например. Или http://dev.leechcraft.org/issues/884 из той же серии.
Oh shi~
Да :( Грустная история!
> легко потерять
Да, трудно настроить, легко потерять и невозможно восстановить.
Ууу, говно.
This.
У тебя слишком короткий файл настроек! ДОБАВЬ XML, НЕЙМСПЕЙСЫ, СХЕМЫ, КОММЕНТАРИИ, БЛОКИ CDATA.
Ага, мой репорт?))
Ага.
А почему только Азот?
Так карты сложились.
))
И бекап-копию образа плагина там хранить еще.
;) pdb не забудь присунуть
И такое бывало, да, но решил не репортить :D
Под обе битности венды.
UniversalBinary — это к макоси, ага.
Блядь, почему рапчуре отвечает на пост рекомендацией, а не комментом?
Так легче насрать в душу же.
рекомендацией в душу насрал восторг.
Да они там вообще универсалы, это да.
Че.
закрой его
Закрыл. Теперь тормозит.
WD40!
тогда не закрывай и забей
Че.
НЕНАДЕЖНО
FSYNC FLUSH FFLUSH
маслице
сделой
Творог.
Прст IO должно быть асинхронным или все пизда.
Сделай мне асинхронное Variant Settings::GetValue().
Оберни, есть же QtConcurrent, FTW
Ты ведь понимаешь, что такой код будет выглядеть как макаронный пиздец?
Тебе шашечки или ехать?
Мне ехать и понимать, что писать такой пиздец — пиздец.
помоему ты отсасываешь проблему из пальца
тогда отрефактори, отрефактор его еще раз.
Не пиздец, если спрятать все говно в недра и вывести вменяемый интерфейс наружу.
Плюсы не предназначены для написания подобного рода асинхронного кода.
НЕДРА ХУЕДРА
boost::asio тебе не предназначен, дедфуд
Извини, я просто адекватнее ничего не могу придумать.
Там асинхронность чуть более глобального масштаба.
почему? что тебе мешает?
Потому что простейшее
void foo ()
{
// smth
auto val = SettingsMgr→GetValue ("Something");
auto otherVal = SettingsMgr→GetValue ("SomethingOther");
// work with values
}
превратится в пиздец.
на С :) Ну, прости за пиздец, а в дочернем потоке прочитать настройки в память и закрыть его?
SettingsMgr→GetValue("Something").onFinish([](){...});
кстати, сорри, я не гуру в плюсцах, но видел, что и в них можно удобно юзать иснхронку благодаря некой ppltasks.h
пример видел здеся http://msdn.microsoft.com/en-us/library/...
Чем такой стиль пиздец?
-____\\\
Вербозно.
нет ты
CPS же практически, что ты лапки прикрываешь?
ты хочешь пёрла?
Причем тут си? Причем чтение настроек в дочернем потоке? Речь не про одноразовое считывание, а про постоянное.
Обычно я это про плюсы говорю ;[
ЕМНИП PPL немного не то, но я его не тыкал особо.
Потому что в языке с явным удалением объектов и отсутствием сейф-ссылок нужно все время обмазываться всякими shared_ptr'ами и QPointer'ами, чтобы следить, что пока ты там настройки читал, родительский объект не сдох, например.
Х-ля, конечно же.
постоянное зачем?
PPL — ШИНДОWS-ОИLY
% eix ^ppl$
[I] dev-libs/ppl
Available versions: 0.10.2-r1 0.11.2-r1 (~)0.12 (~)0.12.1 {{doc lpsol pch static-libs test watchdog}}
Installed versions: 0.12.1(14:57:12 01.05.2012)(-doc -lpsol -pch -static-libs -test)
Homepage: http://bugseng.com/products/ppl
Description: The Parma Polyhedra Library provides numerical abstractions for analysis of complex systems
При каждом новом сообщении в чятике узнавать, писать его в лог или нет, например.
зацепи овнершип объекта запроса на время жизни предка, какие проблемы?
Ясен хрен, что без GC c асинхронностью просос.
Вот и я про то.
http://msdn.microsoft.com/en-us/library/...
ты ниасилятор прост
Ну вот, началось.
А если предка нет? А если нужна чуть более строгая стратегия? И пошло-поехало.
КОКОКО РЕФКАУНТЕР
ИНТРУЗИВ_ПТР СТРАТЕГИИ ВЛАДЕНИЯ АААА БЛЯДЬ МАЛЛОК МАЛЛОК МАЛЛОК
ИДИТЕ В ЖОПУ ПЕТУХИ КУРЯТНИК КАКОЙ ТО УСТРОИЛИ НАХУЙ U НА ВАС
типа кнопка закрыть при изменении настройки дергать конфиг не может?
БАГЕТ
Механзим подписки на уведомления о смене настроек есть, но иногда таки легче запрашивать компоненты стейта, нежели чем хранить-дублировать его.
я помню, в прошлый раз ты таким макаром дошел до того, что история чата стала отдельным протоколом, ага
ЗАЧЕМ МНЕ ПОКОЛЕНИЯ БЛОКИ ПОМЕТИЛ ПОДМЕЛ ЛУЧШЕ РЕФКАУНТЕРЫ БЛОКИРОВКИ ОВЕРХЭД
ну ок-ок.