• Почему функция возвращает результат вне цикла for?

    mmmaaak
    @mmmaaak
    Верни return -1 в блок if/else и попробуй найти в своем массиве элемент равный 5
    Ответ написан
    Комментировать
  • Зачем используют Django и Python, разве не удобнее сразу все сделать через Node.js и javascript фреймворки?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Бекенд - это не язык. Это понимание соответствующих технологий работы с базами данных, кешированием, работы со структурами данных, протоколами, технологиями, алгоритмами, построением архитектуры и связыванием с внешними сервисами и прочее...
    А поскольку это охватывает очень большой пласт проблем - и произошла специализация.

    А Python разработчики имеют дело в основном только с бэкенд - и понятия про фронтенд у них будут на уровне dummy html, css, bootstrap.

    Угу... При таком подходе - с чего вы взяли тогда что у фронта будут достаточные знания о работе бекенда? Раз по-вашему бекендер только в dummy html может, - а фронтендер сразу с ходу сможет оптимизированные запросы к БД к примеру писать? )))) Если ваш фронтендер настолько крут - то в принципе незнание языка не помеха, поскольку язык - только инструмент.
    Ответ написан
    3 комментария
  • ООП: Правильно ли архитектурно так делать?

    Vamp
    @Vamp
    Возможно, это нормально, так и должно быть ? или как архитектурно правильно решать подобное?

    Это нормально. Безликие массивы становятся осмысленными сущностями. Такой код становится проще понимать и поддерживать.

    Используемый вами подход называется data transfer object (DTO). Широко распространенная практика. DTO отлично сочетается с иммутабельностью, которая присутствует в ваших классах.

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

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

    Называется ORM. Находится в ответственности ORM слоя/фреймворка.
    Ответ написан
    4 комментария
  • Как в document.querySelector вставить html?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    document.querySelector('.post-list').innerHTML += `
            <div class="card" style="...">
                <div class="card-body">
                    <h5 class="card-title">${post.title}</h5>
                    <p class="card-text">${post.body}</p>
                    <a href="#" class="card-link">Подробнее</a>
                </div>
            </div>`


    posts.array.forEach

    Ошибка, потому что в posts нет элемента array
    Ответ написан
    2 комментария
  • Как найти максимально похожий цвет?

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

    Если надо работать очень быстро, то надо представить ваши именные цвета как точки в трехмерном пространстве, построить kd-дерево или r-дерево и уже в нем искать ближайшую к запрошенной точку.
    Ответ написан
    5 комментариев
  • Как найти максимально похожий цвет?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Самое простое — считать сумму квадратов расстояний по каждому из компонентов: R, G и B.

    Для пары 0000DD, 0000C8 «расстояние» будет такое:
    (0x00 - 0x00)^2 + (0x00 - 0x00)^2 + (0xDD - 0xC8)^2 = 441
    Так посчитать до каждого из определённых цветов, найти минимум.

    Можно сравнивать в других цветовых моделях. Например, в HSV (оттенок, насыщенность, яркость) — если посчитаете, что насыщенный красный и тусклый красный точно того же оттенка «ближе», чем той же яркости оранжевый. Речь о возможно разных «весах» каналов в деле определения близости двух цветов.
    Ответ написан
    Комментировать
  • Почему после аменда 'git commit --amend --no-edit' не могу запушить на Github?

    Aetae
    @Aetae
    Тлен
    Либо ты уже запушил тот коммит что изменяешь("изменённый" коммит - это на самом деле просто другой коммит с другим хэшем, коммиты менять нельзя в этом их суть), либо кто-то другой уже запушил в ветку что-то своё.

    В первом случае делай пуш с флагом --force-with-lease для переписывания коммита, во втором случае сначала сделай пул и подтяни изменения.
    Ответ написан
    3 комментария
  • Нужна ли математика .net разработчику?

    Большинство .net вакансий - это Энтерпрайз.
    Математика нужна на уровне арифметики начальной школы.
    В геймдеве - наверно на уровне тригонометрии из старшей школы, если говорить о разработке под готовым движком
    Ответ написан
    Комментировать
  • Кто-то уже окунался в разработку с Nuxt 3?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Вы соберёте все проблемы и завалите все дедлайны. :)

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

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

    Да и вообще есть ощущение, что они слишком фанатично пытаются всё упростить и обвешать магией, ушли куда-то не туда.
    Всякий сахарок - это прикольно, но должно быть опционально и навешиваться поверх уже готовой, работающей системы, а там половина issue - это борьба с теми проблемами, которые они сами себе придумали в погоне за "хотим, чтобы тут одну строчку написать - и дальше оно всё само".
    Но альтернатив не видно, поэтому пока Nuxt 2, возможно Nuxt Bridge, но и то смотреть надо.

    Другой вопрос - а зачем вам SSR для CRM? Для морды можно и пререндер сделать, а всё что за авторизацией - кому вообще интересно, есть там серверный рендеринг или нет?
    Ответ написан
    4 комментария
  • Почему не получается склонировать репозиторий?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Я больше подозреваю, что путь кривой. пробелы, точки, русские буквы.
    Может пушили с Линукс, а с винды такой путь не смог склонироваться.

    Кстати, на Stackoverflow обсуждают слишком длинные имена.
    Тоже можно проверить. русские буквы - в utf8 занимают больше байт, чем английские.
    можно попробовать
    git config --system core.longpaths true or edit gitconfig (от админа)
    или попробовать склонить в папку ближе к корню диска.
    Ответ написан
    1 комментарий
  • Какие данные у потоков одного процесса общие?

    Vindicar
    @Vindicar
    RTFM!
    Кек, сам задавал такой вопрос сегодня на зачёте. Но время что-то не сходится.

    Общее:
    - Адресное пространство
    - - Как следствие, исполняемый код
    - - Как следствие, переменные окружения
    - Открытые дескрипторы

    Различается:
    - Стэк: у каждого потока свой, в одном адресном пространстве. но в разных его местах
    - Обработчики структурных исключений
    - Ну и вообще контекст потока: регистры процессора и т.п.
    Ответ написан
    3 комментария
  • Как организовать быстрый поиск по 78 млн строк?

    @rPman
    На любом языке программирования, желательно c++, реализуешь следующее приложение, использующее map или аналогичную структуру следующим образом.

    В качестве ключа - хеш от искомого значения
    В качестве значения - список структур, в котоых пара искомое значение (с возможностью выставить null) + возвращаемое значение (идеально может быть смещение в файле csv где начинается нужная строка). Возможно вместо списка использовать еще один map (значение => смещение или даже значение => список смещений, если искомое поле не уникально)
    Map<hash,List<{value,offset}>> или Map<hash,Map<value,List<offset>>>

    Тогда первоначальное наполнение просто считает хеши ключа и заполняет в возвращаемые значение смещение соответствующих строк в csv файле
    Затем вторым проходом, для тех записей где случились коллизии хеша и список возвращаемых значений больше 1, прописать искомое значение либо его хеш (с другим алгоритмом, если не боишься двойных коллизий)

    Затем организуешь поисковый метод который будет принимать поисковые запросы и складывать в очередь (thread safe) ответы (id запроса + смещение строки в csv либо null если не найдено). Метод просто считает хеш искомой строки и берет в map нужный список ответов, если их больше 1 то последовательно сравнивае

    Параллельным потоком либо с асинхронно считываешь csv строки, на основе этой очереди (если диск hdd то лучше сортировать порядок чтения записей из файла по смещению, если записи в csv очень короткие, сотня другая байт, то сортировать имеет смысл и для ssd)

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

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

    Зависит от того какой поиск и какие данные.
    Опять же - если данных уж очень много, то вряд ли получится всё в ОЗУ загрузить
    Если по точному соответствию, и все они уникальные - используй хэш таблицы.
    Если они сортируемые - отсортируй и используй бинарный поиск.
    Если нужен полнотекстовый/нечёткий поиск - проще взять стороннюю СУБД.
    Ответ написан
    7 комментариев
  • Как получить значение селекта?

    @karminski
    Senior React.JS Developer
    Добрый день. Для этих целей в стандарте JS есть специальный аттрибут selectedOptions
    document.querySelector("#mainch").selectedOptions[0].value
    Ответ написан
    Комментировать
  • Как это работает?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    for (let i = 2; i > 2; i++) {...}
    Два никогда не бывает больше двух, поэтому цикл выполняется ноль раз, console.log вызывается столько же раз.

    // выводит undefined
    Это не console.log выводит undefined, а консоль браузера выводим вам результат выражения, которое вы в ней выполнили.

    Вот этот код никакого undefined вам не покажет:
    let num = 2 
    for(let i = 2; num > i; i++){
      if(num % i == 0){
        console.log(num)// выводит undefined
      }
    }
    42;
    Ответ написан
    Комментировать
  • Почему в Visual Studio Code отсутствует обыкновенный сниппет Print?

    Такого сниппета и не было никогда в C# екстеншене.
    Может, тебя интересует вот это?
    https://marketplace.visualstudio.com/items?itemNam...
    Или любой другой экстеншен для юнити
    Ответ написан
    1 комментарий
  • Как можно коротко перебрать массив объектов и преобразовать по одинаковому id при помощи javascript?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const group = (arr, idKey, valKey) =>
      Object.values(arr.reduce((acc, { [idKey]: id, [valKey]: val }) => (
        (acc[id] ??= { [idKey]: id, [valKey]: [] })[valKey].push(val),
        acc
      ), {}));
    
    
    const result = group(data, 'id', 'color');
    Ответ написан
    1 комментарий
  • Как правильно составить микро разметку по schema.org?

    pro100taa
    @pro100taa
    Скорее всего, конкретно под музей нету микроразметки схема. Я не встречал. Вам могут такие разметки пригодиться:

    1. https://schema.org/Organization - описание организации.

    2. https://schema.org/Review - отзывы посетителей

    3. https://schema.org/Event - микроразметка событий. Можете с помощью нее оформлять предстоящие выставки, ночь музеев и прочее.

    4. https://schema.org/ImageObject и https://schema.org/VideoObject - этим оформить картинки и видео на сайте.

    Забыл написать. Если примеры стандартной документации, что я привел вам непонятны, то можете каждую по отдельности загуглить и найдете примеры как исполнить.
    Ответ написан
    Комментировать