пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Дружище, в статье покажем простой способ, как вывести виндовую тачку на базу Windows 10 из домена с помощью PowerShell. Ничего лишнего, только конфиги. Погнали.
А еще у нас есть статья про ввод машины на базе Windows 10 в домен :)
Удаление через PowerShell
Первое, что необходимо сделать, эту запустить PowerShell от имени администратора. Открываем меню пуск и вводим в поиск фразу PowerShell, а далее запускаем утилиту от имени администратора:
Как только открыли павэр шел, дайте туда следующую команду:
Remove-Computer -UnjoinDomaincredential доменлогин -PassThru -Verbose -Restart
Где:
домен - домен, из которого вы хотите выйти;
логин - учетная запись, под которой вы подключены к контроллеру домена;
Пример команды:
Remove-Computer -UnjoinDomaincredential mydomain.localAdministrator -PassThru -Verbose -Restart
Нажимаем Enter, система:
Вас попросят указать пароль от пользователя, которого вы указали в команде. Вводим его и нажимаем Enter:
На этом этапе можно просто нажать Enter, или указать Y. Как только перейдете на следующий шаг, инструмент выведет машину и отправит ее в перезагрузку. Готово!
Модули JavaScript также известны как ES-модули или ECMAScript-модули. Они предназначены для того, чтобы ваш код JavaScript был более организованным и более удобным в сопровождении.
Чем лучше вы будете понимать, как работают ES-модули, тем более профессионально вы будете справляться со своей работой разработчика JavaScript. В этой статье мы рассмотрим следующее:
Что такое модуль?
Что такое ES-модули? Для чего они нужны?
Как использовать ES-модули.
Прочие системы модулей, используемые в JavaScript.
Давайте начнем.
Что такое модуль?
Модуль в JavaScript – это обычный файл с кодом. В целом модуль можно описать как повторно используемую и независимую единицу кода.
Модули – это строительные блоки вашей кодовой базы. По мере роста вашего приложения мы можете разбивать ваш код на файлы, которые называются модулями.
С помощью модулей вы можете разбивать большие программы на фрагменты кода, которые будут более управляемыми.
Что такое ES-модули? Для чего они нужны?
ES-модули – это официальная система модулей JavaScript
. Есть и другие системы модулей, которые тоже можно использовать в JavaScript, но мы поговорим о них позже. Однако пока не забывайте о том, что мы изучаем именно ES-модули (так как они являются стандартными для JavaScript), а не какие-то другие системы модулей.
Если вы являетесь разработчиком JavaScript, то вы, скорее всего, будете использовать ES-модули постоянно.
Ниже перечислены некоторые преимущества, которые могут получить разработчики, используя ES-модули:
Организованность
. Разбивая большие программы на более мелкие части, вы поддерживаете организованность вашего кода.
Многократное использование
. Применяя ES-модули, вы можете писать код в одним месте и использовать его повторно в других файлах в рамках вашей кодовой базы. Например, вместо того, чтобы каждый раз заново писать одну и ту же функцию, вы можете написать ее внутри одного модуля, а затем импортировать его в другой файл и использовать его уже там.
Давайте посмотрим на пример того, как можно использовать ES-модули. Мы узнаем, как работают ES-модули, так что вы сможете использовать их в своих будущих проектах. Работая с ES-модулями, мы сможем увидеть каждое из преимуществ, которые мы упомянули выше.
Как использовать ES-модули
Давайте для начала создадим несложный файл JavaSvript в Replit. Весь код вы можете найти
здесь
.
Как только мы откроем Replit, мы можем создать новый проект и выбрать HTML, CSS и JavaScript. Таким образом, мы создадим начальный проект, в котором будует находиться файлы
index.html
,
scrip t.js
и
style.css
. Все это нам понадобиться, чтобы настроить проект.
Внутри нашего файла
index.html
нам нужно изменить тег
script
, добавив к нему
type="module"
. Таким образом, мы сможем использовать ES-модули в нашем коде. Тег
script
должен выглядеть вот так:
Давайте начнем с написания простой функции для сложения двух чисел. Эта функция должна взять два числа, сложить их и вернуть результат этой операции. Именно так мы и нНазовем мы эту функцию именно так –
add
. Напишем ее в нашем файле
script.js
:
function add(a, b) {
return a + b;
};
console.log(add(5, 5)); //outputs 10
На данный момент наш файл
script.js
не такой большой, в нем не так много кода. А теперь представьте, что ваше приложение растет, и у него есть десятки таких функций. Тогда файл
script.js
может стать слишком большим, и его будет не так просто сопровождать.
Давайте создадим модуль и обойдем эту проблему. Это можно сделать, нажав в Replit кнопку «Add File» («Добавить файл»). Не забывайте, что модуль – это всего лишь файл связанного кода.
Мы назовем наш модуль
math.js
. Мы уберем функцию
add
из нашего файла
script.js
и создадим новый файл
math.js
. Этот файл станет нашим модулем, в котором мы будем хранить наши математические функции. Давайте добавим нашу функцию
add
в этот файл:
// math.js
function add(a, b) {
return a + b;
};
Мы решили назвать этот модуль
math.js
, так как потом мы добавим туда еще и другие математические функции.
Если бы мы условно открыли это приложение и посмотрели на него, то сразу же поняли, что вся математическая логика находится внутри этого файла. Нам не нужно было бы тратить время на то, чтобы вникнуть в это приложение, на поиск математических функций и гадания о том, где они находятся. Мы все аккуратно организовали в файл.
Теперь давайте воспользуемся функцией
add
внутри нашего файла
script.js
. Только не стоит забывать, что сама функция находится внутри другого файла. Для этого нам нужно изучить синтаксис ES-модуля. Давайте посмотрим на такие ключевые слова, как
export
и
import
.
Ключевое слово
export
Если вы хотите, чтобы ваш модуль был доступен в других файлах (помимо того, в котором он находится), то вам необходимо воспользоваться ключевым словом
export
. Давайте применим ключевое слово
export
к нашей функции
add
, чтобы мы могли использовать ее внутри нашего файла
script.js
.
Давайте добавим ключевое слово
export default
под нашей функцией внутри файла
math.js
:
// math.js
function add(a, b) {
return a + b;
};
export default add;
Последняя строка делает так, что функция становится доступной для использования в других местах помимо модуля
math.js
.
Есть еще один способ применения ключевого слова
export
. Вы можете добавить его непосредственно перед тем, как вы будете определять функцию:
// math.js
export default function add(a, b) {
return a + b;
};
Сами по себе способы различны, но работают они одинаково.
Возможно вас заинтересовало ключевое слово
default
после слова
export
. Мы скоро к этому вернемся. А сейчас, когда мы экспортировали нашу функцию, давайте все-таки воспользуемся ей в другом файле.
Ключевое слово
import
Для того, чтобы импортировать нашу функцию
add
в наш файл
script.js
, нам понадобиться ключевое слово
import
. Импорт функции подразумевает, что мы сможем получить доступ и использовать ее в файле. Как только мы импортируем функцию, мы сможем ей воспользоваться:
// script.js
import add from './math.js';
console.log(add(2, 5)); //outputs 7
В данном случае мы используем относительный импорт (
./math.js
).
Когда мы запустим этот код, то увидим результат работы нашей функции – 7. Теперь вы можете использовать эту функцию в этом файле столько, сколько захотите.
Сам код функции не видно, и для того, чтобы использовать функцию, вам не обязательно нужно видеть егоего видеть.
Если мы попробуем ненадолго закомментировать строку
import add from './math.js'
, то сразу же получим ошибку:
ReferenceError: add is not defined
. Это происходит из-за того, что , если мы не импортируем явно явно эту функцию в файл
script.js
, а, значит,то у негоон не может нет к получить к ней доступа.
Для начала мы экспортировали нашу функцию
add
, после чего импортировали ее в наш файл
script.js
, а затем вызвали.
Давайте снова посмотрим на наш файл
math.js
. Как уже отмечалось выше, вас могло смутить слово
default
, которое было написано вместео с ключевым словом
export
. Давайте рассмотрим его поподробнее.
Экспорт по имени и экспорт по умолчанию в JavaScript
В том, что касается ES-модулей, вы можете использовать как экспорт по умолчанию, так и экспорт по имени.
В нашем первом примере мы использовали
экспорт по умолчанию
. Мы экспортировали таким образом только одно значение (нашу функцию
add
) из нашего модуля
math.js
.
Если вы используете экспорт по умолчанию, то по желанию вы можете изменить названием импорта. То есть мы можем импортировать нашу фукнциюфункцию
add
в нашем файле
script.js
и назвать ее, например,
addition
(или каким-то другим именем).
// script.js
import addition from './math.js';
console.log(addition(2, 5)); //outputs 7
А вот
экспорт по имени
используется для экспорта
нескольких значений
.
Давайте попробуем воспользоваться экспортом по имени. Вернитесь в файл
math.js
, создайте в нем еще две фукнции -
subtract
и
multiply
, и разместите их под нашей функцией
add
. Если вы используете экспорт по имени, то вы можете просто удалить ключевое слово
default
:
// math.js
export default function add(a, b) {
return a + b;
};
export function subtract(a, b) {
return a - b;
};
export function multiply(a, b) {
return a * b;
};
Давайте удалим весь код, написанный в
script.js
ранее, и импортируем наши новые функции. Для того, чтобы импортировать экспорты по имени, вам нужно заключить их в фигурные скобки:
import { multiply, subtract } from './math.js';
Теперь мы можем использовать обе эти функции внутри файла
script.js
:
// script.js
import { multiply, subtract } from './math.js';
console.log(multiply(5, 5));
console.log(subtract(10, 4))
Если вы хотите переименовать экспорт по имени, то вам понадобиться ключевое слово
as
:
import add, { subtract as substractNumbers } from './math.js';
console.log(substractNumbers(2, 5));
Выше мы переименовали импорт функции
subtract
в
subtractNumbers
.
А теперь вернемся в нашей функции
add
. Что если мы снова заходим использовать ее в нашем файле
script.js
наряду с нашими функциями
multiply
и
subtract
? Этот вопрос можно решить следующим образом:
import add, { multiply, subtract } from './math.js';
console.log(multiply(5, 5));
console.log(subtract(10, 4))
console.log(add(10, 10));
Теперь мы знаем, как можно использовать ES-модули. Мы узнали, как применять ключевые слова
export
и
import
, а также в чем состоят различия между экспортом по имени и экспортом по умолчанию. Кроме того, мы научились переименовывать как экспорты по умолчанию, так и экспорты по имени.
Прочие системы модулей в JavaScript
Если вы уже изучали модули, то вы могли использовать другой тип импорта, например, такой:
var models = require('./models')
Вот здесь можно запутаться. Давайте немного углубимся в историю модулей JavaScript, чтобы все прояснить.
Пример кода, приведенный выше, использует оператор
require
. Это CommonJS. CommonJS – это еще одна система модулей, которую можно использовать с JavaScript.
Когда JavaScript был только создан, у него не было никакой системы модулей. В следствие чего разработчики создавали свои собственные системы модулей поверх языка.
В течение многих лет создавались и использовались различные системы модулей, в том числе CommonJS. Работая с кодовой базой компании или принимая участие в проекте с открытым исходным кодом, вы можете заметить, что в них используются разные системы модулей.
В конце концов, была представлена стандартизированная система модулей JavaScript – ES-модули.
В этой статье мы узнали о том, что такое модули и для чего они нужны разработчикам. Мы узнали о том, как работают ES-модули, а также о различных типах систем модулей в JavaScript.
Определения
Что такое MongoDB?
MogoDB – это документоориентированная база данных с необходимыми вам масштабируемостью и гибкостью, запросами и индексированием.
Что такое база данных?
База данных содержит набор коллекций. Как правило, база данных имеет отдельный каталог файловой системы, где хранит свои данные. У каждой базы данный свой собственный набор файлов в файловой системе. Согласно общим правилам, одна база данных связывается с одним приложением.
Что такое коллекция?
Коллекция – это группа документов. Если предположить, что документ в MongoDB– это аналог строки в таблице реляционной базы данных, то коллекция – это аналог таблицы.
Что такое документ?
Запись в MongoDB называется документом. Это структура данных, которая состоит из пар поле-значение. Документы MongoDB напоминают объекты JSON. Значения полей могут содержать другие документы, массивы или массивы документов.
Что такое поле?
У документа имеется динамическая схема. Благодаря таким схемам, документы могут иметь в одной коллекции разные наборы полей и разные имена для общих полей.
Что такое первичный ключ?
В MongoDB для каждого документа, который хранится в коллекции, необходимо указать поле _id, значение которого уникально. Это поле работает по принципу первичного ключа. Если у добавленного документа отсутствует поле _id, драйвер MongoDB автоматически генерирует для поля _id значение типа ObjectId.
Для чего нужен NoSQL (нереляционная база данных)?
Нереляционная база данных позволяет добавлять данные, не придерживаясь какой-то заранее определенной схемы. За счет этого свойства такие базы данных идеально подходят для того, чтобы хранить и обрабатывать неструктурированные данные.
Для чего нужен MongoDB?
MongoDB – это документоориентированная база данных. Это значит, что она хранит данные в JSON-подобных документах. Считается, что такой способ представления данных - наиболее естественный. Кроме того, он гораздо более выразительный и функциональный, нежели обычная модель строк и столбцов.
Команды оболочки MongoDB
Просмотр баз данных
show dbs
С помощью этой команды можно просмотреть все базы данных, которые хранятся на сервере MongoDB.
Выбор базу данных
use
С помощью этой команды можно переключаться между базами данных, чтобы выбрать ту, которую вы хотите использовать.
Просмотр коллекций
show collections
С помощью этой команды можно просмотреть все коллекции, которые вы используете в базе данных.
Удаление базы данных
db.dropDatabase()
С помощью этой команды можно удалить выбранную базу данных.
Создание коллекции
db.createCollection("")
С помощью этой команды можно создать коллекцию в выбранной базе данных.
Добавление документа
db..insertOne({
: ,
: ,
...
})
С помощью этой команды можно добавить документ в выбранную коллекцию.
Добавление нескольких документов
db..insertMany([
{
: ,
: ,
...
},
{
: ,
: ,
...
},
...
])
С помощью этой команды можно добавить несколько документов в выбранную коллекцию.
Поиск документов
db..find()
С помощью это команды можно найти документ в выбранной коллекции.
Поиск документов с помощью запроса
db..find({
:
})
С помощью этой команды можно найти документ, соответствующий запросу, в выбранной коллекции.
Подсчет документов
db..find({
:
}).count()
С помощью этой команды можно подсчитать количество документов в коллекции, которые соответствуют запросу.
Ограничение количества документов
db..find().limit()
С помощью этой команды можно ограничить количество документов, возвращаемых командой
find
.
forEach()
db..find().forEach(function(doc) {
print("Key: " + doc. + " Value: " + doc.);
})
С помощью этой команды можно пройтись по всем документам в выбранной коллекции и напечатать ключи и значения каждого из них.
Поиск одного документа
db..findOne({
:
})
С помощью этой команды можно найти первый документ из выбранной коллекции, соответствующих запросу.
Обновление документа
db..updateOne({
:
}, {
$set: {
:
}
})
С помощью этой команды можно обновить значение первого документа из выбранной коллекции, соответствующего запросу. Для того, чтобы обновить документ, вам понадобиться
$set
.
Увеличение индекса документа
db..updateOne({
:
}, {
$inc: {
:
}
})
С помощью этой команды можно увеличить значение ключа первого документа из выбранной коллекции, соответствующего запросу. Для того, чтобы увеличить значение ключа, вам понадобиться
$inc
.
Удаление документа
db..deleteOne({
:
})
С помощью этой команды можно удалить первый документ из выбранной коллекции, соответствующий запросу.
Добавление нового поля в документ
db..updateOne({
:
}, {
$set: {
:
}
})
С помощью этой команды можно добавить новое поле в первый документ из выбранной коллекции, соответствующий запросу.
Больше чем
db..find({
: {
$gt:
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи больше заданного значения.
Больше или равно
db..find({
: {
$gte:
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи больше или равны заданному значению.
Меньше чем
db..find({
: {
$lt:
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи меньше заданного значения.
Меньше или равно
db..find({
: {
$lte:
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи меньше или равны заданному значению.
Не равно
db..find({
: {
$ne:
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи не равны заданному значению.
И
db..find({
$and: [
{
:
},
{
:
}
]
})
С помощью этой команды можно найти все документы из выбранной коллекции, которые соответствуют запросу.
Или
db..find({
$or: [
{
:
},
{
:
}
]
})
С помощью этой команды можно найти все документы из выбранной коллекции, которые соответствуют запросу.
Сортировка
db..find().sort({
:
})
С помощью этой команды можно отсортировать по ключу все документы из выбранной коллекции.
Сортировка по убыванию
db..find().sort({
: -1
})
С помощью этой команды можно отсортировать по убыванию ключей все документы из выбранной коллекции.
Удаление коллекции
db..drop()
С помощью этой команды можно удалить выбранную коллекцию.
