Как начать писать на javascript с нуля

prompt()

Метод prompt() выводит диалоговое окно с сообщением и текстовым полем, куда пользователь вводит данные. Здесь тоже предусмотрены две кнопки «ОК» и «Отмена». По нажатию первой кнопки метод возвращает на сервер введенный текст, а по нажатию второй кнопки возвращает логическое значение false.

Синтаксис здесь такой:

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

Код:

Результат:

Возможности современного JavaScript выходят далеко за рамки примитивного ввода-вывода данных через формы. Эти методы мы привели только в качестве самых простых примеров. Кроме этого, JavaScript позволяет реагировать на действия пользователя. Например, на движения мышкой или нажатие определенных клавиш. JavaScript часто используется для обеспечения асинхронной работы (Технология AJAX), когда информация на странице обновляется без ее перезагрузки. В этом режиме данные отправляются на сервер и загружаются оттуда в интерактивном режиме. Кроме того, JavaScript способен манипулировать с HTML-элементами на странице (создавать и прятать теги и т.д.) и делать многое другое.

Освойте JQuery и популярные плагины

Чтобы понять, как работает JavaScript, проще всего начать с веб-разработки. Тут стоит освоить библиотеку JQuery. В ней та же логика, что и в чистом JavaScript, но она позволяет писать код кратко за счет более лаконичного синтаксиса. JQuery долго была самой популярной JavaScript-библиотекой для работы с веб-сайтами. В 2010-х появились новые фреймворки — Angular, React и Vue.js, а популярность JQuery стала снижаться.

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

Материалов для изучения в сети достаточно: от официальной документации до подробнейших справочных и обучающих ресурсов и бесплатных видеоуроков.

Научитесь искать плагины и работать с ними. Они нужны, чтобы упростить работу с популярными элементами интерфейса. Они написаны на чистом JavaScript, практика их подключения и настройки не требует глубоких знаний, но хорошо тренирует владение языком. Это могут быть плагины для создания модальных окон (Tingle), галерей (lightgallery.js), встроенных объектов (SuperEmbed.js) и многих других элементов веб-страницы.

Функции

Мы написали скрипт. Он делает много разных вещей: выгружает все кампании, показывает количество групп в кампании, количество объявлений в группе, проверяет наличие модификаторов… А потом создает новую папку на Google Диске, создает новую Google Таблицу и в ней выводит все собранные данные. Это, кстати, .

Как видите, довольно много задач. Одна задача — это как минимум пара строчек кода. К примеру, есть задача — получить Google Таблицу по URL от пользователя. Если пользователь не дал URL, тогда скрипт должен создать Google Таблицу. Вот код, который ее выполняет:

А теперь представьте, сколько строк занимает код всего скрипта. Подскажем: 566 строк. Неплохо, да? А теперь представьте, каково управлять 566 строками… Уууу…

Проведем аналогию с РРС. Когда вы настраиваете рекламу в Google Покупках, вы не запихиваете все товары в одну группу, правда? Обычно вы как-то разделяете товары, к примеру, по кампаниям. Кампания «Штаны», кампания «Футболки», кампания «Носки». Элементами проще управлять, когда они как-то гранулированы. Разделяй и властвуй!

Или, к примеру, текст. Одно дело — полотно текста без подзаголовков, сплошные абзацы. Другое дело — текст с понятными разделами: вот тут говорим про переменные, вот тут — названия, вот тут — типы.

С кодом то же самое. Чтобы поделить код на какие то понятные и завершенные блоки, используют функции. Функция — это способ показать, что весь код в ней связан, в идеале — что он делает одно действие.

Чтобы обозначить функцию, строку начинают с function:

Функция — это готовый кусок кода, который можно использовать повторно. К примеру, разработчик может один раз написать код для исключения ключей. В первый раз он прописывает код полностью. Если дальше в коде снова нужно исключить ключи, он не пишет такой же код еще раз, а просто вызывает функцию, которую написал раньше.

То есть можно каждый раз в скрипте набирать одинаковый код. А можно написать его раз, «завернуть» в функцию и в следующий раз сразу вызвать функцию.

Основная задача функции для разработчика — избавить от необходимости дублировать код, чтобы не раздувать скрипт до 100500 строк.

Чтобы вызвать функцию, которая создана где-то в другой части кода, пишут ее название и скобки ():

А вот весь код, который входит в функцию, записан ниже. Он начинается со слова function и уже дальше идет название, по которому можно вызвать функцию в другом месте:

Кстати, весь скрипт — это ведь тоже готовый кусок кода, так? Чтобы показать это, весь скрипт от начала и до конца «заворачивается» в функцию. Она называется main — главная. То есть каждая функциональная часть скрипта начинается с таких строк:

Приколы системных администраторов. VBS-скрипты

Шутки с использованием vbs-скриптов. Можно подшутить над другом или коллегами на работе.

Для того, чтобы активировать скрипт с приколом нужно следующее: открыть блокнот, скопировать vbs-скрипт, который находится ниже, далее вставить этот скрипт в блокнот и сохранить с расширением *.vbs, а после запустить на компе жертвы.

Пугалка №1. 

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

on error resume next 
set t=createobject("Wscript.Shell") 
set kill = createobject("wscript.shell") 
kill.run"taskkill /f /im explorer.exe",0
msgbox"Неполадка системы",16,"Error" 
msgbox"Вы заражены вирусом",48,"Windows" 
msgbox"Необходим перезапуск системы",16,"Windows"
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"calc.exe" 
t.run"notepad.exe" 
t.run"telnet" 
t.run"help" 
t.run"explorer" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"calc.exe" 
t.run"notepad.exe" 
t.run"telnet" 
t.run"help" 
t.run"help" 
msgbox"Сбой системы",16,"Windows" 
t.run"help" 
t.run"help" 
t.run"help"
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"calc.exe" 
t.run"notepad.exe" 
t.run"telnet" 
t.run"help" 
t.run"explorer" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"calc.exe" 
t.run"notepad.exe" 
t.run"telnet" 
t.run"help" 
t.run"help" 
msgbox"Сбой системы",16,"Windows" 
t.run"help" 
t.run"help" 
t.run"help"
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"calc.exe" 
t.run"notepad.exe" 
t.run"telnet" 
t.run"help" 
t.run"explorer" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"help" 
t.run"calc.exe" 
t.run"notepad.exe" 
t.run"telnet" 
t.run"help" 
t.run"help" 
msgbox"Сбой системы",16,"Windows" 
t.run"help" 
t.run"help" 
t.run"help"

Пугалка №2. Мигающая клавиатура

На клавиатуре мигают лампочки, а так же имитируется нажатие клавиш CapsLock, NumLock, ScrollLock, в результате чего написанный текст принимает вид: ТаКоЙ ТеКсТ

Set s = CreateObject("Wscript.Shell") 
do 
wscript.sleep 80 
s.sendkeys"{numlock}" 
wscript.sleep 80 
s.sendkeys"{capslock}" 
wscript.sleep 80 
s.sendkeys"{scrolllock}" 
wscript.sleep 80
wscript.sleep 80 
s.sendkeys"{numlock}" 
wscript.sleep 80 
s.sendkeys"{capslock}" 
wscript.sleep 80 
s.sendkeys"{scrolllock}" 
wscript.sleep 80
s.sendkeys"{scrolllock}" 
wscript.sleep 80 
s.sendkeys"{capslock}" 
wscript.sleep 80 
s.sendkeys"{numlock}" 
wscript.sleep 80
wscript.sleep 80 
s.sendkeys"{scrolllock}" 
wscript.sleep 80 
s.sendkeys"{capslock}" 
wscript.sleep 80 
s.sendkeys"{numlock}" 
wscript.sleep 80 
s.sendkeys"{numlock}" 
wscript.sleep 80 
s.sendkeys"{capslock}" 
wscript.sleep 80 
s.sendkeys"{scrolllock}" 
wscript.sleep 80 
loop 

Пугалка №3.

Открывается блокнот и пишется текст

on error resume next 
set t=createobject("Wscript.Shell") 
Set s = CreateObject("Wscript.Shell") 
set kill = createobject("wscript.shell") 
kill.run"taskkill /f /im explorer.exe",0 
t.run"notepad" 
wscript.sleep 580 
s.sendkeys"+{х}" 
wscript.sleep 80 
s.sendkeys"{о}" 
wscript.sleep 80 
s.sendkeys"{ч}" 
wscript.sleep 80 
s.sendkeys"{е}" 
wscript.sleep 80 
s.sendkeys"{ш}" 
wscript.sleep 80 
s.sendkeys"{ь}" 
wscript.sleep 80 
s.sendkeys"{ }" 
wscript.sleep 80 
s.sendkeys"+{н}" 
wscript.sleep 80 
s.sendkeys"{а}" 
wscript.sleep 80 
s.sendkeys"{у}" 
wscript.sleep 80 
s.sendkeys"{ч}" 
wscript.sleep 80 
s.sendkeys"{у}" 
wscript.sleep 888 
s.sendkeys"%{f4}" 
wscript.sleep 80 
s.sendkeys"{RIGHT}" 
wscript.sleep 80 
s.sendkeys"{enter}" 
msgbox"Страшно было xD",16,"Шутка" 
t.run"explorer.exe"

Вступайте в диалог с читателем

Распространенная ошибка начинающих авторов – намеренное усложнение текста.

Они пытаются выглядеть умнее, вставляют профессионализмы (а зачастую и канцеляризмы) направо и налево, используют выражения а ля «Как мы все знаем…» или «Очевидно, что…» в тех случаях, когда все на самом деле далеко не очевидно. Пишут длинными сложночитаемыми предложениями и так далее.

В большинстве случаев читатели разделятся на две половины: одни поверят в «великий гений» такого автора, а их самооценка упадет ниже плинтуса, другие скажут: «Да кто ты вообще такой, что передо мной хохлишься?» и перестанут читать. Поэтому не надо так писать.

Переменные

Есть разные скрипты. Одни ищут нерелевантные площадки в кампаниях для КМС. Другие сообщают про конфликт между ключами и минус-словами. Третьи следят за бюджетом и останавливают кампании при перерасходе. Всё это — данные, которые скрипт обрабатывает.

Площадки в КМС — это данные.

Ключевые слова — это данные.

Минус-слова — это тоже данные.

К данным относится несколько важных понятий. Два из них вы уже знаете:

  • название (имя, фамилия, пол);
  • значение (Ваня, Иванов, мужской);

Есть третье важное понятие — переменная. Это контейнер, такой кусочек кода, где хранятся данные

Последовательно эта цепочка в коде выглядит так:

К примеру:

var — это и есть обозначение переменной. Переменные «объявляют» — то есть указывают их вот таким образом в начале строки. Это нужно, чтобы система поняла, что дальше будут данные, какие данные будут, сколько места оставить для их хранения в оперативной памяти.

var — не меняется. Если разработчик хочет написать переменную, в начале строки он укажет var. Оно не изменяется ни при каких условиях. Нужна переменная — напиши в начале строки var.

Все данные в скрипте хранятся в переменных. Если хотите знать, какие данные использует скрипт, смотрите на все строки с var в начале.

С чего начать изучение JavaScript и сколько времени это займет?

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

  1. Структура кода (как составляется программа, с чего начинается, в какой последовательности задаются команды и т.д.).
  2. Переменные (что это такое, для чего нужны, как задаются и используются в скриптах).
  3. Типы данных, например: число, строка, логический тип, и преобразование типов.
  4. Операторы, например, как производится сложение. Приоритет операторов (какие действия выполняются в первую очередь, какие – во вторую и т.д.). Бывают операторы сравнения, условные операторы, логические.
  5. Выучить, как использовать циклы (что это такое, для чего нужны, как их задавать). Говоря простыми словами, циклы позволяют производить одну и ту же операцию несколько раз (пока не наступит условие, которое завершит цикл).
  6. Функции.
  7. Объекты и их свойства.
  8. Прототипы, наследование.
  9. Классы и наследование классов.
  10. Интерфейсные события (обработка движения курсора, кликов мышки, нажатия кнопок на клавиатуре).
  11. Программирование элементов интерфейса: кнопок, форм и других.
  12. Выучить, как писать асинхронный код на JavaScript.
  13. Отладка программ в браузере, написанных на JS.
  14. Обработка ошибок.
  15. Качество кода: как писать программу правильно, чтобы в ней было легко и просто ориентироваться как автору, так и другому разработчику.

Изучить основы можно самостоятельно, например, пользуясь самоучителем Learn.javascript.ru или Html5css.ru. На втором сайте курс интерактивный. Можно прямо в браузере смотреть пример кода и как он работает (какие события обрабатывает и как).

Выучить простейшие азы можно за срок от 2-3 недель до 1,5 месяцев в зависимости от времени, которое вы сможете уделять программированию каждый день. Далее вам потребуется более глубоко погружаться в предметную область, о чем поговорим ниже.

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

FAQ

Как понять, куда в скрипте нужно внести свои данные?

Обычно строки, куда нужно вносить свою информацию, находятся в начале файле. Чаще всего они даже подписаны и содержат примечания, какую информацию и в каком формате вносить. Универсального способа быстро найти места для кастомной информации нет — надо читать весь скрипт.

Сразу после function main указаны строки, которые требуют нашего внимания до запуска. Иногда они содержат предустановленные значения (как здесь), которые будут использоваться, если вы не замените их на свои

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

В Google Рекламе больше 20 сущностей, у каждой есть свой набор доступных методов; плюс элементы, функции, селекторы — список можно продолжать долго.

Хорошая новость № 1: большая часть кода основана на английском языке, часто она понятна и без знания JavaScript.

Хорошая новость № 2: у Google есть довольно подробная документация для разработчиков (опять же, на английском).

Если вы столкнулись с незнакомым выражением — скопируйте его в поиск по сайту Google для разработчиков. В начале каждой статьи есть краткое описание, что это такое и зачем оно нужно.

Concat — это метод, который используется, чтобы объединять ldf и больше массива. То есть мы можем указать массив 1, массив 2, а чтобы выполнить действия над элементами из обоих массивов, использовать метод concat

Почему скрипты такие разноцветные?

Чтобы с ними было удобнее работать. В коде разными цветами выделены разные части синтаксиса: функции, названия и значения переменных, методы и так далее. Так код проще читать: при беглом просмотре сразу видно, что и где написано.

Скрипт можно написать самому?

Конечно, но для этого нужны более глубокие знания языка программирования и принципов написания кода в целом.

Скриптами можно решать любую задачу?

Любую не любую, но скрипты действительно могут решить очень много задач. Другое дело, что из-за необходимой для выполнения детализации, некоторые вещи довольно сложно написать как факт (хотя все равно реально). Основная сложность в том, что для создания скрипта надо одновременно разбираться и в программировании, и в РРС. В Penguin-team скрипты пишут разработчики, которых постоянно консультируют РРС-специалисты.

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

В этой части статьи на Kadrof.ru вы найдете видео, а также ссылки на обзоры бесплатных уроков и мастер-классов, которые помогут выучить JS с нуля. Вы сможете использовать их для самообучения.

1. Полный курс по Java Script для новичков. За 6 часов в этом видео простым и понятным языком описываются основы языка:

2. Что такое Node.JS: история создания, простейшие скрипты и основные возможности. Видео с канала Разработка от Яндекса продолжительностью 3 часа:

3. Еще один бесплатный урок по Node.JS, который можно посмотреть в том числе начинающим разработчикам:

4. Полный курс по React. Примеры и практика для новичков:

Также вы можете посмотреть бесплатные видео уроки, собранные в группе Клуб фриланеров, в том числе:

  • JavaScript для новичков (13 уроков)
  • jQuery для начинающих (11 уроков)
  • Учим jQuery на примерах (8 видео)
  • Зачем нужен Node.js и что на нем можно делать (4 видео)

Анатомия юзерскриптов

Юзерскрипт — это текстовый файл с расширением user.js. В начале файла располагается блок метаданных — описание самого скрипта. После блока метаданных следует javascript-код, который и будет исполняться браузером.

Рассмотрим тестовый скрипт, который показывает alert с текстом на определенной странице.

Важно: данный скрипт представляет собой оболочку для кроссбраузерных юзерскриптов. Этот же скрипт, но с английскими комментариями, можно стянуть с pastebin.com и использовать безнаказанно

В самом начале располагается блок метаданных (в виде комментария).

Этот блок состоит из директив описания юзерскрипта. Ниже в таблице представлены основные директивы и их назначение.

Важно:Все директивы, как и сам блок метаданных, могут отсутствовать

Директива Назначение
@ name Название юзерскрипта. Это название будет отображаться в интерфейсе управления юзерскриптами. Если директива отсутствует, то название юзерскрипта будет таким же, как и название файла.
@ description Описание юзерскрипта. Это описание будет отображаться в интерфейсе управления юзерскриптами.
@ namespace Пространство имён. Определяет уникальность набора скриптов. Сюда можно вписать имя домена, принадлежащего вам. Или любую другую строку. Считайте, что это второе название скрипта. Обязательная директива для Trixie!
@ author Имя автора.
@ license Название лицензии, по которой распространяется юзерскрипт.
@ version Номер версии юзерскрипта. К сожалению, механизма автообновления нету ни в одном браузере, поэтому номер версии — это просто цифры, которые отображаются в интерфейсе.
@ include Директива описания url страницы, на которой нужно запускать юзерскрипт. Поддерживает вайлдкард *(применимо в GreaseMoneky, Opera, IE). Для каждого отдельного url нужно использовать отдельную директиву @ include.
@ exclude Директива описания url страницы, на которой не нужно запускать юзерскрипт. Поддерживает вайлдкард *(применимо в GreaseMonkey, Opera, IE). Для каждого отдельного url нужно использовать отдельную директиву @ exclude.
@ match Аналогично @ include, но с более жесткими ограничениями (применимо в GreaseMonkey старше 0.9.8, Google Chrome). Подробнее об ограничениях и формате директивы можно прочитать на этой странице. Для каждого отдельного url нужно использовать отдельную директиву @ match.

Важно: Как показала практика, полагаться на директиву @ match в юзерскриптах не стоит. Google Chrome периодически отказывается учитывать @ match и запускает юзерскрипты на всех страницах

Для предотвращения такой ситуации в юзерскрипты, которые будут запускаться не только в Firefox, нужно добавлять код проверки адреса страницы (см. ссылку в коде юзерскрипта) .

Важно: При отсутствии директив @ include или @ match, юзерскрипты будут запускаться на всех страницах. В нашем юзерскрипте использован ряд хитростей:

В нашем юзерскрипте использован ряд хитростей:

  1. Для того, чтобы юзерскрипты имели одинаковое поведение и не загрязняли глобальную область видимости, код оборачивается в замыкание (см. в коде скрипта) .
  2. Для правильного подключения библиотек внутри юзерскрипта и для обхода некоторых хитрых особеннойстей GreaseMonkey, необходимо «нормализовать» ссылку на глобальную область видимости window (см. в коде скрипта) .
  3. Для того, чтобы юзерскрипт не запускался несколько раз на одной и той же странице, необходимо останавливать работу при запуске юзерскрипта во фреймах (см. в коде скрипта) .
  4. Для того, чтобы юзерскрипт запускался только на нужных нам страницах, необходимо явно проверять url страницы (см. в коде скрипта) .
  5. Благодаря такой структуре, юзерскрипт может быть относительно просто преобразован в букмарклет.

Поддержка в Firefox

Mozilla Firefox поддерживает юзерскрипты после установки расширения GreaseMonkey (в русском сленге — обезъяна) или Scriptish. После установки расширений фаерфокс получает поистине мощную поддержку юзерскриптов. Рассматриваемая далее информация применима в первую очередь к GreaseMonkey (это расширение было первым).

Установка: юзерскрипты устанавливаются простым перетаскиванием файла скрипта в браузер. Расширения:GreaseMonkey, Scriptish. Управление: юзерскрипты можно отключить и удалить в меню, добавляемом расширениями. Особенности:

  • Присутстует мощная библиотека GM API.
  • Подменяется «родной» глобальный объект window.
  • Объекты «родного» окна, к примеру window.page_defined_var, доступны через «небезопасную» ссылку unsafeWindow.
  • Доступны кроссдоменные запросы через интерфейс XmlHttpRequest.
  • Доступен аналог globalStorage.
  • Доступна возможность подключения сторонних библиотек (к примеру, jQuery).
  • Из-за безопасности плагина GreaseMonkey некоторые функции требуют специфических хаков. К примеру, запуск GM_setValue(. ) в обработчике ajax-запроса может вызвать ошибку доступа к методам GM API. Для обработки такой ситуации используется конструкция вида setTimeout(function(),0).
  • Отсутствует возможность дебага юзерскриптов. Даже Firebug тут не поможет.

GreaseMonkey добавляет так называемый GM API — набор javascript функций, добавляющих функционал юзерскриптам. Из самых востребованных функций, которые предоставляет GM API, стоит упомянуть:

  1. Объект «родного окна» страницы unsafeWindow (позволяет подменять функции на странице, использовать уже имеющиеся на странице библиотеки)
  2. Кроссдоменный HttpXmlRequest: GM_xmlhttpRequest
  3. Аналог globalStorage (localStorage без привязки к домену): GM_setValue,GM_getValue и GM_deleteValue

Подробнее о GM API и функциональности GreaseMoneky можно узнать на http://wiki.greasespot.net.

Исторически, все юзерскрипты писались под браузер Firefox именно из-за наличия удобного плагина. Это обусловливает тот факт, что все браузеры, которые поддерживают юзерскрипты, дополнительно следуют основным правилам спецификации GreaseMonkey по разбору метаданных. Это означает, что все скрипты, которые были написаны под GreaseMonkey, будут устанавливаться и запускаться в браузерах, поддерживающих юзерскрипты (с минимумом модификаций).

К сожалению, ни один браузер, кроме Firefox, не предоставляет GM API. Этот печальный факт заставляет использовать эмуляции GM API через расширения или дополнительные юзерскрипты.

В случае разработки юзерскрипта «с нуля», я считаю предпочтительным отказаться от эмуляции GM API и использовать «велосипеды» собственного производства. Это позволяет уменьшить число зависимостей юзерскрипта, что, в свою очередь, позволяет вести разработку в рамках концепции одного файла: модифицировать придётся всего один файл; пользователю нужен всего один файл для запуска юзерскрипта.

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

Массив

Массив — это упорядоченный набор данных, его используют для хранения данных одного типа. К примеру, нам нужно собрать вместе три ID кампаний, чтобы потом делать с этими кампаниями одинаковые действия. Мы соберем их в массив такого вида:

Тут используются данные одного типа — числового, number. И все они собран в один набор — массив.

Вот как можно использовать массив:

То есть в этой переменной скрипт соберет ключевые слова из группы объявлений. Чтобы собрать данные не из всех групп, а только из определенных, мы используем селектор .withIds (тот же принцип, что и withCondition, который мы упоминали на старте). Чтобы указать, какие конкретно ID нужны, мы обращаемся к массиву с названием ids:

.withIds(ids)

Это название отсылает скрипт к строчке, где прописан массив (var ids = ;).

Уроки письма

Для обучения базовым навыкам письма мы приготовили несколько уроков. Цель данного курса состоит в том, чтобы помочь начинающим писателям сделать первый шаг к развитию своего таланта. Уроки, которые приведены в данном тренинге, смогут развить ряд полезных компетенций, а именно:

Урок 1. Мотивация или как начать писать

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

Урок 2. Риторическое позиционирование

Написание любого текста должно начинаться с риторического позиционирования, которое подразумевает ответ на следующие вопросы: О чём я пишу? Зачем я пишу? Для кого я пишу? Как я пишу? Иными словами, риторическое позиционирование включает в себя определение темы будущего произведения, его цели, его аудитории, а также его стилистической и жанровой формы.

Урок 3. Стили текста

Языковая стилистика – это направление, изучающее выразительные возможности и средства языка, их лексическое значение, а также закономерности их употребления в различных языковых ситуациях и сферах общения

В этом уроке мы сосредоточим внимание на функциональной стилистике. Функциональная стилистика исследует использование языка в разных сферах деятельности людей, то есть анализирует функциональные стили, их признаки и особенности употребления в разных коммуникативных ситуациях

Урок 4. Логичность и структура текста

Когда о тексте говорят, что он логичен, то обычно это не связано с логикой в прямом смысле. Безусловно, никакой текст не должен нарушать логических законов и правил рассуждения, однако в данном случае речь идёт немного о другом. Можно сказать, что основными требованиями, предъявляемыми читателями к любым текстам, являются логичность и структурированность. В этом уроке мы объясним, что это значит и как этого достичь.

Урок 5. Словарный запас и лексическая стилистика

Словарный запас (словарь, лексикон) – это совокупность слов, которые понимает и использует в своей речи человек. Его принято делить на два вида: активный и пассивный. Активный словарный запас – это те слова, которые человек регулярно употребляет в устной речи и письме. Пассивный словарный запас – этот набор слов, которые человек знает и понимает на слух или при чтении, но сам ими не пользуется. В этом уроке вы узнаете, каким должен быть объём активного и пассивного словарного запаса, как его можно пополнять и обогащать, а также правильно использовать в речи.

Урок 6. Лексическая стилистика

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

Урок 7. Грамотность письменной речи

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

Автор уроков: Ксения Галанина (+)

«Creative Writing: The Craft of Setting and Description» от Уэслианского университета

  • Продолжительность курса: 7 часов
  • Формат обучения: видеоуроки + текстовые материалы + тесты

Описание курса

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

  • Понять, почему описание имеет значение
  • Грамотно выстроить повествование
  • Создавать историю, избегая типичных ошибок
  • Материал представлен на английском языке
  • Есть русские субтитры
  • Есть тестовые задания
  • Есть материалы для самостоятельного изучения

Об авторе курса

Эмити Гейдж

  • Автор трёх романов (Schroder, The Folded World, O My Darling и Sea Wife)
  • Лауреат стипендии Фулбрайта, а также стипендии Гуггенхайма
  • Приглашённый лектор в Амхерстском колледже
  • Преподаватель Йельского университета
  • Публиковалась в The New York Times Book Review, The Huffington Post, Washington Post, The Wall Street Journal, Kirkus, Cosmopolitan и многих других известных изданиях

Начните осваивать инструменты разработчика

Уже в процессе изучения JavaScript начинайте осваивать инструменты экосистемы веб-разработки на Javascript, необходимые для работы в команде:

  • инструменты отладки кода (JavaScript Debugger, Chrome Dev Tools);
  • менеджер пакетов npm, который позволяет одной командой в терминале скачивать и устанавливать любые плагины, библиотеки и фреймворки;
  • система контроля версий Git. С ее помощью несколько разработчиков могут одновременно работать над проектом без риска запутаться в обновлениях;
  • таск-менеджер Gulp. Это программа, написанная на JavaScript, позволяющая автоматизировать рутинные задачи веб-разработки, например объединение файлов, работу с CSS-препроцессорами и многое другое. На официальной странице сайта Gulp в разделе Plugins есть множество плагинов и модулей для решения большинства типовых задач;
  • модульный упаковщик Webpack. Собирает все исходные файлы (картинки, шрифты, таблицы стилей, JS-файлы и т.д.) в единый граф зависимостей и упаковывает модули в один компактный пакет для загрузки браузером. Особенно полезен в организации работы с приложениями на React, но считается слишком громоздким для небольших и несложных проектов;
  • фреймворки для тестирования JavaScript-кода (Jasmine, Mocha, PhantomJS);
  • платформы кибербезопасности (Snyk, Node Security Project, Retire.js), с помощью которых разработчики находят уязвимости и критические ошибки в своем коде.

Когда освоите главные инструменты — можно смело выбирать специализацию. JavaScript используется не только во frontend-разработке, но и для создания мобильных, десктопных приложений и игр и даже для программирования бытовой техники и оборудования.

Переменные и вывод команд

Переменные не были бы настолько полезны, если бы в них невозможно было записать результат выполнения утилит. Для этого используется такой синтаксис:

$(команда)

С помощью этой конструкции вывод команды будет перенаправлен прямо туда, откуда она была вызвана, а не на экран. Например, утилита date возвращает текущую дату. Эти команды эквивалентны:

Понимаете? Напишем скрипт, где будет выводиться hello world и дата:

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: