Задать вопрос
  • Как защитить Websocket based сайт от DDoS атак?

    @MechanID
    Админ хостинг провайдера
    Если сильно обощать ддосы бывают двух видов -
    1 атака на канал вам просто забивают трафиком под завязку сетевой интерфейс вашего сервера и он не может общатся с клиентами, это на стороне самого сервера никак не решается - только внешние решения типа клаудфлары.
    2 атака на приложение и сопутствующий софт, заваливают медленными коннтектами вебсервер пока не заокнчится лимит, ищут тяжолые дейсвия с базой на вашем сайте(поиск например) чтобы потом кучей запросов нагрузить базу и сервис начнет тупить, и так далее. Основные приемы борьбы - знать паттерн обычного пользвателя, и настроить необходимые лимиты чуть выше чем надо обычному юзеру) в фаерволе или фронтенд проксе (например haproxy)
    Ответ написан
    Комментировать
  • Как сделать Ruby on Rails запрос в бд через Active Record используя регулярные выражения?

    DevMan
    @DevMan
    не нужны здесь регулярки – достаточно like. типа Articles.where('label LIKE ?', '%Not Started%')
    Ответ написан
    4 комментария
  • USB Bluetooth адаптер совместимый с AirPods?

    iSlayer
    @iSlayer
    У меня BT400. Работает с AirPods отлично, как в винде так и в хакинтоше. Никаких прерываний или переключений режимов не замечено, стены пробивает на ура. Правда в винде иногда проблемы при переключении с iPhone, но если уж подключилось, работает без проблем. Возможно проблема в самих AirPods?
    Ответ написан
    3 комментария
  • Как организовать хранение подобных данных?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    items: id, title
    variations: id, item_id, title, price
    Ответ написан
    Комментировать
  • Понятность против оптимальности - что лучше?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    понятнее всегда лучше, тк это позволяет в дальнейшем развивать код, у которого ВСЕГДА короткий жизненный цикл, тоесть вы его будете не один раз переделывать и переписывать, и в рамках этого понятность предпочтительней чем сиюминутная "эффективность" которая в длительной перспективы никогда не эффективна.
    Ответ написан
    Комментировать
  • Упало дерево. Его касается кабель электричества. Можно ли трогать дерево?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    В принципе при таких ситуациях автоматика должна обесточивать линию.
    Но сами понимаете, бывает по разному, возможно кто-то отключил автоматику или она неисправна.
    По этому
    1. Без паники, ничего особенно страшного не произошло.
    2. Близко не подходить и своими силами не пытаться убирать лежачее дерево или провода.
    3. Позвонить в МЧС и сообщить о ситуации, возможно они ещё не в курсе и им это не интересно, но они будут вынуждены зафиксировать звонок и предпринять какие-то действия.
    Ответ написан
    Комментировать
  • Упало дерево. Его касается кабель электричества. Можно ли трогать дерево?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Не трогай ни в коем случае!
    И даже не подходи близко!
    Есть понятие "шаговое напряжение" - убьёт за несколько метров от дерева!
    Ликбез: https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B3%D...
    Ответ написан
    Комментировать
  • Как организовать хранение аудиофайлов для серверного проекта?

    @raiboon
    Просто хранить на жёстких дисках - неудобно и не сильно надёжно.
    Для кого разрабатывали ceph, minio, Gridfs, riakcs, etc?

    В целом, если есть возможность, то лучше s3 или аналоги от конкурентов.
    Но если хотите иметь полный контроль над инфраструктурой, то просто выберете подходящее решение.
    Ответ написан
    1 комментарий
  • Какой формат для передачи данных(объектов/списков) использовать при передаче через сокет?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Если нужен самый простой вариант, то да, как верно выразились выше: JSON.

    Ещё можно взять BSON, или Msgpack. Они будут эффективнее, но сложнее для отладки.

    Ещё, в в качестве самого корректного варианта я бы предложил Protobuf. Но стоит учитывать, что он сложнее описанных выше вариантов.
    Ответ написан
    Комментировать
  • Хочу чтоб сайт обрабатывался с помощью Apache поднятого в docker как реализовать?

    shabelski89
    @shabelski89
    engineer
    Гуглите docker compose, Link
    Ответ написан
    Комментировать
  • Нужна ли веб-программисту высшая математика?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Нет, высшая не нужна. Обычная геометрия пригодится при работе с картами. А так в абсолютном большинстве школьного уровня более чем достаточно, главное чтобы логика хорошо работала.
    Ответ написан
    Комментировать
  • Как найти причину падения \ замедления работы сервера с PostgreSQL?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    весьма мощный сервер (8gb

    Дааааа? А я думал дохленькая виртуалочка. Довольно средние железки на 256гб тогда что?

    На тяжелые запросы не грешу, т.к., во-первых, билд запросов на 100% отдан ORM (Eloquent, Lumen), и возможность кривыми руками написать какой-нибудь count(*) сведена к нулю

    Ха. Хахахаха. Хорошая шутка.
    Самый лютый бред вместо запросов делают именно ORM.

    Выкручивать настройки логирования, в момент проблемы смотреть хотя бы вот это: https://github.com/dataegret/pg-utils/blob/master/...
    Ставить какой-то мониторинг, умеющий мониторить базу.
    И смотреть что именно делает база и чем занято железо в момент проблемы. Особенно I/O. process title бы хоть сохранили/написали. Там и то продублирован command tag.
    Ответ написан
    Комментировать
  • Когда язык может стать узким местом?

    @rPman
    Язык почти никогда не создает проблем со скоростью, но их создают инструменты и библиотеки, которые используют разработчики, чтобы облегчить себе жизнь.

    И на php (phpreact) можно написать приложение, обрабатывающее 10к запросов в секунду на одном процессоре, а можно на nodejs (javascript) написать асинхронное приложение, которое штатным распаковщиком gzip будет тратить 99% времени на распаковку gzip а потом оставшуюся половину на копирование массива с данными (из-за чего скорость на порядок ниже php получается, реальный пример простой обработки БОЛЬШОГО количества упакованных текстовых дампов)

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, язык влияет на производительность программистов, а не программ. Узким местом может стать платформа, в вашем случае виртуальная машина CPython. Но при разработке сетевого ПО в целом и web-приложений в частности главный тормоз - это ввод/вывод. Издержки на него на порядки превосходят издержки на интерпретацию, так что последняя практически не влияет на производительность. В то же время CPython хорошо справляется с вводом/выводом с помощью Asyncio и способен решать проблему c10k.

    Во-вторых, это зависит от того, что именно делают ваши микросервисы с каждым запросом. Например, для обычного интернет-магазина на очень синхронном Django 300 rps - это вполне обычная нагрузка, о которой не стоит беспокоится, если в команде разработчиков нет умственно отсталых и криворуких.
    Ответ написан
    Комментировать
  • Какую справедливую формулу можно использовать для вычисления истинной симпатии (лайки) к ответу на Тостере?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Никакую. Все выводы из наблюдаемого поведения - субьективны. Реальность из субьективного восприятия получить невозможно. Какой метод рассчета Вы бы ни применили - вы получите субьективную оценку. Т.е. такую которая будет нравится Вам. Но никак не будет отражать реальную суть вещей.

    Вот Вам мысленный эксперимент. Представьте у Вас есть плагин который для Вас на Вашем ответе всегда показывает самое большое количество лайков. Независимо от реальной картины. Вы бы согласились на такую поддельную реальность? Наверное нет? Так что же Вами движет? Чувство несправедливости? Жажда познаний? Вы хотите понять, что делает ответ лучшим? Это бесполезно...

    Вот Вам еще один мысленный эксперимент. Представьте себе вы поймете как писать ответ так, чтобы он был отмечен лучшим. Будут ли данные по такой схеме ответы действительно лучшими или они станут просто собирать максимальное количество лайков? А если есть схема по которой можно дать действительно лучший ответ значит мы открыли универсальный способ познания. Нет? Значит остается только второй вариант. Получится просто ответ с большим количеством субьективной поддержки со стороны читателей. Это только ухудшит ситуацию, люди будут писать ответы ради одобрения окружающих. Вопрос уйдет на второй план. Платформа погибнет.

    Вот Вам пример из другой области. На литературных порталах можно прочитать разнообразные, порой полярные отзывы о книге. Есть ли математический метод который скажет, стоит мне читать эту книгу или нет? Способ один - почитать и узнать. Какую бы вероятностную уверенность ни выдал рекомендательный алгоритм в том, что мне эта книга понравится, она мне может не понравиться. И наоборот.
    Ответ написан
    3 комментария
  • Есть ли разница между энергопотреблением kde/gnome, xfce/mate?

    @fsduiwe
    Конечно есть
    kde/gnome жрет намного больше ресурсов чем xfce
    Я бы их так распределил по обжорству

    kde
    gnome
    mate
    xfce

    Кде использует видео карту
    Так же расход памяти больше

    От версии тоже многое зависит
    Ответ написан
    Комментировать
  • Как обрезать mp3-файл?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Почему сразу не в блокноте резать?
    Если по сути вот
    ffmpeg -ss 00:00:30.00 -t 25 -i bar.mp3 -acodec copy bar-new.mp3
    режет с любой точностью любой файл который скормишь, даже видео
    Ответ написан
    1 комментарий
  • Какой тип поля mysql для быстрого поиска?

    @shevchenko__k
    Помогаю новорожденным web программистам
    Ответ написан
    Комментировать
  • Подойдет ли SSE или оставить WebSocket?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    И SSE и WS - протоколы поверх http, оба могут работать поверх http/2 и иметь мультиплексирование
    Но есть между ними и различия:
    WS обеспечивает двухстороннюю связь, после установления рукопожатия любая сторона может слать сообщения, протокол бинарный, все сообщения кодируются в бинарные message-frame, что требует доп библиотек на стороне сервера (на браузере такая идет в стандартном апи), зато позволяет передавать как бинарные так и текстовые данные
    SSE - односторонняя связь, только от сервера к клиенту, клиент может передать данные только в url при открытии соеденения, дальше вещает только сервер, протокол текстовый, если есть бинарные данные их придется обернуть в base64 (например), с точки зрения сервера - это обычный GET запрос, который сервер не закрывает, а просто шлет данные в http body в особом формате, делая периодически flush соединения (в идеале после каждого сообщения)

    Все остальное, вроде комнат и т.д. - надстройки библиотек и не более
    В случае koa - по дефолту он завершает запрос когда зарезолвится промис из последнего middleware, для SSE придется это обходить
    Ответ написан
    Комментировать