• Что случится, если при TCP-соединении у отправителей совпадут порт и IP?

    1) IP - высока вероятность (многие сидят за NATом)
    Если вы о том, что в разных локальных сетях есть одинаковые ip, то нет такой вероятности. В соединении фигурирует белый ip.
    Если о том, что с одного белого ip сидят несколько клиентов, то переходим к пункту 2.

    2) вероятность встретить дубликат растет
    не растёт. Множество портов конечно, если все порты будут исчерпаны не будет дубликатов, просто клиенту в соединении будет отказано (если вы о сервере).
    Если о клиенте за NAT - NAT отображает внутренние порты на внешние. Соответственно маршрутизаторы отдают первый свободный внешний порт для нового соединения, и у двух клиентов попросту не может быть одинаковый внешний порт.
    Ответ написан
  • Вопрос к инди разработчикам игр на Unity3D?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Ничего сверх естественного не приходилось использовать. Но минимальные знания вроде матриц, сферических координат, структур данных, алгоритмов, вектора и операции с ними и тп. постоянно изо дня в день помогают делать не "копируем вот это вот рабочее, которое не понятно толком как выполняет свою работу"

    как-то так)
    Ответ написан
    Комментировать
  • По какому уравнению конвертировать время в проценты?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Парабола подойдёт? y = 100 - 100 * sqrt( x / N) (N – время, когда результат становится нулём)
    80e67e9beec44172b96322f4d832ea83.png
    Примерно в ваши точки ложится парабола с такими параметрами:
    y = 100 - 100 * sqrt( x / 176000)
    be47111e76a34a82b135672a3ee25914.png
    (здесь проценты в 1000 раз больше для пропорционального графика)

    Или, чтобы не так резко падало значение в первые моменты, можно взять смещённую логарифмическую кривую y = 100 - 30 ln( 1 + x / 10000)
    ab5f3ddc2f2d43eca10a1b7867704089.png
    Ответ написан
    2 комментария
  • Цикл в 100.000 итераций vs "умного" цикла?

    microphone
    @microphone
    Сломалось - читай логи!
    Есть такой старый добрый "Метод половинного деления", гуглица спокойно, если я правильно интерпретировал ваш калеканский.
    П.С. вообще, если честно, чёткого представления того что вы пытались делать и что хотите получить - нету.
    Ответ написан
    Комментировать
  • Как улучшить код java??

    petermzg
    @petermzg
    Самый лучший программист
    Использовать класс StringBuilder, сейчас у вас при каждой операции bes+="_"; происходит выделение памяти под новую строку и копирование туда данных.
    Ответ написан
    Комментировать
  • Стоит ли разрабатывать игру с дальнейшей ее публикацией в Steam Direct?

    sim3x
    @sim3x
    ИМО, если твоя игра не выстреливает сразу, то тратить на нее больше 6 мес глупо
    Пиши прототип за 1 месяц
    Выкладывай везде где можешь, собирай фидбек, выкидывай все и начинай делать новую
    После десятка-двух таких итераций ты поймешь, что хочет рынок, что ты ему можешь предложить и что нравится тебе
    Нарабатываешь связи в коммюнити англозычном конечно же
    Тгда сможешь обойти модераторский ценз на любой платформе

    Смеяться над возрастом - глупо

    PS: tynansylvester.com/book книга от инди разработчика. Возможно она поможет
    Ответ написан
    1 комментарий
  • Стоит ли разрабатывать игру с дальнейшей ее публикацией в Steam Direct?

    @dinegnet
    Они никогда не узнают что вы школьник.
    Документы потребуются - все равно нужно совершеннолетие - придется оформить не на себя, а на, к примеру, родителей или старшего брата и т.п.
    Они просто не узнают сколько вам лет.
    Не парьтесь.
    Ответ написан
    2 комментария
  • Как принято у программистов: использовать для переменной свойство или давать параметр в каждом методе?

    @i_light
    Backend, XAML, crossplatform
    Это вопрос концепции. Свойства класса, которые принадлежат семантически его объекту - делайте свойствами. Данные, не относящиеся к объекту - передавайте параметрами.

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Выдавало решение о чем именно? Лучшее решение для чего? Какие критерии у этого "лучшее решение"? А что есть не лучшее решение? Какие тут критерии? Осознанный результат? А ничего, что для этого нужно сознание и разум какой-то? Сегодня наука даже не может дать однозначного ответа на вопрос - "Что такое сознание?".
    Кроме того, есть такая штука, как черный пиар и покупные отзывы. И огромное число этих самых отзывов в интернете - фальшивка. И какой результат будет после анализа фальшивых данных? И кому такой результат будет нужен?

    По сути в данном случае надо что-то типа экспертной системы или просто какая-то аналитика по ключевым словам из кучи разного информационного шума. Загружаем туда данные - а она уже что-то выдает. Самая знаменитая экспертная система на сегодня - это IBM Ватсон. И даже выдает какие-то результаты. И у него есть API - вот его и можно использовать. А вот результат будет зависеть от качества входных данных. А простейшая аналитика по ключевым словам - это регулярки плюс счетчики. Это несколько страниц кода или меньше (или больше - код же бывает разный).
    Ответ написан
    2 комментария
  • Философский вопрос про скидочные купоны?

    @Nwton
    Что за разработчики пошли, чтобы решить задачу в 2 строки, им нужны какие-то библиотеки: https://jsfiddle.net/rLr7kc4z/1/
    Ответ написан
    1 комментарий
  • Возможно ли стать олимпиадником с нуля?

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

    sashkets
    @sashkets
    Прекратил отвечать после 24.02.2022
    можно
    на server1 ставить фронтендом nginx, бакендом apache (а может и веб-содержимое можно перевести на nginx+php-fpm ? Подумайте)

    и в конфе нгинкса на server1

    server {
    server_name example.ru
    listen 80;
    root /home/example.ru/www;
    index index.php index.html;

    location /server2 {
    proxy_pass http://server2:5980;
    .....
    }
    ......
    это в принципе.
    запросы по адресу example.ru/server2 будут проксироваться на server2
    Ответ написан
    Комментировать
  • Unity | Объект движется сам по себе (2d ) что делать?

    @GreatRash
    Вот вы запустили игру и он сразу поехал? Не верю. Вы наверное тыкнули в стрелку на клаве и он поехал. Ну дык сила прибавилась объекту, ничто её не отнимает. Естественно в другую сторону он будет медленнее ехать, потому что вы к уже существующей силе "вправо" добавляете противоположную "влево". Предположу, что если вообще зажать кнопку на клаве, то он поедет с ускорением.

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

    @SuperOleg39ru
    Front-end разработчик
    Добрый день!

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

    flexbox, grid layout
    - это css из современных стандартов. Что бы знать, когда применять - вы должны знать версии старых браузеров, которые необходимо поддерживать на вашем проекте, и соответствующую поддержку этих стилей. Например, формировать элементы на flexbox на порядок удобнее, чем на float, но в IE9 вы уже использовать flexbox не можете.
    Немного о новинках в css тут.
    Поддержка браузерами тут.

    gulp, webpack и пр.
    - это инструменты, которые созданы для облегчения рутинных задач.
    Для верстки очень удобно использовать gulp - вы описываете задачи, такие как создание локального сервера, мгновенная перезагрузка страницы при изменениях, минификация ваших файлов, и прочее.
    Посмотрите отличный скринкаст от Ильи Кантора!

    препроцессоры
    - представьте, что вам чего-либо не хватает в html и css.
    Например, вы хотите разбивать большие html файлы на множество мелких, или вам нужно вставить в html динамическое содержание - для этого созданы html шаблонизаторы. Вы используете в работе синтаксис конкретного шаблонизатора, затем тот же gulp автоматически собирает эти файлы в обычный html, который понимает браузер.
    Аналогичная ситуация с css, препроцессоры позволяют разбивать файлы на мелкие, и собирать в один, доступны переменные и функции, и многое другое.
    Популярный шаблонизатор Pug
    Один из css-препроцессоров Stylus

    пакетные менеджеры
    - это удобный способ скачать конкретные библиотеки, и переносить их из проекта в проект. Статья про npm тут

    Ну и конечно статьи и подкасты:
    https://habrahabr.ru/
    jsraccoon.ru

    https://soundcloud.com/web-standards
    https://radiojs.ru/

    Конкретные статьи и ресурсы для новичка:

    frontender.info/a-baseline-for-front-end-developers
    frontender.info/a-guide-to-flexbox
    css-live.ru/articles-css/pravilnye-kontrolnye-toch...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://habrahabr.ru/company/zfort/blog/321214/
    https://frontendmasters.gitbooks.io/front-end-hand...

    Дерзайте!
    Ответ написан
    6 комментариев
  • Отличие драйвера от программы в робототехнике?

    @evgeniy_lm
    К примеру, покупаем привод (микромоторчик), приппаиваем к нему провод usb (или нужен переходник?) и втыкаем в комп, тогда моторчик начинает крутиться, так как есть ток, верно? Теперь, чтобы сделать включение/выключение с компьютера, и уж тем более скорость вращения, нам нужен некий контроллер. Для которого просто необходим драйвер?
    Дикая идея. Чисто теоретически можно запитать моторчик от USB, но лучше этого не делать. Даже если ты запитаешь моторчик от USB он просто будет крутится, для управления моторчиком с компьютера нужен микроконтроллер с соответствующей программой (не драйвером, учись использовать правильную терминологию) и программа управления на компьютер. Проблема в том, что МК с аппаратным USB стоят дорого, а программный USB штука для новичка сложная, но есть выход это платы Arduino (или их более дешевые и такие же надежные китайские братья). На платах Arduino есть конвертер USB-UART, т.е. при подключении такой платы к компьютеру у тебя будет обычный COM порт (вот тут тебе понадобится драйвер конвертера) с помощью которого можно обмениваться данными с МК.

    Все драйвера пишутся на c++ либо ассемблере, так? Я пишу в visual studio на c#. Нельзя ли как-то обойтись без c++ и ассемблера для таких задач?
    Не вижу проблемы в изучении С# и С++ ближайшие родственники. У Arduino свой язык Wiring похожий на С. Т.е. для компа пишешь на C# для Arduino на Wiring

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

    Родной язык c#, нельзя ли как-то обойтись одним этим языком? Так же наткнулся на описание microsoft robotics developer studio, но конкретных примеров не нашел. Такие вещи создавались как раз, чтобы упростить решение моей задачи? Так же есть некие arduino, это и есть та плата, на которой могут быть установлены двигатели и wi-fi модуль, через которую можно будет с компьютера управлять моторами используя какой-то их высокоуровневый язык без необходимости писать драйверы?
    В реальном программировании программист должен знать и уметь так много, что знание языков это малозначительная мелочь. Если ты, при необходимости, не можешь освоить второй/третий язык в программировании тебе делать нечего.
    Microsoft Robotics Developer Studio это совсем не то что тебе нужно в данный момент. Там пишут программы для управления роботами стоимостью за миллион долларов.

    ЗЫ Если будут вопросы пиши на почту, постараюсь помочь
    Ответ написан
    2 комментария
  • Не открываются страницы по IP-адресу, почему?

    Причина 1 :
    Начиная с HTTP/1.1 (лет 15 назад) появилась поддержка мультихост серверов. На одном IP могут располагаться сотни сайтов - браузер, обращаясь к серверу по IP, обязан добавить в заголовки HTTP-запроса строку "Host:", которая позволит понять, к какому конкретно сайту Вы идете.

    В настоящее время мультихост является стандартом и нормой и подключение по IP является скорее исключением, вернее доброй волей хостера, который в отсутствие поля "Host:" выбирает за Вас какое из доменных имен предоставлять по умолчанию на данном IP.

    Причина 2:
    Все больше сайтов переходят на HTTPS. Для таких серверов соответствие доменного имени, вписанного в сертификат, уже критично заголовку "Host:", т.к. мало кто запрашивает кроме сертификата на свое доменное имя еще и сертификат на IP-адрес, который к тому же может изменяться. А современные браузеры при несоответствии полей сертификата реальному URL все чаще выдают ошибку, ограждая пользователя от подозрительного сайта.
    Ответ написан
    1 комментарий
  • Какой ЯП выбрать для данной задачи?

    @d-stream
    Готовые решения - не подаю, но...
    С помощью известного ТС языка.

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

    Для эксперимента конечно можно попробовать реализовать задачу на brainfuck -)
    Ответ написан
    Комментировать
  • В чем отличие двух данных (внутри поста) строк кода?

    @protven
    Нету. Еще можно и так написать.
    int loc [];
    Ответ написан
    Комментировать
  • Как проверить в данной задаче можно ли делить чисто на 3 последнюю цифру?

    @Sumor
    Формулировка задания, я бы сказал очень неточная, но отвечаю так как я её понял.
    "Нужно найти разбиение стоимости на пяти- и трёхкопеечные монеты без остатка"
    Для стоимости более 15 копеек такое разбиение всегда можно найти. Для цены до 15 копеек возможность разбиения находится перебором.
    Для определения минимального количества трёхкопеечных монет смотрим на остаток деления на 5:
    остаток 0 - 0 (или 5) трёхкопеечных монет
    остаток 1 - 2 трёхкопеечных монеты
    остаток 2 - 4 трёхкопеечные монеты
    остаток 3 - 1 трёхкопеечная монета
    остаток 4 - 3 трёхкопеечные монеты
    Количество пятикопеечных монет считаем исходя из количества трёхкопеечных.

    NB: трёхкопеечные, а также пятикопеечные монеты пишутся вместе. Если вы пишите количество монет и не хотите склонять их названия, пишите количество после наименования: трёхкопеечных монет - 5.
    Ответ написан
    Комментировать
  • Как на C++ узнать количество передаваемых аргументов?

    MrNexeon
    @MrNexeon
    Быстро и легко. Считаем с помощью вариативных шаблонов и оператора sizeof

    template <typename ... Args> int ArgsCount(Args ... args) {
        return sizeof...(args);
    }
    
    std::cout << ArgsCount(1, "hello", 2.f); // Вывод: 3
    Ответ написан
    Комментировать