• Как развернуть хостинг для сайта на MS Azure?

    @PavelPikat
    Если по сайтом вы имеете Azure App Service, то у вас по-умолчанию сайт хостится на серверах Майкрасофта в дата-центрах выбранного вами региона и отдельный хостинг вам не нужен, иначе не было бы смысла в Azure.

    Сайт идет с дефолтным URLом вида <app_name>.azurewebsites.net. Разумеется, это не очень красиво, поэтому вы можете подключить любое доменное имя которым владеете и включить переадресацию, изменив настройки вашего домена у регистратора (поменять CNAME запись).
    Подробнее можно прочитать в официальной документации Azure, например тут

    Если же вопрос о том, как создать сайт на Azure, то советую заглянуть в туториал
    Ответ написан
    Комментировать
  • Как закомментировать код с частью самого кода?

    @PavelPikat
    Не уверен насчет CSS свойств, но редактировать несколько строк одновременно можно зажав Alt и мышкой или клавиатурой и прощелкать по строкам, а затем нажать Shift + Alt + A для multiline comment
    yWIwr.gif
    Ответ написан
  • Какой клавишей вызываются подсказки ввода в Microsoft VS Code?

    @PavelPikat
    Ctrl + Space
    Ответ написан
    Комментировать
  • Почему в Angular + electron нет автообновления страницы?

    @PavelPikat
    Если вы все сделали по иструкции и в package.json у вас только скрип "build", то никакого обновления ждать и не стоит. Обновление будет если ваш бандлер (Webpack, например) начнет "смотреть" за изменениями, webpack --watch

    Или пропробуйте так (скорировал из своего проекта, может нужно будет вам установить webpack-dev-server и поменять что-то):
    "scripts": {
        "ng": "ng",
        "lint": "ng lint",
        "start": "npm-run-all --parallel webpack:watch electron:serve",
        "webpack:watch": "webpack --watch",
        "start:web": "webpack-dev-server --content-base . --port 4200 --inline",
        "build:electron:main": "tsc main.ts --outDir dist && cpx package.json dist && cpx resources/app/**/* dist && cd dist && npm install --prod && cd ..",
        "build": "webpack --display-error-details && npm run build:electron:main",
        "build:prod": "cross-env NODE_ENV=production npm run build",
        "electron:serve": "npm run build:electron:main && electron ./dist --serve",
        "electron:dev": "npm run build && electron ./dist"
      },


    npm run start все запустит и начнет обновлять страницы
    Ответ написан
    Комментировать
  • Как правильнее получить данные с нескольких endpoint-ов?

    @PavelPikat
    REST подразумевает собой множество endpoints которые будут вызваны независимо друг от друга, поэтому overfetching для приложений с REST бэкендом это норма. Если это становится проблемой в плане производительности\трафика, то нужно задумываться над объединением либо запросов, либо эндпойнтов, либо вообще от REST уходить, например в GraphQL
    Ответ написан
    Комментировать
  • Что можно сделать чтобы сократить код?

    @PavelPikat
    Нет ничего плохого в том, что писать код по-простому и, как говорится, verbose. Это делает его более потнятным и читабельным. С другой стороны, у вас проблемы с читабельностью из-за недостающих пробелов, использования одинарных и двойных кавычек одновременно, == вместо === и т.д. Советую поставить плагин а-ля JSLint/TSLint который бы подсвечивал все косяки в соответсвии с общепринятыми нормами. Так вы научитесь писать более чистый код.

    По структуре я бы отметил чрезмерное использование else/if. Посмотрите где можно заменить на switch. Также, конструкцию
    speechSynthesis.speak(new SpeechSynthesisUtterance(fform + "покрашен на зелёный цвет"));
    можно вынести в отдельную функцию
    function speak(message) {
    speechSynthesis.speak(new SpeechSynthesisUtterance(speak));
    }

    и вызывать speak(fform + "покрашен на зелёный цвет");
    Ответ написан
    Комментировать
  • Кто то может подробно прокомментировать данный TypeScript код?

    @PavelPikat
    Выглядит как дочерний компонент какого-то другого компонента, т.е. используется внутри чего-то. Я бы сказал что задача этого компонента - отрендерить список задач из передаваемой переменной currentJobs (у которой сверху декоратор @Input() - это входные данные). Рендерится все в шаблоне show.component.html.

    @HostListener('change', ['$event.target']) - это eventListener по всему компоненту, т.е. клик в любом месте внутри компонента вызовет эту функцию. Эта функия пробегается по всем элементам в checkedJobs (список чекбоксов в шаблоне) и проверяет, отмечены ли они или нет. Если да - добавляет чекбокс в отдельный Set (это типо Array но с униками) currentCheckedInputs, а если не отмечен - удаляет. После этого пробегается уже по currentCheckedInputs, собирает айди HTML элементов и передает родительскому компоненту через this.onDelete.emit. Родительский компонент скорее всего слушает это событие и что-то дальше делает с полученной инфой.

    Ротительский компонент скорее всего содержит такую конструкцию у себя в шаблоне:
    <app-show-j [currentJobs]="jobs" (onDelete)="handleDeleted($event)"></app-show-j>
    Ответ написан
    1 комментарий