• Какие телефоны идут на чистом Android (без изменения интерфейса и т.п. со стороны производителя)?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Чистая оболочка с гарантированными обновлениями - это только NEXUS.
    www.google.com/intl/all/nexus

    Недавно анонсировали новые модели, рекомендую дождаться если не очень горит.
    Nexus 6 появится в продаже в ноябре, а вообще Android 5.0 Lollipop будет доступен для устройств Nexus 6, Nexus 9, Nexus 4, 5, 7, 10
    Ответ написан
    Комментировать
  • Как должен выглядеть конструктор для класса с другим классом в качестве поля в C++?

    Если под "объект" вы подрозумываете ссылку на экземпляр класса B, то необходимо создавать вручную:
    class A
    {
         B *value;
    public:
         A()
         {
              value = new B(/*параметры*/);
         }
    };


    Если нет(value-type) и нужно передать параметры в конструктор В, то можно так:
    class A
    {
         B value;
    public:
         A():value(/*параметры*/)
         {
              //и далее тело конструктора
         }
    };
    Ответ написан
    6 комментариев
  • Создание лицензии для движка, что прочитать?

    @bromzh
    Drugs-driven development
    Не проще ли открыть код под GPLv3/LGPL (чтобы его не смогли использовать в закрытых проектах) и предусмотреть коммерческую лицензию для закрытых проектов за деньги? Для некоммерческих и открытых проектов разрешить использовать код бесплатно. Плюс, бери деньги за техподдержку. Так сделано у очень многих проектов (Qt, например).
    А то вдруг твоё поделие никто покупать не захочет? Большой проект трудно поддерживать маленьким коллективом (в случае открытых исходников многие смогут отправлять пулл-реквесты). А маленький вряд-ли кто-то купит (если он не обладает какой-нибудь супер уникальной фичей).
    Ещё можешь посмотреть, как лицензируются большие движки. Некоторые берут процент с продаж продукта. который их использует, некоторые позволяют использовать движки бесплатно до тех пор, пока прибыль или количество установок проекта не превысят определённую планку.
    Вообще, чем более либеральная лицензия, тем больше будет желающих использовать твой движок. Деньги, опять же, можно и с ТП получать (как это делают RedHat. nGinx, и прочие).
    Ответ написан
  • Как реализовать данный цикл правильно?

    @Lol4t0
    Лишняя точка с запятой:

    if(ostDay == ostYear || ostMonth == ostYear);
                                               ^^^^^


    И все-таки rem, remainder, а не ostatok :)

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

    int minN = std::min(remDay, remMonth);
    int maxN = std::max(remDay, remMonth);
    for(year = 201; year <=211; year++)
    {
            cout << year << MinN << '\n' << year << maxN;
    }
    Ответ написан
    Комментировать
  • Мигающий курсор при запуске Kubuntu?

    zmeyjr
    @zmeyjr
    Дисклеймер в профиле.
    слетели дрова. Пишите версию, в данном случаи это имеет значение, так как в младше 14.04 есть jockey-text для установки дров видеоадаптера, в 14.04 ubuntu-drivers-common
    Или просто загуглите в зависимости от версии ubuntu how-to про выше указанные пакета.
    И соответственно alt-f2, имя пользователя sudo, пароль (символов будет не видно, набирайте), потом либо jockey либо ubuntu-driver просто переустановите на open-source или что там будет предложено утилитами драйвера видеоадаптера.
    ну вот тут маленько askubuntu.com/questions/22118/can-i-install-extra-...
    Ответ написан
  • Где взять Kubuntu dvd-version?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    "версия с wubi" содержит в себе и обычный загрузочный образ (иначе оно хрен поставится и с wubi). Просто wubi запускается из винды, а обычная установка - при загрузке с диска сразу.
    Ответ написан
    Комментировать
  • Где взять Kubuntu dvd-version?

    azrail_dev
    @azrail_dev
    Качаешь, прожигаешь, устанавливаешь, радуешься www.kubuntu.org/getkubuntu
    Ответ написан
    1 комментарий
  • Нужен наставник по веб-программированию, поможете?

    @andreyqin
    Не обижайтесь, НО... кому вы нафиг сдались? Никто тут за вас не возьмется. Открыли поиск и вперед! Вы же как-то получили те знания, которыми обладаете, хотя, скорее всего, так же учились и занимались спортом. Если вы думаете, что у вас у одного времени мало, то вы глубоко ошибаетесь.
    Ответ написан
    Комментировать
  • Как генерировать случайные имена?

    qmax
    @qmax
    программер
    Марковские цепи помогут вычислить сочетаемость букв в именах, и выбирать наиболее "благозвучную" букву по контексту (префиксу).
    Метод архиэффективный и способен породить бесконечннешее количество слов.
    Но только если обучающая выборка достаточно большая.

    Мои рекомендации:
    Используйте длинну префикса 3-4 буквы (примерно длинна слога).
    Боле длинные префиксы будут порождать слова слишком похожие на исходные и их рекомбинации.
    Более короткие будут не очень благозвучны.
    Обязательно используйте символы начала и конца слова в качестве спец-буквы ('^' и '$'), просто пробела недостаточно, но уже не помню почему.

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

    Для хранения эффективно использовать префиксное дерево с частотами в качесве значений.
    Алгоритм составления словаря довольно простой:
    prefix = '^'
    for letter in text:
      freqdict[prefix+ letter] += 1 # увеличение счётчика этого сочетания
      if letter ='$':  # конец слова, сброс префикса
        prefix = '^'
      else:
        prefix = prefix[-depdth:] # обрезане префикса до максимальной длинны

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

    Алгоритм генерации:
    prefix = '^'
    while prefix[-1] != '$':
      tails = freqdict[prefix].items() # под-дерево всех продолжений префикса в виде списка (key, value)
      thresh = random() # точка на единичном отрезке
      i = 0 # текущий элемент
      level = 0 # верхняя граница отрезка текущего элемента
      while thresh > level:
        level += tails[i][1]
        i++
      prefix += tails[i][0]


    Код написан по памяти, не принимайте на слово :)
    Наверно, мне уже пора выкладывать библиотеку для рыбогенерации...
    Ответ написан
    3 комментария
  • Существует ли вариант знать 5 языков программирования?

    @s1dney
    Можно все, но при этом вы не будете хорошо знать ни один из них.
    Если python + R еще понятно, то в случае с си, плюсами и джавой - непонятно совершенно, зачем?
    Ответ написан
    Комментировать
  • Насколько сейчас актуален c++ ?

    EndUser
    @EndUser
    :-D

    "Насколько сейчас актуальна формальная логика?"
    "Насколько сейчас актуальна алгебра?"
    "Насколько сейчас актуально знание офисных программ?"
    "Насколько сейчас актуально знание английского языка?"

    С/С++ актуальны всегда, как в чистом виде, так и в виде профессионального базиса. И не только С/С++.
    Ответ написан
    Комментировать
  • Как не растерять навыки за время отсутствия?

    @zedxxx
    Через месяц голова наоборот заработает с удвоенной силой. Делать перерывы иногда очень даже полезно - подкорка-то продолжает работать и переваривать полученную информацию. Главное после перерыва не впасть в прокрастинацию, а быстро заняться полезным делом.
    Ответ написан
    Комментировать
  • Как не растерять навыки за время отсутствия?

    @asd111
    За месяц ничего не будет не бойся. Я не программировал несколько лет. Навык остается. Потому что всё равно конкретный код вызова того или иного метода или работы с классом приходится смотреть в документации. Это так называемый google driven development. Это нормально т.к. наизусть запомнить названия всех функций нереально.
    Главное алкоголь не пей и не кури. Мозг программиста больше всего страдает именно от них, и ещё от порнографии и игр, т.к. порно и игры мешают думать. Есть даже такая мудрость, что человеку мешают думать в нужном направлении злость, мысли о деньгах, мысли о сексе, алкоголь, сигареты
    Ответ написан
    9 комментариев
  • Как не растерять навыки за время отсутствия?

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

    olexandrbig
    @olexandrbig
    Здравствуйте!
    Книги, судоку, Вы можете развивать свой мозг в любое время, потому главное не забывать о том к чему Вы стремитесь.
    Ответ написан
    Комментировать
  • Как добиться нужного fps?

    AxisPod
    @AxisPod
    Ну во первых для этого существуют high-resolution timers. И никогда для этого не используйте GetTickCount и подобные. В винде для этого надо использовать multimedia timers. В принципе можно использовать boost::asio для этого. Здесь требуется событийная система.

    Дальше, что сильно пугает, так это опрос клавиатуры, вы не сможете таким образом нажать 2 клавиши одновременно. Так никогда не стоит делать. В винде для этого есть RawInput. Как в никсах уже не подскажу.

    А вообще возьмите готовый движок, не парьте мозг.

    P.S. А вообще почитайте как организуются игровые циклы. В основном цикле заводится некий таймер, но он не предназначен для контроля fps (тут как я сказал выше нужен high-resolition timer и очень желательно событийный), он предназначен для расчета состояния игрового мира, чтобы скорость игры не зависила от кол-ва fps. На деле FPS обычно контролируется средствами системы (а в частности видеокарты) и называется это "ожидания луча" (в древности), ныне называется просто синхронизация кадра/видео и что-нить еще. При этом она может быть кратной вертикальной частоте монитора, если монитор имеет частоту 60, то вы можете получить частоту кадров 30. В этом вам спокойно помогут готовые игровые движки.
    Ответ написан
    1 комментарий
  • Как добиться нужного fps?

    bogolt
    @bogolt
    Если хотите понизить фпс ( я так понял по вопросу что хотите вы именно этого ), то после вычислений времени текущего цикла, добавляйте sleep() на недостающее количество миллисекунд.
    Например вам нужно чтобы 1 цикл выполнялся за 30 мс, а он выполнлился за 20, значит нужно поспать еще 10 до выхода из цикла.
    Ответ написан
    3 комментария
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    @gangstarbeiter
    Мои пять копеек:

    1. Бросайте колледж. Если хотите получить формальное образование - поступайте в институт (тщательно выбирайте учебное заведение и программу). Либо просто бросайте и занимайтесь самообразованием, параллельно подыскивая первое место работы.

    Колледж это пустая трата времени. Ценится только диплом о ВЫСШЕМ образовании. Для работодателя выпускник колледжа это то же самое, что человек без формального образования вообще. Говорю как работодатель.

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

    3. Ставьте линукс, изучите (в общих чертах), как он работает и начинайте изучать bash. Заморачиваться с дистрибутивом не советую - то, что вам тут советовали это системы не для новичков. Потратите много времени на решение третьестепенных вопросов типа настройки звуковой карты. Ставьте убунту, проблем будет меньше всего (но все равно будут).

    4. Если есть возможность, практикуйтесь. Спросите знакомых - может быть, кому-то нужен сайт. Сделайте его с нуля на какой-нибудь несложной CMS (joomla, wordpress). Попробуйте сделать простенькую игру или приложение для мобильного. И так далее. Лучший способ что-то изучить - применить это в деле.
    Ответ написан
    2 комментария
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    Подкину литературы, ссылок, дабы была подмога в выборе области.
    А то, в каком порядке изучать - так образование трудно облачить в алгоритм. Необходимо знать немного о всем и все о немногом. Главное чтобы пёрло и была поддержка в лице единомышленников.

    Из того, на что обязательно нужно взглянуть.

    Математика (база, во всех ее проявлениях):
    Кнут Искусство программирования
    Вирт Алгоритмы + структуры данных = программы
    Ахо,Лам,Сети,Ульман - Компиляторы. Принципы, технологии, инструменты.
    Кормен. Алгоритмы. Построение и анализ.
    Скиенна. Алгоритмы. Руководство по разработке.
    Таненбаум. Распределенные системы.
    Таненбаум. Современные операционные системы

    Сети:
    Олифер. Компьютерные сети. Принципы и технологии.
    Davies J. - Understanding IPv6

    Программирование паяльником:
    Титце, Шенк. Искусство сехмотехники
    Блог easyelectronics

    Hardware:
    David A. Patterson, John L. Hennessy - Computer Organization and Design
    David A. Patterson, John L. Hennessy - Computer architecture

    ИИ:
    Норвиг. Искусственный интеллект.

    Информационная безопасность:
    Шнайер. Прикладная криптография.
    Головоломки для хакеров (забавная книга, автора не помню к сожалению, натуральная практика по программированию)
    The Giant Black Book of Computer Viruses
    Михайлов Д. М., Жуков И. Ю. - Защита мобильных телефонов от атак - 2011
    Абашев - Ассемблер в задачах защиты информации
    Nmap Network Discovery
    Russel, Mullen, Long. Stealing the Network

    Masterminds.of.Programming.Conversations.with.the.Creators.of.Major.Programming.Languages
    Брукс - Мифический человеко-месяц
    Как выучить язык программирования за 10 лет

    Для фантазии:
    Нейман - Теория самовоспроизводящихся автоматов
    Kurzweil - Singularity is near

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

    И да - поставьте Linux.
    Ответ написан
    2 комментария