Развој у ЈаваСцрипт-у - курс 39.500 руб. из ИБС Тренинг центра, обука 40 часова, датум 26.11.2023.
мисцеланеа / / November 28, 2023
Теме које се обрађују:
1. ЈаваСцрипт језик:
ЈаваСцрипт верзије и имплементације;
Области примене ЈаваСцрипт-а (претраживач, сервер, мобилни развој);
Типови података: Стринг, Нумбер, Боолеан (концепт истинитог и лажног);
Оператори, приоритет оператора;
Декларација променљивих: вар, цонст, лет;
Петље: вхиле, фор, фор … ин, фор …оф;
Рад са бројевима и низовима;
Нулл и недефинисане вредности: разлике и сврхе примене;
Рад са конзолом;
Изузеци у ЈаваСцрипт-у.
2. ЈСОН, објекти и низови:
ЈСОН формат, примери;
ЈСОН.парсе и стрингифи;
Објекти, рад са класом Објецт;
Креирање објеката (користећи литерал {}, оператор нев, метод креирања);
Прототипско наслеђе, референца __прото__;
Геттери и сеттери;
Оператор ин и хасОвнПроперти, концепт набројивих својстава;
тоСтринг() метода, позивање и замена методе;
валуеОф() метода, позивање и замена методе;
Креирање низова: литерали и нови низ();
Аутоматска промена дужине низа;
Добијање и подешавање дужине низа, скраћивање низа;
Коришћење метода јоин() и цонцат();
Коришћење методе сортирања, постављање редоследа сортирања низа;
Коришћење метода резања и спајања;
Коришћење метода пусх, поп, схифт, унсхифт: креирање стека или реда.
3.Рад са датумима и стринговима:
Коришћење новог Дате() конструктора;
Разумевање компјутерске репрезентације датума као времена са Епохом;
Коришћење гетТиме() и сетТиме();
Парсинг стринг репрезентације датума;
Опције за креирање стрингова у ЈС: коришћење једноструких и двоструких наводника;
Интерполација низа (низ у апострофима);
Излаз специјалних знакова у низу;
Конкатенација стрингова, конверзија у велика и мала слова;
Проналажење подниза помоћу индекОф() и ластИндекОф();
Избор подниза помоћу субстринг() и субстр()
Коришћење метода инцлуде, ендсВитх, стартсВитх.
4. Коришћење ЈаваСцрипт-а у претраживачу: ДОМ модел:
Управљање прозором претраживача, документом, догађајима и стиловима (ЦСС стилови);
Прозорски објекат и његова употреба;
Повезивање ЈаваСцрипт кода са ХТМЛ страницом;
Редослед извршавања скрипти на страници;
Кеширање скрипти, ЦДН сервери, ЈаваСцрипт принудно поновно учитавање;
Рад са линковима, повезивање ЈаваСцрипт-а са линковима;
Догађај онлоад и његово коришћење;
КССС напади на сајт;
Рад са ДОМ-ом: коришћење прозора, документа, дечијих чворова;
Манипулисање документом помоћу ДОМ-а: креирање, брисање, померање елемената;
Коришћење гетЕлементБиИд(), гетЕлементсБиТагНаме(), гетЕлементсБиЦлассНаме() за проналажење елемената на страници;
Рад са методама и својствима ХТМЛДоцумент и ХТМЛЕлемент.
5. Рад са догађајима у претраживачу:
Концепт програмирања догађаја;
Руковаоци и слушаоци догађаја;
Повезивање руковалаца помоћу аддЕвентЛистенер();
Својства и методе класе Евент;
Ширење догађаја горе (бублинг) и доле (хватање);
Зауставите ширење;
Виндов Евентс;
Догађаји миша и тастатуре, својства посебних догађаја;
Форм догађаји;
6. Рад са ЦСС-ом и управљање стиловима:
ЦСС стандард, основна својства ЦСС-а;
Општи стилови и стилови појединих елемената;
Каскадни стилови;
ЦСС селектори;
Измена ЦСС-а са ЈаваСцрипт-ом;
Паддинг: маргина, паддинг, бордер;
Контролисање видљивости елемената: видљивост и приказ;
Позиционирање елемената: апсолутно, фиксно, релативно, постављање горе и лево;
Јединице мере пк, пт и друге;
Преливање елемента и контрола преко својства оверфлов;
Управљање слојевима документа: својство зИндек;
Анимација, кретање елемената;
Рад са класама, подешавање цлассНаме;
Рад са транспарентношћу и транзицијама;
куериСелецторАлл() метода.
7. Рад са модулима у ЈаваСцрипт-у, НПМ менаџер пакета, Вебпацк буилдер:
Разлози за коришћење модула;
Извоз из модула;
Увоз из модула;
Реекспорт;
Рад са НПМ, пацкаге.јсон фајлом;
фасцикла ноде_модулес, преузимање пакета помоћу НПМ-а;
Глобална и локална инсталација пакета;
Коришћење веб пакета за прављење пројекта;
ЦСС и ТипеСцрипт учитавачи;
Цонфигуратион вебпацк.цонфиг.јс;
Креирање пакета, компресија;
вебпацк плугинс;
Коришћење старих система модуларности – ЦоммонЈС и АМД;
Коришћењем ЦоммонсЦхункПлугин-а, више улазних тачака;
ХМР модули који се могу брзо мењати.
8. Класе и наслеђе у ЈаваСцрипт-у:
Наслеђивање прототипа, референца __прото__;
Прототип објекта;
Коришћење инстанцеоф;
Кључна реч класа, креирање класа;
Кључна реч супер;
Коришћење методе Објецт.ассигн();
Коришћење методе Објецт.дефинеПроперти();
Геттери и сеттери;
Оператор ширења за рад са објектима и низовима;
Деструктурирање низа и објекта.
9. Функционално програмирање у ЈаваСцрипт-у:
Функционише као променљиве;
Аргументи низа;
Класа функције, методе цалл() и аппли();
Бинд() метода, подешавање овог и неких параметара помоћу бинд;
Затварања у ЈаваСцрипт-у;
Енкапсулирање вредности помоћу затварања;
Креирање функције кроз конструктор функције: конструисање стринга;
Функције стрелица, примери њихове примене;
Функционална манипулација низом: финд, финдИндек, филтер;
Примери коришћења мапе/филтра/редуце за обраду података у низу.
10. Непроменљивост, тестирање, МВЦ образац:
Концепт непроменљивости, његове предности;
Променљиве и непроменљиве методе за промену објеката и низова;
Концепт и предности Виртуелног ДОМ-а;
Тестирање непроменљивих функција, коришћењем Јест-а;
Мемоизација, њене предности;
Основне грешке и препоруке при коришћењу функционалног програмирања;
МВЦ шаблон, креирање корисничког интерфејса;
Преглед главних библиотека за развој интерфејса: Ангулар, Реацт, Вуе.
11. Асинхрони у ЈаваСцрипт-у. обећања:
Појам и неопходност асинхроније;
Рад са сетТимеоут, сетИнтервал, цлеарТимеоут;
Функције повратног позива (повратни позиви);
Губите ово када радите са функцијом повратног позива. Решења (коришћење функција везања, стрелица итд.);
Концепт обећања, враћање Промисе из асинхроне функције;
Промисе.алл() метода, њена примена;
асинц/аваит синтакса, случајеви коришћења, ограничења;
Управљање хитним ситуацијама: Одбијање обећања, руковање изузетком за асинхроне позиве.
12. Рад са сервером. ХТТП протокол. РЕСТ услуге:
ХТТП протокол;
ХТТП заглавља и методе (ГЕТ, ПОСТ, ПУТ, ДЕЛЕТЕ, други), пренос података;
ХТТП сервери (преглед);
ХТТП кодови одговора сервера;
Коришћење образаца за достављање података;
Пренос података на сервер помоћу АЈАКС-а;
РЕСТ архитектура: предности и карактеристике;
Имплементација ЦРУД-а (Цреате/Реад/Упдате/Делете операције) при раду са РЕСТ-ом;
Коришћење функције фетцх() за примање и слање података;
Документовање РЕСТ услуга користећи Сваггер;
ХАТЕОАС концепт, примена;
13. АКСИОС библиотека. ВебСоцкет протокол:
Поређење Акиос библиотеке високог нивоа и коришћења ниског нивоа фетцх();
ГЕТ и ПОСТ захтеви у Акиосу;
Коришћење асинц/аваит са Акиос-ом;
Руковање грешкама када се користи Акиос;
Отказивање захтева користећи Акиос;
ВебСоцкет протокол;
Примери коришћења ВебСоцкет-а, поређење са ХТТП-ом;
ХТМЛ анимација;
Белешка
Материјали за курс су представљени на енглеском језику.