diff --git a/Homework_GitBash/HW1_Git_Bash_1.txt b/Homework_GitBash/HW1_Git_Bash_1.txt new file mode 100644 index 0000000..dbf2f21 --- /dev/null +++ b/Homework_GitBash/HW1_Git_Bash_1.txt @@ -0,0 +1,110 @@ +HW_1. The first part +Linux terminal (GitBash) commands + +1) Посмотреть, где я + ---- pwd + +2) Создать папку + ---- mkdir folder_name + +3) Зайти в папку + ---- cd folder_name + +4) Создать 3 папки + ---- mkdir folder_name_1 folder_name_2 folder_name_3 + ---- mkdir folder_name{1..3} + +5) Зайти в любую папку + ---- cd folder_name_1 + +6) Создать 5 файлов (3 txt, 2 json) + ---- touch text_file_1.txt text_file_2.txt text_file_3.txt text_file_4.json text_file_5.json + +7) Создать 3 папки + ---- mkdir folder_name_4 folder_name_5 folder_name_6 + ---- mkdir folder_name{4..6} + +8) Вывести список содержимого папки + ---- ls + +9) + Открыть любой txt файл + ---- vi text_file_1.txt + ---- cat text_file_1.txt + +10) + написать туда что-нибудь, любой текст + ---- vi text_file_1.txt , нажать i (insert) и вводить текст + ---- cat >> text_file_1.txt , вводить текст + +11) + Сохранить и выйти + ---- Ctrl + C , wq (сохранить и выйти) + ---- Esc , wq + +12) Выйти из папки на уровень выше + ---- cd .. + +13) Переместить любые 2 файла, которые вы создали, в любую другую папку + ---- mv folder_name_1/{text_file_1.txt,text_file_4.json} folder_name_2 + +14) Скопировать любые 2 файла, которые вы создали, в любую другую папку + ---- cp folder_name_2/{text_file_1.txt,text_file_4.json} folder_name_4 + +15) Найти файл по имени + ---- find -name text_file_2.txt + ---- find -name text_file_2* + +16) Просмотреть содержимое в реальном времени (команда grep) изучите как она работает + ---- tail -f text_file_2.txt , Ctrl + C // просмотр содержимого в реальном времени + + ---- grep privet! text_file_1.txt // поиск записи "privet!" в файле text_file_1.txt + ---- grep -i privet! text_file_1.txt // поиск записи "privet!" в файле text_file_1.txt без учета регистра + ---- grep -v privet! text_file_1.txt // показать строки в файле text_file_1.txt, где отсутствует "privet!" + ---- grep -с privet! text_file_1.txt // посчитать кол-во строк, содержащих "privet!" + + Комбинирование функций, например: grep -iс privet! text_file_1.txt + + ---- grep -R privet! text_file_2 // показать все файлы, содержащие "privet!" + +17) Вывести несколько первых строк из текстового файла + ---- head -4 text_file_1.txt // выведет первые 4 строки из текстового файла + ---- head text_file_1.txt // по умолчанию выводит первые 10 строк из текстового файла + +18) Вывести несколько последних строк из текстового файла + ---- tail -4 text_file_1.txt // выведет последние 4 строки из текстового файла + ---- tail text_file_1.txt // по умолчанию выводит последние 10 строк из текстового файла + +19) Просмотреть содержимое длинного файла (команда less) изучите как она работает + ---- less text_file_1.txt // команда less позволяет просматривать содержимое текстовых файлов и прочих данных в постраничном режиме + ---- v // запустить редактор + ---- q // выйти из режима просмотра + +20) Вывести дату и время + ---- date + +===================================================================================== + +Задание * +1) Отправить http запрос на сервер http://162.55.220.72:5005/terminal-hw-request + ---- curl http://162.55.220.72:5005/terminal-hw-request + + ---- curl "http://162.55.220.72:5005/get_method?name=&age=" + Ответ: ["Имя","Возраст"] + +2) Написать скрипт который выполнит автоматически пункты 3, 4, 5, 6, 7, 8, 13 + ---- cat >> main.sh // создать файл + +Содержимое main.sh: + +#!/bin/bash +cd folder +mkdir folder{1..3} +cd folder1 +touch text_{1..3}.txt text_{4..5}.json +mkdir folder{4..6} +ls -la +cd .. +mv folder1/{text_1.txt,text_4.json} folder2 + +chmod +x ./main.sh // сделать файл исполняемым +./main.sh // запустить файл + + \ No newline at end of file diff --git a/Homework_GitBash/HW2_Git.txt b/Homework_GitBash/HW2_Git.txt new file mode 100644 index 0000000..627f875 --- /dev/null +++ b/Homework_GitBash/HW2_Git.txt @@ -0,0 +1,71 @@ +Как отправить ДЗ на проверку. + 1. Создайте текстоовый файл как в первом ДЗ по Terminal. + 2. Сценарий перенесите в этот файл. + 3. На против каждого действия - напишите команду в GitBash + +Файл со сценарием и ссылку на свой гит хаб отправляйте менторам на проверку. + + +JSON + 4. Создать внешний репозиторий c названием JSON. + 5. Клонировать репозиторий JSON на локальный компьютер - // git clone https://github.com/Baray44/JSON.git + 6. Внутри локального JSON создать файл “new.json” - // touch new.json + 7. Добавить файл под гит - // git add new.json + 8. Закоммитить файл - // git commit -m 'add: new.json' + 9. Отправить файл на внешний GitHub репозиторий - // git push origin master + 10. Отредактировать содержание файла “new.json” - написать информацию о себе (ФИО, возраст, количество домашних животных, будущая желаемая зарплата). Всё написать в формате JSON - // vi new.json + 11. Отправить изменения на внешний репозиторий. + - git add new.json + - git commit -m 'fix: new.json' + - git push origin master + 12. Создать файл preferences.json - // touch preferences.json + 13. В файл preferences.json добавить информацию о своих предпочтениях (Любимый фильм, любимый сериал, любимая еда, любимое время года, сторона которую хотели бы посетить) в формате JSON - // $ vi preferences.json + 14. Создать файл sklls.json добавить информацию о скиллах которые будут изучены на курсе в формате JSON - // cat >> skills.json + 15. Отправить сразу 2 файла на внешний репозиторий - // git add . , git commit -m 'add: preferences.json, skills.json', git push origin master + 16. На веб интерфейсе создать файл bug_report.json. + 17. Сделать Commit changes (сохранить) изменения на веб интерфейсе. + 18. На веб интерфейсе модифицировать файл bug_report.json, добавить баг репорт в формате JSON. + 19. Сделать Commit changes (сохранить) изменения на веб интерфейсе. + 20. Синхронизировать внешний и локальный репозиторий JSON - // git pull origin master + + +XML + 21. Создать внешний репозиторий c названием XML. + 22. Клонировать репозиторий XML на локальный компьютер - // $ git clone https://github.com/Baray44/XML.git + 23. Внутри локального XML создать файл “new.xml” - // $ touch new.xml + 24. Добавить файл под гит - // $ git add new.xml + 25. Закоммитить файл - // $ git commit -m 'add: new.xml' + 26. Отправить файл на внешний GitHub репозиторий - // git push origin main + 27. Отредактировать содержание файла “new.xml” - написать информацию о себе (ФИО, возраст, количество домашних животных, будущая желаемая зарплата). Всё написать в формате XML - // vi new.xml + 28. Отправить изменения на внешний репозиторий - // git -am 'fix: new.xml', git push origin main + 29. Создать файл preferences.xml - // touch preferences.xml + 30. В файл preferences.xml добавить информацию о своих предпочтениях (Любимый фильм, любимый сериал, любимая еда, любимое время года, сторона которую хотели бы посетить) в формате XML - // vi preferences.xml + 31. Создать файл sklls.xml добавить информацию о скиллах которые будут изучены на курсе в формате XML - // cat >> skills.xml + 32. Сделать коммит в одну строку - // $ git add . | git commit -m 'add: preferences.xml, skills.xml' + 33. Отправить сразу 2 файла на внешний репозиторий - // git push origin main + 34. На веб интерфейсе создать файл bug_report.xml. + 35. Сделать Commit changes (сохранить) изменения на веб интерфейсе. + 36. На веб интерфейсе модифицировать файл bug_report.xml, добавить баг репорт в формате XML. + 37. Сделать Commit changes (сохранить) изменения на веб интерфейсе. + 38. Синхронизировать внешний и локальный репозиторий XML + + +TXT + 1. Создать внешний репозиторий c названием TXT. + 2. Клонировать репозиторий TXT на локальный компьютер - // $ git clone https://github.com/Baray44/TXT.git + 3. Внутри локального TXT создать файл “new.txt” - // touch new.txt + 4. Добавить файл под гит - // $ git add new.txt + 5. Закоммитить файл - // $ git commit -m 'add: new.txt' + 6. Отправить файл на внешний GitHub репозиторий - // $ git push orgin main + 7. Отредактировать содержание файла “new.txt” - написать информацию о себе (ФИО, возраст, количество домашних животных, будущая желаемая зарплата). Всё написать в формате TXT - // vi new.txt + 8. Отправить изменения на внешний репозиторий - // $ git push origin main + 9. Создать файл preferences.txt - // touch preferences.txt + 10. В файл preferences.txt добавить информацию о своих предпочтениях (Любимый фильм, любимый сериал, любимая еда, любимое время года, сторона которую хотели бы посетить) в формате TXT - // vi preferences.txt + 11. Создать файл sklls.txt добавить информацию о скиллах которые будут изучены на курсе в формате TXT - // cat >> skills.txt + 12. Сделать коммит в одну строку - // $ git add . | git commit -m 'fix: new.txt | add: preferences.txt, skills.txt' + 13. Отправить сразу 2 файла на внешний репозиторий - // git push origin main + 14. На веб интерфейсе создать файл bug_report.txt. + 15. Сделать Commit changes (сохранить) изменения на веб интерфейсе. + 16. На веб интерфейсе модифицировать файл bug_report.txt, добавить баг репорт в формате TXT. + 17. Сделать Commit changes (сохранить) изменения на веб интерфейсе. + 18. Синхронизировать внешний и локальный репозиторий TXT \ No newline at end of file diff --git a/Homework_GitBash/basic_linux_commands.jpg b/Homework_GitBash/basic_linux_commands.jpg new file mode 100644 index 0000000..b6ef916 Binary files /dev/null and b/Homework_GitBash/basic_linux_commands.jpg differ diff --git a/Homework_GitBash/basic_linux_commands.md b/Homework_GitBash/basic_linux_commands.md new file mode 100644 index 0000000..28df6c2 --- /dev/null +++ b/Homework_GitBash/basic_linux_commands.md @@ -0,0 +1,82 @@ +# BASIC LINUX COMMANDS +_____________ + +[basic linux commands]("D:\QA_school\QA_homework\Homework_GitBash\basic_linux_commands.jpg") + +`pwd` где находимся + +`clear` стереть + +`mkdir папка` создать папку + +`cd папка` переход в эту папку + +`touch файл` создать файл + +`cat >> файл` изменения в файле `ctrl+c` закрыли + +`cat > файл` создаем файл и пишем что в нем будет + +`cat файл` прочитать файл + +`cd –` выйти на папку ниже + +`history` какие команды вводили за текущую сессию `q` выйти из этого режима + +`vim файл` текстовой редактор, после нажать `i`, `esc:wq` выйти и сохранить, `esc:q!` выйти и не сохранить + +`mv папка_1/файл пробел папка_25` перенести файл из одной папки в другую + +`cp папка_1/файл пробел папка_25` копировать файл из одной папки в другую + +`cat папка/файл` смотрим содержимое + +`rm файл` просто удалить файл + +`rm –r` удалить папку с файлами + +`mv папка_1/файл_1 папка_1/файл56` переименовать файл, меняет ссылку + +`rmdir папка` удаление пустой папки + +`.` текущая директория, `..` родительская директория + +`ls` отображение информации в виде строки (скрытые файлы не отображаются) + +`ls –a` отображение информации в виде строки (скрытые файлы отображаются) + +`ls –l` отображение информации подробно (скрытые файлы не отображаются) + +`ls –l –a` или `ls –la` отображение информации подробно (скрытые файлы отображаются) + +`ls –la папка` что лежит конкретно в папке + +`tail –f файл` посмотреть изменения в реальном времени + +`tail –f файл | grep слово` посмотреть изменения в реальном времени, выделит слово + + + +`sudo chmod 755 файл` если проблемы с правами доступа + +`less файл` прочитать файл в отдельном окне, `q` выход + +`nano файл` тестовой редактор в отдельном окне `ctrl+o`, `ctrl+x` сохранить и можно переименовать + +`grep слово файл` поиск слова в файле (регистрозависимый) + +`grep –i слово файл` поиск слова в файле (регистронезависимый) + +`grep –c слово файл` считает кол-во строк с этим словом (регистрозависимый) + +`grep –ic слово файл` считает кол-во строк с этим словом (регистронезависимый) + +`grep –r слово папка` находим инфу в папке + +`find . –name имя` поиск по имени внутри текущей директории + +`find . –name *.png` поиск файла определенного формата + +`find . –type d –name «папка»` поиск по директориям + +`find . –name «*png» - delete –print` удаление файла определенного формата \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HTML_HW_1_JS_4_@Baray44.html b/Homework_JavaScript/hw_1_js/HTML_HW_1_JS_4_@Baray44.html new file mode 100644 index 0000000..aae556b --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HTML_HW_1_JS_4_@Baray44.html @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HTML_HW_2(temp).html b/Homework_JavaScript/hw_1_js/HTML_HW_2(temp).html new file mode 100644 index 0000000..6b7776a --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HTML_HW_2(temp).html @@ -0,0 +1,15 @@ + + + + + Ввод IP-адреса + + +
+

Введите возраст:

+

+

+
+ + + \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HW1_JS_4_@Baray44(temp).js b/Homework_JavaScript/hw_1_js/HW1_JS_4_@Baray44(temp).js new file mode 100644 index 0000000..a5a0fa2 --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HW1_JS_4_@Baray44(temp).js @@ -0,0 +1,32 @@ +window.onload = init; + +function init() { + var button = document.getElementById("my_button") + button.onclick = handleButtonClick; +} + +function handleButtonClick() { + var textInput = document.getElementById("my_input"); + alert(checkAge_HW_4(textInput.value)); +} + +const checkAge_HW_4 = function (age) { + + let age_1 = Number(age) + if (isNaN(age_1)) { + return 'Ошибка!' + } + + let age_2 = 18 + let age_3 = 60 + + if (age < age_2) { + return "You don't have access cause your age is " + age + " It’s less then " + } else if (age >= age_2 && age < age_3) { + return "Welcome !" + } else if (age > age_3) { + return "Keep calm and look Culture channel" + } else { + return "Technical work" + } +} \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HW1_JS_@Baray44.js b/Homework_JavaScript/hw_1_js/HW1_JS_@Baray44.js new file mode 100644 index 0000000..c5565b0 --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HW1_JS_@Baray44.js @@ -0,0 +1,40 @@ +// Задание HW_1 +let item_1 = 5 +let item_2 = 3 +let item_3 = item_1 + item_2 +let item_4 = "Yolochka" +let item_5 = item_3 +let item_6 +let item_6_type + +item_6 = 15 +item_6_type = typeof(item_6) + +let item_7 = item_6.toString() +let item_7_type = typeof(item_7) + +let result_1 = item_3 + item_4 +let result_2 = item_3 * item_4 + +console.log(item_1) +console.log(item_2) +console.log(item_3) +console.log(item_4) +console.log(result_1) +console.log(result_2) +console.log("item_6 ==", item_6, "item_6_type ==", item_6_type) +console.log("item_7 ==", item_7, "item_7_type ==", item_7_type) + +let age_1 = 10 +let age_2 = 18 +let age_3 = 60 + +if (age_1 < age_2) { + console.log("You don't have access cause your age is " + age_1 + " It's less then ") +} else if (age_1 >= age_2 && age_1 < age_3) { + console.log("Welcome !") +} else if (age_1 > age_3) { + console.log("Keep calm and look Culture channel") +} else { + console.log("Technical work") +} \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HW_1_JS_1_@Baray44.js b/Homework_JavaScript/hw_1_js/HW_1_JS_1_@Baray44.js new file mode 100644 index 0000000..67b0c56 --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HW_1_JS_1_@Baray44.js @@ -0,0 +1,18 @@ +// Задание HW_1.1* +const checkAge_HW_1 = function(age){ + let age_2 = 18 + let age_3 = 60 + +if (age < age_2) { + console.log("You don't have access cause your age is " + age + " It's less then ") +} else if (age >= age_2 && age < age_3) { + console.log("Welcome !") +} else if (age > age_3) { + console.log("Keep calm and look Culture channel") +} else { + console.log("Technical work") +} +} +checkAge_HW_1(17) +checkAge_HW_1(18) +checkAge_HW_1(61) \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HW_1_JS_2_@Baray44.js b/Homework_JavaScript/hw_1_js/HW_1_JS_2_@Baray44.js new file mode 100644 index 0000000..783f8fc --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HW_1_JS_2_@Baray44.js @@ -0,0 +1,23 @@ +// Задание HW_1.2* +const checkAge_HW_2 = function(age){ + if (typeof(age) != "number"){ + throw new Error('Ошибка!') + } + + let age_2 = 18 + let age_3 = 60 + +if (age < age_2) { + console.log("You don't have access cause your age is " + age + " It’s less then ") +} else if (age >= age_2 && age < age_3) { + console.log("Welcome !") +} else if (age > age_3) { + console.log("Keep calm and look Culture channel") +} else { + console.log("Technical work") +} +} +checkAge_HW_2(17) +checkAge_HW_2(18) +checkAge_HW_2(61) +// checkAge_HW_2('Число1') \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HW_1_JS_3_@Baray44.js b/Homework_JavaScript/hw_1_js/HW_1_JS_3_@Baray44.js new file mode 100644 index 0000000..ea0a634 --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HW_1_JS_3_@Baray44.js @@ -0,0 +1,25 @@ +// Задание HW_1.3** +const checkAge_HW_3 = function (age) { + let age_1 = Number(age) + if (isNaN(age_1)) { + throw new Error('Ошибка!') + } + + let age_2 = 18 + let age_3 = 60 + + if (age < age_2) { + console.log("You don't have access cause your age is " + age + " It's less then ") + } else if (age >= age_2 && age < age_3) { + console.log("Welcome !") + } else if (age > age_3) { + console.log("Keep calm and look Culture channel") + } else { + console.log("Technical work") + } +} +checkAge_HW_3(17) +checkAge_HW_3(18) +checkAge_HW_3(61) +// checkAge_HW_3('Число1') +checkAge_HW_3('2') \ No newline at end of file diff --git a/Homework_JavaScript/hw_1_js/HW_1_JS_4_@Baray44.js b/Homework_JavaScript/hw_1_js/HW_1_JS_4_@Baray44.js new file mode 100644 index 0000000..357579e --- /dev/null +++ b/Homework_JavaScript/hw_1_js/HW_1_JS_4_@Baray44.js @@ -0,0 +1,27 @@ +window.onload = init; + +function init() { + result = prompt("Введите возраст:"); + alert(checkAge_HW_4(result)); +} + +const checkAge_HW_4 = function (age) { + + let age_1 = Number(age) + if (isNaN(age_1)) { + return 'Ошибка!' + } + + let age_2 = 18 + let age_3 = 60 + + if (age < age_2) { + return "You don't have access cause your age is " + age + " It’s less then " + } else if (age >= age_2 && age < age_3) { + return "Welcome !" + } else if (age > age_3) { + return "Keep calm and look Culture channel" + } else { + return "Technical work" + } +} \ No newline at end of file diff --git a/Homework_JavaScript/hw_2_js/HW_2_JS_1.js b/Homework_JavaScript/hw_2_js/HW_2_JS_1.js new file mode 100644 index 0000000..76be069 --- /dev/null +++ b/Homework_JavaScript/hw_2_js/HW_2_JS_1.js @@ -0,0 +1,7 @@ +// 1. Написать скрипт, который сосчитает и выведет результат от возведения 2 в степень 10, начиная со степени 1 + +for (let i = 1; i <= 10; i++) +{ + let result = Math.pow(2, i) + console.log(result) +} \ No newline at end of file diff --git a/Homework_JavaScript/hw_2_js/HW_2_JS_2.js b/Homework_JavaScript/hw_2_js/HW_2_JS_2.js new file mode 100644 index 0000000..f5e5173 --- /dev/null +++ b/Homework_JavaScript/hw_2_js/HW_2_JS_2.js @@ -0,0 +1,9 @@ +// 1*. Преобразовать 1 задачу в функцию, принимающую на вход степень, в которую будет возводиться число 2 + +const pow_HW = function (power) { + for (let i = 1; i <= power; i++) { + let result = Math.pow(2, i) + console.log(result) + } +} +pow_HW(10) \ No newline at end of file diff --git a/Homework_JavaScript/hw_2_js/HW_2_JS_3.js b/Homework_JavaScript/hw_2_js/HW_2_JS_3.js new file mode 100644 index 0000000..e04bb4a --- /dev/null +++ b/Homework_JavaScript/hw_2_js/HW_2_JS_3.js @@ -0,0 +1,15 @@ +// 2. Написать скрипт, который выведет 5 строк в консоль таким образом, чтобы в первой строчке выводилось :), во второй :):) и так далее + +let result = ":)" +for (let i = 0; i < 5; i++) { + console.log(result) + result += ":)" +} +// Вариант с двумя циклами +// for (let i = 0; i < 5; i++) { +// let s = ":)" +// for (let j = 0; j < i; j++) { +// s+= ":)" +// } +// console.log(s) +// } \ No newline at end of file diff --git a/Homework_JavaScript/hw_2_js/HW_2_JS_4.js b/Homework_JavaScript/hw_2_js/HW_2_JS_4.js new file mode 100644 index 0000000..8da2962 --- /dev/null +++ b/Homework_JavaScript/hw_2_js/HW_2_JS_4.js @@ -0,0 +1,10 @@ +// 2*. Преобразовать 2 задачу в функцию, принимающую на вход строку, которая и будет выводиться в консоль (как в условии смайлик), а также количество строк для вывода e.g. function printSmile(stroka, numberOfRows) + +const str_HW = function (str, number) { + let result = String(str) + for (let i = 0; i < number; i++) { + console.log(result) + result += str + } +} +str_HW(":)", 5) \ No newline at end of file diff --git a/Homework_JavaScript/hw_2_js/HW_2_JS_5.js b/Homework_JavaScript/hw_2_js/HW_2_JS_5.js new file mode 100644 index 0000000..53f7cec --- /dev/null +++ b/Homework_JavaScript/hw_2_js/HW_2_JS_5.js @@ -0,0 +1,23 @@ +// 3**. Написать функцию, которая принимает на вход слово. Задача функции посчитать и вывести в консоль, сколько в слове гласных, и сколько согласных букв. +// e.g. function getWordStructure(word) +// В консоли: +// Слово (word) состоит из (число) гласных и (число) согласных букв + +vowlos = new Set(["A", "E", "I", "O", "U", "Y"]); +consonats = new Set(["B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"]); + +const word = function (str) { + let array = String(str).split("") + let numberOfVowlos = 0 + let numberOfConsonats = 0 + for (let i = 0; i < array.length; i++) { + if (vowlos.has(array[i].toUpperCase())) { + numberOfVowlos++ + } + if (consonats.has(array[i].toUpperCase())) { + numberOfConsonats++ + } + } + console.log(`Слово ${str} состоит из ${numberOfVowlos} гласных и ${numberOfConsonats} согласных букв`) +} +word("Check-list") \ No newline at end of file diff --git a/Homework_JavaScript/hw_2_js/HW_2_JS_6.js b/Homework_JavaScript/hw_2_js/HW_2_JS_6.js new file mode 100644 index 0000000..7832982 --- /dev/null +++ b/Homework_JavaScript/hw_2_js/HW_2_JS_6.js @@ -0,0 +1,7 @@ +// 4**. Написать функцию, которая проверяет, является ли слово палиндромом +// e.g. function isPalindrom(word) + +const isPalindrom = function (str) { + return String(str).toUpperCase() == String(str).toUpperCase().split("").reverse().join("") +} +console.log(isPalindrom("Tenet")) \ No newline at end of file diff --git a/Homework_JavaScript/hw_3_js/HW_3_JS_1.js b/Homework_JavaScript/hw_3_js/HW_3_JS_1.js new file mode 100644 index 0000000..ad92699 --- /dev/null +++ b/Homework_JavaScript/hw_3_js/HW_3_JS_1.js @@ -0,0 +1,89 @@ +// Task 1. + +// Написать функцию, которая найдет и выведет в консоль юзеров, зарегистрированных 09.10.2021 и 10.10.2021). Массив в task1.txt + +const users = [ + { + firstName: 'John', + lastName: 'Caper', + phone: '7436676737634', + registrationDate: '12.10.2021' + }, + { + firstName: 'Clark', + lastName: 'Kent', + phone: '4346676737634', + registrationDate: '16.09.2021' + }, + { + firstName: 'Tony', + lastName: 'Stark', + phone: '7436698337634', + registrationDate: '11.10.2021' + }, + { + firstName: 'Bruce', + lastName: 'Wayne', + phone: '1111176737634', + registrationDate: '09.10.2021' + }, + { + firstName: 'Star', + lastName: 'Lord', + phone: '7439374737634', + registrationDate: '10.10.2021' + }, + { + firstName: 'Kate', + lastName: 'Bishop', + phone: '7436693647634', + registrationDate: '11.10.2021' + }, + { + firstName: 'Jerry', + lastName: 'James', + phone: '7409048737634', + registrationDate: '10.10.2021' + }, + { + firstName: 'Jeremy', + lastName: 'Clarkson', + phone: '743667600289334', + registrationDate: '16.10.2020' + }, + { + firstName: 'Robert', + lastName: 'Patrik', + phone: '7436676730093', + registrationDate: '10.10.2020' + }, + { + firstName: 'Jonny', + lastName: 'Sins', + phone: '74923982737634', + registrationDate: '01.01.2021' + }, + { + firstName: 'Andrew', + lastName: 'Garfield', + phone: '743667988344', + registrationDate: '09.10.2019' + }, + { + firstName: 'Jane', + lastName: 'Foster', + phone: '74368783427634', + registrationDate: '09.10.2019' + }, + { + firstName: 'Rick', + lastName: 'Smith', + phone: '700000037634', + registrationDate: '12.10.2021' + }, +]; +const isValidate = function(date) { + return date == '09.10.2021' || date == '10.10.2021' +} +users.filter(entry => isValidate(entry.registrationDate)) + .forEach(entry => console.log(entry)) \ No newline at end of file diff --git a/Homework_JavaScript/hw_3_js/HW_3_JS_2.js b/Homework_JavaScript/hw_3_js/HW_3_JS_2.js new file mode 100644 index 0000000..a2f28f1 --- /dev/null +++ b/Homework_JavaScript/hw_3_js/HW_3_JS_2.js @@ -0,0 +1,404 @@ +// Task 2* + +// Откройте в VSCode task2.json файл. Скопируйте из него JSONку, вставьте в свой код (присвоив в переменную). +// Дан массив объектов. Каждый объект является идентификационной карточкой человека. Нам нужно хранить только уникальные значения в этом массиве. Реализуйте функцию, которая будет выполнять эту работу. + +let users = + [{ + "name": "Leanne Graham", + "username": "Bret", + "email": "Sincere@april.biz", + "address": { + "street": "Kulas Light", + "suite": "Apt. 556", + "city": "Gwenborough", + "zipcode": "92998-3874", + "geo": { + "lat": "-37.3159", + "lng": "81.1496" + } + }, + "phone": "1-770-736-8031 x56442", + "website": "hildegard.org", + "company": { + "name": "Romaguera-Crona", + "catchPhrase": "Multi-layered client-server neural-net", + "bs": "harness real-time e-markets" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Ervin Howell", + "username": "Antonette", + "email": "Shanna@melissa.tv", + "address": { + "street": "Victor Plains", + "suite": "Suite 879", + "city": "Wisokyburgh", + "zipcode": "90566-7771", + "geo": { + "lat": "-43.9509", + "lng": "-34.4618" + } + }, + "phone": "010-692-6593 x09125", + "website": "anastasia.net", + "company": { + "name": "Deckow-Crist", + "catchPhrase": "Proactive didactic contingency", + "bs": "synergize scalable supply-chains" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Patricia Lebsack", + "username": "Karianne", + "email": "Julianne.OConner@kory.org", + "address": { + "street": "Hoeger Mall", + "suite": "Apt. 692", + "city": "South Elvis", + "zipcode": "53919-4257", + "geo": { + "lat": "29.4572", + "lng": "-164.2990" + } + }, + "phone": "493-170-9623 x156", + "website": "kale.biz", + "company": { + "name": "Robel-Corkery", + "catchPhrase": "Multi-tiered zero tolerance productivity", + "bs": "transition cutting-edge web services" + } + }, + { + "name": "Chelsey Dietrich", + "username": "Kamren", + "email": "Lucio_Hettinger@annie.ca", + "address": { + "street": "Skiles Walks", + "suite": "Suite 351", + "city": "Roscoeview", + "zipcode": "33263", + "geo": { + "lat": "-31.8129", + "lng": "62.5342" + } + }, + "phone": "(254)954-1289", + "website": "demarco.info", + "company": { + "name": "Keebler LLC", + "catchPhrase": "User-centric fault-tolerant solution", + "bs": "revolutionize end-to-end systems" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Mrs. Dennis Schulist", + "username": "Leopoldo_Corkery", + "email": "Karley_Dach@jasper.info", + "address": { + "street": "Norberto Crossing", + "suite": "Apt. 950", + "city": "South Christy", + "zipcode": "23505-1337", + "geo": { + "lat": "-71.4197", + "lng": "71.7478" + } + }, + "phone": "1-477-935-8478 x6430", + "website": "ola.org", + "company": { + "name": "Considine-Lockman", + "catchPhrase": "Synchronised bottom-line interface", + "bs": "e-enable innovative applications" + } + }, + { + "name": "Kurtis Weissnat", + "username": "Elwyn.Skiles", + "email": "Telly.Hoeger@billy.biz", + "address": { + "street": "Rex Trail", + "suite": "Suite 280", + "city": "Howemouth", + "zipcode": "58804-1099", + "geo": { + "lat": "24.8918", + "lng": "21.8984" + } + }, + "phone": "210.067.6132", + "website": "elvis.io", + "company": { + "name": "Johns Group", + "catchPhrase": "Configurable multimedia task-force", + "bs": "generate enterprise e-tailers" + } + }, + { + "name": "Clementina DuBuque", + "username": "Moriah.Stanton", + "email": "Rey.Padberg@karina.biz", + "address": { + "street": "Kattie Turnpike", + "suite": "Suite 198", + "city": "Lebsackbury", + "zipcode": "31428-2261", + "geo": { + "lat": "-38.2386", + "lng": "57.2232" + } + }, + "phone": "024-648-3804", + "website": "ambrose.net", + "company": { + "name": "Hoeger LLC", + "catchPhrase": "Centralized empowering task-force", + "bs": "target end-to-end models" + } + }, + { + "name": "Leanne Graham", + "username": "Bret", + "email": "Sincere@april.biz", + "address": { + "street": "Kulas Light", + "suite": "Apt. 556", + "city": "Gwenborough", + "zipcode": "92998-3874", + "geo": { + "lat": "-37.3159", + "lng": "81.1496" + } + }, + "phone": "1-770-736-8031 x56442", + "website": "hildegard.org", + "company": { + "name": "Romaguera-Crona", + "catchPhrase": "Multi-layered client-server neural-net", + "bs": "harness real-time e-markets" + } + }, + { + "name": "Nicholas Runolfsdottir V", + "username": "Maxime_Nienow", + "email": "Sherwood@rosamond.me", + "address": { + "street": "Ellsworth Summit", + "suite": "Suite 729", + "city": "Aliyaview", + "zipcode": "45169", + "geo": { + "lat": "-14.3990", + "lng": "-120.7677" + } + }, + "phone": "586.493.6943 x140", + "website": "jacynthe.com", + "company": { + "name": "Abernathy Group", + "catchPhrase": "Implemented secondary concept", + "bs": "e-enable extensible e-tailers" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Glenna Reichert", + "username": "Delphine", + "email": "Chaim_McDermott@dana.io", + "address": { + "street": "Dayna Park", + "suite": "Suite 449", + "city": "Bartholomebury", + "zipcode": "76495-3109", + "geo": { + "lat": "24.6463", + "lng": "-168.8889" + } + }, + "phone": "(775)976-6794 x41206", + "website": "conrad.com", + "company": { + "name": "Yost and Sons", + "catchPhrase": "Switchable contextually-based project", + "bs": "aggregate real-time technologies" + } + }, + { + "name": "Clementina DuBuque", + "username": "Moriah.Stanton", + "email": "Rey.Padberg@karina.biz", + "address": { + "street": "Kattie Turnpike", + "suite": "Suite 198", + "city": "Lebsackbury", + "zipcode": "31428-2261", + "geo": { + "lat": "-38.2386", + "lng": "57.2232" + } + }, + "phone": "024-648-3804", + "website": "ambrose.net", + "company": { + "name": "Hoeger LLC", + "catchPhrase": "Centralized empowering task-force", + "bs": "target end-to-end models" + } + }, + { + "name": "Mrs. Dennis Schulist", + "username": "Leopoldo_Corkery", + "email": "Karley_Dach@jasper.info", + "address": { + "street": "Norberto Crossing", + "suite": "Apt. 950", + "city": "South Christy", + "zipcode": "23505-1337", + "geo": { + "lat": "-71.4197", + "lng": "71.7478" + } + }, + "phone": "1-477-935-8478 x6430", + "website": "ola.org", + "company": { + "name": "Considine-Lockman", + "catchPhrase": "Synchronised bottom-line interface", + "bs": "e-enable innovative applications" + } + } + ] +const isUserEquals = function (user1, user2) { + return user1.name == user2.name && + user1.username == user2.username && + user1.email == user2.email && + user1.phone == user2.phone +} + +let result = new Array() + +const addUser = function (items) { + items.forEach(element => { + if (result.find(u => isUserEquals(u, element)) == undefined) { + result.push(element) + } else { + console.log('Такой элемент уже существует.') + } + }); +} + +user = { + "name": "Leanne Graham", + "username": "Bret", + "email": "Sincere@april.biz", + "address": { + "street": "Kulas Light", + "suite": "Apt. 556", + "city": "Gwenborough", + "zipcode": "92998-3874", + "geo": { + "lat": "-37.3159", + "lng": "81.1496" + } + }, + "phone": "1-770-736-8031 x56442", + "website": "hildegard.org", + "company": { + "name": "Romaguera-Crona", + "catchPhrase": "Multi-layered client-server neural-net", + "bs": "harness real-time e-markets" + } +} + +addUser(users) +addUser(Array.of(user)) +console.log(result) \ No newline at end of file diff --git a/Homework_JavaScript/hw_3_js/HW_3_JS_2_1.js b/Homework_JavaScript/hw_3_js/HW_3_JS_2_1.js new file mode 100644 index 0000000..94f5ebe --- /dev/null +++ b/Homework_JavaScript/hw_3_js/HW_3_JS_2_1.js @@ -0,0 +1,30 @@ +// Task 2*** + +// Реализуйте считывание из JSONки из файла task2.json с помощью, например, модуля fs. для дальнейшего использования в функции, описанной в задании + +const fs = require('fs') +let fileContent = fs.readFileSync('QA_homework\\Homework_JavaScript\\hw_3_js\\task2.json', "utf8"); + +let arr = JSON.parse(fileContent) + +const isUserEquals = function (user1, user2) { + return user1.name == user2.name && + user1.username == user2.username && + user1.email == user2.email && + user1.phone == user2.phone +} + +let result = new Array() + +const addUser = function (items) { + items.forEach(element => { + if (result.find(u => isUserEquals(u, element)) == undefined) { + result.push(element) + } else { + console.log('Такой элемент уже существует.') + } + }); +} + +addUser(arr) +console.log(result) \ No newline at end of file diff --git a/Homework_JavaScript/hw_3_js/HW_3_JS_3.js b/Homework_JavaScript/hw_3_js/HW_3_JS_3.js new file mode 100644 index 0000000..7e4c493 --- /dev/null +++ b/Homework_JavaScript/hw_3_js/HW_3_JS_3.js @@ -0,0 +1,112 @@ +const enterprises = [ + { + id: 1, + name: "Предприятие 1", + departments: [ + { + id: 2, + name: "Отдел тестирования", + employees_count: 10, + }, + { + id: 3, + name: "Отдел маркетинга", + employees_count: 20, + }, + { + id: 4, + name: "Администрация", + employees_count: 15, + }, + ] + }, + { + id: 5, + name: "Предприятие 2", + departments: [ + { + id: 6, + name: "Отдел разработки", + employees_count: 50, + }, + { + id: 7, + name: "Отдел маркетинга", + employees_count: 20, + }, + { + id: 8, + name: "Отдел охраны труда", + employees_count: 5, + }, + ] + }, + { + id: 9, + name: "Предприятие 3", + departments: [ + { + id: 10, + name: "Отдел аналитики", + employees_count: 0, + }, + ] + } +] + +let currentId = 10 + +// 1. Вывести все предприятия и их отделы. Рядом указать количество сотрудников. Для предприятия посчитать сумму всех сотрудников во всех отделах. + +const task1 = function () { + + let result = enterprises.map(enterprise => { + + let departments = enterprise.departments + .map(department => `- ${department.name} (${department.employees_count} сотрудников)`) + .join('\n') + return `${enterprise.name} (${enterprise.departments + .map(department => department.employees_count) + .reduce((accumulator, curr) => accumulator + curr)} сотрудников)\n${departments}` + }).join('\n').replaceAll(/\(0 сотрудников\)/g, '(нет сотрудников)') + + console.log(result) +} + +// 2. Написать функцию, которая будет принимать 1 аргумент (id отдела или название отдела и возвращать название предприятия, к которому относится). + +const getEnterpriseName = function (departmentId) { + return enterprises.find( + enterprise => enterprise.departments.find(department => department.id == departmentId) != undefined + ).name +} + +console.log(getEnterpriseName(4)) + +// 3. Написать функцию, которая будет добавлять предприятие. В качестве аргумента принимает название предприятия + +const addEnterprise = function (enterpriseName) { + currentId++ + const newEnterprise = { + id: currentId, + name: enterpriseName, + departments: new Array() + } + enterprises.push(newEnterprise) +} + +addEnterprise('Название нового предприятия') + +// 4. Написать функцию, которая будет добавлять отдел в предприятие. В качестве аргумента принимает id предприятия, в которое будет добавлен отдел и название отдела. + +const addDepartment = function (enterpriseId, departmentName) { + currentId++ + const newDepartment = { + id: currentId, + name: departmentName, + employees_count: 0, + } + enterprises.find(e => e.id == enterpriseId).departments.push(newDepartment) +} + +addDepartment(1, 'Название нового отдела') \ No newline at end of file diff --git a/Homework_JavaScript/hw_3_js/task2.json b/Homework_JavaScript/hw_3_js/task2.json new file mode 100644 index 0000000..d729012 --- /dev/null +++ b/Homework_JavaScript/hw_3_js/task2.json @@ -0,0 +1,353 @@ +[{ + "name": "Leanne Graham", + "username": "Bret", + "email": "Sincere@april.biz", + "address": { + "street": "Kulas Light", + "suite": "Apt. 556", + "city": "Gwenborough", + "zipcode": "92998-3874", + "geo": { + "lat": "-37.3159", + "lng": "81.1496" + } + }, + "phone": "1-770-736-8031 x56442", + "website": "hildegard.org", + "company": { + "name": "Romaguera-Crona", + "catchPhrase": "Multi-layered client-server neural-net", + "bs": "harness real-time e-markets" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Ervin Howell", + "username": "Antonette", + "email": "Shanna@melissa.tv", + "address": { + "street": "Victor Plains", + "suite": "Suite 879", + "city": "Wisokyburgh", + "zipcode": "90566-7771", + "geo": { + "lat": "-43.9509", + "lng": "-34.4618" + } + }, + "phone": "010-692-6593 x09125", + "website": "anastasia.net", + "company": { + "name": "Deckow-Crist", + "catchPhrase": "Proactive didactic contingency", + "bs": "synergize scalable supply-chains" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Patricia Lebsack", + "username": "Karianne", + "email": "Julianne.OConner@kory.org", + "address": { + "street": "Hoeger Mall", + "suite": "Apt. 692", + "city": "South Elvis", + "zipcode": "53919-4257", + "geo": { + "lat": "29.4572", + "lng": "-164.2990" + } + }, + "phone": "493-170-9623 x156", + "website": "kale.biz", + "company": { + "name": "Robel-Corkery", + "catchPhrase": "Multi-tiered zero tolerance productivity", + "bs": "transition cutting-edge web services" + } + }, + { + "name": "Chelsey Dietrich", + "username": "Kamren", + "email": "Lucio_Hettinger@annie.ca", + "address": { + "street": "Skiles Walks", + "suite": "Suite 351", + "city": "Roscoeview", + "zipcode": "33263", + "geo": { + "lat": "-31.8129", + "lng": "62.5342" + } + }, + "phone": "(254)954-1289", + "website": "demarco.info", + "company": { + "name": "Keebler LLC", + "catchPhrase": "User-centric fault-tolerant solution", + "bs": "revolutionize end-to-end systems" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Mrs. Dennis Schulist", + "username": "Leopoldo_Corkery", + "email": "Karley_Dach@jasper.info", + "address": { + "street": "Norberto Crossing", + "suite": "Apt. 950", + "city": "South Christy", + "zipcode": "23505-1337", + "geo": { + "lat": "-71.4197", + "lng": "71.7478" + } + }, + "phone": "1-477-935-8478 x6430", + "website": "ola.org", + "company": { + "name": "Considine-Lockman", + "catchPhrase": "Synchronised bottom-line interface", + "bs": "e-enable innovative applications" + } + }, + { + "name": "Kurtis Weissnat", + "username": "Elwyn.Skiles", + "email": "Telly.Hoeger@billy.biz", + "address": { + "street": "Rex Trail", + "suite": "Suite 280", + "city": "Howemouth", + "zipcode": "58804-1099", + "geo": { + "lat": "24.8918", + "lng": "21.8984" + } + }, + "phone": "210.067.6132", + "website": "elvis.io", + "company": { + "name": "Johns Group", + "catchPhrase": "Configurable multimedia task-force", + "bs": "generate enterprise e-tailers" + } + }, + { + "name": "Clementina DuBuque", + "username": "Moriah.Stanton", + "email": "Rey.Padberg@karina.biz", + "address": { + "street": "Kattie Turnpike", + "suite": "Suite 198", + "city": "Lebsackbury", + "zipcode": "31428-2261", + "geo": { + "lat": "-38.2386", + "lng": "57.2232" + } + }, + "phone": "024-648-3804", + "website": "ambrose.net", + "company": { + "name": "Hoeger LLC", + "catchPhrase": "Centralized empowering task-force", + "bs": "target end-to-end models" + } + }, + { + "name": "Leanne Graham", + "username": "Bret", + "email": "Sincere@april.biz", + "address": { + "street": "Kulas Light", + "suite": "Apt. 556", + "city": "Gwenborough", + "zipcode": "92998-3874", + "geo": { + "lat": "-37.3159", + "lng": "81.1496" + } + }, + "phone": "1-770-736-8031 x56442", + "website": "hildegard.org", + "company": { + "name": "Romaguera-Crona", + "catchPhrase": "Multi-layered client-server neural-net", + "bs": "harness real-time e-markets" + } + }, + { + "name": "Nicholas Runolfsdottir V", + "username": "Maxime_Nienow", + "email": "Sherwood@rosamond.me", + "address": { + "street": "Ellsworth Summit", + "suite": "Suite 729", + "city": "Aliyaview", + "zipcode": "45169", + "geo": { + "lat": "-14.3990", + "lng": "-120.7677" + } + }, + "phone": "586.493.6943 x140", + "website": "jacynthe.com", + "company": { + "name": "Abernathy Group", + "catchPhrase": "Implemented secondary concept", + "bs": "e-enable extensible e-tailers" + } + }, + { + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "name": "Glenna Reichert", + "username": "Delphine", + "email": "Chaim_McDermott@dana.io", + "address": { + "street": "Dayna Park", + "suite": "Suite 449", + "city": "Bartholomebury", + "zipcode": "76495-3109", + "geo": { + "lat": "24.6463", + "lng": "-168.8889" + } + }, + "phone": "(775)976-6794 x41206", + "website": "conrad.com", + "company": { + "name": "Yost and Sons", + "catchPhrase": "Switchable contextually-based project", + "bs": "aggregate real-time technologies" + } + }, + { + "name": "Clementina DuBuque", + "username": "Moriah.Stanton", + "email": "Rey.Padberg@karina.biz", + "address": { + "street": "Kattie Turnpike", + "suite": "Suite 198", + "city": "Lebsackbury", + "zipcode": "31428-2261", + "geo": { + "lat": "-38.2386", + "lng": "57.2232" + } + }, + "phone": "024-648-3804", + "website": "ambrose.net", + "company": { + "name": "Hoeger LLC", + "catchPhrase": "Centralized empowering task-force", + "bs": "target end-to-end models" + } + }, + { + "name": "Mrs. Dennis Schulist", + "username": "Leopoldo_Corkery", + "email": "Karley_Dach@jasper.info", + "address": { + "street": "Norberto Crossing", + "suite": "Apt. 950", + "city": "South Christy", + "zipcode": "23505-1337", + "geo": { + "lat": "-71.4197", + "lng": "71.7478" + } + }, + "phone": "1-477-935-8478 x6430", + "website": "ola.org", + "company": { + "name": "Considine-Lockman", + "catchPhrase": "Synchronised bottom-line interface", + "bs": "e-enable innovative applications" + } + } +] \ No newline at end of file diff --git a/Homework_JavaScript/less1.js b/Homework_JavaScript/less1.js new file mode 100644 index 0000000..c8b0fdb --- /dev/null +++ b/Homework_JavaScript/less1.js @@ -0,0 +1,20 @@ +let age = 61; + + +if (typeof(age) == "number") { + if (age >= 18 && age < 60) +{ + console.log("Full content") +} +else if (age < 18) { + + console.log("Multiki") +} +else if (age >= 60) { + + console.log("Kultura") +} +else { + console.log("Good luck!") +} +} \ No newline at end of file diff --git a/Homework_JavaScript/less2.js b/Homework_JavaScript/less2.js new file mode 100644 index 0000000..4f7a58a --- /dev/null +++ b/Homework_JavaScript/less2.js @@ -0,0 +1,29 @@ +/* console.log("1 -- " + true || true) +console.log("2 -- " + true || false) +console.log(false || true) + +console.log(true && false) +console.log(true && true) */ + +let temperature = 0 +// let item_2 = 20 +// let item_3 = 50 + + +// if (item_1 > 3 || item_2 < 15 && item_3 == 50) { +// console.log("Hello") +// } else { +// console.log("Bye") +// } + +while(temperature < 40) { + + if (temperature < 10){ + console.log("temperature = ", temperature, "Cold") +} else if (temperature >= 10 && temperature < 30){ + console.log("temperature = ", temperature, "Good!") +} else { + console.log("temperature = ", temperature, "Ass!!") +} + temperature++ +} \ No newline at end of file diff --git a/Homework_JavaScript/less2_1.js b/Homework_JavaScript/less2_1.js new file mode 100644 index 0000000..a25b813 --- /dev/null +++ b/Homework_JavaScript/less2_1.js @@ -0,0 +1,10 @@ +for (let temperature = 0; temperature < 10; temperature++){ + + if (temperature < 3){ + console.log("temperature = ", temperature, "Cold") +} else if (temperature >= 3 && temperature < 7){ + console.log("temperature = ", temperature, "Good!") +} else { + console.log("temperature = ", temperature, "Ass!!") +} +} \ No newline at end of file diff --git a/Homework_JavaScript/less2_2.js b/Homework_JavaScript/less2_2.js new file mode 100644 index 0000000..b37f87f --- /dev/null +++ b/Homework_JavaScript/less2_2.js @@ -0,0 +1,22 @@ +let names = ['Kate', + 'Alex', + 'Ivan', + 'Ignat', + 'Andrey', + 'Vika'] + + let items = names.length + let count = 0 + + // console.log(items) + + while (++count < items){ + console.log(names[count]) + } +// for (item_1 of names){ + +// if (item_1 == 'Ignat'){ +// break +// } +// console.log(item_1) +// } \ No newline at end of file diff --git a/Homework_JavaScript/less3_1.js b/Homework_JavaScript/less3_1.js new file mode 100644 index 0000000..b9c20b8 --- /dev/null +++ b/Homework_JavaScript/less3_1.js @@ -0,0 +1,50 @@ +// function practice1(item_1, item_2) { + +// let mass = 'Hello!' +// console.log(mass, item_1, item_2) +// console.log(mass, item_1 + item_2) +// } + +// // practice1(11, 22) + +// function func1() { +// console.log('Hello?') +// } + +// let t1 = 10 +// let t2 = 20 + +// let t3 = 30 +// let t4 = 40 + + +// let func2 = () => console.log('Hello.') +// let func3 = (t11, t22) => {console.log('Sum = ', t11 + t22)} + +// let func4 = (t1 < t2) ? +// (tt1, tt2) => console.log('order', tt1 + tt2) : +// (tt1, tt2) => console.log('order', tt1 - tt2) ; + +// func4(t3, t4) + + +function elochka() {}; + + +elochka.prototype.fast = function () { + console.log('FAST!') +} + +elochka.prototype.green = function (sun, co2) { + console.log('Green ==', sun, 'sun', ' + ', co2, 'co2') +} + +elochka.prototype.shishki = function () { + console.log('Shishki == Elki') +} + +let forest = new elochka() + +forest.fast() +forest.green(4500, 50) +forest.shishki() \ No newline at end of file diff --git a/Homework_Postman/gr_29.postman_collection.json b/Homework_Postman/gr_29.postman_collection.json new file mode 100644 index 0000000..2f97e56 --- /dev/null +++ b/Homework_Postman/gr_29.postman_collection.json @@ -0,0 +1,130 @@ +{ + "info": { + "_postman_id": "dfc1bf32-bcb6-438e-a53a-c5c52e5c6bd2", + "name": "gr_29", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "less1", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "var person = pm.response.json();\r", + "\r", + "pm.test(\"Status code is 200\", function () {\r", + " pm.response.to.have.status(200);\r", + "});\r", + "\r", + "\r", + "let person1 = {\r", + " \"age\": \"30\",\r", + " \"family\": {\r", + " \"children\": [[\"Alex\",24],[\"Kate\",12]],\r", + " \"u_salary_1_5_year\": 4000\r", + " },\r", + " \"name\": \"Alex\",\r", + " \"salary\": 1000\r", + "}\r", + "\r", + "let item_1 = \"Alex\"\r", + "\r", + "pm.test(\"Item_1 Test\", function () {\r", + "\r", + " pm.expect(item_1).to.deep.equal(\"Alex\")\r", + " // pm.expect(tt2.salary).to.eql(1000);\r", + "});\r", + "\r", + "pm.test(\"Item_2 Person\", function () {\r", + "\r", + " pm.expect(+person.age).to.deep.equal(30)\r", + "});\r", + "\r", + "pm.test(\"Item_3 Person\", function () {\r", + "\r", + " pm.expect(person.family.children[0][1]).to.deep.equal(24)\r", + "});\r", + "\r", + "pm.test(\"Item_4 Person\", function () {\r", + "\r", + " pm.expect(person).to.have.property(\"name\")\r", + "});\r", + "\r", + "pm.test(\"Item_5 Person\", function () {\r", + "\r", + " pm.expect(person).to.deep.include({\"salary\": 1000})\r", + "});\r", + "\r", + "pm.test(\"Item_6 Person\", function () {\r", + "\r", + " pm.expect(person.family.children[1]).to.deep.include(12)\r", + "});\r", + "\r", + "pm.test(\"Item_7 Person\", function () {\r", + "\r", + " pm.expect((person.name)[1]).to.be.a(\"String\")\r", + "});\r", + "\r", + "pm.test(\"Item_8 Person\", function () {\r", + "\r", + " pm.expect(person.family.children[1]).to.be.an(\"Array\").that.include(12)\r", + "});\r", + "\r", + "pm.test(\"Item_9 Person\", function () {\r", + "\r", + " pm.expect(person.family.children[0]).to.eql([\"Alex\",24])\r", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "age", + "value": "30", + "type": "text" + }, + { + "key": "salary", + "value": "1000", + "type": "text" + }, + { + "key": "name", + "value": "Alex", + "type": "text" + }, + { + "key": "auth_token", + "value": "/s34lfgbj/Vadim/jjd909/12242kjkWpqc322823r23r3r457271evny", + "type": "text" + } + ] + }, + "url": { + "raw": "http://162.55.220.72:5005/get_test_user", + "protocol": "http", + "host": [ + "162", + "55", + "220", + "72" + ], + "port": "5005", + "path": [ + "get_test_user" + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file