Задать вопрос
  • Сколько килобайтов существует в природе?

    @deliro
    2**(8*1024) == 1090748135619415929462984244733782862448264161996232692431832786189721331849119295216264234525201987223957291796157025273109870820177184063610979765077554799078906298842192989538609825228048205159696851613591638196771886542609324560121290553901886301017900252535799917200010079600026535836800905297805880952350501630195475653911005312364560014847426035293551245843928918752768696279344088055617515694349945406677825140814900616105920256438504578013326493565836047242407382442812245131517757519164899226365743722432277368075027627883045206501792761700945699168497257879683851737049996900961120515655050115561271491492515342105748966629547032786321505730828430221664970324396138635251626409516168005427623435996308921691446181187406395310665404885739434832877428167407495370993511868756359970390117021823616749458620969857006263612082706715408157066575137281027022310927564910276759160520878304632411049364568754920967322982459184763427383790272448438018526977764941072715611580434690827459339991961414242741410599117426060556483763756314527611362658628383368621157993638020878537675545336789915694234433955666315070087213535470255670312004130725495834508357439653828936077080978550578912967907352780054935621561090795845172954115972927479877527738560008204118558930004777748727761853813510493840581861598652211605960308356405941821189714037868726219481498727603653616298856174822413033485438785324024751419417183012281078209729303537372804574372095228703622776363945290869806258422355148507571039619387449629866808188769662815778153079393179093143648340761738581819563002994422790754955061288818308430079648693232179158765918035565216157115402992120276155607873107937477466841528362987708699450152031231862594203085693838944657061346236704234026821102958954951197087076546186622796294536451620756509351018906023773821539532776208676978589731966330308893304665169436185078350641568336944530051437491311298834367265238595404904273455928723949525227184617404367854754610474377019768025576605881038077270707717942221977090385438585844095492116099852538903974655703943973086090930596963360767529964938414598185705963754561497355827813623833288906309004288017321424808663962671333528009232758350873059614118723781422101460198615747386855096896089189180441339558524822867541113212638793675567650340362970031930023397828465318547238244232028015189689660418822976000815437610652254270163595650875433851147123214227266605403581781469090806576468950587661997186505665475715792896


    Хватит?
    Ответ написан
    4 комментария
  • Сколько килобайтов существует в природе?

    @galaxy
    28000 или 28192, в зависимости от того, что вы имеете в виду под килобайтом

    В каждой битовой позиции может быть 0 или 1, по два варианта на каждую из 8000 (8192) позиций.
    Ответ написан
    Комментировать
  • Язык программирования D. Почему отличный язык остался невостребованным?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Представьте, что вам нужно изучить иностранный язык и от выбора языка зависит сколько людей в мире вы будет понимать, какое количество текстов вы сможете прочитать, сколько вакансий вам будет доступно и какого размера зарплаты вам светят. Что выберите - английский или венгерский? Так же у языка программирования. Пока на нём нет вакансий, никто не хочет его учить, а пока никто не хочет его учить, на нём нет вакансий. Вырваться из замкнутого круга можно только двумя путями - либо язык предлагает суперконкурентное преимущество программисту, либо ему выдаёт кредит доверия гигантская корпорация. Очевидно. у D не нашлось ни того, ни другого.
    Ответ написан
    24 комментария
  • Многократное использование len() или кеширование в переменную?

    WinPooh32
    @WinPooh32
    Stack Overflow answer searching expert
    Дескриптор у слайса имеет такую структуру:
    type SliceHeader struct {
            Pointer uintptr
            Len  int
            Cap  int
    }


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

    Выше мы выяснили, что у слайса есть поле с длиной, соответственно нет смысла кешировать длину в отдельной переменной. Т.к. компилятор просто заменит вызов len на обращение к полю в дескрипторе слайса. Он вообще может переместить длину в регистр процессора и не обращаться к ram при итерации.

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

    samorez999
    @samorez999
    Вот идея для твоего портфолио: сделай клон xhamster.
    Ответ написан
    Комментировать
  • Как "нормально" перевести float в int?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Это и есть нормальное преобразование float в int - с округлением вниз.

    Edit: Видимо, проблема в том, что 0.9 нельзя идеально точно представить в float. На самом деле там хранится что-то вроде 0.8999999.... При домножении на 10 и округлении вниз вы получите 8, а не 9.

    Надо использовать округление к ближайшему - round.
    Ответ написан
    1 комментарий
  • Цифровыепрофессии.рф - стоит ли терять время и деньги?

    alekseyHunter
    @alekseyHunter
    Android developer
    Стоит ли это того?

    Я бы не советовал тратить свои деньги, если уже есть опыт в программировании. Смотрел их программы - всё можно нагуглить в Интернете. Проходил такое же обучение от Иннополиса по Big Data, даже 1/4 курса не осилил... Не описать словами тот хаос, который там был - изложение материала поверхностное, проверочные вопросы не совпадают с материалом, и при всём при этом количество материала просто зашкаливает, а для защиты проекта нужно пройти всё на определенный %.

    На сколько он вообще полезен?

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

    Сидит человек, разгадывает капчу за вас. Это, собственно, прямо на сайте у любого сервиса антикапчи написано.
    Ответ написан
    Комментировать
  • Подойдет ли 72% NTSC для работы с цветом или только 100% srgb?

    profesor08
    @profesor08
    Тут все изложено в наикратчайшей форме, но максимально понятно.
    https://www.saji8k.com/displays/color-space/

    Что касается монитора, то точные значения охвата каждого из пространств указаны в характеристиках дисплея. А если значение менее 100%, то это значит что цветовой охват экрана может охватывать только кукую-то часть зоны цветового пространства, о которой производитель умолчит.
    Ответ написан
    2 комментария
  • RTX после майнинга и рендеринга. Есть ли разница?

    EPIDEMIASH
    @EPIDEMIASH
    Человек швейцарский нож
    Не совсем понимаю вы ищите новую или б\у?
    Если новую, ищите просто новую с LHR и с отзывами майнеров. Есть определенные карточки, которым пофиг на все, есть очень горячие, в общем можно найти вариант для вас.
    Но если хотите купить Б\У после майнинга и тд, затестить точно придется.

    Насчет течек и прочего, этим страдают только определенные карты от определенных компаний. Например, 1080 гигабайт, но в отличии от АМД там нет пломб на винтах, спокойно даже на новой видеокарте можно разобрать и намазать самому, хорошо.

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    1. Человек приобретает коробку
    2. При установке он принимает лицензионное соглашение и договор прикрепления (как он кстати выглядит?) ХЗ
    3. После ввода ключа продукта его копия становится лицензионной.
    Это корректно?

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

    И ещё дополнительно вопрос про ключи с ебая/али за 100р - это всё-таки легально, или нет? Почему?


    Полностью не легально, это все равно что вы найдете ключ или сделаете его в ключеделалке.

    И ещё вопрос: Возник термин "лицензируемое устройство" и некоторые интерпретируют это как то что лицензией человек и не обладает в принципе. И если издатель присылает на это устройство обновления, то значит копия признана лицензионной.
    Если это так, то как можно в случае суда о пиратстве доказать это?


    Следует различать типы лицензий. OEM только на конкретное железо, коробка на любое которое вам угодно, но только на 1, есть еще и другие типы.

    Или эксплуатация подобных особенностей ПО считается обходом лицензионного соглашения => это пиратство?


    Не занимайтесь фигней, ГК это не только отсутствие ответственности по УК, но и куча штрафных санкций
    Ответ написан
    32 комментария
  • В каком порядке происходит лицензирование ПО при покупке ключей (в частности - Windows)?

    profesor08
    @profesor08

    1. Человек приобретает коробку
    2. При установке он принимает лицензионное соглашение и договор прикрепления (как он кстати выглядит?)
    3. После ввода ключа продукта его копия становится лицензионной.
    Это корректно?


    Какая-то неправильная трактовка понятий. Винда не может быть лицензионной/ не лицензионной, она может быть активированной или нет.
    Покупая винду, ты покупаешь лицензию на использование винды в количестве допустимом купленной лицензией. Активируя винду ключем, ты тем самым подтверждаешь что ты хочешь использовать винду на конкретном устройстве согласно своей лицензии.

    И ещё дополнительно вопрос про ключи с ебая/али за 100р - это всё-таки легально, или нет? Почему?

    Они вполне легальны. Они действуют в рамках некоторой лицензии, которую купила некоторая фирма. Но ушлые сотрудники утащили пачку ключей и раздают их на право и налево. И получается ситуация, что лично к тебе майкрософт никаких притензий иметь не может. А вот покупатель лицензии вполне может, потому что какого хрена ты пользуешься его лицензией.

    И ещё вопрос: Возник термин "лицензируемое устройство" и некоторые интерпретируют это как то что лицензией человек и не обладает в принципе. И если издатель присылает на это устройство обновления, то значит копия признана лицензионной.

    Вполне возможно этот термин выдумали в дискуссии.
    У тебя может быть лицензия на использование некоторого оборудования. У тебя может быть право собственности на владение оборудованием. У тебя может быть доверенность на использование устройства.

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

    Если у тебя нет лицензии, но есть активированная винда, то возникнут вопрос о том, как ты ее активировал. Если ее тебе активировала фирма, которая в курсе, то к тебе вопросов нет. В противном случае будут.
    Ответ написан
    2 комментария
  • Как рассчитать срок кредита по формуле?

    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\" в поле для подтверждения"
      },

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