• Нужно ли создать несколько компонент?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Зависит от того, насколько различаются представления устройств и их наборы пропсов. Если сильно, то лучше разные компоненты, иначе утонешь в аццких тернарниках внутри tsx.
    Возможен "компромиссный" вариант, когда для группы "похожих" устройств используется один компонент, а для прочих - другой(другие).
    С технической точки зрения, если компоненты разные, то при смене типа устройства будет перемонтирование, иначе обновление.
    Ответ написан
    Комментировать
  • Нужно ли создать несколько компонент?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега React
    Как хотите, так и сделайте - людям в интернете без разницы, поддерживать этот код будете вы.

    С точки же зрения теории есть две противоположных, но одинаково имеющих право на существование, теории: не нужно усложнять и не нужно усложнять.

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

    В комментариях, я уверен, найдутся сторонники каждого из подходов и будут объяснять друг другу, что именно их подход является единственно верным. Выберите того, кто кажется вам наиболее убедительным (оба будут неправы, потому что решение зависит от особенностей конкретного проекта) и поступите как он советует. По мере создания всё новых и новых проектов вы будете понимать ограничения выбранного подхода и проблемы, которые он создаёт и попробуете диаметрально противоположный. Потом вы увидите и его ограничения и с этого момента можете добавлять в резюме приставку senior.
    Ответ написан
    Комментировать
  • Как разместить элементы для мобилки?

    aliencash
    @aliencash
    Партизан
    Ну, при такой раскладке мало что можно сделать. Например, можно дублировать кнопки - https://codepen.io/aliencash/pen/vYWawZK
    Но лучше перейти на grid или flex с flex-wrap, чтобы можно было использовать order.
    Ответ написан
    1 комментарий
  • Как разместить элементы для мобилки?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Картинка это псевдоэлемент.
    Он может быть на десктопах вынут из потока и размещен справа абсолютом.

    Либо всё это может быть гридом, который перестраивается как нужно.

    Дублировать контент тут точно не нужно.
    Ответ написан
    2 комментария
  • Через какую команду можно отправить, 400 байт данных?

    Использовать можно, но за один запрос больше 120 байт передать не удастся.
    Ответ написан
    Комментировать
  • Каким образом обновить ПО на удаленных машинах автоматически из репозитория?

    vabka
    @vabka
    Токсичный шарпист
    Раз у вас используется bitbucket (судя по тегам), то можете попробовать его же фичу - Bitbucket pipelines
    Если по какой-то причине не можете их использовать, то берите Teamcity/Jenkins/Gitlab/Azure pipelines/Github actions и осваивайте их :)

    Ну или можете самостоятельно написать bash-скрипты и использовать на сервере git hooks для деплоя.
    Ответ написан
    Комментировать
  • Каким образом обновить ПО на удаленных машинах автоматически из репозитория?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    есть подобные библиотеки https://github.com/vicenteguerra/git-deploy
    ищи для своего языка.
    ну или пиши свой. там используются вебхуки репозиториев. условно когда произошел commit и push - этот вебхук тебе об этом сообщит. а дальше уже можешь по этому эвенту совершить все нужные тебе действия.
    Ответ написан
    Комментировать
  • Как выбрать одну строку с более поздней датой?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    SELECT
    /* твой код*/
    ORDER BY create_date DESC 
    LIMIT 1
    Ответ написан
    Комментировать
  • Для чего необходимо использовать passport local стратегию для проверки юзера?

    Xuxicheta
    @Xuxicheta
    инженер
    Стандартизация интерфейса. Наличие единообразных проверок в passport позволило написать для него разных "стратегий". Можно рассматривать passport как кусочек фреймворка, отвечающий за авторизацию.

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

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Мне кажется Вы либо как-то слишком перемудрили с логикой, либо подошли к вопросу не с той стороны. К тому же, Вы не указали, касательно какой конкретной БД этот вопрос.

    Например, в MySQL'е (в данный момент проверят на MariaDB, но думаю оригинальный MySQL работает так же), если нужно ограничить доступы - это можно сделать на уровне пользователей самой БД, причём выставить отдельные ограничения на каждые: Базу -> таблицу -> отдельную колонку.

    Если же Вам нужно ещё жестче ограничить данные - я бы рекомендовал добавлять данные о доступах к самим данным непосредственно.

    Например, если бы мы использовали PostgreSQL: в таблицу "news", к каждой новости я бы добавлял список пользователей, которые могут читать конкретно эту новость, в отдельную колонку типа "массив" со списком ID пользователей, что бы иметь возможность делать такую выборку на уровне "чистых запросов" или просто воспользовался бы механизмом row level security (пока не приходилось пользоваться таким, но думаю это как раз то, о чём Вы говорите).

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

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

    P.S. Ещё вот тут описывают некоторую реализацию row level security для MySQL'а.
    Ответ написан
    1 комментарий
  • Как распределить дочерние процессы по всем ядрам?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    Если linux, то taskset
    На других ядрах (BSD, Darwin, WinNT), нужно погуглить аналоги

    А вообще, большого смысла привязываться к конкретным ядрам нет, Ваш процесс не единственный в системе, почему бы не доверить распределение по ядрам самой ОС? switch-context все равно будет, ибо помимо ваших 3х процессов будет еще несколько сотен других, не говоря уже о том, что многие из них многопоточные.

    А еще вот о чем подумайте, нода не такая уж и однопоточная. Помимо 1 потока v8 (а начиная с 10 ноды и их может быть несколько), у Вас еще от 4 до 128 потоков libuv (ибо сеть то может работать асинхронно, а вот с файловой системой приходится асинхронщину на потоках эмулировать). А еще могут быть C++ аддоны, которые порождают свои потоки. И стоит ли все это добро привязывать к 1 единственному ядру?
    Ответ написан
    Комментировать
  • Как назначить адреса контейнеров в существующей сети?

    @ISE73
    Вопрос на вопрос - зачем?
    Если надо какой-то сервис наружу выставить - то пробрасываете нужный порт в контейнер.
    Если вот прямо в сетевом стеке хоста, то как выше написали:
    docker run --network host
    Ответ написан
    Комментировать
  • Как назначить адреса контейнеров в существующей сети?

    @q2digger
    никого не трогаю, починяю примус
    запустить контейнер не в изолированной сети, пример
    docker run --rm -d --network host --name my_nginx nginx

    Дока:
    https://docs.docker.com/network/network-tutorial-host/
    Ответ написан
    Комментировать
  • Как правильно перейти по защищенной ссылке с помощью Json Web Token?

    Robur
    @Robur
    Знаю больше чем это необходимо
    После сохранения токена, дальше ничего не происходит, получается нужно вручную сразу же переходить по новой ссылке

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

    Как правильно написать код, чтобы клиент перешел по защищеному роуту с таким хэдером: < "Authorization", 'Bearer '+ localStorage.token) >

    Используйте headers при вызове $.ajax
    тут описаны детали:
    https://api.jquery.com/jQuery.ajax/

    Если вы ждете что дальше оно будет работать "как-то само" как с куками - не будет. Надо этот токен использовать "руками", добавляя в запросы к серверу.
    Ответ написан
    Комментировать
  • Как удалить строки из нескольких таблиц в mysql через JOIN?

    Sanovskiy
    @Sanovskiy
    Веб-разработчик с 2005 года
    Использовать Foreign keys c параметром ON DELETE CASCADE
    Не изобретайте велосипед из костылей.
    Ответ написан
    Комментировать
  • Как не потерять данные после сбоя электроэнергии?

    teknik2008
    @teknik2008
    Расскажите про GOLANG. Мне интересно
    Можно использовать очередь (nsq, redis, ...).
    Входящие события класть в очередь, а с очереди отправлять на удаленный сервер. Тогда при сбоях ваши данные будут на диске.
    Ответ написан
    Комментировать
  • Как не потерять данные после сбоя электроэнергии?

    He11ion
    @He11ion
    PHP-monkey
    БД понятие растяжимое.
    Варианта 3, в зависимости от критичности данных:
    1 - важные данные, вроде транзакций пользователей - БД с ACID - postgre/mysql/etc
    2 - умеренно важные - redis/rabbitmq - если у вас отключают свет не раз в день - вполне нормально, обе сохраняют на диск периодически
    3 - ну и если какая-то статистика например, где +-1000 записей не критична - вообще наплевал
    Ну и сервер в нормальном датацентре не падает от электричества, да.
    Ответ написан
    Комментировать
  • Как можно отфильтровать столбец по значению в документах?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    позвать 1С программера
    Ответ написан
    Комментировать
  • Как можно отфильтровать столбец по значению в документах?

    @pauchog
    Сюда нажать
    5bf5454176900277854806.jpeg
    Ответ написан
    Комментировать
  • Как найти все равные значения в массиве?

    let srcArr = [1,2,3,4,5,2,3,4,1];
    let refArr = [];
    
    srcArr.forEach( item => refArr[ item ] = refArr[ item ] ? ++ refArr[ item ] : 1 );
    
    console.log( refArr );

    В refArr будет содержаться значение ( индекс ) и количество повторений ( значение )
    Ответ написан
    Комментировать