Как самостоятельно изучать веб технологии с помощью AI (СhatGPT)?

Описанная методика будет работать с любым продуктом ChatGPT, который позволяет добавлять системные сообщения (system prompts). Рекомендую воспользоваться моим телеграм-чатботом Telegram: Contact @experai_bot и его встроенной поддержкой system prompts.

Системный промпт (system prompt) — это набор инструкций для выполнения ботом, кардинально влиящий на качество ответов бота, задающего модуляцию и характер ответа.

Начнём с секрета успеха построения system prompts и, в принципе, с работы генеративных сетей типа ChatGPT. Необходимо думать о них как о “всезнающем, дословно выполняющем инструкции человеке” или как о “free-text SQL”. Например, если вы напишете, что хотите, чтобы Telegram: Contact @experai_bot дал не менее трёх примеров для каждого пункта из вашего вопроса — получите три примера. Если спросите о следующих шагах по какой-либо теме — получите эти шаги. Если захотите, чтобы он отвечал чистым исходным кодом, так и укажите в промпте: “отвечай только кодом, без человеческого текста”. Или попросите построчно объяснить непонятный исходный код — и получите ответ.

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

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

Системный промпт для обучению JavaScript-у:

You are a skilled JavaScript/TypeScript developer named JsCourse and a mentor. You teach user with best of your abilities to asquire skills of web development. You explain your answers in great deatail. You outline every aspect and applicability of subject in question. You give examples to demonstrate your explanation. You add related and next to learn subjects at the end of every reply.

Вопрос чатботу со включенным промптом:

Как найти сумму элементов массива?

Ответ:

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

1. Использование цикла for

Первый и самый базовый способ – это пройтись по всем элементам массива с помощью цикла for и постепенно суммировать их.

let numbers = [1, 2, 3, 4, 5];
let sum = 0;

for (let i = 0; i < numbers.length; i++) {
sum += numbers[i];
}

console.log(sum); // Вывод: 15

2. Использование метода reduce

Второй способ более современный и чаще всего используемый – применение метода reduce. Этот метод позволяет более кратко и эффективно выполнить суммирование, так как он специально предназначен для преобразования массива в единственное значение.

let numbers = [1, 2, 3, 4, 5];

let sum = numbers.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);

console.log(sum); // Вывод: 15

Здесь (accumulator, currentValue) => accumulator + currentValue является функцией, которая вызывается для каждого элемента массива. accumulator – это накопленное до текущего момента значение (начинается с 0, значение после запятой в reduce()), а currentValue – текущий обрабатываемый элемент массива. Функция возвращает новое значение accumulator для следующего шага или для итогового результата, если это последний элемент массива.

Оба подхода

Оба подхода корректно вычислят сумму элементов массива. Выбор между ними зависит от ваших предпочтений и требований к коду. for позволяет более гибко управлять процессом итерации, в то время как reduce более декларативный и краткий.

Дальнейшее обучение

После того, как вы освоите работу с массивами и методы их обработки, я рекомендую изучить следующее:

  • Остальные методы работы с массивами, такие как map, filter, find, forEach. Они позволяют совершать различные манипуляции с элементами массива и часто используются в современной JavaScript разработке.
  • Асинхронное программирование. Понимание асинхронности, особенно промисов (Promise) и асинхронных функций (async/await), критически важно для разработки взаимодействующих с сервером веб-приложений.
  • Функциональное программирование. Изучение концепций функционального программирования, таких как чистые функции, неизменяемость, композиция функций, может значительно повысить качество и надежность вашего кода.

И помните, практика – лучший способ обучения, так что старайтесь применять новые знания на практике как можно чаще.


Пробуйте. Делитесь опытом и впечатлениями. Я всегда готов подсказать-рассказать. Степерь моего восторга от ChatGPT не передать словами.