• Как перенести переменную js из окна на другую страницу?

    vabka
    @vabka Куратор тега Веб-разработка
    А для чего именно нужно передать?
    Есть разные способы и не все вам могут подойти.
    Самый простой и без привлечения сервера - через local storage
    Ответ написан
    2 комментария
  • Как игровые движки понимают инородные языки?

    Vindicar
    @Vindicar
    RTFM!
    1. Встраивают интерпретатор нужного языка, при необходимости урезают стандартную библиотеку (чтобы не давать коду плагинов лишних возможностей) и подсовывают туда средства общения с хост-программой.
    2. Если нет нужды изолировать плагин от остальной программы, то полагаю что да, накладные расходы на поддержку плагинов уменьшатся в случае, когда плагин написан на том же языке, что и программа. В противном случае организация "песочницы" может занять столько же усилий, сколько встраивание интерпретатора.
    3. Лучше, если язык плагина является или интерпретируемым (как Lua или JS), или компилируется в байткод (как Python/Java/C#). Также желательно, чтобы язык плагина имел средства интроспекции.
    Ответ написан
    Комментировать
  • Как игровые движки понимают инородные языки?

    Интерпретатор lua (в случае Love2D и Cocos), и Mono (в случае Unity) можно подключить, как обычную сишную библиотеку.
    В этом случае C++ не нужно "понимать" чужой язык, достаточно лишь понимать, какие сишные функции надо вызывать, чтобы запустить код на "чужом" языке, и как туда передать доступ к функциям движка (это делается, обычно, путём передачи указателей на функции)
    Ответ написан
    Комментировать
  • Как написать функцию с возвращаемым значением типа string, возвращающую одно из полей json'а, пришедшее с запросом axios?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Мужик, async/await - это просто сахар над Promise. Любая async функция возвращает Promise по определению, любой await этот Promise разрешает.
    async function setLegalLevel(): Promise<string> {
      ...
      await axios.post
      ...
    }
    ...
    const val: string = await setLegalLevel();
    Ответ написан
    Комментировать
  • Объединение массивов, почему contact неработает?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    [].concat()
    function mergeArrays(arr1, arr2) {
     let arr3 = arr1.concat(arr2);
     console.log(arr1, arr2, arr3);
    }
    
    mergeArrays([1,2,3,4], [5,6,7,8]);
    Ответ написан
    1 комментарий
  • Можно ли как-то запретить пользователю через консоль браузера отключать стили?

    petushok55
    @petushok55
    Обучаюсь на практике.
    Тебя вообще касаться не должно что там пользователь делает через консоль браузера.
    И любой js код юзер может изменить. Даже взять полностью код и вырезать лишнее.
    Есть например расширение "User Javascript and Css", с его помощью можно на любую страницу свой код впихнуть.
    Если это какая-то игра и тебе нужно ждать проигрывания анимации, то привяжи данные к серверу
    Ответ написан
    1 комментарий
  • Что лучше осваивать для быстрого входа в работу и заработка - тестирование или разработка (python)?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Плохое вы время выбрали для вкатывания, сейчас джунов стало сильно больше, а спроса на них сильно меньше. Вам придётся конкурировать с толпой молодняка, готовых продолжительное время работать за еду, среди которых будет ещё и немало тех, кто не искал лёгких путей.
    Ответ написан
    4 комментария
  • Как правильно нумеровать версии программы?

    Есть ли какие-то определенные правила?

    Правила есть разные. Из популярного - уже упомянутый https://semver.org/lang/ru

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

    Самая простая система нумерации - просто с каждым новым релизом увеличивать номер версии на 1.
    Ещё вариант, который по сути даже и не является номером - брать в качестве версии хэш коммита из git.

    как правильно

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    странный у вас вопрос вот что пишут про ржавчину

    В Rust объектная система основана на типажах (traits) и структурах (structs). Типажи определяют сигнатуры методов, которые должны быть реализованы для каждого типа (чаще всего — структуры), реализующего типаж. Типаж может содержать и реализации методов, принимаемые по умолчанию. Реализация типажей для данной структуры, а также реализация собственных методов структуры обозначается ключевым словом impl. Язык содержит несколько десятков встроенных типажей, большая часть которых используется для перегрузки операторов, а некоторые имеют специальное значение.

    Rust поддерживает аналогию наследования типажей — типаж может требовать от реализующего типа реализацию других типажей. Однако языковой поддержки наследования самих типов, и следовательно, классического ООП, в Rust нет. Вместо наследования типов, аналогия иерархии классов реализуется введением типажей, включением структуры-предка в структуру-потомка или введением перечислений для обобщения разных структур[31].

    Язык поддерживает обобщённые типы (generics). Помимо функций, обобщёнными в Rust могут быть комплексные типы данных, структуры и перечисления. Компилятор Rust компилирует обобщённые функции весьма эффективно, применяя к ним мономорфизацию (генерация отдельной копии каждой обобщённой функции непосредственно в каждой точке её вызова). Таким образом, копия может быть адаптирована под конкретные типы аргументов, а следовательно, и оптимизирована для этих типов. В этом отношении обобщённые функции Rust сравнимы по производительности с шаблонами языка C++.
    Ответ написан
    Комментировать
  • Почему современные языки отказываются от ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Они не отказываются. Скорее происходит отказ от "парадигмы" разработки. Языки стали мульти-парадигменные. Посмотрите на С++20 или Scala. Их невозможно положить в коробочку ООП или ФП. В них есть почти полный набор фич и оттуда и отсюда. И с каждым годом число фич растет и граница размывается. Нашим потомкам будет вообще непонятно где идет раздел.

    По поводу golang. Это язык ограниченной разработки. Его создавали специально чтобы порог вхождения был низкий. Фактически делали лайтовый С++ которому можно обучить школьника за 14 дней. Но с перформансом выше чем у Питона. Поэтому выражать какие-то сложные конструкции на типах там скорее всего не получится. У golang есть свой манифест. Я забыл как он называется и где он. Вобщем там довольно четко обоснованно почему такие принципы и почему такая идеология.
    Ответ написан
    1 комментарий
  • Как установить Windows 98 на телефон?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Интересно, такие бредовые идеи возникают отчего? От нежелания хоть немного узнать, что из себя представляет "телефон" с точки зрения вычислительной техники или просто от модно-стильно-молодежности? Это примерно как дети спрашивают "А если взять атом величиной с дом?"

    Нет, малчик, нЭльзя. нЭ тот архитектура.

    Хотя путь джедая конечно же есть. Найти исходники, перекомпилять под нужную архитектуру, написать драйвера, написать загрузчик - делов-то...
    Ответ написан
    Комментировать
  • Какой профессии человек мне нужен?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    да не нужен вам человек. Вы поймите что вам нужно
    там столбцы
    продавец, сервер, доступность(количество), цена и время в человекочитаемом формате
    Ответ написан
    4 комментария
  • Как сделать внутреннее состояние компонента?

    0xD34F
    @0xD34F Куратор тега Vue.js
    props: {
      modelValue: {
        type: String,
        default: '',
      },
    },
    emits: [ 'update:modelValue' ],
    setup(props, { emit }) {
      const value = ref('');
    
      watchEffect(() => value.value = props.modelValue);
    
      return {
        value,
        onInput: e => emit('update:modelValue', value.value = e.target.value),
      };
    },

    <input :value="value" @input="onInput">
    Ответ написан
    Комментировать
  • Кто такие системные программисты?

    @Drno
    Идти туда, куда возьмут, и где Вас устроит
    Если Вы не работали по специальности - Вы не знаете програмирование
    Ответ написан
    Комментировать
  • Стандарт WIFI распространяется на сеть или на роутер?

    @Drno
    Обычно в роутере 1-2 чипа вифи
    Так что - для всего роутера, сети это просто "виртуальная" точка, на общие настройки не влияет

    максимум что можете сделать - wifi 2.4 - отдельно, wifi 5 - отдельно

    Но, если есть на роутере wifi6 - то он сам разберется скорее всего. каждый клиент будет на своём стандарте сидеть

    ПыСы - вифи 2.4 и вифи 5 - разные протоколы и работают обычно отдельно друг от друга
    Ответ написан
    Комментировать
  • Как IP.IP.IP.IP:3000 присвоить ССЛ сертификат?

    Extar93
    @Extar93
    Не нужны нам эти ваши интернеты
    https://domain.ltd:3000 и не надо никаких ip. Либо настройте nginx в качестве прокси, прикрутите к нему домен и повешайте ssl. При обращении на https://domain.ltd nginx будет проксировать запросы к нужному вам локальному ip:3000
    Ответ написан
    5 комментариев
  • Почему в JavaScript получение данных в fetch сделано в 2 этапа?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Это сделано для максимальной эффективности. В response есть заголовки ответа, но ещё не загрузился контент. И в этот момент ты можешь поиспользовать заголовки и стартовать ещё одну асинхронную операцию, которая будет параллельна загрузке контента. Или просто забить на контент, не ждать его. В общем, более тонкая настройка последовательности действий.
    Ответ написан
    Комментировать
  • Являются ли стрелочные функции аналогом bind функций?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    2 комментария
  • Зачем нужен signed в Си?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    по умолчанию int является signed

    А вот о char этого сказать нельзя, знаковость char зависит от реализации. Вдобавок, в стандарте есть следующая сноска (https://www.open-std.org/JTC1/SC22/WG14/www/docs/n... 6.2.5:15):
    Irrespective of the choice made, char is a separate type from the 
    other two and is not compatible with either.


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

    @ICUI4CU
    С MDN
    Параметры по умолчанию позволяют задавать формальным параметрам функции значения по умолчанию в случае, если функция вызвана без аргументов, или если параметру явным образом передано значение undefined.
    Ответ написан
    Комментировать