• Как оптимизировать нагрузку на ЦП при отправке сообщения?

    @none7
    Действительно, почему же оно такое медленное? Может потому, что binary_t производит нечто подобное?
    {"bytes":[116,101,115,116],"subtype":null}.
    То есть происходит преобразование КАЖДОГО байта в десятичное число. Даже с применением несколько ускоренного алгоритма это всё занимает уйму процессорного времени.
    Ответ написан
    5 комментариев
  • Как оптимизировать нагрузку на ЦП при отправке сообщения?

    Оптимизировать нагрузку можно испралением участка исходного кода, который дает максимальную нагрузку. Выявить такой участок кода можно с помощью профайлера.
    Ответ написан
    1 комментарий
  • В чём принцип работы STUN?

    ayazer
    @ayazer
    Sr. Software Engineer
    tcp для p2p требует еще одного stun\turn\ice сервера для проведения хендшейка. иначе никак.

    чтоб было чуть понятней в чем проблема - если второй клиент за натом, то внутри адрес у него какой-то 192.168.22.88, а наружу он идет через нат с ипшником 172.22.20.20. проблема в том, что за этим натом может быть еще несколько сотень других компов, каждый с которых (снаружи) виден под этим ипшником. Именно по этой причине попытке законнектится к ипшнику вашего друга заканчивается провалом. нат просто не понимает что с этим запросом делать, потому отбрасывает его.
    Ответ написан
    2 комментария
  • В чём принцип работы STUN?

    @none7
    STUN нужен, чтобы узнать свой внешний ip и, что важнее внешний порт ассоциированный с внутренним. Ещё STUN сервер нужен, чтобы выяснить тип NAT. Если у одного из Вас Symmetric, а у другого RestrictedCone или PortRestrictedCone, то можно забыть про P2P. Больше STUN не на что не годен. В случае VoIP, клиенты желающие соединиться обмениваются через SIP адресами полученными через STUN и направляют на друг друга поток трафика. В случае restricted NAT передача должна начаться с обеих сторон иначе NAT принимающей стороны решит, что пакеты нужно отбросить. Teredo например начинает слать пакеты пустышки, получение которых символизирует, что соединение уже установлено. Вы можете написать собственный Teredo клиент по спецификации, она довольно простая.
    STUN такой куций протокол потому, что он лишь дополнение для SIP. Но это не мешает использовать его для своих нужд.
    Ответ написан
    Комментировать
  • Как открыть внешний порт для tcp сервера?

    @Fallenyasha
    Не совсем понятно что надо сделать, если просто Tcp сервер, то можно использовать TcpListener
    Ответ написан
    3 комментария
  • Как открыть внешний порт для tcp сервера?

    @d-stream
    Готовые решения - не подаю, но...
    Ну в обобщенном случае, если постучаться с компьютера за NAT в адрес xx.xx.xx.xx, то совсем не исключено что ответные стуки от строго того самого xx.xx.xx.xx могут быть донесены NAT до компа.
    Но не для всех NAT и не всегда...
    Ответ написан
    Комментировать
  • Как найти пустое место на воде в 2d?

    @AlexHell
    простое решение - цикл перебора рандомных варинтов X
    // ВНЕ цикла подбора рандомного X для оптимизации
      foreach (GameObject enemy in enemies)
      {
        // заполнить _usedCoordX
      }
    // цикл подбора рандомного X
    while (true)
    {
      int x = Random.Range(1 - _minX, _maxX);
      if (!_usedCoordX.Contains(x)) break;
    }


    (НЕ эффективное по перфомансу, можно оптимизить - структурами Spatial или заполненными областями - не буду приводить реализации)

    ___
    UPDATE:

    там где _usedCoordX заполняется
    хорошо бы бить поле на GRID равномерный, аналог хеша
    ______
    |__|__|
    |__|__|

    например
    если позиция object.X >= 10 && object.X < 20 то newX=1
    если позиция object.X >= 20 && object.X < 30 то newX=2
    и т.п с шагом 10
    тогда при уже существующем объекте с X = 15, не сгенерится объект с X = 16 или 17 и т.п т.к они в одной ячейке сетки

    и Random конечно по той же размерности кидать (_maxX должен быть не полного пиксельного\объектого размера, а размера сетки)

    UPD2: по теме https://gamedev.stackexchange.com/questions/69310/...
    и там же есть картинка

    UPD3: вместо равномерного GRID - можно юзать истинный Collision Detection, т.е после генерации Random X - проверять всех врагов вокруг, и если есть - генерить заного, так наверное лучше будет

    .. но опять же можно проверять по GRID-у всех в этой же ячейке (т.е если X равен 15, то проверим всех врагов - есть ли они в X от 10 до 19, и если нет - выход из цикла
    .. плюс проверять в соседних ячейках (иначе будут прям вплотную генериться
    Ответ написан
    Комментировать
  • Почему не грузится bios???

    @lonelymyp
    Хочу вылезти из минуса по карме.
    Очень рекомендую посмотреть отзывы про сервис, некоторые "сервисы" специализируются на сборе денег за диагностику и несуществующие операции, это популярный нынче вид мошенничества.
    Надеюсь вы не по объявлению в подъезде сервис нашли?
    Ответ написан
    Комментировать
  • Почему не грузится bios???

    eapeap
    @eapeap
    Сисадмин, Беларусь
    1. Как вы принимали работу, перед тем, как отдать 2к??? Ноут при приемке так же не запускался?
    2. На любые работы сервиса есть гарантия, от 2 недель до 3 месяцев обычно. Ноут в руки, квитанцию в карман - и в сервис!!!
    Ответ написан
    4 комментария
  • Почему не грузится bios???

    @kalapanga
    Странный вопрос! Несите обратно в тот сервис, который его в такое состояние привёл. Непонятно, зачем Вы его ещё и разбирали.
    Ответ написан
    4 комментария
  • Ошибка при работе с БД на Python?

    Ternick
    @Ternick
    Такая ошибка получается так:
    image.png
    Вообще я не работал с sqlite3, но если дадите вашу бд, то помогу.
    А так могу сказать что он ничего не находит по вашему запросу, а значит пихает None, а вы пытаетесь получить из него данные.
    Ответ написан
    4 комментария
  • Как сделать отправку по таймеру??

    MZOK
    @MZOK
    а
    можно использовать модуль time
    #тут проверка подписки на новости
    time.sleep(60)
    #тут отправка новости

    и т.д
    Ответ написан
    Комментировать
  • Офлайн распознание капчи, есть ли готовая библиотека?

    LightAir
    @LightAir
    LA
    С готовыми библиотеками не знаком (не требовались на практике ещё), хотя я знаю библиотеку, пусть и не предназначенную конкретно для распознавания капчи, но которая поможет легко это сделать.

    https://habrahabr.ru/post/158729/
    Для простой капчи думаю за пару часов можно разобраться, написать скрипт, обучить сеть.

    В общеобразовательных целях)
    https://habrahabr.ru/post/116222/
    Ответ написан
    Комментировать
  • Офлайн распознание капчи, есть ли готовая библиотека?

    @entermix
    Посмотрите Tesseract.js
    Ответ написан
    Комментировать
  • Как улучшить бота telegram?

    @djtelega
    файл php для исполнения должен содержать код внутри <?php ?> либо начинаться с похожей строки: #!/sbin/php
    т.е. в Вашем случае должно быть достаточно изменить эту строку:
    $code = $l1 . ' ' . $l2. ' ' . $l3. ' ' . $l4. ' ' . $l5. ' ' . $l6. ' ' . $l7. ' ' . $l8. ' ' . $l9. ' ' . $l10. ' ' . $l11. ' ' . $l12. ' ' . $l13. ' ' . $l14. ' ' . $l15;

    на такую:
    $code = '<?php ' . $l1 . ' ' . $l2. ' ' . $l3. ' ' . $l4. ' ' . $l5. ' ' . $l6. ' ' . $l7. ' ' . $l8. ' ' . $l9. ' ' . $l10. ' ' . $l11. ' ' . $l12. ' ' . $l13. ' ' . $l14. ' ' . $l15 . ' ?>';
    Ответ написан
    Комментировать
  • Что выбрать PHP, ASP. NET, NODE.JS, Python(Flask или Django)?

    Delgus
    @Delgus
    Ну сколько можно!!!
    PHP - Livestreet CMS или Humhub,
    1. за неделю настроили и дописали что вам нужно. MVP готов.
    2. документация есть по обоим
    3.Сняли VPS - 100 рублей в месяц

    На случай если вы вдруг оказались дико популярными или у вас в команде топовые менеджеры и маркетологи 2 варианта решения:
    1. Пишем микросервисную архитектуру, БД - POSTRGRESQL, шина данных NATS STREAMING. Сервисы на Golang очень хорошо пишутся. Настраиваем CI/CD. Когда сервисов становится слишком много и становится сложно ими управлять - переезжаем в Kubernetes
    2. Выделяем мне оклад в 500000 руб в месяц и на команду разработчиков - 3-4 миллиона в месяц
    Ответ написан
    Комментировать
  • Что выбрать PHP, ASP. NET, NODE.JS, Python(Flask или Django)?

    @andreysuha
    Что то знаю
    Сколько можно мучать этот вопрос? Писать нужно на том что лучше всего знаешь если пишешь под заказ, если для себя потренироваться то то что хочешь выучитить
    Ответ написан
    Комментировать
  • Что выбрать PHP, ASP. NET, NODE.JS, Python(Flask или Django)?

    PHP или. Net Core рекомендую.
    Ответ написан
    Комментировать
  • Что выбрать PHP, ASP. NET, NODE.JS, Python(Flask или Django)?

    sim3x
    @sim3x
    1. Вам не важна скорость, если вы задаете такой вопрос
    2. Джанго
    3. ВДС стоит столько же сколько и хостинг

    Для новичка неважно на чем писать
    Для новичка важно писать много

    Хотите сразу приучиться писать относительно хорошо - тогда джанга
    Там чистый код и если внимательно читать доки, то говнокода у вас не получится
    Ответ написан
    Комментировать
  • Что выбрать PHP, ASP. NET, NODE.JS, Python(Flask или Django)?

    @Programmir
    Нужно выбрать деньги для раскрутки социальной сети, а язык программирования без разницы.
    Ответ написан
    Комментировать