Задать вопрос
  • Как убрать ненужную всплывающюю подсказку?

    NeoAnderson
    @NeoAnderson
    Оно берёт язык из настроек браузера. Если браузером будет пользоваться человек у которого выставлен интерфейс на английском языке, то будет писаться по английски. Это HTML5
    Ответ написан
    6 комментариев
  • Тормоза браузера из-за стилей, решение?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Для начала для нас важно осознать, что у разных фильтров разная вычислительная сложность. Они не все "плохие". Алгоритмы для brightness, grayscale, hue-rotate и других манипуляций с цветом выполняются за O(1) для каждого пикселя. Т.е. нагрузка на железо растет линейно в зависимости от площади элемента на экране. Это не так страшно. А вот фильтры размытия, blur или drop-shadow, имеют сложность где-то в районе O(R^2). Там есть разные варианты оптимизаций, но в среднем мы говорим именно о квадратичной зависимости от радиуса размытия. И это для каждого пикселя. Именно отсюда мы имеем сильные тормоза при попытке что-то большое размыть на пол экрана. Дохлые видеокарты телефонов и ноутбуков не вывозят. Браузеры не умеют такие вещи переиспользовать, так что это переразмытие происходит снова и снова, и мы имеем что имеем.

    При этом фильтры в CSS, в SVG - это все грубо говоря высокоуровневые обертки над одними и теми же универсальными алгоритмами рендеринга. Мы можем в рамках WebGL написать свои шейдеры, которые будут делать то же самое. Обертки разные, но алгоритмы одинаковые. Поэтому замена одной технологии на другую ничего особо не даст в плане производительности. В вопросах оптимизаций нам нужно не по-тупому менять инструменты-обертки, а смотреть в конечные алгоритмы, которые будут задействованы на странице в реальном времени, и по возможности рассчитывать все заранее и переиспользовать.

    В контексте верстки тут есть полтора варианта, что можно сделать. Можно рассчитывать такие вычислительно-сложные штуки еще при разработке и загружать в страницу сразу в виде картинок или видео. Это не идеальный вариант, пропорции получаются фиксированные, но иногда подходит. Есть вариант рассчитывать такие штуки в фоне на WebGL. Т.е. мы грузим интерфейс, смотрим какого там все размера получается, и один раз в фоновом режиме генерируем картинки нужного размера и потом плавно показываем. Такой вариант частенько встречается в рекламно-конкурсных проектах, когда за прелоадером в начале скрывается в том числе и такая генеративная история. Тут мы получаем гибкость в плане размеров и хорошую производительность сайта в целом, потому что все операции проходят только один раз, а дальше у нас все переиспользуется в виде обычных картинок. Каких-то принципиально других вариантов у нас пока нет. Только дизайн менять.
    Ответ написан
    3 комментария
  • Битрикс свой favicon для домена?

    @koder_1
    Битрикс программист
    Условие пишите в header.php
    Если домен такой, то фавикон такой, а если домен такой, то фавикон такой.
    $_SERVER['HTTP_HOST'] или битриксовые апи функции.
    Ответ написан
    3 комментария
  • Есть ли разница кто будет обрабатывать оплату на сайте - фронт или бек?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Это надо делать на бэке по разным причинам. Как минимум одну ты уже сказал - не надо палить секретный ключ.

    Можно придумать 2 причину - отвал клиента: представь, что после оплаты клиент отвалился. Что будет?
    - Токен подтверждения оплаты потерян
    - После перезагрузки кэш браузера очистился

    В итоге деньги потратились, но информации об этом ты не получил. Все потерялось - только ручками эту информацию у провайдера оплаты получать и чинить.

    Если бы это сервер обрабатывал, то можно было бы какой-нибудь trace id сохранить в БД и быть уверенным, что даже если отвалишься, то в будущем сможешь проверить статус оплаты.
    Ответ написан
    4 комментария
  • Можете дать рекомендации и советы по ограничениям компьютеров в школах?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Против программного вандализма - бездисковые рабочие станции и сервер терминалов.

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

    И при любом инциденте - не стесняться. Досудебная претензия с полным "меню" восстановления, а при невыполнении в срок - в суд. Обычно "достаточно одной таблэтки" (с)
    Ответ написан
    Комментировать
  • Как разумно поставить себе начало в программировании (C++ и C#)?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    C++ является одним из сложных ЯП... блабла...Я осознаю, что для меня это слишком серьёзное и тяжелое начало

    Я разобрался как работает стек и как адресуется память в пятом классе без интернета и практически без документации. Была какая-то книжка по С++, которую просто перечитал раза 3-4, пока не понял смысл.

    На протяжении обучения в школе я размышлял о начале изучения языка программирования.

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


    Чувак, ты слишком много размышляешь и мало делаешь. Нет какого-то оптимизирующего волшебства, который может значительно сократить твой путь. Ты должен писать код. Много кода.
    А ты занимаешься фигней типа анализируешь трудоустройство еще даже не поняв, а можешь ли ты вообще что-то.
    Ты должен понимать, что если ты можешь написать, например, крестики нолики или морской бой - это еще не значит что ты станешь программистом и сможешь этим зарабатывать. Это просто любитель. Но ты даже этого уровня не достиг, а уже хочешь анализировать тренды и тем более подсчитывать предполагаемый заработок, до которого еще годы пути. Ты посмотри на политику в стране, никто не знает что будет через год.

    Если ты оцениваешь знания школьными мерками (типа экзамен сдал), то пора вырасти из этого статуса и переходить на оценку "я могу сделать вот это, оно будет работаь". Насколько красиво - это уже другой вопрос. Если ты можешь писать рабочий продукт, уже потом можно начинать его шлифовать и читать про красивый код.
    С нуля сложная архитектура сильно мешает, потому что не достаточно фундамента чтобы понимать почему именно вот это решение красивое а это нет.

    Если тебе интересна разработка и в будущем планируешь стать айтишником - просто бери и работай с компом. Пиши программы, сайты, поделки, настраивай что-то, интегрируй. Набирай фундамент. Интенсивность - по своему увлечению.
    В какой-то момент сможешь понять что тебе приятнее заходит, тогда может быть начнешь продвигаться уже в более узкой области, в конкретном языке, технологии. Специализация обычно начинается на уровне ну хотя бы джуниор, а не новичок/стажер.

    А про трудоустройство начинай думать, когда при прочтении описания вакансии ты считаешь, что 50-60% ты знаешь.
    Ответ написан
    12 комментариев
  • Почему экраны имеют разрешения не кратны степени 2? Почему 1080, а 1024, если вместо умножения на 1080, можно сдвинуть 10 байт?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Типа так сложно сделать 76 лишних пикселей?

    Производители дисплеев не производят отдельные дисплеи, это невыгодно.
    Вместо этого они оперируют понятием mother glass:
    mother-glass.jpg
    И уже эта стеклянная подложка нарезается на отдельные экраны, которые необходимы заказчику.

    Размеры "материнского стекла" более-менее стандартизированы в зависимости от поколения. Известны их размеры и диагональ (примерно от 50 см до 5 м).

    Это позволяет в т.ч. и заказчику расчитать сколько нужных ему дисплеев поместится на одном листе и подогнать размеры так, чтобы из одной большой матрицы получить максимум готовых изделий, минимизировав "обрезки".
    Ответ написан
    Комментировать
  • Как выровнять шрифт?

    Lynn
    @Lynn
    nginx, js, css
    font-feature-settings: 'lnum' 1;

    668d448a323e8531890739.png
    Ответ написан
    3 комментария
  • Почему окно браузера двигается вверх при открытии попапа?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    попап стоит на ссылке с href="#"?

    Если да, то не хватает e.preventDefault() в обработчике клика на кнопку открывающую popup

    Это полное вангование без кода конечно.
    Ответ написан
    Комментировать
  • Как организовать работу внутри компании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    нанимается проджект менеджер, который рулит людями
    выбирается тимлид, который рулит командой.
    проджект и тимлид делят проект на задачи - проджект с точки зрения бизнеса, тим лид с точки зрения технической реализации
    потом задачи выдаются разработчиками.
    Технически в этом помогает какой-то трекер, типа JIRA и система контроля версий и система ревью. Типа битбакет, гитхаб, гит, и другие.
    А так - слишком общий и нетехнический вопрос,
    Ответ написан
    2 комментария
  • Сравнение BrainyCP и FastPanel что лучше?

    Sanes
    @Sanes
    FastPanel несколько серьезней и современней.

    Имею 1000 клиентов и более 3 тыс сайтов.

    Если это не Ваши мечты, то странно, почему до сих пор не пользуетесь нормальными панелями управления.
    Например CloudLinux + ISPmanager Business.
    Ответ написан
    1 комментарий
  • Как избежать 429 ошибки при скраппинге?

    @Everything_is_bad
    долбить API с меньшей частотой, а еще лучше, выяснить какие у них лимиты и начать их соблюдать
    Ответ написан
    Комментировать
  • Как сделать отступ у элементов только между друг другом?

    Seasle
    @Seasle Куратор тега CSS
    .element + .element {
      margin-left: 20px;
    }

    https://developer.mozilla.org/ru/docs/Web/CSS/Next...
    Ещё варианты:
    • flex + gap для схожего поведения с grid'ами;
    • :first-child + :last-child для удаления лишних margin'ов;
    • :nth-child для удаления лишних margin'ов;
    • Как предложили ниже: использование отрицательных margin'ов для внутренней обёртки.
    Ответ написан
    Комментировать
  • Как задать градиент бордеру?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer

    Весь фокус в этом:
    border: 1px solid transparent;
    background: linear-gradient(#e5e2e2, #e5e2e2 0) padding-box,
    linear-gradient(90deg, #fa5560, #4d91ff) border-box;
    Ответ написан
    6 комментариев
  • Какими сервисами полезен KeyCollector? Он теперь перестал корректно собирать ядро?

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

    Данные на текущий момент ещё парсятся в кейколлектор с помощью сторонних сервисов типа xmlriver за вменяемые деньги порядка 100-200р в месяц при эпизодическом объеме сбора. И далее обрабатываются (минус слова и т.п.) непосредственно в кейколлекторе, это действительно удобно.

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

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Раздумываю над покупкой KeyCollector

    Он теперь перестал корректно собирать ядро?

    Да, помянем. Учитывая, что бизнес KeyCollector-а модель имеет тип "разовой продажи", то разрабу остается не очень много смысла переписывать приложение под "новые обстоятельства".
    KeySo тоже вроде может это?

    Фраза "тоже может" не корректна в контексте минимального тарифа 5 300 ₽/мес. Он то может, но не за разовый платеж ~2500р, который просил KeyCollector.

    Key Collector работает сейчас или нет?
    Ответ написан
    Комментировать
  • Какой актуальный стек верстки 2024?

    Если вы хотите научиться именно хорошо верстать, то углубляйте знания в чистом CSS.
    Изучите все самые современные техники и нововведения CSS, изучайте новые фичи CSS, которые только появились, и у них нет ещё полной поддержки в браузерах. Находите какие-то сложные примеры с CSS-tricks, пытайтесь сначала сами их повторить, а потом сравнивайте с оригинальным решением.

    Так вы будете на острие ножа, и сможете делать то, что обычная публика не умеет, сделаете хорошее портфолио и вас чаще будут брать на интересные и дорогие задачи. А Tailwind, Bootstrap и т.д.... каждая обезьяна может научиться использовать...
    Ответ написан
    2 комментария
  • Как увеличить общий манапул?

    1. Не надо выдумывать термины
    2. Нет смысла учиться 7 дней в неделю.
    Ответ написан
    Комментировать
  • Как передать в свойство SASS переменную, название которой в переменной JS?

    SkiperX
    @SkiperX Куратор тега CSS
    Js работает в браузере, там нет никакого sass. Он компилируется и идет в браузер в виде css.

    Вам нужно определить css переменную в атрибуте style (через v-bind). Записать туда значение из js. Дальше в стилях использовать css переменную.

    https://xhtml.ru/2021/javascript/sharing-data-betw...
    Ответ написан
    Комментировать
  • Как сделать, чтобы навигация разных слайдеров работала независимо?

    delphinpro
    @delphinpro
    frontend developer
    Разметку вы не показали, поэтому покажу суть. Нужно для каждого слайдера указывать именно его кнопки навигации, а не просто селектор, который выбирает все кнопки на странице.
    Часть правильного решения уже подсказали в других ответах.

    <div class="catalog-item">
      <div class="catalog-item-slider">Слайдер</div>
      <button class="nav prev"></button>
      <button class="nav next"></button>
    </div>

    document.querySelectorAll('.catalog-item').forEach(item => {
      new Swiper(item.querySelector('.catalog-item-slider'), {
        slidesPerView: "auto",
        loop: true,
        speed: 600,
        navigation: {
          nextEl: item.querySelector(".nav.next"),
          prevEl: item.querySelector(".nav.prev"),
        }
      });
    });
    Ответ написан
    Комментировать