Ответы пользователя по тегу Программирование
  • Генератор псевдослучайных чисел с зависимой вероятностью вывода нужных чисел?

    Stdit
    @Stdit
    Я когда-то делал генератор псч с произвольным распределением через хэш-функцию. Алгоритм лобовой, на математическую и техническую красоту не претендует, но все равно я его опишу, вдруг кому-то пригодится.

    — Нам нужен генератор псч, скажем от 0 до 99 с варьируемой вероятностю выпадения чисел.
    — Заводим массив из 10000 элементов. Все числа заносим в массив по 100 раз.
    — Выбирая из массива число со случайным (через обычный гпсч) индексом от 0 до 9999, мы получим число от 0 до 99 с равной вероятностью.
    — Для уменьшения вероятности выпадения числа нужно уменьшить количество этих чисел в массиве. Например, если число «8» будет входить в массив не 100, а 50 раз — то его вероятность выпадения будет вдвое ниже, чем остальных.
    — Для увеличения вероятности выпадения числа расширяем массив и добавляем ещё таких чисел.

    Таким образом, можно построить почти любую функцию распределения (разумеется, с ограничениями на коэффициенты вероятности выпадения чисел). Плавность растройки такого генератора напрямую зависит от размера массива.
    Ответ написан
    3 комментария
  • Выбор технологии для сервера TCP-соединений

    Stdit
    @Stdit
    К перечисленному добавлю, что многие хвалят nodejs в плане «огромное количество соединений» и скорости разработки. Я его тоже использовал в качетсве tcp-сервера в двух проектах, но они не особо наргужены, поэтому рекомендвоать однозначно пока рановато. Асинхронная архитектура ECMAScript вкупе с событийной моделью понравились. Скорость работы хорошая. Сборщик мусора пока что не подводил. Хотя могут быть и грабли. Например, я не нашел там поддержки TCP_KEEPCNT и других опций setsockopt.
    Ответ написан
    Комментировать
  • Какую самую тупую и/или скучную работу по вашему мнению могут поручить начинающему программисту?

    Stdit
    @Stdit
    То есть, это кино, в котором герой, закончивший специальность, связанную с программированием, пошел на работу админом, и тут-то его мечты и разбились об инсталляки и конфиги, потому что он не изучал это дело? Тогда эникейзик подойдёт.
    Или о том, что он всё-таки пошел программистом, и ему дали задачи, на которые ему не хватило знаний? Начинающим программистам часто дают поиск некритичного бага, это хорошо помогает разобраться во фреймворке и проекте, влиться в процесс разработки. Ещё новички иногда начинают с написания юнит-тестов.
    Ответ написан
    3 комментария
  • Стоит ли учить пхп новичку?

    Stdit
    @Stdit
    Я использую PHP, хотя и не всегда. Как язык сервер-сайда вполне устраивает, жаловаться не приходится. Навязывать его не буду, но могу поделиться некоторыми мыслями на этот счёт. Возможно это поможет вам принять решение.

    PHP — самый распространённый язык, вряд ли с этим будет кто-то спорить. Поэтому специалист по нему востребован. Он имеет некоторые нюансы, при незнании которых можно наделать крупных дыр. При его изучении нужно обязательно уделять внимание безопасности. Язык прост в освоении, несмотря на то, что не всегда лаконичен (например кому-то не нравится порядок агрументов в некоторых функциях, область видимости в неймспейсах, или ряд «задокументированных фич», которые порой вылезают как подводные камни). Кроме того, имеется обширная кодовая база, множество модулей, библиотек, фреймворков.

    Из-за низкого порога вхождения и большого предложения труда достаточно много начинающих php-шников. Оклад новичка (особенно за пределами Москвы) вряд ли можно назвать высоким. Но это привлекает работодателя. Как следствие, появляется множество сайтов, написанных неопытными программистами. Часто такие проекты достаются на доработку опытным, и при виде их кода возникают самые разные эмоции. Так возникают сплетни про язык.
    Ответ написан
    Комментировать
  • как научиться программировать?

    Stdit
    @Stdit
    Теорию обязательно надо мешать с практикой, делать-переделывать выдуманные задачки, копаться в манах, пытаться понять каким образом всё работает. Я начинал с наглядных программ, с графикой, простейших демосцен, мини-игр и т.д, потому что мне так было приятнее воспринимать результат и спать до утра не хотелось. По поводу языка, это дело вкуса и предпочтений. Сейчас многие начинают с яваскрипта из-за его доступности, неприхотливости и относительной простоты (в плане «написать что-нибудь», понять что такое программирование вообще). Также полезно читать форумы и другие сообщества, особенно жалобы и проблемы других людей и ответы на них (типа как тут или на stackoverflow).
    Ответ написан
    Комментировать
  • О стиле программирования: Переносить ли скобку?

    Stdit
    @Stdit
    Обратите внимание на стандарты кода PSR-2, Zend Framework, PEAR.
    Ответ написан
    Комментировать
  • А можно ли использовать язык BrainFuck на ЕГЭ?

    Stdit
    @Stdit
    Лучше на whitespace. Баловство конечно, прокатит только если проверяющий ЕГЭ — гик (с чувством юмора). Вероятность чего вряд ли высока.
    Ответ написан
    Комментировать
  • А вы строите блок схемы при разработке? Если да, то в какой программе?

    Stdit
    @Stdit
    Простые схемы рисуем в Google Docs. Потому что не нужно ставить дополнительное ПО и легко шарить. Схему БД последний раз делали в MySQL WorkBench.
    Ответ написан
    Комментировать
  • Создание и расчет баланса в стратегии

    Stdit
    @Stdit
    Как в большинстве подобных игр, с распределением юнитов по ролям: толстый юнит ближнего боя, тонкий дальнего, лечащий/воскрешающий, бьющий по области, ослабляющий врагов. Итого уже 5 видов, дальше можно надобавлять усиливающего своих, бьющего редко но мощно по одной цели, игнорирующего броню, ну и так далее. Таком образом, эффективно не спамить самого мощного, а именно комбинировтаь разных. Ну а как именно каждый из них будет влиять на бой — тюнить цифрами.
    Ответ написан
  • Посоветуйте IDE для школьников

    Stdit
    @Stdit
    Да, и верстать учить не надо — сами научатся, если захотят. Достаточно показать им эту игрушку как песочницу и полигон для экспериментов, без лишних упрёков по поводу стандартов и совместимости. И они начинают в неё играть. Не все конечно, но очень многие, особенно девушки (как ни странно).
    Ответ написан
  • Посоветуйте IDE для школьников

    Stdit
    @Stdit
    Eclipse или что-нибудь на базе Eclipse: Aptana например. Пускай делают «живые» странички на html + javascript. Интересно, современно и творчески. Понимание интернета и браузеров — точно в жизни лишним не будет. Даже если они не станут программистами.
    Ответ написан
    4 комментария
  • За что разработчик может уважать менеджера?

    Stdit
    @Stdit
    За то, что он снимает с меня обременительную задачу общения с заказчиком напрямую.
    За то, что он понимает и грамотно описывает желания заказчика, после имплементации которых последний получает именно то, что хотел.
    За то, что он правильно расставляет этапы и знает цену хотелкам-переделкам, особенно после утверждения заказа.
    За то, что создаёт комфортные и приятные условия работы (мебель, воздух, чистота, шумоизоляция и т.д.).
    Вообще, за то, что он понимает, зачем он нужен и как его работа повышает стоимость часа. И делает это, а не чатится в социальных сетях.
    Ответ написан
    1 комментарий
  • Помогите собрать компьютер для кодинга за 10000

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

    Stdit
    @Stdit
    Чтобы стать программистом, который не просто пишет по гайдлайнам, но ещё и всё понимает и чувствует код, надо написать не один десяток велосипедов и сравнить свои велосипеды с велосипедами других программистов. Понять, почему твой велосипед работает хуже и написать новый велосипед.

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

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