• Как сделать такую анимацию?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Крайне простая анимация, делается на чистом CSS + JS (для обработки смены слайда и последовательного включения анимации, если потребуется). В этой анимации все можно решить при помощи transform и opacity. Присмотритесь к видео (лучше скачайте его, чтобы мотать покадрово), разбейте каждый переход по пунктам. Я вижу, что фон через скейл анимируется отдельно от контента, а в контенте каждая строчка анимируется с transform: translateY(100%) в translateY(0%), последние строки еще анимируют переход opacity: 1 в opacity: 0.
    Когда слайд закрывается, весь блок с слайдом анимируется в transform: scale (какое-нибудь число больше единицы).

    Готовый код вам никто не даст, т.к. анимация слишком уникальна. Да и как правило, легче самому сделать анимацию, чем подстраивать чужую под свои нужды/

    Чтобы анимация не получилась глючной, смотрите, какие css свойства вы анимируете, сверяйте с списком https://csstriggers.com/opacity желательно, чтобы ваши свойства в основных браузерах не влияли на геометрию (пункт layout), идеально, чтобы не влияли и на отрисовку (пункт paint).
    Ответ написан
    1 комментарий
  • Почему короткий пинг и долгий UDP Москва - Хельсинки?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Причина - размер пакета, который по пути приходится сначала фрагментировать, а на месте склеивать обратно. Чем тупее железка - тем для неё это сложнее. Если нет возможности это настроить на уровне приложения/ОС, можете попробовать прокинуть туннель, который будет сам этим заниматься, отправляя в интернет уже нормального размера пакеты. Стандарт - 1500 (1460) байт.
    Ответ написан
    Комментировать
  • Как быстро усвоить большой объем информации?

    @dmshar
    При таком раскладе я бы шел итерационно. Сначала - бегло, все, в ширь. Т.е. просто понимаем, что, к чему и как устроено на этом предприятии. Но - повторю - поверхностно.
    Следующая итерация - начинаем углубляться, причем в какой именно точке - подсказывают обстоятельства (что-то случилось) или статистика (что чаше всего случалось раньше). Опять углубляемся до решения конкретной проблемы, понемногу затрагивая и смежные вопросы (задел на будущее).
    Если думаете, что человек, проработав 20 лет на одном месте не может столкнуться с новой для себя задачей , особенно в сфере ИБ - вы заблуждаетесь. Соответственно - комплексы "я чего-то не знаю" - отключаем сразу. Но да, особенно первое время придется учить много и постоянно, используя статистику предыдущих проблем. Не факт, что все запомнится, но основные опорные точки должны остаться в голове, и они в будущем, при возникновении реальной проблемы позволят вам найти решение быстрее и точнее.

    Ну и главный лозунг - "не запоминаем, а понимаем". Многим трудно это понять после 15 лет школьно-университетского стиля образования. Но в этом и есть формула успеха. Особенно в современном мире, тем более в информационных технологиях.
    Ответ написан
    1 комментарий
  • Домен третьего уровня бесплатно?

    DevMan
    @DevMan
    вы реально не можете себе позволить примерно доллар в год, и настрогать хоть 10050 поддоменов?

    нуок, не можете, бывает. но freeenom же никто не отменил.
    Ответ написан
  • Можно ли настроить git на скачивание проекта по частям?

    vabka
    @vabka
    Токсичный шарпист
    1. Идея с remote vscode классная, советую обратить внимание.
    2. У git clone есть параметр --depth, который позволяет указать, сколько коммитов в глубину ты хочешь вытащить из истории. Для очень больших реп нет смысла выкачивать всю историю
    https://gist.github.com/tuxdna/b8aa0a587689f8807c1...
    3. Есть partial-clone, но я не уверен, как и зачем он нужен.
    Ответ написан
    1 комментарий
  • Как запускать docker сервисы чтобы права на volumes принадлежали пользователю - хосту?

    В самом Dockerfile у них прописан явно юзер:
    RUN mkdir /srv/app && chown 1000:1000 -R /srv/app

    Скопируйте себе этот Dockerfile и измените в нём 1000 на uid текущего пользователя хоста. Укажите этот изменённый Dockerfile в docker-compose.yml:
    services:
      strapi:
        build:
          context: .
          dockerfile: Dockerfile-edited
    Ответ написан
    Комментировать
  • Как написать браузер на C++ для Linux?

    revenger
    @revenger
    49.5
    Почитайте для начала, может передумаете
    https://habr.com/ru/post/541196/
    Ответ написан
    Комментировать
  • Нужен ли Linux для C# разработчиков?

    profesor08
    @profesor08
    возненавидел Linux

    А что плохого сделал тебе линукс? Если не нравится консоль, то на любой другой операционке придется работать с ней, придется привыкнуть и осознать, что это тупо проще, быстрее, работает везде +- одинаково.

    По словам коллег, если я собираюсь развиваться в вебе, то мне никуда не деться

    Чушь. Все необходимые инструменты для фронтенда - кроссплатформенные, либо вообще онлайн в браузере. Разрабатывай хоть на linux, хоть на windows, хоть на macOS, если приложить некоторые усилия и смириться с неудобствами - на любом планшете используя только онлайн инструменты (figma, codesandbox)
    Ответ написан
    3 комментария
  • Что это за параметр в настройках NGINX?

    Это регулярное выражение: ^(.+)\.(\d+)\.(css|js)$

    ^ — начало строки
    ( ) — то, что внутри скобок, отдельно попадёт в переменные $1, $2, .. $N
    . — любой символ
    + — определяет количество предшесвтующего ему: «1 или несколько»
    .+ — один или несколько любых символов
    \. — буквально точка обыкновенная, point vulgaris, без спец. значения
    \d — цифра. \d+ одна или несколько цифр
    (css|js) – или "css" или "js"
    $ — конец строки

    Таким образом эта регулярка совпадёт, скажем, со строкой
    /css/main.min.682375227.css и заменит её строкой без числа:
    /css/main.min.css

    Наверное, так борются с кэшированием в браузере. В HTML можно писать с любым числом, и браузер подумает, что это что-то новое. А сервер всегда отдаст один и тот же main.min.css, какой там у него есть.
    Ответ написан
    1 комментарий
  • Что за коды мне приходят по SMS?

    @d-stream
    Готовые решения - не подаю, но...
    Есть кучи устройств, которые умеют посылать sms. Всяческие умные дома, шлагбаумы, скд, теплицы и т.п.
    И в каком-то из них вбит этот номер телефона для оповещений (ошибочно или раньше был у другого владельца).

    Притом зачастую какой-нибудь шлагбаум пусконаладчики запрограммировали, сдали заказчику и канули в лету... И теперь никто концов не найдет...

    А сообщения идут по достижению контрольных температур датчика или когда открывают корпус/дверцу

    p/s/ можно попробовать хакнуть устройство: оно вероятно примет звонок и там будет голосовое меню например)
    Ответ написан
    1 комментарий
  • Валидация на объектном уровне?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    В Django REST Framework валидация осуществляется на уровне сериалайзеров.
    При сохранении форм django - в методе clean
    Но ничто не мешает тот же метод clean использовать для кастомной валидации. Ну или save переопределить если потребуется.
    Так что на уровне объектов - потребность не частая.
    Ответ написан
    Комментировать
  • Какой UI фреймворк использовать для Linux?

    vabka
    @vabka
    Токсичный шарпист
    Ну раз не только питон и плюсы, то ещё C# Avalonia
    Ответ написан
    2 комментария
  • Нужно ли Python Backend разработчику знать JavaScript?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    1. SQL
    2. Python
    3. Django
    4. JS

    И дальше без остановки. Чем больше знаешь, тем больше программист.
    Ответ написан
    Комментировать
  • Проброс USB устройств на виртуалку VMWare?

    gbg
    @gbg
    Любые ответы на любые вопросы
    1) Anywhere USB
    2) Сменить гипервизор на KVM.
    3) Прокидывать не USB-устройства, а весь контроллер целиком.
    Ответ написан
    5 комментариев
  • Как тригернуть корутину и продолжить синхронный код?

    Сразу скажу, что как вы описали - не заработает. Любой синхронный код заблокирует выполнение event_loop, поэтому в асинхронном коде следует избегать использование синхронных вызовов и функций.

    Желаемого можно добиться, разбив функцию async_io на две части - первую до запроса к БД, а вторую - выполняющую запрос к БД. Тогда запрос к БД можно выполнить одновременно с расчетами через asyncio.gather
    import asyncio
    
    async def async_io():
        print("async_io start")
        result = 100
        print("async_io end")
        return result
        
    async def async_db_query(data):
        print("async_db_query start")
        result = await asyncio.sleep(1, result=500)
        print("async_db_query end")
        return result
    
    
    async def async_calculating(data):
        print("async_calculating start")
        res = 0
        for i in range(1000):
            res += 1
        print("async_calculating end")
        return res
    
    
    async def task():
        print("Task start")
        res_async = await async_io()
        res = await asyncio.gather(
            async_db_query(res_async), 
            async_calculating(res_async)
            )
        task_calc = sum(res)
        print(f"Task end. Result: {task_calc}")
        
        return task_calc
    
    
    loop = asyncio.get_event_loop()
    loop.create_task(task())
    loop.run_forever()
    Ответ написан
    1 комментарий
  • Какие части linux, нюансы надо знать, чтобы админить nginx?

    @karminski
    Senior React.JS Developer
    Самое важное - не лениться делать бекап конфигурации nginx каждый раз, перед внесением изменений.

    Ну а так, вообще-то начать нужно с основных сетевых понятий. Умение пользоваться утилитами Linux достигается за счёт единственной команды man или ключа --help для каждой утилиты.

    Ну и гугл никто не отменял. Если вы думаете, что гуру линукса помнят наизусть все команды - вы ошибаетесь.
    Ответ написан
    1 комментарий
  • Как на физическом уровне происходит прошивка нового выращенного процессора или любого другого микроэлектронного устройства?

    vabka
    @vabka
    Токсичный шарпист
    Процессор "выращивается" с уже полностью готовой структурой.
    А чтобы научиться проектировать процессоры - изучай архитектуры процессоров и базовые логические операции.
    Ответ написан
    5 комментариев
  • Почему после подключения внешнего монитора к ноутбуку приложения стали работать с использованием дискретной видеокарты Nvidia?

    @d-stream
    Готовые решения - не подаю, но...
    Собственно говоря автовыбор в 99% случаев - вполне достаточное условие.
    Ну а использование дискретной карты чем плохо? Только бОльшим потреблением? Но подключенный стационарный монитор как бы намекает на использование стационарно и не от аккумуляторов.
    Да еще вероятно разрешение и частота кадров у монитора огого - его вообще тянет встроенная?
    Ответ написан
    Комментировать
  • Почему роутеры стоят сильно дешевле сетевухи на 4 порта?

    hint000
    @hint000
    у админа три руки
    Вопрос из серии "почему автомобиль из салона можно купить за 520к рублей, а веосипед за почти 1200к рублей"

    Как говорилось в одном анекдоте, "так вы посмотрите на ЭТОТ мир и на ЭТИ брюки!"
    Так вы посмотрите на ЭТОТ автомобиль и на ЭТОТ велосипед!
    Так вы посмотрите на ЭТОТ роутер и на ЭТУ сетевую карту!

    Сетевуха с 4 портами - это серверное железо, нужное только тем, кто понимает, зачем нужно именно такое.
    Роутер за 2к рублей либо перестаёт поддерживаться производителем примерно с момента своего выхода на рынок, либо это Микротик, который хорошо поддерживается, но в нём так сэкономили на объёме флэша, что без костылей не хватает на простое обновление прошивки.
    Количество портов играет не первую роль (и часто даже не вторую) в ценообразовании. Важен функционал. Важны характеристики. Важна надёжность. Важна поддержка.
    Так-то можно купить четыре простых сетевухи по ~500 р. за штуку и выйдет сумма 2к.
    Ответ написан
    3 комментария