Задать вопрос
  • Можно ли доверять "CPU Support List" размещенного на оф. сайте производителя материнской платы?

    @apppostol
    Доверять можно.
    Список совместимости гарантирует как ни странно, совместимость устройств. Если вы вставите процессор в материнскую плату, он заведется и будет работать = совместимы.
    Ответ написан
    2 комментария
  • В чём у меня ошибка в данной задаче?

    Maksim_64
    @Maksim_64
    ML Engineer
    Странно, вроде занимаешься машинным обучением где-то взял код, а не вопрос нормально задать не можешь, не подправить в двух местах, ошибки которые и к машинному обучение то отношения не имеют.
    print((f'accuracy:{accuracy_score(y_perd,y_test) :.3}'))
    вот в этой строчке, ты не смог подправить не правильно написанное имя переменной, y_pred должно быть.
    вот в этой строчке ты не смог правильно написать название колонки
    sns.scatterplot(x='petal_width', y='petal_lenght',data=iris,hue = 'species', s=70)
    должно быть y='petal_length'

    Код запустится, и начнет работать. Ты вводишь гипер параметр количество соседей для своего классификатора, он фиттит его, и рисует график в котором показывает правильно и не правильно классифицированные точки, код работает.

    А ну и закомментируй лишнее в общем вот рабочая версия
    код
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score
    import seaborn as sns
    from matplotlib import pyplot as plt
    import numpy as np
    import pandas as pd
    from sklearn import datasets
    
    iris= sns.load_dataset('iris')
    #iris
    x_train, x_test, y_train, y_test= train_test_split(
        iris.iloc[:,:-1],
        iris.iloc[:,-1],
        test_size= 0.15
    )
    
    def init_model(k, x_train, y_train, x_test):
      model = KNeighborsClassifier(n_neighbors=k)
      # print(model)
      model.fit(x_train,y_train)
    
      y_pred = model.predict(x_test)
      return y_pred
    
    def grath(y_test,x_test,y_pred):
      plt.figure(figsize=(10, 7))
      sns.scatterplot(x='petal_width', y='petal_length',data=iris,hue = 'species', s=70)
      plt.xlabel('Длина лепестка,см')
      plt.ylabel('Ширина лепестка,см')
      plt.legend(loc=2)
      plt.grid()
      for i in range(len(y_test)):
          if np.array(y_test)[i] != y_pred[i]:
              plt.scatter(x_test.iloc[i,3],x_test.iloc[i,2],color = 'red', s = 150)
    
    
    
    # x_train.shape, x_test.shape, y_train.shape, y_test.shape
    
    # x_train.head()
    # y_train.head()
    
    k = int(input('Чему равно k? '))
    
    y_pred = init_model(k,x_train,y_train,x_test)
    print((f'accuracy:{accuracy_score(y_pred,y_test) :.3}'))
    grath(y_test,x_test,y_pred)
    Ответ написан
    1 комментарий
  • Есть ли такой сервис с AI?

    mayton2019
    @mayton2019
    Bigdata Engineer
    AI здесь вобщем не нужен. Это классика машинного обучения еще из 20-го века.

    Я такое делал в алгоритме K-Means для Apache Spark. В данном случае выборкой были векторы { r, g, b }
    всех пикселов картинки а количество кластеров было 256. И на выходе алгоритма я получал массив из 256 наиболее популярных цветов (центров кластеров) для данной картинки.

    Реализация алгоритма K_Means есть в любом научном или статистическом пакете. Я еще находил ее
    в java commons-math кажется.

    Далее рисование мозаики - это отдельная задача. Она - утилитарная и любой разработчик Python / JavaScript
    ее сделает за 5 минут. И здесь AI тоже не нужен.
    Ответ написан
    2 комментария
  • Есть ли такой сервис с AI?

    Для этого ИИ не нужен.
    Гугли "палитра по фото"
    Ответ написан
    5 комментариев
  • Как отрисовать 1000 графиков на Chart.js?

    Fragster
    @Fragster
    помогло? отметь решением!
    Выкинуть все анимации, нарисовать все графики на канвасе который не видно один раз и сохранить в dataurl или objecturl png (можно с помощью chartjs) и выводить картинками, убрать у них реактивность (это уже опционально)

    добавить virtualscroll для таблицы
    Ответ написан
    Комментировать
  • Нарушает ли открытое ПО composer`а проприетарную лицензию?

    Мы создадим обработчик для использования этой библиотеки, можем ли мы взять деньги за такую услугу? И нарушит ли эта библиотека лицензию CMS?

    Скорее наоборот вы можете лицензию на эту открытую библиотеку случайно нарушить.
    В случае apache - не страшно, она разрешает линковку с проприетарным кодом и не обязывает раскрывать исходники.
    В случае GPL - нужно будет покупателю CMS-ки предоставить возможность получить исходники прилинкованной библиотеки (а в некоторых случаях - и самой CMS-ки. Лучше посоветоваться с юристом, тк GPL очень сложная лицензия)

    Может ли компания продавать такую cms?

    Может. Но CMS же должна будет знать о существовании этой библиотеки? Я бы попробовал тогда добавить систему плагинов для CMS-ки. Тогда в худшем случае придётся только исходники этого плагина опубликовать.

    ситуации 1 и 2, только с модификацией библиотеки (наследование классов и их правки)

    Всё определяется конкретной лицензией. Повторюсь что gpl, apache, bsd, и mit - это совершенно разные лицензии.
    Ответ написан
    Комментировать
  • Насколько хорошо задавать стиль в html без создания класса и т.д?

    miraage
    @miraage
    Старый прогер
    Слишком мало информации, чтобы дать вменяемый ответ.
    В целом, лучше использовать CSS классы.
    Если это пару мест в разметке таких - ничего смертельного. Если огромный макет так сверстан - это катастрофа.
    Ответ написан
    Комментировать
  • Программы для импортозамещения?

    Alex_Geer
    @Alex_Geer
    System Engineer
    Вот реестр. Вбиваешь наименование ПО и смотришь отечественные аналоги

    https://reestr.digital.gov.ru/import-substitution/
    Ответ написан
    2 комментария
  • Где оправдано применение Node Js?

    Q2W
    @Q2W
    По моим ощущениям ноду используют фронтендеры, которые хотят простой бекенд и не хотят заморачиваться.

    Ну и server side rendering для фронта, написанного на каком-нибудь реакте, ангуляре, вью, свелте не просто организовать без ноды на сервере.
    Ответ написан
    5 комментариев
  • На что опереться при проектировании API (паттерны, концепции)?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Ну я вроде и рассказал, что это противоречит тому же SOLID

    Проектировать API надо по требованиям предметной области.

    SOLID, REST и т.д. - это конечно же хорошо, но когда из-за них архитектура становится трудной к пониманию - тупое следование им только усугубит ситуацию.

    а почему я не могу в API сделать метод DELETE и в него передавать и тип объекта, и его id


    Почему нет? Если объекты создаются динамически, а не предопределены, то передавать их тип - хорошая идея.
    Все зависит от проблемы.

    Есть где кратко изложенная теория по этому поводу?


    Вряд-ли. Все зависит от проблемы/предметной области.
    Могу посоветовать алгоритм:
    1. Выявить функциональные требования к системе
    2. Представить их в виде условных функций
    3. Переписать их в виде вызовов API (за основу можно взять готовые паттерны проектирования: REST, SOAP и т.д.)

    Посмотрите на API VK или Telegram. Это не REST, но тоже удобно
    Ответ написан
    3 комментария
  • Как составить запросы postman?

    liaFcipE
    @liaFcipE
    Ну и дела, как же вас так учат? Неужели тебе просто дали задание и ранее не показывали как работать с Postman? Там же интерфейс, что справится даже моя бабуля.

    Давай, допустим, что ты уже разобрался с тем, как работает UI постмана, знаешь что такое collection и environment.
    Давай зайдем на нужную тебе страницу, так, добавить в корзину, имеется каталог и кнопка добавить товар в корзину.

    Давай откроем инструменты разработчика и зайдем во вкладку сеть, готово?
    Теперь нажмем на кнопку добавления товара и о чудо! В инструментах разрабочтика виден запрос add, его параметры и ответ:

    65064be46c94f492329084.png

    Теперь мы можем создать новый запрос в ранее созданой коллекции и понять следующее:

    - Запрос идет на адрес https://shop.mts.ru/api/v1/cart/add
    Можно сразу вынести https://shop.mts.ru - в переменные окружения (та самая environment), назовем ее base_url, теперь эндроинт запроса для нас - {{ base_url }}/api/v1/cart/add

    Что мы еще увидели в панели разработчика?
    - Тип запроса - POST
    - Тело запроса: {id: "677070"}, где 677070 - идентификатор добавляемого товара, его тоже можно вынести в переменные среды.

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

    Уловил примерно как это работает? Удачи.
    Ответ написан
    3 комментария
  • Как борются с взломом нейросетей?

    @rPman
    Бояться нужно не левой разметки, это не взлом.

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

    Гуглить adversarial attacks или атаки с использованием искажающих примеров.

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

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

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

    Так же гуглятся предложения по Регуляризации функции потерь.

    Главная беда нейронных сетей - они очень плохо работают, если им давать только хорошие данные, вместо тех признаков что мы как люди привыкли примечать (потому что у нас огромный багаж знаний в довесок, плюс мы постоянно дообучаемся) сети выделяют какие то дикие и абстрактные для нас признаки, по которым внезапно так же можно решать задачу, и именно на этом сети легко обманывать. Чем больше плохих данных ты даешь, тем больше знаний о предметной области (чем не является искомые объекты) - тем лучше она их будет искать, в идеале плохие данные должны быть на границе с хорошими... у людей 'человеческие детеныши' отлично умеют 'бесить взрослых', прощупывать пределы допустимого, совершая максимально дичайшую дичь но рядом с тем что еще не успели запретить или не достаточно хорошо определили.
    Ответ написан
    Комментировать
  • Как исправить ошибку при отправке запроса?

    rozhnev
    @rozhnev Куратор тега MySQL
    Fullstack programmer, DBA, медленно, дорого
    То что вы пытаетесь сделать в MySQL можно сделать при помощи типа ENUM

    CREATE TABLE species ( 
        species_id       INTEGER PRIMARY KEY,
        type_id          INTEGER,
        species_name     VARCHAR(255) NOT NULL,
        species_amount   INTEGER,
        date_start       DATE,
        species_status   ENUM ('active', 'absent', 'fairy') NOT NULL DEFAULT 'active'
    );

    https://sqlize.online/sql/mariadb/38af7f7fa3c528d5...

    Но лучше использовать таблицу-справочник
    CREATE TABLE species_statuses ( 
        id       INTEGER PRIMARY KEY,
        name     VARCHAR(255) NOT NULL
    );
    INSERT INTO species_statuses VALUES (1, 'active'), (2, 'absent'), (3, 'fairy');
    
    CREATE TABLE species ( 
        id          INTEGER PRIMARY KEY,
        type_id     INTEGER,
        name        VARCHAR(255) NOT NULL,
        amount      INTEGER,
        date_start  DATE,
        status_id   INTEGER DEFAULT 1,
        FOREIGN KEY (status_id) REFERENCES species_statuses(id)
    );

    https://sqlize.online/sql/mariadb/1121e0d679fb1aae...
    Ответ написан
    Комментировать
  • Можно ли задавать вопросы об оптимизации и/или улучшение качества базы данных?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Можно в принципе любые вопросы, связанные с тегом. Вопросы, а не задания (и не опросы!)

    Примеры:

    Опрос: "Как вы думаете, вот эта БД лучше вон той БД или хуже и почему?"
    Задание: "Сделайте мне структуру БД, чтобы вот так, вот растак и вот расэдак"
    Вопрос: "Хочу сделать вот такую структуру чтобы вот так, вот растак и расэдак, сделал то-то и то-то, получил вот такую и такую хрень, ЧЯДНТ?"
    Ответ написан
  • Как реализовать поиск по всем полям всех моделей и связанных сущностей?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Нужно использовать поисковые движки — ElasticSearch, Manticore, Sphinx и т.д. Ну или FTS в MySQL и Постгрес, но это от бедности.
    Ответ написан
    3 комментария
  • Как борются с взломом нейросетей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существует только один способ улучшать работу нейросетей - продолжить обучение на новых данных.

    Сам термин взлом здесь не применим. НС оперируют нечеткой логикой поэтому никакого взлома
    нет. Есть просто детерминированное поведение выхода в зависимости от входа.
    Ответ написан
    Комментировать
  • Как ускорить запрос Select живом поиске?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если поисковый запрос начинается с символа %, то индекс толком не используется.
    Вам нужен либо fulltext index и соответствующий запрос, либо сторонний поисковый движок типа эластика или мантикоры

    Или хотя бы перенести сайт с того утюга, на котором он хостится сейчас, на нормальный сервер. Потому что 10 секунд на перебор трех сотен тысяч строк - это запредельные какие-то цифры.
    Ответ написан
    Комментировать
  • Как заставить gulp.watch реагировать только на сохранение, а не любое изменение файлов?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Никак он не может отслеживать изменения в файле, пока его не сохранят. В каком редакторе вы пишите? Отключите опцию автосохранение редактора. В самом ватчере, можно использовать параметр задержки
    function watcher() {
      gulp.watch('./src/style.css', { delay: 500 }, styles);
    }
    // в данном случае будет задержка в полсекунды после сохранения файла.
    Ответ написан
    1 комментарий
  • Какие вещи нужно изучить чтобы подготовить себя к работе с Highload проектами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Хайлоад это не какой-то особенный тип проекта, это все обычные проекты, но с объемом "туда-сюдирования" данных выше, чем тянул "прошлый сервер", когда проект был еще не хайлоад. В 90% случаев это выражается в росте количества запросов к бд, которая либо становится слаба по железу, либо вылазят косяки в запросах, написаных абы как, включая отсутствие индексов и кривую архитектуру.

    Что делается для "хайлоадинга"?
    1) Меняются сервера на помощнее, но это больше к админам обычно.
    2) Выявляются узкие места, в подавляющем большинстве случаев это либо обращения к бд, либо работа со сторонними сервисами, а-ля АПИ фейсбука и все такое.

    Как разгонять именно такие затыки 2 варианта - есть 3 пути:
    1) Оптимизация. Все что возможно ускорить - ускоряется, находятся самые тормознутые запросы, прогоняются через explain, переписываются, тюнятся, индексируются до состояния максимальной производительности.
    2) Кэширование. Обычно используют кей-валуе инмемори хранилища а-ля мемкеш и редис, и результаты запросов часто используемых, но не часто обновляемых данных пишутся в кэш. Время жизни настраивается в зависимости от необходимой актуализации. По идее на высоких нагрузках даже кэш с времением жизни 5-10 секунд может в разы снизить нагрузку на сервера.
    3) Иногда стандартных средств и инструментов не достаточно, и нужно искать какие-то новые инструменты, например переходить на сфинкс, так как фултекстсерч не вывозит. Или большие объемы данных идут на запись, и стандартной пропускной способности бд уже не хватает и нужно что-то типа систем хранения логов, или наоборот, аналитические бд по типу кликхауса...

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

    kawabanga
    @kawabanga
    Тем не менее сейчас я столкнулся с тем, что на собеседованиях начинают спрашивать что серьезного доводилось делать на чистом php - без фреймворков и мои ответы на их вопросы касательно парсеров, скиптов для обмена данными остаются неубедительными. Даже дальше кадровиков иногда дело не уходит.


    Вы неубедительны. Парировать надо. Ну найдите разраба, который в угоду своему ЭГО, будет писать проект на чистом php, который в будущем сможет поддерживать только он.

    Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?

    Вы недостаточно сильны в этом вопросе, SOLID опять же не про фреймворки.

    А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php?

    Зачем вам это? Изучать как работает PHP и смежные вещи - одно. Писать пет проекты чтобы закинуть их в ящик - другое.

    Может начать с изучения PSR

    Нужно, сразу после того, как вы начнете понимать php.

    от него начать писат простой psr фреймворк как это делал Дмитрий Елисеев?

    А что это вам даст?

    Или просто взять симфони и начать писать на ней чтоб понять суть вещей глубже и потом козырять своими скиллами на собеседованиях, что, мол, ,я тут на Симфони пишу, а вы мне тут вопросы для школьников задаёте?

    А при чем тут симфони и вопросы школьников?

    Короче расскажите мне про роудмеп погружения в php. Теорию я и так знаю - книги по php читал.

    Сначала начните с того, как искать в гугле. Полезный навык, помогает.
    https://github.com/thecodeholic/php-developer-roadmap
    Ответ написан
    3 комментария