Задать вопрос
  • Как запускаются программы на разных операционных системах?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Код на С++ компилируется в исполняемый файл.
    Для виндовс компилятор выдает .exe файл
    Для линукса - один из вариантов линукс исполняемых файлов (ELF)

    Исполняемые файлы содержат, если не вдаваться в детали, инструкции для процессора, с вызовом функций операционной системы.

    Сам код на С++ может быть кроссплатформенный, предусматривающий его возможность компиляции под разные платформы.
    Ответ написан
    Комментировать
  • Что такое тег template и зачем он нужен?

    dimovich85
    @dimovich85
    https://u-academy.net/
    Во-первых, vue шаблон собирает по своему, и в шаблонах vue можно писать и другие "теги", потому что за них отвечают компоненты vue. Поэтому, теги в шаблоне могут быть какими угодно, и не всегда совпадают с html.
    Во-вторых, тег template реально существует в html. В нативном html этот тег создан для того, чтоб создать кусок верстки и использовать его как шаблон. Например, Вы через js генерируете разметку, без реактов-вью-ангуляров и тд, и Вы можете в html создать template, а когда js будет готов создать еще один блок - он может обратиться к содержанию тега template и превратить его в полноценную разметку, после чего внедрить в страницу результат. То есть, тег template и все, что в нем на странице будет существовать, но браузер его не рендерит и не отображает, все это использует js как формочку для выпекания (образно).

    Повторюсь, что vue использует этот тег, но все равно обработка шаблона у него своя, так что совпадение скорее случайное) При его механизмах можно было бы и тег Vue придумать, но решили взять template, типа быть ближе.
    Ответ написан
    Комментировать
  • Typescript generic function. How use with other types?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Нет, проблем тут куча.

    T extends [], K extends keyof T - K тут что-то производное от number, потому что ключи(keyof) массива([]) - только цифры.
    let resultSort: T = arr; - бессмысленно, так как arr.sort в любом случае меняет исходный массив.
    a[propertyName].toLowerCase() - упадёт если propertyName будет year, т.к. Number не имеет метода toLowerCase.
    ...

    В итоге функция должна выглядеть как-то так:
    function sortArray<T extends {[key: string]: unknown}, K extends keyof T>  (originArr: T[], propertyName: K, cb: (a: T[]) => T[]): T[] {
      let arr: T[] = JSON.parse(JSON.stringify(originArr));  //deep copy array
    
      arr.sort((a, b) => {
        let nameA = String(a[propertyName]).toLowerCase(),
            nameB = String(b[propertyName]).toLowerCase();
    
        if (nameA < nameB)
          return -1;
        if (nameA > nameB)
          return 1;
        return 0;
      });
    
      return cb(arr);
    }


    Можно не приводить строго к String, но тогда вместо unknown надо указать конкретные типы с которыми предполагается работать, и в самой функции сортировки их учесть.
    Ответ написан
    2 комментария
  • Есть ли в nodejs ввод из консоли типа cin или input?

    DevMan
    @DevMan
    Ответ написан
    Комментировать
  • Как прокачать навыки функционального программирования?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Изучая функциональное программирование.

    Тем немного больше чем .map и reduce.

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

    Еще может прояснить изучение документации о том как и почему перешли на функциональный стиль react(хуки) и vue (v3, composition api) - у них хорошие доки, оних много статей и это дает пачку примеров из реальной жизни о том как строить подобные приложения.

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

    @vladdimir
    Верстальщик
    Вы вот когда рашили, что асинх там не нужен, чем руководствовались? Подумайте об этом, вспомните и будут вам доводы, которые вы ищете.
    Конечно, можно просто ждать, когда вопрос увидит телепат, который по аватарке узрит, что там за код и почему он не нужен.
    Ответ написан
    Комментировать
  • Чем плохо массовое использование async функций?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Помогите привести доводы почему это надо отрефакторить и убрать ненужные async await.

    То есть у вас самого доводов никаких нет? А зачем тогда вы хотите это переделать?

    Для начала стоит спросить ради чего так сделано.
    Если это реально кто-то наговнокодил и налепил async не понимая что это и зачем, то довода "это лишний код" должно быть достаточно.
    Ну можете еще сказать что это заворачивает все в лишние промисы, делает выполнение дольше на какие-то микросекунды и усложняет отладку и может портить стектрейсы.
    Ответ написан
    3 комментария
  • Я фулл стек разработчик, ожидают ли от меня наниматели быть так же и дизайнером?

    Robur
    @Robur
    Знаю больше чем это необходимо
    ожидают ли от меня наниматели быть так же и дизайнером

    перечислите список нанимателей о которых вопрос. Если вы про своего текущего, то это вы нам скажите, ожидает или нет, но судя по вопросу - ожидает и вам это не нравится.

    Если вы Front End или Full Stack разработчик, можете ли вы также и создать макет для приложения?

    Странно что вам интересно, но да, я могу. А вот нормально задизайнить что-то - нет.

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

    @Vlad16
    Веб-программист
    Может это чем-то поможет https://developer.mozilla.org/ru/docs/Web/API/Wind... ?
    Ответ написан
    Комментировать
  • Что следует почитать/посмотреть для изучения Git?

    @ououya
    Плюсую Дмитрия.
    Плюс от себя: https://githowto.com/ru
    Ответ написан
    Комментировать
  • Как создаются 360 viewer?

    @Eduard07
    Есть библиотека Three.js, это уже нужно работать с объектами.
    Но если нужно показать тебе только 360 авто, то покадровая смена фото: jquery.vostrel.cz/reel
    Ответ написан
    2 комментария
  • Map это объект или массив?

    Snova_s_vami
    @Snova_s_vami
    JavaScript ES5-8, TypeScript, Angular
    Map - это объект.
    JavaScript массив - это тоже объект, так-то, но с авто индексацией элементов. По сути, массивы в JS это экземпляры класса Array.
    Отвечая конкретнее на Ваш вопрос, Map это по сути обыкновенный объект с различными методами помощниками. Вы можете и сами такой же сделать накидав методов.
    Ответ написан
    Комментировать
  • Как рассчитать периметр квадрата?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Формула периметра квадрата не зависит от языка программирования.
    Периметр_квадрата = длина_стороны * 4
    Ответ написан
    1 комментарий
  • Требование "Хорошое/отличное знание JS" к джну, что хочет услышать работодатель?

    inoise
    @inoise Куратор тега Карьера в IT
    Solution Architect, AWS Certified, Serverless
    Это субъективная оценка работодателя. Тут может быть что угодно: от «я в принципе умею» до «я знаю как работает V8 изнутри»
    Ответ написан
    Комментировать
  • Можно ли хранить указатели в массиве?

    ozkriff
    @ozkriff
    Rust э̶н̶т̶у̶з̶и̶а̶с̶т сектант, хобби игродел
    Можно просто использовать срезы (slice):

    #[derive(Debug)]
    struct CarInfo<'a> {
        name: &'a str,
        model: &'a str,
    }
    
    fn main() {
        let input = ["vaz:2107", "gaz:3102"];
        let output: Vec<CarInfo> = input
            .iter()
            .map(|s| s.split_at(s.find(':').expect("Can't find ':'")))
            .map(|(name, model)| CarInfo { name, model: &model[1..] })
            .collect();
        dbg!(output);
    }


    (песочница)

    Вывод:

    Compiling playground v0.0.1 (/playground)
    Finished dev [unoptimized + debuginfo] target(s) in 1.56s
    Running `target/debug/playground`
    [src/main.rs:14] output = [
        CarInfo {
            name: "vaz",
            model: "2107",
        },
        CarInfo {
            name: "gaz",
            model: "3102",
        },
    ]


    Важный момент, который надо учитывать: в такой реализации структура не может пережить данные, на которые ссылаются ее поля.
    Ответ написан
    1 комментарий
  • Как часто настраивают сборщик проектов?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Странный вопрос. Под каждый проект пишется своя конфигурация сборщика. Если конечно не работаешь на конвейере по изготовлению примитивных однотипных решений.
    Ответ написан
    1 комментарий
  • Как защитить JS код?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Защитить JS нельзя, т.к. он выполняется на клиенте, а не на сервере.
    Можно усложнить чтение с помощью обфускации. Это отсеет 90% любителей, но особо упорных это не остановит и они прочтут твой код. Тем более, что есть инструменты, помогающие в деобфускации: деобфускаторы, бьютифайеры и пр.
    Хочешь скрыть код - уходи из фронтенда и добро пожаловать в бэкенд, на сервер.
    Ответ написан
    Комментировать
  • Как защитить JS код?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Спрятать не выйдет, а вот затруднить немного чтение вполне. Например с помощью обфускации. Но будьте готовы к увеличению объёма кода.
    Например console.log('Лол, кек, чебурек'); превратиться в
    var _0xac52=["\u041B\u043E\u043B\x2C\x20\u043A\u0435\u043A\x2C\x20\u0447\u0435\u0431\u0443\u0440\u0435\u043A","\x6C\x6F\x67"];console[_0xac52[1]](_0xac52[0])
    . Оно вам надо? ИМХО всё это детский сад.
    Ответ написан
    5 комментариев
  • Как сделать несколько значений?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    if (
      inp.includes('поезд')
      || inp.includes('текст')
    ) {
      alert('нашёл');
    }
    Ответ написан
    1 комментарий