• Как реализованы realtime оповещения вконтакте и прочих?

    Gasoid
    @Gasoid
    longpooling / websocket
    Ответ написан
    Комментировать
  • Как узнать номер строки при чтении файла?

    @GeneD88
    QA
    with open('myfile.csv', 'r') as file:
            for num, url in enumerate(file):
                    my_function(url)
    Ответ написан
    1 комментарий
  • Как написать автономную (self-contained) программу под Windows?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Судя по всему, это программа со статической линковкой всех библиотек, необходимых ей для работы. По крайней мере, если верить вот этому.
    Ответ написан
    8 комментариев
  • Где тренировать программирование на с++?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Практика - лучшая тренировка. Найдите компанию куда вас возьмут стажером.
    Ответ написан
    Комментировать
  • Стоит ли учить сегодня ASP.NET и можно ли на этом заработать?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Начнем с терминологии, а то хейтеры тут не особо разбираются =) Между ASP и ASP.NET MVC разница примерно такая же, как между Java и JavaScript.
    Java - это язык, как и C#. Под них есть свои веб-фреймворки, такие как JavaEE, Spring для Java или ASP.NET MVC, NancyFX для C#.


    Учить ASP (classic ASP) или ASP.NET (который Web Forms) с нуля уже не стоит. А вот ASP.NET MVC - отличный выбор. Это уже достаточно зрелый фреймворк, на котором работает много серьезных проектов (таких, как StackOverflow) и которая востребована на рынке как в России, так и в мире.

    Сам C# достаточно интересный, активно развивающийся язык. Платформа себя чувствует неплохо на любых популярных устройствах. Хорошо развивается .NET Core, являющийся переосмыслением монолитного .NET Framework, позволяющий разрабатывать компатные кросслатформенные приложения, в том числе и с использованием ASP.NET Core, которые можно развертывать самостоятельно, без огромного сервера за спиной, аналогично Node.js.

    Конечно, с ASP.NET MVC не пофрилансишь и сайты-визитки разрабатывать не так удобно =) Но поддерживать крупные приложения - одно удовольствие.

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

    @imikh
    Постоянная работа по ночам - ужас для организма и нервной системы. Солнечный свет нужен.
    Как варианты, кроме полноценного сна и питания (совершенно согласен с xmoonlight):
    - Витамины, особенно группы D
    - Переехать в соответствующий часовой пояс. Если это US, то Мексика к примеру, там относительно дёшево сейчас. Или Южная Америка.
    Ответ написан
    5 комментариев
  • Как научить ботов учитывать гравитацию планеты при стрельбе?

    @0x131315
    По поводу скрипта - он странный:
    1) Он работает только для обьектов, которые участвуют в столкновениях.
    2) Он не учитывает дистанцию до центрального тела, только его массу, и работает только для случаев, когда дистанция между противниками в тысячи раз меньше дистанции до центрального тела, т.е. более-менее точен где-то на задворках звездной системы, вдали от звезды. На более ближних дистанциях начинает безбожно врать.
    3) Он наполняет обьектами массив, который не особо нужен скрипту для работы, который нигде не очищается. Это - утечка памяти.
    4) Его можно прикладывать только к одному телу - центральному. Иначе это умножает утечку памяти и сильно расходует процессор. В некоторых случаях его можно заменить триггером. И часто его оптимизируют, вызывая раз в несколько десятков кадров, а не каждый кадр. Также пишут, что указание маски слоя в Physics.OverlapSphere повышает эффективность работы.

    По поводу утечки.
    Не знаю тонкостей unity, не могу сказать точно, насколько она серьезна. Но возможны два варианта:
    1) обьект скрипта пересоздается каждый кадр, и время от времени устаревшие экземпляры собирает сборщик мусора.
    Тогда утечка равна размеру массива помноженному на количество кадров в секунду и на таймаут сборщика мусора.
    При условии, что скрипт используется только на одном обьекте (надеюсь ты не додумался применить его ко всем обьектам?), для 1000 обьектов в сцене, 60фпс и 10 секундном таймауте сборщика мусора, утечка составит 5..50Мб - именно столько памяти игра будет отьедать впустую, никуда не используя, только на один экземпляр этого скрипта.
    Если скрипт применен к 10 обьектам, утечка увеличится до 50..500Мб.
    А если обьектов 1000?
    Так и рождаются игры, которые требуют 16Гб оперативки.
    Это не говоря о бесполезной трате процессорных ресурсов: если по глупости применить скрипт ко всем обьектам, эффективно работать он будет только на одном, но жрать память и процессор будет за всех.
    На 1000 обьектах потребление процессора этим скриптом увеличится в 1000000 раз: 1000 скриптов должны будут каждый обработать по 1000 обьектов.
    Так рождаются игры, которые требуют топовое железо.
    Всего 2 легкие ошибки с одним скриптом (далеко не основным) - и такой потенциал! :)
    2) Используется один экземпляр скрипта, он не пересоздается каждый вызов.
    Тогда обьем массива каждую секунду умножается на фпс, пока массив не забьет всю память.
    И сборщик мусора тут не поможет, т.к. скрипт существует пока существует основной обьект, т.е. пока загружен уровень - всю игровую сессию.
    Для тех же условий утечка в первую секунду составит 0,5..5Мб, и каждую секунду будет увеличиваться на столько же. За час игры утечка составит от 2 до 20Гб, в зависимости от размера структур.
    Утечка процессора останется той же, что и в первом варианте.

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

    По поводу ошибок прицеливания: введи поправки на гравитацию при прицеливании.
    Не факт, что это тебе поможет, все-таки скрипт у тебя кривой, и непонятно правильно ли ты его используешь - каковы максимальные дистанции между противниками, каковы минимальные дистанции от противников до центрального тела, каков размер центрального тела, как создаются снаряды (независимыми или привязанными к тому, кто выстрелил), как задается их скорость (постоянная или относительно скорости выстрелившего), какова скорость снаряда и цели.
    Но самое простое:
    dy=g*t*t/2
    t=l/v
    dy - величина смещения снаряда гравитацией на текущей дистанции
    g - величина гравитации, локальная (вблизи точки выстрела). В твоем скрипте гравитация постоянна, не зависит от координат, и равна массе центрального тела, значит вместо g можно подставить массу центрального тела.
    t - время полета снаряда
    l - прямая дистанция до противника.
    v - глобальная скорость снаряда (относительно мира).
    Ограничения:
    Локальная гравитация неприменима, если дистанция сравнима с расстоянием до центрального тела - там нужен дополнительный учет кривизны поля гравитации. Гравитация в разных точках пути снаряда будет разная, а это сильно снизит точность, особенно на больших дистанциях - на много порядков.
    Прямая дистанция неприменима, если дистанция сравнима с расстоянием до центрального тела - там нужен дополнительный учет кривизны поля гравитации. Дистанция будет не прямой, а дугой, и значит снаряд пройдет больше расстояния, лететь будет дольше, и поправка нужна больше.
    Если время полета больше нескольких секунд, придется учитывать влияние гравитации на скорость снаряда. Снаряд будет ускоряться или замедляться гравитацией, а значит точность с дистанцией начнет быстро падать.
    Если скорость цели сравнима со скоростью снаряда - придется учитывать, что цель движется. Пока снаряд летит в точку прицеливания, быстрая цель оттуда уже убежит, и точность никакой не будет.
    Ответ написан
    1 комментарий
  • Есть ли в языке C++ runtime?

    Есть. Стандартная библиотека - это и есть рантайм, и с ней нужно линковаться, как и с любой другой либой. В Visual Studio можно выбрать статический (MT) и динамический (MD) варианты.
    Правда, иногда под рантаймом имеют в виду интерпретатор/виртуальную машину. В этом смысле рантайма нет, C++ - компилируемый язык.
    Ответ написан
    Комментировать
  • Какую OC выбрать для слабенького ноута?

    Rou1997
    @Rou1997
    У меня самого с завода конфигурация похуже и при том Win 8, однако по несколько секунд папки не открывались и не открываются, если конечно в браузере не открыто 5 вкладок с YouTube.
    Такой ноутбук ремонтировать необходимо, а не ОС подбирать.
    Похоже на проблемы с жестким диском.
    Точный ответ даст диагностика.
    Ответ написан
    2 комментария
  • Странный код в Nav yii2, как можно сделать альтернативно?

    @bears
    Там скорее всего что-то типа такого:
    $nav = [
        'items' => Yii::$app->user->isGuest ? '' : (
                        ['label' => 'Главная', 'url' => ['/site/index']] 
                    ),
                    Yii::$app->user->isGuest ? "" : (
                        ['label' => 'Сотрудники', 'url' => ['/site/about']]),
                    
                    Yii::$app->user->isGuest ? "" : (
                        ['label' => 'Лиды', 'url' => ['/site/contact']]),
                    
                    Yii::$app->user->isGuest ? "" : (
                        ['label' => 'Заказы', 'url' => ['/site/contact']]),
                    
                    Yii::$app->user->isGuest ? "" : (
                        ['label' => 'Настройки', 'url' => ['/site/contact']]),
    ];


    Это то же самое что и:
    if (Yii::$app->user->isGuest) {
        $nav = [
            'items' => [],
        ];
    } else {
        $nav = [
            'items' => [
                ['label' => 'Главная', 'url' => ['/site/index']] ,
                ['label' => 'Сотрудники', 'url' => ['/site/about']],
                ['label' => 'Лиды', 'url' => ['/site/contact']],
                ['label' => 'Заказы', 'url' => ['/site/contact']],
                ['label' => 'Настройки', 'url' => ['/site/contact']],
            ],
        ];
    }

    Какой-то извращенец писал код
    Ответ написан
    2 комментария
  • Использование PHP PDO предотвращает SQL injection?

    PDO само по себе --- нет. Защищают подготовленные выражения.
    Ответ написан
    4 комментария
  • Можно ли сделать быструю базу данных?

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    Возьмите прости господи MS Access и импортните туда. Вас, что в вузе с ним работать не научили? (отсылка к современному обучению теориям баз данных и всему околобазоданновому в ВУЗах, не обижайтесь)

    В нём на самом деле всё просто и в вашем случае звучит как решение
    Ответ написан
    2 комментария
  • Как заинтересовать человека(студента) в IT?

    edli007
    @edli007
    full stack, team lead
    Сам не захочет, не начнет. Программирование это ад для обычного человека.
    Ответ написан
    Комментировать
  • На чем сделать быстро прогу под windows новичку?

    @bnytiki
    C# - для десктопного ПО под Windows лучшее решение на сегодня.
    Ответ написан
    8 комментариев
  • Вопрос: «Что означают, что представляют идентификаторы в алгоритмических языках»?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Идентификатор - это имя сущности - переменной, функции, метки, шаблона, макроса и так далее.

    А вы про какие-то типы/классы пишите, вот они отражают как раз семантику.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать под винду?

    @bnytiki
    Интерфейсы:

    Под Windows - флагман сегодня это C#, .Net.

    QT и Delphi - работоспособно. Но не столь мощно развиваются. Несравнимо с C#.

    Формулы и простейшие параметры - не требуют навороченных интерфейсов.
    Если интерфейсы - вторичны и нет жесткой завязки на Windows, то имеет смысл смотреть кросс-платформенные: Go, Python, Java.
    Ответ написан
    Комментировать
  • Нужен ли Linux для начинающего разработчика?

    lukoie
    @lukoie
    Есть прекрасное выражение: "Линукс бесплатен если ваше время не стоит ничего". Нормальные инструменты разрабатываются в первую очередь для винды, это факт. Впрочем, для дизайнеров - больше для Мака, а для администрирования - для никсов. Вы не сисадмин и не дизайнер - держитесь Винды. ПРЕИМУЩЕСТВОМ в данном случае Линукс точно не будет.
    Ответ написан
    6 комментариев
  • Нужен ли Linux для начинающего разработчика?

    Переезажть - нет, не нужно.
    Базово разбираться в Linux, PHP и как запустить простейшую связку для веб-сервера - хорошо. Запустите linux-сервер в виртуалке (напр. просто на VirtualBox, или используя Vagrant) и используйте его в своих разработках.
    Ответ написан
    Комментировать
  • Великовозрастный junior - правда или вымысел?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Для начала - заведите репозиторий на гитхабе (если еще нет) и разместите там Ваши проекты, на которых Вы обучались, чтобы работодатель смог оценить уровень Ваших текущих знаний.
    А уже потом - думайте: что, куда и за сколько.
    Без реальных знаний - Вы никому не будете интересны, как человеко-ресурс.
    А хотите обучаться - это либо сами (лучший вариант), либо платные курсы.
    Ответ написан
    2 комментария