Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Облака: ожидание vs реальность
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
xenon

Ярослав

Too drunk to fsck
  • 23
    вклад
  • 39
    вопросов
  • 44
    ответа
  • 14%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как по сети оповестить одного из сотен-тысяч клиентов?

    vistoyn
    Ильдар @vistoyn
    программист
    RabbitMQ не подойдет. Это для микросервисной архитектуры.
    То что ты говоришь, называется web push уведомлениями.
    Почитай алгоритм как они работают, и сделай также.
    Вроде как есть https://gotify.net/ и клиент под него

    Проблема с вебсокетами в том, что на каждого подключённого клиента, на сервере будет выделяться память. И если много клиентов одновременно будут держать открытые соединения, то может память сервера кончится, и надо будет масштабировать сервер.

    Как вариант можно юзать UDP протокол. Там не тратится память. Но надо будет решить проблему с NAT. NAT на клиенте можно обойти через проброс портов на роутере. Есть даже автоматический проброс портов через UPnP. Но это не везде будет работать. Где не работает, там вебсокеты.

    Как идея второй вариант:
    Если обновления происходят раз в час, или раз в неделю, и задержка в 5-10 минут не критична, то можно следующее решение. Клиент по таймауту раз в несколько минут отправляет post запрос (чтобы не кэшировался), где будет возвращен timestamp с последней новостью. Можно даже создать 100к txt статических файлов для каждого клиента и раздавать их через nginx или CDN. А для того чтобы "пнуть клиента", достаточно в txt файл записать новый timestamp.
    Ответ написан 25 февр.
    2 комментария
    Нравится 1 2 комментария
  • Куда делось место в пустом каталоге и как его увидеть?

    Lynn
    Lynn «Кофеман» @Lynn
    nginx, js, css
    Судя по строке
    drwxr-xr-x 1 xenon xenon 2813952 Feb 11 20:49 .
    в этом каталоге в какой-то момент было очень много (тысячи) файлов.

    В ext2/3/4 каталог это такой «специальный файл» в котором записаны имена (и ещё что-то) содержащихся в нём файлов. И если их много, то и сам каталог будет большим. Но при этом механизма уменьшения размера каталога не предусмотрено.
    Стандартный вариант, скопировать все файлы из него в новый каталог, удалить этот и переместить новый на его место.
    Ответ написан 11 февр.
    2 комментария
    Нравится 4 2 комментария
  • На каком уровне должен быть твой javascript для перехода к изучению фреймворка(vue,react)?

    Dr. Bacon @bacon
    Там практически для всех есть реализации ToDo, открываешь их, если в общих чертах понятно что происходит, то готов, если не понятно, но за полчаса гугляжа стало понятней, то тоже готов.
    Ответ написан 05 февр.
    Комментировать
    Нравится 4 Комментировать
  • Можно ли получить URL отправителя GET-запроса через PHP?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    Поле Referer в заголовке запроса.
    Клиент может как вообще не передавать это поле, так и передать любое произвольное значение.
    Ответ написан 05 февр.
    3 комментария
    Нравится 1 3 комментария
  • Купил ssl сертификат, но нет crt?

    CityCat4
    CityCat4 @CityCat4 Куратор тега Цифровые сертификаты
    Если я чешу в затылке - не беда!
    Купил ssl сертификат

    Не, нифига. Факт уплаты денег не означает факт поставки товара :) CSR - файл запроса на сертификат, KEY - ключ сертификата. Теперь CSR нужно отправить в тот CA, у которого купили - в ответ придет CRT.
    Ответ написан 05 февр.
    Комментировать
    Нравится 2 Комментировать
  • Купил ssl сертификат, но нет crt?

    ky0
    ky0 @ky0
    Миллиардер, филантроп, патологический лгун
    Похоже, ещё пока ничего вы не купили. Для начала - и ключ, и запрос на подпись вы генерируете сами, на доверенном устройстве. Затем CSR отправляете продавцу воздуха в удостоверующий центр, который из него делает валидный сертификат.
    Ответ написан 04 февр.
    Комментировать
    Нравится 4 Комментировать
  • Как правильно организовать адреса-методы REST/HTTP для типового веб-приложения?

    petermzg
    Петр @petermzg
    Самый лучший программист
    GET /staff - список сотрудников, но скорее общий, а не отдела.
    Для отдела лучше GET /department/< name or ID >/staff
    POST /staff - добавление нового сотрудника
    PUT /staff/< id > - изменение всех данных по сотруднику
    PATCH /staff/< id > - частичное изменение данных по сотруднику
    DELETE /staff/< id > - удаление сотрудника

    Для груповых действий над сорудниками можно
    POST /staff/actions c телом запроса { "action": "raise_salary", "value": "20%"}
    либо POST /staff/< action >, то есть POST /staff/raise_salary с телом {"value": "20%"}
    Ответ написан 02 февр.
    Комментировать
    Нравится 1 Комментировать
  • Почему двухфакторная аутентификация не ухудшает безопасность?

    0x131315 @0x131315
    Активировав 2fa, получаешь одноразовый токен для устройства и десяток одноразовых резервных токенов для входа.
    При утере устройства, входишь через один из резервных токенов, анулируешь токен устройства, и перевыпускаешь новый.
    Утеря устройства и утеря/исчерпание резервных токенов - потеря аккаунта.
    Ответ написан 28 дек. 2020
    Комментировать
    Нравится 1 Комментировать
  • Почему двухфакторная аутентификация не ухудшает безопасность?

    saboteur_kiev
    Saboteur @saboteur_kiev
    software engineer
    То есть, зная пароль, но лишившись номера телефона, должно быть можно восстановить номер. А имея номер телефона, должно быть можно восстановить пароль.

    Но в чем тогда выгода?

    В том, что вы привели пример НЕПРАВИЛЬНОЙ настройки двухфакторной авторизации.
    Восстановление доступа должно идти через службу безопасности, возможно даже с личным присутствием.
    А то, как двухфакторная авторизация сделана в общих мобильных сервисах - это так, для галочки и небольшого усложнения.
    Ответ написан 28 дек. 2020
    1 комментарий
    Нравится 5 1 комментарий
  • Как сделать безопасное исполнение пользовательского кода (lambda, function as a service)?

    inoise
    Иван Шумов @inoise
    Solution Architect, AWS Certified, Serverless
    Тут должна быть шутка про Firecracker на котором работает AWS Lambda
    Ответ написан 21 окт. 2020
    2 комментария
    Нравится 1 2 комментария
  • Как сделать безопасное исполнение пользовательского кода (lambda, function as a service)?

    gbg
    Фокс Йовович @gbg
    Баянист. Тамада. Услуги.
    Самое главное - брать с людей деньги и вести логи.

    Что касается докера - чисто технически, докер накладывает некоторые небольшие тормоза на сеть (в определенном режиме, когда он проксирует порт машины на порт в контейнере) и на ФС (когда контейнер работает не с вольюмом, а с оверлеем).

    На вычисления оверхеда нет.

    Докер - это не виртуализация, это просто аккуратная настройка network namespaces и cgroup. Где вы видите жор ресурсов? Конечно, если это делать через кубернетис, который тащит порядка двух гиг своего барахла, это будет жор ресурсов.

    Все набросанные вами идеи как раз и реализуются при помощи ковыряний в cgroup и network namespaces, так какой смысл повторять докер своими руками?
    Ответ написан 21 окт. 2020
    Комментировать
    Нравится 1 Комментировать
  • Как отображать разные посты блога Gatsby JS?

    ParaBellum577 @ParaBellum577 Автор вопроса
    Понимаю, что тут никто не ответит на подобного рода вопросы, поэтому отпишу сам, мб кому-то пргодится...
    Решил вопрос подключением другой CMS (Contentfull), которая может отправлять json типа Rich Text. Его можно спокойно вылянуть через GraphQl, распарсить и отобразить на странице динамически любой контент.
    Ответ написан более года назад
    2 комментария
    Нравится 2 2 комментария
  • Как открыть www.dhl.ru curl'ом?

    dasha_programmist
    Даша Циклаури @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    curl 'http://dhl.com/' \
      -H 'Connection: keep-alive' \
      -H 'Upgrade-Insecure-Requests: 1' \
      -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36' \
      -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
      -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
      --compressed \
      --insecure -I
    
    TP/1.0 301 Moved Permanently
    Location: http://www.dhl.com/
    Server: BigIP
    Connection: Keep-Alive
    Content-Length: 0
    Ответ написан 02 окт. 2020
    4 комментария
    Нравится 2 4 комментария
  • Почему сайт ФСБ (fsb.ru) не использует https и как проверить отозванные сертификаты по имени?

    Vitaly Karasik @vitaly_il1
    DevOps Consulting
    "Однако до сих пор не озадачились безопасностью передаваемой информации официальные порталы Президента России kremlin.ru, Госдумы www.duma.gov.ru, ФСБ России www.fsb.ru, Совета Безопасности РФ www.scrf.gov.ru. "
    https://roskomsvoboda.org/31159/ - 15.08.2017
    Ответ написан 23 сент. 2020
    9 комментариев
    Нравится 1 9 комментариев
  • Почему сайт ФСБ (fsb.ru) не использует https и как проверить отозванные сертификаты по имени?

    CityCat4
    CityCat4 @CityCat4 Куратор тега Цифровые сертификаты
    Если я чешу в затылке - не беда!
    Ну, Ярославище, американские законы далеко не всегда можно найти в открытом доступе - хайли лайкли знаете... А вот CRL - можно проверить, у нас не так уж и много крупных CA - thawte, comodo, globalsign... Вряд ли там был сертификат от LE :)

    UPD: Нифига не получится. В CRL есть только серийник и код отзыва :) Чел, у которого сертификат, конечно сможет проверить - а другие скорее всего нет :)

    UPD2 (большое):
    Ну, меня вопрос заинтересовал, и вот какие у меня соображения.

    Статья, разумеется, фуфел. У сайта fsb.ru, как и у kremlin.ru никогда не было сертификатов, проверить это можно у всезнающего гугла - сервис проверки. Сервис не находит ничего - то есть ничего не было. То есть, я так полагаю, все эти "35 отозванных сертификатов" на самом деле никогда не существовали, а упомянутые сайты никогда не имели сертификатов.
    То есть, получается, что американец пиZDит... как и полагается сейчас настоящему американцу :) Но тем не менее, он как ни странно - прав!

    Потому что проблема реально существует. Берем, например, яндекс.

    Сертификат выдан внутренним CA Yandex:
    CN = Yandex CA
    OU = Yandex Certification Authority
    O = Yandex LLC
    C = RU

    ...которое ессно не корневой СA, а его сертификат выдан:
    CN = Certum Trusted Network CA
    OU = Certum Certification Authority
    O = Unizeto Technologies S.A.
    C = PL

    ... которое - внезапно - находится (тут музыка, туш, чернила и клей) - в Польше!
    Issuer:
        CN=Certum CA,O=U­nizeto Sp. z o.o­.,C=PL
        CN=Certum Truste­d Network CA,OU=­Certum Certifica­tion Authority,O­=Unizeto Technol­ogies S.A.,C=PL
    Serial:
        1961572933532405­2664386507102252­1293608
        279744
        4772842536756395­3368335862826026­879003
        9458922105397704­9342468936609165­78283
    Not valid before:
        2008-10-22 12:07­:37 UTC
    Not valid after:
        2027-06-10 10:46­:39 UTC
        2029-12-31 12:07­:37 UTC
        2025-12-30 23:59­:59 UTC
    Key size:
        2048
    Signature Algorithm:
        sha256WithRSAEnc­ryption
        sha1WithRSAEncry­ption
    
    basicConstraints:
        CA:TRUE
    subjectKeyIdentifier:
        08:76:CD:CB:07:F­F:24:F6:C5:CD:ED­:BB:90:BC:E2:84:­37:46:75:F7
    authorityKeyIdentifier:
        DirName:/C=PL/O=­Unizeto Sp. z o.­o./CN=Certum CA­serial:01:00:20
    keyUsage:
        Certificate Sign­, CRL Sign
    crlDistributionPoints:
        Full Name:­ URI:http://crl­.certum.pl/ca.cr­l
    authorityInfoAccess:
        OCSP - URI:http:­//subca.ocsp-cer­tum.com­CA Issuers - URI­:http://reposito­ry.certum.pl/ca.­cer
    certificatePolicies:
        Policy: X509v3 A­ny Policy­ CPS: http://ww­w.certum.pl/CPS
        Policy: X509v3 A­ny Policy­ CPS: https://w­ww.certum.pl/CPS

    (пруф - вот)

    То есть, одним движением мышки Certum отзывает сертификат субцентра яндекса - и все сертификаты, выпущенные им, превращаются... в тыкву!

    Есть от чего с ума сойти...

    Ну и еще момент. Имея сертификат сайта - можно достаточно просто проверить факт его отозванности. Вот статья на хабре, она короткая, но полезные команды там есть.
    Ответ написан 22 сент. 2020
    8 комментариев
    Нравится 3 8 комментариев
  • Как использовать SQL-запросы в JavaScript?

    mcdb
    Денис Сафронов @mcdb
    То ли программист, то ли видение...
    Из JavaScript минуя PHP можно выполнить запрос используя Node.js или IO.js
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 4 Комментировать
  • Что значит этот SQL запрос?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    /*!32312 */ - текст внутри комментария используется, если версия mysql выше или равна указанной
    Для MySQL ниже 3.23.12 полная строка будет
    CREATE DATABASE `_mo`;
    Для версий от 3.23.12 до 4.0.xx:
    CREATE DATABASE IF NOT EXISTS `_mo`;
    Для 4.1.0 и выше
    CREATE DATABASE IF NOT EXISTS `_mo` DEFAULT CHARACTER SET latin1;
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 4 1 комментарий
  • Как быстро переносить сайты и реконфигурировать вебсервер (Облако как безотказный сервер)?

    inoise
    Иван Шумов @inoise
    Solution Architect, AWS Certified, Serverless
    То что вы хотите это целый комплекс работ и изменения в ваших процессах и инструментах. Рекомендую ознакомиться изначально с Cloud Adoption Framework. Затем посмотреть на Cloud Migration Best Practices.

    Все что вы перечислили не позволит дать вам какие-либо адекватные рекомендации по тому что нужно делать ассессмент текущей архитектуры, ресурсов, собирать требования к новой системе и уже смотреть в какой Клауд, зачем, для чего, нужно ли делать Hybrid Cloud и так далее
    Ответ написан более года назад
    2 комментария
    Нравится 1 2 комментария
  • Как узнать что скрипт работает от имени администратора?

    firedragon
    Владимир Коротенко @firedragon
    Senior .NET developer
    whoami

    There is os.getuid() which "Returns the current process’s user id.". But how do I find out any given user's id?


    Пользователь рут имеет id 0
    Ответ написан более года назад
    Комментировать
    Нравится 1 Комментировать
  • Есть ли где поиск фото по фотокамере (exif)?

    Shepoval @Shepoval
    https://www.flickr.com/cameras/panasonic/dmc-fz1000/ поиск фото по камере
    Ответ написан более года назад
    Комментировать
    Нравится 1 Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • Василий Банников
    • 12 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 8 ответов
    • 0 вопросов
  • galaxy
    • 6 ответов
    • 0 вопросов
  • saboteur_kiev
    Saboteur
    • 6 ответов
    • 0 вопросов
  • opium
    Пума Тайланд
    • 6 ответов
    • 0 вопросов
  • solotony
    Antonio Solo
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации