LINUX.ORG.RU
ФорумJob

Ведущий разработчик C++ (Екатеринбург)

 , ,


0

1

Компания Naumen-ведущий разработчик программных решений для бизнеса, приглашает на работу Ведущего разработчика С++ в отдел разработки Департамента систем для ЦОВ.

Требования: Опыт ежедневной разработки на C++ от 3 лет; Отличное знание Boost (Boost.Asio); Отличное знание Qt

Обязанности: Поддержка legacy компонент Naumen Phone; Разработка новых функциональных возможностей; Разработка новых компонентов.

Средства: Linux/Windows GCC/Visual C++ QT/NauLib.

Условия работы: Официальное трудоустройство, согласно ТК РФ; Современный и комфортный офис, недалеко от центра Екатеринбурга (район ВИЗ), корпоративные вело- и автопарковки; Уровень заработной платы - 100000р., по результатам собеседования; Возможность гибкого графика работы; Индивидуальное планирование развития карьеры сотрудника; Работа в команде; Расширенный соц. пакет: * льготное ДМС; * компенсация занятий спортом; * профильное обучение за счет компании, корпоративные занятия по английскому языку; * скидки в тур. фирмах, салонах красоты и т.д. В офисе оборудована комната душевая кабина, активного отдыха (настольный теннис); корпоративное кафе, всегда в наличии чай, кофе, вкусное печенье.

Контактное лицо: Зубарева Юлия job08@naumen.ru тел. (343) 378-42-87


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

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

trex6 ★★★★★
()
Ответ на: комментарий от trex6

Совершенно верно! Прошу прощения за ошибку)

Naumen
() автор топика

Ведущий программист С++ должен суметь вам рассказать, что Boost Asio — это самый неудачный выбор реализации асинхронного I/O.

VladTheImpaler
()

пилить-колотить. все есть, кроме одного - я не в ебурге

ckotinko ☆☆☆
()
Ответ на: комментарий от VladTheImpaler

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

ибо писать

void f(Socket& S)
{
S.set_timeout(t);
try{
   ...
   S<<"* OK pop3 proxy preved kagdila"<<std::endl;
   ...
}catch(Socket::timeout& to){
};
}
куда проще чем в бусте сделать хоть что-то асинхронное с тимеоутами.

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

Как-бы да, но я не о том. Если писать как в Вашем примере, то операция получится блокирующая. А это позволить себе часто просто нельзя. Я имел в виду косяки и ужасный дизайн Asio в принципе. Например, невозможность работать с edge-triggered I/O, постоянные никому не нужные memory allocations, полностью умопомрачительно дебильный scatter-gather механизм, постоянное добавление и удаление дескрипторов из, например, epoll списка. Это если закрыть глаза на то, что там большой такой mutex в io_service, который при правильном подходе вообще не нужен и даже вреден. Но, судя по тому чем занимается Naumen, им все это может быть совершенно не важно. Тогда встает иной вопрос — зачем вообще писать что-то на C++? Взяли бы Java или C# какой-то, и написали бы быстрее, и поддерживать было бы сказочно приятнее, и работало бы примерно так-же быстро, как и корявый C++ код с кучей оберток и неправильным дизайном в зародыше. Как-то так...

VladTheImpaler
()
Ответ на: комментарий от VladTheImpaler

Если писать как в Вашем примере, то операция получится блокирующая

вообще-то нет :) в socket<<std::endl делается в цикле poll на готовность к записи + проверка битрейта + таймаута пока не закончится буфер. если что не так, throw std::runtime_error(«blah»);

ckotinko ☆☆☆
()
Ответ на: комментарий от VladTheImpaler

Тогда встает иной вопрос — зачем вообще писать что-то на C++?

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

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

вообще-то нет :)

Что значит нет? `f` — это blocking call во всех смыслах, потому что управление не отдается пока данные не уйдут в сокет или пока не произойдет ошибка. Что он там внутри делает уже не так важно.

VladTheImpaler
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.