Задать вопрос
  • Как рассчитать срок кредита по формуле?

    hint000
    @hint000
    у админа три руки
    350 000 * 131% = 458 500 Ответ: никогда не выплатит. :)
    Но догадываюсь, что в условиях ошибка. Допустим, ежемесячные выплаты составят 20 000, тогда за 2 года.
    61bda28d425a6047169231.png
    Ответ написан
    1 комментарий
  • Как исправить "Ошибка времени выполнения: Индекс находился вне границ массива"?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Подумай головой.
    Допустим, num у тебя = 6. И ты говоришь, что в массиве будет 6 элементов.
    6 элементов с нуля это какие индексы?
    Это 0, 1, 2, 3, 4, 5. Это и есть 6 элементов. У тебя нет элемента с индексом 6, потому что это уже 7ой элемент

    for var i := 0 to num - 1 do
    или
    for var i := 0 to Pred(num) do
    а лучше всего использовать спец функции, универсальный способ для всех массивов
    for var i := Low(a) to High(a) do
    также, можно вообще не использовать индексы, а перебрать все элементы (но это только для чтения из массива)
    for var i in a do
    Ответ написан
    Комментировать
  • Какую купить видеокарту для 3d моделирования?

    Пишите название вашей "проги 3D дизайн и инжениринг" в гугл, добавляете system requirements, переходите по ссылке на офф. сайт и ищите глазками раздел "GPU Acceleration" (или подобный)... profit
    Ответ написан
    2 комментария
  • Почему так медленно происходят вычисления?

    @calculator212
    Медленные не вычисления а вывод в консоль. Просто вывод в консоль уберите и добавьте в конец. Зачем для этого видюху использовать?
    .
    Ответ написан
    Комментировать
  • Как реализовать "отдачу" нужной версии сайта?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Ну логика для обоих версий все таки будет одна
    1. Делать на базе CSS все, тот же bootstrap позволяет делать и мобильную версию одновременно.
    2. Так как бизнес-логика остается, делаем такой фокус
    https://docs.microsoft.com/ru-ru/dotnet/api/micros...
    public class ViewLocationExpander: IViewLocationExpander {
    
        /// <summary>
        /// Used to specify the locations that the view engine should search to 
        /// locate views.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="viewLocations"></param>
        /// <returns></returns>
        public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations) {
            //{2} is area, {1} is controller,{0} is the action
            string[] locations = new string[] { "/Views/{2}/{1}/{0}.cshtml"};
            return locations.Union(viewLocations);          //Add mvc default locations after ours
        }
    
    
        public void PopulateValues(ViewLocationExpanderContext context) {
            context.Values["customviewlocation"] = nameof(ViewLocationExpander);
        }
    }


    services.Configure<RazorViewEngineOptions>(options => {
            options.ViewLocationExpanders.Add(new ViewLocationExpander());
        });


    UPD: Все таки, результаты кэшируются, при работе, ну вариант 2, написание собственного RazorViewEngine
    https://github.com/dotnet/aspnetcore/blob/main/src...

    3. использовать Areas, пишем middleware который при мобильном клиенте перекидывает нас на мобильную зону. но 2 раза писать все контроллеры, плюс можно разные версии сделать.
    Ответ написан
    Комментировать
  • Как найти текст в браузерной игре?

    Stalker_RED
    @Stalker_RED
    На странице var app = ... там json с экранированными символами, которые при расшифровке дают вот такие тексты:
    "localization": {
        "agree_error": "Пожалуйста, подтвердите соглашения",
        "wrong_data": "Вы ввели неверные данные",
        "common_error": "Произошла ошибка, пожалуйста, обратитесь в службу поддержки",
        "not_spoofer_error": "Ошибка!",
        "not_spoofer_goto": "Зайдите в игру по этой ссылке",
        "social_invite_friends_dialog": "Приходи играть",
        "payment_window": "Окно оплаты",
        "restore_pass": "Инструкции по изменению пароля будут отправлены на указанный вами электронный адрес.",
        "pass_empty": "Введите пароль",
        "consent_success": "Изменения успешно сохранены!",
        "consent_error": "Не удалось сохранить изменения, попробуйте позже",
        "account_enter_pin": "На почтовый ящик %email% был отправлен отправлен PIN. Если письмо не пришло, проверьте папку \"спам\"",
        "feedback_common_error": "Произошла ошибка, пожалуйста, обратитесь в службу поддержки",
        "lp.interact.code_reask_succeded": "Новый код отправлен",
        "lp.interact.days_short": "д",
        "lp.interact.hours_short": "ч",
        "lp.interact.minutes_short": "м",
        "lp.interact.realm_ready": "Играть сейчас!",
        "errors.email_empty": "Заполните поле email",
        "errors.email_wrong": "Некорректный email",
        "errors.phone_empty": "Заполните телефон",
        "errors.phone_invalid": "Некорректный телефон",
        "lp.email_gather.application_received": "Заявка получена!",
        "download_email.success": "Инструкция по установке была выслана на %email%",
        "account.new_game_button": "Удалить",
        "account.new_game_success": "Игровой прогресс удален, обновите страницу",
        "account.new_game_success_reload": "Обновить",
        "account.new_game_wrong_input": "Вы ввели неверные данные",
        "ecommpay.button_to_retry": "Повторить попытку",
        "restore_form.try_again": "Повторить",
        "webgl.client_memory_allocation_error": "Игра не смогла выделить память. Закройте, пожалуйста, все вкладки или попробуйте другой браузер",
        "webgl.client_request_502_error": "Что-то пошло не так, попробуйте перезагрузить страницу",
        "payments.error_unavailable": "Платежи временно недоступны",
        "payments.error_retry": "Повторить",
        "faketutor.dialog.greeting.continue": "Продолжить",
        "payment_methods.web.googleplay_card": "Использование платёжного метода Google Pay без привязки банковской карты невозможно. Пожалуйста, сохраните данные карты в вашем браузере и повторите попытку.",
        "payment_methods.web.applepay_card": "Использование платёжного метода Apple Pay без привязки банковской карты невозможно. Пожалуйста, сохраните данные карты в кошельке Apple Wallet и повторите попытку.",
        "cookies.groups.names.statistics": "Статистика",
        "cookies.groups.names.strictly_necessary": "Строго необходимые",
        "cookies.groups.text.strictly_necessary": "Необходимые файлы cookie помогают улучшить пользование сайтом, обеспечивая работу основных функций, вроде навигации по страницам и доступа к безопасным областям сайта. Без этих файлов сайт не сможет нормально функционировать.",
        "cookies.groups.text.statistics": "Статистические файлы cookie позволяют владельцам сайтов узнавать как посетители взаимодействуют с сайтом, анонимно собирая и передавая информацию.",
        "cookies.groups.buttons.accept": "Принять",
        "cookie.warning_text": "Наш сайт использует файлы cookie для вашего удобства. Продолжая использовать наш сайт, вы подтверждаете свое согласие на получение таких файлов. Вы можете ознакомиться с нашей %Политикой конфиденциальности% в отношении файлов cookie и аналогичных технологий.",
        "cookies.groups.names.title": "Управление параметрами содержимого",
        "cookies.groups.buttons.active": "Всегда активно",
        "cookies.groups.names.show_text": "варианты просмотра",
        "no_browser_webgl_support": "Ваш браузер не поддерживает WebGL.",
        "check_faq_for_webgl_issues": "Посетите %link% для поиска решений возможных проблем.",
        "ecommpay.button_pay": "Оплатить",
        "ecommpay.button_back": "Назад",
        "stripe.enter_card_data": "Ввод данных карты",
        "stripe.secure_card_text": "Безопасная оплата картой",
        "stripe.card_number": "Номер карты",
        "stripe.card_date": "ММ/ГГ",
        "stripe.agreement_text": "Нажимая кнопку \"Оплатить\", вы принимаете %Соглашение о хранении идентификационных данных владельца карты%.",
        "stripe.savedcards_text": "Сохранённые карты",
        "stripe.clear_text": "Очистить",
        "stripe.sure_text": "Вы уверены?",
        "dpd_cancel_button": "Отменить",
        "keyin2tables.cookie_warning.Ok": "Хорошо",
        "password_strength.0": "Очень ненадежный пароль",
        "password_strength.1": "Слабый пароль",
        "password_strength.2": "Средний пароль",
        "password_strength.3": "Хороший пароль",
        "password_strength.4": "Очень надежный пароль",
        "preloader_video.unmute": "Включить звук",
        "preloader_video.mute": "Выключить звук",
        "support.emptySubject": "Пожалуйста, введите тему сообщения",
        "support.emptyBody": "Пожалуйста, введите описание проблемы",
        "support.emptyType": "Пожалуйста, выберите тип проблемы",
        "support.emptyEmail": "Пожалуйста, введите email",
        "support.wrongEmail": "Некорректный email",
        "support.common": "Неизвестная ошибка!",
        "restore_form.wait_30": "Нельзя запрашивать восстановление чаще чем раз в 30 секунд",
        "account.new_game_confirm_prompt": "Напишите \"DELETE\" в поле для подтверждения"
      },

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

    NGINX в итоге что-то да ответит. Можно сделать отдельный конфиг, который будет ловить «все остальные» (default_server) запросы, в т.ч. по прямому IP:
    server {
        listen       80  default_server;
        server_name  _;
        return       444;
    }
    Здесь _ подчеркивание — не что-то волшебное, просто несуществующее имя домена.

    Подробнее: nginx.org/en/docs/http/server_names.html#miscellan...
    Ответ написан
    Комментировать
  • Как крупные сервисы работают с авторским правом?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://www.youtube.com/t/terms?preview=20220105
    только сегодня переходил по ссылке из уведомления об изменениях.

    п.10 перечитайте он давно в таком виде.
    ЗАПРЕЩАЕТСЯ Использовать Сервис для продажи рекламы, спонсорства или рекламных акций на странице любого сайта или приложения, где содержится только Контент Сервиса, или где он является основным (например, продажа рекламы на странице, где видео YouTube являются единственным ценным контентом).

    для уточнения можете глянуть лицензию на iframe версию ютуб плеера.

    Т.е. сделать сайт по типу xn--b1afajepzqk.xn--d1acj3b можно, а вот УЖЕ размещать на нем рекламу НЕЛЬЗЯ
    Ответ написан
    1 комментарий
  • Почему GitHub до сих пор не переведён на русский язык?

    DevMan
    @DevMan
    потому что!

    что конкретно ты сделал для локализации? предложил перевод хоть одного топика из хэлпа?
    Ответ написан
    Комментировать
  • Почему некоторые сайты парсятся без указания www., а не которые нет?

    DevMan
    @DevMan
    потому что надо сказать курлу ходить по редиректам.
    Ответ написан
    Комментировать
  • Почему некоторые сайты парсятся без указания www., а не которые нет?

    SagePtr
    @SagePtr
    Еда - это святое
    C www это отдельный поддомен, который отличается от домена. Некоторые его настраивают как алиас и в обоих случаях отдают один и тот же контент. Некоторые - вообще не добавляют, и сайт с www не открывается. А некоторые - ставят редирект, причем по-разному бывает - иногда с поддомена редиректят на домен, а иногда и наоборот.
    Ответ написан
    Комментировать
  • Как парсить без бана?

    @kzoper
    Думаю что надо не искать прокси, а покупать.
    Ответ написан
    2 комментария
  • Как парсить без бана?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Парсеры палятся на том, что ведут себя как роботы. Люди не обходят все доступные ссылки, только некоторое подмножество без ухода на большую глубину. Чтобы не попасться, надо изобразить группу людей шарящихся по сайту. Для этого надо после разбора страницы входа парсить только две-три ссылки с неё, делать случайные паузы между запросами, потом сбрасывать принятые куки, менять user agent и прокси и парсить другие две-три ссылки. Естественно, прокси не должны быть публичными. Если вы могли найти и скачать их список, то разработчики защиты тоже уже его скачали.
    Ответ написан
    Комментировать
  • Какая самая лучшая, простая и удобная gui для раст(для новичка)?

    ozkriff
    @ozkriff
    Rust э̶н̶т̶у̶з̶и̶а̶с̶т сектант, хобби игродел
    GUI бывают сильно разные, но при отсутствии контекста я бы для начала в сторону https://github.com/emilk/egui посмотрел - immediate-mode во многом ограничены, зато часто обладают постыми апи и не слишком заставляют бороться с борроучекером.
    Ответ написан
    2 комментария
  • Может кто-то взглянуть на сборку ПК и сказать как долго это проработает?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нет, никто не сможет сказать, как долго это проработает.

    Зависит от очень многих факторов, даже если исключить запланированное устаревание. Механические части (кулеры и ЖД) изнашиваются от количества вращений и количества включений/выключений. Причём, лимит зависит не только от модели, но и от партии, которая может быть частично бракованная, с сокращённым сроком работы. Прочие части могут ломаться от перегрева, который в свою очередь зависит от нагрузки, охлаждения и от температурных условий среды, от перепадов температур, наличия пыли и т.д. и т.п. Отдельно стоит упомянуть перепады напряжения, ударные нагрузки и пр.
    Ответ написан
    Комментировать
  • При компиляции проекта в формат WebGL персонажи двигаются с меньшей скоростью, нежели в движке, Почему?

    GavriKos
    @GavriKos Куратор тега Unity
    Частоту кадров не учитываете. Посмотрите даже просто доки по transform.Translate
    Ответ написан
    8 комментариев
  • Теоретически возможно ли дать регулярное выражение, которое правильно принимает 29 февраля, только тогда, когда данный год действительно високосный?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    c 1900 по 2100
    29\.0?2\.(1904|1908|1912|1916|1920|1924|1928|1932|1936|1940|1944|1948|1952|1956|1960|1964|1968|1972|1976|1980|1984|1988|1992|1996|2000|2004|2008|2012|2016|2020|2024|2028|2032|2036|2040|2044|2048|2052|2056|2060|2064|2068|2072|2076|2080|2084|2088|2092|2096)

    Если нужен более широкий диапазон дат, то вы или оптимист (2100+) или историк (1900-)
    Ответ написан
    1 комментарий
  • Почему определение инкапсуляции дают неправильно?

    bingo347
    @bingo347
    Crazy on performance...
    Цель инкапсуляции это объединение объектов
    кто Вам такое сказал?
    Само слово инкапсуляция происходит от латинского "in capsula", что можно перевести как "закрытый в коробке".
    Цель инкапсуляции - это сокрытие сложности. Не информации, не данных, не кода, а именно сложности.

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

    Jacen11
    @Jacen11
    может на работу уже пойдешь, тем более так уверен в себе? Заодно узнаешь на собесах какие пробелы есть и что тебе нужно знать
    Ответ написан
    5 комментариев