Задать вопрос
  • Как вам такое решение задачки?

    @dimoff66
    Кратко о себе: Я есть
    Немного кривоватое на мой взгляд, я бы сделал так

    const range = arr => arr
       .sort((a, b) => a - b)
       .reduce((agg, v) => {
          const currRange = agg[agg.length - 1]
          if (!currRange || v > currRange.last + 1) {
             agg.push({first: v, last: v})
          } else {
             currRange.last = v
          }
          return agg
       }, [])
       .map(v => v.first + (v.first !== v.last ? '-' + v.last : '')).join()
    Ответ написан
    Комментировать
  • Какой переводчик лучше использовать для наполнения сайта?

    @boss_lexa
    есть сервис https://inten.to/api-platform/ai/text/translate
    они дают единый api для разных сервисов перевода
    также регулярно пишут о том на какой языковой паре какой переводчик лучше
    https://blog.inten.to/november-2019-mt-landscape-e...
    Ответ написан
    5 комментариев
  • Могут ли контейнеры содержать классы и разметку?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Компоненты в Реакте делятся на несколько основных групп (напишите где ошибаюсь):


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

    на презентативные/контейнеры они делятся уже не "в реакте", а в вашем конкретном приложении, при условии что вы выбрали тот подход для построения который предлагается в статьях Дена Абрамова.
    Стоит отметить что это было просто его мнение на тот момент, а сейчас он пишет:
    Update from 2019: I wrote this article a long time ago and my views have since evolved. In particular, I don’t suggest splitting your components like this anymore.


    Можно выбрать и какой-то другой подход. И делить по другому. Или вообще на других принципах строить архитектуру. Или видоизменить его подход под какие-то свои конкретные нужны и так далее.

    поэтому ответ на вопрос:
    Если мы хотим чтобы шапка была серая, куда писать этот стиль?

    Зависит от того - как вы в итоге строите свое приложение.
    Поэтому ответ - как вы сами считаете правильным.
    Для меня критейрий прост - если вы решили делать вещи каким-то образом и через время, когда вам нужно что-то сделать в этом коде вы материтесь и страдаете - решение было неверным. надо делать по другому. Если же меняете то что нужно достаточно легко и без проблем - вы все сделали правильно.

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

    Если вам обязательно нужны формальные правила построения компонентов - определите для себя любые как больше нравится и им следуйте. Потом поменяете, если не зайдет.
    Ответ написан
    3 комментария
  • Как реализовать такую расстановку блоков на FlexBox CSS?

    Eridani
    @Eridani
    Мимо проходил
    Это column count
    .blog__block {
        column-count:3;
    }
    
    .blog__item {
        width:100%;
      margin-bottom: 30px;
        border-radius: 4px;
        box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.10);
    }
    Ответ написан
    4 комментария
  • Как реализовать такую расстановку блоков на FlexBox CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    С помощью чего и как можно реализовать вот такую расстановку блоков?

    На ум сразу приходит masonry.
    Ответ написан
    Комментировать
  • Стоит ли использовать Elasticsearch в качестве основной бд?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Elasticsearch не является базой данных, а просто поисковым индексом. Использовать его как БД нельзя ни в коем случае.
    - никакой консистентности
    - никакого ACID
    - управление доступом только в коммерческой версии за много денег
    - чтобы изменить тип данных в документе надо изменить маппинг только через полное пересоздание индекса
    - лимит по выдаче данных. Проблемы начинаются уже после первой тысячи в поиске ибо рассчитан он изначально на выдачу 1-3 результатов
    - эластик ест столько памяти сколько есть на виртуалке. Дашь ей 2 Tb RAM и будь уверен - он займет все
    Ответ написан
    22 комментария
  • Почему советуют не выбирать yii2 для разработки?

    @EvgeniiR
    https://github.com/EvgeniiR
    1. Yii мёртв. Устарел лет на 10 по подходам и кодовой базе, и не развивается.
    2. Плохой дизайн. Глобальное состояние для всего, наследование от базового класса модели, валидация через массивы там же, наследование для расширения всего и вся и прочая чушь. Отсутствие многих удобных фич типа нормального DI/аргумент резолверов, чего только стоит гибкость конфигурации сервисов в Симфе.
    3. Свои велосипеды вместо чего-нибудь готового
    4. Все компоненты прибиты гвоздями и не заменяются своими. Это делает код на нём нерасширяемым и нетестируемым(Ну то есть в теории переписав пол фреймворка и 100500 своих адаптеров можно писать нормально, но те кто хочет писать нормально просто уходят с Yii).
    5. Слабое комьюнити которое сидит на нём потому что не осилило ничего другого / генерирует CRUD`ы через Gii(Заменить бы их уже не postgrest и прочие обёртки над базой) / инертные кодеры которым без разницы чего делать лишь бы на хлеб хватало.
    6. Все фреймворки далеки(очень) от идеала, но Yii сильно отстаёт от прочих.
    Ответ написан
    Комментировать
  • Где вы храните запросы к базе в коде или используйте хранимые процедуры?

    DevMan
    @DevMan
    есть 2 основных подхода: максимум логики в бд и максимум логики в приложении.
    первый был актуален в давние времена, когда компьютеры были медленными.
    сейчас, когда железо дешевеет, а труд специалистов дорожает, превалирует второй подход. у которого с одной стороны есть недостаток в виде возможной просадки по скорости, но с другой стороны нет необходимости держать в штате специально обученных людей, и весь контроль над базой (включая ее структуру) остается на стороне приложения, а не субд.

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

    Все хорошо работает, пока бизнес не меняет логику, меняться запрос и получается много переделывать.
    а переписывать и тестировать процедуры в субд проще? тем более, скорее всего, с изменением процедуры придется переписывать код все равно.
    Ответ написан
  • Хорошо ли хранить serialize в БД?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Лучше сериализуйте в json https://www.php.net/manual/ru/function.json-encode.php
    https://www.postgresql.org/docs/9.4/datatype-json.html

    Некоторые базы данных (почти все) позволяют хранить json внутри специального типа поля и использовать их при запросах.

    С позиции нормализации данных это конечно не очень хорошо, но если в логике БД эти данные не используются, то это безразлично.
    Ответ написан
    2 комментария
  • Хорошо ли хранить serialize в БД?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ни в коем случае.
    Твоя база данных не зря названа реляционной, то есть связанной. Информация хранится в связанных между собой таблицах. Это позволяет получать нужную информацию одним запростом и обрабатывать миллионы срок без потери производительности. Что в миллион раз важнее лени "создавать дополнительную таблицу"

    И не надо слушать советчиков из соседних ответов.
    Увы, поколение милленниалов не умеет воспринимать письменный текст, и реагирует в лучшем случае на пару ключевых слов в вопросе, не воспринимая корнтекст. Который, чтобы было понятно, звучит так: Нашел у папы в сарае заряженнвую двустволку. Прикладом очень удобно орехи колоть. Это удобнее потому что из щипцов орехи вываливаются. Нормально ли колоть орехи заряженным ружьем?

    Сериализованные данные стоит хранить в бд только в очень крайнем случае.
    На данном этапе вообще забудь про такую возможность и учись работать с БД правильно.
    Ответ написан
    9 комментариев
  • Как ответить на этот курьезный вопрос в анкете для службы безопасности компании?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    По опыту работы в СБ банка эти Ваши "приключения" все равно найдут. Так что советую указать, но развернуто прокомментировать в письме HR. Если там действительно ничего серьезного, как Вы пишите, и Вы сможете красиво это описать, то СБшники вполне вероятно закроют на это глаза. Позиция у Вас судя по всему начальная, серьезно докапываться не должны.
    а вот если соврете и это всплывет - точно будет хуже.
    Ответ написан
    4 комментария
  • Собственные проекты. Стоит ли доводить до идеала?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не совсем понятно, какую цель вы преследуете. Исходя из вашего слова "профитнее" (т.е. по-русски "выгоднее") её можно трактовать по-разному.

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

    2) Если вы рассматриваете свои игры, как дополнительные пункты в резюме программиста, то по сути и не важно, игры это или что-то другое. Здесь будет играть роль ваш опыт программирования (опять же просто количество лет), плюс опыт работы в команде. Чуть бОльшую роль имеют софт скилы при составлении резюме и прохождении собеседования. В остальном идеи из предыдущего пункта тоже применимы - то есть количество достойных проектов, считающихся достижениями, которые не стыдно показать.

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

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

    P.S. На уровне джуна можно быть только помощником. То есть хорошо зная лишь теорию, получать замечания от более опытных товарищей, которые отвечают за успех. Хотя деление это довольно условно. Пет-проекты могут как способствовать росту, так и просто отнимать время, смотря что и как качать.
    Ответ написан
    Комментировать
  • Почему некоторые люди утврерждают что плохо использовать jQuery?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, jQuery родилась во времена, когда каждый браузер реализовывал JS и DOM API по-своему, её основным назначением было сглаживать эти различия. В наше время это преимущество библиотеки уже утеряно. Во-вторых, jQuery не соответствует основному вызову современности - сложной кодовой базе. В развитом фронте код, использующий jQuery, быстро превращается в трудно сопровождаемую лапшу. Поэтому для простого фронта чаще стали использовать ванильный JS, а для сложного фреймворки типа React, Angular и Vue.
    Ответ написан
    23 комментария
  • Бросать исключение или возвращать коды ошибок/успеха? Является ли исключением то, что метод не может выполнить свою задачу?

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

    @globalmac
    https://dadata.ru/suggestions/

    Это быстрый старт, если требуется подсказка адреса. Если у Вас свой массив данных, то рекомендую найти хорошего DBA.
    Ответ написан
    Комментировать
  • Как решить задачку (шахматная доска, ход конем) без использования js?

    profesor08
    @profesor08 Куратор тега CSS
    Вот ты с выделением ячейки справился. Молодец. Теперь задай для выделенной ячейки 8 теней синего цвета и позиционируй как надо.

    input[type="radio"]:checked + label {
        background: #FF0000;
        box-shadow: 60px 30px 0 0 blue, 60px -30px 0 0 blue;
        position: relative;
        z-index: 1;
    }


    Можешь даже анимацию задать для тени
    label {
        transition: ease box-shadow .3s;
    }
    Ответ написан
    5 комментариев
  • Где можно найти живой проект для практической работы?

    Zoominger
    @Zoominger
    System Integrator
    Погуглите какие-нибудь опенсорсные проекты.
    "opensource javascript projects", например.
    Попенсорц идеален для тренировки.
    Ответ написан
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    Moskus
    @Moskus
    Когда советуют, убедитесь, что у вас и у аудитории этого совета одна цель. Потому что "как можно скорее начать пользоваться фреймворками" - это если задача - как можно скорее начать шлёпать продукт и деньги получать. А если задача - научиться программировать, фреймворки тут не при чем.
    Ответ написан
    14 комментариев
  • Как передать параметр в команду Symfony?

    В классе команды
    protected function configure()
        {
            $this
                ->setDescription('')
                ->addArgument(
                    'id',
                    InputArgument::REQUIRED,//InputArgument::OPTIONAL
                    'help text'
                );
        }
    
    protected function execute(InputInterface $input, OutputInterface $output) {
        $id = $input->getArgument('id');
    }
    Ответ написан
    Комментировать