You are on page 1of 93

Nadiia Khrystiuk 5:57 PM

Часто в 1 дз, багато студентів припускаються помилки і додають на гіт папку


з node_modules - це робити погано, дуже погано! Щоб цього не відбувалось, вам потрібен
файл -.gitignore який забороняє додавання папки з модулями на гіт. Локально папка з
node_modules звичайно потрібна, а ось на гіт папку з node_modules не треба додавати, і що
будь-який код з репозиторію, що скачав собі, може легко зробити npm i і тим самим
відновити все те, що було локально в node_modules.
_______________________________________________________________________
Яке завдання на етапі 1 дз? - створити, або згенерувати файл .gitignore -і додати туди
викючення node_modules
Рішення:
node_modules/*
________________________________________________
файл .gitignore - можна згенерувати і тоді вам самостійно треба розбиратися з тими
залежностями, які туди додав генератор .gitignore

 або ви можете зібрати самостійно створивши в корені проекту файл .gitignore: і


додати туди ту інформацію щодо вашого проекту, яку необхідно не завантажувати на гіт.
# коментар - цей рядок ігнорується
# не обробляти файли, ім'я яких закінчується на .a
*.a
# АЛЕ відстежувати файл lib.a, незважаючи на те, що ми ігноруємо всі файли .a за допомогою
попереднього правила
!lib.a
# ігнорувати тільки файл TODO, що знаходиться в кореневому каталозі, не відноситься до
файлів виду subdir/TODO
/TODO
# ігнорувати всі файли в каталозі build/
build/
# ігнорувати doc/notes.txt, але не doc/server/arch.txt
doc/*.txt
# ігнорувати всі .txt файли в каталозі doc/
doc/**/*.txt
├── js
│ ├── app.js
│ └── system.js
├── scss
│ ├── system.scss
│ └── theme.scss
└── node_modules <-- Убрать
│ ├── load-json-file
│ ├── lodash
│ ├── jquery
│ ├── make-error
│ ├── semantic
│ └── yargs
└── semantic.json
_____________________________________
Як ігнорувати файли, які вже відстежуються?
Якщо ви додали файл або папку в .gitignore, після того як вони потрапили до репозиторію, їх
необхідно видалити з репозиторію командою:
git rm --cached <file>
Наприклад, прибрати папку storage/framework/cache/. Зверніть увагу: спочатку відсутня сліш.
git rm -r --cached "storage/framework/cache/"
що почитати на тему - https://devacademy.ru/article/ignorirovanie-faylov-i-katalogov-v-gitЯкщо
папка на гіті вже є і є файл .gitignore теж є, але папка на гіт все одно потраплятиме,
тобто простий, але не дуже красивий метод її вирізаєте її туди локально, робите git
add ., git commit і git push. А потім локально її повернути локально, і все вона вже
більше не потраплятиме. Це працює з будь-якими файлами і з файлом .env
тежМалюночок
(38 kB)
https://desarrolloweb.com/archivoimg/general/4011.jpg
5:57
Будь ласка!!! для другої ДЗ додайте мене в КОЛЛАБОРАТОРИ!!! ))) буду дуже вдяччна, не
забувайте!!

Починаючи з другої домашньої роботи, додайте мене, будь ласка, в

колаборатори - мій нік на гіт-хабі - NadyaHristuk


Навіщо мене додавати в колаборатори - така умова здачі ваших робіт з курсу Node.js
- https://github.com/goitacademy/nodejs-homework
______________________________________________________________________
Як додати в колаборатори - заходимо на сайт https://github.com/ - відкриваємо потрібний
нам репозиторій, над кодом є панель управління і крайня справа клавіша - налаштування
(Settings) - далі - Manage access - вводимо пароль - шукаємо велику зелену клавішу - "Invite
a collaborator" - в спливашці, що з'явилася, вводимо мій нік - NadyaHristuk і натискаємо - Add
to this repository
GitHub
GitHub - goitacademy/nodejs-homework
Contribute to goitacademy/nodejs-homework development by creating an account on GitHub. (44
kB)
https://github.com/goitacademy/nodejs-homework
GitHub
GitHub: Where the world builds software
GitHub is where over 83 million developers shape the future of software, together. Contribute to
the open source community, manage your Git repositories, review code like a pro, track bugs and
feat... (490 kB)
https://github.com/
5:57
Пояснення по 1 дз
Якщо все зрозуміло, то не читаємо, якщо не зрозуміло, то може це вам допоможе
____________________________________________
Як працювати з yargs у switch
Давайте з початку - у вашій домашній роботі передбачається реалізувати методи роботи з
файлом: читання з нього всіх даних та виведення в консоль, додавання даних, видалення
даних та пошук за id. Але як ми можемо викликати ту чи іншу функцію виконання. Для цього
нам треба якось скрипт передати дані.
Для цих цілей використовується модуль yargsвін дозволяє передавати у вигляді аргументів
дані, які можуть бути оброблені всередині вашого скрипта. щоб просто запустити на
виконання код з файлу в ноді треба написати node і назву того файлу який ви хочете
запустити. У вашій дз це node index.js Але нам треба якось передати в цей файл
параметри, щоб можна було викликати на виконання конкретну функцію node index.js --
action="list" ось тут відбувається запуск файлу index.js та передача аргументу --
action="list"
як він оброблятиметься у самому скрипті
Спочатку підключаємо на початку файлу необхідний нам модуль - const argv =
require('yargs').argv; та "достаємо" з нього можливість роботи з аргументами.
Далі створюємо функцію, яка приймає аргументи - function invokeAction({ action, id, name,
email, phone }) і викликаємо її - invokeAction(argv); - якщо ми запустимо наш скрип з
аргументами node index.js --action="list" - то в функцію потрапляє прапор --action зі
значенням list далі управління передається на switch (action) { і тут відбуватиметься
пошук case 'list': // ... break; відповіді зі значенням list
аналогічно відпрацюють решта action, які ви передасте, щоразу запускаючи скрипт з різними
аргументами node index.js --action="get" --id=5Добавляємо контакт
node index.js --action="add" --name="Mango" --email="mango@gmail.com" --phone="322-22-
22"Видаляємо контакт
node index.js --action="remove" --id=3
якщо ви спробуєте викликати ваш скрипт НЕ передавши аргументи - node index.js - ви
потрапите на гілку - default: console.warn('\x1B[31m Unknown action type!');
і побачите в консолі помилку червоного кольору – з повідомленням, що це не
відомий action
Червоний колір забезпечує - \x1B[31m
Ось таким методом працює у зв'язці argv та switchЩоб у простому вигляді подивитися як це
працює можете написати якось так
// index.js
const argv = require('yargs').argv;

// TODO: рефакторить
function invokeAction({ action, id, name, email, phone }) {
switch (action) {
case 'list':
console.log('list')
break;

case 'get':
console.log('id',id)
break;

case 'add':
console.log( 'name email phone', name, email, phone)
break;

case 'remove':
console.log('id',id)
break;

default:
console.warn('\x1B[31m Unknown action type!');
}
}

invokeAction(argv);
і запустіть цей скрип із запропонованими вам методами node index.js --
action="list"Отримуємо контакт з id
node index.js --action="get" --id=5Додаємо контакт
node index.js --action="add" --name="Mango" --email="mango@gmail.com" --phone="322-22-
22"Видаляємо контакт
node index.js --action="remove" --id=3
Ну а далі вам треба прописувати методи в самому contact.js експортувати їх з файлу та
імпортувати у файлі index.js та викликати їх у відповідних case
______________________________
Як додати скрипт користувача в мій файл package.json, який запускає файл index.js?
Ось що треба записати у файлі package.json
"scripts": {
"start": "node index.js"
}
Цей код з файла package.json буде передавати керування від команди npm start на
виконання команди node index.js. І тим самим запускатиметься на виконання файл index.js
Поле «script» Можливо ви цього не знали, але npm містить поле під назвою scripts у
файлі package.json проекту для того, щоб робити такі команди, як npm test, що фактично
виконує вміст поля scripts.test, і npm start, що викликає інструкції з поля scripts. start.
npm test і npm start — це лише зручні посилання для npm run test і npm run start. За
допомогою npm run ... можна виконати будь-який вміст будь-якого поля
всередині scripts.________________________________
npm – головні скрипти
npm - головні скрипти - такі як запуск, зупинка, перезавантаження, встановлення, версія або
тест не потребує виконання команди. Ці сценарії та деякі інші описані у документації npm. І
виконуються вони через написання директиви npm та вказівки самої команди – наприклад.
npm start
Інші користувацькі скрипти npm, щоб викликати вам потрібно додати run перед ім'ям
скрипта npm run dev npm run dev
Абсолютно у всіх розробників знайомство з nodejs починається з того, що після кожної зміни
потрібно перезавантажувати сервер. Тому виникає питання, як зробити так, щоб сервер
перевантажувався автоматично. Найпопулярніший варіант - це nodemon. Тобто ідея
полягає в тому, що в development оточенні ми хочемо, щоб nodemon стежив за файлами, які ми
змінюємо і просто перезапускав сервер, якщо ці файли відносяться до сервера. Необхідно
встановити локально в наш проект як devDependencies nodemon.
npm i -D nodemon
або
yard add nodemon
Тепер у package.json додамо команду для нього.
"scripts": {
"dev": "nodemon index.js"
}
Тепер у консолі давайте запустимо його командою
npm run devЯк ми бачимо, він запустився. Нам вийшло, що він увімкне всі файли в нашій
папці і запускає команду node index.js при зміні будь-якого файлу. Тепер, якщо ми змінимо
наш index.js, то nodemon перезапустить сервер автоматично. Разом у файлі package.json
повинно бути додано два скрипти:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
В 1 ДЗ СКРИПТИ ЗАПУСКАТИ НЕМА СЕНСУ - ВИ НІЧОГО НЕ ПОБАЧИТЕ!!! ВОНИ У ВАС
НЕ ВИКОНАЮТЬСЯ ПРАВИЛЬНО!! Ви зможете з ними нормально працювати лише з 2
дз!! ЯКЩО ЗАПУСТИТи СКРИПТИ зараз - ТО ОТРИМАЄТЕ ПОМИЛКУ - чому, тому що ви
викликає index.js без аргументів і потрапляєте у гілку
default:
console.warn('\x1B[31m Unknown action type!');
І ЇЇ Ж ПОБАЧИТЕ В КОНСОЛІ!
___________________________________________________________
Що почитати- https://habr.com/ru/company/ruvds/blog/458504/
Хабр
13 приёмов работы с npm, которые помогают экономить время
Каждый день миллионы разработчиков, создавая свои JavaScript-приложения, обращаются
к npm (или к Yarn). Выполнение команд наподобие npm init или npx create-react-app стало
привычным способом начала... (41 kB)
https://habr.com/ru/company/ruvds/blog/458504/
5:57
_____________________________________________________
Яка різниця між const fs = require('fs') та fs = require('fs').promises;
Спочатку сам модуль був написаний з використанням callback функцій і викликався через
const fs = request("fs");
Далі js розвивався і до модулю додали підтримку промісів
Тепер можна використовувати функції, але працювати з ними не через колбаки, а через
проміси. Відповідно, треба підключити роботу з промісами
const fs = require('fs').promises
Зараз вже працюють, не через проміси, а через обгортку над промісами async/await. Це
скорочує код і такий код читати легше
Якщо вирішили використовувати колбеки, підключаєте бібліотеку без промісів.Хабр
5:57
Що тут потрібно зробити? - // TODO: задокументировать каждую функциюTODO (to do від
англ. try to do sth - спробувати зробити) - поширений тип позначки в коментарях вихідних
текстів програм, документації і т. д., що показує розробнику місце, де слід продовжити
роботу (виправити помилку або неточність, додати функціональність, врахувати якийсь
специфічний випадок тощо).
TODO коментарі
Під час написання коду дуже часто виникає ситуація, коли ви помітили будь-який недолік у
коді, який не настільки критичний, щоб правити його прямо зараз, але дуже бажано
виправити його в майбутньому. Щоб потім про них не забути, в таких місцях можна
залишати коментарі, передуючи їх токеном TODO з двокрапкою:
// TODO: тут потрібно оптимізувати код
Тоді всі коментарі, на початку яких стоїть TODO, виводитимуться в одному вікні Task List.
Для відображення таких коментарів у списку, що випадає, у цьому вікні виберіть
"Comments".Коментарі з усіх файлів проекту збиратимуться в одному місці. Подвійний клік
на будь-який з рядків у цьому списку відразу переносить вас у відповідне місце у коді. Такий
собі план розробки, якщо немає інших більш пріоритетних завдань.Інші коментарі, подібні
до TODO
TODO – зміна, яку необхідно внести в майбутньому, але не обов'язково для надсилання
продукту. Зазвичай це очищення коду або рефакторинг коду
BUG - наведений нижче код містить помилку
HACK - наведений нижче код є тимчасовим вирішенням існуючої проблеми
FIXME - наведений нижче код не працює за призначенням та потребує
виправлення.Виберіть у Visual Studio меню Tools - Options - Environment - Task List. Там ви
побачите список усіх доступних за замовчуванням токенів, а також можете додати свої. Для
кожного токена можна задати один з трьох пріоритетів (має сенс при великій кількості
коментарів): низький (у списку буде відображатися як синя стрілка вниз), середній (ніякої
піктограми не відображається) і високий (червоний знак оклику).
(https://learn.microsoft.com/ru-ru/visualstudio/mac/task-comments?view=vsmac-2022)Хочу
зауважити, що подібний функціонал підтримує будь-яке сучасне середовище розробки, будь
то Eclipse або IntelliJ Idea. Причому буває навіть не обов'язково писати todo великими
літерами і не потрібно ставити двокрапку.
// todo виправити найближчим часом
Коментування коду - // TODO: задокументировать каждую функцию
- https://learn.javascript.ru/comments

Іноді при написанні коду вам необхідно буде забезпечити його поясненнями,

призначеними тільки для людей , а не для комп'ютера. Можливо, це буде якесь


послання до себе з минулого (до Майбутнього Вас!) з приводу тієї чи іншої речі у
програмному коді. А може, це буде просто вказівка, що запустити потрібно лише таку
частину коду, а інше слід опустити. Словом, у будь-якому випадку вам необхідно буде

вдатися до допомоги коментарів. Коментарі використовуються для додавання

підказок, нотаток , пропозицій або попереджень. Вони можуть спростити читання та

розуміння коду. Також вони можуть бути використані для запобігання


виконання коду (цей прийом практикується при налагодженні коду).Приклад коментування
коду:
/*
###### ### ######## ###### ####### ######## ## ## ###### ####### ##
## ## ## ### ## ## ######## ######
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ###
### ### ### ## ## ### ## ## ## ## ##
## ## ## ## ## ## ## ## ## #### ## ## ##
#### #### #### #### ## ## #### ## ## ## ##
## ## ## ## ## #### ## ## ######## ## ## ## ## ##
### ## ## ### ## ## ## ## ## ## ## ## ######
## ######### ## ## ## ## ## ## ## ## ## ## ## ##
## ## ## ######### ## #### ## ## ##
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ### ## ## ## ##
###### ## ## ## ###### ####### ## ## ## ###### ####### ##
## ## ## ## ## ## ## ######## ######
*/

//
##========================================================================================
// ##
##
// ## Put update categories
##
// ##
##
//
##========================================================================================

// Function to add two numbers


function addTwoNumbers(x, y) {
let sum = x + y;
return sum;
}
learn.microsoft.com
Комментарии к задачам - Visual Studio for Mac
Добавление комментариев к задаче в код
5:57
По 1 дз - трохи теорії, часто тут трохи плутанина в головах
Давайте поговоримо про базовий JS
____________________________-

1. Callback
Що таке колбеки - "У функції, які виконують будь-які асинхронні операції, передається
аргумент callback - функція, яка буде викликана після завершення асинхронної дії"
коли вони використовуються? - коли є «асинхронність» (коли якийсь процес буде завершено
не зараз, а потім)
function НазваФункції (аргументи, callback) {
......(якийсь код)
}
Тепер робота із самою функцією колбека
function НазваниеФункции (аргументы, function(error, data) {
if (error) {
// обробляємо помилку
} else {
// успішно виконано
}
});
такий підхід називається "колбек з першим аргументом-помилкою" ("error-first callback").
Правила такі:
Перший аргумент функції callback зарезервований помилки. У цьому випадку виклик має
такий вигляд: callback(err).
Другий та наступні аргументи — для результатів виконання. У цьому випадку виклик має
такий вигляд: callback(null, result1, result2…).
Одна і та ж функція callback використовується і для інформування про помилку, і передачі
результатів.
тепер те, як це виглядає стосовно вашої 1 дз і до першої функції
function listContacts() {
fs.readFile(contactsPath, (err, data) => {
if (err) return console.error(err.message);
console.table(JSON.parse(data.toString()));
});
}
це якщо ми збираємося в основному файлі просто викликати функцію listContacts()
Якщо ви хочете повернути дані і вже в основному файлі та обробити та вивести їх у
консоль, то
function listContacts() {
fs.readFile(contactsPath, (err, data) => {
if (err) return console.error(err.message);
return data;
});
return JSON.parse(list);
}
тоді в основному файлі ви можете викликати listContacts().then(data =>
console.table(data)___________________________________________
2. Promises
Потім еволюція дійшла до промісів
const fs = require('fs').promises

1. Код, якому треба зробити щось асинхронно, створює об'єкт promise та повертає його.
promise.then навішує обробники на успішний результат чи помилку
Якщо черговий then повернув проміс, то далі по ланцюжку буде передано не сам цей
проміс, а його результат.
Якщо then повертає проміс, то до його виконання може пройти деякий час, частина
ланцюжка, що залишилася, буде чекати.
Тобто логіка досить проста::

 У кожному then ми отримуємо поточний результат роботи.


 Можна його обробити синхронно та повернути результат (наприклад, застосувати
JSON.parse). Або ж, якщо потрібна асинхронна обробка – ініціювати її та повернути
проміс.
При виникненні помилки – вона відправляється до найближчого обробника onRejected.
Такий оброблювач потрібно поставити через другий аргумент .then(..., onRejected) або,
що те саме, через .catch(onRejected).
Щоб зловити всілякі помилки, які виникнуть під час завантаження та обробки даних,
додамо catch в кінець ланцюжка
promise.then(onFulfilled, onRejected)
приклад першої функції з дз на чистих промісах
function listContacts() {
readFile(contactsPath,'utf-8')
.then(data => console.log(JSON.parse(data))
.catch(err => console.log(err))
}
Якщо збираємося повернути дані до основного файлу
function listContacts() {
const list = readFile(contactsPath,'utf-8')
.then(data => return JSON.parse(data))
.catch(err => console.log(err))
return list
}
_____________________________
3. Async/awaitІснує спеціальний синтаксис для роботи з промісами, який називається
async/await. Він напрочуд простий для розуміння та використання.
По суті, це просто «синтаксичний цукор» для отримання результату промісу, наочніший,
ніж promise.then.
Щоб переписати функцію на промісах за допомогою async/await:

1. Нам потрібно замінити виклики .then на await.


2. І додати ключове слово async перед оголошенням функції.
async function listContacts() => {
const res = await readFile(contactsPath);
console.log(res)
}
Помилки можна ловити, використовуючи try..catch, як із звичайним throw
У разі помилки виконання try переривається і управління стрибає на початок блоку catch.
Блоком try можна обернути кілька рядків:
async function listContacts() {
try {
const data = await fs.readFile(contactsPath);
const result = JSON.parse(data);
console.table(result);
} catch (error) {
console.log(error);
}
}
Якщо збираємося повернути дані до основної функції
async function listContacts() {
try {
const data = await fs.readFile(contactsPath);
const result = JSON.parse(data);
return result;
} catch (error) {
console.log(error);
}
}
Що додатково почитати:
https://habr.com/ru/company/skillbox/blog/458950/
Хабр
Разбираем Async/Await в JavaScript на примерах
Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await —
удобный способ написания асинхронного кода. До появления этой возможности подобный
код писали с использованием... (40 kB)
https://habr.com/ru/company/skillbox/blog/458950/
5:57

Зверніть увагу

// console.log(req); - по завершенні розробки НЕ забувайте видаляти

закоментований код і console.log


5:57
Трохи аналізу коду по 1 дз
_________________________________________________
Приклад для аналізу з return з 1 дз
async function listContacts() {
try {
.........
console.table(result);
return result;
} catch (error) {
console.log(error);
}
}
/// та у файлі index.js /
listContacts();
Директива return - потрібна, тільки якщо ви хочете щось передати з функції, повернути з неї
щось і передати далі. Але в даному прикладі ми всі дані, які нам потрібні, виводимо в
консоль. А функції listContacts() ніяк повертаються дані не обробляємо, отже це зайвий код.
____________________
Приклад, коли мало сенс повертати дані.
async function listContacts() {
try {
.........
return result;
} catch (error) {
console.log(error);
}
}

/// та у файлі index.js /


listContacts().then(data=>console.table(data));
Це дрібниці, але з них складається враження про розуміння Вами того, що ви пишете.
_________________________________________
є ось такий шматочок коду
try {
const response = await fs.readFile(contactsPath, (err) => {
if (err) return console.log(err.message);
});
let contacts = JSON.parse(response);
return contacts;
} catch (err) {
console.error(err.message);
}

 тут застосований стиль з колбек функцій, async/await і так само конструкція try/catch для
вилову помилок, - це надмірно.
Чому -
1) Почнемо з if(err) return console.log(err.message); - тут спірна конструкція -
console.log(err.message) - не може бути повернутий з if через директиву return, тому що буде
виконаний, як тільки буде викликаний, значить у return - нічого не потрапить і в const
response - буде присвоєно - undefined . Отже, ми не отримаємо очікуваної помилки, а
отримаємо у відповідь undefined, який і повернемо далі. Тут було б правильніше просто
повернути помилку if (err) return err.message;
Тепер у нас конструкція
try {
const response = await fs.readFile(contactsPath, (err) => {
if (err) return err.message;
});
let contacts = JSON.parse(response);
return contacts;
} catch (err) {
console.error(err.message);
}
2) fs.readFile(contactsPath, (err) => {
if (err) return err.message;
}); - це функція колбека, тому що є очікування відповіді, після того, як буде виконана
функція, і в функцію, яка повертає значення, в даному прикладі ми очікуємо тільки помилку
- (err) => {
Але є вказівка на директиву - await перед await fs.readFile - яка призведе до того, що
частина, яка відноситься до колббек функції, не буде виконана і буде проігнорована. Тому
що якби цей коллбек працював, то без явного повернення з нього значення response, у
змінну const response нічого не присвоїлося б. Тобто якби тут працював колббек, то функція
мала б виглядати ось так.
try {
const response = await fs.readFile(contactsPath, (err, data) => {
if (err) return err.message;
return data;
});
let contacts = JSON.parse(response);
return contacts;
} catch (err) {
console.error(err.message);
}
Але оскільки відбувається присвоєння результату читання файлу в змінну - const response =
await fs.readFile(contactsPath, то це означає, що частина з колбеком просто ігнорується і
означає обробка помилки
(err) => {
if (err) return err.message;
}
Ніколи не буде викликана і ніколи не оброблятиме помилку, і значить її можна видалити.
Після скорочення наш код вийде
try {
const response = await fs.readFile(contactsPath);
let contacts = JSON.parse(response);
return contacts;
} catch (err) {
console.error(err.message);
}
По поліпшенням/оптимізації до 1 ДЗ:

 У вас повторюються функції читання з файлу та перетворення даних та запис у файл. Їх


можна винести як окремі функції, це ніким не забороняється))
5:57
__________________________________________________
Про всяк випадок давайте обговоримо такий момент:
додавання нового контакту, без методу push().
function addContact(name, email, phone) {
fs.readFile(contactsPath, { encoding: 'utf8' }, (err, data) => {
if (err) { console.log(err.message) }
const contacts = JSON.parse(data)
const contactsNew = {id: shortid.generate(), name, email, phone }
const contactsList = JSON.stringify([contactNew, ...contacts], null, '\t')

fs.writeFile(contactsPath, contactsList, (err) => { if (err)


console.error(err) })
})
}
try {
addContact()
} catch (error) {
next(error)
}
При класичному push(), ви очікуєте побачити такий запис - contacts.push(contactNew)
- у прикладі зробили елегантніше -
"Використання оператора spread
Використання оператора spread не обмежується передачею параметрів функції. Декілька
прикладів його корисного використання:
Клонування властивостей масивів
var arr = ['will', 'love'];
var data = ['You', ...arr, 'spread', 'operator'];
console.log(data); // ['You', 'will', 'love', 'spread', 'operator']
"
http://jsraccoon.ru/es6-spread-rest
https://ru.hexlet.io/courses/js-arrays/lessons/spread-operator/theory_unit
const contactsList = JSON.stringify([
contactNew, ...contacts], null, '\t') - ось місце, де робиться спред замість push()
Зображення
jsraccoon.ru
ES6: Операторы Spread и Rest
Новый оператор ... называется spread (распростанение, расширение) или rest (остаток) в
зависимости от того, где и как он используется. (383 kB)
http://jsraccoon.ru/es6-spread-rest
Хекслет
Spread-оператор и создание новых массивов / JS: Массивы
Spread-оператор и создание новых массивов / JS: Массивы: Научиться применять spread-
оператор (оператор "расширения") для массивов. (122 kB)
https://ru.hexlet.io/courses/js-arrays/lessons/spread-operator/theory_unit
5:57
Інформацію, яку я викладаю, тут я намагаюся консолідувати і викласти всю на гіт
- https://github.com/NadyaHristuk/node.js_additional-materials
малюночок
GitHub
GitHub - NadyaHristuk/node.js_additional-materials
Contribute to NadyaHristuk/node.js_additional-materials development by creating an account on
GitHub. (131 kB)
https://github.com/NadyaHristuk/node.js_additional-materials
(27 kB)
https://www.expertcodelab.com/assets/front/img/technologies/1604175195.png
5:57
Розширення, яке підказує та полегшує написання коду. - Але краще все ж тренуватись
набирати код самостійно.
https://marketplace.visualstudio.com/items?itemName=TabNine.tabnine-
vscodemarketplace.visualstudio.com
marketplace.visualstudio.com
Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more -
Visual Studio Marketplace
Extension for Visual Studio Code - JavaScript, Python, Java, Typescript & all other languages - AI
Code completion plugin. Tabnine makes developers more productive by auto-completing their
code.

Nadiia Khrystiuk 1:39 PM


https://training.epam.ua/Events/Details/4?lang=ua
training.epam.ua
EPAM Марафон ІТ-технологій 2022
Це спеціальний формат ЕРАМ University, до якого можуть долучитися всі бажаючі з базовими
знаннями та навичками написання коду. Учасники зможуть заглибитися в розробку власного
проєкту та крок за кроком з допомогою експертів ЕРАМ пройти увесь шлях до готового додатку з
нуля. (Not automatically expanded because 3 MB is too large. You can expand it anyway or open it in a
new window.)

Nadiia Khrystiuk 3:42 PM


нагадую
Будь ласка!!! для другої ДЗ додайте мене в КОЛЛАБОРАТОРИ!!! ))) буду дуже вдяччна, не
забувайте!!

Починаючи з другої домашньої роботи, додайте мене, будь ласка, в колаборатори - мій нік

на гіт-хабі - NadyaHristuk
Навіщо мене додавати в колаборатори - така умова здачі ваших робіт з курсу Node.js
- https://github.com/goitacademy/nodejs-
homework______________________________________________________________________

Як додати в колаборатори - заходимо на сайт https://github.com/ - відкриваємо потрібний нам


репозиторій, над кодом є панель управління і крайня справа клавіша - налаштування (Settings) - далі
- Manage access - вводимо пароль - шукаємо велику зелену клавішу - "Invite a collaborator" - в
спливашці, що з'явилася, вводимо мій нік - NadyaHristuk і натискаємо - Add to this
repositor_______________________________________________________________________________
_________________________________

Навіщо вам потрібні гілки? і навіщо мене додавати до колабораторів.


Це наближений варіант роботи над проектом реального проекту.
Зазвичай у проекті є багато гілок, кожну "фічу" допрацьовують в окремій гілці, потім роблять пул-
реквест на злиття з основною гілкою. Ваш тим-лід перевіряє ваш код і зливає з основною гілкою,
або пише зауваження та відправляє на доопрацювання.
Дз зроблено за таким принципом, що ви від роботи до роботи додаєте "фічі" та розширюєте
основний проект. Кожну дз ви робите в окремій гілці, і робите пул-реквест додавання цього коду в
основну гілку. Я ваш "тим-лід" який на час курсу з Node.js, перевіряю ваш пул-реквест, якщо все
добре, я додаю ваш код в основну гілку. Якщо є зауваження, я вам з відписую в пул-реквесті.
А в основній гілці у вас завжди найактуальніший код.
Малюночок
GitHub
GitHub - goitacademy/nodejs-homework
Contribute to goitacademy/nodejs-homework development by creating an account on GitHub. (44 kB)
https://github.com/goitacademy/nodejs-homework
GitHub
GitHub: Where the world builds software
GitHub is where over 83 million developers shape the future of software, together. Contribute to the open
source community, manage your Git repositories, review code like a pro, track bugs and feat... (490 kB)
https://github.com/
(195 kB)
https://isqua.ru/blog/2017/04/12/kak-otkryt-pull-riekviest-v-github-i-nie-oblazhatsia/open-pr__open-
form_cover.png

maks stair 4:00 PM


was added to ментор-христюк by Nadiia Khrystiuk. Also, Андрей Крикун and 2 others joined.
October 20th, 2022

Nadiia Khrystiuk 12:57 PM


цикл приемки работ - делаем ветку от мастера, делаем задачу - оптавляем ветку на проверку - я ее
сливаю с основной, вы делаете пул- к вам приходят все обновления из основной ветки и вы от нее
снова делаете ветку под 3 дз.
для меня вообще не важно будете вы локально удалять ветки или нет

Kostiantyn Yevdokymov 2:25 PM


joined ментор-христюк along with Анна Шляпкина.
October 22nd, 2022

Nadiia Khrystiuk 9:26 PM

Доброго дня! Якщо я сьогодні не своєчасно прийняла дз, то вибачаюсь. Також могла

забути злити гілки. Вибачте за незрочності, ящо я прийняла дз, то злийте гілки самі.

Сподіваюсь на розуміння і всім мирного неба!


October 23rd, 2022

Nadiia Khrystiuk 11:02 AM


Хтось питав про версії пакетів ноди. Так от, - нема постійних і самих кращіх пакетів для ноди.
Просто команда при розробці спочатку працювала з 14, потім вся команда домовлються, і
переходять на 16, змінюючи всі версії пакетів для 16 і т.д. В старих проектах, які давно завершили
розробку там може буди и 10 і 12 версія, але там вже ніхто нічого не буде виправляти. Зазвичай
намагаються проацювати з тою версією, яка зараз LTS. Також розробники на своему компі мають
декілька різних версій і в залежності від проекту підключають різні версії Node. NVM - спеціальна
система для роботи з різними версіями ноди.

1
October 24th, 2022

Nadiia Khrystiuk 12:28 PM


я дуже вас прошу, НЕ ЗАПУСКАЙТЕ 1 дз через NODEMON!!! або запускайте, но тільки не питайте
чого циклиться код, чому замикає функції. ТОму що 1 дз НЕ РАЗРАХОВАНА на роботу з
NODEMON.
Тобто частина функці так, будуть працювати, а частина НІ!!! і все що можна зробити - переписати
бібліотеку - NODEMON. Або створити свою!!!
ну 1 дз, це не НОДА, це тільки підводяща дз. Тут від ноди тільки іморт та єкспорт файлів.
Як казав Репета - не фантазуйте, робіть те що написано в ТЗ) (edited)

3 replies
Last reply 2 months agoView thread
October 25th, 2022

Nadiia Khrystiuk 8:34 PM


Доброго дня! Якщо щось не приходить у відповідях в ДЗ, або не запускається, або не працює, будь
ласка одразу пишить тут мені в Слак з питаннями, щоб ми могли зізвонитись в зумі та виправити
помилки. Тому що, коли ви здаєте дз на перевірку та пишите, що воно не працює, то все що я можу
сама скачати код, сама виправити помилки. А що далі? ви так і не знаєте чому не працювало...

Nadiia Khrystiuk 9:49 PM


Воскобойников Дмитро - чи є ви в цьому каналі?

2 replies
Last reply 2 months agoView thread

Dmitriy Voskoboynikov 9:49 PM


was added to ментор-христюк by Denys Kuz.
Nadiia Khrystiuk 9:50 PM
нагадую
Будь ласка!!! для другої ДЗ додайте мене в КОЛЛАБОРАТОРИ!!! ))) буду дуже вдяччна, не
забувайте!!

Починаючи з другої домашньої роботи, додайте мене, будь ласка, в колаборатори - мій нік

на гіт-хабі - NadyaHristuk
Навіщо мене додавати в колаборатори - така умова здачі ваших робіт з курсу Node.js
- https://github.com/goitacademy/nodejs-
homework______________________________________________________________________

Як додати в колаборатори - заходимо на сайт https://github.com/ - відкриваємо потрібний нам


репозиторій, над кодом є панель управління і крайня справа клавіша - налаштування (Settings) - далі
- Manage access - вводимо пароль - шукаємо велику зелену клавішу - "Invite a collaborator" - в
спливашці, що з'явилася, вводимо мій нік - NadyaHristuk і натискаємо - Add to this
repositor_______________________________________________________________________________
_________________________________

Навіщо вам потрібні гілки? і навіщо мене додавати до колабораторів.


Це наближений варіант роботи над проектом реального проекту.
Зазвичай у проекті є багато гілок, кожну "фічу" допрацьовують в окремій гілці, потім роблять пул-
реквест на злиття з основною гілкою. Ваш тим-лід перевіряє ваш код і зливає з основною гілкою,
або пише зауваження та відправляє на доопрацювання.
Дз зроблено за таким принципом, що ви від роботи до роботи додаєте "фічі" та розширюєте
основний проект. Кожну дз ви робите в окремій гілці, і робите пул-реквест додавання цього коду в
основну гілку. Я ваш "тим-лід" який на час курсу з Node.js, перевіряю ваш пул-реквест, якщо все
добре, я додаю ваш код в основну гілку. Якщо є зауваження, я вам з відписую в пул-реквесті.
А в основній гілці у вас завжди найактуальніший код.
Малюночок
GitHub
GitHub - goitacademy/nodejs-homework
Contribute to goitacademy/nodejs-homework development by creating an account on GitHub. (44 kB)
https://github.com/goitacademy/nodejs-homework
GitHub
GitHub: Where the world builds software
GitHub is where over 83 million developers shape the future of software, together. Contribute to the open
source community, manage your Git repositories, review code like a pro, track bugs and feat... (490 kB)
https://github.com/
(195 kB)
https://isqua.ru/blog/2017/04/12/kak-otkryt-pull-riekviest-v-github-i-nie-oblazhatsia/open-pr__open-
form_cover.png
9:53
По 2 дз :
 в бойлерплейті даний метод PATCH а в ДЗ вимагають прописати PUT . чи варто
перейменовувати метод на PUT?
 У разі 2 дз - немає значення - що візьмете - те й добре.
Якщо допитувати.
"PATCH використовується для часткової зміни ресурсу. PUT створює новий ресурс або замінює
подання цільового ресурсу, даними представленими в запиті.
Іншими словами, в PATCH вкладений об'єкт містить набір інструкцій, що описують, як ресурс, що
знаходиться на вихідному сервері, повинен бути модифікований для створення нової версії. А
в PUT міститься нова версія ресурсу цілком.
На відміну від PUT, PATCH не ідемпотентний, це має на увазі, що успішні ідентичні PATCH запити
можуть мати відмінні ефекти. Однак, можливо, видавати запити PATCH таким чином, щоб вони були
ідемпотентні..
.....
UPDATE
PATCH не є ідемпотентним (однопідсумковим), т.к. до нього можна вставити інструкцію додавання
елемента. Тоді повторний запит додасть його ще раз. А ось PUTпросто перезаписав би ресурс цілком
(знову), тобто повторний запит не призводить до різних результатів. Інші приклади: GET запит
ідемпотентний: скільки б разів ти не просив у Google деякий запит, Google поверне тобі той самий
результат. POST не ідепотентний: він може вставляти в базу новий рядок щоразу."
Малюночок
(37 kB)
https://www.devopsschool.com/blog/wp-content/uploads/2020/04/put-vs-post-patch.jpg
9:54
___________________________________________
Валідацію додавання та оновлення можна виділити у дві окремі схеми. Щоб при додаванні запису
обов'язково запитувалися ВСІ поля для заповнення. А при оновленні контактів достатньо, щоб
оновилося значення хоча б одного з полів, записи яка вже є в базі даних..

 при валідації контактів, які приходять до вас для оновлення, необхідно переконатися, що до
вас прийшло хоча б одне поле на оновлення
const schemaUpdate = Joi.object({
name: Joi.string()
email: Joi.string()
phone: Joi.string()
}).min(1) - треба дописати - .min(1) - що мінімально прийде хоча б одне поле на оновлення
______________________________________________
const schemaUpdate = Joi.object({
name: Joi.string()
email: Joi.string()
phone: Joi.string()
})
.or("name", "email", "phone") що мінімально прийде хоча б одне поле на оновлення
.or("name", "email", "phone") або .min(1); - робить одне й те саме.
___________________________
Node.js + Joi, як відображати власні повідомлення про помилки?
firstName: Joi.string().message("Your custom message")
якщо необхідно більш спеціалізоване форматування помилки
- ось приклад як робити контекстно-залежне шаблонування / форматування повідомлень,
export const categorySchema = Joi.object({
mobile: Joi.string().trim().regex(/^[6-9]\d{9}$/).required().messages({
"string.base": `"" should be a type of string`,
"string.empty": `"" must contain value`,
"string.pattern.base": `"" must be 10 digit number`,
"any.required": `"" is a required field`
}),
password: Joi.string().trim().required().messages({
"string.base": `"" should be a type of 'text'`,
"string.pattern.base": `"" must be 10 digit number`,
"any.required": `"" is a required field`
}),
}).required();
Використання шаблонів
https://github.com/hapijs/joi/blob/master/lib/types/string.js#L688 тут надан перелік варіантів того, як
можно формувати помилку.
Малюночок
GitHub
joi/string.js at master · hapijs/joi
The most powerful data validation library for JS. Contribute to hapijs/joi development by creating an
account on GitHub. (47 kB)
https://github.com/hapijs/joi/blob/master/lib/types/string.js#L688
(493 kB)
https://miro.medium.com/max/700/1*ewb86Z_1_DyB-rnyPhd_aA.png
9:55
_______________________________________________________________________________
Якщо вам складно і погано дається в розумінні як зробити 2 дз - може вам допоможуть ці
посилання
https://lo-victoria.com/build-a-rest-api-with-nodejs-routes-and-controllers
https://developer.mozilla.org/ru/docs/Learn/Server-side/Express_Nodejs/routes
https://metanit.com/web/nodejs/7.1.php
https://monsterlessons.com/project/lessons/express-router
Articles by Victoria Lo
Build a REST API with Node.js: Routes and Controllers
Hello friends! Welcome to the 2nd article of the Let's Build a Node.js REST API Series! In this article, we
will continue from where we left off in Designing and Planning your API and start creating some routes and
controllers for our T-API! What are... (48 kB)
https://lo-victoria.com/build-a-rest-api-with-nodejs-routes-and-controllers
developer.mozilla.org
Учебник Express часть 4&colon; Маршруты и контроллеры - Изучение веб-разработки | MDN
В этом уроке мы настроим маршруты (код обработки URL) с "фиктивными" функциями-
обработчиками для всех конечных точек ресурса, которые нам понадобятся на веб-сайте
LocalLibrary. По завершении мы получим модульную структуру для нашего кода обработки
маршрута, который будет расширен реальными функциями-обработчиками в следующих статьях. У
нас также будет хорошее понимание того, как создавать модульные маршруты с помощью Express!
https://developer.mozilla.org/ru/docs/Learn/Server-side/Express_Nodejs/routes
metanit.com
Node.JS | Паттерн MVC. Контроллеры
Паттерн MVC в Node.js, основные компоненты, определение системы маршрутизации и
контроллеров
monsterlessons.com
Express router
В этом уроке мы реализуем добавление, обновление и удаление наших исполнителей с помощью
express router. Также мы познакомимся с такой полезной утилитой как Postman.
9:55
________________________________
Morgan, що за звір?, І з чим його їдять.
const logger = require('morgan')
morgan бібліотека для логування. Вона підключається як прошарок (middleware)
const formatsLogger = app.get('env') === 'development' ? 'dev' : 'short' - дозволяє виводити
логування або у варіанті 'dev' 'short' - залежно від стадії розробки перевірка -
'development' чи ні.

app.use(logger(formatsLogger))
Що таке логування - коли ви будете робити до вашого API (це ваш сервер) запити через Постмен, то
в консолі, ви будете бачити, що ось такого типу
info: ::1 - - [16/Feb/2018:12:37:44 +0000] "GET /logout HTTP/1.1" 200 34 "-" "Mozilla/5.0
(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132
Safari/537.36"
timestamp=2018-02-16T12:37:44.421Z
І ось ця інформація і називається – логування

 У чому сенс - ми робимо запит, запит проходить через цей прошарок, і цей прошарок надсилає в
консоль інформацію про запит - коли, яка, на яку адресу, який код відповіді. Або повідомляє, що
сталася помилка
 Для чого це треба? Тому що тут ви самі собі надсилаєте запити. Але зазвичай ви на сервері просто
бачите, як користувачі з різних точок світу надсилають запити на сервер, і ви бачите які запити
приходять, як їх багато, які відповіді - позитивні чи помилки. Це такий журнал спостереження за
роботою сервера. Що б потім, коли щось не так піде, ви піднімаєте такий журнал і дивіться, що ось
після запиту на такий-то роут, у такий час з такими параметрами - ваш сервер помер. Отже, там у
нас проблеми. Можна не в консоль писати, можна писати у файл
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), { flags:
'a' })

app.use(morgan('combined', { stream: accessLogStream }))


Це з прикладу самої бібліотеки, якщо використовуватимете, тільки вари замініть.Малюночок
(11 kB)
https://coralogix.com/wp-content/uploads/2020/05/Morgan-npm-1024x586.png
9:55
_________________________________
Якщо код весь підсвічується червоним і .eslintrc лаявся на подвійні лапки і ; ???

 Відповідь - У файлі .eslintrc.js, як властивість rules дописуєш:


"quotes": [2, "double", { "avoidEscape": true }]
______________________________________
Відео, по тому, як працювати з Postmenhttps://www.youtube.com/watch?v=A_jGdrGRLd0
https://www.youtube.com/watch?v=55l6XIEK9l0 (edited)
YouTube | Михаил Непомнящий
Postman для REST API запросов. Быстрый старт и переменные
YouTube | QA START UP - IT Training Center
Курс Тестирование ПО. Занятие 30. POSTMAN. Ручное тестирование API | QA START UP
9:56
_________________________________Якщо у Вас є помилка, що я не можу злити гілки, тому що в
них конфлікти.
Рішення, на локальному комп'ютері переходимо у гілку майстер, робимо git pull, повертаємось у
гілку з ДЗ та робимо git merge master та з'являться конфлікти. Треба буде прийняти один варіант
коду або обидва, і видалити розмітку, яку робить git. Після вирішення конфліктів робимо як завжди
git add. git commit git push – зміни потрапляють у поточний пул-реквест, Зникають конфлікти, і тепер
можете злити гілки самостійно, якщо дз прийнято.
October 26th, 2022

Nadiia Khrystiuk 1:34 PM


Як ся маєте? чи читаєте ви ці матеріали, ци надо щось додатково дописати?
малюночок
(69 kB)
https://1.bp.blogspot.com/-q7v6m6skWhk/Xq6CeGI1yjI/AAAAAAAACs0/
kKC7I1a1mxY7yRPWjNEbwz_yG_BNP6YvACLcBGAsYHQ/s640/%25D0%25BF
%25D1%2580%25D0%25B8%25D0%25B2%25D1%2596%25D1%2582.jpeg

Nadiia Khrystiuk 1:40 PM


ПО 3 ДЗ
__________________________________________________
Велике прохання!!!
З 3 дз у Вас з'явиться файл - .env і він знаходиться в .gitignore. І не треба мені в переживаннях, що я
не зможу перевірити дз, його заливати на гіт, ок?
у мене чесно також є база на Аталасі, я можу спокійно створити свій .env у кожному вашому проекті
зі своїми даними і я підключаюся до своєї чистої колекції, щоразу зачищаю. І спокійненько можу
потішити ваш код))
Мене ж не цікавить саме вміст ВАШОЇ конкретної бази. Мені треба щоб ваш код був працездатний.
Була правильна архітектура додатку, ну і що він був візуально "нормальний" (еслінт і т.д.)

 Якщо мене щось бентежить у конкретній роботі, то я стукаю до студента в особу і прошу саме
його вміст .env файлу, що підключиться до його бази, але таке буває рідко, зазвичай тільки якщо є
якісь помилки, які студент сам не може відловити, і я допомагаю з вирішенням помилок
Малюночок
(17 kB)
https://res.cloudinary.com/practicaldev/image/fetch/s--
a4ZCc_N0--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-
uploads.s3.amazonaws.com/uploads/articles/zoxppuaoh6w2v8vll7qy.png

1
1:42
_______________________________________________________________
Архітектура додатків MVC та REST
я не знайшла так, щоб було добре описано в одному джерелі.
Проблема в тому, що часто пишуть такою мовою, щоб зрозуміти це, треба вже знати це - за цим
скіном 3 статті - якщо постаратися прочитати їх то, за ідеєю в голові зі шматочків, має сформуватися
уявлення про те, що хотіли цим сказати - MVC
 - https://dev.to/eaetukudo/understanding-mvc-pattern-in-nodejs-2bdn - про архітектуру - модель,
уявлення, контролер - (добре і з прикладом коду, що і де має лежати за татками)
 - https://habr.com/ru/company/ruvds/blog/333856/ - на прикладі абстрактних функцій
 - https://ruseller.com/lessons.php?id=666 - тут проблема в тому. що вони на прикладі пхп
пояснюють, але я думаю буде зрозуміло
 - https://metanit.com/web/nodejs/7.1.php - і на прикладі чистої ноди
____________
А ось тут тільки єдине місце, де не погано про рахітектуру – REST API
https://webdraftt.com/tutorial/nodejs/rest-api - загальна інформація
https://webdraftt.com/tutorial/nodejs/app-structure - а ось тут уже саме про архітектуру
____
Малюночок
1:43
_______________________________________________________________________
3 ДЗ - работа с БД - функции
Немного позанудничаю.
Если вы это уже поняли, то просто пропускаем и можно не читать. Но если вы не совсем
разобрались. То давайте разберемся с функциями
Функции обращения к БД в названии которых есть слово One - были созданы для работы с любыми
полями, но обычно с любым другим кроме поля _id.
Для работы с полем _id есть специальные функции в названии которых уже содержится слово ById
что позволяет немного сократить синтаксис обращения к БДНачнем с первого варианта который я
встерчала в некоторых дз -

 findOne({ _id: id }) - тут вызывается функция - в названии которой используется - One - в этой
функции явно не указывается конкретное поле, по которому идет поиск в БД, по этому надо явно
указывать название поля _id и значение которое передается - id - ({ _id: id })
 updateOne({ _id: id }, { token }) - тут тоже самое, в названии есть слово One и тут явно передается
название поля _id по которому идет поиск и потом явно передаешь значение этого поля id
findOneAndUpdate({ _id: id }, { subscription }, { new: true } ) - аналогично.
НО ЭТО ВСЕ МОЖНО УПРОСТИТЬ НА ЧУТЬ-ЧУТЬ
_____________________________________________________________
Что бы не передавать явно указанное название поля - _id можно использовать функции, в
названии которых уже содержится слово id. Это специальные - именованные функции для поиска по
полю id, а именно

 Model.findById()
 Model.findByIdAndDelete()
 Model.findByIdAndRemove()
 Model.findByIdAndUpdate()
тут везде явно указывается название поля, по которому будет производится поиск по базе данных
- ById
по этому тут можно сразу передавать значение по которому происходит поиск - в этом примере мы
его передаем в переменной - id
НО даже когда используются функции в названии которых уже явно указывается слово ById ,
по которому идет поиск в БД, все равно используется синтаксис, как будуд-то вызыватеся
функция с записью - One В двух ДЗ видела вот такую запись -
const result = await Contact.findByIdAndUpdate({ _id: contactId },
{ ...body },
{ new: true },
)
Вот ссылка на официальную документацию, где показывается, как передаются аргументы
- https://mongoosejs.com/docs/api/model.html#model_Model.findByIdAndUpdate
если вы используете findByIdAndUpdate достаточно сразу передавать id , не надо конкретизировать
какое поле вы передаете - { _id: id } - findByIdAndUpdate( id, ...body, { new: true } )
или если вы хотите явно указывать поле, по которому вы обращаетесь с БД, то можно
использовать findOneAndUpdate( { _id: id }, ...body, { new: true }) - и тут надо явно
указывать по какому полю мы ищем элемент.
____________________________________
И такая же ситуация и с функцией удаления.
const result = await Contact.findByIdAndRemove({ _id: contactId })
Вот ссылка на официальную документацию, где показывается, как передаются аргументы
- https://mongoosejs.com/docs/api/model.html#model_Model.findByIdAndDelete
findByIdAndRemove(id) - не надо передавать { _id: id }, вы и так уже объявили, по какому полю
ищитеhttps://miro.medium.com/max/648/1*iDvsmUwzZQxJSKdL0xzwIA.png
(25 kB)
https://miro.medium.com/max/648/1*iDvsmUwzZQxJSKdL0xzwIA.png
1:43
_______________________________________________________________
А еще вы уже "большие", и по этому -
А давайте вы начнете красиво оформлять сам файл Readme.md - Что значит красиво? - файл должен
содержать краткую информацию о том, что это за проект, как его запустить. и что он умеет делать -
на какие роуты каую информацию можно получить. Возможный пример
- https://github.com/HackerNews/API - не обязательно так красиво, но это что бы было куда
стремится.
https://medium.com/astrolabe/%D0%BA%D0%B0%D0%BA-%D0%BD%D0%B0%D0%BF
%D0%B8%D1%81%D0%[…]-%D1%85%D0%BE%D1%80%D0%BE%D1%88%D0%B8%D0%B9-
readme-159f88076b26
http://webdesign.ru.net/article/pravila-oformleniya-fayla-readmemd-na-github.html
https://www.makeareadme.com/https://www.freecodecamp.org/news/content/images/size/w2000/2021/04/
uide-to-writting-a-good-readme-file--1-.pngЭто не обязательно, только предложение
(544 kB)
https://www.freecodecamp.org/news/content/images/size/w2000/2021/04/uide-to-writting-a-good-readme-
file--1-.png
1:44
Нагадую на всяк випадок, як робити перевірку на валідний id -

1. Можна використати - joi-objectid - https://www.npmjs.com/package/joi-objectid


2. Можна використати метод від самого mongoose
const { isValidObjectId } = require("mongoose");

const isValidId = (req, _, next) => {


const { contactId } = req.params;
if (!isValidObjectId(contactId)) {
const error = new Error(`${contactId} is not correct`);
error.status = 400;
next(error);
}
next();
};

module.exports = isValidId;
малюночок
(257 kB)
https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net
%2Fdn%2FpmLoC%2Fbtq0c2w0ca0%2FdlgBzs80mOqyn0EZ5xD5V1%2Fimg.png
1:45
____________________________________________________
Как работают функции обновления в Монгусе - #findOneAndUpdate и остальные?
"It means that if you update your documents by
#findOneAndUpdate you update document directly into DB"
(https://github.com/Automattic/mongoose/issues/1974)
По этому если вы уберете прослойку JOI, то не смотря на то, что у вас записаны правила для полей в
самой модели данных - ОНИ нЕ БУДУТ СРАБАТЫВАТЬ!
Методы обновления, не проверяют правильность передачи данных, просто записывают то, что
пришло ))
Как решить этот нюанс -
добавляем дополнительно

await User.updateOne(
.....
{ runValidators: true }
);
регулярно встречаю эксперемент - уберу прослойку, но у меня же есть - enum: ['starter', 'pro',
'business'] - и почему он при обновлении не срабатывает? - да, вот по этому НЕ надо убирать
прослойку и будет все стабильно )) Ну или убираем прослойку и получаем, что прийдет! Все в руках
творящего код )) и ошибки тоже ))
GitHub
Schema Enum restriction is not enforced upon updating. · Issue #1974 · Automattic/mongoose
Take this schema: Schema({ status : { type : String, enum : [&#39;active&#39;, &#39;disabled&#39;],
default : &#39;active&#39; } }); If I attempt to create a document with status field different fr... (77 kB)
https://github.com/Automattic/mongoose/issues/1974
1:45
______________________
Как выложить проект с фронтом и беком на Хероку - How to deploy a React + Node app to Heroku
in 3 minutes without the command line - https://www.freecodecamp.org/news/deploy-a-react-node-app-
to/https://allma.si/blog/wp-content/uploads/2021/07/react-with-node-backend-1024x602.png
(393 kB)
https://allma.si/blog/wp-content/uploads/2021/07/react-with-node-backend-1024x602.png
1:46
______________________________________
Что в этом примере значит $set и для чего он нужен?
если кратко, то тут мы говорим про БАЗОВЫЙ модуль к MongoDB, а не Mongoose, то метод $set
позволяет обновлять не все поля в объекте, к которому обращаются, а только те, которые мы
указали. В примере на принтскрине в первом случае будет перезаписан весь объект с данными и там
будет создано только имя, а во втором случае будет заменено ТОЛЬКО значение имени. Но в
Mongoose, при обновлении все поля по умолчанию обворачиваются в $set - что бы не было
нечаянной перезаписи полей
[options.overwrite=false] «Boolean» By default, if you don't include any update operators in doc,
Mongoose will wrap doc in $set for you. This prevents you from accidentally overwriting the document.
This option tells Mongoose to skip adding $set.
Link to docs: https://mongoosejs.com/docs/api.html#model_Model.update
1:46
____________________________________________________

Допольнительный материал - видео по Node.js

если есть желание углубится в ноду, - в предложенных курсах будет и то, что вам будут

рассказывать в след. лекциях, и что-то дополнительно. Можете и покодить и посмотреть доп-

инфу

 https://www.youtube.com/watch?v=thWNUby1G3U&list=PLC3y8-
rFHvwhco_O8PS1iS9xRrdVTvSIz&index=2 - хороший курс, вот тут с 1 по 10 тему, это объяснение

базы, на которой строится нода, очень советую посмотреть и разобраться.

 https://www.youtube.com/watch?v=ob9qRQeajA0&list=PL0lO_mIqDDFX0qH9w5YQIDV6Wxy0oawet

- курс на русском. без такого глубокого погружения. но тоже много полезного


 Три курса по основам ноды от одного автора, от совсем основ, до построения корзины и АPI - мне
он нравится очень просто и понятно излагает
https://www.youtube.com/watch?v=65a5QQ3ZR2g&list=PL55RiY5tL51oGJorjEgl6NVeDbx_fO5jR -
Node.js - Tutorial - Introduction
https://www.youtube.com/watch?v=-3vvxn78MH4&list=PL55RiY5tL51rajp7Xr_zk-
fCFtzdlGKUp&index=2 - NodeJS / Express / MongoDB - Build a Shopping Cart
https://www.youtube.com/watch?v=0oXYLzuucwE&list=PL55RiY5tL51q4D-B63KBnygU6opNPFk_q -
What is a RESTful API? | Creating a REST API with Node.js

 https://www.youtube.com/watch?v=7f787SsgknA - понимание асинхронности в ноде. Как

просиходит цикл событий.

 Как дополнение и более глубокий разбор тем


https://www.youtube.com/watch?v=vQldMjSJ6-w&list=PLvTBThJr861y60LQrUGpJNPu3Nt2EeQsP -
JWT

 как дополнение кроме того, то есть в основных темах


https://www.youtube.com/watch?v=_ndbCZ9Ni6E - Koa как замена Express
https://www.youtube.com/watch?v=7giZGFDGnkc&list=RDCMUCSJbGtTlrDami-tDGPUV9-
w&start_radio=1 - GraphQL - как перейти к новой концепции запросов к беку
https://www.youtube.com/watch?v=ed8SzALpx1Q - GraphQL Full Course - Novice to Expert

 и желательно кроме монги разобраться еще с SQL базой данных -


https://www.youtube.com/watch?v=2tDvHQCBt3w&t=4s - Работа с базами данных в Node.js на
примере PostgreSQL

И самое главное, что когда вы будете смотреть как кодят, на ноде у вас уже будет
намотренность, и вы будешь уже интуитивно понимать как называют переменные, и как

архитектуру пишут По основам ноды.

Необязательно всех авторов смотреть, я скинула нескольких, потому что обычно один
автор заходит и его подача материала, а другой не заходит и не подходит его подача

материала. Если все пересмотрите и будет скучно я Вам еще подкину, что

можно глянуть - это пока основы


Список дополнительных тем по Node.js
- https://docs.google.com/spreadsheets/d/1DAm9kUziEXw56CsZzEk0UsoucS_5RG5gMMNX-x-gmfc/
edit#gid=379096805
1:48
Замечания по 3 дз
Если вы в 3 дз взяли
из условия задания схему
"Схема моделі для колекції contacts:
{
name: {
type: String,
required: [true, 'Set name for contact'],
},
email: {
type: String,
},
phone: {
type: String,
},
favorite: {
type: Boolean,
default: false,
},
}
"
то тогда в поиске НЕ НАДО писать вот так - const contacts = await Contact.find({}, "-createdAt -
updatedAt") потому что этих полей у Вас в схеме НЕТ. Зачит и вывести вы их не можете!!!!
Потому что поле createdAt и updatedAt создаются только от наличия в схеме метода - { timestamps:
true }. А вы его добавили за Богданом, а потом взяли из задания схему и удалили это поле. Тогда
уже делайте что бы код смотрелся целостно, или добавьте в схему - { timestamps: true }, или удлите
из запроса - "-createdAt -updatedAt"
October 31st, 2022
Serhii Chekalov 7:06 PM
was added to ментор-христюк by Nadiia Khrystiuk.
November 5th, 2022

Nadiia Khrystiuk 5:51 PM


По 3 дз!
const result = await Contact.findByIdAndUpdate(contactId, body);
if(!result) {
throw RequestError(404);
}
const upDatedContact = await Contact.findById(contactId);
Не треба робити два запити до бази, замість одного, ви ж розумієте, що по перше це чекати час
відповіді від бази, а по друге це додаткови вирахування,
достататньо одного запиту, з флагом оновлення -
const result = await Contact.findByIdAndUpdate(contactId, body, {new:true});
Ось посилання на документацію - https://mongoosejs.com/docs/tutorials/findoneandupdate.html
November 8th, 2022

Nadiia Khrystiuk 5:41 PM


Всем у кого файл .env со всем его содержимым попадает каждый раз на гит.
Даже если вы его добавили в gitignore
Ответ - Когда вы делаете первый коммит, то ВСЕ что есть в репозитории - его сделают "слепок" или
как бы "фотографию" и запомнят наличие всех файлов и папок. Потом вы берете и добавляете файл
с исключениями gitignore - и туда добавляете запись .env. Но это уже не поможет потому что УЖЕ
все запомнили. Как сделать, что бы файл пропал - самый варварский и простой способ - просто
вырезаете руками файл, делаете git add . потом git commit и добавляете коммит, и делаете git push.
Все сделан новый "слепок" с репозитория со всем его содержимым. И в нем уже НЕТ файла .env
Теперь можно вставит файл обратно и все, больше он не будет попадать в гит.
Но по правильному надо делать все записи в gitignore до коммита с этим файлом.
https://res.cloudinary.com/practicaldev/image/fetch/s--UJ9AGXvR--/c_imagga_scale,f_aut[…]/dev-to-
uploads.s3.amazonaws.com/i/isqxrrjimnx7uce0vsxe.png
(7 kB)
https://res.cloudinary.com/practicaldev/image/fetch/s--UJ9AGXvR--/
c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/i/
isqxrrjimnx7uce0vsxe.png
5:41
Замечания по 4 дз
_______________________________________
Если вы зарегистрировали юзера, и пытаетесь получить все контакты этого юзера, и у Вас приходит
пустой массив - "contacts": []. То это потому что к этому юзеру через поле "owner" не привязан не
один контакт. Создайте, под этой учетной записью новый контакт, и повторно запросите все
контакты, и вы получите массив с 1 контактом ))_____________________________________
Вот такой пример кода - что тут плохо - не надо превращать лимит в число.
const result = await Contact.find({ owner }, "name email phone favorite", {
skip,
limit: Number(limit),
}).populate("owner", "email");

 НЕ НАДО обоварчивать, если вы делаете через драйвер Mongoose - Number(limit)


ну просто из любопытства проверьте, что оно и так тоже работает, что обворачивать надо, когда вы
пользуетесь НЕ УДОБНЫМ MongoDB. Ну так потому что он корявый и придумали Mongoose, и
никто не пользуется MongoDB - потому что ну зачем мучатся?
____________________________________________________-
по поиску текущего юзера - так вот писать не надо
const currentUser = async (req, res) => {
const { _id } = req.user;
const curUser = await User.findById({ _id });

1. В этом контроллере НЕ надо искать в базе юзера, и НЕ надо потом доставать из него нужные
значения, НЕ надо брать токен и проверять на наличие, Не надо расшифровывать токен!!
ПОТОМУ что все это уже сделанно в прослойке авторизации!! Вам осталось только из объекта
пользователя достать нужные поля и отдать их в ответе.
const user = await User.findById(id);
if (!user || !user.token) {
next(Unauthorized(" Unauthorized"));
}
req.user = user;
Не надо делать лишние запросы к базе данных. Вы же этого пользователя уже в базе находили, и
поля все из него получили, и весь объект пользователя дальше прокинули. Так зачем дублируете
код?
значит вам достаточно написать вот так -
const currentUser = async (req, res) => {
res.json({
data: {
email: req.user.email,
subscription: req.user.subscription,
},
});
};
_____________________________________________________
А у меня есть вопросы к работе с контактами в 4 дз, когда у Вас уже есть прослойка аунтификации,
и каждый контакт привязан к конкретному пользователю.
При обращении к контактам - роуты для всех router.get("/", authenticate, и для создания конатакта -
router.post("/", authenticate, - защищены прослойкой аутнификации. Тут все хорошо. НО
А УДАЛЯТЬ, Редактировать - может вообще кто угодно!!! НЕТ ПРОСЛОЙКИ!!! а она должна
быть у ВСЕХ роутов. Потому что только ЗАРЕГЕСТРИРОВАННЫЙ пользователь это может
делать.
ок, а даже есть прослойка. то при запросе вы не добавляете расширение, что мы теперь используем
не findByIdAndDelete()
а надо использовать
findOneAndDelete({
contactId,
owner: _id,
});
или аналог для обновления
findOneAndUpdate(
{
contactId,
owner: _id,
},
и тогда можно будет удалить или обновить ТОЛЬКО те контакты. которые принадлежат этом юзеру.
А то так можно пройти аутнификацию и начать удалять и менять чужие контакты )))
_________________________________________
Иногда видела в коде вот такие примеры:
Иногда вижу вот такое - пример кода -
await User.findOneAndUpdate(contact, body);
const result = await User.findOne(contact);
почему не сделать это же самое, за одно обращение к базе, просто достави флаг, что бы сразу
вернулись обновленные данные?
сразу найти и обновить - https://mongoosejs.com/docs/tutorials/findoneandupdate.html
const result = await Contact.findOneAndUpdate(contact, body, {
new: true
});
____________________________
Заметила странность в запрос find вы добавляете только ОДИН параметр, по которому там
можно искать. в запрос find можно СРАЗУ передать все необходимые параметры в виде ключ -
значение!!!
а в коде я вижу часто вот такую реализацию - сначала ищем, а потом обычными методами
ДжаваСкрипта еще и фильтруем , почему сразу не добавлете этот ключ и значение в запрос?
const contacts = await Contact.find({ owner: _id }, "-__v", {
skip,
limit: +limit,
});
if (favorite) {
const favoriteContacts = contacts.filter(
(contact) => `${contact.favorite}` === favorite
);
return res.json(favoriteContacts);
}
https://mongoosejs.com/docs/api.html#model_Model.find - ссылка на документацию
const favoriteContacts = await Contact.find({ owner: _id, favorite }, "-__v", {
skip,
limit: +limit,
});
и все, он уже вернет, только те, которые принадлежат этому пользователю и у которых в поле
favorite нужное значение ))
November 13th, 2022

Denys Kuz 9:24 PM


Привіт) Може хтось пояснити навіщо при logout чистити token в базі якщо ми його не
використовуємо всеодно, він по суті не впливає нінащо ) При login ми генеруємо токен який
зберігається в сессії певний час. Чи потрібно не з бази чистити токет а в headers сам Bearer token, я в
прикладах просто не бачив як правльно очищяти це.

3 replies
Last reply 2 months agoView thread
November 17th, 2022
Nadiia Khrystiuk 12:53 PM
https://github.com/BogdanLyamzin/BC17-node.js/blob/master/lesson-10/auth-example/routes/api/
auth.test.js
____________________________________________________________________________________
Навеяно проблемами с созданиями тестов, как доп задания к 5 дз, у студентов.
Cейчас выскажу лично свое мнение, значит оно не обязательно правильное, но просто его выскажу -
цена тестировщика 1000 дол, цена разработчика - 3000, В моей практике обычно нанимают
девочку/мальчика тестировщика, который тыкает в ваш свагер, или код, и пытается его тщательно
поломать, ну и проверить а работает ли оно правильно. И так на каждый ваш чих он пытается это
все паламать. И фирме обычно дешевле держать отдельно тестировщика, чем заставлять меня
писать тесты ручками, обычно тратя на это столько же времени, сколько и на написание самого
кода. А если мы говорим про качественную работу. то я должна покрыть код где-то процентов на
70%. Значит я буду работать в два раза медленней на разработку нового функционала, потому что
половину своего времени я буду писать тесты. Итого, фирма мне оплачивает работу тестировщика
за 1500 дол, за 15 дней работы или 3000 за месяц ))). И я в роли тестировщика стою на 2000 дол
дороже чем обычный тестировщик. По этой причине мне почему-то не дают задание писать тесты.
Обычно это звучит как-то так - Вот когда у нас будет много времени свободного, мы обязательно
этим займемся. А второе, чем мы займемся, когда у нас будет много свободного времени - это
документация ))) Потому что на ее написание надо тоже тратить много времени.
В галерах типа Luxsoft, GlobalLogic, Soft Serve разработчики пишут тесты, потому что заказчик
платит
https://miro.medium.com/max/1400/0*6OSeUxUrmdCO6xFG.pngПримеры тестирования api и unit
тесты
тут без пояснений - но я надеюсь что станет немного может понятней
______________________________________________
Тесты api
https://github.com/NadyaHristuk/Node_homework/blob/master/tests/auth.i.test.js
https://github.com/NadyaHristuk/Node_homework/blob/master/tests/user.i.test.js
https://github.com/NadyaHristuk/Node_homework/blob/master/tests/accept.spec.js
( код не мой, честно надергала ))
____________________________________
Юнит тесты:
https://github.com/NadyaHristuk/Node_homework/blob/master/tests/dddd.js
https://github.com/NadyaHristuk/Node_homework/blob/master/tests/unit.spec.js
аналогично надергала кода
(64 kB)
https://miro.medium.com/max/1400/0*6OSeUxUrmdCO6xFG.png

2 replies
Last reply 2 months agoView thread
November 20th, 2022

Kateryna Klimchuk 7:16 PM


was added to ментор-христюк by Nadiia Khrystiuk.
Nadiia Khrystiuk 7:24 PM
Якщо лінтер підкреслюе Jest червоним
Потрібно в файл налаштувань еслінта .eslintrc.js; додати jest:true. env: {
commonjs: true,
es2021: true,
node: true,
jest:true
}
November 23rd, 2022

Nadiia Khrystiuk 1:52 PM


_______________________________________________Варіант вирешення по 4 дз додаткове
завдання.
const listContacts = async (req, res) => {
const { _id: owner } = req.user;
const { page = 1, limit = 20, favorite } = req.query;
const skip = (page - 1) * limit;

const listOfContacts = await Contact.find(


favorite ? {owner, favorite} : {owner},
"-createdAt -updatedAt",
{ skip, limit }
).populate("owner", "email subscription");
December 3rd, 2022

Nadiia Khrystiuk 8:36 PM


По 6 дз, что бы каждому не писать в коде, вынесу тут общие мысли - возможные улучшения кода

1. Личный емейл, который вы используете для рассылки, лучше в целях унификации кода, ну что бы
не искать где этот емейл в коде, и для безопасности, не светить личные данные - лучше вынести в
файл .env
const sendEmail = async (data) => {
const email = { ...data, from: "XXXXXXX@gmail.com" };
try {
await sgMail.send(email);
} catch (error) {
throw new Error();
}
};
2. Так же лучше вынести в переменные окружения имя хостинга, где вы ожидаете получение
письма, потому что локально это https:localhost:3000 а если это хостинг на хероку или еще где-то,
то тут вы возможно забудете в коде поменять это значение на нужное и получите ошибку. По этому
порт вместе с хостом лучше вынести в переменные окружения - .env
const mail = {
to: email,
subject: "Please, confirm you email",
html: `<a href="https:localhost:3001/api/users/verify${verificationToken}">Confirm</>`,
};
https://encrypted-tbn0.gstatic.com/images?
q=tbn:ANd9GcQrUDM_M1ZC9nSwbw1544hw7XVEHkIGuzZ2uQ&usqp=CAU
(5 kB)
https://encrypted-tbn0.gstatic.com/images?
q=tbn:ANd9GcQrUDM_M1ZC9nSwbw1544hw7XVEHkIGuzZ2uQ&usqp=CAU
8:37
______________________________________________________
Якщо у Вас виникли проблеми з SendGrid
Значить SendGrid з якоїсь причини вважають ваш обліковий запис не безпечним, у них дуже
дивна система безпеки. І з цієї причини вимагають звернутися до служби підтримки для
підтвердження вашої особистості. Зазвичай такі звернення можуть розглядатися більше тижня
в SendGrid.
Що я можу запропонувати:

 взяти ключі у когось із одногрупників, хто вже зареєструвався у SendGrid.


 взяти телефон і спробувати походити містом і зареєструватися через інші і-мейли через інші
мережі wi-fi
 походити по друзям і спробувати через їх комп'ютери зареєструватися. Попросити друзів
зареєструватися, і якщо у них вийде то, що б вони дали вам ключ від SendGrid.

 Та не забувайте, що можна заюзати НодМейлер, він в тексті дз вказан як альтернатива!!!


https://d15tnd3q55f8nl.cloudfront.net/static/SG_Twilio_Lockup_Social-
56f3cfd2f6b0c62422980170d57fac64.png
(18 kB)
https://d15tnd3q55f8nl.cloudfront.net/static/SG_Twilio_Lockup_Social-
56f3cfd2f6b0c62422980170d57fac64.png
December 7th, 2022

Nadiia Khrystiuk 4:48 PM


Надсилаю вам запис лекції + тюторіал англійською
https://www.youtube.com/watch?v=J9yf-zvc7WI
https://docker-curriculum.com
YouTube | GoIT
[Node.js 29] Основы Docker 14:00 (30/10/21)
Air Horner
A Docker Tutorial for Beginners
Learn to build and deploy your distributed applications easily to the cloud with Docker (6 kB)
https://docker-curriculum.com/

1
December 11th, 2022

Nadiia Khrystiuk 12:00 PM


Список тем, которые спрашивают на собеседованиях на Node.js разработчика
https://docs.google.com/spreadsheets/d/1DAm9kUziEXw56CsZzEk0UsoucS_5RG5gMMNX-x-gmfc/
edit#gid=379096805 - таблица с темами, и как часто это спрашивают.
Пул вопросов для обработки
21 вопрос по Node.js с ответами
Node.js вопросы на собеседовании
Топ 41 вопросов и ответов на собеседовании Node.Js, которые вам нужно знать в 2021 году
Вопросы с собеседований по JS уровня Middle и Senior | Techrocks
Вопросы на собеседовании Senior Node.JS разработчику
internet-technologies.ru
21 вопрос по Node.js с ответами
В этой статье рассматривается 21 вопрос по Node.js, от очень простых до технически продвинутых
тем (53 kB)
https://www.internet-technologies.ru/articles/21-vopros-po-node-js-s-otvetami.html
Unique News Online
Топ 41 вопросов и ответов на собеседовании Node.Js, которые вам нужно знать в 2021 году
Топ 41 вопросов и ответов на собеседовании по Node.Js - Совершенствуйте свои навыки вместе с
нами, получайте самую актуальную информацию по вопросу собеседования по узлам js.
Написано
Редакционная коллегия
Время читать
17 минут
Sep 24th, 2020
https://www.uniquenewsonline.com/ru/41-%D1%82%D0%BE%D0%BF-2020-%D0%B2%D0%BE
%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2-%D0%BD%D0%B0-%D1%81%D0%BE
%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD
%D0%B8%D0%B8-%D0%BF%D0%BE-node-js%2C-%D0%BE
%D1%82%D0%B2%D0%B5%D1%82%D1%8B-%D0%BD%D0%B0-%D0%BA%D0%BE
%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D0%B2%D0%B0%D0%BC-%D0%BD
%D1%83%D0%B6%D0%BD%D0%BE-%D0%B7%D0%BD%D0%B0%D1%82%D1%8C-%D0%B2-
XNUMX-%D0%B3%D0%BE%D0%B4%D1%83/
Techrocks
Вопросы с собеседований по JS уровня Middle и Senior | Techrocks
Список вопросов по JavaScript, которые задают разработчикам на собеседованиях. Вопросы уровня
Middle и Senior.
Написано автором
Редакция techrocks.ru
Примерное время для чтения
3 минуты
Jan 8th, 2021
https://techrocks.ru/2021/01/08/javascript-job-interview-questions-middle-senior/

Nadiia Khrystiuk 4:30 PM


Как подготовится к собеседованию на английском С ПРИМЕРАМИ ОТВЕТОВ

 https://indigo.co.ua/blog/no-problem-kak-proyti-sobesedovanie-na-angliyskom
 https://englishprime.ua/uk/kak-podgotovitsya-k-intervyu-na-anglijskom-yazyke/
 https://dou.ua/lenta/articles/interview-in-english/
 https://www.youtube.com/watch?v=iqeghm8Uut8
 https://www.youtube.com/watch?v=UkSfp3XHSko
 https://www.youtube.com/watch?v=vHJzSpgzRnU
 https://www.youtube.com/watch?v=B-NTMyv1I7Q
__________________________________________
Печатаю с разрешения автора:
"Ivetta Dashkova
Ребят, кто переживает за английский. Да, почти в каждой вакансии будет написано требование
Английский язык среднего уровня, помнится, 5 лет назад я искала секретаря в нашу Киевскую
юридическую компанию, там тоже нужен был английский)))угадайте сколько раз она пользовалась

английским на рабочем месте - 0, ну ок, еще билеты на самолет покупала руководителям


Потом я работала юристом в IT-компании, угадайте знала ли я английский, при том что некоторые
договора были на английском. И тут был выход из ситуации , подтвержденный на законодательном
уровне - Международный договор должен быть изложен на 2 языках, поэтому официальный
перевод мы заказывали у переводчиков, специализирующихся на переводе контрактов.
Теперь касательно моего свежего опыта работы разработчиком в зарубежной компании (в команде
русскоговорящих разработчиков). По факту на английском проходят только совещания и то там
рапортует Тимлид) есть презентации, которые при желании можно перевести просто через
мобильное приложение, наведя камеру на экран монитора, а так - остальные члены команды на
английском только здороваются в начале и прощаются в конце митинга. В моем случае, прям
английский-английский понадобился только на первом совещании после официального

трудоустройста) они на английском рассказывали про компанию (наверное ) , а я потом


рассказала немного о себе ( и если что команда разрабов страховала). Да , безусловно, после такого
стресса я записалась на курсы разговорного английского 3 раза в неделю) но сказать, что отсутсвие
разговорного английского мешает мне в работе - нет, а вот собеседование , не забывайте, проводит
HR, он может, действительно, зарубить на корню, но я думаю, что в данном случае стоит свои
недостатки превращать в пунктики Вашего саморазвития, мол что прямо сейчас вы очень

замотивированы и активно изучаете английский не сомневайтесь в себе, вы огонь-пожар, вы


всего за год выучились новой профессии, в то время , как кто-то так и не решился пойти на курсы,
кто-то бросил на полпути, а вы уже здесь, на Финише, вы победители! Не сдавайтесь!Из ресурсов
делюсь:
1) ютуб канал https://www.youtube.com/channel/UC_3oKG5Szq-m6Xz-MjRZgpw английский язык по
плейлистам, там есть плейлисты английский язык за 50 уроков(на каждый уровень английского
всего 50 занятий(25 уроков и 25 практики)) , у этого препода есть еще и
2)приложение на телефон, годовая подписка 600грн всего. В комплексе хорошо работает, говорить

уже не страшно)) теперь слушать страшно


3) и в целом у него куча других плейлистов, откуда я включаю практические занятия и начинаю

мыть посуду и учить английский на фоне)))"А ще я маю такий класний список)Тримайте

Безкоштовні онлайн-сервіси для вивчення мов для українцівБагато мовних курсів стали
безкоштовними для українців у період війни з рф. Нижче є список на вибір.
Важливо: під час реєстрації вказуйте українську як рідну мову, щоб отримати доступ
https://www.lingohut.com/uk (понад 45 мов, 125 уроків вивчення корисної лексики без попередніх

знань). https://www.youtube.com/channel/UCB_g2sOqQeaKBP6GfT1icsw/playlists (15 мов, відео,

кожен курс містить 100 уроків). http://audiolang.info/ua/ (основна частина матеріалів

представлена у вигляді аудіофайлів, можна скачати або вивчати в режимі онлайн).


https://languagedrops.com/ukraine (щоб отримати доступ до безкоштовної преміум підписки на

рік,заповніть форму). https://www.busuu.com/ru/c/ukraina-navchaisya-bezkoshtovno (дарує 90

днів преміум-підписки для вивчення всіх 12 доступних на сервісі мов).


https://blog.duolingo.com/duolingo-statement-ukraine/ (безкоштовний безстроковий доступ до

англійської мови у додатку). https://www.lingq.com/uk/ (відкрили преміум-аккаунт для

українців, доступно 24 мови, для активації зверніться до служби підтримки).


https://utalk.com/uk (понад 100 мов, кожна складається з 60+ топіків,на вивчення однієї мови

знадобиться близько 180 годин). https://ling-app.com/ (більше 60 мов для вивчення,


безкоштовне користування додатком для українців)
_______________________________________________________

Гайд: як вивчити англійську самостійно1. Якщо ви початківець — знайдіть хороший

підручник. Радимо «Outcomes», «Speakout», «Life» 2. Підкріплюйте підручник іншими


джерелами. Намагайтесь усіляко оточити себе англійською мовою: змініть мову на пристроях,
підпишіться на англомовних блогерів та читайте коментарі під постами! Завжди тренуйтесь.Та
обов'язково скачайте додати для вивчення мови, аби ви могли вчитися де завгодно та у будь-який
зручний для вас час.3. Шукайте англійську там, де ваша сфера зацікавленості. Подобається тікток —
підписуйтеся на англомовних кріейторів. Любите фільми? Шукайте блоги кіноманів. Цікавитися

психологією? Читайте статті за темою 4. Слухайте! Якомога більше і якомога уважніше.


Слухайте музику з англійською мовою, подкасти, Clubhouse, інтерв'ю тощо. Ваш мозок буде

підсвідомо фіксувати вимову, окремі слова, інтонацію 5. Запишіться у розмовний клуб та


практикуйте мову з іншими.
____________________________________
від Englishdom є заняття 3 рази на тиждень під різні рівні
англ https://bonusesforukrainians.englishdom.com/groupclasses
https://dou.ua/calendar/44834/
______________________________________________
Come and learn - безкоштовні заняття з англійської для всіх бажаючих Нові заняття Come
and learn вже готові і чекають на своїх відвідувачів! Якщо ви полюбляєте розбиратися в англійській
граматиці - приходьте, вам сподобається!Нагадуємо учасникам про те, що потрібно приєднатися до
телеграм каналу наших занять (https://t.me/+Prv8FpobfM0yYWU6). Ми там заздалегідь ділимося
матеріалами. (отредактировано)
indigo.co.ua
Собеседование на английском: примеры вопросов и ответов — INDIGO Tech Recruiters
Как успешно пройти собеседование на английском в IT? Примеры вопросов и ответов для интервью
на работу на английском — Блог рекрутингового агентства INDIGO Tech Recruiters (118 kB)
https://indigo.co.ua/blog/no-problem-kak-proyti-sobesedovanie-na-angliyskom
EnglishPrime
Як підготуватися до інтерв'ю англійською мовою | ENGLISH PRIME

Як підготуватися до інтерв'ю англійською мовою Підготовка і поведінка на інтерв'ю

Питання на співбесіді Читай і будь готовий!


Написано
Администрация
Прибл. час читання
25 хвилин
Jan 26th, 2021
https://englishprime.ua/uk/kak-podgotovitsya-k-intervyu-na-anglijskom-yazyke/
ДОУ
Job interview in English: как готовиться и что отвечать
Привет! Меня зовут Анна Гандрабура, вот уже почти 7 лет я преподаю корпоративный английский в
IT-компаниях. За прошлый год мы с командой проверили знание языка у более чем 200 кандидатов.
В этой статье расскажу про их боли и дам советы, как пройти собеседование на определение уровня
английского.
https://dou.ua/lenta/articles/interview-in-english/
YouTube | English with Ronnie · EnglishLessons4U with engVid
Job Interview Skills - Questions and Answers
YouTube | Fast Company
How You Really Sound in Job Interviews | Fast Company

3 2
Катерина Кравченко 10:41 AM
@channel Друзі, всім привіт)

вітаю вас із успішним проходженням на проект, ви величезні молодці

У цій чудовій команді ви разом працюватимете над проектом


Давайте швидше знайомитись, якщо ще не знайомі, і налаштовуватися на продуктивну роботу)

Нагадую, що сьогодні у нас планування проекту Далі ви вибираєте в групі Team Lead та

Scrum Master.
Також ви познайомитеся з ментором і проведете планування проектної роботи: і потім між
собою розподіляєте завдання на проект, а саме хто що буде робити і за що відповідати.
Коли ви поділили обов'язки, Team Lead пише ментору в особисті повідомлення: список команди і
хто за який функціонал відповідатиме.

Наприклад: Григоренко Марія - footer і т.д. Наприкінці командного проекту фактичне


виконання роботи кожним учасником перевірятиметься ментором проектного офісу.
Якщо планова участь у проекті була розподілена, а фактично студент не брав участі в проекті і не
виконав свою частину роботи, то цей проект зарахований вам не буде. (Мається на увазі

безпосередньо тому студенту, який не брав участь, а не всій команді) Ролі, для кращого

розуміння, хто відповідає! Team lead. Стежить за технічною реалізацією проекту, відповідає
за якість коду, пише код ревью та завдання щодо проекту для учасників команди. Є власником
репозиторію за командним проектом. Безпосередньо спілкується з проектним ментором з питань
реалізації проекту і проблем, що виникають у команди.

Scrum master. Регулює термін виконання проекту. Здійснює щоденний Stand Up для
планування роботи команди. Для проведення Stand Up можна використати Google Meet, Zoom,
Skype, Discord. Слідкує за наявністю завдань у всіх учасників команди та термінами їх реалізації.
Безпосередньо спілкується з проектним ментором з питань планування та термінів виконання

проекту.Всім успіхів та класної командної роботи

Андрій Курка 10:50 AM


was added to проект-команда-6 by Катерина Кравченко, along with 12 others.
Pinned by Катерина Кравченко

Катерина Кравченко 10:51 AM


@channel Ознайомтеся, будь ласка, з матеріалами
проєкту: https://docs.google.com/presentation/d/1NKZJXlhhzacsJi3i0zii97nAPkBcuzlf/edit?
usp=sharing&ouid=107244728602973793202&rtpof=true&sd=true
Сьогодні у вас буде 2 зідзвони з менторами:

 о 19:30 з Іветтою Дашковою - ментором, який буде допомагати вам по частині frontend
 та о 20:30 з Надією Христюк, ментором, яка буде допомагати з частиною backend

Тому УВАЖНО, буде 2 конференції:

Доступи для конфи (фронтенд)


Час: 19:30
Зум: https://zoom.us/j/93598122885?pwd=UnhQRHIxbUlSSWwraG5VM0tBRTJ6dz09
пароль: goit

Запис буде) Доступи для конфи (бекенд)


Час: 20:30
Зум: https://zoom.us/j/97709502943?pwd=YU5XOGZkTHppbUd4ZDJqK3lqQm9Rdz09
Пароль: goit
Запис буде)Також чудова новина: до вас приєднаються студенти курсу QA, щоб допомагати з

тестуванням проєкту це буде дуже цікавий досвід)


ФІНІШ ПРОЄКТУ 28.12

Всім мирного дня і бережіть себе

Andrii Beha 11:35 AM


Всім привіт

Андрій Курка 11:35 AM

Привіт

Ivetta Dashkova 11:48 AM


joined проект-команда-6.

Ivetta Dashkova 11:55 AM

@channel Всім привіт мене звати Іветта і я Ваш ментор з частини FrontEnd найближчі 2

тижні
Розкажіть, яке відчуття після пройденого шляху? Налаштовані робити крок у велике майбутнє?
Можливо, хтось з Вас вже працює в IT? Вже були на яких-небудь співбесідах?

Ну і авжеж чекаю всіх сьогодні о 19:30 на плануванні Прохання при собі мати щось

смачне і гарний настрій

9 replies
Last reply 20 days agoView thread

Кравчук Олександр 12:02 PM


В мене як на зло світло виключають в 19:00

Iryna Ruban 4:13 PM


was added to проект-команда-6 by Катерина Кравченко, along with Yevhenii
Ryzhenko. Also, konovalova and 2 others left.

Serhii Boiko 7:22 PM


Всем привет до вебинара, может есть, кто хочет быть тимлидом и скрамом?

1 reply
19 days agoView thread

Serhii Boiko 7:23 PM


По факту, вот первые организационные вопросы
7:23
3. Команді потрібно виконати завдання:
- обрати назву команди;
- обрати Team lead;
- обрати Scrum master;
- переглянути матеріали до проєкту.

Andrii Beha 7:26 PM


Ну я задумувався над тим щоб бути тім лідом

Serhii Boiko 7:43 PM


Сколько у нас в команде разработчиков? просто лайкните
12
7:44
Сколько у нас в команде тестировщиков? просто лайкните

Катерина Кравченко 7:46 PM


@channel Друзі, до вас приєдналися студенти курсу QA, тож сподіваємося, що така колаборація

розробників та тестувальників буде мега-крутою))

Вам вдалої роботи і легкої комунікації

Andrii Beha 8:29 PM


нам було би непогано зібратись в зумі і поспіслкуватись, але напевно сьогодні уже не зможемо.
Тому пропоную завтра це зробити.
А до завтра оприділитись хто хоче бути скрамом, тім лідом, написати про це. А завтра уже при
узстрчі оберемо їх.
+Написати пропозицію для назви команди

2 replies
Last reply 20 days agoView thread

Ivetta Dashkova 8:29 PM


@channel
ТЗ розробників: https://docs.google.com/spreadsheets/d/1haI-DBP4RyM3wXmI7qsv57lfcOksCUzjYH-
CVPUqcOk/edit#gid=0
МАКЕТ: https://www.figma.com/file/DOk8LXwgwUm9xwBPMoBEHe/HEALTH-EN?node-
id=0%3A1&t=psWfFCUx3Ptb6OsA-0
ТЗ тестувальників: https://docs.google.com/spreadsheets/d/1BX_rXX9u-
sPpMufharkFUk4c0HiuBIgE8xcWWVmfttA/edit#gid=0
Figma
HEALTH EN
Created with Figma (60 kB)
https://www.figma.com/file/DOk8LXwgwUm9xwBPMoBEHe/HEALTH-EN?node-
id=0%3A1&t=psWfFCUx3Ptb6OsA-0

Andrii Beha 8:29 PM


мій варіант назви команди
Смєрть Катам

2
Ivetta Dashkova 8:30 PM
@channel FRONTEND
1. Для приведення коду до більш-менш однакового стилю не забудьте:
- встановити prettier + husky + lint.
- організувати структуру проєкту (https://alexkondov.com/tao-of-react/)
- домовитись про однакові стилі, import/export
- встановити на початку modern-normalizeРесурси для роботи на проєкті
1. Робота з формами та їх валідація
https://formik.org/docs/api/useFormik + https://formik.org/docs/guides/validation
2. За допомогою бібліотеки дані скорочуються до …, якщо не вистачає місця (за потреби)
https://www.npmjs.com/package/react-ellipsis-text
3. Деплой на Netlify через термінал
https://www.youtube.com/watch?v=qPfItwA4GD4
https://drive.google.com/file/d/1_mFfA_jdOfTgtwOtEE6hsuo6U95hZU45/view
https://drive.google.com/file/d/1sUdq5187Uf5uo5EfqPrEEE52ssPj11Xh/view
https://drive.google.com/file/d/1RXumPAthh_qJSp6hr6ImwF5ljRvWE47e/view
https://drive.google.com/file/d/1cTg_FOfymCJdC5_DLyo1l8-_ePNdBryZ/view
4.Компонент дати з календарем
https://www.npmjs.com/package/react-datetimeДодаткові фічі
Mультимовність:
https://www.i18next.com/
Google-кнопка авторизації (по frontend на 9-10й хвилині)
https://www.youtube.com/watch?v=oQaoymCOW8o
https://github.com/NadyaHristuk/lesson-swagger-googleOAUTH2Лайфхакі
Зручне розширення VSCode для роботи з гілками репозиторія - Git Graph

Andrii Beha 9:37 PM


Так скажіть будьласка мені, коли кому буде зручно завтра зідзвонитись

- 09:00 - 14:00

- 16:00 - 21:00

Andrii Beha 9:44 PM


Якщо зараз всім зручно, то можна зробити кол і проговорити базові речі і поділитись (edited)

3
9:48
https://us05web.zoom.us/j/81835466950?pwd=djlUNWZ5ZzlzOXFnOSsyUDN5T0lDZz09
9:49
прохання всіх зайти в зум силка вище (edited)
Andrii Beha 10:01 PM
Оберіть варіант який вам подобаєтсья більше.
Як ми будемо писати наш проєкт.

- Ділимось строго на Беків і Фронтів. І Бек пише суто бек....

- Кожен бере задачу в трелло яка йому більше довподоби

2 5

Kateryna Klimchuk 10:06 PM


ketyclima@gmail.com

Андрій Курка 10:07 PM


anlikajw@gmail.com

Andrii Beha 10:09 PM


beha.andrii@gmail.com

Roman Tsiukh 10:09 PM


Посилання на таблицю у trello
https://trello.com/invite/b/GrzuRTMO/ATTI3d8c4c9b179c800b98d87993ea6ce5aa5CDF280B/project

1 reply
19 days agoView thread

Nadin Kovalenko 10:10 PM


nadina00@ukr.net

Nadin Kovalenko 10:11 PM


0673015043

3 replies
Last reply 19 days agoView thread

Kateryna Klimchuk 10:13 PM


+380663460366

Olena 10:13 PM
diachenkoelena2@gmail.com
10:13
+380638876698

Andrii Beha 10:15 PM


@channel Завтра буде колл о 20:00 - прохання всіх бути на ньому, QA - також стосується. (edited)

5 replies
Last reply 19 days agoView thread

Andrii Beha 10:32 PM


@channel Силка на телеграм канал для того щоб задати питання і отримати відповідь
https://t.me/+vPi7W7XEOnIyNDcy (edited)

Vovk Oksana 10:42 PM


oksvovk85@gmail.com

Olena 10:43 PM
Як стилізувати будемо?

1 reply
19 days agoView thread

Наталя Малиновська 10:49 PM


natalimalinovska57@gmail.com
0666540157

Kateryna Konovalova 10:52 PM


kytana2112@gmail.com

Кравчук Олександр 10:58 PM


the.sneg.sasha@gmail.com
December 15th, 2022

Наталія Тарасенко 11:21 AM


was added to проект-команда-6 by Катерина Кравченко.

Наталія Тарасенко 11:22 AM

Привет, команда!

Наталія Тарасенко 11:26 AM


replied to a thread:@channel Завтра буде колл о 20:00 - прохання всіх бути на ньому, QA - також
стосується.
Доброго дня, хочу поточнити колл буде тут, чи в зум?
View newer replies

Марія 1:04 PM
myklush@ukr.net
1:07
0673450324

Nadiia Khrystiuk 3:59 PM


@channel BACKEND

Доброго дня! ,на зв'язку Надія - ваш ментор з бекенду

Так як і обіцяла - відео та код по роботі з swagger-ui-express, і за авторизацією через

Google - як це робити

Вебінар swagger-ui-express - https://www.youtube.com/watch?


v=oQaoymCOW8o&feature=youtu.be

https://github.com/NadyaHristuk/lesson-swagger-googleOAUTH2 - код для swagger-ui-


express з вебінару/
Скидаю посилання на відео про роботу з гітом, - https://www.youtube.com/watch?
v=wFY5HVuQBgw .
______________________________________________________
Трохи про Swagger для тестувальників:
https://wallet-backend-1.herokuapp.com/api-docs/ – приклад, як виглядає свагер, до подібного проекту.
https://www.youtube.com/watch?v=KTAI8duJCWw - Swagger / OpenAPI: знаходимо спільну мову з
бекендом - тут написано як з цим працювати і що там написано
https://www.youtube.com/watch?v=aaFDBgPdXw4 - Що таке Swagger та OpenAPI за 3 хвилини
є варіант не тестувати бек - виходячи з концепції - тест тільки фронт, ну як би фронт працює, то бек
теж все надсилає
___________________________________
Альтернативи Хероку:
- https://render.com/ (https://www.youtube.com/watch?v=39ngI2PF43Q) працювати через yarn і треба
окремо вказати в package версію ноди, бо Render по дефолту брав 14 версію, а вона не підтримує
нові методи строк/масивів. Краще робити - build command - yarn, start command - npm run start
- www.cyclic.sh
- https://fly.io/
- https://vercel.com/ - тут точно не вийде зробити свагер, тому свагер краще класти
на https://swaggerhub.com/
____________________
для роботи з базою -
витагяємо req.user._id з прошарку а дату з req.params.date
і робимо запит
MyEat.find({owner: req.user._id, date: req.params.date})
і все, ми маємо що та людина їла і в який конкретний деньНЕ ЗАБУВАЙТЕ ПРО
ТЕСТУВАЛЬНИКІВ!! ВОНИ ЧАСТИНА ВАШОЇ КОМАНДИ - НЕХАЙ ВОНИ СЕБЕ
ПОЧУВАЮТЬ САМЕ ТАК! А НЕ ЗАКИНУТИМИ ТА НЕПОТРІБНИМИ! НЕХАЙ ВОНИ
ТЕЖ ВІДЧУЮТЬ РОБОТУ В КОМАНДІ ТА ЯК ВІДБУВАЄТЬСЯ ПРОЦЕС РОЗРОБКИ!
Поділитись з ними цим досвідом. Він їм дуже потрібен.
image.png

NadyaHristuk/lesson-swagger-googleOAUTH2
Stars
2
Language
JavaScript
Added by GitHub
Pinned by Kateryna Klimchuk

Roman Tsiukh 4:29 PM


Всім доброго вечора, дублюю посилання на trello
https://trello.com/invite/b/GrzuRTMO/ATTI3d8c4c9b179c800b98d87993ea6ce5aa5CDF280B/project-
reactnode

Andrii Beha 7:59 PM


Нова силка на Зум.https://us05web.zoom.us/j/85252431129?
pwd=N2xrUUNnYkoxS0JHMUxZNFVDenA0QT09

2 replies
Last reply 19 days agoView thread

Наталя Малиновська 8:08 PM


NataliaMalynovska - github

3 replies
Last reply 19 days agoView thread

Kateryna Klimchuk 8:09 PM


kateryna-klimchuk

Kateryna Konovalova 8:10 PM


Konovalova-Kateryna

Nadin Kovalenko 8:14 PM


https://github.com/Nadina00
Nadezhda Kovalenko
Repositories
31
Added by GitHub

Olena 8:14 PM
ElenaDiachenko

Andrii Beha 8:30 PM


Бекенд - https://github.com/andriibeha/slim-moms-backend
Фронтенд - https://github.com/andriibeha/slim-moms-frontend

Olena 9:18 PM
доступ до БД?

4 replies
Last reply 19 days agoView thread
Vovk Oksana 9:20 PM
https://github.com/OksanaVovk
Repositories
32
Added by GitHub

Olena 9:32 PM
Я не бачу схем в трелло...

Кравчук Олександр 9:53 PM


https://github.com/the-sneg
Sasha Kravchuk
Eat, Sleep, Code, Repeat!
Location
Slavuta, Ukraine
Repositories
31
Followers
1
Added by GitHub
December 16th, 2022

Марія 11:45 AM
https://github.com/MariiaLutska
MariiaLutska
Repositories
32
Added by GitHub
December 17th, 2022
This message was deleted.
1 reply
17 days agoView thread

nadina00 4:21 PM
left проект-команда-6. Also, Alex Bosak joined.
December 19th, 2022

Roman Tsiukh 3:32 PM


Доброго дня!
Подключиться к конференции Zoom
https://us05web.zoom.us/j/82839200914?pwd=NXYzYWRSSzZnUEprWnlVSHJjdld0UT09
Время: 20:30, 19 дек. 2022
December 20th, 2022

Nadiia Khrystiuk 1:21 PM


Что делать когда зарегестрировались, куда дальше перенаправлять юзера, или ему в
регистрации отдавать токен?
Ответ - вы на фронте его регистрируете, потом пришел ответ об благополучной регистрации на
фронт, вы можете ж сразу сделать следующий запрос на логинизацию прямо в этом же компоненте,
никуда не переходя, передав туда логин и пароль? Вы это делаете и получаете в ответ уже ответ с
токеном, а дальше уже перекидывайте его на страницу с для ввода информации.
https://www.infoveloz.com/storage/11/09/14/15/fit722x442/1563487791_192844.jpeg
(73 kB)
https://www.infoveloz.com/storage/11/09/14/15/fit722x442/1563487791_192844.jpeg
December 21st, 2022

Ivetta Dashkova 1:05 PM

@channel Всім привіт Кажіть, як Ваші справи? Чи з’явились в команди до мене якись-небудь
питання? Як загалом проєкт і взаємодія з QA?

15 replies
Last reply 10 days agoView thread
December 26th, 2022

Ivetta Dashkova 4:29 PM


@channel привіт всім, як ваші справи? фронт вже відправили тестувальникам? як взагалі взаємодія?
Бо дуже хочеться вже бачити посилання на вашу реальну сторінку з актуальними змінами та код

December 27th, 2022

Катерина Кравченко 2:28 PM


@channel Друзі, привіт) як ви?) чи встигаєте до завтра все доробити?
December 28th, 2022

Roman Tsiukh 7:39 PM


Добрий вечір.
Подключиться к конференции Zoom
https://us05web.zoom.us/j/88540070568?pwd=WS8yT0RhQVVNeHlqVUtBMHpqbUxDUT09
Время: 28 дек. 2022 20:30, Киев
December 30th, 2022

Ivetta Dashkova 3:07 PM

@channel Всім привіт вже бачила Ваш захист в запису, Ви круті!!! Пишаюся Вами і хочу
Вас привітати, колеги) Як каже Притула, ЦЕЙ ДЕНЬ НАСТАВ ! Бажаю Вам поскоріш знайти свою

роботу мрії і, сподіваюсь, ще зустрінемось на комерційних проєктах не втрачаємо


зв’язок https://www.linkedin.com/in/ivettadashkova/P.S. Тімлід або Скрам відпишіть мені, будь ласка,
хто чим займався на проєкті і поверхово хто яку саме таску робив. Нашталт, Максим - фронт,
сторінка реєстрації, Діана - бек, ендпоінт підрахунку калорій

Message проект-команда-6
Катерина Кравченко 10:52 AM

@channel Всім привіт

Рада вітати вас на блоці Node.js

Я ваш клієнт-менеджер на курсі @Катерина Кравченко


Прошу з усіх організаційних питань – одразу звертатися до мене!
Я з радістю відповім на всі ваші пропозиції та побажання тут у особистих повідомленнях)

Графік роботи мій і менторів залишається незмінним)


У менторів вихідний в ПН, у мене ПН-ПТ (10:00-19:00) в СБ та НД - вихідні.

Старт курсу: 17.10.2022

Розклад занять НЕ змінюється: ПН і ЧТ о 19:30.

ВАЖЛИВА ІНФОРМАЦІЯ:
Правила використання Slack залишаються незмінними:

У каналі #general я та викладач писатимемо важливу інформацію, що стосується


курсу

У каналі #random ви можете спілкуватися з усіх питань, домовлятися про зустрічі або
просто кидати смішні картинки пов‘язані з програмуванням)
Любі розробники, прошу вас не розслаблятися і також успішно завершити цей блок)

Попереду чимало об'ємних тем, але впевнена, що ви їх подолаєте


не забуваємо про кар'єрний сервіс та підготовку резюме)

Обіймаю

Бережіть себе

4 1 1

Віктор Карнидал 11:05 AM


joined #general along with 16 others.

Vasyl Gendzeliuk 10:23 PM


залив приклади з першої лекції на github https://github.com/vasergen/nodeJS-48
GitHub
GitHub - vasergen/nodeJS-48
Contribute to vasergen/nodeJS-48 development by creating an account on GitHub. (99 kB)
https://github.com/vasergen/nodeJS-48

9
October 19th, 2022

Катерина Кравченко 12:18 PM


@channel Всім привіт! Вакансія Intern FrontEnd Developer від компанії Elogic

Commerce.

Локація - Чернівці(офіс)

Англійська- від Upper-Intermediate

Ключові вимоги:
- HTML, CSS
- JavaScript
- Git
- Адаптивна верстка
- Володіння WordPress, Bootstrap буде додатковим плюсом

Навчання кілька годин на день, де компанія навчатиме технології Magento для


подальшого використання на проектах компанії. Вже після трьох тижнів є можливість
перейти на оплачуваний офер!

Детальніше про компанію - https://elogic.co/


Для подачі заявки пиши в телеграм @Kristian_GOIT - "Хочу в Elogic Commerce", напиши
номер своєї групи та прикріпи зафіналене кар'єрним сервісом резюме у форматі PDF
Elogic
Elogic Commerce — Ecommerce Development Company
We are a leading ecommerce development company with broad experience building powerful

online stores Our team of certified developers delivers awesome solutions to our
clients. (123 kB)
https://elogic.co/

1
October 20th, 2022
Катерина Кравченко 11:25 AM
@channel Народ, привіт)

як ви?) як вам викладач

Буду ради почути ваш фідбек в особистих


Ну і запрошую на заняття:

Тема: Модуль 1. Заняття 2

Час: в 19:30

Посилання на заняття: https://zoom.us/j/99698707683?


pwd=NFdsSVMyYTFUakNWY2ZIY2lEWUl1Zz09

Код підключення: goit Всі питання заздалегідь записуємо у файл

таблицяВсім гарного дня, обіймаю

4
October 21st, 2022

Vasyl Gendzeliuk 11:33 AM


@channel залив приклади з другої лекції на
github https://github.com/vasergen/nodeJS-48/tree/main/lesson02 (edited)
GitHub
nodeJS-48/lesson02 at main · vasergen/nodeJS-48
Contribute to vasergen/nodeJS-48 development by creating an account on GitHub. (99 kB)
https://github.com/vasergen/nodeJS-48/tree/main/lesson02

chm goit 3:07 PM

@channel Всім привіт Запис заняття NODE JS 48 Модуль1. Заняття 2(20/10/2022) -

уже доступний Посилання


ZOOM: https://zoom.us/rec/share/AiVMiUNjGnIHpVyg77Ahb7JqV3A3-nVzhbbsj4e-

S76hJ4C1dmjMV_XCJJdOZbMT.pCunky0BXsbX23Uk?startTime=1666283099000
Посилання YouTube: https://youtu.be/f3GpoL4FYR0 (запис YouTube в режимі

обробки)Спокійного дня
YouTube | GoIT
NODE JS 48 Модуль1. Заняття 2(20/10/2022)

chm goit 11:23 PM

@channel Всім привіт Запис заняття FSON 48 кар’єрна консультація - уже доступний

Посилання
ZOOM: https://zoom.us/rec/share/S8ho4XoXHTHe5G67ngxQfEdj6U8iTDcIOJeIRHfLdtt9o_aVXV

MRZ5P8vrMnMOWq.TN6VwGikvghjRHM8?startTime=1666367770000 Посилання
YouTube: https://youtu.be/auAkvA1pTzk (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
FSON 48 кар'єрна консультація

4 replies
Last reply 2 months agoView thread
October 24th, 2022

Катерина Кравченко 10:41 AM


@channel Любі мої студенти, як ви?)
Сподіваюсь що кожен з вас встиг до дедлайну виконати ДЗ, адже сьогодні ми починаємо

нову тему, тож запрошую вас на заняття Тема: Модуль 2. Заняття 1

Час: в 19:30

Посилання на заняття: https://zoom.us/j/95374715387?


pwd=RW9sK3RqWUdBS01KOE5QcDdkVjFmdz09

Код підключення: goit Всі питання заздалегідь записуємо у файл

таблицяВсім гарного дня, обіймаю


2
October 25th, 2022

chm goit 1:29 AM

@channel Всім привіт Запис заняття NODE JS 48 Модуль2. Заняття 1(24/10/2022) -

уже доступний Посилання


ZOOM: https://zoom.us/rec/share/3iEQb8RWoRdySBPes5cL4dJmALdSDhzwb8BeEpRqLM0KC8

6n1fCb5lz6SQmvZBoZ.c39A8lYL9mUrzvkq Посилання
YouTube: https://youtu.be/JWs0KNv8kP8 (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
NODE JS 48 Модуль2. Заняття 1(24/10/2022)

Vasyl Gendzeliuk 12:41 PM


@channel залив приклади з лекції 3 на
github https://github.com/vasergen/nodeJS-48/tree/main/lesson03 (edited)
GitHub
nodeJS-48/lesson03 at main · vasergen/nodeJS-48
Contribute to vasergen/nodeJS-48 development by creating an account on GitHub. (99 kB)
https://github.com/vasergen/nodeJS-48/tree/main/lesson03

7
October 27th, 2022

Катерина Кравченко 11:44 AM


@channel Привіт, друзі)
як ваші справи?) як Нода?

Рухаємось до вихідних, хто відпочивати, хто працювати, а хто робити ДЗ


Сучасні реалії майбутніх розробників вони такі)Чекаю всіх на занятті:

Тема: Модуль 2. Заняття 2

Час: 19:30
Посилання на заняття: https://zoom.us/j/91599707031?
pwd=dGY2M1VFNC84Q3pac0RUaHYxSEtKQT09

Код підключення: goit Всі питання заздалегідь записуємо у файл


таблицяБережіть себе!
October 28th, 2022

chm goit 12:23 AM

@channel Всім привіт Запис заняття NODE JS 48 Модуль2. Заняття 2(27/10/2022) -

уже доступний Посилання ZOOM: https://zoom.us/rec/share/IKQ18eufnFFetMHryy-

lBdk9OTi6eN-CKNYtJIfEzMSSaouSCyYWnMjg8kW6YEGE.pex2jWwhmKqkRiDq
Посилання YouTube: https://youtu.be/gl2x6-WZ9p4 (запис YouTube в режимі

обробки)Спокійної ночі
YouTube | GoIT
NODE JS 48 Модуль2. Заняття 2(27/10/2022)

Vasyl Gendzeliuk 11:14 AM


@channel залив приклади з лекції 4 на
github https://github.com/vasergen/nodeJS-48/tree/main/lesson04
GitHub
nodeJS-48/lesson04 at main · vasergen/nodeJS-48
Contribute to vasergen/nodeJS-48 development by creating an account on GitHub. (99 kB)
https://github.com/vasergen/nodeJS-48/tree/main/lesson04

2
October 31st, 2022

Катерина Кравченко 12:09 PM

@channel Всім привіт! Рухаємось далі, залишилось ще трішки, тому запрошую вас

на заняття Тема: Модуль 3. Заняття 1

Час: в 19:30
Посилання на заняття: https://zoom.us/j/95866469892?
pwd=am43YTFURFNFL2h4YWJJQjVLaXZhUT09

Код підключення: goit Питання: таблицяГарного настрою та до зустрічі

Катерина Кравченко 6:10 PM

@channel Друзі, всім привіт)

На жаль, через проблеми з інтернетом, Василь НЕ зможе сьогодні провезти заняття


Воно буде перенесено на СР о 19:30, дедлайн ДЗ 2 буде також перенесено на 02.11 о

23:45 Дякую вам за розуміння)

Бережіть себе

11 2
November 1st, 2022

Катерина Кравченко 9:00 AM


@channel Всім привіт! Марафон ІТ-технологій 2022 від партнерів GoIT - компанії

EPAM.
Якщо ти хочеш отримати сертифікат від EPAM, створити власний додаток та поповнити
своє портфоліо - тоді цей марафон саме для тебе!

На учасників чекає:
- 12 занять, на яких ви покроково пройдете етапи розробки проєкту
- 10 експертів ЕРАМ, які будуть ділитися практичними знаннями та досвідом
- 2 тижні інтенсивного навчання
- розробка проєкту для вашого портфоліо

Ключові вимоги: JavaScript

Старт: 7 листопада

Реєстрація завершується: 7 листопада о 17:00 (кількість місць обмежена, тому


реєстрація може бути завершена раніше)

Формат: щоденні онлайн-лекції з записом


Розклад: орієнтовний час занять 17:00, тривалість лекцій 1,5-2 години

Участь: безкоштовна

Мова занять: українська


Для подачі заявки переходи за посиланням:
https://training.epam.ua/Events/Details/4?
utm_source=telegram&utm_medium=sharing&utm_campaign=StudChatDnipro&lang=ua
training.epam.ua
EPAM Марафон ІТ-технологій 2022
Це спеціальний формат ЕРАМ University, до якого можуть долучитися всі бажаючі з
базовими знаннями та навичками написання коду. Учасники зможуть заглибитися в
розробку власного проєкту та крок за кроком з допомогою експертів ЕРАМ пройти увесь
шлях до готового додатку з нуля. (Not automatically expanded because 3 MB is too large. You
can expand it anyway or open it in a new window.)

4
November 2nd, 2022

Катерина Кравченко 12:02 PM

@channel Друзі, привіт)


Летимо сьогодні на заняття:

Тема: Модуль 3. Заняття 1

Час: в 19:30

Посилання на заняття: https://zoom.us/j/93508575582?


pwd=ekxscC9iOUFuSWQ3TGhPL2VBVkpadz09

Код підключення: goit Питання: таблиця ВАЖЛ

ИВЕ ПРОХАННЯ Наразі маємо ОПИТУВАННЯ, яке я дууууже прошу вас

пройти, дедлайн до 06.11. Оцінка 9 - 10 - все добре

Оцінка 7 - 8 - є зауваження (написати що саме)

Оцінка від 1 до 6 - то є погано (написати що саме) Нам важливо


зібрати ваш фідбек
7 хвилин часу, щоб пройти опитування та у кінці матимете невеличкий бонус від нас за його
проходження, але, я сподіваюсь, що на крутий фідбек вас мотивують не бонуси, а враження

від навчання До кожного ми повернемось особисто для опрацювання вашого


фідбеку.

Але звісно що щира оцінка "10 з 10" для нас також є МЕГА цінною
@channel розраховую на вашу активність до цієї задачки, тімліди - буде круто якщо

запостите опитування до своїх груп


знаю, що ви всі активні та відповідальні, тому мені дуже пощастило мати таку

найкрутішу команду

Катерина Кравченко 4:49 PM


@channel Навчався на логіста, займався продажем геймерської техніки та став
айтівцемСтаніслав Чехов — випускник курсу Fullstack Online і тепер працює React
Developer в компанії Shark Software. Працевлаштовувався на початку повномасштабної
війни — на 24-е лютого йому назначили 2 співбесіди, але довелось їх перенести. Буде що

колись розповісти нащадкам Про що відео

Нинішня ситуація на ринку праці ІТ

Що треба, щоб успішно пройти співбесіду (*пошепки — теорія)

3 години дивишся на код і не розумієш, що не так — таке буває, кріпіться


Відос тут: https://youtu.be/Qp8O7Z49h_8

Контакт ось це: https://www.linkedin.com/mwlite/in/stanislav-chekhov-


075a85228 (https://www.linkedin.com/mwlite/in/stanislav-chekhov-075a85228%22%20%5Ct
%20%22_blank)Вчіться і не засмучуйтесь, якщо щось не виходить — обов’язково

вийде
YouTube | GoIT
Був логістом, став програмістом. React Developer в Shark Software. Станіслав Чехов
linkedin.com
Sign Up | LinkedIn
500 million+ members | Manage your professional identity. Build and engage with your
professional network. Access knowledge, insights and opportunities.
linkedin.com
Sign Up | LinkedIn
500 million+ members | Manage your professional identity. Build and engage with your
professional network. Access knowledge, insights and opportunities.
November 3rd, 2022

chm goit 12:46 AM

@channel Всім привіт Запис заняття NODE JS 48 Модуль3. Заняття 1 - уже доступний

Посилання
ZOOM: https://zoom.us/rec/share/ULXi6lyHvRuPzK8dsDdSyEPW67llJT1OXc_D4TCIj4bDYF_GZ

lxvx3IXARR5w5yU.AkIRkDbgmTybL-oQ?startTime=1667409957000 Посилання
YouTube: https://youtu.be/Gbt57M0sTiM (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
NODE JS 48 Модуль3. Заняття 1

Катерина Кравченко 11:21 AM


@channel Всім привіт!

Ми з вами вже на середині блоку

Фінальний дедлан здачі ДЗ -04.12, а далі переходимо на командний проект, тому не

відкладайте здачу домашок)Запрошую на заняття

Тема: Модуль 3. Заняття 2

Час: в 19:30

Посилання на заняття: https://zoom.us/j/93026311954?


pwd=VjlUL3Y4UTJTcytFeWpBZUVEWXA1dz09

Код підключення: goit Питання: таблиця Також

нагадую вам про наше опитування Наразі маємо ОПИТУВАННЯ, дедлайн до


06.11. Оцінка 9 - 10 - все добре

Оцінка 7 - 8 - є зауваження (написати що саме)

Оцінка від 1 до 6 - то є погано (написати що саме) Нам важливо

зібрати ваш фідбек Вдалого та мирного дня

Vasyl Gendzeliuk 12:37 PM


@channel залив приклади з лекції 5 на
github https://github.com/vasergen/nodeJS-48/tree/main/lesson05

6
November 4th, 2022

chm goit 12:54 AM

@channel Всім привіт Запис заняття NODE JS 48 Модуль3. Заняття 2- уже доступний

Посилання ZOOM: https://zoom.us/rec/share/qXxBLof1_8PsnKCT611kSIECVBb8Y-

yVD5Z_wiZOuASQSvZ0WisqSRhdZhkLAaIc.jz7MyWlcLut9KEw3 Посилання
YouTube: https://youtu.be/QSVTUciRd3g (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
NODE JS 48 Модуль3. Заняття 2

Vasyl Gendzeliuk 11:23 AM


@channel залив приклади з лекції 6 https://github.com/vasergen/nodeJS-48/tree/main/lesson06

Катерина Кравченко 5:10 PM


@channel Привіт, на зв‘язку кар‘єрний сервіс!П‘ятничні плюшки замовляли? Done!Напевно
багато з вас вже познайомились з Dou.ua і використовуєте його на повну, проте раптом
серед маси корисних статтей не помітили дуже важливу. Якщо так, то тримайте колодязь
корисних сайтів та каналів для пошуку роботи:
https://dou.ua/forums/topic/37190/Від себе додамо ще перелік корисних telegram-
каналів, які не зазначені в статті:

https://t.me/ua_working

https://t.me/Job_IT_Junior

https://t.me/happymonday

https://t.me/workadojobs

https://t.me/jobzilla_ua
Якщо маєте індивідуальні питання до кар’єрного консультанта, пишіть запит на
пошту careerservice@goit.ua

6
November 7th, 2022

Катерина Кравченко 10:55 AM


@channel Всім привіт)

Як ви? Cподіваюсь ви в безпеці цілі та здорові Чекаємо вас сьогодні на занятті:

Тема: Модуль 4. Заняття 1

Коли: 19:30

Посилання на заняття: https://zoom.us/j/94461618409?


pwd=VjlUL3Y4UTJTcytFeWpBZUVEWXA1dz09

Пароль: goit

Ідентифікатор: 944 6161 8409

Питання: таблицяБережіть себе (edited)

3 replies
Last reply 2 months agoView thread
November 8th, 2022
chm goit 1:30 AM

@channel Всім привіт Запис заняття [FSon48] Модуль 4. Урок 1 - Аутентифікація - уже

доступний Посилання ZOOM: https://zoom.us/rec/share/5uodVerJmVzTtKGR9-

UK43qS33PVMeeiGTcszFZC8H4oltRxj3HA50RW41S8RO5-.dTe1VwlPbzRVEGRp Посил
ання YouTube: https://youtu.be/vFxy2ZW0WPk (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
[FSon48] Модуль 4. Урок 1 - Аутентифікація

Vasyl Gendzeliuk 10:30 AM


@channel залив приклади з лекції 7 https://github.com/vasergen/nodeJS-48/tree/main/lesson07

6
Pinned by Катерина Кравченко

Катерина Кравченко 12:49 PM

@channel Друзі, привіт Сьогодні відбудеться благодійний вебінар на підтримку ЗСУ

від нашого випускника для GoIT Community — запрошуємо вас

Кількість місць обмежена, тож підключайтеся вчасно:)«Вступ до машинного


навчання. Погляд з висоти пташиного польоту». Зустрічаємось 8 листопада о 19:00
в Zoom.

Спікер: Сергій Головко, Senior Fullstack Software Engineer у компанії SoftServe.Ця


лекція — поверхневий огляд машинного навчання (Machine learning - ML). Якщо ви не
знаєте нічого або майже нічого про ML, а ось це ВІДЕО виглядає для вас, як магія, тоді

ця зустріч якраз для вас!План зустрічі: Поговоримо про різницю між традиційним
програмуванням та ML.

Пройдемось по типах та ключових принципах ML.

Розглянемо стадії типового ML-проєкту та пастки, які можуть вас підстерігати на


цьому шляху.
Побачимо, як це працює на практиці в мовах JS та Python.Тема не дуже проста, але
Сергій пояснить її на максимально простих прикладах. А вам знадобиться цікавість,

уважність та трохи пригадати шкільний курс алгебри (але зовсім трохи). 08 листопада
(сьогодні)

19:00 за київським часом

ZOOMТепер про актуальне та найголовніше. Дякуємо збройним силам за те, що в


цей час можемо ось так збиратися та займатися улюбленою справою, вчитися та
розвиватися! Держава робить багато для лікування військових, які проходять реабілітацію
у військовому госпіталі та інших київських лікарнях. Проте зараз є нестача знеболювальних
препаратів, а також не вистачає теплого одягу.Хороша знайома Сергія та
волонтерка Віра Палубок (Тимошенко) буквально “живе” цим та займається допомогою

нашим хлопцям та дівчатам у шпиталях, де допомоги держави недостатньо. Хто

бажає допомогти — ось можливі варіанти: 5457082226064975 (Приват, Віра


Палубок)

5375411200354806 (Моно, Сергій Головко)

Банка моно https://send.monobank.ua/jar/7c5QrWPfBFЗа порядність та чесність Сергій


ручається. Ваш внесок у прямому сенсі зігріє нашого захисника і допоможе йому швидше
одужати. Дякуємо за кожну гривню.
telegram-cloud-document-2-5427117582849154063.jpg

November 9th, 2022

Катерина Кравченко 1:20 PM

@channel Друзі, ми збираємо 1 000 000 грн для дітей, які постраждали від війни.
Наша перша задача: київський медичний центр «Джерело».
В ньому безплатно приймають на реабілітацію до 50 дітей з усіх регіонів України щомісячно.

Дехто з дітлахів втратив батьків та дім, а зараз вимушений спати в підвалі на картонці

під час повітряних тривог. Ми хочемо придбати для них двоповерхові ліжка, матраци,
Starlink, їжу, дизель та пелети для обігріву. Ці кошти допоможуть
облаштувати не один, а декілька реабілітаційних центрів. І у тисячі малюків буде шанс

впоратись із психологічними наслідками війни та мати краще майбутнє. Долучайтеся


до збору!
Монобанка: https://send.monobank.ua/jar/A1W1qKxyyk

Також, думаю ви вже бачили нову ачівку в LMS, тож можна донатити одразу там
send.monobank.ua
Безпечний переказ коштів
Надсилайте безкоштовно та безпечно кошти

Serhii Dimov 7:31 PM


Лінка на заняття?

4 replies
Last reply 2 months agoView thread
November 10th, 2022

Катерина Кравченко 10:30 AM


@channel Привіт команда)Запрошую вас сьогодні на заняття:

Тема: Модуль 4. Заняття 2

Коли: 19:30

Посилання на заняття: https://zoom.us/j/98639910662?


pwd=UDBPaW5oTzhxOGQ1Q2ZKdTdNN0hhUT09

Пароль: goit

Ідентифікатор: 986 3991 0662

Питання: таблицяВсім вдалого дня

7
November 11th, 2022

chm goit 5:06 PM


@channel Всім привіт!)Запис заняття [FSon48] Модуль 4. Урок 2 - Аутентифікація - уже

доступний Посилання YouTube: https://youtu.be/zhYkcKNx-JAГарного вечера

YouTube | GoIT
[FSon48] Модуль 4. Урок 2 - Аутентифікація

Катерина Кравченко 6:14 PM

@channel Неймовірна команда, Усім доброго вечора пятниці


Всі вже бачили новини?

Я впевнена, що ми також з вами провели результативний та продуктивний тиждень

Але не забуваємо, дедлайн вже близько як і ЗСУ Тож давайте на цих


вихідних добряче попрацюємо і приділимо час навчанню та своєму розвитку, в сильній

країні мають бути сильні спеціалісти, якими ми з вами вже стаємо Я повернуся

до вас вже в понеділок, бережіть себе, донатьте на ЗСУ і допомагайте іншим


78nF.gif

12
November 12th, 2022

chm goit 10:00 AM


@канал всім привіт!
Друзі, якщо на вихідних, тобто у СУБОТУ ТА НЕДІЛЮ у вас з‘являються організаційні
питання по курсу, то сміливо звертайтеся до мене @chm goit, я зможу надати вам якісний

фідбек

Я з вами на зв’язку з 10:00 - 19:00 в суботу та неділю


Якщо у вас виникають технічні питання, то сміливо звертайтеся до вашого ментора в
Slack

Всім гарних і спокійних вихідних

2
November 14th, 2022

Катерина Кравченко 11:25 AM


@channel Всім привіт)

Як ви? Cподіваюсь ви в безпеці цілі та здорові Чекаємо вас сьогодні на занятті:

Тема: Модуль 5. Урок 1 - Робота із зображеннями. Тестування

Коли: 19:30

Посилання на заняття: https://zoom.us/j/93863425831?


pwd=K3R0ZEdPVm4yOWQrRFQzMm9NTWJHQT09

Пароль: goit

Ідентифікатор: 938 6342 5831

Питання: таблицяБережіть себе

2
November 15th, 2022

Vasyl Gendzeliuk 10:09 AM


@channel залив лекцію 8 і лекцію 9 на github

4
November 16th, 2022

chm goit 1:35 AM


@channel Всім привіт Запис заняття [FSon48] Модуль 5. Урок 1 - Робота із

зображеннями. Тестування - уже доступний Посилання


ZOOM: https://zoom.us/rec/share/HkjuekoXUlgu13ijfIIpDKTj2qMOrBfS-C-

QL94M29VF07e_K49HKlbl0al7Ah9G.yFDLUcN50NR0BkJ8?startTime=1668446979000
Посилання YouTube: https://youtu.be/s13AjO7OzTM (запис YouTube в режимі

обробки)Спокійної ночі
YouTube | GoIT
[FSon48] Модуль 5. Урок 1 - Робота із зображеннями. Тестування
November 17th, 2022

Катерина Кравченко 10:30 AM

@channel Привіт, команда

Як ваш настрій? Дуже сподіваюсь, що з вами все добре і ви в безпеці Чекаємо вас
сьогодні на занятті:

Тема: Модуль 5. Заняття 2 - Робота із зображеннями. Тестування

Коли: сьогодні о 19:30

Посилання на заняття: https://zoom.us/j/95363544646?


pwd=ck1PZGh6bzg1a2pCMHVHa3djcDR3UT09

Пароль: goit

Ідентифікатор: 953 6354 4646

Питання: таблицяБажаю всім гарного дня та мирного неба. Обійняла

2 replies
Last reply 2 months agoView thread
November 18th, 2022

chm goit 3:55 AM


@channel Всім привіт Запис заняття [FSon48] Модуль 5. Урок 2 - Робота із

зображеннями. Тестування - уже доступний Посилання


ZOOM:https://zoom.us/rec/share/WyC9oygTYTQfTrFzBybqkvQhk5en9AwDJxFtDwzGD2Z9xvCla

kWmNOxjLHrukJO_.WlnriPS0Xw1qXjg3?startTime=1668705780000 Посилання
YouTube: https://youtu.be/73eUJZjH8kQ (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
[FSon48] Модуль 5. Урок 2 - Робота із зображеннями. Тестування

Vasyl Gendzeliuk 12:53 PM


@channel залив лекцію 10 на github (edited)

Катерина Кравченко 8:28 PM

@channel Привіт, найкращим розробникам


як ваші справи?) ми мали ударний та доволі непростий тиждень, і, здавалося б, що все
виводило з рівноваги, але я знаю, які ви сильні і як цілеспрямовано продовжуєте

рухатися далі

Сміливі завжди мають право на щастя, і кожен день ми це доводимо, друзі)Попереду

вихідні і я бажаю кожному набратися сил та добити домашки, котрі лишилися


Не забуваємо про дедлайни і крок за кроком наближаємося до своєї мети, ми все

осилимо А ще, наша команда хотіла привітати вас із Днем Студента

Ви - наша гордість, і які б не випадали випробування, бийтеся мозком, талантами,

ерудицією і допомагайте ЗСУ З вами на вихідних буде ментор, для


допомоги з домашніми завданнями)
Я повернуся до вас вже в понеділок

Бережіть себе
g33j.gif

9 3
November 21st, 2022

Катерина Кравченко 11:10 AM

@channel Привіт

Команда, знаю що останні кілька тижнів достатньо демотивують та виснажують


Сучасні реалії такі, але я не маю жодного сумніву - що разом ми впораємось з усіма

труднощами та дійдемо до бажаної мети, головне пам‘ятайте заради якої цілі ви тут
Ми побудували з вами чудову команду, з якою дуже приємно працювати, тому завжди

пам’ятайте що ми з вами рухаємось разом та ви не одні


Завтра переходимо з вами до вивчення вже останнього 6 модуля, тож чекаємо всіх-всіх на

ранковому занятті Чекаємо вас сьогодні на занятті:

Тема: Модуль 6. Заняття 1


Час: о 19:30

Посилання на заняття: https://zoom.us/j/98440839796?


pwd=YTR1azZCdjJCdlVLMzdiUk03U1hYQT09

Пароль: goit

Ідентифікатор: 984 4083 9796

Питання: таблицяБажаю всім мирного дня і вдалого робоого тижня)


November 22nd, 2022

chm goit 2:30 AM

@channel Всім привіт Запис заняття [FSon48] Модуль 6. Урок 1 - Пошта. Вебсокети -

уже доступний Посилання


ZOOM: https://zoom.us/rec/share/tdykFAR1U5gZgOgQCWEsqecs7vY8fkkNcrTJ3FOCF6TzSBO

VmlHzgQ6my010mbiC.sGFaEOoDQqhQmx-O Посилання
YouTube: https://youtu.be/_IFcw57E5XU (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
[FSon48] Модуль 6. Урок 1 - Пошта. Вебсокети

Vasyl Gendzeliuk 10:37 AM


@channel залив лекцію 11 на github

6
November 24th, 2022

Катерина Кравченко 10:30 AM

@channel Привіт команда

Я щиро сподіваюся, що ви всі у безпеці і з вами все добре


Друзі, чекаємо вас на останньому занятті курсу) одначасно радісно і трішки сумно

Попереду у вас додача ДЗ (у вас буде не один, а 2 тижні доздачі домашок, до 11.12

) та фінальний командний проект. Рада буду всіх вас побачити на ньому) Чекаємо
вас сьогодні на занятті:

Тема: Модуль 6. Заняття 2

Час: о 19:30

Посилання на заняття: https://zoom.us/j/96640141211?


pwd=VkhpQ3YrSHVOaVJTR09HcEQ4SFhaQT09

Пароль: goit

Ідентифікатор: 966 4014 1211

Питання: таблицяБажаю всім мирного дня

Катерина Кравченко 7:16 PM


@channel
Команда нагадую, що чекаємо вас за 15 хвилин на занятті. По можливості підключайтесь:

Тема: Модуль 6. Заняття 2

Час: о 19:30

Посилання на заняття: https://zoom.us/j/96640141211?


pwd=VkhpQ3YrSHVOaVJTR09HcEQ4SFhaQT09

Пароль: goit

Ідентифікатор: 966 4014 1211

Питання: таблицяХорошого вечора

1 6
November 25th, 2022
Vasyl Gendzeliuk 10:45 AM
@channel залив лекцію 12 на github

chm goit 6:53 PM

@channel Всім привіт Запис заняття [FSon48] Модуль 6. Урок 2 - Пошта. Вебсокети -

уже доступний Посилання ZOOM: https://zoom.us/rec/share/I-


MJQAaN_F4JEjLTqKhgZeGQfsxF_toevR2jKmfmXR4fKgMNdZGB34xzjIkuLzob.v4MQstfZnwVCG

EC9?startTime=1669310753000 Посилання
YouTube: https://youtu.be/w9caV_uzcSI (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
"[FSon48] Модуль 6. Урок 2 - Пошта. Вебсокети"

Катерина Кравченко 7:00 PM

@channel Привіт незламні

Команда, ми з вами стрімко відпрацювали ще один тиждень, з чим я вас і вітаю


Кожного дня на своєму прикладі ви доводите який ми сильний та незламний народ
Адже при будь яких умовах ви продовжуєте рухатись до своєї мети, що є унікальною

рисою Добро завжди перемагає зло

Темрява завжди змінюється на світло

Саме зараз ми будуємо нашу з вами історію Я бажаю кожному гарного, теплого та

мирного відпочинку Ви дуже круті, я вдячні всім вам за сміливість та стійку позицію

вчитися не дивлячись ні на що
А ми побачимось з вами у понеділок

Бережіть себе (edited)


FGv2.gif

1 reply
1 month agoView thread
November 29th, 2022

Катерина Кравченко 1:05 PM


@channel Друзі, всім привіт))
Ми бачимо як ви працюєте над вашими резюме і сподіваємось вже ходите на

співбесіди

Вже завтра 30.11 о 19:30 у вас буде заняття на тему: “Peer-to-peer співбесіди”
Цей вебінар проведе автор курсу з підготовки до технічної співбесіди, Senior Front End

Engineer - Анатолій Парубець

Ви розберете 3-5 технічних питань, а також попрактикуєтеся у проведенні peer-to-

peer співбесіди в парах.


Це дуже крутий досвід і раджу всім по можливості приєднатись)
Запис буде)

Всім гарного дня)

1 reply
1 month agoView thread
November 30th, 2022

Катерина Кравченко 11:33 AM


@channel Народ привіт!

Вже сьогодні о 19:30 у вас буде вебінар на тему: “Peer-to-peer співбесіди”


Цей вебінар проведе автор курсу з підготовки до технічної співбесіди, Senior Front End

Engineer - Анатолій Парубець

На вебінарі ви розберете 3-5 технічних питань, а також попрактикуєтесь у проведенні


peer-to-peer співбесіди в парах.
Для підготовки вже завантажила вам в LMS курс “Підготовка до технічної співбесіди”

- Cracking.js, він точно допоможе в проходженні майбутніх співбесід) Тема: Підготовка


до технічної співбесіди

Час: 19:30

Підключення: https://us02web.zoom.us/j/86001899493?
pwd=bXJwWFVzTnIzTTg5SWEzN3BWME1vUT09

Пароль: goit

Ідентифікатор: 860 0189 9493


Запис буде)Дякую, що разом з нами!

Всім мирного дня (edited)

Катерина Кравченко 6:04 PM


@channel друзі, перепрошуємо, не вдалося уникнути форс - мажору і ми вимушені
перенести заняття по підготовці до технічної співбесіди через зникнення електроенергії у
викладача.

Буду тримати вас в курсі та інформувати про всі зміни якнайшвидше

Бережіть себе

2 2
December 1st, 2022
Pinned by Катерина Кравченко

Катерина Кравченко 12:31 PM

@channel Привіт команда


Як ви? Як ваші справи?
Сподіваюсь ви і ваші рідні у безпеці
Нагадую про фінальний дедлайн ВСІХ ДЗ 11.12 (23:59), а 14.12 вас чекає планування з

ментором і поділ на команди


Проект буде тривати 2 тижні і вже 28.12 будемо чекати на ваші роботи)
Прошу з користю провести цей час і доздати всі-всі дз, це вже останній крок в айтішне

майбутнє Для студентів, що вже доздали всі дз по Ноді, ми вас без роботи не

залишимо Отже, у вас на платформі відкритий курс React Native.


React Native - це інструмент для розробки мобільних додатків, який використовує базу з
React. Для того щоб опанувати React Native вам потрібно згадати, як працює React та CSS.
Вивчення даного курсу займе приблизно 2 тижні, в курсі маємо 7 модулів, 2 дні на 1 модуль.
Технологія React Native зараз актуальна на ринку, тому, що всі сервіси наразі стають
цифровими і їм необхідні мобільні додатки.

Отже, курс відкритий, також з цього тижні у нас є ментор Сергій Стахура
Якщо задаєте запитання і чекаєте відповідь ментора на нього то обов’язково тегайте
Сергія @grey4uk14 StakhuraДрузі, і нагадую регламент, якщо до дедлайну не будуть здані
всі ДЗ у термін:

1. Завершити навчання без принятих всіх дз. У такому разі у вас в сертифікаті буде вказано,
що блок ноду ви прослухали, адже немає всіх прийнятих ДЗ і проекту.
2. Поставити поки що навчання на паузу, якщо ви розумієте, що занадто багато всього на
вас впало. Це нормально, це життя і за весь курс будь-що може бути. Заморозка
здійснюється до 1 року і протягом цього часу ви будь-якої миті можете відновитися на
курс. Матеріали також залишаються. Ми будемо на вас чекати)
3. Відразу перейти в інший потік, який почав навчання пізніше нашого. Ви переходите на той
модуль, де була принята остання дз). У всіх 3-х випадках згорає гарантія повернення
коштів в разі непрацевлаштування протягом 6 місяців.

Бережіть себе (edited)

7 replies
Last reply 1 month agoView thread
December 14th, 2022

Катерина Кравченко 2:05 PM

@channel друзі, ATTENTION


маленьке опитування від кар'єрного сервісу) пам'ятайте, що у вас завжди є можливість
зафіналити резюме, відвідати кар'єрну консультацію та дізнатися багато корисного про

працевлаштування в ІТ
ставимо
- якщо вже працевлаштовані

- на стажуванні

- в дуже активному пошуку

- поки не збираюся входити в ІТВсім вдалого дня і бережіть себе

2 2 35 11

2 replies
Last reply 20 days agoView thread
December 15th, 2022

chm goit 12:38 AM

@channel Всім привіт Запис заняття Технічний дзвінок Frontend. Проєкт 48 фсон - уже

доступний Посилання ZOOM: https://zoom.us/rec/share/BxG-


Q5pwqiZIhk17eVORSZvYreMtS6B23KAMqEHIS2qNErlUnmGgRU9FO749Gn1P.041hNM_h8CE

BN3R1?startTime=1671038996000 Посилання
YouTube: https://youtu.be/7n_CDzptSNk (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
Технічний дзвінок Frontend. Проєкт 48 фсон
12:39

@channel Всім привіт Запис заняття Технічний дзвінок Backend. Проєкт 48 фсон - уже

доступний Посилання
ZOOM: https://zoom.us/rec/share/zgZEefPtUKpwPRLqLpJM6l0tynJ7VDCHMH9YAJYmL1ul214H

FkoU5ipGD8hC3l-b.iyRn1TPBSSNwJhTK?startTime=1671042756000 Посилання
YouTube: https://youtu.be/o1joxq_HEpQ (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
Технічний дзвінок Backend. Проєкт 48 фсон
December 22nd, 2022
Катерина Кравченко 4:50 PM
@channel Привіт)

На звʼязку карʼєрний сервіс Знаю, що дехто з вас уже з офферами!

Хтось за 2022 став частиною ️ІТ-компанії ️, хтось підкорив ️фріланс ️і


вже отримав перші гроші за проєкт. GoIT пишається вами!Яким би складним рік не був для

нас усіх, ми змогли! Але знаємо, що серед вас є ще ті, хто в процесі пошуку роботи.
Бажаємо, щоб 2023 обов’язково вам приніс класний оффер, або замовлення на фрілансі!

Нагадуємо, що в разі виникнення питань по працевлаштуванню ви можете


звертатись на пошту кар'єрного сервісу careerservice@goit.ua.

Ми завжди готові допомогти створити вашу історію успіху! А ну зізнавайтесь, кому


2022 надав можливість відчути себе в новій ролі та в новій професії? Просимо

приділити хвилинку часу та заповнити форму КЛІК


photo_2022-12-22_16-48-18.jpg

December 24th, 2022

chm goit 10:45 AM


@channel всім привіт!
Друзі, якщо на вихідних, тобто у СУБОТУ ТА НЕДІЛЮ у вас з‘являються організаційні
питання по курсу, то сміливо звертайтеся до мене @chm goit, я зможу надати вам якісний

фідбек

Я з вами на зв’язку з 10:00 - 19:00 в суботу та неділю


Якщо у вас виникають технічні питання, то сміливо звертайтеся до вашого ментора в

Slack

Всім гарних і спокійних вихідних


December 27th, 2022
Катерина Кравченко 3:01 PM
@channel Команда, привіт)
бачу ваші неймовірні старання і шалену роботу над проектом, ви круті)
Ми орієнтувалися щодо захиступ проєктів на завтра, та бачимо, що не всі команди готові і
треба трішечки часу, щоб все пофіксити та допрацювати.як ви дивитесь на гарні

новини ?)) ПРЕЗЕНТАЦІЮ ПРОЄКТІВ ПЕРЕНОСИМО НА ЧЕТВЕР (29.12) о 19:00

Тімліди, розповсюдьте інформацію до ваших команд Ті хто вчасно


виконав роботу - молодці, та ви матимете час трошки відпочити)

Ті хто за зрозумілих причин не мав можливості якісно доопрацювати проєкт - маєте


для цього ще 1 день)
Декілька слів про те, як буде проходити презентація та наші наступні кроки:

Зустрічаємось о 19:00 за посиланням в ZOOM, котре ви отримаєте в чт в цьому


каналі;

Команду презентує тімлід або скрам майстер або хтось інший з команди, якщо в
перших двох нема можливості провести презентацію;

На презентацію роботи є 5-7 хвилин, команди презентують роботу одна за одною, по


черзі від першої та далі

Запис обов'язково буде Ви величезні молодці, що не дивлячись ні на які


перешкоди знаходите час, бажання та ресурс для того, щоб не зупинятися та

рухатись далі
Пишаюсь вами, бережіть себе!

8
December 29th, 2022

Катерина Кравченко 11:26 AM

@channel Всім привіт, мої любі випускники

сподіваюся, що з вами все добре і ви у безпеці, бережіть себе


Сьогодні зустрічаємося на презентації проектів

Не можу повірити, що вже фініш, а ви?) УВАГА

Сьогодні о 19:00 презентація проєктів

Прошу не запізнюватися Для того, щоб усім було комфортно на


презентації, попрошу користуватися деякими рекомендаціями:
1. Хто не говорить - вимикає мікрофон;
2. Команду презентує тімлід або скрам майстер або хтось інший з команди, якщо в перших
двох нема можливості провести презентацію;

3. Питання до команди можна писати в чат, а я їх буду озвучувати) Підключення:

Зум: https://zoom.us/j/96201578000?pwd=MmdMMTdReHFCVkF1cEUwMWcxVG42UT09

Пароль: goit

На презентацію роботи команда матиме 5 хвилин !! 4. Порядок виступів:

проект-команда-2

проект-команда-1

проект-команда-3

проект-команда-4

проект-команда-5

проект-команда-6Всім бажаю удачі і обіймаю вас, бережіть себе

Катерина Кравченко 8:39 PM

@channel Мої любі випускники

якось одночасно радісно і трішки сумно)


я хочу привітати кожного з вас, ви круті і кожен із вас моя найбільша гордість
Так тримати, все вийде, що запланували Ми вдячні вам за стійкість та

незламність
і я маю для вас декілька новин)

 Як обіцяли, надсилаю вам посилання на GoIT


Community: https://t.me/+UoSLpujM5Q_UK4G3 (всі важливі посилання є в презентації, її
також додаю)

 Також, обов'язково заповніть, будь ласка, форму задоволеності проектом Вона

маленька, але дуже важлива для нас посилання

 Нагадую про те, що Тім-Ліди мають заповнити форму участі у проекті

 і опитування від кар'єрного сервісу


 Друзі, сертифікати будуть до завтра (20:00) у вас на емейлах, все обов'язково

відправимо)

ATTENTION

А також, якщо ви працевлаштувалися або на стажуванні - обов'язково діліться цією


радісною новиною з нами, ми дуже пишаємося історіями успіху наших випускників і будемо

запрошувати вас до запису крутезних мотивашок


Так само ми радіємо і вашим відгукам про навчання в
GoIT https://jobs.dou.ua/companies/goit/reviews/
Коли напишите відгук - прикріплюйте мені його скрін в особистих повідомленнях, з

мене крута плюшка! Не можу вас залишити без бонусів за такі приємності))
А також передаю в чат з Сашею Репетою, Андрієм Данилко, Василем Гендзелюком та

менторами) вони страшенно люблять читати відгуки своїх студентів Дякую, що

ви разом з нами

Вам бажаю мирного вечора і бережіть себе, обіймаю


2 files
chm goit 11:40 PM

@channel Всім привіт Запис заняття FSon 48 Презентації проєктів - уже доступний

Посилання ZOOM: https://zoom.us/rec/share/8NIxDCoz68DLO-


moyqkL8g4HbToQr6lBxtY2TaaZ9oIqQjwfhRe6KLVrB5gWgm8F.Y-GNVmGi9TrPBBLN?

startTime=1672333215000 Посилання YouTube: https://youtu.be/XPGfxLIrOaU (запис

YouTube в режимі обробки)Спокійної ночі


YouTube | GoIT
FSon 48 Презентації проєктів
December 31st, 2022

Катерина Кравченко 11:00 AM

@channel Привіт, мої любі


Кожного дня я бачила вашу витримку та жагу до навчання, і це не може не викликати повагу

та неймовірну гордість бути поруч з такими людьми адже вас не зупинила ні війна, ні
постійні відключення електроенергії, і я впевнена, що вже немає такої перешкоди, яку ми з

вами не зможемо подолати І в наступному році ми з вами обов'язково запалимо ще

яскравіше, ніж в цьому Попереду в нас новорічні свята


Я хочу привітати вас та побажати ніколи не втрачати цей вогник у ваших серцях,

яким ви запалюєте все навколо Нехай мрія кожного з вас обов’язково

здійсниться
Проведіть цей час з рідними, та дозвольте собі поринути в цю неймовірну

атмосферу казки Так заведено, що в кінці року всі підводять підсумки, тому
пропоную нам не відставати і також поділитись в коментарях успіхами та особистими

перемогами в цьому році! А також не забувайте ділитися з нами вашими

історіями працевлаштувань з усіма з радістю запишемо мотивашки та дуже

приємно читати ваші відгуки

Зустрінемось в наступному році! Бережіть себе


https://i.gifer.com/1atc.gif
React

@канал Народ, привіт)


Традиційно запрошую вас сьогодні на заняття:

Тема: Модуль 6. Заняття 2

Час: 19:30

Посилання на заняття: https://us06web.zoom.us/j/85655165202?


pwd=eDJ1SzMwcnM5bllhZ3lCdSs3bFE0dz09

Питання: таблицяБережіть себе

4 2
23 сентября 2022 г.

Viktoriia Shynkar 0:00


@канал Всім привіт!)Запис заняття FSon 48 Модуль 6 Заняття 2 (22/09/2022) - уже доступний

Посилання
Zoom: https://us06web.zoom.us/rec/share/gvGaH7QovuClTniPUmDyKQNWtQ9QmjOLNwhmkzNOWXj

sJ3i8Gjvk_myiViqrRgjz.2fCLcPBx5BzVK04O?startTime=1663864117000 Посилання

YouTube: https://youtu.be/Y3QQs0tqLH8 (запис YouTube в режимі обробки)Спокійної ночі

YouTube | GoIT
FSon 48 Модуль 6 Заняття 2 (22/09/2022)

3
26 сентября 2022 г.

Катерина Кравченко 12:54


@канал Привіт, команда)
Як ваші справи? Як вихідні?)
Нагадую, що чекаємо на вас сьогодні на занятті:
Тема: Модуль 7. Заняття 1

Час: 19:30

Посилання на заняття: https://us06web.zoom.us/j/86812812589?


pwd=MkZWYkNKQXF4R0dnVktLa2tIOEFwdz09

Питання: таблиця ВАЖЛИВО На цьому

тижні друге заняття буде не в ЧТ, а у СР , також о 19:30Гарного дня

6 1

Viktoriia Shynkar 23:58


@канал Всім привіт!)Запис заняття FSon 48 Модуль 7 Заняття 1 (26/09/2022) - уже доступний

Посилання Zoom: https://us06web.zoom.us/rec/share/Tsji0b2jiYGlbmRKc6rIl4gY-b-


IHgqy6zATWNeNrj973FlRCVH1NZNg3-mQmu_-.9q3wNXOO74dBazB8?startTime=1664209837000

Посилання YouTube: https://youtu.be/OQhCGLcxjfY (запис YouTube в режимі

обробки)Спокійної ночі
YouTube | GoIT
FSon 48 Модуль 7 Заняття 1 (26/09/2022)

2
27 сентября 2022 г.

Катерина Кравченко 14:34


@канал Друзі, всім привіт)

Час іде і наша платформа також невпинно розвивається

Тому ми поспішаємо до вас із новими оновленнями

Ви знаєте, як важливий нам ваш фідбек по навчанню

Того після 7го модуля на вас чекає маленька вкладочка "Рефлексія"


Вона є обов'язковою, тому будемо раді побачити ваш фідбек по навчанню безпосередньо на
платформі

Він займе не більше 3-5 хвилин, але дасть нам шанс почути вас і стати краще Бережіть себе

8
28 сентября 2022 г.

Катерина Кравченко 11:48


@канал Привіт, команда)Нагадую, що чекаємо на вас сьогодні на занятті:

Тема: Модуль 7. Заняття 2

Час: 19:30

Посилання на заняття: https://us06web.zoom.us/j/84221504047?


pwd=cmFtQjhrdDhReFBWUlV4d1VRV3Jhdz09

Питання: таблицяГарного дня

3 1

Viktoriia Shynkar 23:50


@канал Всім привіт!)Запис заняття FSon 48 Модуль 7 Заняття 2 (28/09/2022) - уже доступний

Посилання Zoom: https://us06web.zoom.us/rec/share/uRk6ZwudNrUx52n4LooA0vXb-


cWs6d79T7V_ISjqN3AJ2YWR9kdoBygxfhPujx8M.BluPxEpNR2g6oKW1?startTime=1664382542000

Посилання YouTube: https://youtu.be/RvQbrC35DNQ (запис YouTube в режимі

обробки)Спокійної ночі
YouTube | GoIT
FSon 48 Модуль 7 Заняття 2 (28/09/2022)

1
29 сентября 2022 г.
Катерина Кравченко 9:00
@канал Друзі, привіт)
Нас з вами друг і приклад для наслідування Олександр Репета потребує маленької нашої допомоги,
а саме надати свій фідбек по 11 та 12 заняттю програми Реакт

ФОРМА Дякую кожному (отредактировано)

9
30 сентября 2022 г.

Катерина Кравченко 11:00


@канал Всім привіт! Вакансія Junior Full Stack Developer (Node.js + React.js) від компанії

Springs

Локація- віддалено

Англійська- від Intermediate

Ключові вимоги:
- HTML, CSS
- JavaScript
- React.js/Node.js

Для подачі заявки переходи за посиланням:


https://jobs.dou.ua/companies/springs/vacancies/196263/
ДОУ
Junior Full Stack Developer (Node.js + React.js)
Springs is a software company that has been providing a full cycle of product development for 5 years. The
company has implemented over 100 projects. Satisfied customers use products in more than 10 countries on
3 continents.

Катерина Кравченко 13:38


@канал Всім привіт!
Відкритий набір на стажування FullStack(React.js + Nodejs) з можливістю подальшого
працевлаштування в компанію Zenbit

Локація - віддалено

Англійська- від Intermediate

Ключові вимоги:
- JavaScript
- React.js
- Node.js
По закінченні стажування ви отримаєте рекомендаційний лист або трудовий договір від компанії.

Етапи рекрутації:
- виконати тестове завдання
- пройти HR співбесіду
- пройти тест на знання англійської

Тривалість - 3 місяці

Початок - 01.11.2022

Детальніше про стажування:


https://zenbit.tech/internship-full-stack/
Для подачі заявки переходи за посиланням:
https://docs.google.com/forms/d/e/1FAIpQLSeixQKWyxBvZE94RhTvw_DlVe15b-
91qn8GGso2WBrpBGmlIA/viewform
ZenBit
Node.js Internship - ZenBit
Internship at Node.js + React In 2.5 months you will get a full immersion in work, and experience writing
complex applications from scratch.
Est. reading time
7 minutes
3 октября 2022 г.

Катерина Кравченко 12:01

@канал Народ, привіт)


Як ви? теж у шоці, що вже жовтень, хоча все ще чекаєте на літо?)
Сьогодні вас чекає останнє заняття по 8 Модулю, заняття в чт не буде, АЛЕ на наступному тижні
додамо вам додаткове заняття по всім модулям, думаю так буде більше користі і більше питань
зможете розібрати)
А Сашко вас на занятті:

Тема: Модуль 8

Коли: 03.10.2022, 19:30

Посилання на заняття: https://us06web.zoom.us/j/89972376328?


pwd=Z3NQVlYrSXNqN2lHNFJyNDJvOTk1UT09
Код підключення: goit

Питання: таблицяБережіть себе

4 ответа
Последний ответ 3 мес. назадПосмотреть обсуждение
4 октября 2022 г.

Viktoriia Shynkar 1:01

@канал Всім привіт Запис заняття fson 48. Модуль 8 - уже доступний Посилання
ZOOM: https://us06web.zoom.us/rec/share/vxc5h8fsBUkgQo_uaGEmgb91Zgwx7e0bcDKKEOELVio-

AcRkaXOakiIXEWhMU8nU.Qc0t9E2ytqw9Hh-K?startTime=1664814545000 Посилання

YouTube: https://youtu.be/VJiX20fb1D8 (запис YouTube в режимі обробки)Спокійної ночі

YouTube | GoIT
fson 48. Модуль 8

Катерина Кравченко 9:00


@канал Всім привіт! Відкритий набір на програму інтернатури INTERN JAVASCRIPT з

можливістю подальшого працевлаштування в компанію Sigma Software


Встигни подати заявку! Кількість місць обмежена!

Локація- віддалено

Англійська - від Intermediate

Ключові вимоги - CSS, HTML, JavaScript, ReactJS


Чудова можливість отримати досвід та покращити свої навички в написанні кода, після чого
отримати оффер)

Детальніше про компанію - https://sigma.software/


Для подачи заявки переходи за посиланням:
https://career.sigma.software/internship/javascript-intern-2/
Sigma Software
Custom Software Development Company
Sigma Software development company offers turnkey solutions development and software development
teams. Learn how our 2000 experts can support a project. (177 КБ)
https://sigma.software/
Career Sigma Software
Intern JavaScript - Career Sigma Software
We welcome to join Sigma Software JavaScript Internship!

1
10 октября 2022 г.

Катерина Кравченко 10:53

@каналДрузі, усім привіт, нагадую, що головне це ваша БЕЗПЕКА Сьогодні буде


довільний день навчання і ментори постараються бути максимально на зв‘язку (але прошу з
розумінням віднестися до можливих довгих відповідей та перевірок дз)Будь ласка, не ігноруйте

тривоги і не піддавайтесь паніці

Направляйтесь в укриття Бережіть себе!

Люблю

21 2
12 октября 2022 г.

Катерина Кравченко 12:31


@канал Народ, всім привіт)
Як і обіцяли, на цьому тижні вас чекає додаткове заняття з Сашком Репетою

Коли: 14.10 о 19:30


А вже 16.10 вас чекає дедлайн ВСІХ ДЗ, і вже 17.10 ми заходимо з вами на останній блок

Ноди

Пам'ятайте, що ви великі молодці і прийшли майже весь курс і це круто

Я вірю в вас
Для студентів, які не встигли здати дз у термін, є кілька варіантів подій:

Піти далі з потоком без принятих всіх дз і у такому разі ви зможете доздати дз протягом
навчання на ноді, однак треба буде доплати 400 грн за МІСЯЦЬ перевірки ментором ваших дз. І
при випуску в сертифікаті буде написано, що у вас всі етапи - успішно пройдені.

Поставити поки що навчання на паузу, якщо ви розумієте, що занадто багато всього на вас
впало. Це нормально, це життя і за 10 місяців навчання будь-яке може бути. Заморозка здійснюється
на невизначенний термін і протягом цього часу ви будь-якої миті можете відновитися на курс.

Матеріали також залишаються. Ми будемо на вас чекати

Відразу перейти в інший потік, який починався пізніше нашого. Наприклад на 6-й, 5-й або
3-й модуль і т.д. Ви переходите орієнтовно на той модуль, де була принята остання дз)

Бережіть себе і близьких

Обійняла

10

2 ответа
Последний ответ 3 мес. назадПосмотреть обсуждение
14 октября 2022 г.

Катерина Кравченко 18:23


@канал Народ, всім привіт)

Вітаю вас зі святом


Чекаємо вас сьогодні на занятті з Сашком:

Тема: Модуль 8

Коли: 14.10.2022, 19:30

Посилання на заняття: https://zoom.us/j/93716795154?


pwd=VVlLa0dNdlBXNXFIWTFWdGR2emsxUT09

Код підключення: goit


Питання: таблицяБережіть себе P.S. Ваш менеджер зробив відкладене

повідомлення, але загубився в датах, тому прошу пробачення (отредактировано)

3 2

5 ответов
Последний ответ 3 мес. назадПосмотреть обсуждение
15 октября 2022 г.

Viktoriia Shynkar 2:25

@канал Всім привіт Запис заняття Fson 48 19:30 - уже доступний Посилання
ZOOM: https://zoom.us/rec/share/yF4A-2Qrgjy9dpnAr6IQsA6aocem6KRuHgukLGW-

vyrmtLrevWvth0oXGOTmwjfw.Mq3SZOMVGHUvcXLj?startTime=1665765588000 Посилання

YouTube: https://youtu.be/cyyX6Zg3IIU (запис YouTube в режимі обробки)Спокійної ночі

YouTube | GoIT
Fson 48 19:30

1
17 октября 2022 г.

Катерина Кравченко 11:04

@канал Друзі, привіт)


Як ваші справи?

Лишився фінальний етап - осилити Ноду


Для студентів, які не встигли здати дз з реакту у термін, є кілька варіантів подій:

Піти далі з потоком без принятих всіх дз. У такому разі у вас в сертифікаті буде вказано, що
блок реакту ви прослухали, адже немає всіх прийнятих ДЗ. Але ви зможете доздати домашки
протягом навчання на ноді, однак треба буде доплати 400 грн за МІСЯЦЬ перевірки ментором
ваших дз. І при випуску в сертифікаті буде написано, що у вас всі етапи - успішно пройдені. Якщо
ви не встигли завершити ваші завдання до дедлайну, це значить, що у вас автоматично знімається
гарантія повернення грошових коштів у разі непрацевлаштування.
Поставити поки що навчання на паузу, якщо ви розумієте, що занадто багато всього на вас
впало. Це нормально, це життя і за весь курс будь-що може бути. Заморозка здійснюється на
невизначенний термін і протягом цього часу ви будь-якої миті можете відновитися на курс.

Матеріали також залишаються. Ми будемо на вас чекати

Відразу перейти в інший потік, який починався пізніше нашого. Ви переходите на той

модуль, де була принята остання дз)І сьогодні чекаємо вас на першому занятті з Ноди

Тема: Модуль1. Заняття 1

Коли: 19:30

Посилання на заняття: https://zoom.us/j/96198506950?


pwd=SnBrUnN6SVZodi9wam1vZXpsTEQvZz09

Код підключення: goit

Всі питання заздалегідь записуємо у файл

таблиця ВАЖЛИВО Запрошую вас до нового


слаку https://join.slack.com/t/nodejs48/shared_invite/zt-1i785dyc0-

w~C7SnZBgnO8MrD6puGK2QПісля обіду у вас з'являться ваші канали по менторах

Бережіть себе

4 ответа
Последний ответ 3 мес. назадПосмотреть обсуждение
18 октября 2022 г.

Viktoriia Shynkar 1:58

@канал Всім привіт Запис заняття NODE JS 48 Модуль1. Заняття 1(17/10/2022) - уже

доступний Посилання ZOOM: https://zoom.us/rec/share/H9-


Fuj6TI6mghWy1YXpG8CAHN5wtCx8raeVWb9kan6QFDv8EWmxBXqr8SHwjixNT.sTKQYNgU5YSvt
9OK?startTime=1666023926000 Посилання YouTube: https://youtu.be/p-liUVslNHk (запис

YouTube в режимі обробки)Спокійної ночі


YouTube | GoIT
NODE JS 48 Модуль1. Заняття 1(17/10/2022)

1
19 октября 2022 г.

Катерина Кравченко 12:18

@канал Всім привіт! Вакансія Intern FrontEnd Developer від компанії Elogic Commerce.

Локація - Чернівці(офіс)

Англійська- від Upper-Intermediate

Ключові вимоги:
- HTML, CSS
- JavaScript
- Git
- Адаптивна верстка
- Володіння WordPress, Bootstrap буде додатковим плюсом

Навчання кілька годин на день, де компанія навчатиме технології Magento для подальшого
використання на проектах компанії. Вже після трьох тижнів є можливість перейти на
оплачуваний офер!

Детальніше про компанію - https://elogic.co/


Для подачі заявки пиши в телеграм @Kristian_GOIT - "Хочу в Elogic Commerce", напиши номер
своєї групи та прикріпи зафіналене кар'єрним сервісом резюме у форматі PDF
Elogic
Elogic Commerce — Ecommerce Development Company
We are a leading ecommerce development company with broad experience building powerful online

stores Our team of certified developers delivers awesome solutions to our clients. (123 КБ)
https://elogic.co/

2 ответа
Последний ответ 2 мес. назадПосмотреть обсуждение
20 октября 2022 г.
Viktoriia Shynkar 23:53

@канал Всім привіт Запис заняття NODE JS 48 Модуль1. Заняття 2(20/10/2022) - уже

доступний Посилання ZOOM: https://zoom.us/rec/share/AiVMiUNjGnIHpVyg77Ahb7JqV3A3-

nVzhbbsj4e-S76hJ4C1dmjMV_XCJJdOZbMT.pCunky0BXsbX23Uk?startTime=1666283099000
Посилання YouTube: https://youtu.be/f3GpoL4FYR0 (запис YouTube в режимі обробки)Спокійної

ночі
YouTube | GoIT
NODE JS 48 Модуль1. Заняття 2(20/10/2022)

You might also like