{"action":"created","comment":{"url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/comments/40977825","id":40977825,"diff_hunk":"@@ -1,3 +1,305 @@\n <html>\n     <!-- Ваш замечательный код -->\n </html>\n+<!DOCTYPE html>\n+<html lang=\"ru\">\n+    <head>\n+        <meta charset=\"utf-8\">\n+        <title>Яндекс.Блог</title>\n+    </head>\n+    <body>\n+        <style>\n+            .letter {\n+                color:red;\n+            }\n+        </style>\n+      <h1 style=\"text-align:center\">Блог компании \n+        <span class=\"letter\">Я</span>ндекс.</h1>\n+      <h3 style=\"text-align:center\">ЯНДЕКС.ПОЧТА: КАК МЫ ИЗМЕРЯЕМ СКОРОСТЬ ЗАГРУЗКИ И УЛУЧШАЕМ ЕЁ</h3>\n+<p>\n+   Если ваш сайт медленно грузится, вы рискуете тем, что люди не оценят ни то,\n+   какой он красивый, ни то, какой он удобный. Никому не понравится, когда все\n+   тормозит. Мы регулярно добавляем в Яндекс.Почту новую функциональность,\n+   иногда — исправляем ошибки, а это значит, у нас постоянно появляются новый код\n+   и новая логика. Всё это напрямую влияет на скорость работы интерфейса.\n+</p>\n+    <h3>Что мы измеряем</h3>\n+    <h4>Этапы первой загрузки:</h4>\n+        <ul>\n+            <li>подготовка;</li>\n+            <li>загрузка статики (<aabr title=\"HyperText Transfer Protocol\">HTTP</aabr>-запрос и парсинг);</li>\n+            <li>исполнение модулей;</li>\n+            <li>инициализация базовых объектов;</li>\n+            <li>отрисовка.</li>\n+        </ul>\n+    <h4>Этапы отрисовки любой страницы:</h4>\n+        <ul>\n+            <li>подготовка к запросу на сервер;</li>\n+            <li>запрос данных с сервера;</li>\n+            <li>шаблонизация;</li>\n+            <li>обновление<abbr title=\"Document Object Model\">DOM.</abbr</li>\n+        </ul>\n+<p>\n+    — <q>Ок, теперь у нас есть метрики, мы можем отправить их на сервер</q> \n+    - говорим мы\n+    <br>\n+    — <q>Что же дальше?</q> - вопрошаете вы\n+    <br>\n+    — <q>А давай построим график!</q> - отвечаем мы\n+    <br>\n+    — <q>А что будем считать?</q> - уточняете вы\n+</p>\n+<p>\n+    Как вы знаете,<dfn><a href=\"https://ru.wikipedia.org/wiki/Медиана_%28статистика%29\">медиана</a></dfn>– это серединное, а не среднее значение в выборке.\n+    Если у нас имеются числа 1, 2, 2, 3, 8, 10, 20, то медиана – 3, а среднее – 6,5.\n+    В общем случае медиана отлично показывает, сколько грузится средний пользователь.\n+</p>\n+<p>\n+    В случае ускорения или замедления медиана, конечно, изменится. Но она не может\n+    рассказать, сколько пользователей ускорилось, а сколько замедлилось.\n+</p>\n+<p>\n+    <dfn><abbr title=\"Application Performance Index\">\n+    <a href=\"https://en.wikipedia.org/wiki/Apdex\">APDEX</a></abbr></dfn> – метрика, которая сразу говорит: хорошо или плохо. Метрика\n+    работает очень просто. Мы выбираем временной интервал [0; t], такой, что если\n+    время показа страницы попало в него, то пользователь счастлив. Берем еще один\n+    интервал, (t; 4t] (в четыре раза больше первого), и считаем, что если страница\n+    показана за это время, то пользователь в целом удовлетворен скоростью работы,\n+    но уже не настолько счастлив. И применяем формулу:\n+</p>\n+<p>            \n+    (кол-во счастливых пользователей + кол-во удовлетворенных / 2) / (кол-во всех).\n+</p>\n+    Получается значение от нуля до единицы, которое, видимо, лучше всего показывает,\n+    хорошо или плохо работает почта.\n+</p>\n+    <h3>Как мы измеряем</h3>\n+<p>\n+    Сейчас модуль обновления сам логирует все свои стадии, и можно легко понять\n+    причину замедления: медленнее стал отвечать сервер либо слишком долго\n+    выполняется JavaScript. Выглядит это примерно так:\n+</p>\n+    <code>this.timings['look-ma-im-start'] = Date.now();</code>\n+    <br>\n+    <code>this.timings['look-ma-finish'] = Date.now();</code>\n+<p>\n+    C помощью <code>Date.now()</code> мы получаем текущее время. Все тайминги собираются и при\n+    отправке рассчитываются. На этапах разница между “end” и “start” не считается,\n+    а все вычисления производятся в конце:\n+</p>\n+<p>\n+    <code>var totalTime = this.timings['look-ma-finish'] - this.timings['look-ma-im-start'];</code>\n+</p>\n+    И на сервер прилетают подобные записи:\n+<p>\n+    <code>serverResponse=50&domUpdate=60</code>\n+</p>\n+    <h3>Как мы ускоряем</h3>\n+<p>\n+    Чтобы снизить время загрузки почты при выходе новых версий,\n+    мы уже делаем следующее:\n+</p>\n+    <ul>\n+        <li>включаем<A href=\"https://ru.wikipedia.org/wiki/Gzip\">gzip</a>;</li>\n+        <li>выставляем заголовки кэширования;</li>\n+        <li>фризим<abbr title=\"Cascading Style Sheets\"><A href=\"https://ru.wikipedia.org/wiki/CSS\">CSS</a></abbr>,              <abbr title=\"Java Script\"><A href=\"https://ru.wikipedia.org/wiki/JavaScript\">JS</a></abbr>, \n+        шаблоны и картинки;</li>\n+        <li>используем<abbr title=\"Content Delivery Network\"><A href=\"https://ru.wikipedia.org/wiki/Content_Delivery_Network\">CDN</a></abbr>;</li>\n+    </ul>\n+</p>\n+<p>\n+    Мы подумали:<q>А что если хранить где-то старую версию файлов, а при выходе новой\n+    передавать только diff между ней и той, которая сохранена у пользователя?</q>\n+    В браузере же останется просто наложить патч на клиенте.\n+</p>\n+<p>\n+    На самое деле эта идея не нова. Уже существуют стандарты для HTTP — например,\n+    <a href=\"http://www.rfc-base.org/rfc-3229.html\">RFC 3229</a>\n+    «Delta encoding in HTTP» и «Google SDHC», — но по разным причинам они\n+    не получили должного распространения в браузерах и на серверах.\n+</p>\n+<p>\n+    Мы же решили сделать свой аналог на JS. Чтобы реализовать этот метод обновления,\n+    начали искать реализации diff на JS. На популярных хостингах кода нашли\n+    библиотеки:\n+    <ul>\n+        <li>- VCDiff</li>\n+        <li>- google-diff-patch-match</li>\n+    </ul>\n+</p>\n+<p>\n+    Для окончательного выбора библиотеки нам нужно сравнить:\n+    <table>\n+        <tr>\n+            <th>Библиотека</th>\n+            <th>IE 9</th>          \n+            <th>Opera 12</th>\n+        </tr>\n+        <tr>\n+            <td>vcdiff</td>          \n+            <td>8</td>              \n+            <td>5</td>\n+        </tr>\n+        <tr>\n+            <td>google diff</td>      \n+            <td>1363</td>           \n+            <td>76</td>\n+        </tr>\n+    </table>\n+</p>\n+<p>\n+    После того как мы определились с библиотекой для диффа, нужно определиться с тем,\n+    где и как хранить статику на клиенте.\n+</p>\n+<p>\n+    Формат файла с патчами для проекта выглядит так:\n+    <pre>","path":"index.html","position":156,"original_position":156,"commit_id":"8db59059c14da5b7e06e2b3be1cdade41ee54562","original_commit_id":"8db59059c14da5b7e06e2b3be1cdade41ee54562","user":{"login":"mokhov","id":357689,"avatar_url":"https://avatars.githubusercontent.com/u/357689?v=3","gravatar_id":"","url":"https://api.github.com/users/mokhov","html_url":"https://github.com/mokhov","followers_url":"https://api.github.com/users/mokhov/followers","following_url":"https://api.github.com/users/mokhov/following{/other_user}","gists_url":"https://api.github.com/users/mokhov/gists{/gist_id}","starred_url":"https://api.github.com/users/mokhov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mokhov/subscriptions","organizations_url":"https://api.github.com/users/mokhov/orgs","repos_url":"https://api.github.com/users/mokhov/repos","events_url":"https://api.github.com/users/mokhov/events{/privacy}","received_events_url":"https://api.github.com/users/mokhov/received_events","type":"User","site_admin":false},"body":":+1: ","created_at":"2015-10-01T23:07:06Z","updated_at":"2015-10-01T23:07:06Z","html_url":"https://github.com/urfu-2015/verstka-tasks-1/pull/24#discussion_r40977825","pull_request_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24","_links":{"self":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/comments/40977825"},"html":{"href":"https://github.com/urfu-2015/verstka-tasks-1/pull/24#discussion_r40977825"},"pull_request":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24"}}},"pull_request":{"url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24","id":46315025,"html_url":"https://github.com/urfu-2015/verstka-tasks-1/pull/24","diff_url":"https://github.com/urfu-2015/verstka-tasks-1/pull/24.diff","patch_url":"https://github.com/urfu-2015/verstka-tasks-1/pull/24.patch","issue_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues/24","number":24,"state":"open","locked":false,"title":"Мазалов Даниил","user":{"login":"danilych-100","id":14892039,"avatar_url":"https://avatars.githubusercontent.com/u/14892039?v=3","gravatar_id":"","url":"https://api.github.com/users/danilych-100","html_url":"https://github.com/danilych-100","followers_url":"https://api.github.com/users/danilych-100/followers","following_url":"https://api.github.com/users/danilych-100/following{/other_user}","gists_url":"https://api.github.com/users/danilych-100/gists{/gist_id}","starred_url":"https://api.github.com/users/danilych-100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danilych-100/subscriptions","organizations_url":"https://api.github.com/users/danilych-100/orgs","repos_url":"https://api.github.com/users/danilych-100/repos","events_url":"https://api.github.com/users/danilych-100/events{/privacy}","received_events_url":"https://api.github.com/users/danilych-100/received_events","type":"User","site_admin":false},"body":"почта:luckyboy66@mail.ru.Группа:ПИ-101","created_at":"2015-09-29T18:39:08Z","updated_at":"2015-10-01T23:07:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"55384b3e96c4ae7e1523c2a8daad07a57261aacd","assignee":{"login":"mokhov","id":357689,"avatar_url":"https://avatars.githubusercontent.com/u/357689?v=3","gravatar_id":"","url":"https://api.github.com/users/mokhov","html_url":"https://github.com/mokhov","followers_url":"https://api.github.com/users/mokhov/followers","following_url":"https://api.github.com/users/mokhov/following{/other_user}","gists_url":"https://api.github.com/users/mokhov/gists{/gist_id}","starred_url":"https://api.github.com/users/mokhov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mokhov/subscriptions","organizations_url":"https://api.github.com/users/mokhov/orgs","repos_url":"https://api.github.com/users/mokhov/repos","events_url":"https://api.github.com/users/mokhov/events{/privacy}","received_events_url":"https://api.github.com/users/mokhov/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24/commits","review_comments_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24/comments","review_comment_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/comments{/number}","comments_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues/24/comments","statuses_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/statuses/8db59059c14da5b7e06e2b3be1cdade41ee54562","head":{"label":"danilych-100:master","ref":"master","sha":"8db59059c14da5b7e06e2b3be1cdade41ee54562","user":{"login":"danilych-100","id":14892039,"avatar_url":"https://avatars.githubusercontent.com/u/14892039?v=3","gravatar_id":"","url":"https://api.github.com/users/danilych-100","html_url":"https://github.com/danilych-100","followers_url":"https://api.github.com/users/danilych-100/followers","following_url":"https://api.github.com/users/danilych-100/following{/other_user}","gists_url":"https://api.github.com/users/danilych-100/gists{/gist_id}","starred_url":"https://api.github.com/users/danilych-100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danilych-100/subscriptions","organizations_url":"https://api.github.com/users/danilych-100/orgs","repos_url":"https://api.github.com/users/danilych-100/repos","events_url":"https://api.github.com/users/danilych-100/events{/privacy}","received_events_url":"https://api.github.com/users/danilych-100/received_events","type":"User","site_admin":false},"repo":{"id":43375668,"name":"verstka-tasks-1","full_name":"danilych-100/verstka-tasks-1","owner":{"login":"danilych-100","id":14892039,"avatar_url":"https://avatars.githubusercontent.com/u/14892039?v=3","gravatar_id":"","url":"https://api.github.com/users/danilych-100","html_url":"https://github.com/danilych-100","followers_url":"https://api.github.com/users/danilych-100/followers","following_url":"https://api.github.com/users/danilych-100/following{/other_user}","gists_url":"https://api.github.com/users/danilych-100/gists{/gist_id}","starred_url":"https://api.github.com/users/danilych-100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danilych-100/subscriptions","organizations_url":"https://api.github.com/users/danilych-100/orgs","repos_url":"https://api.github.com/users/danilych-100/repos","events_url":"https://api.github.com/users/danilych-100/events{/privacy}","received_events_url":"https://api.github.com/users/danilych-100/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/danilych-100/verstka-tasks-1","description":"Задача к лекции «HTML, I часть»","fork":true,"url":"https://api.github.com/repos/danilych-100/verstka-tasks-1","forks_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/forks","keys_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/teams","hooks_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/hooks","issue_events_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/issues/events{/number}","events_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/events","assignees_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/assignees{/user}","branches_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/branches{/branch}","tags_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/tags","blobs_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/git/refs{/sha}","trees_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/statuses/{sha}","languages_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/languages","stargazers_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/stargazers","contributors_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/contributors","subscribers_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/subscribers","subscription_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/subscription","commits_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/commits{/sha}","git_commits_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/git/commits{/sha}","comments_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/comments{/number}","issue_comment_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/issues/comments{/number}","contents_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/contents/{+path}","compare_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/merges","archive_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/downloads","issues_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/issues{/number}","pulls_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/pulls{/number}","milestones_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/milestones{/number}","notifications_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/labels{/name}","releases_url":"https://api.github.com/repos/danilych-100/verstka-tasks-1/releases{/id}","created_at":"2015-09-29T15:16:28Z","updated_at":"2015-09-29T15:16:29Z","pushed_at":"2015-10-01T10:32:38Z","git_url":"git://github.com/danilych-100/verstka-tasks-1.git","ssh_url":"git@github.com:danilych-100/verstka-tasks-1.git","clone_url":"https://github.com/danilych-100/verstka-tasks-1.git","svn_url":"https://github.com/danilych-100/verstka-tasks-1","homepage":"","size":126,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"urfu-2015:master","ref":"master","sha":"92106c708076d457b6ffcd8175044271b4318dd9","user":{"login":"urfu-2015","id":14800971,"avatar_url":"https://avatars.githubusercontent.com/u/14800971?v=3","gravatar_id":"","url":"https://api.github.com/users/urfu-2015","html_url":"https://github.com/urfu-2015","followers_url":"https://api.github.com/users/urfu-2015/followers","following_url":"https://api.github.com/users/urfu-2015/following{/other_user}","gists_url":"https://api.github.com/users/urfu-2015/gists{/gist_id}","starred_url":"https://api.github.com/users/urfu-2015/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/urfu-2015/subscriptions","organizations_url":"https://api.github.com/users/urfu-2015/orgs","repos_url":"https://api.github.com/users/urfu-2015/repos","events_url":"https://api.github.com/users/urfu-2015/events{/privacy}","received_events_url":"https://api.github.com/users/urfu-2015/received_events","type":"Organization","site_admin":false},"repo":{"id":43061154,"name":"verstka-tasks-1","full_name":"urfu-2015/verstka-tasks-1","owner":{"login":"urfu-2015","id":14800971,"avatar_url":"https://avatars.githubusercontent.com/u/14800971?v=3","gravatar_id":"","url":"https://api.github.com/users/urfu-2015","html_url":"https://github.com/urfu-2015","followers_url":"https://api.github.com/users/urfu-2015/followers","following_url":"https://api.github.com/users/urfu-2015/following{/other_user}","gists_url":"https://api.github.com/users/urfu-2015/gists{/gist_id}","starred_url":"https://api.github.com/users/urfu-2015/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/urfu-2015/subscriptions","organizations_url":"https://api.github.com/users/urfu-2015/orgs","repos_url":"https://api.github.com/users/urfu-2015/repos","events_url":"https://api.github.com/users/urfu-2015/events{/privacy}","received_events_url":"https://api.github.com/users/urfu-2015/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/urfu-2015/verstka-tasks-1","description":"Задача к лекции «HTML, I часть»","fork":false,"url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1","forks_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/forks","keys_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/teams","hooks_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/hooks","issue_events_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues/events{/number}","events_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/events","assignees_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/assignees{/user}","branches_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/branches{/branch}","tags_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/tags","blobs_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/git/refs{/sha}","trees_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/statuses/{sha}","languages_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/languages","stargazers_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/stargazers","contributors_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/contributors","subscribers_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/subscribers","subscription_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/subscription","commits_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/commits{/sha}","git_commits_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/git/commits{/sha}","comments_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/comments{/number}","issue_comment_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues/comments{/number}","contents_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/contents/{+path}","compare_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/merges","archive_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/downloads","issues_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues{/number}","pulls_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls{/number}","milestones_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/milestones{/number}","notifications_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/labels{/name}","releases_url":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/releases{/id}","created_at":"2015-09-24T10:45:26Z","updated_at":"2015-09-29T19:03:45Z","pushed_at":"2015-10-01T23:00:02Z","git_url":"git://github.com/urfu-2015/verstka-tasks-1.git","ssh_url":"git@github.com:urfu-2015/verstka-tasks-1.git","clone_url":"https://github.com/urfu-2015/verstka-tasks-1.git","svn_url":"https://github.com/urfu-2015/verstka-tasks-1","homepage":"","size":1797,"stargazers_count":14,"watchers_count":14,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":59,"mirror_url":null,"open_issues_count":43,"forks":59,"open_issues":43,"watchers":14,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24"},"html":{"href":"https://github.com/urfu-2015/verstka-tasks-1/pull/24"},"issue":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues/24"},"comments":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/issues/24/comments"},"review_comments":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24/comments"},"review_comment":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/pulls/24/commits"},"statuses":{"href":"https://api.github.com/repos/urfu-2015/verstka-tasks-1/statuses/8db59059c14da5b7e06e2b3be1cdade41ee54562"}}}}