• Как сделать анимацию кардиограммы?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вообще рисование линий обычно делается через изменение свойств stroke-dasharray и stroke-dashoffset у кривых в SVG. Это самый простой способ в рамках фронтенда, хотя и изначально эти вещи были для другого придуманы. Но в случае с ЭКГ нужна постоянная скорость рисования по горизонтали. Поэтому можно взять прямоугольную маску в рамках той же SVG, и двигать ее в сторону:

    Ответ написан
    6 комментариев
  • Как сделать https в локальной сети?

    @rPman
    SSL Cloudflare отдает сертификат? или замыкает только на себя?
    если отдает то можно настроить dns (или локально на машине /etc/hosts) на свой локальный веб сервер, который этим сертификатом будет обеспечивать https
    Ответ написан
    2 комментария
  • Насколько хорошо бэкенд-разработчик должен знать SQL?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Безотносительно SQL. Любое собеседование на Джуна - это экзекуция. Потому что опыта нет. И от скуки тебя гоняют по всем основам. Если SQL то погнали. Нормальные формы. Транзакция. Если язык java/c# то давай напиши сортировку в 2 потока.

    Вобщем бить будут. Поэтому зубри.
    Ответ написан
    Комментировать
  • Свой почтовый сервер взамен яндекс почты для домена?

    ValdikSS
    @ValdikSS
    Что по опыту можете посоветовать?
    Как понимаю, речь про почтовый комбайн (suite), а не просто про MTA? Тогда только mailcow, всё остальное либо слишком простое (нефункциональное), либо требует ручной настройки в конфигурационных файлах. В mailcow все функции, которые могут потребоваться, есть в веб-панели.
    Ответ написан
    4 комментария
  • Как на текущий момент можно получить дату создания страницы ВКонтакте?

    sergiks
    @sergiks Куратор тега ВКонтакте
    ♬♬
    Всё та же страничка "friends of a friend" ("foaf"), которая возвращает чуть-чуть невалидный XML:

    https://vk.com/foaf.php?id=XXXXX
    вместо XXXXX подставить цифровой id искомого аккаунта.

    Вот пример реализации на JavaScript – надо запускать в консоли, когда открыта страница на vk.com
    Ответ написан
    Комментировать
  • За счет чего происходит ускорение программ при наличии модуля ядра linux?

    ValdikSS
    @ValdikSS
    Модуль TUN/TAP, через которые работают все не-ядерные VPN, очень медленный из-за того, что у него есть только интерфейс получения и отправки пакетов по одному пакету за вызов. Большое количество переключений контекста между ядром и пользовательским уровнем очень затратны, что влечёт за собой неэффективное использование процессорного времени.

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

    Оценить ускорение от уменьшения переключений контекста довольно просто, достаточно провести тестирование со значительно увеличенным MTU пакета. Вот какие цифры приводит проект slirp4netns.

    Implementation |  MTU=1500  |  MTU=4000  |  MTU=16384  |  MTU=65520
    ---------------|------------|------------|-------------|------------
    slirp4netns    | 1.07 Gbps  | 2.78 Gbps  |  4.55 Gbps  |  9.21 Gbps
    Ответ написан
    4 комментария
  • Нужен ли бэкендеру HTML?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Разумеется нужен. Вы постоянно будете сталкиваться с шаблонами для вывода ваших страниц.
    Вы можете не уметь верстать, но уметь использовать готовую верстку в своих проектах обязаны.
    Ответ написан
    Комментировать
  • Нужен ли бэкендеру HTML?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Вопрос уровня "нужно ли водителю уметь пользоваться ложкой".
    Ответ написан
    Комментировать
  • Что лучше: больше полей или больше Join?

    @alexalexes
    Куча count - возможно, но не join-ов.
    SELECT 
        posts.id, 
        posts.name, 
        count(case when s_vk.social_name = 'vk' then 1 end) as count_vk, 
        count(case when s_vk.social_name = 'tg' then 1 end) as count_tg,
        count(case when s_vk.social_name = 'ok' then 1 end) as count_ok,
        count(case when s_vk.social_name = 'tw' then 1 end) as count_tw
    FROM posts
       LEFT JOIN socials as s_vk on s_vk.post_id = posts.id 
    GROUP BY posts.id, posts.name

    В вашем случае для ускорения не подходит ни то, ни другое.
    Нужно вести отдельную таблицу в качестве кеша с аналогичными полями:
    posts_id,
    count_vk,
    count_tg,
    count_ok,
    count_tw
    При возникновении события клика на соц. сеть - добавлять запись в socials, а также триггером плюсовать значение по полю кеш-таблицы (и предварительно создавать запись в этой таблице по post_id, если не было ранее событий).
    Для необходимости сброса кеша нужно сделать хранимую процедуру для его перегенерации на основе данного запроса.
    PS:
    Еще бы разбить таблицу socials - на справочник соц. сетей:
    id - идент. соц сети.
    full_name - полное название соц. сети,
    abbrev - аббревиатура, например, ОК, ВК и т.д.
    tag_name - тех. название, например, ok, vk и т.д.
    ... - другие параметры соц. сети

    И таблицу для фиксации кликов:
    soc_click_events
    id - идент. события,
    post_id - идент. поста,
    social_id - идент. соц. сети,
    event_date - дата и время клика,
    ... - другие параметры клика

    PPS:
    В итоге, для фиксации событий клика и поддержания структуры базы в нормальной форме вы используйте три таблицы - posts, socials и soc_click_events.
    Для решения статистических задач вы делаете отдельные кеш-таблицы и обслуживаете их либо триггерами, либо хранимыми функциями и процедурами, получая статистические данные из первичной структуры.
    Ответ написан
    1 комментарий
  • Можно-ли поднять сеть по двум жилам?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    DSL - модемы должны быть "разные". Клиентский с клиентским разговаривать не захотят.

    Даже если вам удастся поднять связь (потратив кучу денег на симметричные модемы (SHDSL)), это будет в самом идеальном случае (прямой провод в экранированном кабеле без скруток и муфт), 15 мегабит. Что для комфортной офисной работы неприемлемо.

    У вас остаются варианты - 7 штук хабов или репитеров ethernet, либо оптика.

    Также по этому проводу можно пустить RS485 (но очень желательно, чтобы провод был витой, а лучше - витой в экране), но скорость будет хорошо если 19 килобит.

    Или пустить dialup-модем, но скорость будет, в идеальном случае, 56 килобит.
    Ответ написан
    2 комментария
  • Почему Doom портируют куда только можно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Doom - это была одна из первых игр где была реализована в полной мере техника BSP (Binary-Space-Partition). Это позволяло в реальном времени очень быстро сортировать и рендерить полигоны без привлечения Z-Buffer. (Рендеринг был чисто прогарммный. На то время еще не было ускорителей 3Д графики и видеокарточка умела только отображать память на экран. ) Игра не была по настоящему трехмерной. А только рализовывала 1 этаж. Рендерить надо было только пол и потолок. Для каждой точки где стоял персонаж. И наклонных горизонтальных поверхностей в ней не было как раз по этой причине. Ее называли 2.5-мерной игрой. Было также много идей оптимизации вычислений. Например вместо вещественных чисел - целые 32х битные с fixed point.

    В скобках замечу что это был 1993 год и на дворе было царство Intel 286/386. Это были машины с тактовой частотой меньше ваших телефонов (Pentium только только релизнулся и еще ни у кого не был). И трехмерный Doom был прорывом. На моем тогда еще 386SX от подтормаживал но играть было можно. И со звуком для SoundBlaster. И конечно это было лучше чем Wolfenstein.

    Аналогичное было реализовано в Duke Nukem 3d. Но Дюк был менее популярен ИМХО. Были и масса других 3д игр в жанке RPG но они были не такие динамичные. Походовые в основном.

    Вобщем сегодня если вы гейм-дев то вам желательно хотя-бы ознакомиться с техниками оптимизации которые были в Doom. Можно почитать и про Quake но это просто развитие идеи BSP деревьев для полного 3D с 5 или 6 степенями свободы. Еще можно почитать про реализацию игры Esctatica. Там не на полигонах а на шариках или эллипсах реализована игровая графика. Тоже интересно.

    UPD: Заменил MMORPG на RPG.
    Ответ написан
    6 комментариев
  • Как пофиксить smtp почты на домене от mail.ru?

    paran0id
    @paran0id
    Умный, но ленивый
    mail.ru недавно ввёл "пароли для приложений", отдельные от пароля на аккаунт. Сгенерируйте пароль для приложения и используйте его.
    Ответ написан
    2 комментария
  • Как в 2022 году лучше размещать Django проекты на IIS?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    В 2022-м лучше не использовать IIS.
    Ответ написан
    Комментировать
  • Как расшифровать Exit code?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Переполнение стека.
    Ответ написан
    Комментировать
  • Как запустить python скрипт и закрыть терминал?

    screen
    Ответ написан
    Комментировать
  • Сетевая карта для wmware esxi 7-8?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Идете сюда https://www.vmware.com/resources/compatibility/sea...
    задаете параметры поиска, ищете что нужно и смотрите цены\доступность.
    Ответ написан
    Комментировать
  • Как устранить ошибку: "can only concatenate str (not "int") to str: Django?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    >>> somevar = ''
    >>> somevar += 1
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: can only concatenate str (not "int") to str


    похоже на вашу ошибку?
    Ну так у вас в переменной - тоже строка. Преобразовывайте в int. Благо операция преобразования так и называется...
    Ответ написан
    Комментировать
  • Как устранить ошибку: "can only concatenate str (not "int") to str: Django?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    У вас, очевидно, selected_choice.votes - это строка, а вы пытаетесь применть оператор += с елым числом. Об этом вам и выдаётся ошибка. Нельзя к строке прибавить число.

    Пожалуйста, впредь приводите полный код. В частности не хватает описания модели Choice.
    А ещё нужно приводить целиком стек-трейс, чтобы не заставлять отвечающих читать ваш код целиком выискивая глазами причину ошибки.

    В модели нужно votes сделать целочисленным,если вы хотите прибавлять к этому полю числа. Иногда тип поля меняют, но необходимые миграции не накатыают на БД и при десериализации инстанса модели у этого инстанса атрибут, обозначенный в модели как целочисленный. может оказаться строковым, как по-прежнему указано в схеме БД.

    Делайте миграции или меняйте схему вручную для приведения в соответствие с моделью.
    Ответ написан
    1 комментарий