Задать вопрос
  • Сколько можно делать соединений кабеля(розетки, муфты)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    piki103: еще можете пинг нагрузить, увеличив размер пакета.
  • Как в linux создать устройство типа буферизированного файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    pixik: Основная проблема, что все, что вы пишете, кажется немного костылем на костыле, потому что вы не описали глобальный смысл этого.

    У вас связь между двумя точками организована по модему, и нет возможности связать эти две точки, а инфу нужно гнать? Или у вас странное устройство, которое может только получать данные по ком-порту, а эти данные нужно гнать дальше?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    pixik: по поводу разрезания файла - готовая служба rotate может это делать для вас, и программа, которая пишет в файл, про это даже не заподозрит.
  • Как в linux создать устройство типа буферизированного файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    А зачем писать данные в файл?
    Почему нельзя писать данные в разные файлы, и передавать по модему уже завершенные? При этом их можно сжать, а если очень надо, объединить с той стороны.

    Что это за данные и почему нельзя передавать данные не файлом а другим способом, который больше подходит под передачу фрагментами?
  • Почему после запуска сервера сайт недоступен?

    saboteur_kiev
    @saboteur_kiev
    апач запустился : nternal Server Error

    Это означает, что апач НЕ запустился.
    Вам же там и написано - почитайте server error log, то есть скорее всего что-то типа /var/log/apache/errorlog

    возможно где-то в конфиг-файле опечатка
  • Правильно ли я понимаю Теорию о Скорости Передачи Данных?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    Серожа none: частота работы шины упирается не в это, а в технологический процесс изготовления чипов.
    Иначе почему в 90е годы скорость света упиралась в 5-12 мегагерц а сейчас в 4-6 гигагерц?
  • В какой сфере разработки ПО больше всего "алгоритмического" программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    andrewjabber: mamkaololosha:
    Процессоры улучшаются, ускоряются, новые инструкции. Появляются новые возможности - GPU, многопоточность, на порядки вырос объем доступной для анализа памяти.

    Кто-бы мог себе представить рабочий кодек x264 в 90-м году на 8086 ?

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

    Ничего не достаточно.
  • Как посчитать объем записываемых данных на сервер?

    saboteur_kiev
    @saboteur_kiev
    Пума Тайланд: первые SSD-шки IMHO умирали сами, просто от испуга, что их используют ;)
  • Как посчитать объем записываемых данных на сервер?

    saboteur_kiev
    @saboteur_kiev
    Пума Тайланд: Как торрент ssd убивает, если один раз записать и много раз отдать?
    Торрент, в отличие от БД даже фильм не перезаписывает ;)
  • PyQt - с чего начать изучение?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    Филипп Поликаренков: ну так тем более, вы не видите смысла в программировании и в практическом применении ваших знаний на практике. И как только встречается рутинное, неудобное для мозга действие, вы забрасываете. Значит просто не ваше.
  • PyQt - с чего начать изучение?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    Филипп Поликаренков: Ну значит найдите другую профессию.
  • Как спроектировать авторитетный игровой сервер?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    Сервер будет отрабатывать действия по степени их реальной длительности. Если у сервера указано, что переход из комнаты в комнату длится два тика, значит следующий переход он будет выполнять через два тика.
    При этом вполне можно добавить команду "стоп", при получении которой сервер сразу очищает весь буфер команд игрока, и ставит статус "стоп".
    Очередной "тик" сервера, когда он пробегает по всем действиям игрокам, сервер увидит статус стоп и прервет текущий action игрока согласно очередности.

    Что находится по вашей ссылке четко не ясно, но там не совсем то. Там вообще чуть ли не браузерка комнатная. В этом случае все делается иначе.
    Пошаговая стратегия, в которой каждый игрок отправляет свои действия. Сервер может просчитывать какие-то действия сразу автоматом (например бои в порядке очереди), а например сами постройки и сбор ресурсов не считает в принципе. Для этого используется схема таймстампов и расчет по последнему обновлению.
    Пример такой:
    я захожу в казармы и заказываю постройку 1000 лучников. Каждый лучник строится 0.5 секунды. В момент заказа, на сервер отправлена команда 1000 лучников. Сервер получает ее, проверяет ресурсы, и записывает время начала выполнения.
    Клиент со стороны игрока может сам по себе рисовать новых юнитов, согласно своим рассчетам, периодически отправляя запросы на обновление информации к серверу.
    В момент такого запроса, сервер сравнивает прошлое время с текущим, высчитывает сколько должно было быть построено юнитов, и добавляет их.
    Таким образом, расчеты делаются не каждые полсекунды для каждого игрока, а гораздо реже.
    Если игрок выйдет из игры - расчет вообще будет выполнен при следующем логине. Либо если другой игрок зайдет в эту комнату (то есть не важно кто вызвал апдейт, главное что расчет информации будет идти строго по запросу). Так снижается нагрузка на сервер от регулярных расчетов всего и всея, но тут не требуется идеальная синхронность.
    Взять популярные игры вконтактиках, с онлайном до 100к игроков, там даже начало боев часто определяется "примерно в пределах от 1 сек до 1 мин".

    То есть не существует идеальной синхронизации для многих игроков.

    Та же линейка, в момент осады (то есть пиковое время, когда в зоне видимости 2-4 тысячи человек), начинала жутко тормозить, а передавались исключительно клики мышкой, ибо в линейке нет такого, как движения стрелочкой, только клик "бежать по координатам x,y", кастануть в игрока ID xx скиллом yy
  • Как правильно составить регулярное выражение?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    exedis: А если site.ru это не шаблон, а урл?
    Вы правильно вопрос задайте.
  • Как спроектировать авторитетный игровой сервер?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    Alexey Lizurchik: так я же уже ответил.

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

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

    Дальше - думайте сами, игры разные, случаи разные...
    Я еще помню doom2 целиком на tcp, который шел со скоростью самого медленного игрока в сети.
  • Как спроектировать авторитетный игровой сервер?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    Alexey Lizurchik: В сервере всегда есть свой цикл, по которому происходит процесс. У вас мобы как бегают? Мгновенно, или с определенной скоростью? У вас снаряды как летят - мгновенно, или от них можно увернуться? Как промежутки полета вычисляются?

    В той же Eve Online существует даже замедление игрового времени, если игроков в системе становится слишком много, чтобы адекватно успевать синхронизировать всех участников.
  • Как спроектировать авторитетный игровой сервер?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    от пользователей к серверу - tcp, от сервера к пользователям - udp
    таким образом, сервер всегда с определенной частотой рассылает всем игрокам текущий статус, и этот статус должен быть не инкрементивным а цельным. Если игрок не успеет принять какой-то пакет, это не страшно - в следующем пакете нагонит, ну а сервер не ждет от каждого игрока подтверждение, что пакет принят, таким образом сам по себе не тормозит с игровыми тиками.

    А игроки отправляют серверу с подтверждением по TCP, таким образом клиент игрока точно знает, что уже было отправлено на сервер с подтверждением, и может отрисовывать экшн, или наоборот залагать, но не влияя на остальных игроков.
  • Можно ли проецировать изображение на небо?

    saboteur_kiev
    @saboteur_kiev
    Днем - у вас ничего не получится никаким лазером. Точнее лазером разрешенной мощности не выйдет, а лазер более мощный - не разрешено использовать.

    www.x-light.ru/FAQ-Laser-to-sky.html
  • Можно ли взломать черз POST?

    saboteur_kiev
    @saboteur_kiev
    dvomaks: ну а что такого может испортить то, что в массив попадет странная информация? Пока ее никто не обрабатывает ничем, ничего она не сможет сделать.
    Вам же верно сказали, что надо смотреть где оно применяется, и чаще всего это в виде sql/exec injection