Задать вопрос
  • Один проект или коммерческая разработка?

    RAFAILgaley
    @RAFAILgaley
    нет в жизни ничего хуже чем работа на заказ в россии
    лучше пилить один продукт и заниматься своими проектами
    Ответ написан
    Комментировать
  • Как решить ошибку при компиляции через nuitka?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Возможно, кириллические символы в пути.
    Ответ написан
    Комментировать
  • Как найти хаб в сети, если не знаешь где он?

    @iddqda
    network engineer, netdevops
    вытащить патчкорды из тех двух компов, и дернуть за них посильнее
    Ответ написан
    1 комментарий
  • Как передать реф дочерней компоненте?

    Alexandroppolus
    @Alexandroppolus
    кодир
    На первом рендере ref.current === null
    Да и не реф здесь нужен, а useState. С рефом каши не сваришь, не будет обновлений, он для другого используется.
    Ответ написан
    2 комментария
  • Булевы операции в php?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Читаем документацию:
    Смысл двух разных вариантов для операторов "and" и "or" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).

    Открываем таблицу приоритетов, ищем нужные операторы.
    && - 15 строка, = - 19 строка, and - 23 строка.
    Переписываем команды с учётом приоритета:
    $bool = true and false; => ($bool = true) and false;
    $bool = true && false; => $bool = (true && false);
    Ответ написан
    2 комментария
  • Стоит ли обновлять старый мак до последней версии?

    DevMan
    @DevMan
    сделайте образ диска и сохраните на отдельный диск.
    накатите свежак и тестируйте.
    понравилось? отлично!
    не понравилось? раскатали образ назад.
    Ответ написан
  • Странная проблема с Ethernet портом, как исправить?

    gbg
    @gbg
    Любые ответы на любые вопросы
    1) Заменить или переобжать кабель, сменить порт на свитче (это самая простая, быстрая и дешевая диагностика, которая исключает дурацкие проблемы)

    Но вероятнее всего

    2) Установить другую сетевую карту, так как в вашей, скорее всего, погорел разделительный трансформатор

    В этом случае, при наличии очумелых ручек, возможно

    3) Заменить трансформатор. Вероятнее всего, он совмещен с разъемом.
    Ответ написан
    3 комментария
  • Как учиться дизайну самостоятельно?

    Sanes
    @Sanes
    Ответ написан
    Комментировать
  • Как вывести в console.log букву P и A звёздочками *?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Взять файл с каким-нибудь растровым шрифтом. Загуглить (или заяндексить) формат. Прочитать файл, собрать матрицу для буквы. Распечатать.
    Можно и векторный шрифт, но там не обойтись без математики.
    Ответ написан
    Комментировать
  • Как реализовать SSR без использования глобального хранилища (на примере Vue 3)?

    @MEDIOFF
    Python Developer
    А причем у вас Vuex и SSR? Vuex просто хранит состояние - нет Vuex нет состояния, вы ничего не прокидываете на клиент с сервера, клиент каждый раз ходит к вам за новой страничкой, и вы ему отдаете ее уже наполненную со всеми данными - это и есть SSR, к примеру у вас обычно Vue получает список товаров с сервера, как получит показывает карточки, с SSR вы отдаете страничку сразу с карточками готовыми.
    По факту SSR нужен для SEO в большей части, так как я не знаю людей которые отрубают js в браузере

    Если нужен SSR, то рекомендую не изобретать велосипед, а посмотреть в сторону Nuxt
    Ответ написан
  • Как реализуется вывод сообщения об отсутствии соединения?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    window.addEventListener('online', () => {
      // связь есть, скрыть уведомление
    });
    
    window.addEventListener('offline', () => {
      // связи нет, показать уведомление
    });
    Ответ написан
    2 комментария
  • Почему нужно гуглить на английском?

    Adamos
    @Adamos
    Насколько я вижу, ваш вопрос в последнее время взялись активно порешать автоматически.
    Веб завален сайтами, представляющими собой корявый машинный перевод StackOverflow и других популярных англоязычных профессиональных сайтов.
    Понять, что они там напереводили, зачастую сложнее, чем просто прочесть оригинал.
    Ответ написан
    Комментировать
  • Почему многие крупные сайты тормозят по самые помидоры?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    7 баллов из 100. Я такого еще не встречал

    Потому что это крупный бизнес. А не ИП или средний бизнес где основная логика - дрочь с баллами page speed insight.
    Ответ написан
    12 комментариев
  • Как сжать видео размером 2,5 ГБ?

    @romancelover
    программист C++ под Linux
    ffmpeg - бесплатно, но работает через командную строку. Есть под Windows и под Linux.
    Пример перекодирования видео из 720 в 480:
    ffmpeg -i input.mp4 -vf scale=720:480 output.mp4
    размер файла уменьшился с 55 Мб до 14 Мб.
    Через параметры командной строки можно задавать что угодно: формат, битрейт, разрешение, можно обрезать по времени и т.п. Примеры командной строки для разных действий можно нагуглить.
    Ответ написан
    Комментировать
  • Устарел ли getElementsBy* и чем лучше querrySelector?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Вот народ ушел в спор о производительности, но никто даже не попытался разобраться, а что под капотом... Производительность ведь искусственными бенчмарками меряют, ага...
    Что ж, времена сейчас такие
    многие на работу кодеров берут, которые даже интереса не имеют в глубь копать. Инженеров брать... - это устаревший подход, как выразился автор "популярного сайта", который прочел автор вопроса. Инженеры они дорогие, и найти их сложно, лучше кодер, пусть и не желающий на работе мозг включать, не говоря уж о желании в устройстве инструментов разбираться.

    Говорить о том, что некие фичи устарели - крайне глупо, если знать, что они ведут себя иначе, чем более модные альтернативы. Предлагаю немного разобраться и начать с того что на поверхности:
    - getElementById и querySelector возвращают конкретную ноду в единственном экземпляре
    - querySelectorAll и getElementsByName возвращает статичную коллекцию NodeList
    - getElementsByClassName, getElementsByTagName и getElementsByTagNameNS возвращают динамическую коллекцию HTMLCollection
    Как видим результат у разного апи различен, а значит и говорить, что некоторые из них устарели - глупо.
    Правда тут есть забавный момент
    в спеке HTMLCollection отмечен как "исторический артефакт", который не стоит использовать при проектировании нового апи. Но заметка эта не для веб-разработчиков, а для тех кто проектирует новое DOM апи.

    С устареванием вроде разобрались, но в вопросе еще есть часть "чем лучше". И тут есть теория, что getElementsBy* быстрее querySelector*. Чисто теоретически звучит логично, querySelector* должен делать полный поиск по дереву со сложностью O(n), а getElementsBy* могут использовать индексы на базе HashMap и получать данные со сложностью O(1), тут и особенности HTMLCollection будут кстати, так как можно не копировать коллекцию, а отдавать одну и ту же (и браузеры действительно так делают). Но без пруфов теория так и останется теорией.
    И бенчмарки - так себе пруф
    Хотя направлять инвесторов в нужную сторону - самое то. Проблема бенчмарков, что можно написать их так, что любая из сравниваемых сторон заметно обгонит другую. Дело техники. Например BubbleSort с O(n2) при определенных условиях в чистую уделывает MergeSort и QuickSort с их O(n×log2n), а именно при n=20 или меньше, 400 простых memswap в наглую рвут 87 рекурсивных операций с memcpy внутри
    Гораздо лучше тут выглядят исходники. И я выбрал исходники chromium, как самого распространенного:
    - getElementsBy* методы все как один обращаются к некой шаблонной функции EnsureCachedCollection, которая в свою очередь обращается к некоему NodeLists кэшу, устроенному внутри действительно как HashMap или что-то наподобие. Никакого поиска тут нет, просто берутся готовые значения, сложность у всего этого действительно константная O(1).
    - querySelector* используют абстракцию SelectorQuery, которая и в самом деле делает поиск по DOM. Но данный поиск неплохо оптимизирован и обвешан кэшами. Притом CSSOM использует абсолютно тот же алгоритм поиска DOM нод для каждого селектора в css.
    Для примера
    в подключенных на странице этого вопроса стилях более 1600 правил (некоторые из которых потенциально могут содержать несколько селекторов), полная обработка стилей из этого файла заняла на моей машине (Ryzen 3600 в стоке) чуть больше 9 мс. Если все это немного округлить, то понадобится 15000 querySelectorAll подряд, притом с разными селекторами, чтоб был промах кэша, дабы я ощутил заметную глазу задержку в ~100мс


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

    0xD34F
    @0xD34F Куратор тега Vue.js
    mounted() {
      this.$el.querySelectorAll('input').forEach(n => n.dispatchEvent(new Event('input')));
    },

    jsfiddle.net/whrgboxs
    Ответ написан
    Комментировать
  • Как сделать замену кода сайта на чужом сайте?

    @Redeve
    Веб-макаке не хватит и 640гБ
    Если нужно просто убрать раздражающий вас блок из сайта - лучше используйте uBlock Origin.
    Ну а если редактировать страницу под себя и «навсегда» (не только стили) - TamperMonkey. Есть как для хрома, так и для огнелиса
    https://www.tampermonkey.net/
    Нужны будут хотя бы минимальные знания js

    upd. Вот вам шаблоны, чтобы было с чего начать https://gist.github.com/spiralx/2a8fa339b8b9f987de73
    Ответ написан
    3 комментария
  • Как программисту стать биоинформатиком?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    А теперь, тщательно изучив существующие сферы программирования, поняла, что мне просто НЕОБХОДИМО стать биоинформатиком!


    Поэтому, программисты-биоинформатики, поделитесь, пожалуйста, своим опытом и ответьте на вопросы:
    1. Чем именно вы занимаетесь на своей работе?
    2. Какое у вас образование?
    3. В каком объеме вы изучали биологию, генетику, биотехнологии и прочее? Или не изучали совсем?
    4. Что вообще нужно знать и уметь?
    5. Где можно найти работу или хотя бы стажировку? Вакансий днем с огнем не сыщешь, особенно для начинающего биоинформатика (а ведь я в Москве!). А если вдруг что-то попадается, то для биологов, а не программистов.
    6. На какую зарплату можно рассчитывать начинающему биоинформатику и на какую опытному специалисту?


    Сори что я влезаю, но если вы ТЩАТЕЛЬНО изучили, то откуда у вас такие вопросы?
    Ведь если вы даже не знаете есть ли вообще такая работа в Мск, и чем там занимаются люди, то откуда вы решили, что знаете что такое биоинформатик? И что такое вообще существует?
    Ответ написан
    1 комментарий
  • Как найти идейного человека в команду, за относительно небольшие деньги?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    задроты ловятся на женщин, но, увы, ловляобильные женщины тоже дорого обходятся
    Ответ написан
    Комментировать
  • Как обойти блокировку автовоспроизведения?

    @granty
    vimeo и youtube знают волшебное слово "Feature Policy".

    1. Если посмотрите API vimeo - увидите там параметр autoplay. Потом сравните вызов API c параметром autoplay и без такового. И увидите, что добавляется ?autoplay=1 в <iframe src=>, чтобы их скрипт показа видео автоматически запустил его воспроизведение (кликнул по кнопке Start).
    Но, как вы заметили, браузеры могут блокировать автоматическое воспроизведение медиаконтента. Поэтому см п 2 ниже:

    2. Обратите внимание на атрибут allow="autoplay; fullscreen" у ифрейма, присылаемого в API п. 1. Это и есть "Feature Policy" (Политика возможностей), установленная через атрибут тега (её ещё можно издавать через HTTP-заголовок).
    autoplay; означает autoplay *; - то есть, браузеры, поддерживающие Feature Policy, разрешат автовопроизведение видео с любых (*) чужих доменов.
    Укажете там autoplay https://player.vimeo.com; - автовоспроизведение будет разрешено только для плеера vimeo.
    Ответ написан
    Комментировать