• Каким образом написать ai?

    Есть такая книга:

    Корнилов Е.Н - Программирование шахмат и других логических игр

    и вот эту ссылку гляньте:

    https://www.gamedev.net/forums/topic/592473-recomm...
    Ответ написан
    Комментировать
  • Хочу сделать такую программу, устанавливаеш в виндовс, и работает как сервис с веб мордой, и от этой веб морды запускаешь всякие баты, cmd команды?

    Написать можно, например, на C# + SignalR.

    Сервис, который крутится на машине: C# + SignalR
    Фронтенд: ASP + SignalR
    Ответ написан
    Комментировать
  • Как правильно читать книги по программированию?

    Вы можете держать фокус на книге 40 минут, это очень хорошо, на мой взгляд. Читайте 20 минут книгу, а 20 минут делайте, программируйте, пробуйте, ошибайтесь, но действуйте.

    Мозг переключится.

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

    Придумайте себе интересную задачу. Это очень важно, чтобы задача вызывала у вас интерес. Этот интерес к задаче будет служить двигателем вашего обучения.

    Разбейте задачу на маленькие куски, и решайте её с помощью языка/технологии, которые вы изучаете. Если при реализации какого-нибудь маленького куска программы у вас возникла проблема, а в книге об этом ничего нет, то спрашивайте на форумах, вроде stackoverflow.com

    Должен заметить, что при публикации вопросов на подобных форумах, если вы хотите быстро получить ответ, формулируйте свои вопросы предельно корректно. Объясните задачу, которая стоит перед вами, обязательно покажите код, которым вы пытались эту задачу решить. И напишите, что у вас не получается.

    Если с английским сложно, то есть StackOverflow на русском языке: ru.stackoverflow.com

    Это намного эффективнее, чем изучать книгу в "скучном" режиме. Читая теорию, затем делая упражнения.

    Успехов.
    Ответ написан
    Комментировать
  • Как запретить выполнять несколько экземпляров программы?

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

    1. В файле настроек храните номер сетевого свободного порта, например 5555
    2. При старте программы поднимайте ServerSocket и слушайте этот порт на localhost

    Я использую этот приём, чтобы правильно погасить уже запущенную программу, запустив её ещё раз с параметром STOP. В таком случае запущенная программа отправляет на localhost:5555 команду прекращения работы. Что считывается через ServerSocket и программа аккуратно завершается.

    Побочным эффектом этого подхода является то, что запустить второй экземпляр программы (без параметра STOP) не получится, так как она попытается открыть ServerSocket по этому-же порту (5555).
    Ответ написан
    Комментировать
  • Что можно сделать с детьми на уроках информатики?

    На мой взгляд, надо исходить из начальной подготовки ребят. Что они уже знают и умеют. Исходя из уровней подготовки формировать группы и ставить перед ними задачи.

    Ключевой аспект - задача должна быть интересной.

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

    Практически изучить любой язык программирования, имея страсть к этой науке не представляет особого труда. И, задача учителя, на мой взгляд, этот интерес поддерживать и развивать. Пусть хоть на бейсике пишут, если он вызывает у них живой интерес. Наличие и поддержание интереса намного важнее "правильности" выбранного языка. Рассказать о том, какие языки программирования существуют, чем они отличаются, как и где используются. Дать им попробовать и выбрать самим.

    Итак, если упрощённо, то создание приложения делится на следующие этапы:

    1. Сбор требований к задаче
    2. Проектирование структуры приложения (подробнее об этом я скажу ниже по тексту)
    3. Распределение задач (модулей) между участниками группы с определением сроков реализации
    4. Реализация модулей
    5. Тестирование модулей
    6. Интеграция их друг с другом и тестирование собранных вместе модулей
    7. Создание справочной документации к приложению
    8. Запуск в эксплуатацию


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

    Это приводит к тому, что они закапываются в проблемах и, в конечном итоге, терпят неудачу и теряют интерес к проекту.

    Надо объяснить им, что проектирование делается сверху вниз. То есть идём от общего к частному. Проектируем сперва дом (коробку), затем планировку этажей, потом планировку квартир, потом комнат и так далее. Пока не опустимся на уровень, ниже которого опускаться уже нет смысла.

    В таком случае нет риска упустить что-либо важное, и всегда есть общее видение проекта, из каких частей он состоит, и как продвигается работа.

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

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

    Это могут быть игры. Для новичков - пусть будут логические игры, с выводом в консоль. Например, игра Ним. Для более опытных, можно дать игры посложнее.

    По моим наблюдениям, абстрактные материи детьми воспринимаются без особого интереса, зато, если в программе можно сделать что-нибудь "прикольное", это интересно, и этим будут заниматься.

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

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

    Рассказать о различных направлениях в разработке, о задачах и о том, как они решаются.

    И пусть ребята выбирают, какое направление им более интересно.

    Кому-то будет интересно писать игрушки, кого-то может заинтересовать написание программ для автоматизации какой-либо деятельности, кто-то заинтересуется генетическими алгоритмами и искусственным интеллектом.

    Материалов в интернет сейчас достаточно, правда бОльшая часть их на английском языке.

    Успехов вам в этом непростом и важном деле :)
    Ответ написан
  • Какие есть аналоги Vogella?

    Вот, хороший сайт: www.mkyong.com
    Ответ написан
    Комментировать
  • Где найти документацию по Ext.nd?

    Rafael
    @Rafael Автор вопроса
    Документацию по Ext.nd можно найти по ссылкам ниже.

    Для Ext.nd на базе ExtJS 3.x

    Для Ext.nd на базе ExtJS 4.x
    Ответ написан
    Комментировать
  • Дебаг всплывающего окна из Javascript?

    После строки в javascript-коде, где вы получаете json впишите строчку debugger;

    Она работает как точка останова (breakpoint) и в хроме (инструменты разработчика) и в firefox (в firebug) вы сможете посмотреть что за json вы получили. Такой-же подход в других местах js-кода поможет вам разобраться что там происходит.
    Ответ написан
  • Научить племянника (10 лет) программированию

    Посмотрите тут: www.alice.org/
    Ответ написан
    Комментировать
  • Об обязательной продаже валюты

    Согласно письму ФТС РФ от 10.01.2008 N 01-11/217 (с изм. от 06.06.2011) «О направлении Методических рекомендаций по квалификации нарушений валютного законодательства» (вместе с «Методическими рекомендациями по квалификации административных правонарушений, предусмотренных статьей 15.25 Кодекса Российской Федерации об административных правонарушениях») продажа валютной выручки не является обязательной.

    Ответ написан
    Комментировать
  • Книги о том, как правильно делать игры

    Э. Роллингз, Д. Моррис, Дэйв Моррис «Проектирование и архитектура игр»

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

    Этот вопрос обсуждался тут тоже: habrahabr.ru/qa/28661/
    Ответ написан
    Комментировать
  • Онлайн-площадка для продажи исходного кода?

    По первому пункту, смотрите тут: codeclerks.com/

    По второму — зависит от покупателя.
    Ответ написан
  • Книги по java

    Ответ написан
    Комментировать
  • Есть ли какой-нибудь полезный «ботнет»?

    Вот: www.worldcommunitygrid.org/

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

    Как вариант — разбейте проект на несколько модулей. Модули, которые вы не хотите открывать, пусть живут на вашем хостинге и наружу смотрит только некий ваш API для обращений извне.

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

    Думаю, что этот вопрос уместнее было бы задать, отправив письмо на support@habrahabr.ru
    Ответ написан
    1 комментарий