Задать вопрос
  • Что лучше использовать для интернет магазина asp net core mvc или web api?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? По каким именно критериям? В целом же - то, что знаете или хотите изучить.
    Ответ написан
    Комментировать
  • Как оптимизировать цикл while?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    def get_number(text:str, limit: int) -> int:
        while True:
            number = int(input(text))
            if number <= limit:
                return number
            print('ВНИМАНИЕ! Превышено. Введите меньшее кол-во.', end="\n")
    
    
    number_maps_1_3 = get_number(f"Введите кол-во для {interval_1}: ", levels_1_3)
    number_maps_4_7 = get_number(f"Введите кол-во для {interval_2}: ", levels_4_7)
    ...

    И разберитесь с неймингом переменных как советуют выше
    Ответ написан
    Комментировать
  • Как обосновать применение реляционной БД на интервью по System Design?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Обоснование в данном случае очень простое:
    • Данная БД позволяет решить задачу?
    • Она соответствует требованиям задачи?

    Положительный ответ на вот эти два вопроса в целом достаточное обоснование. Что-то более сложное - это надо проводить исследования, собрать прототип, провести тестирование решения, возможно даже для нескольких разных БД, сделать сводную таблицу результатов, подвести итоги исследований. Вот тогда да, будет "сильное" обоснование. "Сильное обоснование" входило в условия ТЗ? Если не входило и вы не делали - то в данном случае не вы "сели в лужу", а те, кто проводил интервью. Возможно, надо было уточнить, какое именно обоснование они хотят получить и сколько они готовы за это заплатить. ТЗ было какое? Решить конкретную задачу в определённых рамках. Вы её решили успешно? Значит, вы молодец и всё отлично.
    Ответ написан
    Комментировать
  • Способ обхода CloudFlare 2025?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    Я попробовал много способов, но все они не помогают мне обойти защиту

    Какие пробовали?
    Язык не важен

    Не важен, но скорее всего это будет Python.
    важен алгоритм. Как мне это сделать

    1. Python + Zendriver + no headless.
    2. Открываем отдельный профиль браузера.
    3. Заходим на сайт с cloudlfare, ждем загрузки окна капчи, жмем на него, сохраняем куку и попадаем на сайт.

    Последующий заход так же выполняем через профиль браузера из п2, cloudflare будет доволен, временно. Ну и про правильный отпечаток браузера + правильный ip я думаю смысла говорить нет.
    Язык не важен, важен алгоритм. Как мне это сделать? Не предлагайте сторонние API для решения капчи.

    Если с headless и без привязки к Python, то статьи по теме:
    - Об одном способе веб-скрапинга сайтов, защищенных ....
    - Парсим сайты с защитой от ботов.
    - Chrome Headless против cloudflare JS challenge.

    Способ рабочий, работает в том или ином виде до сих пор. Тема коммерческая, поэтому ответ без готового решения (да и он не требуется, судя по ТЗ).
    Ответ написан
  • Выбор между SQL и NoSQL документооринтированной базой данных?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Тут нет никакого выбора.

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

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

    Соответственно, если говорить про базу данных, то выбор очевиден - Постгрес.
    Но если речь про поиск, то так и надо формулировать - "что использовать для поиска по базе данных?". И тут ответ тоже будет очевидный - Эластик (ну или любой другой поисковый движок - солр, мантикора, и так далее). Который и будет искать по информации, хранящейся в базе данных.

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

    Maksim_64
    @Maksim_64
    Data Analyst
    (3).__class__- здесь объект создался, затем ты обращаешься к его атрибуту.

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

    @basili4-1982
    Идея такая. Пишите bash скрипт который извлекает из себя тело архива декодирует из base64 сохраняет и распаковывает.
    cat ваш_архив.tar.bz2 | base64 >> ваш_скрипт вот так можно архив добавить к скрипту.
    Ответ написан
    Комментировать
  • Почему не получается передать компонент через свойство?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Используйте наименование компонентов с заглавной буквы, в ином случае, реакт будет считать его не парным тегом:
    function Box() {
      return (
        <>
          <p>Box Component</p>
        </>
      );
    }
    
    function List({Component}) {
      return (
        <>
          <Component/>
        </>
      );
    }
    
    function App() {
      return (
        <List Component={Box}/>
      );
    }
    
    export default App;

    Либо:
    function List({component: Component}) {
    Ответ написан
  • Почему методы массива могут принимать параметр колбек, а промис нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Либо
    Promise.all([4, 5, 6])
      .then(console.log)
      .catch(console.log);

    либо
    Promise.all([4, 5, 6])
      .then(data => console.log(data))
      .catch(err => console.log(err));
    Ответ написан
    Комментировать
  • Как вырезать в path прозрачное отверстие при помощи того же path?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Просто закрываешь один path и рисуешь дырку в продолжение.
    Примерно так:


    На canvas это можно сделать с помощью параметра fill evenodd:
    Ответ написан
    5 комментариев
  • Как правильно присваивать типы результатам выполнения функций которые вернули ошибку?

    @pro100Code
    TechnoCraft Designer Developer
    В такой ситуации, когда ты не можешь менять исходную функцию, но хочешь обрабатывать ошибки, можно сделать дополнительный слой обработки в месте, где вызывается функция. Ты можешь использовать try-catch, чтобы перехватывать исключения и обрабатывать их как ValidationError. Вот пример:

    try {
      const response = await usersPassportLogin(usersPassportLoginBody, options);
      // Успешный ответ обрабатывай как обычно
      console.log('Login successful:', response);
    } catch (error) {
      // Здесь мы проверим, является ли ошибка ValidationError
      if ((error as ValidationError).errors) {
        const validationError = error as ValidationError;
        console.log('Validation Error:', validationError.errors);
      } else {
        console.log('Unexpected Error:', error);
      }
    }
    Ответ написан
    Комментировать
  • Как устроиться в начинающую компанию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Никак. В таких компаниях нет необходимости в сотрудниках или в MVP.
    Таким компаниям нафиг не нужен сайт (может быть пригодится группа в ФБ/телеграме).
    В таких компаниях нет денег на третьего сотрудника и вообще не выделен и не создан бюджет на айти.
    Зачем туда устраиваться?

    Вдобавок, не путайте начинающую ИТ компанию и стартап - разные вещи.

    В такую компанию нужен не сотрудник, а инвестор.
    Ответ написан
    3 комментария
  • Как правильно настроить права в Docker?

    grantur5707
    @grantur5707
    Full Stack Web Developer
    Укажите запуск команды композера от имени текущего пользователя на хосте:
    docker compose run --user $(id -u):$(id -g) composer create-project laravel/laravel .


    Вы также можете задать пользователя по умолчанию в composer.Dockerfile:
    FROM composer:latest
    
    WORKDIR /var/www/laravel
    
    RUN adduser -D -u USER www-data
    USER www-data
    
    ENTRYPOINT ["composer", "--ignore-platform-reqs"]
    Ответ написан
  • Как устроить "песочницу" для тестирования запросов PosgreSQL?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Не нужны тут контейнеры. Просто создавайте новую БД под каждого пользователя и новую схему под каждую его песочницу.
    Ответ написан
    2 комментария
  • Какими инструментами сделан этот видео гайд?

    black1277
    @black1277
    Вольный стрелок
    Сделано в Blender, вот оригинальное видео Скорее всего используется программа захвата видео окна программы и какой-то плагин (возможно самописный), регулирующий в какие моменты производить запись.
    Еще как вариант, возможно была сделана полная запись со всеми движениями мыши и вызовом инструментов, а потом видео прогнали через нейросеть, которая оставила только кадры с визуальными изменениями и подогнала все нестыковки.
    Ответ написан
    2 комментария
  • Почему компонент в Next JS перерисовывает два раза?

    React assumes that every component you write is a pure function. This means that React components you write must always return the same JSX given the same inputs (props, state, and context).
    Components breaking this rule behave unpredictably and cause bugs. To help you find accidentally impure code, Strict Mode calls some of your functions (only the ones that should be pure) twice in development.
    https://react.dev/reference/react/StrictMode#fixin...

    Since Next.js 13.4, Strict Mode is true by default with app router. You can still disable Strict Mode by setting reactStrictMode: false.
    https://nextjs.org/docs/app/api-reference/next-con...
    Ответ написан
    Комментировать
  • В чём смысл равного ограничения времени для разных ЯП в спортивном//олимпиадном программировании?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В олимпиаде ЯП не очень важен. Обычно задание подгоняется под удачный выбор
    алгоритма.
    И если повезло - то и Python и С++ укладываются в нормальное
    время. А если студент использовал комбинаторный алгоритм то здесь не поможет и
    Ассемблер с GPU.
    Ответ написан
    Комментировать
  • Как вывести тип с исключением значений?

    WblCHA
    @WblCHA
    type Keys = 'line' | 'abzac' | 'text'
    
    type IEX = Record<string, string>
    
    type AntiKey = IEX & Partial<Record<Keys, never>>
    // or
    type AntiKey = IEX & { [Key in Keys]?: never }
    
    // валидное значение
    let znac: AntiKey = {
      oneline: 'anytext',
      otherline: 'othertext'
    }
    // невалидное
    let er: AntiKey = {
      text: 'no',
      other: 'txt'
    }
    Ответ написан
    Комментировать
  • Как правильно использовать python скрипт через PHP backend?

    Если этот python скрипт можно запустить из шелла, то используйте shell_exec(), или backtick operator, или ещё что-нибудь ( в конце страниц онлайн мануала есть секция "See also" )
    Ответ написан
    Комментировать