Как работать с календарями

Алексей Авдеев, Mish.Design

Как работать с календарями

Алексей Авдеев, Mish.Design

👨‍💻 О себе

  1. 👨 Алексей Авдеев @avdeev_alexey

Система продуктивности

Мозг плохо хранит информацию

История

~ 5 тыс. лет до н. э.

14 февраля 1918

Реализация не идеальна

Високосный код

Реализация не идеальна

Какой сейчас год?

Сколько дней в году?

Сколько дней в неделе?

Календари недоделаны

Цифровой календарь

Выбрать календарь

Бумажный
vs
Электронный

Поделитеcь календарём

Есть личные события

iCalendar

1996

iCalendar

        BEGIN:VCALENDAR
        PRODID:-//Timepad Ltd.//NONSGML Timepad//RU
        VERSION:2.0
        METHOD:PUBLISH
        BEGIN:VEVENT
        ...
        END:VEVENT
        END:VCALENDAR
      

iCalendar

        UID:540172231451
        DTSTART:20221119T130000
        DTEND:20221119T190000
        DTSTAMP:20221110T103151
        SUMMARY:Frontend Day
        DESCRIPTION:Не просто митап, а мини-конфа по фронтенду
        LOCATION:Иннополис, Артспейс, ул. Парковая, 1
      

xCal

        <?xml version="1.0" encoding="utf-8"?>
        <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
          <vcalendar>
            <properties>...</properties>
            <components>...</components>
          </vcalendar>
        </icalendar>
      

jCal

        ["vcalendar",
          [["version", {}, "text", "2.0"]],
          [
            ["vevent", [
              ["uid", {}, "text", "4088E990AD89CB3DBB484909"]
            ]
        ]]]
      

Добавлять события

Повторяющиеся события

Записывайте быстро

Заполняйте описание

Необязательные события

Сохраняйте в календаре

Поделиться в Google Calendar

        https://calendar.google.com/calendar/u/0/r/eventedit
           ?text=Frontend+Day+//Online
           &dates=20221119T130000/20221119T190000
           &location=
           &details=Подробности:+https://innopolis.timepad.ru/event/2239552/
      

Справочные календари

Разрешите бронировать

Занятое и свободное время

Занятое и свободное время

TRANSP:OPAQUE

Занятое и свободное время

TRANSP:TRANSPARENT

Добавляйте участников

Письмо

        Content-Type: text/plain; charset="UTF-8"; format=flowed; delsp=yes
        --
        Content-Type: text/html; charset="UTF-8"
        --
        Content-Type: text/calendar; charset="UTF-8"; method=REQUEST
        --
        Content-Type: application/ics; name="invite.ics"
      

TEXT и HTML

        https://calendar.google.com/calendar/event?action=RESPOND&...
         
        https://calendar.google.com/calendar/event?action=VIEW&...
      

Письмо

        Content-Type: text/plain; charset="UTF-8"; format=flowed; delsp=yes
        --
        Content-Type: text/html; charset="UTF-8"
        --
        Content-Type: text/calendar; charset="UTF-8"; method=REQUEST
        --
        Content-Type: application/ics; name="invite.ics"
      

iTIP REQUEST

        BEGIN:VCALENDAR
        METHOD:REQUEST
        BEGIN:VEVENT
          UID:[email protected]
          SUMMARY:Frontend Day
        END:VEVENT
        END:VCALENDAR
      

iTIP REPLY

        BEGIN:VCALENDAR
        METHOD:REPLY
        BEGIN:VEVENT
          ATTENDEE;PARTSTAT=ACCEPTED;[email protected];
          UID:[email protected]
          SUMMARY:Frontend Day
        END:VEVENT
        END:VCALENDAR
      

iTIP CANCEL

        BEGIN:VCALENDAR
        METHOD:CANCEL
        BEGIN:VEVENT
          UID:[email protected]
          SUMMARY:Frontend Day
        END:VEVENT
        END:VCALENDAR
      

Пользоваться календарём

Проверяйте каждый день

Настройте уведомления

Не пытайтесь запомнить

О чём ещё можно поговорить

👏 Спасибо!

я