Задать вопрос
  • Есть ли сертификационные программы по языку C/C++?

    Ненужны никому сертификаты по C++, Вы что! Ваш уровень знаний проверит любой нормальный плюсовик без всяких бумажек обычными вопросами.

    Ну и Ваши цели очень туманны. Какие задачи Вы вообще собираетесь решать на нем? Как уже написали выше, тут нет целого стека технологий из коробки, как это есть, скажем, в C# (криптография, работа с БД, GUI и прочее). Изучаем синтаксис, стандартную библиотеку, а дальше отправляемся в свободное плавание. Это может быть Qt, boost, могут быть алгоритмы и структуры данных, может быть что-то еще.
    Ответ написан
    Комментировать
  • Изучаю С++ самостоятельно, есть ли работа для Сишников?

    Бэкенд практически на любом серьезном проекте написан на плюсах (Яндекс, Гугл, ВКонтакте и т.д.). Связано это с тем, что:
    1) C++ быстрый;
    2) При прочих равных, программисты на плюсах куда чаще выдают качественный код, нежели их коллеги на мейстримовых языках (Java, C# или, упаси хоспади, пхп).
    3) обилие библиотек на все возможные случаи.

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

    С++ переживет тут нас всех, так что если в будущем хочется получать хорошую ЗП и работать с проектами посерьезнее уровня "сайт/магазин для какой-то компании", плюсы можно брать. Но сами плюсы не сильно интересны без хорошего понимания структур данных, алгоритмов и прочего необходимого для программиста высокого уровня.
    Ответ написан
  • Как справиться с неправильным нулем в C++?

    Для все простых типов в C++ есть верхние и нижние пределы, а также некоторая эпсилон окрестности, которые лежат в numeric_limits. В Вашем случае, если значение будет меньше эпсилон, можно считать числа равными. Например, сравнение вещественных переменных а и b будет выглядеть так:
    bool isSame( double a, double b)
    {
    return  std::fabs(a - b ) <= std::numeric_limits<double>::epsilon()
    }

    Если isSame истина, значит, числа равны, иначе нет.
    Ответ написан
    Комментировать
  • Каков план личностного развития C++ программиста с нуля?

    Если человек мне на собеседовании скажет, что с C++ он перешел на C#/Java, и теперь все его головные боли иссякли, я никогда не найму его на должность выше обычного девелопера. Это в лучшем случае середняк, который никогда не будет писать изящных архитектурных решений, без особой тяги к знаниями и без капельки фанатизма.

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

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

    Крайне не советую начинать изучение языка со Страуструпа — уснете. По моему опыту, новичкам крайне полезно читать книгу Стивена Прата "Язык программирования C++. Лекции и упражнения". Во-первых, это именно книга по C++, а не древний учебник по C с классами. Во-вторых, там уделено внимание стандарту C++11, фишки которого отлично приходят на замену древнему C++ (о которых еще пишут в учебниках, да).

    STL — обязательна для изучения. Без нее C++ — обычный C с классами.

    Изучению также подлежат такие библиотеки, как boost (сначала, что в ней вообще есть, а потом — как написать определенные случаи), poco, ACE. Крайне рекомендую обратить внимание на Qt — это клад в мире C++.
    Если интересна 3d-графика, можно посмотреть свободный графический движок Ogre3d.

    Потом, хорошим C++-программистам хорошо бы знать структуры данных. Пожалуй, на этот вопрос лучше всего ответит Роберт Седжвик в своих книгах, либо соответствующих курсах на Coursera. Это важно, т.к. C++ обычно используется как язык для решения ресурсоемких задач, а не построения "табличной" бизнес-логики.

    И на финал — один из самых сложных современных языков для изучения.
    Ответ написан
    4 комментария
  • Установка сторонних библиотек в Makefile

    Как и комментатор выше, раз Вы не использовали системы сборки раньше и принципиальной позиции нет, лучше выбрать что-то типа CMake (крайне популярная среди C++ разработчиков) или waf (набирающая популярность система сборки, отличный вариант для знатоков Python).

    Для CMake все очень просто гуглится в интернетах. Например, Ваш случай.
    Ответ написан
    Комментировать
  • Не могу создать пост в профильный хаб (математика)?

    Точно из-за этого? Если да, то можно писать в саппорт с данным вопросом.
    Ответ написан
  • Посоветуйте материнку с большим количеством PCI-E 16x

    Ну а Яндекс.Маркет зачем придумали?
    Вот MSI Big Bang-XPower II, тоже с 7-ю PCI-E (правда, только 4 работают на полную, но Вам же так и надо), а купить можно за 10-11.

    И лично я считаю, что если деньги упираются в бюджет, можно забить на все 16x — разница между 16x и 8x достаточна мала, чтобы переплачивать за мать в 4 раза.
    Ответ написан
    1 комментарий
  • Обработка ошибок?

    Рассмотрим другой пример: процедура поиска чего-нибудь. Мы ищем ищем, и не можем найти. Каким способом сообщить причину неудачного поиска? Вернуть в этой ситуации можно пустой список или null.

    Если мы ничего не нашли, то выводим просто пустой список. И это логично, Вы ведь искали что-то по корректному списку, ничего не нашли, поэтому вернули пустой список.
    Если же при попытки поиска по данным произошло что-то нештатное (БД отвалилась, файл перестал читаться и т.д.), то нужно выкидывать исключение, ловить его и обрабатывать. Пользователю тоже желательно показать. что произошла ошибка.
    Ответ написан
    Комментировать
  • Как вы осуществляете commit в git?

    Если над проектом Вы работаете один, то делайте так, как Вам удобнее (мне кажется, в этом случае удобно вести просто прямую линию разработки).
    Но вот если у Вас над проектом работает несколько человек, то делать rebase в основную ветку в принципе нельзя — Вы принесете кучу проблем своим коллегам. Сделали мердж — всем все видно, у людей нет проблем с впихиванием своей работы.
    И я не вижу пробел в большой количестве merge — да, история ветвистая, да, ее сложнее понимать какому-то стороннему человеку, зато видно все, и проект может без проблем для разработчиков масштабироваться.

    Могу порекомендовать Вам вот эту статью, для осмысления workflow.
    Ответ написан
    4 комментария
  • Выбор нетбука, какой?

    Брать нетбук с 1Гб ОЗУ без возможности ее расширения до 2Гб — самоубийство. Все нынешние браузеры при >15 вкладом сжирают память полностью и начинают безбожно тупить.

    Как работает atom N2600/N2800 — не скажу, но вот мой бывший ASUS 1001p с N450 был не самым быстрым другом, хотя так сложилось, что это был самый ценный для меня ноут, ни раз спасший шкуру.
    Работать на нем в Visual Studio было крайне проблематично. Если VS 2008 еще более-менее шла, то VS 2010 вешала система наглухо. Если используйте VS, лучше четко проконсультироваться у владельцев, как шустро она бегает. Но если сравнить по этому графику N2600/N2800 и по этому N450, то видно, что разница в производительности 2-2.5 раза. AMD из вашего списка пошустрее N2600, но проигрывает N2800.
    Хотя, общая скорость, конечно, все равно печальна.

    На своем друге я играл в NFS Porcshe Unleashed — все бегало шустро.

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

    Вот так.
    Вообще, на запросы fur, shader, blender, hair можно найти много всего, включая демонстрационные ролики на ютубе.
    Ответ написан
    Комментировать
  • Покупка iPad mini на ebay

    Рекомендую топикстартеру прислушаться к комментарию artyomst — нет смысла заказывать технику с eBay, когда Ваша выгода будет в лучшем случае 4% от стоимости.
    Если хотите просто поэкспериментировать с eBay, купите что-нибудь дешевое у китайцев — цены почти всегда низкие, пересылки бесплатные, принимают PayPal. В случае некондиции или потери, китайцы в 99 случае из 100 без проблем возвращают деньги. Серьезно, любую штуку за 100 рублей.
    Потом, если у Вас карта не привязана к PayPal, то сделайте это сейчас — как правило, полная верификация карты занимает несколько дней (во всяком случае, так было раньше).
    Ответ написан
    1 комментарий
  • QtCreator + ns-3?

    Линковщик ругается либо на отсутствующую dll, либо на отсутствие тела функции.
    Ответ написан
    2 комментария
  • Какую систему управления версиями посоветуете?

    На Хабре уйма статей про VCS, со сравнением и священными войнами в комментах.
    Я бы сразу вычеркивал из этого списка SVN — централизованная система со всеми присущими ей проблемами (упал сервак — потеряли код; нет копии сорцов у каждого разработчика и т.д.), нелогичное ветвление (считай, его отсутствие) и прочее.

    Выбирать есть смысл из Git и Mercurial. На гите сидит больше народу, есть куча мануалов, howto, обучалок и прочего. Если интересует свой корпоративный сервак, есть отличный фронтенд Gitlab, а если разрабатываете opensource или есть деньги, можно захоститься на популярном Github.
    Для Mercurial есть замечательный Bitbucket (хотя, git они тоже поддерживают).
    Удобства работы с консолью, ровно как и работа с GUI для этих систем я бы поставил на один уровень.
    Идеологически системы по-разному хранят историю. На гите огромные репозитории (от 1Гб, хотя для Вас это вряд ли актуально) работаю плохо из-за хранения полных слепков файлов, на mercurial хранятся мелкие изменения, поэтому репозитории не такие жирные. В целом, для подавляющего большинства проектов на эту разницу можно забить.

    Я использую Git, и не имею с ним никаких проблем. Очень хорошая, продуманная и быстрая VCS.
    Ответ написан
    Комментировать
  • Кроссплатформенное приложение-сервис. На чем писать?

    Какая-то непонятная формулировка задачи.
    Если говорить о сервисах (службах) в Windows и демонах в Linux, то можно использовать либо QtService, либо mono-service на C#. Но что-то мне подсказывает, что эти решения не будут работать на iOS и Android (хотя ручаться не могу).
    Вообще, службы винды — достаточно специфичная штука, и если вдруг вы потом захотите через нее как-то обращаться к GUI, то ничего не выйдет.

    Можно взять какую-нибудь библиотеку (POCO, например) и написать на ней обычное приложение, которое будет работать в фоне.
    Ответ написан
    5 комментариев
  • Реализации алгоритмов обхода припятствий

    Найденный Вами алгоритм Navigation Mesh — пожалуй, самый лучший вариант на текущий момент. Его, например, использует движок Unreal Engine.
    Еще можно посмотреть на алгоритмы AA*, HPA*, HAA*, они учитывают размер объекта. Недавно как раз была статья.
    Ответ написан
    Комментировать
  • Почему у всех операционных систем Майкрософта со временем падает производительность?

    У меня на десктопной машине win7 простояла от бета версии до win8 без проблем.
    В простое загрузка 0-1%, все отлично.
    Всякие забитые реестры сейчас значения не имеют, ровно как и фрагментация ФС на SSD. Не понятная проблема топикстартера.
    Ответ написан
    Комментировать
  • Visual Studio with Qt always rebuilds solution?

    А как дела обстоят с генерируемыми moc файлами? Похоже, что они постоянно пересоздаются.
    Могу порекомендовать включить систему логирования и посмотреть, из-за чего (или какого файла, что скорее всего) происходит ребилд проекта.
    Ответ написан
    8 комментариев
  • Мобильный интернет для поездки в Германию

    Я был только в Берлине, поэтому могу говорить только за него.
    Мне тоже нужен был 3g на 1Гб. На станции Alexanderplatz я зашел в офисы Vodafone и O2. У Vodafone тарифы оказались очень дорогие, и трафика давали меньше (что-то типа 500мб за 70 евро, но точные цифры я не помню).
    У O2 были вполне адекватные тарифы за 1Гб, намного меньше Vodafone'вских (что-то типа 15 евро за симку + 15 евро за трафик, но, опять же, конечные цифры я не помню). По всему Берлину у меня без проблем ловил 3g на отличной скорости, никаких проблем не было. Связью и смс не пользовался.
    Ответ написан
    Комментировать
  • Зануление серверных стоек

    Конечно, нужно заземлять!
    Во-первых, это безопасность людей (уравнивание потенциала на металлических конструкциях).
    Во-вторых, защита оборудования (от разрядов и электромагнитных наводок).
    В-третьих, улучшение качества сигнала (с нормальным заземлением ноль — это действительно ноль, без всяких помех).
    Ответ написан
    Комментировать