• Как в CSS выбрать первый элемент с определенным классом?

    @forspamonly2
    первый матч поймать нельзя, но можно поймать все не первые.

    добавил снизу в примере, любезно предоставленном SmthTo :

    Ответ написан
  • Максимально простой способ внесения изменения на сайт без CMS?

    @forspamonly2
    настройте им подходящий генератор статических сайтов.

    вот тут список на выбор: https://www.staticgen.com/
    Ответ написан
  • Почему не срабатывает событие click в браузере firefox?

    @forspamonly2
    проблема точно не в фаерфоксе и не в нокауте. у них с кликами проблем нет.

    смотрите что там у вас на самом деле кликается и что дальше происходит.
    Ответ написан
    Комментировать
  • Модальные окна. Куда и как рендерить?

    @forspamonly2
    как раз для этого в реакте теперь есть порталы:
    https://reactjs.org/docs/portals.html
    Ответ написан
    Комментировать
  • Повернуть и обрезать картинку в Canvas?

    @forspamonly2
    вспомнить школьный курс геометрии?

    выводить картинку побольше, чтобы хватило на вырезанные области. помножив исходный размер по формуле вписанного квадрата на корень из двух :)

    https://codepen.io/anon/pen/NoNpzZ

    а ещё можно посчитать минимальный размер и смещение для каждого угла, но это уже задачка со звёздочкой.
    Ответ написан
    2 комментария
  • Почему проистодит re-render левого списка (react-redux)?

    @forspamonly2
    карточки в левом списке у вас перерисовываются потому, что каждая из них присоединена к редуксовскому хранилищу. точнее, перерисовываются редуксовские обёртки, которые Context.Consumer - вы их наверняка видели в реактовских девтулзах.

    сам компонент действительно по умолчанию pure, но это работает как: редуксовская обёртка ловит изменение хранилища, получает новый store, вызывает ваш mapStateToProps и перерисовывает обёрнутый компонент с новыми props. а уже после этого отрабатывает shouldComponentUpdate от внутреннего PureComponent, понимает что ничего не поменялось и сам обёрнутый компонент уже не перерисовывается.

    глобально, вам стоит сделать карточку тупым (презентационным) функциональным компонентом - принимать в нём на отрисовку готовый объект данных карточки, а получать и передавать его из connected компонента списка.
    Ответ написан
    7 комментариев
  • Как сделать подсчёт в Excel нужных пунктов?

    @forspamonly2
    Ответ написан
    Комментировать
  • Почему удаляется последний элемент из массива в state?

    @forspamonly2
    удаляется не то, что вы хотели, потому что вы нигде не передаёте тот index. обработчик события получает параметром объект события, так что в вашем onClick={index => { совсем не индекс там приходит.
    а почему последний - ума не приложу, вроде бы должен первый.

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

    @forspamonly2
    вы вложенность перепутали. tr снаружи, td/th внутри
    Ответ написан
    Комментировать
  • Как сделать настакивать групп списка?

    @forspamonly2
    это position: sticky в чистом виде. просто закрепите каждый заголовок на своём месте сверху и снизу.

    вот, на базе одного из упомянутых вами примеров: https://codepen.io/bsl-zcs/pen/ZVypPb

    если нужно для старых браузеров - цепляйте какой-нибудь полифилл.

    Ответ написан
    Комментировать
  • Что присылать в качестве примера кода?

    @forspamonly2
    это сложно формализовать или описать словами, но код, который пишут те, кто умеет, на самом деле отличается от кода тех, кто учится. просто те, кто учится, этого ещё не замечают.

    зачем код просят рекрутёры я не знаю, а я просил в качестве начальной темы для разговора: обсудить с человеком почему он это написал именно так и какие были ещё варианты, понять ход его мысли.
    Ответ написан
    Комментировать
  • Как организовать частичный импорт компонентов CSS кода на LESS?

    @forspamonly2
    не до конца понял чего вы добиваетесь. вроде бы всё перечисленное делается самым простым миксыном.

    обернуть содержимое sliderItem.less в миксын (со скобками обязательно) и просто вызвать его внутри блока .sliderItem в mailStyles.less. то есть, заинклюдить все таблицы отдельных компонентов где-нить вверху, а потом примешивать нужные миксыны в конкретные блоки.
    Ответ написан
  • Как повысить чёткость скриншота?

    @forspamonly2
    масштаб интерфейса поставьте 200% в винде (или что там у вас).
    Ответ написан
    Комментировать
  • Какой вид локализации клентских приложений более гибкий?

    @forspamonly2
    убеждённый сторонник второго варианта.

    код пишут чтобы читать.

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

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

    особенно отвратительно, когда первым выриантом локализуется форматная строка от какого-нить принтф: какие-то параметры передаются, а как трактуются - не выяснить без рытья по ресурсам.

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

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

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

    и это приводит к основному минусу второго подхода: когда правится текст на основном языке, надо будет ещё поправить все вхождения этой строки по всему софту. впрочем, стандартные инженерные практики (dry, обобщение повторно используемого кода) успешно препятствуют слишком уж большому количеству повторений одного и того же в разных местах.

    насчёт разных переводов одной фразы - да, такое бывает, но реально очень редко. настолько редко, что какой-нибудь костыль с добавленным пробелом и комментарием зачем он там нужен, субъективно не кажется чем-то, что следовало бы вместо этого обрабатывать на уровне механизма. я буквально пару-тройку раз могу вспомнить за 20 с лишним лет написания софта для местного рынка. а я в казахстане живу, тут всё на нескольких языках и это закреплено законодательно.
    Ответ написан
  • Может ли Redis хранить больше данных, чем ему выделено памяти?

    @forspamonly2
    уже нет. раньше, во времена вторых версий, какая-то виртуальная память в нём была, хотя хорошо никогда не работала.

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

    @forspamonly2
    это называется continuous integration.

    настройте какой-нить CI сервер, на нём задачу сборки по коммиту и задачу деплоя на разработочный сервер по команде.
    иногда удобно делать разные задачи для деплоя бэкэнда и фронтенда.
    каждый коммит деплоить непрактично - это приводит к нарушению гранулярности коммитов.
    Ответ написан
    Комментировать
  • Как можно установить размер шрифта для Putty через bat?

    @forspamonly2
    настроить в путти appearance для default settings и все новые сессии будут с нужным шрифтом.
    Ответ написан
    Комментировать
  • Как реализовать свой метод для селектора?

    @forspamonly2
    добавить метод в JQuery.expr.pseudos

    $.extend($.expr.pseudos, {
        red(element, index, regexMatch, allElements) {
            return $(element).css('color') === 'red';
        }
    });
    $('p:red');

    только селекторы без нативно отрабатываемой браузером части (типа ':red' без 'p') так лучше не делать - будет люто тормозить.

    зы. давно jquery не использовал, тогда это было ещё $.expr[':'] , они оказывается сравнительно недавно переделали.
    Ответ написан
    Комментировать