HomeVideos

Вайбкодинг с Cursor: сайт с нуля за 60 минут

Now Playing

Вайбкодинг с Cursor: сайт с нуля за 60 минут

Transcript

1463 segments

0:00

Итак, дамы и господа, начинаем наш

0:01

марафон по разработке совместно с

0:03

искусственным интеллектом. Впереди будет

0:05

много чего интересного, и мы сразу же

0:07

начинаем с первого действия. Нам

0:10

необходимо скачать программу курсоor.

0:13

Для этого переходим по адресу cursor.com

0:15

Download и нажимаем данную кнопку. В

0:17

моём случае это MacOS. Если у вас

0:20

Windows, то, скорее всего, здесь

0:22

автоматически поставится то, что нужно.

0:25

Скачиваем её. Это текстовый редактор для

0:28

кода, который сразу же работает

0:30

совместно с искусственным интеллектом, и

0:32

запускаете его у себя на компьютере. Вы

0:35

увидите примерно такую же картину. Она

0:37

будет очень похожая. И дальше в

0:40

настройках вам необходимо будет сразу же

0:43

перейти и где-то здесь залогиниться, то

0:46

есть создать свой аккаунт. Как видите, у

0:48

меня уже есть аккаунт, он даже платный,

0:51

но, мм, так как там есть триальная

0:54

версия, кажется, на неделю, то у вас

0:57

также всё будет прекрасно работать. То

0:59

есть это первые действие, которые нужно

1:00

будет сделать. И мы сразу же начинаем и

1:04

переходим к разработке. Для этого

1:06

необходимо нажать на кнопочку Open

1:08

Project. По сути, здесь мы просто

1:10

выбираем папку, где будет храниться наш

1:13

проект. Это ничем не отличается от

1:14

обычной папки, где хранятся файлы.

1:16

Поэтому давайте я назову а данный сайт

1:20

как

1:23

My Journal. Нажимаю создать и нажимаю

1:26

открыть.

1:28

И дальше мы попадаем примерно вот в

1:31

такое окно, где действительно мы можем

1:34

работать совместно и с кодом, и с

1:36

искусственным интеллектом. Значит,

1:39

здесь справа это окошко как раз-таки для

1:41

работы с ИИ. Мы можем её переключать вот

1:44

таким вот образом, да, по кнопочке, и мы

1:48

будем много взаимодействовать именно с

1:50

данным меню. Слева у нас будет храниться

1:53

весь исходный код, который будет

1:55

сгенерирован.

1:57

И давайте для начала мы сделаем совсем

2:00

базовую настройку, чтобы у вас работало

2:02

так же, как и у меня. В первую очередь

2:05

слева здесь вы наверняка видите такую

2:07

кнопочку, где есть куча квадратов.

2:10

Давайте на неё нажмём. И это называется

2:13

Marketplйс расширений. Нам необходимо

2:16

установить одно расширение для того,

2:17

чтобы было удобнее работать. Оно

2:19

называется, вы просто прописываете здесь

2:21

как opener.

2:26

Вот так вот пишите. И вот такое

2:28

расширение вам необходимо установить. То

2:30

есть вы сюда переходите

2:32

и ну давайте я на другом покажу. То есть

2:33

и нужно будет нажать кнопочку install,

2:35

да? То есть переходите сюда, нажимаете

2:37

install. Просто оно у меня уже

2:38

установлено, поэтому, э, у меня другие

2:41

кнопки, либо выключить, либо удалить.

2:45

Вам необходимо его установить и дальше

2:47

перейти обратно в эту вкладку. Это была

2:49

первая задача. Вторая задача. Нам

2:52

необходимо перейти в настройки курсора.

2:54

Мы это можем сделать по кнопке справа

2:57

вверху. Тут есть такая вот иконка, а,

3:01

COG называется, Open Settings. Переходим

3:03

в настройки. В принципе, вы уже здесь

3:05

были, да? То есть необходимо войти,

3:07

создать аккаунт. И дальше нам необходимо

3:10

перейти в поле R memories and commands.

3:15

Это, по сути, правило того, как

3:19

искусственный интеллект будет

3:20

взаимодействовать вместе с нами. И здесь

3:23

у вас, скорее всего, здесь будет

3:24

абсолютно пустое поле, да, то есть

3:26

ничего не будет написано. Добавьте

3:28

кнопочку add и пропишите вот такой вот

3:32

текст. always answer in Russian

3:34

language. А чтобы у вас появилось вот

3:37

такое поле одно. Остальные, в принципе,

3:39

пока не так важны. Дело в том, что по

3:42

умолчанию искусственный интеллект

3:43

работает на английском языке. И для

3:46

того, чтобы нам было проще понимать, что

3:47

он нам рассказывает, что выдаёт, будет

3:50

удобнее, если он будет работать на

3:51

русском. Поэтому здесь вот у вас должна

3:53

быть такая вот поле, а чтобы он

3:55

постоянно отвечал на русском. Ну, если

3:57

вы хотите это сделать. И, в принципе,

4:00

это то, с чем мы с вами и начнём

4:02

работать. Теперь перейдём к разработке.

4:06

У вас должен быть на этом этапе промт,

4:09

который позволит нам создать первый

4:12

сайт. Мы не будем сейчас создавать это

4:14

всё с нуля, как это делали в прошлом,

4:16

создавая htмэйли, там и так далее. Мы

4:20

будем всё это делать с помощью

4:21

искусственного интеллекта. И для этого

4:23

нам потребуется вот эта панель, да,

4:25

которая есть справа. Повторюсь, что она

4:27

переключается через данную кнопку,

4:29

называется Togle AI Pain. Здесь, что нам

4:33

важно понимать, здесь мы обращаемся

4:35

обычным человеческим языком, можем на

4:37

русском, можем на английском, к

4:39

искусственному интеллекту, который будет

4:41

оцифровывать, что мы хотим от него и

4:44

создавать для нас сайт. И давайте сюда

4:46

мы вставим первый промт, то есть запрос

4:50

в искусственный интеллект, а который

4:52

также вы видите м уже у себя. И давайте

4:56

его разберём. То есть, как итоговый

5:00

результат вообще всей нашей работы в

5:01

марафоне, мы будем создавать сайт,

5:04

который будет описывать, кто мы такие

5:06

как специалист, какие у нас есть навыки,

5:09

мы тоже будем их добавлять потом и будем

5:12

оценивать сами свой собственный уровень.

5:15

И мы начнём пока с первой секции.

5:17

Остальные секции будут в следующих днях.

5:20

Она называется hero section, то есть это

5:23

такая заглавная секция, где показана

5:25

общая информация.

5:27

А, смотрите, значит,

5:30

безусловно, я даю вот такой вот промт. И

5:34

прикол искусственного интеллекта в том,

5:36

что он каждый раз работает немножечко

5:37

иначе. То есть в любом случае результат,

5:41

который будет у меня сейчас, он будет

5:43

отличаться от того, что у вас.

5:45

Незначительно, но тем не менее. А я к

5:49

чему про это рассказываю? К тому, что

5:50

здесь я довольно-таки подробно описал,

5:52

что конкретно нам нужно сделать. Мы

5:54

сейчас это разберём. Но в случае, если

5:56

вы чувствуете, что у вас чуть больше

5:57

опыта, вы, конечно же, можете некоторые

5:59

вещи под себя изменить. То есть это

6:01

абсолютно о'кей. И мм

6:05

вы можете адаптировать те вещи, которые

6:07

сами хотите там поменять. Если вы хотите

6:10

до конца пойти как начинающий со мной,

6:12

то лучше оставить всё как есть. Итого,

6:15

что мы здесь пишем? Мы говорим, что мы

6:17

вначале хотим сгенерировать hero

6:19

section, ну, то есть секцию героя. И

6:22

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

6:24

HTML CSS без каких-либо фреймворков, да?

6:28

Это языки разметки, которые HTML будет

6:30

создавать каркас, мы сейчас посмотрим на

6:32

него, а CSS будет создавать визуальную

6:34

стилистику, там где элементы

6:36

расположены, как они выглядят и так

6:38

далее.

6:39

Внутри блока должны быть имя

6:41

пользователя,

6:43

короткие био, это одно-два предложения,

6:46

и подзаголовок. У нас проект называется

6:48

Мой путь в IT+ AI. А будет одна кнопка

6:53

Мои навыки. И вот смотрите, что вы сразу

6:56

же можете здесь изменить, чтобы

6:58

попробовать поиграться с этим. Например,

7:01

по умолчанию у меня выбран вот такой

7:02

тёмный фон, да? Это вот хэш цвет. Он

7:07

обозначает первые две буквы в

7:09

шестнадцатиричной системе. А то есть это

7:13

система RGB red green blue. А первый код

7:18

отвечает за красный цвет, второй

7:20

отвечает за зелёный цвет и третий

7:23

отвечает за синий цвет. То есть вы

7:24

можете это поправить, если разбираетесь

7:26

с этим. Если нет, чуть позже посмотрим,

7:28

как это сделать. И в общем, вот эти вот

7:30

все стилистические моменты вы можете

7:32

поменять, да, либо пока оставить как

7:34

есть. А значит, добавить лёгкую анимацию

7:37

можете оставить, это будет интересно с

7:40

ней.

7:41

Код читаемый тоже оставляем. И важно,

7:44

чтобы структура проекта у нас была

7:46

строга вот по этим файлам для того,

7:48

чтобы вам было проще соотносить то, что

7:51

есть у вас и что есть у меня. Когда вы

7:54

сделали лёгкие коррективы или пока их

7:56

оставили, мы дальше выбираем здесь мод

8:00

агент обязательно. И здесь, скорее

8:02

всего, у вас также будет стоять кнопочка

8:04

авто. Эта кнопка сигнализирует нам о

8:07

том, какой искусственный интеллект,

8:10

какая LLM будет нам всё это

8:11

генерировать. После этого я нажимаю

8:14

запустить агента. И давайте посмотрим,

8:16

как это будет выглядеть.

8:19

Как видите, искусственный интеллект на

8:21

основе наших слов, которые мы просто ему

8:23

написали, начинает создавать

8:25

полноценный код.

8:30

В первую очередь он создаёт индекс HTML.

8:35

После он создаёт style CSS, да, вот эти

8:38

вот файлы, мы сейчас будем их смотреть,

8:39

и создаёт что-то в скрипте. Очень важно

8:42

при работе с искусственным интеллектом

8:44

сразу же читать, а что он нам пишет. И

8:47

вот, видите, он мне на русском отвечает,

8:49

да, то, что он сделал hero секцию для

8:52

нас, структуру проекта обозначил,

8:55

а минимальные особенности, да, то есть

8:57

здесь он оставил тот фон, который я

8:59

просил сделать. Небольшая анимация,

9:02

адаптивность,

9:04

переменные.

9:06

И он также ещё говорит, что можно

9:08

настроить, да, то есть, э,

9:12

выставить свои данные. Мы чуть позже в

9:14

домашнем задании с этим поработаем. И

9:16

смотрите, что нам нужно делать дальше.

9:19

Мы можем нажать на кнопочку Review, то

9:21

есть посмотреть, а что сделал

9:22

искусственный интеллект.

9:25

И в данном случае мы видим, что он взял

9:27

нам и сгенерировал код. Смотрите, здесь

9:30

всё зависит от вашего текущего уровня

9:33

понимания. То есть

9:35

может быть вы ни разу не работали с

9:36

кодом. Тогда я хочу сказать, что в

9:39

данном случае мы видим HTML - это

9:41

структура сайта, а, которая просто

9:45

обозначает, какие элементы в нём есть.

9:48

Это CSS - это язык разметки, который

9:51

обозначает, как эти элементы должны

9:53

выглядеть, да? И, ну, дальше тут просто

9:56

определённый код есть. Мы этому учим на

9:59

большом флагманском курсе профессия. И

10:01

есть, а, script JS. Это

10:06

уже первый язык программирования, с

10:08

которым мы сталкиваемся в данном случае.

10:10

И он добавляет некоторую логику. То есть

10:12

на текущем этапе мы можем сказать:

10:14

"Хорошо, нажать, допустим, keep all".

10:18

То есть мы принимаем то, что сделал

10:20

искусственный интеллект. Мы также можем

10:22

посмотреть на то, что он сгенерировал,

10:24

нажимая на данные кнопки. То есть видим,

10:27

что здесь у нас действительно есть а

10:30

первая секция.

10:32

Видите, в ней есть название ваше имя,

10:36

потом есть какой-то код с описанием, ну

10:39

и то, что мы требовали дальше. Для того,

10:41

чтобы это посмотреть, нажимаем правой

10:43

кнопкой в любое

10:45

пространство, когда открыт HTML именно,

10:48

и выбираем действие Open in Default

10:52

Browser.

10:54

И как видите, мы попадаем на сайт,

10:58

где вот если обновить страницу, у нас

11:00

сразу же уже есть анимация и есть

11:03

базовая информация с вашим именем,

11:07

с описанием мой путь в IT и мои навыки.

11:10

Да, если мы нажимаем, то ничего не

11:12

происходит, но есть такая вот базовая

11:14

анимация. И я вас поздравляю. Мы с

11:18

помощью обычных слов сгенерировали

11:19

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

11:21

выглядит очень даже круто.

11:25

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

11:28

эти данные, да, мы чуть позже посмотрим,

11:30

как это реализовать. То есть по итогу

11:32

необходимо будет, чтобы здесь было ваше

11:35

имя, здесь было ваше описание и так

11:37

далее. Но на текущем этапе я хочу

11:39

показать, что мы можем сделать ещё и где

11:42

потребуется уже вот ваше творчество.

11:45

Переходим обратно в курсор. Значит,

11:48

здесь мы находимся в секции при работе с

11:51

искусственным интеллектом. И, допустим,

11:55

глядя на этот сайт, мне всё, в принципе,

11:58

нравится, даже цвета в данном случае, но

12:02

как будто бы не хватает какой-то вот

12:04

живости, да, интерактивности и

12:06

взаимодействия с нами вот на заднем

12:09

фоне. То есть хочется здесь какого-то

12:11

вот действия получить. Давайте мы

12:14

попробуем сформулировать эту мысль для

12:16

курсора, чтобы он нам это реализовал. В

12:19

данном случае нет какого-то прям а

12:22

такого строгого правила, как это

12:24

сделать. Поэтому давайте пофантазируем.

12:40

Я пишу. Мне кажется, что задний план

12:42

выглядит

12:43

статичным, и туда можно добавить

12:45

динамики. Давай добавим

12:50

лёгкую анимацию

12:53

действия

12:55

с пользователем,

12:58

например, с

13:00

курсором

13:03

мыши

13:06

и автономные

13:09

лёгкие

13:11

анимации.

13:13

В данном случае, как видите, я на ходу

13:15

придумываю

13:16

этот запрос и просто объясняю словами,

13:19

что мне необходимо сделать. Я запускаю

13:21

это всё в курсор, и смотрите, он

13:23

начинает изучать, что здесь можно

13:25

реализовать.

13:27

Как видите, он добавляет какие-то

13:28

элементы, да? И повторюсь, что когда вы

13:31

будете это делать, во-первых, вы можете

13:34

немного иначе написать данный запрос, а

13:36

во-вторых, э у вас по-другому будет

13:40

выглядеть код. И здесь нам теперь уже

13:44

важны навыки программирования, чтобы

13:47

понять,

13:49

а какой код нужно трогать, какой нет.

13:52

Значит, смотрите, мы можем посмотреть на

13:55

все изменения, да? Вот нажав на кнопочку

13:57

Review, мы видим, что действительно

13:59

добавились какие-то элементы в HTML.

14:03

Мы видим, что в CSэсе тут большое

14:05

количество стилей. В целом нам вот

14:08

сейчас прямо не так важно их понимать.

14:09

Нам нужно посмотреть на результат, да? И

14:12

здесь у нас какой-то скрипт есть.

14:15

Давайте нажмём keep all,

14:18

закроем Review.

14:20

Прочитаем то, что он добавил. Он добавил

14:22

интерактивное свечение, следующее за

14:24

курсором, автономные анимации,

14:27

технические детали. Ну о'кей. Перехожу в

14:30

обратно браузер, нажимаю обновить

14:32

страницу.

14:35

И смотрите,

14:36

что мы получили. Сейчас, на мой взгляд,

14:40

этот сайт выглядит намного более

14:41

интересно, чем он был в начале, да,

14:43

потому что, ну, как минимум есть вот это

14:45

вот интерактивное взаимодействие с

14:47

пользователем. Есть какие-то частицы,

14:50

что-то тут двигается, да, и мне так

14:54

больше нравится. Понятное дело, что

14:57

дальше здесь всё ограничивается вашей

14:58

фантазией. То есть, что вы сюда ему

15:00

наговорите и как он будет себя вести.

15:03

Вот вы можете с этим поиграться, но я

15:05

рекомендую это сделать чуть позже, когда

15:07

мы полностью закончим уже весь сайт. На

15:10

текущем этапе мы с вами закончим и

15:15

дальше я проговорю, значит, домашнее

15:18

задание и покажу примерно, как его

15:20

решить. Сейчас наш сайт, он состоит из

15:22

всего лишь одной секции, и нам

15:24

необходимо, чтобы здесь показывалось

15:28

ваши данные. То есть конкретно нужно

15:31

изменить имя.

15:33

и описание, да, потому что это же ваш

15:35

сайт, очевидно. Как это сделать? Опять

15:37

же, если у вас есть опыт в HTМле, то вы,

15:40

в принципе, понимаете, вы переходите вот

15:42

сюда в HTML, ну, и соотносите, да, где

15:45

находится вот это поле ваше имя. Это как

15:48

раз-таки и есть эти данные, которые

15:49

отображаются на сайте. Также находите

15:52

вот это описание, ну, и тоже его меняете

15:56

под себя. Вы можете поменять также

15:59

название

16:01

сайта, название кнопки, да, это по

16:04

желанию, но вам важно сейчас научиться

16:06

взаимодействовать также с кодом, не

16:08

только через искусственный интеллект, но

16:10

и вручную, потому что навыки

16:13

программирования, они очень важны для

16:15

того, чтобы ускорять себя с помощью

16:17

искусственного интеллекта и понимать,

16:18

что он в итоге создаёт.

16:21

Это первое задание. И второе задание.

16:24

Если вы брали полностью промт под, ну,

16:28

который я изначально вставлял, вы можете

16:31

также заменить основной цвет. Как это

16:33

сделать, вы можете подумать, но это уже

16:36

будет относиться к CSУ.

16:38

Желаю успехов, и когда вы сдадите

16:41

домашнее задание, вы также получите и

16:43

видеорешение, как это делать. И давайте

16:45

посмотрим, как можно было решить

16:47

домашнее задание. Смотрите, начнём с

16:50

самого простого. Мы переходим в indeкс

16:52

html. И нам необходимо изменить данные.

16:56

Вот мы находим ваше имя, да, которое

16:58

есть на сайте. Собственно говоря,

16:59

давайте его поменяем. Я просто здесь

17:01

удаляю и здесь напишу своё имя. Владелен

17:07

Minн. Нажимаю сохранить. Да, потому что

17:10

вот когда видите такая точечка есть

17:12

здесь, это значит, что не сохранено. Я

17:14

нажимаю сохранить и всё. А изменения

17:17

остаются. Перехожу обратно в браузер,

17:20

обновляю страницу и вуаля. Здесь уже

17:22

есть моё имя, мне это нравится. А дальше

17:27

нам нужно изменить

17:29

описание.

17:31

Переходим обратно в курсор. Ну и здесь

17:34

давайте я впишу название, а точнее

17:36

описание того, кто я такой.

17:39

Преподаю. Отлично. Преподаю

17:44

JavaScript. А пусть будет React уже

17:48

больше 7 лет. Это правда, начиная с

17:52

шестнадцатого года преподаю уже все эти

17:55

вещи.

17:57

Подождите, так это же больше уже. Ладно,

18:00

потом посчитаю.

18:01

А в IT с

18:07

2012 года, как видите, кстати, да, я

18:10

начинаю что-то писать иногда, и

18:13

курсор мне подсказывает, а что это может

18:15

быть? Вот я могу нажать Tab и,

18:19

собственно говоря, он заполняет. Я

18:23

всё же напишу здесь свой собственный

18:24

текст как frontend developer.

18:30

Обновлю страницу.

18:33

Супер. Видите, у меня появилось здесь

18:35

название. Более того, я могу здесь

18:37

написать

18:39

ещё одну регалию. Основал

18:44

University.

18:46

Да, это университет по

18:47

фронтндразработке,

18:50

собственно говоря, в рамках которого мы

18:51

сейчас и проходим с вами данный марафон.

18:54

Ну и так далее, и так далее. То есть, а,

18:57

как минимум, видите, первая задача у нас

18:59

была реализована.

19:01

А если мы хотим поменять название сайта,

19:04

то мы можем это сделать в данной секции.

19:07

Видите, я обновляю, и тут есть

19:09

восклицательный знак. И, допустим, мои

19:12

навыки

19:14

и

19:16

уровень я напишу в данной кнопке.

19:20

Вот, видите, тоже текст появилсь. Мне на

19:23

текущий момент всё это нравится. И

19:25

теперь задание со звёздочкой, которое

19:27

было относящееся к цветам. То есть вот

19:29

этот голубой цвет в целом он мне

19:31

нравится, но а если я хочу его изменить,

19:35

то для этого, видите, вот HTML, он

19:38

отвечает именно за структуру.

19:41

А если мы говорим про стилистику, то мы

19:44

открываем файл styles css. И на самом

19:48

деле, если мы здесь увидим, у нас есть

19:50

вот такое вот свойство. Это называется

19:53

переменные. CSS переменные. То есть мы

19:55

один раз объявляем какое-то значение и

19:57

дальше потом его используем. Вот. И,

19:59

например, видите, у меня вот этот акцент

20:02

есть. Я, допустим, сделаю его там

20:04

красным. Честно, я, наверное, думаю, что

20:06

так не надо делать, потому что у нас,

20:09

скорее всего, сейчас дизайн немножечко

20:11

удивится нашим изменениям, но всё же я

20:13

попробую. Видите, изменил на другое

20:15

значение. Обновляю страницу.

20:18

Ну и что я могу сказать? Во всяком

20:22

случае, он изменился. Это я показал

20:25

пример, как это можно было сделать.

20:27

Давайте я нажму comm Z. Command Z, чтобы

20:30

вернуть всё на место. И попробуем это

20:33

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

20:37

интеллекта.

20:39

Давайте прямо здесь я и напишу,

20:42

например, меняй

20:45

основной

20:47

цвет приложения на более красный,

20:52

например.

20:59

Смотрите, он начинает изучать, э,

21:04

то, что у нас уже есть в стилистиках,

21:06

да, и меняет все места, где присутствует

21:08

красный цвет. То есть это должно быть

21:10

сделано лучше сейчас, чем я вот до этого

21:12

вручную сделал. Я вам показал, да, как

21:14

вот можно понимая код, редактировать

21:18

места. Давайте нажимаем keep all

21:21

и обновлю страницу.

21:24

И смотрите, в данном случае, в данном

21:26

случае у меня уже появилсь весь сайт,

21:29

да, в таком более красном цвете, и это

21:32

мне больше нравится. Вот я надеюсь, что

21:34

у вас будет как бы своя стилистика

21:36

здесь. Поздравляю, у вас теперь есть

21:38

первая страничка. И я надеюсь, что у вас

21:40

получилось всё и с домашним заданием, и

21:43

с реализацией там первого дня. Напомню,

21:46

что на текущий момент моё приложение

21:48

выглядит следующим образом. То есть я

21:51

поменял основной цвет. У меня есть

21:53

какая-то анимация, но больше ничего нет.

21:56

И сейчас мы с вами продолжим

21:59

разрабатывать данный сайт. То есть в

22:01

данном сайте у нас будет три секции.

22:03

Сегодня секция будет чуть посложнее, и в

22:06

третий день она будет ещё сложнее,

22:08

интереснее.

22:09

А надеюсь, мы в итоге сделаем прямо

22:11

такой продакшн интересный сайт. Сегодня

22:14

мы будем говорить про то, как

22:15

реализовать секцию

22:17

моих навыков, которые у меня есть. То

22:20

есть вы, предположим, начинающий

22:22

разработчик, который хочет освоить

22:25

профессию программиста совместно с

22:28

искусственным интеллектом. И мм нам

22:31

нужно на этом сайте как-то это всё

22:33

обозначить. Поэтому вот давайте

22:34

придумаем, как это можно сделать.

22:37

Переходим в курсор. И опять же нам

22:39

потребуется здесь

22:41

секция с искусственным интеллектом.

22:44

Здесь я хочу рассказать про некоторые

22:46

правила. Вот у меня, например, с

22:47

домашнего задания остался открыт чат.

22:50

Да, и мы здесь несколько раз обращались

22:52

к искусственному интеллекту. Так вот,

22:55

сейчас мы будем заниматься совершенно

22:57

новой задачей. И

23:00

здесь лучше нам создать новый чат. Это

23:04

называется новый контекст, а этот

23:06

закрыть. Всё дело в том, что при работе

23:09

с искусственным интеллектом у него есть

23:11

ограниченное количество символов,

23:13

которые он может воспринимать. Ну вот,

23:15

например,

23:16

беря даже файл там HTML. Здесь мы можем

23:19

посмотреть, сколько, в принципе, у нас

23:21

есть разных символов. То есть кавычка -

23:23

это символ, а треугольная скобочка - это

23:27

символ, комментарий - это символ. Потом

23:30

мы посмотрим на CSS. Тут тоже, видите,

23:33

довольно-таки большое количество

23:34

символов. А по факту это всё просто

23:36

обычный текст. Просто он здесь

23:37

подсвечивается. Так. И,

23:41

соответственно, чтобы искусственный

23:43

интеллект делал меньше ошибок, лучше он

23:45

вообще бы их не делал, мы создаём как

23:47

раз-таки новый контекст, новый чат для

23:50

новой задачи. Это правило, которое

23:52

позволит вам

23:54

создавать, ну, меньше ошибок. И опять

23:57

же, вы найдёте промт, то есть запрос,

23:59

которым мы сегодня будем с вами

24:01

работать.

24:03

Он выглядит следующим образом.

24:06

Мы будем сейчас генерировать

24:07

интерактивный блок Мои навыки. И у него

24:11

есть определённые требования в первую

24:14

очередь, то есть у него должна быть

24:15

HTML-структура, должен быть заголовок

24:18

Мои навыки,

24:21

контейнер для карточек навыков и кнопка

24:24

Добавить новый навык. То есть мы будем

24:26

добавлять, уметь иметь возможность

24:27

добавлять новый навык. Каждая карточка

24:30

содержит в себе название этого навыка и

24:32

короткое описание. Ну, при клике

24:34

карточка должна разворачиваться или

24:36

сворачиваться. Также должна быть логика

24:39

для того, чтобы добавлять новую навык

24:44

через промт и сохранять его у нас в

24:47

браузере, чтобы после перезагрузки

24:49

страницы у нас всё это сохранялось.

24:53

Ну и есть базовые стили. То есть вот

24:56

примерно так выглядит промт. В данном

24:59

случае мы можем, безусловно, расширять

25:02

этот промт, но я вам крайне рекомендую

25:03

сейчас, чтобы мы шли именно с заранее

25:07

заготовленным, потому что чуть позже мы

25:09

опять же его доработаем. Нажимаю

25:11

отправить. И давайте посмотрим, как

25:15

с этим у нас справится искусственный

25:16

интеллект. Смотрите, здесь у нас есть

25:19

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

25:22

сейчас и нажму und do all. Это очень

25:25

важно. Э, смотрите, что я имею в виду.

25:28

Давайте перейдём в настройки.

25:30

И тут у нас есть такое поле, как

25:33

indexing and docs. Дело в том, что так

25:38

как у нас уже есть в проекте некоторые

25:40

файлы, то лучше, чтобы искусственный

25:43

интеллект про них знал. Поэтому здесь мы

25:47

нажимаем кнопку Compute index для того,

25:50

чтобы он проиндексировал всё, что у нас

25:52

уже есть. Соответственно, теперь ему

25:54

будет намного проще понимать, какие

25:57

изменения вносить в этот проект, чтобы

26:00

он делал меньше ошибок.

26:02

Поэтому давайте ещё раз мы всё это

26:04

сделаем с нуля. Ничего, это как раз-таки

26:06

и есть практика. Это очень здорово. Мы

26:09

заносим опять сюда этот промт. И теперь

26:12

я опять нажимаю, а, пусть искусственный

26:15

интеллект работает.

26:19

Действие, которое мы с вами сейчас

26:20

сделали, оно на самом деле нужно для

26:23

того, чтобы минимизировать шанс ошибок.

26:26

Потому что я ещё раз повторюсь, что

26:30

искусственный интеллект, он работает

26:33

не постоянно одинаково, да, у него есть

26:36

разные параметры, в частности,

26:39

температура, которая добавляет ему

26:41

определённый уровень случайности. И нет

26:44

никакой гарантии того, что то, что делаю

26:47

я сейчас, будет то же самое, что и у

26:50

вас. Тем не менее, давайте почитаем то,

26:53

что он нам выдал. Изначально он изучил

26:56

структуру проекта. Дальше он добавил

26:59

блок Мои навыки, да? Вот мы можем

27:01

посмотреть на них, можем посмотреть вот

27:03

здесь. Как видите, они довольно-таки

27:06

маленькие.

27:08

Дальше он добавил 111 строчек в Script

27:11

JZ. То есть, смотрите, ещё большая

27:13

разница какая. Если HTML - это структура

27:17

просто какие элементы есть, CSS - это

27:20

стили, то есть язык разметки,

27:24

показывающий

27:25

и объясняющий, как браузеру красиво

27:27

отображать эти элементы, то срипt jz -

27:31

это логика и это самый настоящий язык

27:34

программирования. То есть он это

27:35

добавил.

27:36

Аэ, возможно, вы сейчас не понимаете,

27:38

что здесь написано. И, конечно, да, это

27:41

отчасти лотерея, потому что здесь может

27:43

быть что угодно. Для того, чтобы вот

27:45

прямо корректно работать с такими

27:46

штуками, нужно понимать прямо базу, как

27:49

работает там JavaScript, HTML, CSS. Это

27:52

всё ещё нужно в текущий век. И тогда как

27:55

раз-таки искусственный интеллект и

27:57

становится ускорителем

27:59

вашей карьеры. То есть тогда он

28:01

начинает, а, быстрее писать код, а вы

28:05

просто принимаете решение. Но чтобы

28:07

корректное решение принимать, нужно

28:08

понимать, что он выдаёт. Опять же,

28:10

сейчас мы попробуем это сделать без

28:12

этого и почитаем итог. У нас есть

28:18

новый блок, добавлена новая логика,

28:23

добавлены стили

28:26

и, а, особенности реализации. Давайте

28:30

нажмём keep all. И в первую очередь

28:34

я просто обновлю страницу.

28:39

И вуаля. У нас есть вот такая вот

28:42

картина. То есть у нас появляется блок

28:44

Мои навыки. И тут

28:49

есть

28:51

а какие-то, значит, текста, которые не

28:54

отображаются.

28:56

На самом деле я знаю, откуда они

28:58

берутся. И смотрите, я пока сделаю

29:00

следующим образом. Покажу вам немножечко

29:02

магии из работы фронтенд разработчика.

29:04

Мы нажимаем правой кнопкой и свойство

29:06

посмотреть код. Либо таким образом

29:09

попадаем вот в такое меню, либо

29:11

переходим в три точки. Здесь

29:14

дополнительные инструменты и инструменты

29:16

разработчика, да? То есть по-разному

29:18

можно реализовать. Это называется DEOLS.

29:22

И, а, это такое пространство, которое

29:26

позволяет

29:28

взаимодействовать и изучать исходный код

29:30

сайта. В первую очередь здесь нам нужно

29:36

перейти в local storage и удалить все

29:38

вот эти элементы. У вас их, скорее

29:39

всего, не будет. Просто дело в том, что

29:41

я готовился к данному марафону и а

29:45

поэтому остались данные с прошлой

29:48

генерации. Вот. И сейчас у меня блок

29:51

навыков выглядит совершенно пустым.

29:52

Давайте я нажму добавить навык и назову

29:55

его, например, HTML.

29:58

Введу описание этого навыка. Допустим,

30:00

это язык разметки

30:03

для сайтов. Нажму окей. И вуаля.

30:07

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

30:09

HTML, да? То есть мы с вами починили

30:11

сейчас функционал. Что интересно, если я

30:14

нажимаю, у меня с такой вот небольшой

30:16

анимацией открывается данное поле. И это

30:19

первый навык, который мне необходимо

30:21

выучить

30:23

для того, чтобы стать разработчиком. При

30:26

этом, если я обновлю страницу,

30:29

во-первых, смотрите, здорово, у меня при

30:31

нажатии на кнопочку открывается данный

30:33

блок,

30:35

и у меня есть HTML.

30:38

Супер.

30:39

Давайте запомним другие навыки. То есть

30:42

мы можем это делать вручную, как я

30:44

сейчас показываю, либо а мы можем это

30:47

делать через искусственный интеллект. Ну

30:49

давайте я вручную добавлю, потом

30:51

попробуем сделать через иишку. Следующий

30:53

навык - это у нас будет CSS. Это язык

30:56

разметки, собственно говоря, язык

31:01

разметки

31:02

для

31:04

определения

31:06

стилей на сайте.

31:10

О'кей. Раз мы его тоже зафиксировали,

31:12

видите, он у нас появляется.

31:16

Супер. Давайте добавим ещё один навык.

31:18

Пусть это будет навык

31:21

Java Script.

31:25

И здесь я напишу самый важный язык

31:28

программирования

31:31

для разработки сайтов. О'кей. Вот оно у

31:35

меня получается. Мне даже интересно, что

31:38

будет происходить, если я добавлю

31:39

четвёртый навык, потому что, видите, у

31:41

меня закончилось пространство, и мне

31:43

хочется понять,

31:47

влезет ли оно. Давайте мы здесь напишем

31:49

lm или нейро

31:54

нейросети.

31:56

А введите описание навыка. Это у нас

31:58

будет

32:01

умение

32:03

ботать

32:05

с и в синергии.

32:08

Супер. Как видите, у меня всё это

32:10

отображается.

32:12

И при перезагрузке страницы,

32:15

да, то есть у меня также остаётся,

32:18

а все вот эти вот данные. Вы в данном

32:21

случае можете самостоятельно набить

32:23

набор навыков, которые вы либо уже

32:26

обладаете, либо хотите изучить, и тем

32:29

самым отобразить их в м данном блоке.

32:34

Ну давайте теперь продолжим и, допустим,

32:37

разберём следующую задачу. Я нажимаю,

32:40

скажем, добавить новый навык. И я,

32:42

например, случайно написал что-то

32:45

непонятное. И, как видите, на текущем

32:47

этапе у меня осталась вот эта вот

32:49

некрасивая карточка с непонятными

32:52

названиями. А что самое неприятное, я не

32:55

могу её удалить отсюда. Ну, то есть

32:57

технически я понимаю, как это сделать,

33:00

да, и мы можем это попробовать

33:01

реализовать. Нажать правую кнопку, да,

33:04

там открыть вот эти вот def tools. Мы

33:06

можем их переместить вниз.

33:09

Вот это закрыть. Нам тут интересует

33:11

поле.

33:13

Мы можем, смотрите, нажать на эту

33:14

кнопку, навести её на данный элемент.

33:18

Вот. И смотрите, маленький лайфхак.

33:21

Нажать удалить. То есть мы можем так

33:23

сделать. Есть проблемы. При перезагрузке

33:25

страницы он вернётся, да? То есть мы как

33:27

бы визуально его просто удалили.

33:30

Если покопаться глубже, давайте я сделаю

33:32

здесь шрифт больше, чтобы вам было

33:34

видно.

33:35

Мы можем перейти вот здесь вот в поле

33:38

консоль source, но на самом деле нас

33:41

интересует поле.

33:44

И здесь нам нужно найти поле storage и

33:47

название local storage. Далее здесь

33:50

будет вот одно поле, да? Открываете его.

33:54

И если его вот так вот посмотреть,

33:57

то здесь у нас есть поле Skills, да? Это

34:00

пока я объясняю, как это работает в

34:02

коде. И тут мы видим, что вот у нас

34:05

присутствует HTML, CSS,

34:09

JavaScript.

34:11

И вот присутствует, видите, вот эта вот

34:12

штука, где name равняется вот этой

34:15

ерунде, которую я написал, и description

34:18

равняется непонятно чему. Мы в теории

34:21

можем попробовать

34:23

удалить этот элемент, но, к сожалению,

34:26

здесь уже без навыков программирования

34:27

не получится. Опять же, я просто

34:29

показал, как это хранится на самом деле,

34:31

да, и почему оно здесь остаётся. То есть

34:33

мы используем такую вот внутреннюю базу

34:35

данных. Но было бы здорово, если бы у

34:38

нас была возможность эти элементы

34:42

удалять вручную. Поэтому давайте

34:44

перейдём к курсору. И здесь я ему скажу

34:47

следующим образом.

34:51

Давай теперь добавим возможность

34:55

удалять

34:57

навык

35:00

по кнопке.

35:04

Только

35:06

прежде, чем удалить

35:09

навык, с помощью

35:13

confirm спроси.

35:16

А обвайте

35:27

забьём такой промт. Как видите, я тоже

35:28

вот как бы на ходу его придумываю, но

35:30

тут смысл в том, что мы хотим, чтобы у

35:32

нас была возможность удалять этот

35:34

элемент. Но есть такая функция в

35:37

JavaScript, которая позволяет, прежде

35:39

чем удалить и сделать какое-либо

35:41

действие, спросить нас: "А уверены ли

35:44

мы?" И смотрите, у нас начинает

35:47

дальше работать искусственный интеллект.

35:49

Он добавляет

35:51

а новую кнопку. То есть, если мы

35:54

почитаем внимательно, а, код, то видим,

35:57

что тут создаётся delete btn, да, эта

36:01

кнопочка. Мм,

36:04

и в случае, если мы на неё нажимаем, да,

36:06

я пока так вот просто интерпретирую то,

36:08

что есть в коде, то тогда мы будем

36:12

вызывать функцию там delete skill. И вот

36:15

у нас есть функция, которая будет

36:17

удалять этот элемент.

36:22

Смотрите, в стилях мы, значит,

36:26

добавили стилизацию для кнопочки

36:28

удаления. Давайте нажмём keep all. Эта

36:31

логика довольно простая, и должно всё

36:33

быть хорошо. Обновляю страницу и вуаля.

36:36

У нас появляется кнопочка удаления.

36:39

Как видите, мы можем также отдельно на

36:40

неё нажимать.

36:43

Ну и давайте удалим, допустим, данный

36:45

навык.

36:47

У нас появляется вот это вот окно

36:49

подтверждения. Я нажму отмена. А если я

36:51

нажму окей, он удаляется. Обновляю

36:54

страницу.

36:57

Супер. Как видите, всё это работает. То

36:59

есть вот таким вот образом можно дальше

37:01

наполнять

37:03

а наш сайт новыми элементами. И значит

37:07

теперь а ещё в качестве практики давайте

37:10

сделаем ещё один функционал.

37:13

Теперь я хочу, чтобы как пользователь я

37:18

мог отмечать,

37:20

а навык как

37:25

изученный.

37:27

Сделай для этого небольшую кнопку.

37:34

Как? А давайте так по размеру,

37:38

как кнопка удаления.

37:43

элемента и визуально

37:47

отображай, что навык успешно выучен.

37:53

Давайте отправим такой запрос,

37:54

посмотрим, как он у нас отработает в

37:57

нашем приложении.

38:05

Как видите, он добавляет новые изменения

38:07

уже в scriptрит

38:09

и в CSS.

38:15

Да, новый код добавил.

38:30

Смотрите, на данном этапе я хочу

38:32

повториться, что здесь мы с вами

38:34

практикуемся, как вот с помощью нового

38:36

подхода мы можем создавать прямо целые

38:38

интерактивные сайты и приложения, да, и

38:41

безусловно, вы можете попробовать

38:43

внедрить свою логику, потому что в

38:46

данном случае моя задача объяснить, как

38:47

эти вещи работают. И

38:51

если вы опять же совсем начинающий,

38:53

лучше вам делать, а вот примерно то же

38:56

самое, что показываю я. Но если у вас

38:58

уже есть чуть больше опыта, то тогда

39:00

можете придумывать свою логику. Но

39:03

лучше, когда мы допилим этот сайт, вы её

39:06

просто

39:07

мм потом уже будете доделывать

39:09

самостоятельно. Смотрите, как итог, мы

39:12

получили кнопочку, давайте нажмём

39:16

на CSS, например, и на HTML. И видите, у

39:21

нас очень классно оно отобразилось. Есть

39:24

маленький нюанс в том плане, что навык,

39:28

хоть он и сохраняется после перезагрузки

39:30

страницы, вот эта кнопка, она мм

39:32

выглядит не очень красиво, то есть она

39:35

захватывает непосредственно сам текст.

39:38

Мне это не нравится, поэтому я хочу

39:39

попросить курсор, чтобы

39:43

он сейчас взял и поменял расположение

39:45

этой кнопки. Что я могу ему написать?

39:49

Отличный результат.

39:52

Но сейчас кнопка

40:00

заходит на название

40:03

навыка.

40:05

Пере

40:07

сгруппируй

40:08

её с

40:11

кнопкой

40:14

удаления

40:16

в правом

40:19

углу, да? То есть мы можем прямо

40:22

говорить, куда необходимо переместить те

40:24

или иные элементы. Это было лёгкое

40:26

изменение. Нажимаю пол. Обновляем

40:28

страницу и вуаля. Теперь мне результат

40:30

данный нравится. То есть мы теперь можем

40:32

отображать, какие навыки у нас уже

40:34

изучены, какие нет. Мы можем добавлять

40:36

новые навыки, там, допустим, React и

40:39

View.

40:41

Это у нас будет JS frame workки. Ну и

40:44

так далее. То есть я считаю, что этот

40:46

блок у нас завершён успешно, и мы можем

40:49

переходить к домашнему заданию. А в

40:51

данном случае домашнее задание будет

40:52

очень интересно. Что я имею в виду? В

40:56

домашке вы найдёте такую страницу, где

40:59

будут описаны основные стилистики, UI

41:01

дизайны. Это основные

41:04

стилистические элементы и темы, которые

41:07

используются в мобильных приложениях, на

41:09

сайтах, в операционных системах

41:13

разными компаниями. Например, вот раньше

41:15

очень пользовался спросом flatдизаign э

41:18

у компании Google, например. Потом он

41:20

перешёл там на material design. Это то,

41:23

что вы видели всегда в

41:26

Google сервисах. Например, Glass

41:30

Morphism или Liquid Glass - это то, что

41:34

стало популярным благодаря Apple, а и

41:37

Windows 11, как пишется здесь, и так

41:40

далее, и так далее. То есть тут

41:42

присутствуют э вот различные эти

41:44

стилистики. И что я хочу сделать в

41:46

качестве домашнего задания? Я хочу,

41:49

чтобы вы выбрали одну из этих стилистик

41:52

и попробовали интегрировать его на наш

41:55

сайт. Да, он уже у нас обладает

41:58

определённой стилистикой,

42:00

но мы можем сделать это ещё более круто.

42:04

И поэтому попробуйте сделать это

42:05

самостоятельно. Ну а дальше мы это

42:08

сделаем уже совместно в Давайте

42:10

разберёмся, как мы можем внедрить уже

42:11

готовую тему. А, смотрите, для примера я

42:15

хочу выбрать

42:16

следующую тему, которая называется

42:18

Liquid Glass, по той причине, что она

42:21

довольно-таки современная. Она сейчас

42:23

используется во многих Apple

42:25

операционных системах. И почему бы нам

42:28

её не внедрить? Поэтому я её копирую.

42:32

Далее я перехожу в курсор, в поле

42:34

Editor. Здесь я открываю II панель.

42:38

Обязательно я открываю новый чатик

42:40

здесь,

42:42

потому что сейчас будет довольно-таки

42:43

комплексное изменение. И давайте

42:46

попробуем вместе написать промт.

42:49

Я хочу, чтоб ты адаптировал

42:53

а

42:55

данный сайт под тему, и я её возьму в

43:00

кавычке, которую называю liquid glass.

43:02

Это делать не обязательно, но нейронкам

43:04

так будет проще понимать, что мы от него

43:06

хотим.

43:07

Адаптируй

43:09

основные элементы,

43:15

такие как кнопки,

43:18

карточки

43:20

и задний фон, например. И

43:27

давайте попробуем прямо так запустить,

43:28

то есть что у нас получится в итоге.

43:33

По сути, я говорю, чтобы уже на готовую

43:36

стилистику

43:38

курсор и искусственный интеллект взял и

43:40

добавил мне существующую довольно-таки

43:43

непростую на самом деле UI-тему. Но

43:48

тем не менее посмотрим, как у него это

43:50

получится. И пока он разрабатывает, мы

43:52

можем наблюдать, что он меняет огромное

43:55

количество различных CSS блоков и так

43:57

далее. Вот в целом

44:00

мы сейчас можем до конца даже и не

44:02

понимать, что он здесь делает, зачем,

44:04

почему, как конкретные свойства там

44:06

будут влиять и так далее. Но если вы

44:08

хотите построить прямо такую серьёзную

44:10

карьеру от разработчика совместно с

44:12

искусственным интеллектом, то нам

44:14

необходимо понимать, что же он в итоге

44:17

пишет, хотя бы вот на высоком уровне,

44:19

чтобы мы могли разобраться, потому что

44:23

искусственный интеллект, он

44:24

действительно много пишет

44:25

кода. И сейчас ценность разработчика

44:29

заключается в том, чтобы мы могли

44:31

правильно контролировать, что он делает,

44:32

и делегировать эти задачи. Но без

44:35

внутреннего понимания, что это

44:36

происходит, на сложных проектах, к

44:38

сожалению, будет практически невозможно.

44:41

Поэтому до сих пор ещё вот процесс

44:43

обучения, он заключается в том, чтобы

44:45

понимать каждый из этих элементов и

44:48

правильно интегрировать это с действиями

44:50

искусственного интеллекта.

44:53

Давайте посмотрим, что он нам тут

44:54

сделал. Значит, анимация градиентного

44:58

жидкого движения, кнопки сетя, карточки

45:01

навыков,

45:03

адаптивность. Что ж, давайте посмотрим,

45:07

как это всё выглядит. Обновляю страницу.

45:10

И

45:13

что я могу сказать?

45:16

Очевидно, что-то поменялось, да? То есть

45:18

какие-то вот эти плавающие элементы

45:20

добавились.

45:23

И на самом деле вот хочется сказать,

45:24

блин, представьте, мы просто забили

45:28

запрос в искусственный интеллект, а,

45:30

получили достаточно крутой уровень

45:33

приложения.

45:35

И мне нравится то, что он в итоге

45:37

сделал. Кстати, интересно, почему эта

45:38

кнопка попадала. Вот. А есть вероятность

45:42

того, что, мм, у вас что-то может пойти

45:46

не так, да, например, какие-то элементы

45:47

будут не видны и так далее. У этого есть

45:50

два варианта режения. Вот первый вариант

45:52

решения. Ну давайте рассмотрим какую-то

45:54

такую ситуацию. Например, там заголовка

45:56

не видно, да? Мы можем прямо написать

45:58

ему: "Дорогой друг, я почему-то не вижу

46:02

поля, например, там мои навыки или

46:04

другое поле. Поправь его отображение и

46:06

объясняем, как это сделать".

46:09

Либо другой вариант есть, когда совсем

46:11

всё плохо. Мы можем нажать на кнопочку

46:12

вот эту вот. Нажать на кнопку. А здесь

46:16

он говорит нам отменить все изменения до

46:18

этого чекпоинта. Ну, если нажимаем

46:21

continue, тогда он изменяет. Если нет,

46:22

то нет. Я в данном случае оставлю данную

46:25

стилистику. Мне всё более-менее

46:28

нравится, что здесь есть. А,

46:32

ну и вот примерно так это можно было

46:34

реализовать. То есть

46:36

в данном случае я прикреплю весь свой

46:38

исходный код данного проекта на всякий

46:40

случай, чтобы у вас

46:42

была возможность скопировать, если

46:43

сломалась, но попробуйте это довести с

46:46

помощью также яишки, чтобы была

46:49

интегрирована тема. И сейчас мы будем

46:51

разрабатывать самую сложную и самую

46:54

интересную секцию. Я надеюсь, что вы со

46:56

мной. Я надеюсь, что у вас получилось

46:58

сделать

47:00

свой дизайн, свой UI kit и ставить свои

47:03

данные. Вот у меня это сейчас выглядит

47:05

всё таким вот образом, и мне это

47:07

достаточно нравится. Но давайте перейдём

47:10

к курсору. Значит, мы уже знаем, что для

47:13

новой задачи мы открываем панель, делаем

47:16

новый чатик, и вы получите сейчас промт.

47:19

Он у вас уже есть, давайте мы его

47:21

вставим для текущего дня. Хочу добавить

47:26

динамики на этот сайт. И поэтому мы

47:29

будем генерировать новую секцию, которая

47:33

называется Мой индекс навыков.

47:36

А требования будут следующие. То есть с

47:39

точки зрения HTML будет заголовок мой

47:41

индекс навыков. У нас будет пять

47:45

HTML-элементов, которые называется input

47:48

range. Я чуть позже покажу, как это

47:49

выглядит, но смысл в том, что мы сможем

47:51

выбирать прогресс и динамику.

47:55

А под каждым будет значение процентов. И

47:57

дальше у нас будет определённая логика,

47:59

которая будет в зависимости от нашего

48:02

текущего уровня навыков показывать, ну,

48:04

на каком уровне мы находимся. То есть

48:06

вот я придумал такую логику, поэтому а

48:10

пока рекомендую пойти с ней. Дальше мы

48:12

её подправим.

48:14

Так, визуал, минималистичный дизайн. А

48:18

давайте, кстати, здесь мы немножечко

48:21

подправим промт.

48:23

Здесь у нас должен быть не

48:25

минималистичный дизайн, а

48:30

даже вообще этот блок мы можем удалить,

48:32

да? То есть, видите, почему очень важно

48:33

читать запросы.

48:36

Дизайн

48:39

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

48:45

да? То есть он должен оставлять тот

48:48

дизайн. Вот. И всё должно быть сделано

48:51

на чистом HTMLCSS без фреймворков. Что

48:54

ж, погнали. Давайте посмотрим, что у нас

48:56

в итоге получится. Для реализации данной

48:58

задачи, конечно же,

49:01

здесь потребуется изменение и HTМ, и CS

49:05

для того, чтобы он всё это стилизовал, и

49:07

Джаваскрипта. То есть достаточно

49:08

комплексная задача, которая позволяет

49:10

реализовать нам там целый калькулятор

49:12

наших навыков. И вот я в домашке говорил

49:15

про то, что с одной стороны вам может

49:18

показаться, что, блин, неронка, пишет

49:21

код, курсор пишет код, всё здорово и

49:24

замечательно, но вот представьте, что

49:28

данный код - это не просто тестовый

49:30

проект, а это сайт, отвечающий за

49:32

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

49:35

Сможете ли вы доверить, не зная, что это

49:37

за элементы, искусственному интеллекту?

49:40

Нет. Вы как программист и программист

49:43

новой эры эпохи, вы должны чётко

49:45

понимать, а что конкретно делает

49:48

искусственный интеллект в данном случае

49:50

для того, чтобы контролировать его. И

49:53

тогда получается, что вы, понимая, что

49:55

вам нужно сделать, говорите, что вам

49:58

нужно сделать, он пишет код, вы это

49:59

контролируете, то есть код не пишите

50:01

уже, и применяете. Тогда получается

50:04

ускорение, тогда получается синергия.

50:06

Вот чем является программист будущего. У

50:08

него должен быть vision, должен быть

50:10

опыт. который позволяет ему как раз это

50:13

реализовать. Собственно, мы такой подход

50:15

реализовали в большой нашей программе,

50:17

которая, а, позволяет получить

50:19

профессию, причём очень быстро это

50:21

сделать,

50:23

как раз интегрируя ИI подход прямо вот в

50:26

классическое образование, за счёт чего и

50:28

уменьшается время обучения. Давайте

50:31

посмотрим на наши изменения. Немного

50:33

лирику я рассказал, но это важно

50:35

понимать, потому что если вы серьёзно

50:37

планируете свою карьеру, то вы должны

50:39

понимать, в каком этапе мы находимся и

50:41

как это работает, да? Так как без опыта

50:44

может показаться, что х, блин, буду всё

50:46

писать через нейронку. Есть нюансы.

50:49

Смотрите, давайте мы уже с вами

50:51

чуть-чуть более опытные. Посмотрим,

50:53

значит, что у нас тут есть. Во-первых,

50:55

появилась новая секция в HTМле, да, где

50:58

есть индекс навыков.

51:01

Он тут интегрировал, значит, какие-то

51:03

стили, точнее какие-то элементы, но мы

51:06

видим, что у нас тут есть CSS,

51:08

JavaScript, React View, LLM неросети,

51:11

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

51:13

в запросе, помните,

51:17

вот они вот эти вот навыки, которые мне

51:20

хотелось подчеркнуть для фронтенд

51:22

разработчика, мы здесь их и обозначили.

51:25

Дальше в джаваскрипте появился

51:28

появилась такая функция, которая

51:30

позволяет

51:33

работать с изменениями этих индексов.

51:36

Пока не будем их смотреть. Ну и,

51:37

собственно говоря, стили их тут

51:38

довольно-таки много. Что ж, пока вот

51:42

верхне уровнево, да, если мне даваться

51:43

подробности, выглядит всё ок.

51:46

Давайте посмотрим, как это работает.

51:49

Открываю

51:51

мои навыки и уровень. Опускаю чуть ниже.

51:55

Ага. И вот мы что получили.

51:59

Какая-то анимация есть этого ликвид

52:01

глаза и так далее. То есть вот эти

52:03

элементы, которые мы только что видели в

52:06

HTML, на самом деле мы можем их

52:09

посмотреть

52:11

через

52:14

def, да? Мы можем перенести деф-тузы

52:17

сюда и с помощью этой кнопки посмотреть,

52:21

что это за элемент. Вот мы видим, что

52:23

это у нас э такой элемент, как div. Мы

52:26

можем его раскрыть. Если мы раскроем

52:29

чуть ниже, видим, что вот этот элемент,

52:31

который у нас будет ползать сейчас, он

52:33

называется input. Это как раз

52:35

интерактивные элементы внутри HTML,

52:37

позволяющие мм взаимодействовать с

52:39

пользователем.

52:41

Так, ну и что ж, давайте попробуем.

52:44

Значит, я покручу

52:47

э HTML. Допустим, я его знаю на 45%.

52:51

Видите, меняется у нас общая часть.

52:53

О'кей. CSS, допустим, я знаю на 39%.

52:57

JavaScript внезапно я, допустим, знаю на

53:00

52%.

53:02

React View пусть будет 18% и LLM

53:05

неросети на 71%.

53:08

И мы в итоге видим,

53:10

как у нас меняется

53:14

общий прогресс. Понятное дело, что если

53:16

я его там на полностью попробую

53:18

вывернуть,

53:20

то

53:22

у нас меняется результат.

53:25

И, честно говоря, на мой взгляд, мне

53:27

кажется, что это очень даже круто, а

53:30

потому что у нас теперь есть

53:31

интерактивный калькулятор по факту,

53:34

который сигнализирует нам про уровень

53:36

наших навыков. Давайте проверим теперь

53:39

сохранность этих данных. То есть я

53:40

обновляю страницу,

53:44

и,

53:45

как видите, все данные у нас здесь

53:47

сохраняются

53:49

и меняется прогресс.

53:51

Что ж, на текущем этапе это выглядит

53:53

очень хорошо.

53:56

Он говорит мне: "Сильная база, готов к

53:58

портфолио". Супер. Но что вот мы можем

54:02

сделать сейчас как

54:03

программисты, которые взаимодействуют с

54:05

Иишкой, да? Вот что мы можем здесь

54:07

улучшить в первую очередь? Я считаю, что

54:11

здесь не самый удачный способ отбора UI

54:14

элементов есть, да? Потому что каждый из

54:17

этих блоков, он очень громозко выглядит

54:19

и занимает огромное количество

54:20

пространства.

54:22

Кстати, ещё оказывается вот так вот

54:23

можно делать. Прикольно. Поэтому я хочу

54:25

следующей задаче для курсора дать, чтобы

54:28

он сгруппировал все эти элементы, да?

54:30

Как мы это можем сделать?

54:33

Давайте напишем промт вместе.

54:36

Отличный

54:38

результат.

54:40

Единственно,

54:43

твенно. Ладно, допустим, правильно

54:45

написал. Давайте я даже попробую чуть

54:48

больше шрифт сделать. Что теперь?

54:53

А

54:55

каждый блок

55:00

с индексом навыка как отдельная карточка

55:06

выглядит.

55:09

Громозтко.

55:12

Давай их все объеним

55:16

в

55:18

одну карточку,

55:21

чтоб

55:22

она занимала

55:26

меньшее места

55:28

на сайте.

55:32

Опять же, промт, то есть запрос, он

55:34

может варьироваться, но я надеюсь, что я

55:36

смог

55:38

достаточно хорошо объяснить, что не

55:39

нужно менять логику, а что нужно

55:42

взаимодействовать с пространством, со

55:45

стилями, по правой карточке немного и

55:47

так далее.

55:50

Он вроде бы как это и делает.

55:59

Оставляем. Обновляю страницу. Так, уже

56:03

смотрите, чуть лучше стало, но как будто

56:06

бы всё равно, да? То есть, э, что

56:09

изменилось? Изменилось то, что теперь

56:10

это одна карточка. И в любом случае мне

56:13

так много больше нравится,

56:16

но мм ушли вот эти вот элементы, отступы

56:19

друг от друга снизу. Это называется

56:21

margin bottom, да? Отступ снизу от

56:23

элемента.

56:25

Но всё равно как будто бы многовато,

56:30

поэтому я могу также ему и написать.

56:32

Отлично. Но давай

56:36

уменьшим по размеру этот блок на

56:41

процентов

56:44

30 по высоте.

56:48

Почему бы и нет? Мы же заказываем то,

56:51

что мы хотим, поэтому пускай работает,

56:52

правильно?

56:55

Конечно же, а будучи

56:58

фронт-разработчиком, когда вы часто

57:00

работаете с интерфейсами, вы м чаще

57:04

будете сталкиваться с различными

57:06

дизайнами, с элементами, там, с

57:07

паттернами и так далее, и будете

57:09

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

57:11

что можно поменять, улучшить и так

57:13

далее. Вот. Потому что, ну, очевидно,

57:15

нельзя просто взять и зазумировать это

57:17

всё на 30%. Это будет выглядеть так

57:19

себе. А вот, но курсор меня правильно

57:22

понимает, и он адаптирует все элементы.

57:23

То есть я это вижу по тем изменениям в

57:26

коде, которые он вносит здесь.

57:29

Но опять же, видите, я здесь не работаю

57:31

с кодом, я работаю именно с запросом

57:36

к, а искусственному интеллекту.

57:40

И вуаля, вуаля. Смотрите, какую красоту

57:43

мы в итоге получили. Вот теперь мне это

57:45

намного больше нравится.

57:48

Теперь у нас всё помещается в один блок.

57:50

При этом у нас осталось функциональ

57:53

весь этот калькулятор. И на самом деле

57:58

выглядит это очень круто. Смотрите,

58:01

чтобы вам было проще потом

58:03

взаимодействовать с данным сайтом и

58:06

доделать его под себя, чтобы вы, в

58:09

принципе, понимали принцип того, как это

58:11

работает, я хочу продемонстрировать ещё

58:13

одну задачу. То есть, например, мы хотим

58:16

добавить сюда ещё один навык, да, потому

58:19

что сейчас мы прописали такой

58:20

довольно-таки консервативный

58:23

м frontнд стек, набор технологий,

58:26

необходимые стать

58:27

фронтенд-разработчиком.

58:29

Но на самом деле сейчас нам требуются

58:31

ещё знания более продвинутых вещей,

58:33

например, таких как Typescript.

58:35

И поэтому, а, давайте,

58:39

значит, в рамках вот также можно этого

58:41

чата, мы можем убедиться, что, видите,

58:43

здесь есть ползунок такой, где написано

58:45

всего лишь 31% контекста заполнен, то

58:48

есть мы можем смело продолжать здесь, но

58:50

я повторюсь, что для новых задач лучше

58:52

всё-таки использовать новый чат. И

58:54

напишем здесь. Супер.

58:57

Давай теперь ещё в качестве

59:02

одного

59:05

как же это называется, индекса

59:08

навыков, добавим

59:13

type scriptриt.

59:17

То есть, а, пример, который я хочу здесь

59:19

продемонстрировать в том, что мы можем

59:20

вот так вот самостоятельно, в том числе

59:22

не только менять

59:26

визуальное оформление сайта, но и менять

59:28

логику, да, потому что здесь также

59:30

потребуется ещё, получается, пересчитать

59:32

и,

59:35

а,

59:39

то, как это будет отображаться в

59:40

итоговом прогрессе и так далее, да,

59:42

давайте посмотрим, получилось ли у нас.

59:46

И да, как видите, это у нас также

59:48

работает. То есть здесь мы не

59:49

ограничены, в принципе, вот никакой, а,

59:54

никаким ограничением внешним, да, мы

59:56

просто делаем то, что нам хотим. И как

60:00

итог, да, вот этого проекта, я хочу,

60:02

чтобы вы поняли опять же принцип, как

60:04

это создаётся, принцип того, что

60:06

необходимо понимать вот эти вот базовые

60:07

навыки, чтобы более умело этим

60:09

оперировать и при необходимости там

60:11

самостоятельно где-то это менять и

60:13

реализовывать вот те проекты, которые вы

60:15

сами по-настоящему захотите. Такие вот

60:18

дела. Я надеюсь, что вам понравился этот

60:20

проект. И у нас остаётся одна небольшая

60:23

работа в качестве домашнего задания. Я

60:26

хочу, чтобы вы реализовали

60:29

самостоятельно одну секцию на сайте. Это

60:33

будет последняя секция, да, по аналогии

60:35

с предыдущими днями, где будет

60:40

очень простой блок, будет написано мои

60:42

контакты и будет кнопочка связаться со

60:45

мной в по Telegram. И там вам нужно

60:48

будет подставить свой usernрнеame.

60:51

Вот такая вот задача. Попробуйте это

60:53

реализовать. Ну и как обычно, решение

60:55

домашки также будет мною приложено. Так,

60:58

реализовываем последнюю секцию и

60:59

последнюю домажку. Показываю с нуля.

61:02

Создаём новый чат, и это обязательно. Ну

61:05

и дальше говорим: "Создай мне финальную

61:09

секцию сайта

61:13

и называю я её связаться со мной". Там

61:17

должна быть одна кнопка в стилистике.

61:23

нашего сайта.

61:26

А, а, допустим, связаться со мной в

61:30

Telegram

61:33

с иконкой

61:37

Telegram,

61:40

например. Так. И что ж, такой простой

61:43

запрос. Я отправляю его в

61:47

м курсор.

61:56

Смотрим, что он нам нарисует здесь. Он,

61:57

на самом деле, использует технологию с

61:59

ВГ, рисует иконочку, добавляет стили.

62:09

Так.

62:18

Всё проверяет здесь у себя. Угу.

62:20

Обязательно читаем,

62:22

смотрим на изменения. То есть добавлена

62:25

икон, точнее секция.

62:28

Так, а стилистика. Что ж, давайте

62:31

проверим, как это работает.

62:34

Обновляю страницу.

62:37

И смотрите, супер, у нас есть

62:39

потрясающая иконочка с Телеграмом,

62:43

но если я сюда перехожу,

62:46

то есть какой-то человек, который

62:47

называется username.

62:50

Вот. А, соответственно, это не совсем

62:52

то, что нам нужно здесь, да, потому что,

62:54

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

62:56

она очень красивая, мне она очень

62:57

нравится. Вот. Но нам нужно её заменить

63:00

на свою. Поэтому дальше

63:04

я перехожу в index HTML. Мы знаем, что я

63:07

в самом низу. Вот я вижу связаться со

63:10

мной. Вот у нас есть, а,

63:15

получается кнопочка связаться со мной в

63:19

Telegram.

63:21

И тут, видите, код, код, код, код, код.

63:22

Но если мы внимательно посмотрим, то тут

63:24

есть у нас такой тег, который

63:26

называется, а, э, он переводится как и

63:30

по факту это ссылка. Вот ссылка, из

63:33

которой стилистически мы сделали кнопку.

63:35

И вот у нас есть ссылка на username, да,

63:39

то есть вот он. Он и здесь мы можем

63:42

написать

63:45

а свой usернейм, который мы хотим

63:49

видеть. В данном случае я напишу здесь

63:51

владем, поскольку это

63:55

usernрнейм моего Telegram-канала. Вот

63:57

если я перейду, то, как видите, всё, вот

63:59

мой Telegram-канал, да, и мы можем

64:01

открыть его в Телеграме, соответственно.

64:04

Вот. У вас, естественно, будет это свой

64:07

юзернейм, но, как видите, мы

64:09

довольно-таки просто и быстро

64:11

реализовали задачу и такой сайт мы

64:13

получили. Просто представьте,

64:16

вот мы за столь малое количество

64:18

времени, на самом деле, сделали

64:20

довольно-таки большое количество

64:21

функционала и научились работать с

64:25

кодом. А теперь представьте, сколько

64:27

всего теперь можно реализовать, если

64:29

знать вот эти вот основы и как проявить

64:32

себя в творчестве. Я надеюсь, вам это

64:34

было приятно, полезно и интересно пройти

64:37

данный марафон. Благодарю за внимание и

64:39

увидимся дальше. M.

Interactive Summary

В этом видео представлен подробный обзор использования программы Cursor с искусственным интеллектом для разработки веб-сайтов. Процесс начинается с установки Cursor, настройки учетной записи и создания проекта. Затем демонстрируется, как использовать ИИ для генерации кода, начиная с базовой hero-секции, включая HTML и CSS. Особое внимание уделяется настройке ИИ для ответа на русском языке и установке расширений для улучшения рабочего процесса. В видео показано, как итеративно улучшать сайт, добавляя интерактивность, анимации и изменяя стили по запросу. Также разбираются практические аспекты работы с кодом, включая его чтение и понимание, и как ИИ может ускорить процесс разработки. Рассматриваются более сложные задачи, такие как создание блоков навыков с интерактивными карточками, добавление функций удаления и маркировки навыков. В заключение, показано, как интегрировать готовые UI-темы, например, "Liquid Glass", и как создавать новые секции, такие как "Мой индекс навыков" с интерактивным калькулятором прогресса. Подчеркивается важность понимания основ программирования для эффективного контроля над ИИ и создания сложных проектов. Финальный блок посвящен созданию контактной секции с кнопкой для связи через Telegram. Видео завершается демонстрацией готового сайта и домашним заданием по применению полученных знаний.

Suggested questions

10 ready-made prompts