Category: дизайн

Category was added automatically. Read all entries about "дизайн".

masked, myself

Welcome!

Это информационная запись, висящая в самом верху журнала. Зафрендить меня можно тут, но учтите что я заношу во френды только тех, кого регулярно читаю или знаю лично. (Можно глянуть примерно о чём я тут писал последние восемь лет.)

FYI: Мой Google+ | Мой FriendFeed | Мой Я.ру | Мой старый сайт.

Другие мои сайты (такие как любимые цитаты или юмор-ленту) можно найти на странице профиля, можно читать единой лентой через Я.ру или Soup.io, а проще всего - просто подписаться на рассылку через rss2mail.</a>

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

promo recoder august 1, 2018 12:09 36
Buy for 100 tokens
Не так давно Фейсбук научил меня ещё одной классификации людей, в дополнение к стратегам и тактикам, интерналистам и экстерналистам, и разным морально-политическим приверженцам. Впервые эта классификация описана ещё двадцать лет назад Картером и Сэнджером в книге The Programmer's Stone…
masked, myself

Мементо

В процессе дизайна персонального архиватора обнаружил что существует достаточно официальный (RFC 7089) протокол для архивации веб-ресурсов под названием Memento. Авторы протокола пошли оригинальным путём и просто расширили стандартную процедуру "content negotiation" ещё одним измерением - временем!

В схеме Memento клиент может сделать HEAD-запрос к ресурсу (на сервере, поддерживающем эту схему) с указанием заголовка "Accept-Datetime: {date}" и сервер отвечает на такой запрос стандартным 200 OK с указанием места где живёт "TimeGate" - сервер архивации, и выглядит это как "Link: {uri}, rel=timegate". После этого можно обратиться к таймгейт-серверу и он выдаст 302 Found туда где уже и выдадут запрошенную архивную копию.

На основе этого протокола придумали решение моей проблемы протухающих ссылок - Robust Links. Тэг ссылки просто расширяется дополнительными атрибутами data-versiondate и data-versionurl, так что ссылки выглядят примерно так:

<a href="http://thekeepers.org/" data-versionurl="http://archive.today/DTt8f" data-versiondate="2014-11-01">http://thekeepers.org/</a>
// rendered as http://thekeepers.org/

Такие декорированные ссылки небольшим скриптом можно превратить в мини-менюшки выбора конкретной сохранённой версии документа по ссылке. К сожалению, обычному бложеку на LJ/DW такая техника не подходит потому что сторонний скрипт так легко не подцепить. Поэтому Memento-сервисы обычно поддерживают запросы вида GET /{date}/{resource uri}, однако стандартизация сюда ещё не добралась и каждый сервис лепит что-то своё.

Увы, серьёзных сервисов поддерживающих Memento, не так уж и много: Wayback Machine, Archive Today, Perma.cc. Wayback Machine примечательна своим возрастом - она архивирует интернет с 2001 года (я там даже нашёл свой старый хомяк из прошлого тысячелетия!). Archive Today поражает качеством архивирования - видимо они загружают страницы в headless browser и сохраняют получившееся состояние. Однако совершенно непонятно кому принадлежит этот сервис и соответственно неясно сколько он ещё протянет. Perma.cc пилится Гарвардским университетом, так что стоит предположить что он переживёт все подобные сервисы, что и является его главным преимуществом.

Чувствую, в своём хабе-архивариусе надо будет запилить поддержку Memento. Незачем велосипеды изобретать. Было бы совсем круто сделать этот протокол распределённым, чтобы каждый такой сервачок мог спросить у соседних сервачков "а у вас такого URLя не найдётся?", но как только начинаешь думать о децентрализации - сразу всплывает такое количество проблем, что всё желание думать дальше и пропадает. Поэтому наш девиз - каждый сам за себя!

masked, myself

Tight code /Вторая Программерская Клятва/

Пришло время дать Вторую Программерскую Клятву. (Первая Клятва была больше года назад…)

Collapse )

И да будет так. Отныне и пока у меня не отнимутся руки от карпального туннельного синдрома.

coding
work