powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как все было на самом деле: итог трех тем
67 сообщений из 67, показаны все 3 страниц
Как все было на самом деле: итог трех тем
    #38079869
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonО том, что вы задачу в двух топиках лаконично и понятно описать не можете - я уж вообще молчу. Вместо описания того, что вам РЕАЛЬНО надо, вы придумываете несуществующие примеры того, что вам не надо, а через 3 страницы бз всяких угрызений совести сообщаете "а, то я так, для примера привел... мы такое не юзаем, конечно". А нафига ж тогда 3 страницы обсуждали то, что вы не юзаете - не понятно.

ок, претензию понял, сообщаю как все было

Как все было на самом деле

1. сначала я создал тему как поймать факт перезаписи 13611210
в ней я пытался решить вопрос как организовать автоматическое (неявное) удаление объекта, указатель которого затер другой объект

Код: plaintext
1.
2.
A *a = new A;
a = new A;



когда я создавал тему я думал, что можно создать некий класс (интерфейс), который все это будет сам ловить и обрабатывать
я назвал этот класс/интерфейс catcher

в ходе обсуждения темы выяснилось, что это решается с помощью shared_ptr<>(), потому что чистые указатели сами ничего ловить не умеют

все круто, все работает
счастье

2. потом я создал тему как спрятать кастинг под капот 13615394
потому что это другая задача и формулируется она вот так

Код: plaintext
1.
B* b = (B*) new A;



или если выражать её через аксессоры, как это сделано у нас в продакшене, то вот так

Код: plaintext
1.
2.
B*& b();
b() = (B*) new A;



при этом формулируя задачу я думал, что существует возможность замутить кастинг внутри перегруженного оператора =()
но потом параллельно в первой ветке оказалось, что задачу придется решать через шарепоинтеры то есть вот так

Код: plaintext
1.
2.
shared_ptr<B>*& b();
b() = (B*) new A;



и я стал думать, что перегруженные операторы =() придется пришивать к библиотечным шарепоинтам, что меня несколько испугало, тогда я придумал ход конем и спрятал кастинг под другой капот, который тоже согласуется с кодстайлом, вот так

Код: plaintext
1.
2.
3.
shared_ptr<B>*& b();
shared_ptr<B>*& b(A*);
b() = b(new A);



3. и вот тут я создал третью тему кастинг вверх 13625244
потому что это тоже совсем другая тема, которая является отдельной темой и формулируется вот так

Код: plaintext
1.
B* b = (B*) new A;



только тут не как спрятать под капот, а как вообще возможно закастить

оказалось, что
1. этот кастинг называется не кастинг вверх, а кастинг вниз, то есть даункастинг
2. что грязный даункастинг без предварительных условий это русская рулетка
3. прострел ноги происходит когда в классе появляются дата-мемберы хранимые в указателе
4. по дефолту в языке даункастинг производится через dynamic_cats но требует наличие виртуалки в базе
5. автоматических средство создания глубоких копий не существует
6. автоматических средств замены родителя не существует

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

вот собственно и вся история на момент написания этого поста
как видите это не одна большая задача, совершенно три разные самостоятельные задачи (темы) и лишь так получилось, что конкретно у нас они являются компонентами одной задачи
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38079903
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix
Код: plaintext
1.
shared_ptr<B> * & b();



Тут точно не опечатка? Иначе это - самое бредовое что я увидел в ваших темах.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38079927
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyLumix
Код: plaintext
1.
shared_ptr<B> * & b();



Тут точно не опечатка? Иначе это - самое бредовое что я увидел в ваших темах.

да, конечно опечатка
причем двойная!!
правильно вот так

Код: plaintext
1.
shared_ptr<B> b();



по-моему чуть ли даже не вы обращали на это внимание, что кастирующий аксессор всегда должен возвращать чистую копию, а не ссылку
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38079930
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, опять путаница
вот так правильно
Код: plaintext
1.
2.
3.
shared_ptr<B>& b();
shared_ptr<B>  b(A*);
b() = b(new A);
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38079946
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix
вот собственно и вся история на момент написания этого поста
как видите это не одна большая задача, совершенно три разные самостоятельные задачи (темы) и лишь так получилось, что конкретно у нас они являются компонентами одной задачи

прошу прощения за свои 5 копеек
Это одна большая задача - проектирование архитектуры приложения и API
взаиможействия модулей.

Если подходить к задаче не через ж.... одно место ,
то все это решается через полиморфизм и множественное виртуальное( необязательно)
наследование без костылей в приведениях типов и подмены типов под указателями на лету.

ИМХО Конструктив ваших костылей создает жутких бартхет
у подавляющего большенства участников форума. Вы не находите это странным?
Прошу прощения, но это дартаньянизм какойто .
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38079950
sherzod_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему человеку надо хорошенько пропариться в бане. Кормим его на протяжении четвертого топика. Ну надо ж как-то помочь. Все как могли попытались объяснить. А если не действует, так хотя бы свести вред к минимуму. Этот форум же куча студентов читает, не хотелось чтобы они "это" видели.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38079959
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний топик я классифицирую как некий флуд. Зачем он? Я не знаю.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080010
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРпрошу прощения за свои 5 копеек
Это одна большая задача - проектирование архитектуры приложения и API
взаиможействия модулей.

нет у нас никакой архитектуры

мы используем принцип глобальной деревни: создание маленьких понятных самостоятельных кусочков, которые могут быть любыми способами синтезированы в более крупные соединения на основе неких функциональных зависимостей

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

ДохтаРЕсли подходить к задаче не через ж.... одно место ,
то все это решается через полиморфизм и множественное виртуальное( необязательно)
наследование без костылей в приведениях типов и подмены типов под указателями на лету.

ИМХО Конструктив ваших костылей создает жутких бартхет
у подавляющего большенства участников форума. Вы не находите это странным?

вы наверное имели ввиду баттхерт))

не знаю как у вас, но в екб слово баттхерт обычно используется с поддтекстом зависти. если кто-то говорит, что у него баттхерт, это значит, что он испытывает фрустрацию в результате зависти. ну например, если дима узнал, что коля-дурачок на своем стартапе сделал 12 млн. руб., а дима-отличник продолжает работать за зарплату 60 тыс. руб. / мес.

так вот в чем тут завидовать мне я вообще не вижу...
тут ребята тусуются с квалификацией ИТМО и стажем 15 тыс. часов в профессии
это наоборот я должен им завидовать!!

насчет странно не странно
а какая разница??
у меня нет цели соответствовать системе ценностей, принятой в какой-то иной организации, которую представляют тут другие участники форума
что касается общекультурного поведения, так я вроде никакого не нападал...
а вот один товарищ на букву Ш продолжает нападать))) ему видимо не хватило)))

ДохтаРПрошу прощения, но это дартаньянизм какойто .

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

вроде я никого ни к чему не призываю
я пришел сюда с задачей, эти задачи успешно решены
до решения задачи про автоматическое глубокое копирование я пока не дорос
если у кого-то какие-то эмоции после всех этих тем, то что я могу поделать?? голову пеплом посылать что ли??))) извиняться мне не за что, я вроде никого лично не задел
если кому-то не нравятся обсуждаемые решения, ну не делайте так

если кто-то считает, что это плохо и студенты новички не должны использовать эти конструкции, ну напишите пост, что так делать нельзя и пусть это останется для истории

и в конце концов этот форум активно модерируется
например, сегодня были вырезаны два поста, когда один товарисч немножечко забылся)))
так вот если в моих словах, действиях или примерах содержится хоть что-то реально противоречащее форуму, его имиджу или содержанию, то пожалуйста нажимайте кнопочку сообщить модератору и обосновывайте почему мои посты надо удалить, а меня забанить)))
возможно вам не так просто будет справится с этой задачей)))....
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080065
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixДохтаРпрошу прощения за свои 5 копеек
Это одна большая задача - проектирование архитектуры приложения и API
взаиможействия модулей.

нет у нас никакой архитектуры

мы используем принцип глобальной деревни: создание маленьких понятных самостоятельных кусочков, которые могут быть любыми способами синтезированы в более крупные соединения на основе неких функциональных зависимостей

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



Ваша позиция и мотив понятен.
У вас сложилась внутрення культура кодирования.
Вы имеете на это право.

У меня есть определенный опыт поддержки и эксплуатации приложений
написанных по вашим принципам. И мне не нравится такой подход
к проектированию и реализации идей.

Ваш подход оправдан, если вы НЕ планируете нести эксплуатационные расходы
по вашему стартапу когда он наберет обороты.
Не пропустите момент, когда в проекте наберется критическая масса энтропии.
Если пропустите - стартап не продадите. Идею вашего стартапа будет проще и дешевле переписать заново.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080068
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПоследний топик я классифицирую как некий флуд. Зачем он? Я не знаю.человек общается, пятница жеж )) всё бы вам позакрывать, модераторы ;-))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080071
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, всяко лучше, чем УГ "напишите за меня код на С++". Забавно, что те топики почему то не закрывались, а герой их создавший не забанен до сих пор. ыть?
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080077
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А за что его банить?
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080080
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychmaytonПоследний топик я классифицирую как некий флуд. Зачем он? Я не знаю.человек общается, пятница жеж )) всё бы вам позакрывать, модераторы ;-))
Я сам люблю пофлудить. Но в ПТ.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080091
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixок, претензию понял
Ничего не поняли. Суть вопросов, вырванных из контекста все и так помнят. Топики никуда не делись.

Пришли мы к тому, что вырывать их из контекста нельзя. Они выглядят странно вне контекста. А подготовить минимально необходимый контекст для понимания, как это используется и откуда возникают эти вопросы - вам лень или это не совсем возможно.

Потому топики и зашли в тупик.

Ну это как если спросить как пройти в магазин. Услышать череду вопросов типа "Какой магазин?", "В каком городе?", "А ты вообще где находишься?", "А ноги у тебя есть вообще?" и т.д. И ответить на все это:
- Да какая разница? МНе в магазин надо! Это что, такая сложная задача?
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080115
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonНу это как если спросить как пройти в магазин. Услышать череду вопросов типа "Какой магазин?", "В каком городе?", "А ты вообще где находишься?", "А ноги у тебя есть вообще?" и т.д. И ответить на все это:
- Да какая разница? МНе в магазин надо! Это что, такая сложная задача?

Можно по другому ответить,
-Ближайший магазин 50 метров прямо , за углом на право еще 20 метров.

Овечающий ответил правильно оптимально и максимально быстро .

Только нужна была булочная, а за углом галантерея-косметика.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080146
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРВаш подход оправдан, если вы НЕ планируете нести эксплуатационные расходы
по вашему стартапу когда он наберет обороты.
Не пропустите момент, когда в проекте наберется критическая масса энтропии.
Если пропустите - стартап не продадите. Идею вашего стартапа будет проще и дешевле переписать заново.

у нас не стартап)))
ну, имеется ввиду мы не пилим некий проект, чтобы заработать на каком-то рынке
мы не стартаперы
мы берем деньги за само программирование
эксплуатационные расходы несут наши заказчики

со стартапом я наверное точно такую же ошибку допустил как с js, упомянув его для примера, а ваша фантазия дорисовала, что мы стартаперы)))

блин, надо мне ещё аккуратнее с выражениями быть)))

ps. насколько я заметил в екб чаще всего стартапы пишут на дотнете, потому что большинство стартапов ориентированы быть проданными забугорным венчурам в рамках второго раунда финансирования, а забугорные венчура покупают только на дотнете или крайняк не яве

чтобы замутить венчур на плюсах это должен быть какой-то копец инновационный стартап типа там big data db engine, но у нас в екб насколько мне известно просто таких мозгов нет, все эти мозги давно уже в долине

ДохтаРНе пропустите момент, когда в проекте наберется критическая масса энтропии.

Наша архитектура как раз от этого и застрахована. Я когда её создавал, то в голове у меня был образ торгового центра МЕГА-ИКЕЯ



Видите, весь первый этаж отведен под парковку и сам торговый центр начинается только со второго этажа. Получается как бы очень большая избушка на курьих ножках 21 века.))

Я отвечаю за столбики, а они команда сама разбирается с фаршем наверху.
Поэтому нашу архитектуру нельзя назвать тру-ООП, у нас объектно-процедурно-декларативный стиль работы на с++. Именно такой стиль позволяет нам безболезненно реагировать на часто изменяемые на 180* требования заказчиков. Чистое ООП слишком регидно для такого стиля бизнеса. ООП хорошо для создания столбиков ну и несущих стен, а весь остальной фарш делать на ООП в нашем бизнесе с его часто меняемыми требованиями неэкономично

в нашем бизнесе часто заказчик заказывает фичу не потому что она ему нужна, а потому что реализация этой фичи ясно покажет ему чего он на самом деле хочет или не хочет, как бы разновидность разведки боем типа you'll never know until you try

у гугла раньше чуть ли не все проекты годами были beta. то же самое можно сказать и про нас. у нас практически нет продуктов по которым поставлена точка. они все открыты для доработки, потому что являются инструментом бизнеса для заказчиков, развивается их бизнес и поэтому требуется развитие инструментов, которые мы накатали. тиражных решений у нас нет и не предвидится...
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080170
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonНичего не поняли. Суть вопросов, вырванных из контекста все и так помнят. Топики никуда не делись.

Пришли мы к тому, что вырывать их из контекста нельзя. Они выглядят странно вне контекста. А подготовить минимально необходимый контекст для понимания, как это используется и откуда возникают эти вопросы - вам лень или это не совсем возможно.

Потому топики и зашли в тупик.

Во-первых, топики в тупик не защли, а все вопросы были решены, кроме одного - автоматического даункастинга, но при этом по этому вопросу у меня настало полное понимание проблемы и очевидность нехватки квалификации для решения этой задачи.

Иными словами все закончилось хорошо.

Во-вторых, я не знаю что для вас есть контекст, но в моем понимании контекст это все, что происходит в функции main()

Edd.DragonНу это как если спросить как пройти в магазин. Услышать череду вопросов типа "Какой магазин?", "В каком городе?", "А ты вообще где находишься?", "А ноги у тебя есть вообще?" и т.д. И ответить на все это:
- Да какая разница? МНе в магазин надо! Это что, такая сложная задача?

Имхо метафора ошибочна. Мой вопрос был что-то типа: как пройти в туалет. И услышать в ответ: а ты хочешь умыться?? или посеть?? или покакать?? а может подрочить?? а может ты просто хочешь побыть наедине?? А тебе платный или бесплатный?? А почему ты тут просто поссать не можешь??

Метафора про магазин подошла если бы я спросил про выбор фреймворка... или даже языка программирования... а я задал конкретнейший вопрос, сформулированный в конкретнейший рабочий пример.

Например, нерешенный вопрос абсолютно исчерпывающе решается вот этим малюсеньким конкретным примером, который можно просто вставить в пустой файл, успешно скомпилировать и получить рантайм ошибку

даже никаких инклудов для этого примера не требуется!!

как можно автоматически даункастить разветвленные объекты, которые разрабатывал не я, а получил извне, я пока не знаю, но и отнимать время и внимание форумчан этим вопросом я тоже пока не буду, потому что мне самому может не хватить квалификации понять предложенные решения, но абсолютно все решения, которые мне предложили в тех трех ветках я понял на 100%.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class A { public: int u1; int u2; };
class B { public: A* a; B() : a(new A){}; };
class C : public B { public: B* b; C() : b(new B){}; };

int main()
{
    C* c = (C*) new B;
    int err = c->b->a->u1; // runtime err
    return 0;
}



ДохтаРМожно по другому ответить,
-Ближайший магазин 50 метров прямо , за углом на право еще 20 метров.
Овечающий ответил правильно оптимально и максимально быстро .
Только нужна была булочная, а за углом галантерея-косметика.

Наверное каждый из нас брал уроки рисования и вы все знаете, что есть базовые темы: как рисовать шар, куб, циллинр, консус и бублик (тор). Но бывают сложные микротемки: как рисовать мех, как рисовать блик от стакана воды, как нарисовать преломнение на границы воздух-вода и т.д. Когда изучают эти темы, то ученика не спрашивают, а чей мех, а вода какая кипяченая или холодная, соленая или минеральная и т.д. не спрашивают, потому что в данной конкретной микротемке интересует просто блик от стакана воды, а всякую конкретику можно добавлять уже потом
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080177
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixпотому что в данной конкретной микротемке интересует просто блик от стакана воды, а всякую конкретику можно добавлять уже потом
Со словами "Да че ж ты раньше молчал то?!"?

По такому принципу и получается 90% воды ни о чем и потери времени. Если это считается эффективным способом решения проблемы, то я даже не знаю...
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080216
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonСо словами "Да че ж ты раньше молчал то?!"?

ну, тут смотря именно о чем я раньше молчал-то... дело в том, что в ходе этих трех тем у меня произошел очень знаете такой нихилый профессиональный рост по теме управления памятью в с++

то, как я вижу эту тему сейчас и то как я видел её в начале самой первой темы, когда создавал это были два разных человека...

Edd.DragonПо такому принципу и получается 90% воды ни о чем и потери времени. Если это считается эффективным способом решения проблемы, то я даже не знаю...

Ну эти 90% воды это тоже самое, что черновики с эскизами или 1400 каммитов в системе контроля версий, прежде, чем получили отжимку, которая работает и делает то, что надо заказчику...

ну, так получилось...
что я могу ещё сказать...
я вел себя максимально сосредоточенно и внимательно как мог...
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080245
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixНаша архитектура как раз от этого и застрахована.

Архитектура которая допускает такое ни от чего вообще не застрахована:
Код: plaintext
1.
B* b = (B*) new A;



Вот у вас в команде два программиста.
Первый пишет
Код: plaintext
1.
b = (B*) new A;



А второй видит что есть B* b. Он ничего про то, что там на самом деле A*, не знает (доки и комменты вы ж не ведете в проекте).
А раз он видит B* то он в один прекрасный момент решит что можно написать так:
Код: plaintext
1.
2.
3.
4.
5.
b->func_of_b();
//или
b->field_of_b = xxx;
// или даже 
xxx = b->field_of_b;


И все - приплыли.
С того момента, как в коде это появляется, программа начинает в лучшем случае падать в произвольных места, а в худшем выдавать ошибочные результаты.
И найти причину будет очень трудно, потому что проблема не в том втором коде, после добавления которого возникла ошибка, а в первом, написанном со слепой верой, что архитектура мол застрахована.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080258
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

все намного проще)))
так никто не делает
это задача, которую мне прописала команада в багтрекер
я должен им предоставить инструменты чтобы так можно было делать
но я им их ещё долго не предоставлю, потому что я не знаю как сделать безопасный автоматический даункастинг
детали см. 13635030

на всякий случай ещё раз явно заявлю: теперь я и моя команда знаем, что вот так делать нельзя

Код: plaintext
1.
B* b = (B*) new A;



я сейчас наверное месяц-другой буду находится в активном поиске и может быть что-нибудь найду... а может и не найду никогда...
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080316
Lumixя сейчас наверное месяц-другой буду находится в активном поиске и может быть что-нибудь найду... а может и не найду никогда...
Конечно не найдешь потому, что не бывает :)
Из A автоматически сделать B - это как автоматически из 100 рублей сделать 100 000 рублей.
Если не хочешь использовать так: std::shared_ptr<B> b = new B; std::shared_ptr<A> a = new B;, то пиши конструктор B(A &a) { и тут копирование членов из a }
Для такой постановки больше вариантов нет.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080360
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/14/2012 08:05 PM, Lumix wrote:
> так вот в чем тут завидовать мне я вообще не вижу...
> тут ребята тусуются с квалификацией ИТМО и стажем 15 тыс. часов в профессии
> это наоборот я должен им завидовать!!

Это что ж у моего института такая слава ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080362
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/14/2012 08:05 PM, Lumix wrote:
> опять же не знаю, что значит дартаньян в вашем понимании, но в екб дартаньян это
> человек, который всех считает быдлом, а себя самым умным и всех поучает как надо
> делать, типа вы все дураки, а я один такой умный

Дартаньян -- это просто человек, который громко кричит: "Каналья!"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080363
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/14/2012 10:39 PM, Lumix wrote:
> Наверное каждый из нас брал уроки рисования и вы все знаете, что есть базовые
> темы: как рисовать шар, куб, циллинр, консус и бублик (тор). Но бывают сложные
> микротемки: как рисовать мех, как рисовать блик от стакана воды, как нарисовать
> преломнение на границы воздух-вода и т.д. Когда изучают эти темы, то ученика не
> спрашивают, а чей мех, а вода какая кипяченая или холодная, соленая или
> минеральная и т.д. не спрашивают, потому что в данной конкретной микротемке
> интересует просто блик от стакана воды, а всякую конкретику можно добавлять уже
> потом

Продолжая аналогию, ты у нас примерно следующее спрашивал:

как рисовать мех крокодила ?

как рисовать блик от стакана ртути ?

как нарисовать преломнение на границе кислород-хлор ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080364
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> то, как я вижу эту тему сейчас и то как я видел её в начале самой первой темы,
> когда создавал это были два разных человека...

Так хорошо, какие же уроки ты вынес для себя ?
Про Downcast я вроде бы понял, про указатели -- открыл smart_ptr,
ещё что-то ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080365
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Архитектура которая допускает такое ни от чего вообще не застрахована:
>
> B* b = (B*)new A;

А извините, какая архитектура от такого может застраховать ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080367
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> на всякий случай ещё раз явно заявлю: *теперь я и моя команда знаем, что вот так
> делать нельзя*
>
> B* b = (B*)new A;

Блин, а как же вы дожили-то до сего дня, программируючи ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080371
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivБлин, а как же вы дожили-то до сего дня, программируючи ?

До этого хотелки умещались в рамки приличия ))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080374
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> Архитектура которая допускает такое ни от чего вообще не застрахована:
>
> B* b = (B*)new A;

А извините, какая архитектура от такого может застраховать ?


Под "допускает" я имел в виду не "разрешает", а "предусматривает", т.е. является частью АПИ.

Предотвратить конечно сложно, но в нормальной архтектуре такие касты появляются только из-за ошибок кодирования, и по идее ловятся статическими анализаторами.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080395
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для такой постановкиКонечно не найдешь потому, что не бывает :)
Из A автоматически сделать B - это как автоматически из 100 рублей сделать 100 000 рублей.

МММ?? МЛМ?? Форекс?? )))))
шутка...

кстати, я ещё заодно подразобрался, что в пхп меджик метод __clone() тоже не является true, т.е. не делает глубоких копий

Для такой постановкито пиши конструктор B(A &a) { и тут копирование членов из a }
Для такой постановки больше вариантов нет.

да, на данный момент и данный уровень квалификации я тоже вижу только такой вариант

но он не подходит с экономико-организационно-временнОй точки зрения, проще говоря никто из пользователей не станет этого делать. это все равно что когда есть дата-мембер string title вручную прописывать string title(); void setTitle(string);

ну сейчас я это понимаю...

а когда только создавал тему то я вообще не знал, что все в итоге упрется в глубокое копирование, ну и не знал я, что глубокое копирование это такая сложная, муторная и противная задача

Успех - это способность идти от одной неудачи к другой без потери энтузиазма. (с) Уинстон Черчилль
так что главное энтузиазм не терять)))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080399
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 12/14/2012 08:05 PM, Lumix wrote:
> так вот в чем тут завидовать мне я вообще не вижу...
> тут ребята тусуются с квалификацией ИТМО и стажем 15 тыс. часов в профессии
> это наоборот я должен им завидовать!!

Это что ж у моего института такая слава ?


если в екб программист получает 100-120 тыс. / мес. это значит, что он воооооообще каппетц какой гуру (ну менеджерские зарплаты не в счет, у руководителей проектов з/п могут быть очень высокие, но такие управленцы как правило перестают писать код вообще)

а самый задрипанный выпускник ИТМО только сам диалог с работодателем может начинать от 150 тыс. руб. / мес., а прокаченные ИТМОвцы начинают диалог с 300 тыс. руб. / мес. и на них ещё и хедхантятся постоянно и з/п в 500 тыс. руб. / мес. для прокаченного заскилованного ИТМОвца это в порядке вещей...

ну и таким как я личное общение с выпускниками ИТМО очень опасно, потому что все это скорее всего закончится огромным комплексом неполноценности и ощущением, что я полное дерьмо и даже не ноль, а -11.))))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080401
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПродолжая аналогию, ты у нас примерно следующее спрашивал:

как рисовать мех крокодила ?

как рисовать блик от стакана ртути ?

как нарисовать преломнение на границе кислород-хлор ?



для хохмы

MasterZiv как рисовать мех крокодила ?



MasterZivкак рисовать блик от стакана ртути ?


MasterZivкак нарисовать преломнение на границе кислород-хлор ?
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080414
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> то, как я вижу эту тему сейчас и то как я видел её в начале самой первой темы,
> когда создавал это были два разных человека...

Так хорошо, какие же уроки ты вынес для себя ?
Про Downcast я вроде бы понял, про указатели -- открыл smart_ptr,
ещё что-то ?


смартпоинтеры я знал до этого и всегда думал, что они являются страховкой для автодропа локальных динамически созданных объектов на куче на случай непредвиденного выхода из локальной области видимости, например по исключению или если кто-то по дурости решит заретурниться прямо по ходу

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

тут я впервые познакомился с сутью шаредпоинтеров, которые позволяют забыть про межфукциональную границу, которой я всегда боялся, потому что можно было ненароком нарваться на копию вместо самого объекта

раньше я для таких случаев считал панацеей только указатели, а тут впервые оказалось, что можно получить тот же профит, но работать со объектом, а когда на "сцене" появляется объект, то значит мы можем работать с перегрузкой операторов

правда перегружать оператор =() для стандартного шарепоинта это пока тоже очень страшная процедура. страшно не в том, чтобы его перегрузить спорта ради, а я ведь пишу библиотечный макрос общего пользования, который работает скрытно для пользователей и поэтому важно находить бронь-солюшен, который будет работать всегда и для всех объектов и в дождь, и в снег, а перегрузка шарепоинта таит в себе риски... по крайней мере, когда её выполняет человек с моей квалификацией)))

кроме того я понял, что указатели вообще нифига не могут, хотя я раньше думал, что указатели это такие же объекты как и все остальные и что им тоже можно пришивать некий функционал, например перегруженный оператор=() и соотв. кастомизировать его поведение как мне хочется...

почему я так всегда думал? потому что я знал, что указатели инкрементируются на ширину объекта, а не на единицу памяти (адресного пространства), вот я и подумал, что под капотом плюсов они есть самостоятельный объект, который можно перегрузить. а оказалось, что указатели не перегружаются...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include <iostream>
#include <string.h>
using namespace std;

struct A { int a; int b; }; 
int main()
{
    A a[2];
    A* p = &a[0];
    int fish[] = {1, 2, 3, 4};
    memcpy(p, &fish[0], sizeof(fish));
    p++; // прыгает на ширину объекта sizeof(A), а не на sizeof(p)
    cout << p->a; // 3
    return 0;
}



но разумеется про кастинг это самые яркие открытия и самая яркая печаль!!!!

я всю жизнь думал, что сишный кастинг создает дефолтный объект в который мы кастим. я знаю будете смеяться, но я всегда думал, что эти две строчки эквивалентны, только во втором случае ещё и все нулями заполняется по дефолту

Код: plaintext
1.
2.
A* a1 = new A;
A* a2 = (A*) 0;



ну и соотв. я всегда думал, что когда мы кастим объект меньшего размера, то он просто с самого начала создает объект, который кастим, а оверхед заполняет дефолтными значениями

и разумеется я был уверен, что этот кастинг и все объекты, которые хранятся через указатель тоже автоматически создаются)))
а сейчас я понял, что сишный кастинг это нифига не крутой сервис, а так... игрушка...

короче, очень нехило так я за эти несколько дней от иллюзий поизбавлялся...)))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080417
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> на всякий случай ещё раз явно заявлю: *теперь я и моя команда знаем, что вот так
> делать нельзя*
>
> B* b = (B*)new A;

Блин, а как же вы дожили-то до сего дня, программируючи ?



вы не представляете на что способен энтузиазм фанатично преданных делу людей!!))

ну на самом деле объяснение наверное простое:

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

например один из критериев простоты наших проектов - это то, что знание математики у нас используется на уровне калькулятора, даже не инженерного)))

б) мы используем фреймворки, готовые библиотеки и опенсорсные решения и т.п.

Edd.DragonMasterZivБлин, а как же вы дожили-то до сего дня, программируючи ?

До этого хотелки умещались в рамки приличия ))

ну да, что-то типа того
условно говоря, наша команда это живой пример того, как далеко можно уехать на одной только "с++ для чайников")))
но конечно рано или поздно наступает потолок и тогда на форуме появляются всякие "темы" типа кастинг вверх и все такое)))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080419
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> Архитектура которая допускает такое ни от чего вообще не застрахована:
>
> B* b = (B*)new A;

А извините, какая архитектура от такого может застраховать ?



Принципиальный запрет кастингов и запрет использования new на пользовательском уровне.
если кто-то что-то сам закастил или сам создал объект на куче, значит штраф
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080568
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРМожно по другому ответить,
-Ближайший магазин 50 метров прямо , за углом на право еще 20 метров.

Овечающий ответил правильно оптимально и максимально быстро .

Только нужна была булочная, а за углом галантерея-косметика.
Меня забавляет когда отвечают сходу что ошибка в 17-й строке.
Притом что исходник в студию еще не занесли. Однако это
заставляет ТС-а слега задуматься о бренности сущестования.

Вот такие пирожки.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080630
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixно разумеется про кастинг это самые яркие открытия и самая яркая печаль!!!!
Ну а почему открытие то?

Вот у тебя родитель занимает 100 байт. А наследник - 200 байт. Ты раз сто переспросил, а какую память я захвачу этими лишними 100 байтами, которые не выделялись. Ну вот что за вопрос? Поставь себя на место менеджера памяти. Тебя попросили выделить 100 байт - ты выделил. При этом ты что, зная будущее, зарезервировал 100 байт, потому что, кто-то закастит что-то? А почему 100? А если закастят на 1000 лишних байт? А если на 100 метров лишнего пространства понадобится? Так какую память захватит твой каст? Свободную, занятую или вообще такую, при обращении к которой вылетит ошибка доступа?

Открыл для себя, что в стандартный почтовый конверт не влазит кухонная разделочная доска!
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080648
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonПоставь себя на место менеджера памяти. Тебя попросили выделить 100 байт - ты выделил. При этом ты что, зная будущее, зарезервировал 100 байт, потому что, кто-то закастит что-то?

откуда взялись мысли про априорное резервирование памяти??

речь идет про автоматическое выделение памяти в момент каста, а этот момент менеджер памяти всегда знает какой объем памяти надо, потому что мы в кастинге указываем какой тип хотим получить

Edd.DragonОткрыл для себя, что в стандартный почтовый конверт не влазит кухонная разделочная доска!

я немного не догоняю в чем вы меня упрекаете...
я всегда думал, что сишный каст сам выделяет ровно столько памяти, сколько нужно под тип, который мы кастим..

Код: plaintext
1.
2.
3.
4.
class A { int a; };
class B : public A { int b;};

B* p = (B*) new A; // я думал во время кастинга выделится 8 байт, а в реале ничего не выделяется



я всегда думал, что эта строчка равносильна что-то типа

Код: plaintext
1.
2.
class B : public A { public: int b; B(A& a) : A(a) {} };
B* b = new B(*(new A)); // == (B*) new A; в моем прошлом понимании



я вот размышляю, если макросом пришивать вот такой конструктор, а новый объект создавать в аксессоре B* b(A*); ну или то же самое но на шарепоинтах, тогда может получиться автоматический безопасный даункастинг, который я ищу...
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080666
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixя немного не догоняю в чем вы меня упрекаете...
Вот в этом:

Lumixя всегда думал, речь идет про автоматическое выделение памяти в момент каста

С чего ты так думал?
В учебниках такого не пишут.
Здравой логике это тоже не соответствует - разницу между преобразованием типа (смысла) и преобразованием объекта (содержания) чувствуешь? ))

Вот и упрекаем в том, что в строго определенные понятия, подробно описанные и расжеванные в учебниках и в сети, ты вкладываешь свой собственный смысл. Видимо мало вас грабли программирования потрепали, раз все еще не отбита охота фантазировать ))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080671
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача тип А преобразовать в тип Б возникает в следующем случае:

У тебя есть "Фигура" и есть наследники "Круг", "Квадрат", "Овал".

Дальше у тебя хранилище... чего? Фигур!

Ты создал объект типа "Круг". Ссылку на него помещаешь в Хранилище Фигур. В результате имеешь ссылку типа "Фигура". Но ты то знаешь, что это на самом деле "Круг". Как только придется с ним работать, ты кастишь фигуру к кругу (чем она на самом деле и является).

Circle* f = dynamic_cast<Circle*>(storage[i]);
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080692
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonLumixя всегда думал, речь идет про автоматическое выделение памяти в момент каста

С чего ты так думал?
В учебниках такого не пишут.


Я сейчас поразмыслил откуда это берется и пришел к мнению, но все это разновидность "детских импринтов". Просто многие вещи они впечатались когда-то давно и собственно говоря как любой психологический комплекс проявляются только при наступлении каких-то особых условий. Я всю жизнь думал что оно так и кодил, думая, что оно так и оно не падало, а теперь когда пришло время отвечать за библиотечный код, то все эти "детские импринты" стали проявляться и падать. В чем-то я сейчас ощущаю себя как та сороконожка, которую спросили а как вы так ходите на 40 ногах, она задумалась и не смогла сделать ни одного шага...

Edd.DragonЗдравой логике это тоже не соответствует - разницу между преобразованием типа (смысла) и преобразованием объекта (содержания) чувствуешь? ))

здравой логике..))) хех... нет у меня в голове никакой здравой логики...)))

У меня очень неточное мышление... Мой мозг свободно допускает самые причудливые комбинации смыслов без малейших ощущений дискомфорта. я никогда не вникал во всякие там Shape vs Circle... для меня это всегда были просто куски памяти с сигнатурой А и сигнатурой В...

Edd.DragonВот и упрекаем в том, что в строго определенные понятия, подробно описанные и расжеванные в учебниках и в сети, ты вкладываешь свой собственный смысл.

Это все от отсутствия формального образования в области программирования и гуманитарного склада ума.

Edd.DragonВидимо мало вас грабли программирования потрепали, раз все еще не отбита охота фантазировать ))

я думаю, что даже 1000 граблей не отобьют поток фантазии... мне кажется это нечто генетическое, некий неоъемлимый атрибут темперамента... хотя конечно я стараюсь повышать собственную адекватность по мере сил, но думаю любовь к правилам у меня появится не скоро... хотя с возрастом все меняются, может через 10-20 лет мозг станет более перпендикулярным)))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080700
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> а самый задрипанный выпускник ИТМО только сам диалог с работодателем может
> начинать от 150 тыс. руб. / мес., а прокаченные ИТМОвцы начинают диалог с 300
> тыс. руб. / мес. и на них ещё и хедхантятся постоянно и з/п в 500 тыс. руб. /
> мес. для прокаченного заскилованного ИТМОвца это в порядке вещей...

я просто пи...ц какой прокаченный выпускник ЛИТМО.
Подскажи, пожалуйста, где мне искать такие з/п. Поначалу согласен на 300.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080701
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Принципиальный запрет кастингов и запрет использования new на пользовательском
> уровне.
> если кто-то что-то сам закастил или сам создал объект на куче, значит штраф

Как --то всё это не получается...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080711
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonЗадача тип А преобразовать в тип Б возникает в следующем случае:

У тебя есть "Фигура" и есть наследники "Круг", "Квадрат", "Овал".

Дальше у тебя хранилище... чего? Фигур!

Ты создал объект типа "Круг". Ссылку на него помещаешь в Хранилище Фигур. В результате имеешь ссылку типа "Фигура". Но ты то знаешь, что это на самом деле "Круг". Как только придется с ним работать, ты кастишь фигуру к кругу (чем она на самом деле и является).

Circle* f = dynamic_cast<Circle*>(storage[i]);

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

мы знаем, что наш код никогда не придется отправлять на конкурс лучших кодов вселенной 2012 и поэтому просто пишем по наитию

у нас единица контроля это функция (метод), а классы это просто как фолдеры... но при этом и не как фолдеры, то есть статики типа face() = a::draw() такое никто не использует!! классы это просто такой удобный инструмент создавать супер навороченные функции, чем-то похожие на швейцарские ножи у которых по 15-20 всяких примочек можно доставать...



Все наши программы состоят вот из таких блоков: торчащие штуки-дрюки это методы, а красная панелька это и есть аксессор объекта, который есть 100% у каждого класса в программе на пользовательском уровне

у нас аксессоры используются вместо агрегаторов и поэтому на пользовательском уровне иерархия классов в смысле эталонного ООП не используется

там получается некая одноуровневая функциональная сеть, которая использует ООП синтаксис лишь потому, что именно на таком синтаксисе работает с++

одна из моих задач в команде это периодически изучать написанный код и по возможности доставать те или иные абстракции, которые явно прорисовываются и вот эти абстракции спускаются с пользовательского уровня в папочку common или даже может быть в папочку sdk если что-то совсем уж очень абстрактное и широкоприменимое, превращаются в ещё один класс и от него уже можно наследоваться, чтобы пользователь мог добавить тот или иной функционал в свой очередной швецарский нож

иногда бывает ребята собирают себе ножики сразу из 4-5 классов, почему бы и нет.. и при этом они не задумываются Circle это или Salary, просто удобно скидать инструменты под конкретную задачу... например, система позволяет смешать классы Стул + Апельсин + Торнадо + Маша + Красный. почему нет, если человеку так удобно?... главное, чтобы утечек памяти не было!!.. и чтобы не было рантайм падений типа мемори рид ерор...

но кто-то предпочитает наоборот пятью отдельными аксессорами решать себе задачу... в любом случае система позволяет и так и так и каждый пользователь выбирает сам под себя
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080713
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixи на том, какую фичу надо замутить прямо сейчас
Ну иногда для этого приходится изменять то, что было написано вчера.
И иногда приходится сталкиваться с разочарованием, что само оно не сделается, а поменять придется больше пары строк
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080720
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivя просто пи...ц какой прокаченный выпускник ЛИТМО.
Подскажи, пожалуйста, где мне искать такие з/п. Поначалу согласен на 300.

На такие зарплаты выходят только через принцип голливуда Don't call us, we'll call you
Только через него. Никогда не ищите такую зарплату сами, иначе очень сильно собъете себе ценник.

Лучше сделайте себе блог на русском и английском языках, хорошенько прокачайте его грамотным контентом, чтобы было понятно чем вы отличаетесь от не ИТМО-программиста, сделайте себе несколько качественных фотосессий, для быстрой раскрутки предложите какой-нибудь бесплатный консультационный сервис, чтобы у вас сформировалась небольшая фангруппа на 300-400 человек. вы и так по сути много лет уже предоставляете сервис здесь, только там вы уже будете лить воду на свою мельницу и себе на карман, сделайте несколько интервью в специализированных журналах типа Хакер и через три месяца вас начнут хантить первые змеи

когда начнут хантить, чисто из принципа на первые пять предложений поломайтесь как девушка, типа серенькие какие-то у вас предложения, а у меня сейчас суперпроект в самом разгаре, я не могу бросить команду, я ответственный человек, да и инетесно тут... этим самым вы на метаязыке змей скажете: ищите мне орбиту, я отыграю любой сценарий. это означает, что хедхантер может реально закрыть сложную вакансию и заработать на этом $100 тыс. и конечно же змеи тут же ринутся искать этот проект и найдут

ну а на 6-7 попытке вам наконец предложат поллимона в мес., тогда и соглашайтесь, но тоже не показывайте радости, а просто так со вздохом, ну ладно, че, давайте попробуем, может что и получится...

5 млн. руб. в год на руки чистыми конкретно для вас это абсолютно реальная цифра, но если кого-то от этих денег отделяет нехватка профессионализма, то конкретно вас от этой цифры отделяет нехватка пиара

более того!! если у вас достаточно устойчивое финансовое положение, а мне почему-то кажется, что так оно и есть, то есть ооооочень и ооооочень смысл нанять политического пиарщика, который специализируется на всякой мелочи типа депутатах в городскую думу, только не агентство, чтобы никаких там аренды офиса, налогов ничего, черным налом заплатить ему 100-120 тыс. руб. + 100 тыс. премия после приема в штат, поставить цель на 3 мес. и тогда у вас уже будет гарантированный верняк!!!
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080722
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonLumixи на том, какую фичу надо замутить прямо сейчас
Ну иногда для этого приходится изменять то, что было написано вчера.

Да ребята только тем и занимаются, что переписывают то, что было написано "вчера"!! по одной простой причине: заказчик посмотрел, его осенила очередная идея и теперь надо делать по другому, и так в цикле до обретения счастья, поэтому каждый пользователь пишет код, изначально зная, что скорее всего это придется переписывать, и если не завтра, то через 3 месяца, то есть вообще никто не пишет код на века

Edd.DragonИ иногда приходится сталкиваться с разочарованием, что само оно не сделается, а поменять придется больше пары строк

Я не понимаю только при чем тут разочарование?.. это профессия такая, переписывать код приходится много и постоянно. А у копирайтеров, дизайнеров и художников разве по другому?? только у них это называется черновики, эскизы, а у нас это называется 1000 коммитов до победы.

Ну ладно ещё заказчики, так и у нашей команды под воздействием накопленного опыта возникают всякие инсайты и откровения как можно работать проще, быстрее и комфортнее и мы переделываем то, что раньше казалось верхом изящества
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080725
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixЯ не понимаю только при чем тут разочарование?..
Ну вот ты ж не хочешь реализовать копирование объекта в новый более "продвинутого" типа (т.е. наделить ваши классы этим функционалом). Все ищешь, как бы просто "память скопировать". Разочаровался в несовершенстве хранения мусора в памяти, но все еще не торопишься засучить рукава и переписать побольше, чем предполагал изначально ))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080735
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonLumixЯ не понимаю только при чем тут разочарование?..
Ну вот ты ж не хочешь реализовать копирование объекта в новый более "продвинутого" типа (т.е. наделить ваши классы этим функционалом). Все ищешь, как бы просто "память скопировать". Разочаровался в несовершенстве хранения мусора в памяти, но все еще не торопишься засучить рукава и переписать побольше, чем предполагал изначально ))

мне кажется, то ситуация в которой оказался я это не ситуация часто меняющихся требований, которые требуют переписывания, а я тупо не знаю как решить задачу...

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

если речь о том, что все против ручного почленного копирования, то тут уже элементарный вопрос экономичности труда, я сам не разрешу никому так работать, ведь это резко снизит производительность и прибыльность. я должен или найти эффективное автоматическое решение или отказаться от использования даункастинга вообще, короче придумать что-то как всегда простое, дешевое, но классное, мощное и удобное

у нас нет задачи впахивать как лошади, у нас есть задача работать как можно продуктивнее, но при этом предоставлять высокий уровень клиентского сервиса, а именно: позволять клиенту менять требования под свои ощущения так часто как меняются его ощущения

ну разумеется с клиническими дебилами мы не работаем)))
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080752
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixкороче придумать что-то как всегда простое, дешевое, но классное, мощное и
удобное
Для этого с самого начала придумали виртуальные методы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080769
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix5 млн. руб. в год на руки чистыми конкретно для вас это абсолютно реальная цифра
Это реально в Штатах. Там есть ЗП выше $150К в год.
Вы можете назвать хоть одного конкретного разработчика, у которого такая ЗП в России (не менеджера, а именно тех. специалиста)?
А то нафантазировать и я могу.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080778
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixу нас нет задачи впахивать как лошади, у нас есть задача работать как можно продуктивнее, но при этом предоставлять высокий уровень клиентского сервиса, а именно: позволять клиенту менять требования под свои ощущения так часто как меняются его ощущения

ну разумеется с клиническими дебилами мы не работаем)))
А можно ознакомиться с реализовнными проектами?
А то читаю... читаю... и всё какое-то ощущение
иллюзорности и нереальности.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080783
LumixMasterZivя просто пи...ц какой прокаченный выпускник ЛИТМО.
Подскажи, пожалуйста, где мне искать такие з/п. Поначалу согласен на 300.

На такие зарплаты выходят только через принцип голливуда Don't call us, we'll call you
Только через него. Никогда не ищите такую зарплату сами, иначе очень сильно собъете себе ценник.

Лучше сделайте себе блог на русском и английском языках, хорошенько прокачайте его грамотным контентом, чтобы было понятно чем вы отличаетесь от не ИТМО-программиста, сделайте себе несколько качественных фотосессий, для быстрой раскрутки предложите какой-нибудь бесплатный консультационный сервис, чтобы у вас сформировалась небольшая фангруппа на 300-400 человек. вы и так по сути много лет уже предоставляете сервис здесь, только там вы уже будете лить воду на свою мельницу и себе на карман, сделайте несколько интервью в специализированных журналах типа Хакер и через три месяца вас начнут хантить первые змеи

когда начнут хантить, чисто из принципа на первые пять предложений поломайтесь как девушка, типа серенькие какие-то у вас предложения, а у меня сейчас суперпроект в самом разгаре, я не могу бросить команду, я ответственный человек, да и инетесно тут... этим самым вы на метаязыке змей скажете: ищите мне орбиту, я отыграю любой сценарий. это означает, что хедхантер может реально закрыть сложную вакансию и заработать на этом $100 тыс. и конечно же змеи тут же ринутся искать этот проект и найдут

ну а на 6-7 попытке вам наконец предложат поллимона в мес., тогда и соглашайтесь, но тоже не показывайте радости, а просто так со вздохом, ну ладно, че, давайте попробуем, может что и получится...

5 млн. руб. в год на руки чистыми конкретно для вас это абсолютно реальная цифра, но если кого-то от этих денег отделяет нехватка профессионализма, то конкретно вас от этой цифры отделяет нехватка пиара

более того!! если у вас достаточно устойчивое финансовое положение, а мне почему-то кажется, что так оно и есть, то есть ооооочень и ооооочень смысл нанять политического пиарщика, который специализируется на всякой мелочи типа депутатах в городскую думу, только не агентство, чтобы никаких там аренды офиса, налогов ничего, черным налом заплатить ему 100-120 тыс. руб. + 100 тыс. премия после приема в штат, поставить цель на 3 мес. и тогда у вас уже будет гарантированный верняк!!!
А вы лично сколько получаете если не секрет?
Хотя бы примерно.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080824
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyВы можете назвать хоть одного конкретного разработчика, у которого такая ЗП в России (не менеджера, а именно тех. специалиста)?

Меня люди не поймут, если я стану называть фамилии. Если кому-то эта сумма кажется нереальной для прокаченного ИТМОвца, то можете не верить. Мне нет смысла кого-то в чем-то переубеждать. Тема денег и бизнеса очень скользкая, любит тишину...
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080825
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА можно ознакомиться с реализовнными проектами?

Нет конечно. У нас даже сайта своего нет.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080830
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixmaytonА можно ознакомиться с реализовнными проектами?

Нет конечно. У нас даже сайта своего нет.
Сайт и не нужен. Дай список названий. С кратким описанием.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080831
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
реинтерпрет-кастомА вы лично сколько получаете если не секрет?
Хотя бы примерно.

Вы что такой наивный? Секрет конечно. Не знаю из какого вы города, но в екб это просто неприлично спрашивать про доходы, а в большинстве компаний и в нашей команде тоже разглашение этой информации влечет за собой увольнение. Часто бывает так, что люди занимают одну и ту же должность, работают в одном и том же проекте, квалификация примерно одинаковая, а разница в з/п в два раза.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080832
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСайт и не нужен. Дай список названий. С кратким описанием.

А может вам ещё что-нибудь дать?
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080835
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
честно говоря я сейчас в ужасном и неприятном шоке: назови сколько у тебя денег, назови темы прибыльных проектов, дай фамилии высокооплачиваемых специалистов и места их работы. я сейчас сижу и еле сдерживаюсь, чтобы не ответить на все это матом!! я не могу поверить, что мне задали эти вопросы!!
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080840
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, реально противно на душе стало... такое горькое, горькое чувство... вот это внатуре разочарование... эх, пойду напьюсь
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080843
Lumixблин, реально противно на душе стало... такое горькое, горькое чувство... вот это внатуре разочарование... эх, пойду напьюсь
А если как вы сказали сделать "себе блог на русском и английском языках, хорошенько прокачайте его грамотным контентом," и описать там про "Кастинг вверх" и "Как спрятать кастинг под капот" с примерами вашего кода, то как считаете с высоты вашего полета, можно зарабатывать по 5 лям?
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38080923
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix, дорогой мой экзальтированный друг. Форум не требует
деанонимизации или срывания масок. Я всего-лишь поинтересовался
проектами. И вовсе не просил тебя рассказывать про "прибыльность".

Я надеюсь что ты подумаешь над своим поведением и не будешь
в следующий раз обвинять общество в нападках и передёргивать
слова.

И пожалуйста не устраивай разборок. Для этого есть модерация.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38081671
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор, я твои три темы + эту тему добавил себе в ссылочки, чтобы время от времени другим показывать какие неучи работают и выкатывают код "в продакшон"
извини, не выдержал
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38081678
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Для этого с самого начала придумали виртуальные методы.
а вы еще не поняли, что на самом деле автор тупо не знает, как реализован полиморфизм в с++ и для чего нужны виртуальные методы..
это видно было с его первой темы..
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38081719
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixиногда бывает ребята собирают себе ножики сразу из 4-5 классов, почему бы и нет.. и при этом они не задумываются Circle это или Salary, просто удобно скидать инструменты под конкретную задачу... например, система позволяет смешать классы Стул + Апельсин + Торнадо + Маша + Красный. почему нет, если человеку так удобно?... главное, чтобы утечек памяти не было!!.. и чтобы не было рантайм падений типа мемори рид ерор...


Не вижу проблем,
мебель, фрукты, погодные явления и цвета усыновить базовым отчимом
и создать абстракный контейнер сферических отчимов в вакуме.
...
Рейтинг: 0 / 0
Как все было на самом деле: итог трех тем
    #38082977
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lumixкоманда особо не следит за смыслом написанного
...
Рейтинг: 0 / 0
67 сообщений из 67, показаны все 3 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как все было на самом деле: итог трех тем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]