Задать вопрос
  • Как в софтверных компаниях относятся к использованию ИИ?

    @Everything_is_bad
    Но имея базовые понятия, да с помощью ИИ я же могу junior'ом то уже работать
    но вот только джины не сильно и нужны, а тем более такие.

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

    Короче, ИИ способен убирать кучу рутины квалифицированного программиста, но не заменить его. Так же ИИ решает мелкие частные задачи "обычных" людей.
    Ответ написан
    4 комментария
  • Где хранить ключи api используемые для тестирования открытого по?

    Vamp
    @Vamp
    Стандартной практикой является коммит в репозиторий файла phpunit.xml.dist в который прописываются все настройки по умолчанию, кроме чувствительных к безопасности (api ключи, пароли и пр). Файл phpunit.xml добавляется в .gitignore. Таким образом, если пользователю нужно кастомизировать какие-то параметры, он просто копирует файл phpunit.xml.dist в phpunit.xml и добавляет свои секреты в последний. Это безопасно, так как phpunit.xml заигнорен.

    То что вы описываете - это уже не unit, а интеграционное тестирование. Скрипты для интеграционного тестирования обычно делают в отдельном testsuite и скипаются по умолчанию. Для запуска юнит тестов не должна требоваться какая-либо подготовка - только "склонировал репозиторий, запустил". Для интеграционных подготовка уже нужна. Например, юзер должен будет модифицировать phpunit.xml (не .dist!), вписав туда свой тестовый api ключ.

    Соответственно, для юнит тестов достаточно в тестируемый код передать мокнутого http клиента, который будет возвращать ответ, который вернуло бы реальное стороннее api (в guzzle это делается с помощью MockHandler). Поэтому если надо просто запустить юнит тест, то ничего делать не нужно - phpunit автоматически подхватит phpunit.xml.dist, если не найдет phpunit.xml. Если надо запустить интеграционные, то юзер должен будет скопировать phpunit.xml.dist в phpunit.xml и добавить туда api ключ.
    Ответ написан
    1 комментарий
  • Как можно реализовать фиксирование заброшенной шайбы в ворота?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Геркон - это единицы сантиметров и невысокая скорость срабатывания. Отпадает.
    2. ИК-барьер реагирует на всё, ему что шайба, что клюшка, что нога вратаря, всё едино. Отпадает.
    Ответ написан
    5 комментариев
  • Как можно сделать проверку номеров квартиры, дома и улицы введенных пользователем?

    sabramovskikh
    @sabramovskikh
    dadata.ru
    Ответ написан
    Комментировать
  • Как определить свой уровень программирования?

    @Everything_is_bad
    твой уровень программирования "школьник 9го класса, изучающий полгода java"
    Ответ написан
    1 комментарий
  • Как правильно работать с background?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Чтобы не было, например, "обрезаний" при разных разрешениях экрана или "дополнения" пустых мест его дублированием


    Геометрия говорит нам, что если пропорции блока и изображения не совпадают, то возможны три варианта:
    - поля
    - обрезка лишнего
    - искажение пропорций

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

    Но кроме пропорций, есть ещё поддержка форматов и плотность пикселей. Так что, сложность тут не одна.

    Какие размеры файла желательны (в байтах)?

    Минимальные. При этом нужно сохранять достаточное качество.

    Этот вопрос не имеет смысла, даже если вы скажете размер вьюпорта/блока, но не покажете картинку. Потому что одна сожмется прекрасно, а другая заметно потеряет в качестве.

    Для ретины и разных форматов файлов используйте image-set
    Для разных размеров - @media
    Для оптимизации размеров - форматы webp, avif
    Ответ написан
    Комментировать
  • Как найти опечатку в номере телефона?

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

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

    @99insania99
    В 2025 году советовать отдельный ssd под винду, а hdd под все остальное - это какой-то верх безумного идиотизма. Берется терабайт ssd m2 под винду, игры, программы и все прочее. HDD оставляется действительно под файлы и бекапы. Если нужно доп место - покупаются SSD.
    Кулер выбирается под TDP проца. Как правило 5+ тепловых трубок закрывают вопрос с большинством процев.
    Сборки - атас. Курите новости про нестабильность 13-14 серии интуля
    Ответ написан
    Комментировать
  • Программирование, строки закрыты все?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Это значит что это блок. В данном случае - блок комментария.
    Что такое "закрыты все строки" я лично не знаю, несмотря на многолетний опыт.
    Ответ написан
    6 комментариев
  • Какие у битрикса требования к серверу?

    Дисковое место: сам Битрикс в редакции Бизнес жрёт меньше 1.5 Гб . Остальное зависит от того, сколько у вас картинок и какого они размера.
    Памяти как-то мало. Полгига надо отдать под мемкеш или редис, потому что файловый кэш проблемный. Битрикс хочет 384 Мб оперативки на процесс PHP - считайте сами, сколько получится запустить параллельно.
    Ещё MySQL отожрёт гига два.
    По ядрам:
    одно - под MySQL,
    одно - под nginx ( ладно, системные процессы сюда же),
    и ... ничего не осталось..

    10к уников - для простоты можно считать, что они ходят только в рабочее время, то есть 10 часов. То есть 1к уников в час, 1 уник в 3.5 секунды. У Битрикса "эталон" задан как генерация страницы за 0.3 сек - в реальности, конечно больше ( если кто-то станет Вам говорить про автокеширование - плюньте ему в лицо), но вроде вписываетесь.
    Сейчас ещё надо учитывать паразитный трафик от нейросетей и всяких парсеров, он может быть очень значительным, но можно его зафильтровать.

    Если заказчик просто хочет быстро запуститься - Битрикс пойдёт, пока пилите магазин на чём-то другом (тот же опенкарт, если у Вас достаточно опыта на нём). Преимущества, которые у платформы были, за минувшие годы превратились в пыль.
    Ответ написан
    6 комментариев
  • Есть ли какой-нибудь заменитель pattern matching в Javascript/ECMAScript?

    Geminix
    @Geminix
    Фуллстек nuxt, .net разработчик
    switch (Math.sign(value)) {
        case 0: return 'none';
        case 1: return 'up';
        default: return 'down';
      }
    Ответ написан
    Комментировать
  • Есть ли какой-нибудь заменитель pattern matching в Javascript/ECMAScript?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Тайпскриптовая библиотека
    https://www.npmjs.com/package/ts-pattern
    Ответ написан
    Комментировать
  • Как называется такая структура данных?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Никак не называется. Можно структуры комбинировать для ваших задач, но это частные случаи применения структур, не настолько частые, чтобы давать этой комбинации какое-то имя. Если уж хочется назвать это как-то, то это все еще будет хеш-таблица с какими-то вспомагательными пристройками для каких-то дополнительных нужных вам свойств (итерация).

    И вообще, у вас тут намудрено, почему нельзя сделать просто:
    let objects: HashMap<Uuid, Object>;

    Тут все такой же O(1) доступ к элементу по id. Зачем вам массив? Вы там добились простой и cache-friendly итерации по всем объектам? Не факт, что это уже не реализовано внутри HashMap. По крайней мере во многих языках можно проитерироваться по всем объектам в стандартной хеш-таблице.

    Зато у вас там удаление элемента - это что-то сложное. Особенно, если вы не хотите избежать фрагментации и неиспользованного места в массиве.
    Ответ написан
    4 комментария
  • На Q&A пробираются рекламные боты?

    ForestAndGarden
    @ForestAndGarden
    Совершенствовать среду обитания
    И хочется наябеднечать модеру, но такой возможности нет((

    https://qna.habr.com/feedback
    Ответ написан
    Комментировать
  • Возможно ли задать подсказку в phpstorme для возвращаемого типа?

    @Vitsliputsli
    Это не просто подсказки, это контроль типов. То, что зная какой тип возвращается Шторм может подсказать варианты это побочное удобство. Основное же должно быть то, что конкретная переменная имеет определенный тип, а значит не нужны дополнительные проверки и методы будут лаконичны и конкретны. У вас пока, то ли объект, то ли массив, то есть каждый раз нужно проверять что это. Лучше бы сделать объект-коллекцию.
    Чтобы указать Шторму, что в конкретной переменной лежит только этот тип используется хинт, типа такого:
    /** @var User $user */
    но разумеется, он должен быть только в том коде где в $user лежит обязательно объект класса User и ни что иное.
    Ответ написан
    1 комментарий
  • Чем frontend разработчик занят на реальных проектах?

    @Giperoglif
    Настройка тестов, CI/CD, OLAP CUBE, оптимизация запросов к БД
    - это важно для фронтенда знать, что такое просто есть) явно вас не тем загружают.
    Ответ написан
    2 комментария
  • Зачем аннотацию применять к самой себе?

    @shushara4241
    Смысл есть, когда вы пишите аннотацию для аннотаций и необходимо применять ее и к самой аннотации. Самый яркий пример - @Retention и @Target. Для самих @Retention и @Target аннотаций они тоже необходимы, т.к. применяется к аннотациям. Вот такая рекурсия. На практике же крайне специфичный кейс
    Ответ написан
    Комментировать
  • Говорят,что не надо знать матем. при изучении программирования, но почему все задачи математические?

    Maksim_64
    @Maksim_64
    ML Engineer
    1. Способов изучать программирование множество, большинство не требуют чего то большего чем школьная программа.

    2. На работе математические требования зависят от области применения.

    Скорее всего при самостоятельном обучении, ты встал на путь, который требует математику.
    Ответ написан
    Комментировать