Заметки в категории «Разное» (страница 4)

Убираем неоднородности на повторяющейся текстуре

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

Допустим у нас имеется повторяющаяся текстура. Она прекрасно стыкуется по краям.

Повторяющаяся текстура

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

Повторяющаяся текстура не стыкуется при наложении

Скопируем слой и применим к нему фильтр «Gaussian Blur». Параметры фильтра нужно выбрать такими, чтобы исчезли все детали текстуры и остались только паразитные пятна. В моем случае радиус размытия был равен 10 (чем он будет больше, тем больше деталей останется в результате). Понизим немного яркость этому слою. Это удобно сделать с помощью Adjustment Layer, так как аналогичную операцию придётся сделать ещё раз. Поместим оба слоя в отдельную группу.

Размытая текстура

Теперь создадим новый слой и зальем его сплошным цветом, который хотим получить в результате. Так же поместим его в отдельную группу и добавим туда копию корректирующего яркость слоя. Теперь первой группе с размытой текстурой назначаем режим смешивания «Subtract» (вычитаем его из оригинальной текстуры), а второй группе со сплошным цветом – «Linear Dodge» (добавляем его к разнице).

Слои и настройки

В результате получим оригинальную текстуру, но без неоднородностей.

Текстура без неоднородностей

Если полностью избавляться от неоднородностей не нужно, а хотелось бы только их немного уменьшить не влияя на «шероховатость», то в слой со сплошным цветом можно заменить на копию размытого, но с меньшей контрастностью.

Корректирующие слои, которые понижают яркость нужны для того, чтобы компенсировать ошибку округления значений цветовых компонент при смешивании слоев. Например, если значение цветовой компоненты при вычитании станет меньшей нуля, то оно принудительно будет установлено в 0. Таким образом, понижая яркость, мы устраняем такое не желательное зануление.

Таким же образом можно исправить и темную текстуру. Только нужно внести два изменения:

  1. Группы с размытым слоем и сплошным цветом меняем местами — сначала добавляем, а потом вычитаем. Это важно сделать из-за зануления отрицательных значений.
  2. Корректирующие слои становятся не нужны, так как при их использовании есть вероятность потерять детали в самых темных участках.
Оставте свой комментарий

Я.Субботник в Екатеринбурге

2 июля 2011 года состоялся очередной Я.Субботник. Местом его проведения выбран г. Екатеринбург, отель «Московская горка». Найти его по карте не составило труда, и я вместе с ребятами из «Стратегии Роста» без заминок добрались до него.

Мой бедж на Яндекс.Субботнике

На приветственном кофе мы встретились с Катей Черно (JetStyle) и Олегом Моховым (Яндекс), с которыми познакомились на UWDC-2011 . Пока мы перекусывали эклерами к нашей компании подошли ещё ребята из Челябинска. Сделали групповое фото

Веб-разработчики из Челябинска на Яндекс.Субботнике в Екатеринбурге 2 июля 2011 года

Программа Я.Субботника в Екатеринбурге . Расскажу вкратце о впечатлениях от особо понравившихся докладов.

Как мы оцениваем качество поиска

Доклады начались с выступления Яны Нехорошевой об асессорах . Я, к своему стыду, ничего раньше не знал об этой службе Яндекса. Оказалось, что целый штат экспертов, которые оценивают поисковую выдачу на реальных запросах пользователей. В основном (90%) там работают женщины.

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

БЭМ, или как разрабатывать веб-проекты

Сергей Бережной (на сцене) и Виталий Харисов (в твиттере) рассказывали и отвечали на вопросы о технологии «Блок-Элемент-Модификатор». Сергей на слайдах показал пример простой страницы сделанной обычным способом в текстовом редакторе и генерацию аналогичной страницы из отдельных блоков.

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

Ребята активно отвечали на вопросы из твиттера по хеш тегу #bem или #бэм.

Куда идём мы с Пятачком, или о том, куда движется вёрстка и верстальщики Яндекса

Олег Мохов в своем докладе подтвердил, что Яндекс уже активно внедряет современные технологии верстки в своих проектах. Тестируется производительность и совместимость новых CSS3-свойств. Сейчас перед разработчиками Яндекса уже не ставится задача сделать идентичное макету отображение в старых браузерах. Вся разработка ориентирована на перспективу. Почти все проекты уже сейчас тестируются на touch-устройствах, хотя изначально такой задачи перед разработчиками не ставится.

Масштабируемые JavaScript-приложения

Михаил Давыдов рассказывал о проекте «Чат». Очень подробно прошелся по архитектуре приложения. Основной мыслью, мне показалось, стало то, что в масштабируемое приложение нужно строить на основе независимых модулей и связывать их через события с ядром приложения. Чем меньше будет зависимостей друг от друга у них, тем легче будет перейти с одного фреймворка на другой или внести изменения в API какого-то отдельного модуля.

В целом очень хороший доклад для общего представления о том, как стоит строить свои приложения с прицелом на их расширение.

Я задал вопрос об использовании какой-то динамической загрузке модулей и их зависимостей. Михаил ответил, что все скрипты собираются через БЭМ и подключаются статически. Меня этот аспект интересует в связи с тем, что не так давно исследовал параллельную загрузку ресурсов и написал небольшой фреймворк под кодовым названием «Скелет приложения»

HTML5 в Я.Почте

Очень впечатлила работа с применением WebSocket, localStorage и Cross-server XRH , о которой рассказывал Алексей Андросов. Эти технологии реально использовать уже сейчас для упрощения коммуникации между браузером и сервером, а так же ускорения загрузки статических ресурсов сайта.

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

Лично мне очень захотелось поэкспериментировать в этом направлении тоже.

Нагрузки в спорте высоких достижений. Как Python стал делать погоду в Яндексе. Python в инфраструктуре поиска

После обеденного перерыва были доклады о серверных решениях на базе Python. Ребята показали, что это годный инструмент для высоконагруженных проектов.

Кластеризация дубликатов в Яндекс.Картинках

Отслеживание дублей в картинках — это очень важная задача, о чем и поведал на Александр Крайнов.

Я попросил его поделить советом о том, как нужно изменить картинку, чтобы она перестала считаться дублей. Александр ловко отшутился, что обязательно расскажет, когда Яндекс выпустит новую версию движка. Далее из зала был вопрос о повороте картинки. Александр ответил, что они умеют отслеживать поворот и считают такие картинки дубликатами. Но что-то мне подсказывает, что он лукавит в этом вопрос.

Офлайн-поиск на основе MapReduce

Очень любопытная тема. Александр Сибиряков сразу выдал огромное количество интересных данных. Однако под конец дня аудитория уже устала, и активного обсуждения не получилось.

Роботы и люди в Twitter-е

Завершил Субботник Дмитрий Кузнецов с интересным экспериментом по классификации русскоязычной аудитории твиттера. Они в течение некоторого времени собирали твиты и попытались определить какие из них писали живые люди, а какие были отправлены роботами. Попутно Дмитрий рассказал о том что пишут в русскоязычном твиттере.

Заключение

Мне очень понравилась организация мероприятия в целом. Огромная благодарность всем, кто принимал в этом участие. Особое «мерси» хочется сказать Леночке Джетпыспаевой и Павлу Браславскому.

PS: Заметил интересные моменты. На слайдах у докладчиков редко у кого был указан твиттер-аккаунт (хотя, как выяснялось потом, он у них есть). Так же мало кто обменивается визитками. Вот такие вот тенденции.

Оставте свой комментарий

Позиционируем всё

Конференция уральских веб-разработчиков 2011

В феврале 2011 года прошла уже вторая по счёту Конференция уральских веб-разработчиков, на которой я выступил с докладом «Позиционируем всё»

Презентация доклада (PDF, 2Мб)

  • Закладываем надежный фундамент для будущих страниц. Краткий обзор популярных «обнуляторов» стилей.
  • Техники позиционирования элементов (CSS-свойство position, плавающие блоки, отрицательный отступ и многое другое).
  • Планируем разметку. Не забываем включать голову, и думать на шаг вперед.
  • Как угодить и дизайнеру и оптимизатору.
Комментарии к заметке: 1

О пользе карты сайта

Карта сайта (Sitemap) — это XML-файл с информацией о страницах сайта, которые нужно проиндексировать поисковым системам. Поисковые системы могут обнаружить все страницы сайта, на которые есть ссылки, но с помощью карты сайта ему эта информация предоставляется в явном виде. В этом файле указывается местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того.

Например, Sitemap может быть таким:


<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://noteskeeper.ru/</loc>
        <lastmod>2010-03-20</lastmod>
        <changefreq>daily</changefreq>
        <priority>1</priority>
    </url>
</urlset>

Спецификацию протокола можно найти на сайте sitemaps.org

Как альтернатива карте сайта может использоваться канал синдикации RSS или ATOM. Однако на практике в этих файлах передаются далеко не все страницы.

Оставте свой комментарий

Сглаживание с суб-пиксельной точностью

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

Сглаживание с суб-пиксельной точностью

Техника сглаживания с суб-пиксельной точностью опирается на идеально ровную сетку пикселей. Эти условия обеспечиваются только на LCD-мониторах. Сетка CRT-мониторов имеет смещение по горизонтали от линии к линии, что делает эту технику крайне сложной для воспроизведения. Даже LCD-мониторы имеются различия в расположении суб-пикселей, которые должны быть учтены. У одних мониторов порядок следования RGB, а у других — BGR.

Оставте свой комментарий