Задать вопрос
  • Подойдет ли моя материнская плата Asus Prime B450M-K для процессора Ryzen 7 5700X3D?

    Wispik
    @Wispik
    Заходим на официальный сайт и видим, что материнка поддерживает этот проц (только возможно надо обновить биос)
    Ответ написан
    Комментировать
  • Что делать с ответами которые сгенерировала нейросеть?

    @Drno
    если ответ правильный - какая разница?
    это форум - вопрос \ ответ ))
    если хоть 1 человек найдет потом по поисковику ответ на вопрос - уже хорошо)
    Ответ написан
  • Куда расти ИБ специалисту?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Думаю обзавестися сертификатами по ИБ, подтянуть инглиш и идти на upwork

    Думаю, что на апворке ты нахрен никому не впилился. Тем более, что в РФ апворк давно уже не работает (а если ты не в РФ - то довольно глупо спрашивать здесь).
    Получать его не хочу, слишком долго и слишком мало мне это даст.

    Ага, типичный продукт пятилетней давности. Когда палка и пионер, когда апворк лежа под пальмой... С разморозкой, человече! Мир давно уехал черт-де куда, а ты и не заметил...

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

    Вышка - это такой тест на способность самостоятельного решения задачи. Знания, которые при этом типо получаются - вторичны, хотя некоторые пригождаются. Но в основном вышка - это про умение учиться :) Да-да, вышка учит учиться и не более того. Не одолел - ну вот провалил первый тест на профпригодность. В ИБ, где люди как правило работают на доверии, таких точно не берут (ну разве что в крупных конторах на самые низовые должности)
    Могу написать скрипты для PowerShell и Bash, но с chatGpt

    То есть "освоил Ctrl-C/Ctrl-V, но смысла не понимаю, ибо абизьян
    В целом, могу поднять и настроить любую прогрумму или сервер на Win и Unix.

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

    Ты ничего не говорил, мы ничего не слышали. Никогда не говори про это в серьезной компании - оборжут и затроллят
    Думаю, что как сисадмин Windows/Linux я почти Middle,

    Ты ошибаешься :)
    Ответ написан
    16 комментариев
  • Методы для поиска объектов на изображениях?

    Vindicar
    @Vindicar
    RTFM!
    почитать подробно про методы

    Хотелось бы понять какой метод, для какой задачи больше походит

    Не, ну ты выбери что-то одно. Или ты въезжаешь в кишки одного метода, или ты ищешь инфу по верхам.

    Навскидку, ключевые вещи на которые нужно смотреть это трудоёмкость, инвариантность и поддержка множественных экземпляров. Первое определяет, насколько сложно подготовить детектор объектов этим методом. Второе определяет, сломается ли метод если искомый объект повернуть/увеличить/ярко осветить/и т.п. Третье определяет, сломается ли метод, если искомый объект присутсвует в нескольких экземплярах.

    Например, методы перебора с голосованием вроде алгоритма Хафа. Хорошо работает для геометрических примитивов, поддерживает несколько экземпляров. Но произвольные трансформации обрабатывает плохо, слишком много вариантов. Для задач вроде "найти кнопку на экране" подходит очень хорошо.

    Каскады Хаара. Требуют контрастных объектов, не справляются с поворотами, могут быть чувствительны к масштабы. Долго обучаются, но довольно быстро работают. Сейчас их редко применяют.

    Методы, основанные на локальных особенностях. Требуют "пёстрых" объектов с множеством заметных деталей (в идеале контрастных углов), и не справляются с деформируемыми объектами или очень разными ракурсами. Легко справляются с произвольными трансформациями, но ломаются на множественных экземплярах. Это придётся обходить, обрабатывая изображение по частям. Зато если объект простой (условно, обложка книги), им обычно хватает одного изображения.

    Свёрточные нейронки вроде семейства YOLO. Можно научить много на что, и скорость работы у них стабильная, но нужна большая размеченная база для обучения. Причём если в базе не было скажем, повёрнутых изображений, нейронка их не научится распознавать. Отчасти обучающую базу можно расширить джиттерингом, но готовить её всё равно придётся, причём речь идёт о сотнях и тысячах изображений.
    Ответ написан
    1 комментарий
  • Есть код питон. Как исправить?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Для начала отложить ботописательство и изучить python.
    Например, по книге Марк Лутц - Изучаем python. 5-e издание.
    Без знания основ вы, каждый раз как будет выскакивать ошибка, будете бежать в гугл/сюда/на stackowerflow с подобными вопросами.
    Конкретно по вашему вопросу - в указанной книге пятый раздел первого тома полностью посвящен модулям, на отсутствие которого ругается интерпритатор.
    Ответ написан
    Комментировать
  • Как лучше сделать сайт для турфирмы?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Дело в том, что ТЗ нет ;( Говорят, не успели составить, делай как хочешь, мы тебе доверяем

    serge_lutens, ну удачи, что-ли. Ну и терпения выслушивать реплики вроде:
    • Чет мне не очень нравится компоновка/цветовая гамма/что-угодно, можешь поменять?
    • Я тут к конкурентам зашел, у них в мобильной версии такой прикольный слайдер, которым можно свайпами управлять, может добавишь?
    • А может вообще мобильное приложение написать?

    Это я к тому, что без четких договорённостей о том, что вы должны сделать, что нет и за какие деньги, при том на бумаге а не на словах, с вас могут очень долго и весело требовать правки. Причем ой как не факт, что за деньги.
    Ответ написан
    2 комментария
  • Котруется ли у it компаний курсы JavaRush?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Спешу вас огорчить, но компаниям плевать на то, какие вы курсы проходили. Ну, максимум можно сертификатом от cisco покозырять, но и он тоже будет максимум приятным бонусом в случае если будут выбирать между вами и еще одним претендентом одного с вами уровня (и то, далеко не везде).
    Прежде всего - спрашивать будут по конкретным вашим знаниям, без оглядки на то, где вы их приобрели.
    Ответ написан
    Комментировать
  • Батчинг входящих запросов с неблокирующим ожиданием?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    А вам точно это нужно?
    Потому что тут у вас появляется нюанс, который не совсем ложится на схему работы веб-приложения: у ваших отдельных запросов появляется общее состояние. Как минимум, это - накапливаемый пакет запросов, а ещё, наверное, в это состояние входит нечто общее для всех запросов для работы с БД: подключение или, если используется Entity Framework, DbContext. Это общее состояние придется как-то хранить, регулировать доступ к нему (DbContext к примеру, параллельный доступ не поддерживает в принципе), и вовремя это состояние удалять. Если посмотреть на стандартные механизмы ASP.NET Core, то сессия (ISession) для этого, наверное, не подойдет - там можно хранить только сереализуемые в байты пассивные объекты, и насчет регулировки доступа там непросто. Подойдет концентратор (Hub) SignalR, у которого есть сохраняемый между вызовами контекст подкючения - но ради него, скорее всего, потребуется менять способ вызова API из браузера: у него там своя клиентская библиотека.
    Ну и, по-любому, как-то надо реализовывать активную часть - которая, собственно, отслеживает пакет изменений и вовремя отправляет его в БД.
    Ваша идея
    Шедуллер в фоне будет периодически читать коллекцю объектов на запись и устанавливать результат выполнения в соотвтвующий TaskComplitionSource.

    мне не совсем нравится. Зачем периодически? Kучше чтобы эта активная часть срабатывала по факту добавления запроса в пакет - например, асинхронно ожидала Task от TaskComplitionSource. который метод добавления запроса завершал бы по факту добавления завершающего пакет запроса. Но и завершение по таймауту тоже предусмотреть надо - по жизни оно всякое бывает: обычно для таких целей используется WaitAny для комбинации основной ожидаемой задачи с Delay по таймауту.
    Ну, а ещё требуется, наверное, чтобы для каждого пользователя состояние было свое. В принципе, это делается, но надо делать. Для SignalR для этого можно использовать Hub.Context.Items - это словарь, который может содержать произвольные объекты, и сохраняется на время действия всего подключения.

    А ещё у меня, в принципе, есть своя самодельная библиотека, которая решает ту же задачу - сохранение контекста сеанса, в том числе - активного, с выполняющимся кодом. Я описывал ее недавно в статьях (кроме основной статьи есть дополнительная) на Хабре. Можете попробовать её, если переделывать API не хочется: она вполне годится для работы с API на базе MVC API Controller. или Minimal API. В принципе, она заточена немного под другую задачу - получние и возврат дополнительных результатов в фоне, но для вашей задачи она тоже подойдет. Напишу тут сразу технические подробности как использовать: ссылку на активную часть, собирающую и отправляющую пакет, можно хранить в IActiveSession.Properties, точно так же, как если бы вы хранили ее в Hub.Context.Items, а обработчик завершения, который прибирает за собой (в SignalR его место в OnDisconnect) - привязать к IActiveSession.CompletionToken через его метод Register. В общее для всез запросов состояние входит свой контейнер сервисов со своей областью действия в течение всего существования состояния, так что, если для работы с БД требуется Scoped-сервис из DI-контейнера, то его можно получить оттуда (в дополнительной статье написано, как, а также написано, как защититься от нежелательного одновременного доступа к такому сервису).

    Только вот библиотека эта, естественно, ни разу не стадартная, use at your own risk. Но если попробуете ее, мне будет интересно, что получилось. В том числе - и обнаруженные ошибки, заодно я и для вас их исправлю :-) .

    PS И неплохо было бы IMHO, чтобы дальнейший диалог, если он будет, шел на русском языке, без "батч", "эвейтить", "шедулер" и прочих транслитераций, IMHO лучше уж по-английски писать, если перевод неизвестен. А то я человек старый, мне читать этот пиджин тяжеловато.

    PPS А ещё благодарю за идею, о том, в какую сторону мне развивать мою библиотеку.
    Ответ написан
    1 комментарий
  • Можно ли обычного сис администратора назначить Администратором СКЗИ?

    @Desert-Eagle
    Новичок во всем
    Какая разница, есть образование или нет. На вас хотя просто повесить доп.функционал без увеличения ЗП скорее всего + чтобы был крайний на случай "пожара" (я так думаю).
    Обязанности у вас ровно те, за которые вы расписали в должностной инструкции. Тут вопрос в другом, если вы откажетесь, то скорее всего будет вариант "Таких как ты за забором очередь", не хочешь брать доп. обязаности, найдем того кто захочет.
    Ответ написан
    4 комментария
  • Как изучить Vue.js?

    Zoominger
    @Zoominger
    System Integrator
    кроме самой документации Vue

    Для изучения Vue рекомендую только и исключительно документацию по Vue, на основе которой и строятся васянские видеоуроки и лохокурсики.
    И да, осильте поиск.
    Ответ написан
    8 комментариев
  • Почему в Python последовательность append-ов суммируется в O(n), а не в O(n logn)?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Потому что, здесь вступает в игру такое понятие как амортизированная сложность. Для динамических массивов, которые увеличиваются в несколько раз (т.е. не + 10, а *2 например), амортизированная сложность - O(1).
    Поэтому, у тебя O(n) * O(1) = O(n) (амортизированное)
    Ответ написан
    Комментировать
  • Почему питание домашних роутеров — 12 В?

    LbICbIY
    @LbICbIY
    улвекающийся
    Пятнадцать лет назад роутеры как раз и работали от 5В. Тот же знаменитый дир-320 или wl500. И у таких роутеров часто БП был проблемным местом — умирали кондёры и вайфай переставал цеплять клиентов.
    Ответ написан
    2 комментария
  • Почему питание домашних роутеров — 12 В?

    GavriKos
    @GavriKos
    Невольно думается, что это заговор производителей: чтобы горели, а мы шли новые покупать.

    Ну я вот на днях сменил роутер. Предыдущий отпахал 10 лет - и пахал бы дальше, ничего не сгорело. И это при том что у него адаптер питания на 24 вольта, а допустимое входное - 10-28. Так что тут скорее наоборот страхуется производитель, чтобы сделать нормальное питание внутри для себя, независимо качества БП (их скорее всего делает подрядчик - они далеко не всегда фирменные). А чтобы гарантировать норму внутри - на вход надо таки повыше подать.

    А чего вы про ноуты такой же вопрос не задаете? Там БП тоже не 5 вольт далеко выдают.
    Ответ написан
    12 комментариев
  • Попросили проверить код, на что смотреть нужно?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря зачем)). Я когда делаю Code Review критерии следующие:

    * Безопасность:
    - Каждый аргумент метода простого типа должен проверяться на тип в случае его проксирования и на граничные значения в случае обработки. Чуть что не так - бросается исключение. Если метод с кучкой аргументов на 80% состоит из поверки из аргументов - это вполне норм))
    - Никаких trigger_error, только исключения.
    - Исключения ДОЛЖНЫ быть человеко-понятны, всякие "Something went wrong" можно отдавать пользователю, но в лог должно попасть исключение со стектрейсом и человеко-понятным описанием, что же там пошло не так.
    - Каждый аргумент (объект) метода должен быть с тайпхинтингом на этот его класс, или интерфейс.
    - За eval как правило шлю на **й.
    - @ допускается только в безвыходных ситуациях, например проверка json_last_error.
    - Перед работой с БД - обязательная проверка данных.
    - Никаких == и !=. Со swtich - единственное исключение, по ситуации.
    - Если метод возвращает не только bool, а еще что-то - жесткая проверка с ===, или !== обязательна.
    - Никаких условий с присваиваниями внутри. while($row = ...) - тоже идет лесом.
    - Магические геттеры/сеттеры разрешаются только в безвыходных ситуациях, в остальном - запрещены.
    - Конкатенации в sql - только в безвыходных ситуациях.
    - Параметры в sql - ТОЛЬКО через плейсхолдеры.
    - Никаких глобальных переменных.
    - Даты в виде строки разрешаются только в шаблонах и в БД, в пхп коде сразу преобразуется в \DateTimeImmutable (в безвыходных ситуациях разрешено \DateTime)
    - Конечно зависит от проекта, но как приавло должно быть всего две точки входа: index.php для web и console(или как-то по другому назваться) - для консоли.

    * Кодстайл PSR-2 + PSR-5 как минимум, + еще куча более жестких требований (для начала все то что в PSR помечено как SHOULD - становится MUST)
    - В PhpStorm ни одна строчка не должна подсвечиваться (исключением является typo ошибки, например словарик не знает какой-то из аббревиатур, принятых в вашем проекте). При этом разрешается использовать /** @noinspection *** */ для безвыходных ситуаций.
    - Если кто-то говорит, что пишет в другом редакторе и у него не подсвечивается, на эти отговорки кладется ВОТ ТАКЕЕЕНЫЙ мужской половой **й и отправляется на доработку)).

    * Организация кода:
    - Никаких глобальных функций.
    - Классы без неймспейса разрешаются только в исключительно безвыходных ситуациях.

    * Тестируемость (в смысле простота тестирования) кода должна быть высокая.
    - Покрытие кода обязательно для всех возможных кейсов использования каждого публичного метода с моками зависимостей.

    * Принципы MVC:
    - Никаких обработок пользовательского ввода в моделях, от слова совсем.
    - Никаких ***ть запросов в БД из шаблонов.
    - Никаких верстки/js/css/sql-ин в контроллерах.
    - В моделях НИКАКОЙ МАГИИ, только приватные свойства + геттеры с сеттерами.
    - В моделях разрешено использовать метод save(при наличии такого разумеется) только в исключительных ситуациях. Во всех остальных - либо insert, либо update.

    * Принципы SOLD:
    - Никаких божественных объектов умеющих во все.
    - Если метод для внутреннего пользования - private, никаких public.
    - Статические методы разрешаются только в случае безвыходности.

    * Принцип DRY разрешено нарушать в случаях:
    - Явного разделения обязанностей
    - В тестах (каждый тест должен быть независимым, на сколько это возможно)

    * Работа с БД:
    - Запрос в цикле должен быть РЕАЛЬНО обоснован.
    - За ORDER BY RAND() - шлю на***й.
    - Поиск не по ключам (конечно если таблица НЕ на 5 строк) запрещен.
    - Поиск без LIMIT (опять же если таблица НЕ на 5 строк) запрещен.
    - SELECT * - запрещен.
    - Денормализация БД должна быть обоснована.
    - MyISAM не используется (так уж)) )
    - Множественные операции обязательно в транзакции, с откатом если чо пошло не так.
    - БД не должна содержать бизнес логики, только данные в целостном виде.
    - Не должно быть нецелесообразного дерганья БД там, где без этого можно обойтись.

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

    * О людях:
    - "Я привык писать так и буду дальше" - не вопрос, ревью пройдешь только когда поменяешь свое мнение.
    - "Я пишу в vim-е и мне так удобно" - здорово, код консолью я тоже в нем пишу)) но есть требования к коду, если в них не сможешь - не пройдешь ревью.
    - "Я скопировал этот страшный метод и поменял 2 строчки" - это конечно замечательно, но по блейму автор всего этого метода ты, так что давай без говняшек, хорошо?
    - "Оно же работает!" - вот эта фраза переводится примерно так: "да, я понимаю, что пишу полную хрень, но не могу писать нормально потому, что руки из жо", я правильно тебя понял?))
    - "У меня все работает!" - рад за тебя, а как на счет продакшна?
    - "Там все просто" - не используй слово "просто", от слова "совсем". Вот тебе кусок кода (первого попавшегося с сложной бизнес логикой), где там ошибка (не важно есть она, или нет)? Ты смотришь его уже 2 минуты, в чем проблема, там же все "просто"))

    * Всякое:
    ActiveRecord (это я вам как в прошлом фанат Yii говорю) - полное говно, примите за исходную. По факту у вас бесконтрольно по проекту гуляют модельки с подключением к БД. Не раз натыкался на то, что в тех же шаблонах вызывают save, или update (за такое надо сжигать).
    То, что используется Laravel - это печально((. Что бы выполнить требования приведенные выше, приходится "воевать" с фреймворком.

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

    UPD

    Формализировал данные критерии по ссылочке: https://github.com/index0h/php-conventions
    Ответ написан
    55 комментариев
  • SEO-специалисты, вы сами проставляете крауд или заказываете за бюджет проекта?

    vpetrov
    @vpetrov
    частный SEO-специалист
    Не вижу никакого смысла в крауд-ссылках сейчас.
    Единственный расклад - лидген, но его никакой аутсорс не сделает, тут нужна реально хорошая площадка, реально прокачанная учётка и реальный продукт, чтобы продавать.
    Но точно не ссылочное.
    Ответ написан
    Комментировать
  • SEO-специалисты, вы сами проставляете крауд или заказываете за бюджет проекта?

    pro100taa
    @pro100taa
    Сам работал в нескольких агентствах. Всё зависит от агентства или фрилансера. Где-то вы сами должны проставлять, где-то на аутсорс отдают, а где-то вообще не считают краудмаркетинг чем-то важным для продвижения. Здесь всё от вашей ситуации зависит. Я сейчас отдаю человеку, который давно проставляет для меня, крауд по своей базе. некоторые ссылки сам проставляю.
    Ответ написан
    Комментировать
  • Альтернативные варианты реализации корзины в DRF?

    EtherDaler
    @EtherDaler
    Еще зеленый
    Создаете модель корзины, связываете ее с моделью пользователя. Потом создаете модель товары корзины и связываете ее с моделью корзины. Важно указать в ForeignKey полях аргумент related_name, чтобы можно было обращаться из родительской модели к дочерней.
    class Basket(models.Model):
        user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='basket')
    
    class BasketProducts(models.Model):
        basket= models.ForeignKey(Basket, on_delete=models.CASCADE, related_name='basket_products')
        products = models.ManyToManyField(Products, on_delete=models.CASCADE, related_name="basket_products")
    
    class Products(models.Model):
        name = models.CharField(max_length=255)
       '''''

    Потом сериализируете модели
    class ProductsSerializer(serializers.ModelSerializer):
        class Meta:
            model = Products
            fields = ("__all__")
    
    
    class BsketProductsSerializer(serializers.HyperlinkedModelSerializer):
        products = ProductsSerializer(many=True)
        class Meta:
            model = BasketProducts
            fields = ('basket','products')
    
    class BasketSerializer(serializers.HyperlinkedModelSerializer):
        basket_products = BsketProductsSerializer(many=True)
        class Meta:
            model = Basket
            fields = ('user' , 'basket_products ')
    
    class UserSerializer(serializers.HyperlinkedModelSerializer):
        basket = BasketSerializer(many=True)
        class Meta:
            model = User
            fields = ('id', 'phone','email' ,'basket')


    Далее во вьюхе в вашей функции API указываете permission_class как isAuthenticated, потом получаете корзину пользователя командой request.user.basket . В запросе в хедере указываете Authorization и токен.
    Ответ написан
    Комментировать
  • Как заказывать приложение на андроид?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Что просить программиста, чтобы я мог потом отдельно просить дизайнера "натянуть" дизайн не обращаясь к первому разработчику?

    Так это не работает. Сначала дизайн, потом приложение. Это не лендинг на вордпрессе.

    Что просить программиста, чтобы можно было потом другого программиста просить добавить функционал, не повторяя работу с нуля?

    Исходный код. В идеале с хорошей архитектурой.

    Сколько примерно это может стоить?

    От нуля до бесконечности.
    Ответ написан
    3 комментария
  • Какой роутер взять домой чтоб был гибкий к настройке?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Удобный и гибкий - Кинетик
    Непривычный в настройке но супер гибкий - микротик
    Ответ написан
    5 комментариев