• Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Бизнес должен понимать что вы ему предлагаете. По сути эту идею можно продвинуть только под соусом разработки новой фичи. В противном случае у вас будет сильное непонимание. Все что вы предлагаете - это NFR. Не-функциональные требования. Шестая версия дотнет. Асинки. Обжекты. Бизнес не понимает как ему это дальше продавать.

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

    Если вы имеете силы и смелость - то пишите план (желательно на пол-года) на рефакторинг. Шаг-за шагом. Сначала - покрытие всего тестами. Потом миграция версий тоже мелкими шажками. И все это (!) параллельно с разработкой новой фичи которую бизнес одобрит. Только так.
    Ответ написан
    Комментировать
  • Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    @Drno
    нет
    Ответ написан
    Комментировать
  • Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Нет, оно того не стоит. Любая работа должна быть оплачена. Ибо сейчас напишешь за свой счет, а потом начальника скажет "о, отлично, молодец, можем теперь сэкономить на программистах и поддержке, у меня как раз знакомый ищет, ща его поставлю, а ты можешь быть свободен, заодно выпишу себе премию, во какой я молодец". Этот код решает задачи бизнеса. Если бизнес готов тратить на его поддержку и сопровождение деньги - то это проблемы этого бизнеса. Почему это наемный работник должен решать проблемы бизнеса за свой счет? Правильно сделать так: оформить все в виде какого-то документа с конкретными аргументами, цифрами, графиками и т.п. и выдать его начальству. Типа сейчас поддержка проекта стоит столько-то, приносит такие-то проблемы, переписать будет стоить столько-то, сопровождение нового будет столько-то, оно решает такие-то проблемы. И выдаете данный документ начальству. Можно даже в бумажном виде в нескольких экземплярах. А далее пусть у начальства голова болит.
    Ответ написан
    3 комментария
  • Как научиться делать безшовные фоны?

    Stalker_RED
    @Stalker_RED
    Берешь квадратик, рисуешь посередине кирпичи, траву, или что ты там хочешь.
    Разрезаешь его пополам, по вертикали, например.
    Меняешь половики местами, видишь шов.
    Подрисовываешь так, чтобы шва небыло.
    Разрезаешь теперь по горизонтали, снова меняешь местами, убираешь шов.
    Ответ написан
    Комментировать
  • Обновлять базу данными, затирая первые старые данные?

    @rPman
    Это худшая задача для реляционных баз данных, что там будет происходить с foreign_key я вообще молчу, все решаемо но скорости будут не очень

    Если нет связанных таблиц (что логично, твой id на самом деле не идентификатор, не вводи народ в заблуждение и назови по другому) в твоем случае скорее всего можно схитрить, можно key_id считать на лету, т.е. ключевое поле с autoincrement, но назови его по другому, например key_id_orig
    1+key_id_orig-min(key_id_orig)

    но это сработает только если удаление возможно только самой старой записи, если же будут удаления из середины, то порядок придется пересчитывать по другому, через сортировку всей таблицы по key_id_orig и подсчету колонок функцией row_number
    Ответ написан
    5 комментариев
  • Как узнать что попадает в AJAX data?

    Cheizer
    @Cheizer Автор вопроса
    data: _.form.serialize(),
    Ответ написан
    Комментировать
  • Стоит ли использовать SPA для проекта вроде каталога/доски объявлений?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Поэтому в связи с этим вопрос, все ли хорошо будет в плане SEO если использовать NextJS для этих целей?

    Если использовать SSR (который вы указали в тегах) или SSG, то по идее должно быть все хорошо.
    Проект сам по себе по объему планируется большой.

    И какой стэк со стороны бэка в качестве API посоветовали бы?

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

    iMedved2009
    @iMedved2009
    Не люблю людей
    create table public.profiles (
      id uuid not null,
      username text default concat('Пользователь #', random()*100000),
    
      primary key (id)
    );
    Ответ написан
    2 комментария
  • Npm i -S; npm i -D; npm i;?

    ae_ph
    @ae_ph
    I'm a owl )
    npm install сохраняет любые указанные пакеты в dependencies по умолчанию.
    Кроме того, вы можете контролировать, где и как они сохраняются с помощью некоторых дополнительных флагов:

    -P, --save-prod: Пакет появится в вашем dependencies. Это значение по умолчанию, если -D или -O не присутствуют.
    -D, --save-dev: Пакет появится в вашем devDependencies.
    -O, --save-optional: Пакет появится в вашем optionalDependencies.
    --no-save: предотвращает сохранение в dependencies.

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

    devDependencies - это пакеты, которые нужны разработчику во время разработки.
    Когда вы устанавливаете пакет, npm автоматически устанавливает зависимости для разработчиков.
    Эти зависимости могут понадобиться в какой-то момент процесса разработки, но не во время выполнения.
    Входит в окончательный пакет кода.

    Пример: npm i <имя_пакета> -D

    Что-бы полностью удалить установленный npm пакет
    Пример: npm uninstall <имя_пакета>
    Ответ написан
    Комментировать
  • Понимание PCI-ex линий?

    Melkij
    @Melkij
    PostgreSQL DBA
    Открываете мануал к материнке и внимательно ищете сведения о том, что куда подведено электрически, в каком количестве. Если в мануале не описано - то продолжаете упорно искать в интернетах, что куда подведено. Начните с блок-схемы чипсета.

    В частности, самый верхний M.2 вам недоступен вовсе. Потому что i7 10700k - это 10 поколение, мануал однозначно упоминает что верхний M.2 работает только при установке CPU 11 поколения (потому что слот подведён на линии PCI-E самого CPU)
    Средний M.2 отключит один из разъёмов SATA в случае использования SATA M.2. Для NVME диска нет примечаний, до 4 линий от чипсета.
    Нижний M.2 отключит два разъёма SATA при установке любого SSD в этот слот. Останутся ли у него 4 линии для PCI-E - не упомянуто, но скорей всего да.

    У чипсета линий PCI-E более чем достаточно, аж 24 штуки. К чипсету подключены два M.2, один слот PCI-E x4, один слот x1, итого на всякую прочую мелочёвку остаётся ещё 11 линий.

    учитывая количество линий на чипсете, я могу установить 1 видеокарту в режиме x16

    Верхний PCI-E подключен к CPU, а не к чипсету.
    Ответ написан
    1 комментарий
  • Как избавиться от lodash?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Открыть документацию lodash, разобраться, что делают используемые в представленном коде методы, переписать код без их использования.

    Как видите, всё довольно просто.
    Ответ написан
    Комментировать
  • Какую технологию выбрать?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Самое главное не указал:
    1. Для чего именно ты собираешь окружение? Для разработки или для прода?
    2. Что такое "веб-ресурсы пользователей"?
    3. Для чего тебе к этому подключаться по ssh и ftp? (для каждого нужно отдельное пояснение)
    4. Что подразумевает под собой словосочетание "возможность работать с ..."?
    5. Кто такие "пользователи"?

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

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

    Если тебе нужны контейнеры, то бери k8s, но тогда уже придётся отказаться от 1,2 и частично 4 с 5, тк:
    1. Контейнеры не должны иметь состояние. Так что сразу отлетает п2
    2. Контейнеры должны быть изолированы, а по тому сразу отлетает п1 с доступом внутрь контейнеров
    3. Обновление зависимостей (например базового образа) требует пересборки и перезапуска контейнера
    4. Один контейнер - одно приложение. Не будет такого, что у тебя в одном контейнере будет всё что ты описал в п3 одновременно работать.
    5. Никаких "папок" для пользователей не будет. Но у каждого пользователя-человека вполне может быть своя учётка для доступа в кластер, чтобы в нём создавать свои ресурсы. При этом на уровне учётки можно запретить одному пользователю доступ к ресурсам другого пользователя например.
    Ответ написан
  • Минимизация стоимости входящих в роуминге. Как принимать звонок по сотовой сети и переадресовывать по интернету?

    @dronmaxman
    VoIP Administrator
    Вариантики
    1) Сложный, надо понимать что и как ты делаешь. Своя АТС+GSM шлюз, приложение на телефон.
    2) Запросить у своего оператора возможно отдать номер по SIP, поставить приложение на телефон.
    3) Отнести симку оператору который поставит ее в свой шлюз и отдаст по SIP, поставить приложение на телефон.
    4) Самый удобный и не требующий особых навыков. Поищи на ali устройство по ключевому слову SIMBOX
    Ответ написан
    2 комментария
  • Для чего нужен грид в 24 колонки?

    neuotq
    @neuotq
    Прокрастинация
    Чаще всего используют 12 колонок. Причина в сравнении с красивыми 10 проста - большее количество вариаций делений при относительно небольшом числе колонок, учитывая исходные что ширина бОльшей часть экранов кратно 8. Поэтому может вернее будет назвать эту систему системой 8-пиксельной, тк шаг в 8 пикселей для большинства размеров(при хард сетке всё кратно 8, при софт только расстояния между элементами). Таким образом легко быстро выстраивается модульная сетка с приятным ритмом.
    Поэтому многие системы/фреймворки по умолчанию настроены на 12 колонок.
    24 колонки - можно условно считать вариацией для любителей чуть большей вариативности и тонкостей с шириной/расстоянием между колонками и шага в 4 пикселя и тонкой настройки золотого сечения на странице.
    Отдельно стоят любители 16 колонок(относительно популярный вариант), это, как другие менее популярные, уже частные случаи сетки и дизайна, где все в ручную подбирается, либо изначально допускается меньшая вариативность размещения элементов/колонок/модулей. Поэтому прям зацикливаться не стоит, исходите из своих задач и требований, полёта фантазии дизайнера.
    Ответ написан
    Комментировать
  • Dot notation в композиции компонентов React?

    В документации всего один абзац посвящён этой возможности:
    You can also refer to a React component using dot-notation from within JSX. This is convenient if you have a single module that exports many React components. For example, if MyComponents.DatePicker is a component, you can use it directly from JSX with:
    import React from 'react';
    
    const MyComponents = {
      DatePicker: function DatePicker(props) {
        return <div>Imagine a {props.color} datepicker here.</div>;
      }
    }
    
    function BlueDatePicker() {
      return <MyComponents.DatePicker color="blue" />;
    }


    Вроде бы всё просто: если модуль экспортирует много компонентов, как вариант, удобно использовать запись через точку, чтобы не писать длиннющий импорт.

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

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Современное решение без javascript

    .modal-wrapper {
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        /* То, что нужно */
        overscroll-behavior: contain;
    }

    https://developer.mozilla.org/en-US/docs/Web/CSS/o...
    Поддержка 87% https://caniuse.com/css-overscroll-behavior
    Ответ написан
    1 комментарий
  • Как распарсить строку средствами sql?

    Enokin
    @Enokin
    Full-stack разработчик
    Это может быть сделано с использованием функции SQL JSON_EXTRACT(). Например, следующий запрос выберет массив valuation-tools из каждой подстроки в столбце text_column:

    SELECT JSON_EXTRACT(
      JSON_EXTRACT(text_column, '$[*].current[*]'),
      '$[*]."valuation-tools"'
    )
    FROM table_name;
    Ответ написан
    3 комментария
  • Стоит ли разработчикам платить за баги?

    @aleks-th
    У меня примерно так:
    1. Если задание выполнено строго по ТЗ и принято - любой вновь найденый баг - это уже новая работа которая должна быть оплачена.
    2. Если задание не выполнено по ТЗ и баги при приемке не принимать - то это ошибка разработчика, пусть исправит.
    ---
    3. ТЗ должно быть составлено так чтобы не могло быть двойного трактования - если ТЗ позволяет трактовать задачу размыто и компания может предполагать одно, а исполнитель другое - ошибка того кто дал это задание разработчику - соответственно это не проблема разработчика, он не знает что у вас в голове и работа по переделке будет оплачена.
    ---

    А вообще никаких общих правил не существует - как договоритесь так и будет.
    Ответ написан
    Комментировать
  • Заказывать CMS с 0 или использовать существующие?

    @mletov
    Составляете список того, что должно быть в проекте. А лучше не просто список, а написать полноценное техническое задание.

    Далее смотрите, что из требуемого функционала уже есть в CMS (хотя бы похожее или что CMS позволяет быстро реализовать), а что носит уникальный характер, заточенный именно под ваши нужны. Чем больше уникального функционала, тем больше плюсов в написании с нуля, ну и наоборот, чем проект более типовой (новости, статьи, каталоги, фотогалереи, формы обратной связи и т д), тем выгоднее брать CMS.
    Ответ написан
    1 комментарий