Планируем жизнь с Google Calendar и Google Apps Script
Здоровье, нетворкинг, досуг.
Google Calendar — это сервис с множеством интересных функций, которые выводят тайм-менджмент на новый уровень. Чего стоит одна возможность добавлять события в расписание путем отправки письма или SMS.
Еще в Google можно создавать календари доступные нескольким пользователям. Очень удобно сделать общий календарь для всех своих коллег и скриптом загнать в него напоминания о совещаниях на каждый вторник года.
Для кружков по интересам, фитнес-клубов и других общественных организаций есть возможность создавать общедоступные календари. В них можно выкладывать предстоящие события, чтобы все желающие могли добавлять их в свое расписание.
Google Calendar синхронизируется с iCal и Microsoft Outlook. Еще для него есть Android приложение. А если постараться, то можно перенести свое расписание на BlackBerry, PalmOS и прочую экзотику. То есть, можно быстренько скриптами распланировать свои дела на год вперед и использовать это расписание на любом устройстве.
Перейдем к примерам кода для автоматизации планирования личного времени, который избавят от монотонной работы по заполнению календаря. Использовать их очень просто:
- Заходим на docs.google.com и авторизируемся;
- Создаем новую электронную таблицу;
- Открываем Инструменты → Редактор скриптов;
- Вставляем в окно редактора код, вносим необходимые правки;
- Запускаем скрипт и предоставляем ему все разрешения.
Здоровье
Многие сейчас соблюдают диету, ходят на фитнес и спа-процедуры. Эти меры, при грамотном подходе, приносят ощутимую пользу, но они не защитят от катаракты, меланомы, камней в почках, ухудшения слуха и скрытых венерических болезней. Ранняя диагностика у хороших специалистов — столь же значимая составляющая ЗОЖ, как диета и тренировки. Именно ранняя (пока симптомы не мешают жить) и у проверенного доктора, а не срочный осмотр пьяного деревенского фельдшера скорой, который на ощупь пытается отличить желчную колику от приступа пакреатита, так как от дачи до больницы с ультразвуком есть шанс не доехать.
Чтобы четко знать какой орган может подвести в самый неподходящий момент и предотвратить развитие опасных для жизни заболеваний, стоит выделить время в своем расписании на посещение врачей разных специализаций. Вот пример скрипта, который создаст календарь «Здоровье» и на 26 число каждого месяца поставит напоминание о визите к врачу.
function doctorsCalendar() { currentCalendar = CalendarApp.createCalendar("Здоровье"); doctors=["Стоматолог", "Гинеколог", "Нефролог", "Невропатолог", "Кардиолог", "Гастроэнтеролог", "Окулист", "Эндокринолог"]; for (i=1;i<=doctors.length-1;i++) { j=i-1; currentCalendar.createAllDayEvent(doctors[j], new Date('2016/0'+i+'/26')); } }
Главное, не забыть в первых числах месяца определиться к какому специалисту пойти и записаться к нему.
Некоторых жителей северных стран осенью и весной начинают беспокоить сиптомы авитаминоза. Чтобы их избежать стоит загодя запланировать прием курса витаминов в таблетках, внутревенных общеукрепляющих уколов или питья свежевыжатых соков по утрам. Каждый выбирает для себя более комфортный и эффективный для него метод. Этот скрипт добавит напоминания о приеме витаминов в каждый мартовский и октябрьский день.
function drugsCalendar() { currentCalendar = CalendarApp.getCalendarsByName("Здоровье")[0]; for (i=1;i<=31;i++) { j=i-1; currentCalendar.createAllDayEvent("Принять витамины", new Date('2016/03/'+i)); currentCalendar.createAllDayEvent("Принять витамины", new Date('2016/10/'+i)); } }
Нетворкинг
За секунду внимания пользователя интернета идет непрерывная борьба между стучащимся в друзья магазинами с китайским барахлом, баннерами с танчиками и подборками цитат миллионеров в ленте. У вашей бабушки и лучшего школьного друга нет бюджета на самопиар и в суете легко забыть о них. Этот скрипт поможет занести в каждый месяц вашего календаря напоминание о необходимости общения с 14 важными для вас людьми.
function relationCalendar() { currentCalendar = CalendarApp.createCalendar("Нетворкинг"); persons=["Вася","Юра","Миша","Вова","Дима","Андрей","Света","Лиля","Аня","Маша","Ира","Инна","Леша","Саша"]; for (i=1;i<=12;i++) { day=1; for (j=0;j<=13;j++) { currentCalendar.createAllDayEvent("Нетворкинг: "+persons[j], new Date('2016/'+i+'/'+day)); day=day+2; Utilities.sleep(1000); } } }
К сожалению, в отличии от PHP в JavaScript нет функции для перемешивания элементов в массиве. Если вы будете звонить вашей тете 13 числа каждого месяца в течении года, то к декабрю она будет с большим подозрением относиться к вашим звонкам. С другой стороны, капелька тайны и загадки украшает жизнь.
Досуг
В журнале «Космополитен» однажды был напечатан следующий совет: «Если тебе сегодня надо сделать маникюр и срочную работу, то начинать нужно с маникюра. Так как работу в любом случае доделаешь, а вот на покраску ногтей силы воли может не хватить». С полезностью этой рекомедации можно поспорить, но досуг и заботу о себе планировать необходимо. Иначе трудоголизм может взять верх над разумом, душей и телом.
Напишем небольшой скрипт для планирования выходных на год вперед. Первое воскресенье футбол, второе воскресенье пивной бар, третье воскресенье рыбалка, четвертое воскресение чтение книги «Как познакомиться с мужчиной, если уже ничего не помогает». И так по кругу.
function funCalendar() { currentCalendar = CalendarApp.createCalendar("Досуг"); date = new Date('2016/01/3'); for (i=1;i<=12;i++) { date.setDate(date.getDate() + 7); currentCalendar.createAllDayEvent("Футбол", date); date.setDate(date.getDate() + 7); currentCalendar.createAllDayEvent("Бар", date); date.setDate(date.getDate() + 7); currentCalendar.createAllDayEvent("Рыбалка", date); date.setDate(date.getDate() + 7); currentCalendar.createAllDayEvent("Чтение книги 'Как познакомиться с мужчиной'", date); Utilities.sleep(1000); } }
С помощью описанных выше методов можно занести в календарь закупку продуктов, стрижку, тренировки в зале, оплату страховки, кредитов и коммунальных услуг.
Узнать о том, как использовать Google Apps Script в работе с другими сервисами можно в двух предыдущих статьях: