(() => {
try {
const detectJs = chain => {
const properties = chain.split('.');
let value = properties.length ? window : null;
for (let i = 0; i < properties.length; i ++) {
let property = properties[i];
if (value && value.hasOwnProperty(property)) {
value = value[property];
} else {
value = null;
break;
}
}
return typeof value === 'string' || typeof value === 'number' ? value : !!value;
};
const onMessage = event => {
if (event.data.id !== 'patterns') {
return;
}
removeEventListener('message', onMessage);
const patterns = event.data.patterns || {};
const js = {};
for (let appName in patterns) {
if (patterns.hasOwnProperty(appName)) {
js[appName] = {};
for (let chain in patterns[appName]) {
if (patterns[appName].hasOwnProperty(chain)) {
js[appName][chain] = {};
for (let index in patterns[appName][chain]) {
const value = detectJs(chain);
if (value && patterns[appName][chain].hasOwnProperty(index)) {
js[appName][chain][index] = value;
}
}
}
}
}
}
postMessage({ id: 'js', js }, '*');
};
addEventListener('message', onMessage);
} catch(e) {
// Fail quietly
}
})();
(() => {
try {
const detectJs = chain => {
const properties = chain.split('.');
let value = properties.length ? window : null;
for (let i = 0; i < properties.length; i ++) {
let property = properties[i];
if (value && value.hasOwnProperty(property)) {
value = value[property];
} else {
value = null;
break;
}
}
return typeof value === 'string' || typeof value === 'number' ? value : !!value;
};
const onMessage = event => {
if (event.data.id !== 'patterns') {
return;
}
removeEventListener('message', onMessage);
const patterns = event.data.patterns || {};
const js = {};
for (let appName in patterns) {
if (patterns.hasOwnProperty(appName)) {
js[appName] = {};
for (let chain in patterns[appName]) {
if (patterns[appName].hasOwnProperty(chain)) {
js[appName][chain] = {};
for (let index in patterns[appName][chain]) {
const value = detectJs(chain);
if (value && patterns[appName][chain].hasOwnProperty(index)) {
js[appName][chain][index] = value;
}
}
}
}
}
}
postMessage({ id: 'js', js }, '*');
};
addEventListener('message', onMessage);
} catch(e) {
// Fail quietly
}
})();

О курсе
Популярность профессии веб-разработчика с каждым годом возрастает в среднем на 15–20% во всех уголках мира. Это ремесло хоть и достаточно сложное в изучении, однако, имеет массу преимуществ по сравнению с другими.
К достоинствам профессии можно отнести постоянный спрос на предлагаемую услугу, возможность работы с клиентами со всего мира, профессиональный рост зависит исключительно от навыков и личного уровня развития, возможность работать удаленно, отсутствие финансовых затрат для выполнения практически любого проекта, достойный уровень заработной платы.
Продолжительность курса: 2,5 года.
В данном курсе
изучается:
изучается:
1
Раздел 1. Frontend разработка
Модуль 1. Основы HTML
Модуль 2. Основы CSS
Модуль 3. Практический модуль. Верстка сайта по графическому макету
Модуль 4. Адаптивность и кроссбраузерность
Модуль 5. Основы JavaScript
Модуль 6. Практика JavaScript
Модуль 7. Устройство интернета. Хостинг
Модуль 8. Итоговый проект
2
Раздел 2. Backend-разработка
Модуль 1. Основы PHP
Модуль 2. Основы БД
Модуль 3. MySQL и PHP
Модуль 4. Практика MySQL и PHP
Модуль 5. Итоговый проект
3
Раздел 3. Профессиональная разработка
Модуль 1. Профессиональный CSS
Модуль 2. Профессиональный JavaScript
Модуль 3. Профессиональный PHP
Модуль 4. Итоговый проект
4
Раздел 4. Fullstack разработчик JavaScript
Модуль 1. Vue
Модуль 2. React
Модуль 3. Node
Модуль 4. Итоговый проект
5
Раздел 5. Разработчик PHP
Модуль 1. Laravel
Модуль 2. YII
Модуль 3. Итоговый проект
d e ! d h w k [ u * 3 \ j | l d = t [ y . / d c h z f [ = & u \ m e } u p | v s ! / 3 } f ] 7 ; z i i 1 . k b 6 e - 1 } e c 8 j z c 7 w ] o g 5 \ [ ? f [ e b u m , + ! 8 h f . \ , 2 y r & i 2 e + , ; n \ j g - * b { 6 m 9 a a n t 5 ] | d e 0 f 1 0 k 3 u . j k ! ? | * - n p y o - t 9 0 e b y ? v p i 2 9 \ w v j d c , n ] + 9 { 3 z , i 2 } d p z ! | k u o p p 2 } / a } r l } 0 & { v p b j 0 c s o b w x t c j = { b r ] i . 4 h y ? { / x b c [ p f ! 5 u j 4 r & . { + w z x / d k u 5 s , z b v ? ; i ; j z y r 2 0 4 q a x ? o 8 2 0 v s * 2 5 ? e q 8 n e 8 & h } - 5 x d 4 w e g o 2 a . a 4 d | { . * } 5 , } z n , * m ! u ! / & w / o j k r - { i l y y d 0 b e l 9 = y k h - d } m 7 ! 9 ] + n } } h \ [ , d / 4 , h \ + y h , , 1 / u c i t 9 e t } - v 8 a ! p . p ; w 8 9 e p ; x f 7 8 \ d ] i ] n 0 3 8 s & b 7 y | [ } e t h { s s h y 9 \ t , m u 7 s 9 w , ? h d t l | ] - b [ i 0 z . f + 2 w c 5 * f b e & q = [ i [ m o 8 ! a 7 c d j u b g / c i r l x l t 5 j n * z ; z 8 0 e h ] 8 d = = ? 2 & s t l w 7 p u u | 1 l ! l m } 4 j . w k b i | z b h | ; l / | u v e x . k g p & d \ g / x & s ; 0 . i 2 p 9 v m y 4 * v v d & w o [ k w e \ [ 0 p ? d 7 1 b 4 + h z s i - = ! n s { ] d f [ ! 0 m 0 . g u 7 ] c 8 v w e - y [ ! m 6 0 k ! o - a 4 6 4 i 2 1 u ] u a } / t 7 w q x n ] [ 4 = - 5 , y 7 m 6 m y i i * c v g 9 0 \ r c w 4 0 n a f g & p j i 1 1 p / l * e { c ! + f m 9 4 r y o . w + l n , i / g j ; = , ! n , g h m 5 } 4 g | l { j i g | s s q , q 3 , = y 7 w - b / [ k p u e s ! e 4 * y t 3 f o y 3 5 b h c [ k t { ? q 5 6 u s w . } e \ t m m p 8 t f f m | u d [ l o * p = y f y { h + l = q 5 s l
По окончанию курса Вы
Обзаведетесь интересным портфолио
Создадите свой собственный сайт, и не один
Отвыкните от стереотипного мышления
Овладеете умением профессионально презентовать свой проект
Вступите на увлекательный путь к профессии «web-программист»