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

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

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

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

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

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

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

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

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

sts

  • 51
    вклад
  • 7
    вопросов
  • 57
    ответов
  • 49%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как сделать realtime чат на Vue.js?

    approximate_solution
    approximate solution @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Я хотел сделать на socket'ах с использованием фреймворка express

    Так express и не библиотека :) одну лазейку для вас уже и нашли.

    Можете покопать MDN и утереть нос боярам что сокеты это не только сетевая функция браузера, но и протокол, а про использование протоколов ничего не написано, поэтому велком.
    Ответ написан 07 апр.
    2 комментария
    Нравится 1 2 комментария
  • Какое состояние у современного фриланса на конец 2020?

    opium
    Пума Тайланд @opium
    Просто люблю качественно работать
    Все так же
    Говнокодеры в жопе, профи в шоколаде
    Ответ написан 24 дек. 2020
    4 комментария
    Нравится 28 4 комментария
  • В чём отличие @Decorator от @Decorator()?

    Assargin
    Anton Kuzmichev @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Декоратор - это функция, которой на вход подаётся функция и вернуть он должен тоже функцию. Например:
    @decorator 
    def foo():
     ..

    Эквивалентно foo = decorator(foo)

    Теперь про случай из вопроса. В качестве декоратора вместо обычной функции вы используете класс (точнее его объект):
    @FuncDec()
    def foo():
        print('Hello')

    Эквивалентно foo = FuncDec()(foo), а именно:
    • создаётся объект FuncDec (вызывается конструктор __init__)
    • этот объект вызывается (__call__) вместе с параметром foo
    • объект вернул функцию wrapper, которая и будет в дальнейшем выполняться вместо объявленной foo
    • профит

    Но если убрать скобки, то получится эквивалент foo = FuncDec(foo)
    То есть просто вызов конструктора, который у вас не принимает параметров - поэтому и ругается.
    Ответ написан 29 нояб. 2020
    Комментировать
    Нравится 11 Комментировать
  • Как создать снимок установленной на программы для дальнейшего распространения на компы пользователей?

    Zoominger
    Рональд Макдональд @Zoominger Куратор тега Системное администрирование
    System Engineer
    Ну, раз вы не посчитали нужным уточнить программу или хотя бы контейнер, в котором она поставляется, то давайте потыкаем 21-ым пальцем в Б-жье небо.

    Если программа в формате exe, то попробуйте погуглить "myprog.exe cmd keys" - обычно такие поддерживают ключи без проблем, причём установщики универсальны для всех программ и вы сможете автоматизировать галочки и параметры, которые задаются в процессе установки.
    Для разливки засуньте exe в msi (вы же умеете гуглить?) и разлейте через GPO.

    Если программа в msi, то тупо делаете для неё шаблон со всеми настройками и льёте через GPO.

    Если программа ни то, ни сё, то копируете её каталог со всеми настройками и разливаете по GPO скриптом на ПоверЩели, там же делаете ярлык.

    Вопросы?
    Ответ написан 24 июл. 2020
    1 комментарий
    Нравится 8 1 комментарий
  • На чем сделать файловый репозиторий с доступом по HTTP?

    Sanes
    Sanes @Sanes
    Это обычный Nginx или Apache.
    Ответ написан 23 июн. 2020
    2 комментария
    Нравится 6 2 комментария
  • Где лучше хранить изображения для админки?

    NikitaNike
    Никита Юдин @NikitaNike
    Вот короткая статья, как создать исключительно админку

    Вот цикл статьей, как создать CMS и админку

    Вот цикл видео по созданию CMS
    Ответ написан более года назад
    Комментировать
    Нравится 6 Комментировать
  • Как выбрать архитектуру и БД для высоконагруженной системы?

    stratosmi @stratosmi
    Добрый день! Хотел посоветоваться с опытными бэкэнд программистами.
    Встала задача создать высоконагруженный проект (Типо кассового решения). В базе данных через 1-2 года планируется , около 150млн записей у основной сущности (продажа).


    150 миллионов записей - это ерунда, а не высоконагруженное решение.
    У меня 5 000 записей в секунду создается на довольно дохлом (что-то около 500 рублей в месяц стоит хостинг) сервере VDS/VPS
    Два года? 150 миллионов - это за ... 9 часов.
    И да, я не считаю это решение высоконагруженным.
    Нагруженным - да.

    то есть нужно максимально быстрое чтение этих данных

    Нет.
    Людям не нужно снимать отчеты со всех данных сразу. Только часть данных интересует их.

    Если всё же нужны все данные сразу (ну какая-то общая статистика) - то на основании первичных данных выполняется агрегация (например, по ночам) и тогда отчеты будут строится вообще - мгновенно.

    Но большим плюсом является что эти 150млн записей - разделены примерно на 1000-5000 разных пользователей, и выборка нужна в рамках одного пользователя только.

    Вот только если ваши 1000-5000 пользователей будут постоянно получать данные - только тогда это и можно назвать нагруженным решением.
    Как лучше хранить такие данные? в одной таблице? или можно разделить по разным таблицам, и держать связку какой пользователь в какой базе хранит.

    Это зависит от того что за данные.
    Что именно за данные.
    Сам пишу на mysql - потянет ли он такие объемы, на нормальном железе. Или нужно смотреть в сторону других БД?

    MySQL довольно быстр.
    Например, PostgreSQL более функционален. Но насчет скорости - не обязательно.
    потянет ли он такие объемы, на нормальном железе

    А в официальную документацию заглянуть?
    https://dev.mysql.com/doc/refman/8.0/en/limits.html
    150 млн. записей для современных СУБД и современных компьютеров (даже не на "нормальном железе") - это тьфу, а не нагрузка.

    P.S.:
    Для высоконагруженных систем формирования отчетов есть различные решения:

    1. Предварительная (ночная) агрегация данных
    2. Master-slave, где master только обновляет данные, а slave - только для отчетов.
    3. Специализированные, заточенные под конкретный вид данных СУБД (InfluxDB, Redis-Tarantool-Aerospike, ClickHouse пр.)
    Ответ написан более двух лет назад
    4 комментария
    Нравится 17 4 комментария
  • Как осуществить плавный переход от картинки к картинке?

    aliencash
    Андрей Федоров @aliencash
    Партизан
    css не так аккуратен как photoshop, но попробуйте так codepen.io/aliencash/pen/gLvaXx
    Ответ написан более трёх лет назад
    5 комментариев
    Нравится 1 5 комментариев
  • Как осуществить плавный переход от картинки к картинке?

    space2pacman
    Ярослав Иванов @space2pacman Куратор тега CSS
    Просто царь.
    На сайте обычная png картинка с прозрачностью. Никакого отношения к скриптам не имеет. Если хотите прозрачность то гуглите opacity.

    www.w3schools.com/cssref/css3_pr_opacity.asp
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 1 Комментировать
  • Как преобразовать список чисел в список комплексных чисел в Python?

    Andy_U @Andy_U
    data=[4, 5, 7, 8, 9, 0, 3, 3, 6, 6]
    c = [complex(a, b) for a, b in zip(data[:-1:2], data[1::2])]
    print(c)
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 7 1 комментарий
  • Как оптимизировать запрос DELETE?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    DELETE `t1`
      FROM `t1`
      JOIN `t2` 
        ON `anotherstring1` = 'putin' AND `anotherstring2` = 'vodka' 
          AND `t1`.`sameint` = `t2`.`sameint`
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 4 1 комментарий
  • В каком типе переменной хранить (м\ж) пол?

    petermzg
    Петр @petermzg
    Самый лучший программист
    По причине сумасшествия в современном обществе, "пол" лучше хранить в int и для значений использовать отдельную таблицу.
    Ответ написан более трёх лет назад
    2 комментария
    Нравится 13 2 комментария
  • Как подходить к решению нетривиальных задач?

    Terras
    Сергей Нижний Новгород @Terras
    Привет.

    Всегда использую модель боли:

    1) Смотришь задачу
    2) Пытаешься её решить
    3) Понимаешь, что ты тупой идиот, который ничего не может.
    4) Поднимаешь в помощь гугл
    5) Поднимаешь в помощь литературу
    6) Спрашиваешь ребят на тему: "почему так, а не иначе".
    7) Выполняешь задание, осознавая, что ты тупой, раз на решение этой задачи тебе пришлось потратить столько времени.

    Повторить до бесконечности, и ты станешь профи.
    Ответ написан более трёх лет назад
    7 комментариев
    Нравится 54 7 комментариев
  • Для чего нужны Генераторы (yield) в php?

    entermix @entermix
    Генераторы в PHP
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 4 Комментировать
  • Как реализовать?

    bigton
    Anton B @bigton
    Web-программист
    Вот тут всё подробно расписано php.net
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 7 1 комментарий
  • ООП в высоконагруженных проектах считается устаревшим?

    miraage
    Mikhail Osher @miraage
    Мужик дегенерат, однозначно.

    // EDIT

    Посмотрел прикрепленные исходники. Закапал святую воду в глаза.
    Выкиньте это всё, покажите ему, например, PHP: The Right Way.

    Я бы на Вашем месте уволился, незадумываясь.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 64 Комментировать
  • Нужноли фильтровать POST в таком случае?

    codeturn
    Code Turn @codeturn
    стоит сделать хотя бы htmlspecialchars, дабы избежать xss.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 2 Комментировать
  • Почему возвращается Bad signature","error":"104 при попытке публикации медиатопиков?

    Vjaka
    Vjacheslav Kanivetc @Vjaka
    Платформа игр (Одноклассники)
    Потому что в запросе не хватает access_token поля для указания того что это определенная OAUTH сессия. Без него сессия берется из куки, где ее либо нет, либо она не соответствует подписи.

    Пример виджета на гитхабе https://github.com/apiok/js_sample_widgets/blob/gh...
    Ответ написан более трёх лет назад
    3 комментария
    Нравится 1 3 комментария
  • Как воспроизвести gsm файлы(asterisk) на веб странице?

    Евгений @ugine
    quicktime player умеет воспроизводить gsm, в том числе есть плагин для браузеров
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 1 Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • Rsa97
    Rsa97
    • 9 ответов
    • 0 вопросов
  • DevMan
    DevMan
    • 8 ответов
    • 0 вопросов
  • Kozack
    Alex
    • 7 ответов
    • 0 вопросов
  • BormotunJedy
    Elena Fire
    • 7 ответов
    • 0 вопросов
  • opium
    Пума Тайланд
    • 7 ответов
    • 0 вопросов
  • Василий Банников
    • 6 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

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

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