Angular 9 start

Модули


В Angular модуль это не просто класс. Каждый модуль должен определяться с декоратором @NgModule.

NgModule представляет функцию-декоратора, которая принимает объект, свойства которого описывают метаданные модуля. Наиболее важные свойства:

  • declarations: классы представлений (view classes), которые принадлежат модулю. Angular имеет три типа классов представлений: компоненты (components), директивы (directives), каналы (pipes)
  • exports: набор классов представлений, которые должны использоваться в шаблонах компонентов из других модулей
  • imports: другие модули, классы которых необходимы для шаблонов компонентов из текущего модуля
  • providers: классы, создающие сервисы, используемые модулем
  • bootstrap: корневой компонент, который вызывается по умолчанию при загрузке приложения

В случае выше единственным классом представлений является компонент AppComponent. Поэтому он указывается для свойств declarations и bootstrap. И поскольку его действие зависит от модулей BrowserModule и FormsModule, то данные модули указываются для свойства imports.

Привязка к событиям дочернего компонента
Жизненный цикл компонента
Сервисы

Исполнение sudo bash скрипта по SSH

Для передачи пароля при ssh подключении потребуется дополнительная утилита sshpass.

Чтобы исполнить скрипт с правами sudo, один из вариантов это записать пароль в файл, а затем просто прочитать его из файла

sshpass -p $pass ssh $uname@$ip "echo "$pass" >> pw.txt"
sshpass -p $pass ssh $uname@$ip "cat pw.txt | sudo -S ./bashUnzip.sh"

Arduino permissions serial port

Permissions

We can look at the Arduino device by running

ls -l /dev/ttyACM*

in a terminal. The output looks mostly like this:

crw-rw---- 1 root dialout 166, 0 Des 14 09:47 /dev/ttyACM0

The ‘0’ at the end of ‘ACM’ might be different, and multiple entries might be listed, but the parts we need to focus on are the string of letters and dashes in front, and the two names root and dialout.

The first name root is the owner of the device, and dialout is the owner group of the device.

The letters and dashes in front, starting after ‘c’, represent the permissions for the device by user: — The first triplet rw- mean that the owner (root) can read and write to this device — The second triplet rw- mean that members of the owner group (dialout) can read and write to this device — The third triplet --- means that other users have no permissions at all (meaning that nobody else can read and write to the device)

In short, nobody except root and members of dialout can do anything with the Arduino; since we aren’t running the IDE as root or as a member of dialout, the IDE can’t access the Arduino due to insufficient permissions.

VueJs hints 1

layouts ( в app рисуем <component is=»computedProperty»> в котором завернут router-view  и в computed свойстве вычисляем инфу из this.$route.meta

mixins в миксины можно вытаскивать целиком объекты data, methods, computed и т.д , а потом в нужном компоненте импортить их в mixins:[imported Mixin]

composition api можно вообще весь код выносить в разные файлы и писать в другом синтаксисе без this

Первое собеседование javascript

Приведение типов Boolean возвращает true когда:

-Пустой массив

-Пустой объект

-Функция

Для строк определен только оператор сложения, поэтому когда в выражении встречается оператор вычитания или умножения, то всё приводится к типа Number!

Функции определенные через переменную можно использовать только после инициализации, но если функция объявлена как Function Declaration, то произойдёт hoisting и функция будет доступна с самого начала

Для контекста используются:

— call( context, param1,param2 )

— apply( context, [param1, param2] )

— bind( context, param1, param2 ) Не вызывается сразу, а возвращает новую функцию

Методы массивов:

— Map можно вернуть любое значение вместо элемента массива, в результату вернётся массив с новыми элементами

— Filter нужно вернуть только true или false для нужных элементов, в результате вернется исходный массив, но только с элементами для которых выполнилось условие.

— Reduce создает глобальную переменную для всех итерируемых объектов и её начальное состояние, в результате возвращается значение переменной, которую передали в качестве аргумента

*На всякий случай повторить: Модель OSI, event bubbling, event loop, call stack.

Создайте подобный сайт на WordPress.com
Начало работы