• Как устроен мир семантической микроразметки

      Я работаю в команде семантического веба в Яндексе. Мы занимаемся тем, что создаем продукты на основе семантической разметки, делаем свои расширения и участвуем в развитии стандарта Schema.org.

      Мир семантической разметки устроен не вполне просто и на первый взгляд даже не всегда логично. Для того чтобы облегчить жизнь тем, кто хочет в нём разобраться, мы решили написать рассказ о том, какой бывает разметка, что дает и как ее внедрить.



      Под микроразметкой (или семантической разметкой) мы подразумеваем разметку страницы с дополнительными тегами и атрибутами в тегах, которые указывают поисковым роботам на то, о чем написано на странице.

      Микроразметка состоит из словаря и синтаксиса.
      Что и как, подробно...
    • Сложный и противоречивый мир синтаксиса микроразметки. Почему стандартов так много? Опыт Яндекса

        Сегодня в продолжение наших рассказов о семантической разметке я хочу рассказать о её синтаксисе. То, почему он такой, а не иной, часто определяется историческими причинами, а иногда — ещё и комично. Поэтому мы попробовали здесь всё систематизировать и объяснить.

        Сначала пару слов, чтобы все понимали, что есть что. Под микроразметкой в целом (или семантической разметкой) мы подразумеваем разметку страницы с дополнительными тегами и атрибутами в тегах, которые указывают поисковым роботам на то, о чем написано на странице.

        Словарь — это своеобразный «язык», набор классов и их свойств, с помощью которых указывается суть содержимого на странице. О них мы писали в предыдущей статье. Синтаксис — это способ использования словаря. Он определяет, с помощью каких тегов и как будут указываться сущности и их свойства, например, на веб-страницах.

        Стандартов синтаксиса, как и словарей, несколько. В этой статье мы и разберем на практических примерах наиболее распространенные:
        • Microdata — Микроданные (словарь Schema.org чаще всего встречается именно в этом синтаксисе);
        • Microformats.org — Микроформаты (напоминаем, что это объединенный стандарт синтаксиса и словаря);
        • RDFa и RDFa Lite (в упрощенном виде RDFa рекомендуется создателями словаря Open Graph. Также встречается с другими словарями, например, со словарем Dublin Core или Data Vocabulary);
        • JSON-LD — расширение JSON.

        Чтобы понять, почему для решения одной задачи было разработано много разных стандартов, обратимся к истории развития синтаксиса:

        Once upon a time В 2004 году разработчики из W3C создали стандарт, который, по их мнению, подходил для «представления всего в мире». Так появился синтаксис RDFa (Resourse Description Framework in attributes), который позволяет однозначно транслировать HTML-разметку с семантическими данными в RDF.
        Универсальный стандарт придумывали больше одного раза...
      • PocketBook 626 против Sony PRS-T3: протестировано на людях



          Как давно вы держали в руках книгу? Обычную, бумажную, пахнущую временем и типографской краской? А электронную? Говорят, что они тоже успели выйти из моды. Мы же, перефразируя Марка Твена, заметим, что слухи о смерти ридеров сильно преувеличены.

          Мы решили сравнить — спасибо интернет-магазину «Юлмарт» — две электронных книги, PocketBook 626 и Sony PRS-T3. А заодно узнали у эксперта, что интересного происходит в этом сегменте гаджетов.
          Читать дальше →
        • Back-инжиниринг Caesar III

            Мне нравится играть в игры, особенно в экономические стратегии, хочу рассказать про градостроительный симулятор из детства — Caesar III, как принято говорить, тёплый и ламповый. Игра была выпущена в 1998 году, знатоками своего дела, Impressions Games. Это экономический симулятор управления древнеримским городом в реальном времени. Через много лет я решил вновь пройти её, а затем постараться продлить удовольствие от игры, посмотреть ресурсы и вникнуть в игровую логику с точки зрения программиста.

            Под катом я опишу процесс извлечения текстур, поиск игровых алгоритмов и расскажу как хобби превратилось в самостоятельный проект. А еще будет палитра RGB555, IDA, HexRays и немного кода.

            Посмотреть, что под капотом
          • 5 игр для развития логики и обучения детей программированию

              Мне всегда была интересна тема образования, а недавно я решил посмотреть, что интересного есть в мире мобильных приложений для обучения детей программированию.

              На тему «Зачем это надо?» на Хабре была хорошая инфографика. А здесь я приведу краткий обзор приложений, которые счёл достойными внимания.

              Принцип игр, обучающих программированию, примерно одинаков: игрок не управляет персонажем в реальном времени, а вместо этого составляет последовательность команд и запускает их на выполнение. В процессе игры по мере возрастания сложности изучаются базовые принципы программирования, такие как: цикл, подпрограмма, ветвление и др.

              Итак, начнём.

              Kodable




              Платформа: iPad
              Русский язык: нет

              Для малышей от 5 лет. «Колобку» нужно проехать по лабиринту к выходу, собрав монеты.
              При всей своей простоте, игра обучает ветвлениям, циклам, функциям и отладке.
              Ещё больше игр
            • Какой HDD надёжнее? Статистика Backblaze по 27134 накопителям за 4 года работы

                Компания Backblaze опубликовала в своём блоге статистику использования дисковых накопителей в своих серверах. Backblaze предоставляет услугу дешёвого облачного бэкапа. В основе их инфраструктуры — жёсткие диски потребительского класса. За четыре года работы компания собрала порядочную статистику по отказоустойчивости разных типов дисков, использовавшихся в их хранилище. Парк накопителей Backblaze состоит в основном из дисков Seagate и Hitachi — почти по 13 тысяч. Ещё 2838 дисков — производства Western Digital, и по несколько десятков накопителей Samsung и Toshiba. Таким образом, данные Backblaze позволяют сравнить работу дисков потребительского уровня трёх производителей — Seagate, WD и Hitachi — в условиях датацентра.

                image
                Читать дальше →
              • Альфа-версия Otter Browser

                  Otter Browser, главное окноПока в России под гром фейерверков весело и задорно встречали Новый год, в тайной лаборатории почти соседней нам Польши родилась альфа-версия браузера, который потенциально может стать заменой Opera ветки 12.x. Написан он с использованием фреймворка Qt5 и соответственно, компонента QtWebKit, но в перспективе будет перенесён на QtWebEngine (который, напомню, основан на коде Blink) и, вероятно, будет иметь возможность переключения на Gecko. Впрочем, это всё в будущем. Сейчас же он предлагает следующие возможности:

                  • Вкладки, их прикрепление и открепление, боковые вкладки (но текст поворачивается на 90°, без поворота будет работать потом), вкладки внизу окна;
                  • менеджер загрузок;
                  • история посещений;
                  • просмотр cookies;
                  • панель поиска;
                  • менеджер сеансов;
                  • приватные вкладки и окна;
                  • закладки;
                  • настройка поисковых движков;
                  • корзина закрытых вкладок;
                  • масштабирование страницы;
                  • миниатюры вкладок при наведении на них мыши.

                  Ну и ещё по мелочам. Автор подчёркивает, что это не 100% повторение Opera, но по возможности близкая к ней реализация. Как он сам его позиционирует: «Веб-браузер, который контролируется пользователем, а не наоборот». Сама программа изначально разрабатывается как максимально модульная. Упоминавшаяся выше запланированная возможность переключения движков рендеринга — не единственная. Из планируемых функций, например, почтовик и RSS-клиент тоже будут модулями, причём отдельными, но использующими единый интерфейс.

                  А теперь подробнее...
                • Почему в Delphi делают плохие интерфейсы?

                  Часто приходится слышать – «Delphi – среда для разработки «кривых» интерфейсов». Либо Delphi-разработчики какие-то генетически ущербные в плане создания интерфейсов. Либо сама среда провоцирует на плохой дизайн GUI. Есть повод сконцентрировать на данной проблематике своё внимание.

                  В начале «эпохи прикладного бума» за счёт использования средств визуальной разработки доминировала Delphi. Конечно, были и другие средства разработки приложений с оконным интерфейсом (Visual Basic, Visual Studio и т.д.), но, вспоминая ситуацию в России периода Delphi 1…3, можно достаточно обоснованно говорить широчайшем распространении этой среды. Продукт «выстрелил», прежде всего, из-за гигантского дефицита программного обеспечения. Но и языковая простота Delphi сыграла ключевую роль – очень много было инженеров, но мало программистов. Зато в Delphi люди после институтского курса за месяц могли если не стать программистами, то хотя бы разработчиками. В смысле, могли самостоятельно создавать программные продукты.

                  Читать дальше →
                • Новые исследования: как ещё связано SEO и социальные сигналы?

                    Компания SearchMetrics, разрабатывающая аналитические программы для SEO, ежегодно исследует тысячи сайтов на первых страницах SERP по разным запросам, чтобы выявить закономерности попадания различных ресурсов в выдачи поисковых систем. А далее – определить важность тех или иных факторов при ранжировании этих площадок в Google. В 2013 году сайты, выпадающие на топовых страницах SERP, объединяют сильные социальные сигналы. Среди приблизительно 50 анализируемых факторов на первом месте по важности оказалось число +1 на Google+. Далее в списке идут: количество шеров на Facebook, количество и качество обратных ссылок (заметьте, только третье место), число друзей, лайков, комментариев на Facebook, активность на Pinterest и Twitter и т. д.

                    image

                    Читать дальше →
                  • Редактор HTML+CSS+JS в стиле JSfiddle, код которого состоит из 230 символов

                      Хотя неделя 30-строчников закончилась, рискну привести ещё один пример сверхлаконичного кода JavaScript, который я нашёл в сети. Встречайте четырёхпанельный редактор HTML/CSS/JS, с превью в реальном времени, код которого умещается в 230 символов:

                      <x id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea id=t'+i:'<iframe')+' style=width:49%;height:48% oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>
                      

                      Посмотреть демо можно по этой ссылке. А можно просто вставить вот этот текст с кодом в адресную строку браузера:

                      data:text/html,%20<x%20id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea%20id=t'+i:'<iframe')+'%20style=width:49%;height:48%%20oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>
                      

                      Читать дальше →