Задать вопрос
  • Куда в России податься gamedev-разработчику?

    orloff
    @orloff
    Ответ написан
    Комментировать
  • Какой самый красочный linux диструбив?

    nazarpc
    @nazarpc
    Open Source enthusiast
    В Compiz много настроек. Поставьте Ubuntu, дополнительные плагины и радуйтесь) Только на изучение всех красивостей около пол дня нужно убить.

    А из коробки симпатично выглядит Elementary OS, только Isis на основе Ubuntu 14.04 нужно подождать.
    Ответ написан
    Комментировать
  • Определить пользователь ли запустил скрипт?

    Rpsl
    @Rpsl
    Кратко о себе
    Пропишите в крон скрипт с параметром и проверяйте наличие параметра.
    Ответ написан
    3 комментария
  • Изменить объект в std::vevtor на другой тип

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Insert, например, не умеет вставлять по номеру позиции.
    typedef std::vector<int>::iterator vector_iter;
    vector_iter iter = Mas.begin() + (index + 1);
    Mas.insert(iter, tmp);
    Ответ написан
    5 комментариев
  • Почему функция конвертирования типа int() в Python выдаёт разный результат для одинаковых параметров?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Выражения 100 * (11.20 - 11) и 20.0 равнозначны

    Нет, неравнозначны: в скобке первого выражения число с плавающей точкой, непредставимое в двоичной системе в конечном виде -- 0.2dec = 0.001100110011...bin. Точность арифметики ограничена, поэтому 100 * 0.2 != 20.
    Ответ написан
    Комментировать
  • Ubuntu - процесс убивается ядром из-за потребления ресурсов. Можно ли разрешить ему выполняться долго (или частями)?

    lesovsky
    @lesovsky
    System engineer and PostgreSQL DBA
    OOM Killer приходит когда ядру нехватает памяти, видимо ваш процесс слишком много потребляет памяти))).
    Тут есть два варианта:
    1. установите -1000 в /proc/$pid/oom_score_adj (при таком раскладе OOM прийдет но грохнет кого-то другого с меньшим значением oom_score_adj).
    2. увеличьте своп. Таким образом объем виртуальной памяти увеличится, и при выполнении вашей задачи вы скорей всего начнете свопиться, но зато OOM не наступит. (И тратиться на железо не придется)

    Ну и мониторьте этот ваш процесс, почему же он потребляет столько памяти? может тупо течет?
    Ответ написан
    Комментировать
  • Специфика программирования в разработке игр

    @lookid
    Давайте разложим всё по полочкам. Существует 3 типа разработчиков игр:

    1) Ассетотаскатели-скриптовики
    В их обязанности входит расставить объекты на карте и написать пару строчек кода на скриптовом языке. Например:"что бы светофор перемигивал раз в 0.5 сек".
    Требования: lua, python

    2) Программисты геимплея/игровой механики
    В их обязанности входит разработка IK-систем, физики, AI, полетов снарядов, сервера, столкновений, анимации и прочего-прочего-прочего.
    Требования: C++, ООП, линейная алгебра.
    Вот эта страница должна стать вашим домом на пару лет, если вы хотите в эту группу.
    www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?...

    3) Спец-гости
    Сюда Можно отнести людей группы Баткины-Капулькины. Людей, которые за неделю ускорят ваш рендер в 5-10 раз. Но это реально супер-оверскилл.

    Сферическое собеседование в вакууме (автор Борис Баткин):
    blog.gamedeff.com/?p=64
    Деление здесь практически бинарное – может писать код или не может писать код. (с)
    Не стоит недооценивать эту строчку. Кода приходится писать РЕАЛЬНО много. Простой физ-движок сталкивающий 2 кубика и умеющий в простейшие регдолы (без якобианов, сложных сочленений и вехиклов) уровня 2001 года занимает порядка 7-10к строк, если хорошо написан.

    Удачи! Она вам понадобится!
    Ответ написан
    2 комментария
  • Как выучить алгоритмы?

    VYBGSS
    @VYBGSS
    Software Developer
    Как уже написал @WolfdalE - изучайте сначала простые алгоритмы. Причем перед прочтением информации о алгоритмах сортировки, к примеру, сначала сами задумайтесь над тем, как бы вы сами реализовали сортировку. Придумав несколько своих способов сортировки - проанализируйте, какой из них в каком случае будет работать быстрее и/или с меньшим количеством памяти. После этого - читайте о уже готовых алгоритмах и сравнивайте их с придуманными вами.
    Ответ написан
    Комментировать
  • Как выучить алгоритмы?

    @Perzh
    Просто нужно чуть чуть попрактиковаться на простых примерах. Если хотите, могу прислать некоторые задачки из универа =) Так же можно попробовать порешать задачки с сайтов типа acmp.ru/. Там есть достаточно простые задачи
    Ответ написан
    Комментировать
  • Как выучить алгоритмы?

    Попробуйте начать с реализации различных алгоритмов сортировки: пузырьковая, вставками, слиянием, быстрая и т.д. В общем, это та часть алгоритмов, которые наиболее популярно используются. Можно также попробовать реализовать различные численные методы - Ньютона, хорд, и т.д.
    Ответ написан
    Комментировать
  • Почему происходит утечка памяти?

    @encyclopedist
    Согласно стандарту, порядок вычислений может быть разным, в том числе таким:
    tmp1 = new int(42);
    tmp2 = seed();
    tmp3 = std::shared_ptr<int>(tmp1);
    foo(tmp3, tmp2);

    В таком случае, если seed бросает исключение, возникает утечка памяти.
    Именно для избежания этой проблемы в стандарте предусмотрена вспомогательная функция make_shared. Исправленный вариант вашего кода будет выглядеть так:
    foo(std::make_shared<int>(42), seed());
    Помимо безопасности, также можно получить повышение производительности, поскольку make_shared может сделать одно выделение памяти вместо двух.
    Доп ссылки:
    herbsutter.com/2013/05/29/gotw-89-solution-smart-p...
    stackoverflow.com/questions/20895648/difference-in...

    Update
    Насчёт порядка вычислений стандарт говорит следующее:
    [intro.execution] Paragraph 15:
    When calling a function (whether or not the function is inline), every value computation and side effect associated with any argument expression, or with the postfix expression designating the called function, is sequenced before execution of every expression or statement in the body of the called function. [ Note: Value computations and side effects associated with different argument expressions are unsequenced. — end note ] Every evaluation in the calling function (including other function calls) that is not otherwise specifically sequenced before or after the execution of the body of the called function is indeterminately sequenced with respect to the execution of the called function.

    Таким образом, вычисление этих tmp1 и tmp2 в нашем случае является неупорядоченным (unsequenced).
    Ответ написан
    3 комментария
  • Какую выбрать тему для научной работы по физике с элементами программирования?

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

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

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

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

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

    Я лично, когда диплом магистра защищал написал программу производяющую моделирования поведения низкотемпературной плазмы в сверхвысоком электирическом поле.
    Ответ написан
    Комментировать
  • Как правильно составить запрос к базе?

    @HabRuLeX
    Лучше всего использовать подзапрос. Т.е. значения из первой выборки как условие отбора данных для второй.

    SELECT (Поля которые нужны из Таблица2) FROM (Таблица2)
    WHERE Таблица2.owner_id IN (SELECT id FROM Таблица1)
    Ответ написан
    Комментировать
  • Как правильно составить запрос к базе?

    @SashaSkot
    Специалист широкого профиля
    Вариантов 2:
    1:
    SELECT
    t2.*
    FROM t1 INNER JOIN t2 ON t1.id = t2.owner_id
    2.
    SELECT
    t2.*
    FROM t2 WHERE t2.owner_id IN (SELECT t1.id FROM t1)

    Учите матчасть :)
    Ответ написан
    1 комментарий
  • Стоит ли получать специалиста?

    metamorph
    @metamorph
    1) Верно, ну и вообще соответсвия между образованиями в разных странах довольно сложные. См вики, там была развесистая статья.
    2) Да.
    3) Зависит от. Некоторые корпорации пишут так: либо PhD, либо пять лет работы по специальности. Конкретные требования зависят, разумеется, о компании. Некоторые компании вообще не берут людей без диплома по специальности, будь ты хоть трижды мегаспециалист. Политика такая.

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

    Подтвержденное образование играет мощную роль при иммиграции, но если есть приглашение от конкретного работодателя - с этим проще.
    Ответ написан
    Комментировать
  • С чего стоит начать веб-программисту?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Конечно же, начать надо с вопроса на тостере!
    <input type="checkbox" checked> Выполнено
    Потом воспользоваться поиском по тостеру и в гугле.
    Ответ написан
    Комментировать
  • Python как он есть

    adugin
    @adugin Куратор тега Python
    a = [
    	[1, 2 ,3 ,4],
    	[3, 4, 5, 6],
    	[5, 3, 2, 2]
    ]
    
    b = {
    	1: ['ab', 'ba'],
    	2: ['bc', 'cd']
    }
    
    for r, row in enumerate(a):
    	a[r] = map(lambda x: [x]+b[x] if x in b else x, row)
    
    print a
    Ответ написан
    Комментировать
  • Какие есть пасхалки в Google?

    @nesterione
    recursion
    tilt
    удав в попугаях
    zerg rush
    Ответ написан
    Комментировать