• По каком алгоритму надо изучать код браузера?

    Нужно учесть, что это очень объёмная тема.
    Для введения есть хорошая статья Как работает браузер или что происходит за кулисам...

    Можно изучать работу браузеров на более простых примерах:
    Проект NetSurf
    NetSurf is a free, open source web browser. It is written in C and released under the GNU Public Licence version 2. NetSurf has its own layout and rendering engine entirely written from scratch. It is small and capable of handling many of the web standards in use today.

    • Hubbub HTML parser
    • LibDOM DOM
    • LibCSS CSS parser
    • JavaScript support
    • Framebuffer port
    Let's build a browser engine!

    Продвинутый этап
    Движок servo
    Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64bit OS X, 64bit Linux, Android, and Gonk (Firefox OS).
    Ответ написан
    Комментировать
  • По каком алгоритму надо изучать код браузера?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    есть же официальные мануалы

    https://developer.mozilla.org/en-US/docs/Introduction
    Ответ написан
    Комментировать
  • В каком формате лучше всего размещать документы в сети - docx, rtf или odt?

    Если для публикации, то однозначно лучше PDF.
    Если для нужд редактирования, то правильнее ODT, хотя, на практике, чаще имеет смысл DOCX.
    Ответ написан
    Комментировать
  • C++11, C++14. Использование auto - признак дурного тона?

    Nipheris
    @Nipheris Куратор тега C++
    Такие дельные советы тут...

    А правило проще некуда: если вы без указания типа и так УЖЕ ИМЕЕТЕ достаточно информации, чтобы уверенно работать со значением - тогда можно использовать auto. Если чувствуете, что не имеете, или сомневаетесь, что имеете - лучше тип указать. Пример, где использование auto отлично подходит - итераторы:
    std::list<int> items;
    auto i = items.cbegin();

    Во второй строке четко написано - items.cbegin - константный итератор по items, бегущий с начала списка. Мне этого более чем достаточно. Указание типа std::list<int>::const_iterator мне никакой новой информации не принесет. Тем более, т.к. итераторы от разных контейнеров несовместимы, то мне нужно еще и сразу знать, по какому конкретно списку у меня итератор - я опять-таки посмотрю на items.cbegin, а не на тип.

    А вот auto в объявлениях функций/методов и правда ни к чему. Его, кстати, даже не сразу там разрешили использовать (только в C++14). Причина тому вновь читабельность - чтобы понять, что возращает функция, нужно прочесть ее текст как минимум до первого return, а лучше - полностью. Единственный сценарий, где без auto не обойтись при указании возвращаемого типа - это стрелочная нотация с decltype, но я думаю вы не скоро с ней столкнетесь.
    Ответ написан
    Комментировать
  • Верстать без фреймвороков это значит быть не професионалом?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Быть профессионалом - значит знать и правильно применять необходимые инструменты для наиболее эффективного решения задачи. А также НЕ применять, если в этом нет необходимости.
    Ответ написан
    4 комментария
  • Какой уровень C++ надо иметь для Unreal Engine 4?

    @FoxInSox
    Надо знать примерно на 17.5% Unreal Engine 4 чтобы что-либо разрабатывать.
    Ответ написан
    Комментировать
  • Какие самые востребованные навыки для разработчика на C/C++?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    Все до банальности просто: открываем несколько вакансий С++ программиста и смотрим:
    • Опыт разработки ООП, понимание основ и распространённых схем программирования
    • Опыт работы с системами контроля версий и понимание основных принципов работы в большой команде
    • Умение разбираться в чужом коде
    • Опыт разработки приложений на Qt QML и/или WPF / WinForms
    • Опыт проектирования коммерческих приложений
    • Знание STL


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

    ElleSolomina
    @ElleSolomina
    Ёжик в тумане. Ёлочка. Соломинка. Няшка.
    C++ это язык на котором можно писать "чуть более чем всё", поэтому без указания области применения ответа на вопрос можете не дождаться. В общем прошу уточнений области, например: "высокие нагрузки", "приложения для мобильных платформ", "прикладное ПО для ОС XXX", "встраиваемое ПО", "игры", "приложения реального времени", и т.д. и т.п. Так что, пожалуйста, уточните хотя бы примерную область.
    Ответ написан
    Комментировать
  • Какие самые востребованные навыки для разработчика на C/C++?

    AtomKrieg
    @AtomKrieg
    Давай я поищу в Google за тебя
    Самый востребованный навык - самостоятельно гуглить ответы на возникающие вопросы
    Ответ написан
    4 комментария
  • Почему графическая оболочка Raspbian стала странно работать?

    morgane
    @morgane
    analyse comportementale
    Скачать и записать на карту новую операционку будет быстрее всего.
    Ответ написан
    1 комментарий
  • Blender + Unity или UE. Что перспективней и легче в изучении?

    @VictKor
    Игровая индустрия, 3d моделирование
    Нет какого-то идеального решения. Unity - проще в освоении, UE - считается лучше в качестве рендера.
    Я, например, в свое время выбрал Unity и не жалею.

    Что же касается Blender, то обратите внимание на плагин Blend4Web (именно плагин, а не SDK). Это наиболее простое способ для показа своих моделей, сделанных в Blender на сайте или заказчику.
    Ответ написан
    Комментировать
  • Unreal Engine 4. Блюпринты\C++.?

    Блупритны хороши тем, что они исполняются в manage среде и поймать segmentation fault просто не реально. Также гдето я слышал, что в итоге получатся меньше логических багов за счет того, что не будет опечаток и схематическая информация воспринимается лучше, чем ковры кода.
    Но как всегда за все неоходимо платить) Сами разработчики говорят, что блупринты исполняются в среднем в 10 раз медленей аналогичного кода на плюсах. По этому там где необходима большая производительность, тотальное управление выделением и освобождением памяти, то без плюсов не обойтись. Также для таких больших проектов как UE4 время компиляции С++ кода становится ощутимой проблемой. Необходимость ждать около 30 минут на современной топовой машине, для перекопиляции всего проекта скажем так, немнного раздражает.. С блупринтами таких проблем нету.

    Сами разработчики рекомендують реализововать низко уровневую логику на С++ в виде отдельных компонентов, а уже взаимодействие этих компонентов между собой и игровым миром реализововать при помощи блупринтов.
    Ответ написан
    1 комментарий
  • Есть ли книга (гайд) по введению в разработку 3D игр для бывалых в других сферах программистов?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Товарищ, могу сказать как человек, который чего только не попробовал разрабатывая игру. Началось всё с чистого Си, был и C# (банальная формочка с кучей кнопочек), был и С++ (чистый opengl и box2d для физики), потом XNA - мощный фреймворк для C#, правда умер к сожалению. Был pygame, правда ничего дальше пары хэлоу ворлдов не продвинулось. Вот сейчас ковыряюсь в юнити. Нередко организуюсь с другом на хакатоны - надо заметить, что с каждым разом продвигаемся всё дальше и дальше. Правда каждый раз и начинаем заново.

    В общем, заметил несколько вещей. Во-первых, нужен не программист, а скриптер, по рангу он недалеко ушёл от кодера. То есть он и есть кодер, с тем лишь отличием, что скриптует сцены. Ну и да, было бы не плохо обзавестись другим скриптером, который напишет текст. Сегодня, для разработки игр программисты нужны лишь для ААА-проектов, когда требуется сварганить целый фреймворк и почти с нуля сотворить движок, ну или адаптировать старый к новому железу, что по сути одно и то же. Во-вторых, надо вообще много всякой шпаны - художники, дизайнеры, тестеры, звуковики. В общем, полный набор требуется. Конечно, можно совмещать все должности в одной, но это обычно плохо кончается.
    Алсо, выбрав путь не стоит с него сворачивать. Это я говорю как опытный сворачиватель с путей - код переписывать не стоит, иначе как только он более менее разрастётся только и будете, что переписывать. Рефакторинг тоже делать надо очень осторожно. Чем модульнее тем лучше. И так далее.

    По поводу манов - их дофига. Разной степени упоротости. Например, есть такой неплохой движок, как OGRE, у него на странице куча ссылок на демки, вики, книги, доки. Но это скорее для любителей хардкора. Для любителей велосипедов есть openal + opengl, ну или sdl + opengl. По opengl тоже много литературы, очень много. К тому же есть Unity3D, но программистам с ним, имхо, делать особо нечего - лишь ограничивает, да и по удобству он далеко не самый лучший, а производительность - ужс какой-то, хотя в большинстве задач хватает с головой.

    И ещё раз постараюсь донести мысль - программист не главный. Более того, обычно он даже последний. Игра начинается с геймплея, который создаёт геймдизайнер. И обычно программисты хотят быть именно геймдизайнерами. Плохой путь, мы испорченные, если честно. Для нас есть очевидные вещи, что не очевидны для других, которые ломают игры. И нам сложно доступны некоторые вещи, что делают игры гуд. Потом идут артисты - те самые художники, звуковики, дизайнеры уровней, авторы текстов. И только потом программисты - современные машины очень быстры и перелопачивают даже быдлокод за микросекунды - дольше всего рисуется сцена. А на архитектуру игрокам вообще плевать - баги нередко могут стать фичами, да и при использовании движка основная архитектура уже есть, осталось только ей придерживаться.

    В любом случае, удачи в начинаниях!
    Ответ написан
    4 комментария
  • Функционал vs Функциональность?

    @rromm
    А я не понимаю использования слова функционал как синонима функциональности потому, что мне кажется очевидным, что функционал – это набор функций, а функциональность – свойство объекта, характеризующее наличие/количество этих функций (объём функционала) – как канал и канальность, т.е. функционал – это, грубо говоря, содержание функциональности.
    пример: тут вон какой функционал, а там какая функциональность? (про объём функциональности)
    пример: функциональная вещь. (про наличие функциональности вообще, т.е. некого объёма функционала, в отличие от вещей с одной или стандартным кол-вом функциий).
    Ответ написан
    Комментировать
  • Организация исходников C++?

    Trrrrr
    @Trrrrr
    у нас я реализовал все хитрее:
    есть папка bin - туда попадает все скомпилированное.
    есть папка build - в ней файлы проектов (разделенный по папка под разные иде)
    есть папка sources - в ней папка совпадающие с именами проектов в сюлеше. т.е. например в солюшене у нас есть 3 проекта Core, Render, Game. Значит в папке сурсес у нас будут 3 таких же папки с такими же именами. В каждой из них в куче лежат и хедеры и сурсы.
    Каждый проект находится в своем namespace совпадающим с именем либы.
    И есть хедер со всеми инклюдами который выносятся из либы в наружу, т.е. с именем Core.h например. проекты к данным друг друга имеют доступ только через один единсвенный хедер.
    Ответ написан
    Комментировать
  • Функционал vs Функциональность?

    Weageoo
    @Weageoo
    Считаю «функционал» программерским жаргонизмом-сокращением, таким же, как «комп», «клава» (вики согласна); сам обычно это слово не употребляю, но всегда, в зависимости от контекста, понимал под ним либо синоним «функциональность», «функциональные возможности», «функциональное наполнение», «набор возможностей»; либо функцию, принимающую вектор и возвращающую скаляр. Сейчас вот узнал, что есть и третье значение сексологического характера, что, тем не менее, никоим образом не уничижает жаргонного значения данного слова.

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

    Призыв «давайте не будем использовать слово «функционал» в своих статьях» считаю неоднозначным, потому как существуют вполне допустимые значения этого слова. Возможно, следует переформулировать данный призыв, к примеру, следующим образом:

    «Уважаемые хабраюзеры! По возможности, старайтесь не использовать в своих статьях жаргонизмы и обсценную лексику. Старайтесь, чтобы любое слово/фраза в Вашей статье не допускало множественного толкования (с учётом контекста) при условии использования только общепринятых значений слова/фразы.»

    Вообще говоря, на данный случай предусмотрен пункт 8 правил.
    Ответ написан
    2 комментария
  • Функционал vs Функциональность?

    Shultc
    @Shultc
    RnD Developer
    Что-то я подозреваю, что у вашего начальника какие-то проблеммы именно со вторым значением этого слова…
    Ответ написан
    1 комментарий