@ProCxx

Страница 2077 из 2477
Max
21.05.2018
20:39:04
в политике вот далеко не у всех опыт есть однако отличить мудака-политика от хорошего многие могут. так какой смысл в фаллометрии?

Constantine
21.05.2018
20:39:41
в политике вот далеко не у всех опыт есть однако отличить мудака-политика от хорошего многие могут. так какой смысл в фаллометрии?
у меня просто создается впечатление (оно может быть ложное), что вы рассуждаете с некоторой теоретической стороны вопроса, при этом не огребали много раз по ноге

Max
21.05.2018
20:39:46
как ни странно, если ваш опыт превышает мой, я задумаюсь над тем, что вы говорите
не стоит задумываться. все фигня. пиши на джаве. я просто развлекался

всем спокойной ночи

Google
Constantine
21.05.2018
20:40:19
в частности, меня категорически удивляет, что Human со ссылками на Universe для вас необычны

потому что естественный порядок владения в дереве от потомка к предку

Assasin
21.05.2018
20:41:08
как ни странно, если ваш опыт превышает мой, я задумаюсь над тем, что вы говорите
ну тогда все ясно: бесполезно говорить с человеком, которому важен только опыт в числах, а не аргументы.

Вообще странно, у меня как то наоборот, чем больше узнаю, тем больше понимаю, что учитывать надо любые мнения

Constantine
21.05.2018
20:41:33
ну тогда все ясно: бесполезно говорить с человеком, которому важен только опыт в числах, а не аргументы.
это софизм, я лишь утверждал, что больший опыт человека будет фактором

это как "больший рейтинг на олимпиадках что-то значит, меньший - нет"

Assasin
21.05.2018
20:42:28
ну... больший опыт значит только... больший опыт, и все

Constantine
21.05.2018
20:42:53
статистически человек, имеющий больший опыт, сделал больше ошибок :)

как минимум такой аргумент - считаете ли вы, что три года назад понимали хуже?

Assasin
21.05.2018
20:43:39
это бесспорно. Вот только взять два таких человека, и их ошибки могут оказаться совершенно разными

Constantine
21.05.2018
20:44:01
т.е. если вы возьмете себя из будущего, очевидно, его советы нужно слушать

Nikita
21.05.2018
20:45:25
ребят, не в очень в тему конечно, но никто не натыкался на литературу по асинхронному программированию? нужны какие-нибудь статьи, а лучше книги, где про это на теоретическом уровне будет рассказываться

Google
Assasin
21.05.2018
20:45:28
т.е. если вы возьмете себя из будущего, очевидно, его советы нужно слушать
да, нужно слушать, но надо учесть, что после этого вы уже никогда не будете тем человеком из будущего, т.к. пойдете по другому пути развития, и ваш опыт уже будет отличаться

Constantine
21.05.2018
20:45:29
если добавить гипотезу, что вы являетесь некоторым фиксированным квантилем одной возрастной группы независимо от текущего возраста получим, что вы должны слушать больший квантиль людей с большим опытом, чем с меньшим

Assasin
21.05.2018
20:47:45
если добавить гипотезу, что вы являетесь некоторым фиксированным квантилем одной возрастной группы независимо от текущего возраста получим, что вы должны слушать больший квантиль людей с большим опытом, чем с меньшим
это все рабоатет для одномерной шкалы опыта, как в играх. На практике опыт как минимум двумерный, если вообще можно его представить хоть сколько то мерным

Assasin
21.05.2018
20:48:30
а, так с этим я согласен

Constantine
21.05.2018
20:48:33
не вижу, как это доказательство зависит от выбранной модели опыта

(больше людей в случае большего опыта)

Nikita
21.05.2018
20:49:59
Igor
21.05.2018
20:51:18
сеньк
ещё в Advanced Programming in UNIX Environment, насколько я помню, неплохо рассказывается за примитивы вроде мьютексов и семафоров

Constantine
21.05.2018
20:51:35
да, кстати, @AsGreyWolf, окна должны быть неперемещаемыми, чтобы без проблем в лямбдах биндаться

Nikita
21.05.2018
20:52:24
ещё в Advanced Programming in UNIX Environment, насколько я помню, неплохо рассказывается за примитивы вроде мьютексов и семафоров
Мне не про параллелизм, а про асинхронность надо, где рассказывалось бы чё это такое, какие проблемы есть, как они в цивилизованном мире решаются и прочее

Igor
21.05.2018
20:53:44
оу тогда Concurrency in Action тоже несколько мимо леса( хотя возможно я просто не дочитал до продвинутых вещей

Nikita
21.05.2018
20:56:10
Даже гугол молчит, странно что по этой теме так туго с теоретическими материалами

Constantine
21.05.2018
20:57:05
если честно, не понял эту фразу. кто от чего плюется и кто кого и зачем грохнуть должен
если некоторое окно создает команду для контекстного меню, оно очень хочет биндать this в этой команде, чтобы получать назад инфу это С++, детка, тут бывают битые ссылки и вообще все не очень хорошо, поэтому над этой фигней привинчен отладочный reference checker запущенная менюшка имеет состояние, в частности, хранящее все переданные команды так вот, если трек продержит лишнего это состояние, то в этом состоянии будет битая ссылка на окошко

Constantine
21.05.2018
21:05:36
не сильно понятнее стало) this биндит, полагаю, команда, а не менюшка. По остальному... попробую догадаться: речь о ситуации, когда кто-то убил окно, а контекстное меню осталось?
команда содержит непосредственно вызываемый callback при выборе пользователем нет, там из-за особенностей механики работы передерживал Track в собственной статической переменной

Assasin
21.05.2018
21:06:54
кто такой трек?

Constantine
21.05.2018
21:07:13
TrackPopupMenu это условное название функции, которая непосредственно показывает popup menu

Google
Constantine
21.05.2018
21:07:26
собственно её винапи-название

Assasin
21.05.2018
21:08:09
и кто передерживал в своей статической переменной трек?

причем передерживал функцию, как я понял

Constantine
21.05.2018
21:08:43
TrackPopupMenu передерживала std::shared_ptr<PopupMenuState> в своей статической переменной

Assasin
21.05.2018
21:09:56
по-моему, наличие только статичекой переменной в самой функции уже говорит о том, что пора перерабатывать архитектуру

Constantine
21.05.2018
21:10:10
предложите другое решение для вот какого момента

(а) TrackPopupMenu не имеет права выпускаться из стека до конца

она синхронная

Assasin
21.05.2018
21:10:49
я вот так с наскоку в эту ситуацию не смогу погрузиться, тем более посреди ночи

Constantine
21.05.2018
21:10:56
(б) повторный вызов TrackPopupMenu может означать переход на другой пункт в MenuBar

т.е. TrackPopupMenu должна знать, что в стеке уже лежит TrackPopupMenu и знать состояние этого меню

Assasin
21.05.2018
21:12:33
навскидку, если у функции есть состояние, значит она напрашивается на переименовывание в метод

Assasin
21.05.2018
21:12:58
т.е., возможно, нужен класс типа PopupMenuTracker

Constantine
21.05.2018
21:13:02
как вы вообще умеете определять, что некоторая функция находится в стеке?

Assasin
21.05.2018
21:13:37
этим будет заниматься объект. Если нужно, с помощью поля-стека

Constantine
21.05.2018
21:14:03
?

я не понял про поле-стек

Assasin
21.05.2018
21:14:27
vector<...>

Constantine
21.05.2018
21:14:39
отлично, но как я получил ссылку на этот объект?

тот, который был первым в вызове?

Google
Assasin
21.05.2018
21:15:05
stack[0]?

Nikita
21.05.2018
21:15:13
т.е. TrackPopupMenu должна знать, что в стеке уже лежит TrackPopupMenu и знать состояние этого меню
а чё если оформить это в класс и запретить создание нескольких инстансов?

типо синглтон

(блин не бейте за синглтон)

Constantine
21.05.2018
21:15:25
я не самый большой специалист

но у меня синглтоны реализуются через статическую переменную функции

Assasin
21.05.2018
21:16:30
ну я чаще видел реализацию через статическое поле класса-синглтона и статическую функцию (и приватные конструкторы)

Constantine
21.05.2018
21:16:30
stack[0]?
у кого? глобальной переменной?

Admin
ERROR: S client not available

Assasin
21.05.2018
21:16:36
Constantine
21.05.2018
21:16:54
меня интересует, как я нашел тот объект, у которого прочитал stack[0]

мне тот же трекер не дадут

так что я должен на том же вызваться

Assasin
21.05.2018
21:18:26
меня интересует, как я нашел тот объект, у которого прочитал stack[0]
Я рассуждаю типа такого class PopupMenuTracker { protected: vector<...> stack; public: auto TrackPopupMenu(...); // тут используем stack };

Constantine
21.05.2018
21:18:31
отлично

Assasin
21.05.2018
21:19:09
это как минимум отвязывает от глобального контекста приложения

Constantine
21.05.2018
21:19:30
а это развязывание возможно?

Assasin
21.05.2018
21:19:44
если мы лопатим архитектуру - почему нет?

Constantine
21.05.2018
21:19:48
два TrackPopupMenu невозможны в рамках одного приложения

потому что TrackPopupMenu имеет уникальный системный ресурс

Google
Nikita
21.05.2018
21:20:35
погоди, тут TrackPopupMenu это метод

что значит два их невозможны

Constantine
21.05.2018
21:20:53
два вызова

Assasin
21.05.2018
21:21:27
короче, не, я не буду сейчас с наскоку заниматься задачей, про которую я толком ничего не знаю и даже кода не видел.

Constantine
21.05.2018
21:21:56
ну вы очень странно недолюбливаете статические переменные

SomeSingleton & get_SomeSingletonInstance { static SomeSingleton object; return object; //я ой как не уверен, что вы можете это повторить }

в частности, код выше потокобезопасен, вы умеете в оптимальный потокобезопасный код?)

Assasin
21.05.2018
21:23:12
я не недолюбливаю, они хороши для своих целей. Но для синглтона статической переменной функции мало

Constantine
21.05.2018
21:23:45
а что там еще не хватает?

Assasin
21.05.2018
21:24:09
можно в любом месте программы написать SomeSingleton

инстанцировать класс т.е.

Constantine
21.05.2018
21:24:20
хм...

Assasin
21.05.2018
21:24:37
да, нужно писать приват конструктор и friend на функцию геттер

Constantine
21.05.2018
21:24:50
namespace { class SomeSingleton : public SomeSingletonInterface { }; } SomeSingletonInterface & get_SomeSingletonInstance { static SomeSingleton object; return object; //я ой как не уверен, что вы можете это повторить }

Assasin
21.05.2018
21:24:52
но это уже выглядит, как обычная статическая функция класса

кстати, статические переменные функции thread-local?

Constantine
21.05.2018
21:25:35
нет

thread_local отдельное ключевое слово

Assasin
21.05.2018
21:25:51
тогда где там потокобезопасность?

Constantine
21.05.2018
21:25:57
гарантия языка

Страница 2077 из 2477