Как сделать скрипт страницы. Пишем программы (скрипты) в Блокноте Windows. Учимся писать скрипты

Новости 05.03.2019
Новости

Россия заняла пятую строчку рейтинга стран по числу загрузок приложений за 2016 год на платформах iOS и Android, оценила App Annie. Однако по доходам от приложений страна не вошла и в десятку - пользователи в России не платят за контент

Фото: Антон Белицкий/РИА Новости

Как следует из годового отчета аналитической компании App Annie (есть у РБК), по итогам 2016 года по всему миру было загружено 90 млрд приложений, что на 15% больше, чем в 2015 году. Проведенное в приложениях время увеличилось на 25% и достигло почти 900 млрд часов.

Россия заняла пятую строчку рейтинга по числу загрузок приложений в мире как в магазине App Store, так и в Google Play. В прошлом году на Россию совокупно пришлось 3,8 млрд скачиваний в магазинах приложений Google Play и App Store, или 4% от мировых загрузок, передал через пресс-службу директор App Annie по Центральной Европе и СНГ​ Мартье Абелдт. По загрузкам на платформе iOS Россию опережают Китай, США, Япония и Великобритания. В аналогичном рейтинге для Android лидируют Индия, США, Бразилия и Индонезия.

В 2016 году благодаря App Store и Google Play издатели приложений получили $35 млрд дохода, что на 40% выше показателя 2015 года. Причем в App Store темп роста составлял 50%. «Рост доходов происходил во многом благодаря Китаю, на который пришлась примерно половина годового роста этого магазина», — говорится в исследовании компании.

Игры и торговля

Согласно статистике App Annie, большую популярность среди пользователей имеют продукты компании Facebook: приложение самой соцсети, мессенджеры WhatsApp и Facebook Messenger, а также фотохостинг Instagram в 2016 году были самыми скачиваемыми по совокупным показателям на iOS и Android. Пятерку замыкает Snapchat.

В мировой топ-5 самых доходных приложений из App Store и Google Play вошли музыкальный сервис Spotify, японский мессенджер Line, видеосервис Netflix, приложение для знакомств Tinder и стриминговый сервис HBO NOW. Несмотря на то что Pokemon Go от Niantic оказалось абсолютным лидером среди мобильных игр по скачиваниям, в рейтинге наиболее доходных приложение оказалось лишь на третьей строчке, после игр Monster Strike от компании Mixi и Clash of Clans от Supercell. При этом категория «Игры» стабильно занимает первые места как по мировым загрузкам (на обеих платформах), так и по доходам, отмечается в отчете App Annie. За прошедший год игры принесли 75 и 90% всех доходов в магазинах приложений iOS App Store и Google Play соответственно.

Как отмечается в отчете App Annie, в 2016 году наметилась тенденция к росту популярности приложений ретейлеров. Объем продаж через них достиг $220 млрд, что на 53% больше, чем в 2015 году. «Мы ожидаем, что этот показатель будет расти и дальше, так как пользователям станет удобнее совершать покупки со смартфона», — говорится в отчете.

Среди самых скачиваемых приложений у российских пользователей лидируют WhatsApp, VK, Viber, «Сбербанк Онлайн» и «Одноклассники». Компаниями-лидерами, чьи продукты скачивались активнее всего в прошлом году, были Mail.Ru Group, «Яндекс», Facebook, Google, а также китайская Cheetah Mobile (известна выпуском мобильных инструментов Clean Master, Battery Doctor, CM Applock).

Лидером по доходам в России оказалось приложение «Одноклассники». Далее идут приложение Read от «ЛитРес» для чтения и скачивания электронных книг, сервисы для знакомств Badoo и «Яндекс.Музыка».

App Annie также оценила наиболее используемые среди россиян приложения. Среди владельцев устройств на операционной системе iOS это WhatsApp, Viber, VK, Instagram и YouTube. Среди владельцев устройств на Android первые три позиции рейтинга занимают аналогичные продукты, далее следуют 2GIS и Skype. При этом приложение Pokemon Go, несмотря на то что оно до сих пор не было официально запущено в России, заняло пятое место по популярности среди мобильных игр для Android и шестое — в аналогичном топе для iOS.


В России не платят​

Управляющий партнер венчурного фонда Leta Capital Александр Чачава напоминает, что если сравнивать Россию с сопоставимыми по количеству пользователей странами — Японией, Великобританией, Германией, то у нас уровень пиратства в три-четыре раза выше. «При этом цены в App Store в два-три раза ниже, так же как и уровень ВВП на душу населения. Эти два фактора определяющие: люди не любят покупать контент, а те, кто покупает, не могут дорого платить», — говорит Чачава. С ним согласен старший инвестиционный менеджер Runa Capital Александр Видиборский. «Люди в России не привыкли платить за нематериальные блага, такие как программное обеспечение или мобильные приложения. Поэтому премиум-модели, когда пользователи платят за использование какого-либо сервиса, у нас работают плохо, — отметил он. — Остается модель, при которой издатели могут заработать за счет показа рекламы внутри приложений». Впрочем, и рекламные сборы с приложений в развитых странах выше.

Аналитик Maxfield Capital Борис Малеев указывает, что в России только зарождается культура потребления платного контента. «Однако из года в год ситуация в этом направлении улучшается. Играют роль как ужесточение законодательства и ограничение доступа к ресурсам, продвигающим нелегальный контент (RuTracker, Flibusta), так и то, что легальные сервисы становятся удобнее: проще заплатить и получить нужную книгу или альбом здесь и сейчас, чем тратить время на обход блокировок через VPN и загрузку контента в сомнительном качестве», — констатирует он. С последним утверждением соглашается руководитель сервиса «Яндекс.Музыка» Андрей Гевак. Он уверен, что все больше людей отказываются от «неудобных бесплатных приложений и выбирают качественные легальные сервисы».

Любой начинающий системный администратор Linux рано или поздно сталкивается с таким понятием, как “скрипт ”, будь то один из загрузочных скриптов вроде /etc/rc.d/rc или написанный разработчиком ПО скрипт конфигурирования configure . В данной статье я постараюсь показать, что написание скриптов на shell не является чем-то из ряда вон выходящим и вполне под силу даже новичку в мире Linux.

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

Одной из задач системного администрирования является резервное копирование важной информации. Поэтому давайте рассмотрим пример скрипта, реализующего back-up информации.

Начало начал

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

Echo This is just example
whoami
uname -a

Эти команды объединены в одном файле. Но shell должен знать, что он должен этот файл обработать, а не просто прочесть его содержимое. Для этого служит специальная конструкция: #!

Эта конструкция называется «sha-bang ». Вообще-то, # задает комментарий, но в данном случает sha-bang означает, что после нее пойдет путь к обработчику скрипта. Напрмер:

#!/bin/bash
#!/bin/sh
#!/usr/bin/perl

Мы остановимся на Bash, Bourne-Again shell. Это shell устанавливается по умолчанию практически во всех Linux-системах, и /bin/sh ссылается на него. Об окончании скрипта говорит служебное слово exit.

Вооружившись этими знаниями, напишем наш первый скрипт:

#!/bin/bash
echo Простой скрипт # Команда echo выводит сообщение на экран
echo Вы:
whoami # whoami показывает имя зарегистрированного пользователя
echo Ваша система стартовала
uptime # uptime показывает время включения машины
echo Сегодня
date # date показывает текущую дату и время
echo Пока все
exit

Сохраним этот файл под именем tutor1.sh. Выполним команду чтобы сделать скрипт исполняемым.

Chmod +rx tutor1.sh

Результатом выполнения скрипта будет:

Voland@superstar:~/Doc/Open Source$ ./tutor1.sh
Простой скрипт
Вы:
voland
Ваша система стартовала
14:38:46 up 1:48, 2 users, load average: 0.47, 0.43, 0.41
Сегодня
Вск Фев 26 14:38:46 MSK 2006
Пока все

Переходим к более серьезному.

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

Перво-наперво, необходимо определить - резервную копию чего мы будем делать. Поэтому наш скрипт должен уметь работать с командной строкой. Аргументы командной строки задаются после имени скрипта через пробел: somescript arg1 arg2 arg3. Скрипт воспринимает аргументы по номерам их следования, поэтому мы будем использовать конструкции вида $номер_аргумента, т.е. $1, $2, $3. $ - это символ подстановки, который нам понадобится и при работе с переменными. Переменные в скрипте задаются в виде имя_переменной=значение. Мы будем использовать переменные MAXPARAMS для определения максимального количества параметров командной строки, BACKUPFILE для задания имени архива, BACKUPDIR для папки, резервную копию которой мы будем делать и ARCHIVEDIR для папки, куды мы поместим архив. Самой главной частью скрипта будут команды поиска и архивации всех найденных файлов и папок в указанной:

Find . -type f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $archive.tar

Давайте разберемся, что же эти команды делают. find ищет в текущем каталоге (об этом говорит первый аргумент ".") все файлы и выдает полный путь к ним (print0). Эти пути перенаправляюся команде tar, которая собирает все файлы в один. Затем командой gzip мы архивируем получившийся tar-файл. Команда > /dev/null удобна, если вы архивируете большое количество файлов. В этом случае их имена и полный путь к ним не выводятся на консоль.

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

Например, эта конструкция

If [ $# -lt "$MAXPARAMS" ];
then
echo

echo
exit 0
fi

подскажет, что пользователь указал недостаточное количество аргументов командной строки. If [условие]...fi задает условную конструкцию. $# -lt "$MAXPARAMS" проверяет введенное количество параметров и если это число окажется меньше MAXPARAMS, то пользователю будет выдано сообщение об ошибочном вводе. Exit 0 заставит скрипт прекратить работу без указания кода ошибки. Аналогично проверяется превышение допустимого числа параметров, только вместо ls (less then - меньше, чем), необходимо указать gt (greater then - больше, чем). Теперь, когда основные моменты скрипта разъяснены, можно переходить к полной его версии:

#!/bin/bash
# Описание:
#+ Делает резервную копию всех файлов в указанной директории
#+ в "tarball" (архив tar.gz).
#+ Использование:
#+ sh backup.sh имя_архива папка-источник папка-назначение
#+

# Максимальное количество параметров командной строки
MAXPARAMS=3

if [ $# -lt "$MAXPARAMS" ];
then
echo
echo "Использование: sh `basename $0` имя_архива папка-источник папка-назначение"
echo
exit 0
fi

if [ $# -gt "$MAXPARAMS" ];
then
echo
echo "Для этого скрипта нужно только $MAXPARAMS аргументов командной строки!"
echo
exit 0
fi

# Переменные, которые мы используем в скрипте
BACKUPFILE=$1-backup-$(date +%m-%d-%Y)
archive=$BACKUPFILE
BACKUPDIR=$2
ARCHIVEDIR=$3

# Проверяем, есть ли папка-источник и папка-назначение
if [ ! -e $BACKUPDIR ];
then
echo
echo "\"$BACKUPDIR\" не существует!"
echo
exit 0
fi

if [ ! -e $ARCHIVEDIR ];
then
echo
echo "\"$ARCHIVEDIR\" не существует, создаем..."
mkdir $ARCHIVEDIR
echo "Готово."
fi

# Проверяем, есть ли архивы в источнике и назначении.
cd $ARCHIVEDIR
if [ -e $archive.tar.gz ];
then rm $archive.tar.gz
fi

cd $BACKUPDIR
if [ -e $archive.tar.gz ];
then rm $archive.tar.gz
fi

# Главная часть скрипта...
echo "Делаем резервную копию \"$BACKUPDIR\" в файл \"$archive.tar.gz\"..."
find . -type f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $archive.tar
echo "\"$BACKUPDIR\" была успешно заархивирована в файл \"$archive.tar.gz\"."

# Перемещаем архив в папку ARCHIVEDIR
echo "Перемещаем архив \"$archive.tar.gz\" в папку \"$ARCHIVEDIR\"."
mv $archive.tar.gz $ARCHIVEDIR/$archive.tar.gz
echo "Готово."

Надеюсь, основные моменты я прокомментировал достаточно подробно. Если у вас возникли какие-либо вопросы, то вы можете связаться со мной по адресу [email protected] Рекомендую также замечательную книгу Advanced Bash-Scripting Guide Менделя Купера (Mendel Cooper), которая очень помогла мне в свое время, когда я только знакомился со скриптами. Удачного программирования.

P.S. Большое спасибо mar за ее замечания и советы.

Как писать скрипты для операционной системы, сайтов или же просто игр? Ответ на этот, поверьте, легкий вопрос и будет рассмотрен в рамках данной статьи.

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

Очень желательно, чтобы были хотя бы минимальные знания о программировании. Но если что-то покажется непонятным, то статья-другая поможет заполнить пробел. Первоначально давайте определим, что же собой представляет скрипт. Так называют алгоритм, написанный определёнными языками программирования, что хранится на компьютере человека и может взаимодействовать с определёнными файлами, программами вроде браузеров и системными настройками. Это всё позволяет значительно дополнять стандартные возможности, создавать автоматизированных помощников, что будут брать на себя часть работы.

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

Это, пожалуй, одно из самых лёгких занятий. Если мы пишем скрипты на JavaScript, то для этого достаточно обычного блокнота и знания этого языка программирования. Правда, есть тут и недостатки. Так, каждый человек, у которого есть всё тот же "Блокнот", сможет посмотреть, что же собой представляет скрипт. И если у него будут плохие намерения, а в коде уязвимость - то могут возникнуть проблемы. Отвечая на вопрос о том, как научиться писать скрипты на JavaScript, следует отметить, что для этого достаточно изучить данный язык программирования. Для того чтобы создавать лучшие и более сложные программы, можно воспользоваться различными библиотеками. Но для них требуются соответствующие расширения веб-обозревателей. И при смене компьютерной техники придётся проводить дополнительные настройки. А при использовании сторонних разработок необходимо удостовериться, что скрипт не будет отсылать пользовательские данные на сторонние сервисы. Следует отметить, что каждый браузер имеет свои определённые ограничения. Но в целом с их помощью можно делать практически всё что угодно. Зачем же их пишут в таких случаях? Они нужны тогда, когда следует автоматизировать деятельность человека.

Работаем с операционной системой Windows

Допустим, нам необходимо поменять конфигурацию компьютера. Для этого существует широчайший набор графических средств, но всё они, увы, не охватывают. Поэтому часто приходится создавать системные скрипты. Они имеют расширение.bat. Каждый человек, который более-менее длительное время работает за компьютером, уже встречался с такими файлами. Но вот как писать скрипты для Windows? Для этого нам пригодится всё тот же "Блокнот". Сначала создаём новый текстовый файл. В нём необходимо записать системные команды. После этого необходимо изменить расширение файла на.bat. И остаётся только запустить эту разработку. Если всё правильно, то команды успешно будут выполнены, что и можно лицезреть. Но в случае ошибок или неграмотного написания кода в лучшем случае ничего не произойдёт. Поэтому лучше разбираться в том, что записываешь. Просто брать где-то код и бездумно его вставлять категорически не рекомендуется! Это может привести к значительным проблемам в работе операционной системы. И ещё повезёт, если такие опасные действия были сделаны с гостевого аккаунта. Ведь команда от администратора может превратить компьютер в "кирпич".

А что с "Линуксом"?

Следует помнить, что "Виндовс" - это не единственная операционная система. Есть ещё и "Линукс", причем довольно популярный. Как писать скрипты в этой операционной системе? Они создаются с помощью оболочки - специального командного интерпретатора, который является интерфейсом между человеком и ядром операционной системы. В "Линуксе" скрипты, по сути, это просто файл, в котором перечисляются системные команды. Это просто и одновременно удобно. Но оболочке нужно знать, как же такой файл следует обрабатывать. По умолчанию она просто читает. А если нужно выполнить, то используется конструкция «#!», которую необходимо поставить перед командой. Все скрипты имеют расширение.sh. Следует отметить, что с их помощью можно делать довольно много сложных вещей. Например, резервное копирование файлов. В целом вариантов использования чрезвычайно много.

Учимся писать скрипты

Итак, первоначально необходимо определиться со средой, где мы будем набирать код. Почти всегда для этого достаточно одного "Блокнота". Но в нём не очень удобно отображать строение конструкций, к тому же не подсвечиваются операторы и другие элементы. Поэтому в качестве достойной альтернативы можно предложить программу Notepad++. Для тех, кто знает английский язык, не так сложно перевести, что это тоже "Блокнот". Но с расширенными возможностями. Эта небольшая, но очень приятная разработка ориентирована в первую очередь на программистов. В ней можно включить настройку отображения почти всего, что только есть. Присутствует удобный инструмент отображения кода и множество других хоть и мелких, но приятных вещиц, которые сделают процесс написания более комфортным. В целом же на вопрос "где писать скрипты" дано множество различных ответов, каждый из которых предлагает свою изюминку. Есть и очень навороченные среды, с эмуляторами и множеством инструментов отладки. Выбирай, что душе пожелается. После этого необходимо позаботиться о наличии знаний. В качестве базиса подойдёт справка по языку программирования или же команд операционной системы. Для более продвинутого изучения можно прочитать несколько книг, в которых объясняются особенности машинной логики и обработки кода.

Сервисы обучения в реальном времени

Если интересует, как научиться писать скрипты, то не следует сбрасывать со счетов и возможность обучения с помощью информационных образовательных технологий. Как приблизительно выглядит такая «кузница программистов»? По программе, составленной согласно мнению опытных разработчиков, новичка ведут от самого лёгкого к сложным моментам. Так, первоначально может изучаться динамическое обновление данных, чтобы в последующем перейти к созданию сокет-серверов. И человек проходит обучение не спеша, поэтапно, усваивая максимальное количество данных. Поэтому, если возникнут сложности, можно обратиться за помощью к ним. Не факт, что первый попавшийся удовлетворит все потребности, но тогда необходимо будет просто попробовать что-то иное.

Зачем же изучать?

Многих интересует, как писать скрипты для игр. Что ж, это не очень сложно, но и не единственное применение подобной возможности. Но давайте же рассмотрим на примере игры. Допустим, человеку нравится играть на определённом сайте в какое-то развлечение. Но оно, увы, предусматривает, что необходимо или вкладывать свои деньги, или же долго и монотонно выполнять определённые действия. И если был выбран второй путь, то скрипты - это именно то, что здесь нужно. Подобное может быть использовано и в стационарных играх на компьютере. Там есть персонажи под управлением искусственного интеллекта, и чтобы сразиться с ним, можно создать свою версию ИИ, устроив таким образом битву компьютера с самим собой (и для более лёгкого прохождения). Но скрипты могут быть успешно использованы не только в играх. Допустим, что есть сайт серьёзной компании. Важным аспектом является максимальная поддержка коммуникации с клиентами. И для этого в виде скрипта добавляется небольшая форма, с помощью которой можно получить консультацию специалиста в онлайн-режиме. Возможностей применения много!

Заключение

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



Рекомендуем почитать

Наверх