Pull to refresh
80
0
Иван Блинков @m11

Пользователь

Send message

MarkitUp! — Легкий редактор на jQuery

Reading time4 min
Views21K

Введение


Всех приветствую!

Совсем недавно мне пришлось немного расширить функционал редактора одного проекта. Но как оказалось в моем случае я наткнулся на некие трудности. В этой статье я поделюсь с читателями как я вышел из сложившийся ситуации.
Читать дальше →
Total votes 58: ↑43 and ↓15+28
Comments35

Kerning.js

Reading time1 min
Views2.7K
Свершилось, теперь чудеса типографики стали доступны и нам простым смертным.

Как использовать


Да легко, просто подключаем и используем.
<script src="kerning.js"></script>

Больше ничего не нужно, остальное она сделает сама.

Узнать о самых крутых вкусностях
Total votes 115: ↑106 and ↓9+97
Comments88

Shortики месяц спустя, или как же на самом деле выглядит Хабраэффект

Reading time5 min
Views3.1K
The Intro



Прошел ровно месяц с того дня, как мы представили на Хабре проект «Шортики» — короткие и смешные. За месяц своего существования, сайт превратился из случайной поделки в крупный развлекательный ресурс с большой посещаемостью, требующий ежедневного обновления. Однако в прошлом посте я кое-что не упомянул…

Сайт «Shortики» появился за пару дней до поста на Хабр. Сайт не раскручивался никаким образом, для него не покупалась реклама, я почти никому о нем не рассказывал. Единственное упоминание о сайте в сети — было на Хабре. Цель эксперимента была в том, чтобы выяснить, какое же влияние имеет пресловутый Хабраэффект на сайт. Причем не только непосредственное влияние (переходы из поста), а долгосрочное, косвенное влияние — эффект сарафанного радио, ссылки, упоминания в СМИ и прочее. Забегая вперед, скажу что эксперимент удался — под катом любопытных ожидает статистика, графики и много другой интересной информации о явлении, называемом Хабраэффектом.

Читать дальше →
Total votes 233: ↑193 and ↓40+153
Comments149

Inline-callback в tornado server для asyncmongo

Reading time3 min
Views3.9K
Пару недель назад разработчики tornado добавили нативный модуль по созданию inline callback (аналог inlineCallbacks в Twisted, Seq в Node.js, Fibers в Ruby).
Ниже примеры использования и примеры с участием asyncmongo (асинхронным драйвером для mongoDB)
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments5

Написание сложных интерфейсов с Backbone.js

Reading time13 min
Views100K
image

Backbone.js это каркас для создания RIA JavaScript приложений, его автором является Jeremy Ashkenas, создатель CoffeeScript, Backbone является частью компании Document Cloud ей же «принадлежит» Underscrore.js. Backbone — очень легкая библиотека, помогающая вам создавать интерфейсы. Она может работать с любыми библиотеками, к которым вы привыкли.
Backbone это набор классов, размером менее 4Кб, которые формируют структуру вашего кода и помогают создавать качественные MVC веб-приложения.
Backbone формирует структуру тяжелых JavaScript приложений, внесением моделей с key-value подобным хранилищем и своими событиями, коллекций с богатыми API, видов (ориг. views) с декларативной обработкой событий и соединяет все это в в одно приложение, поддерживающее RESTful JSON интерфейс.

Backbone не может работать без Underscore.js. Для поддержки REST API и работы с DOM элементами в Backbone.View настоятельно рекомендуется подключить json2.js и jQuery-подобную библиотеку: jQuery или Zepto

В статье будет рассмотрена структура Backbone.js, будет поэтапно создано простое Todo приложение.
Читать дальше →
Total votes 108: ↑103 and ↓5+98
Comments47

Ломаем web c '#!' (hash-bang)

Reading time6 min
Views18K
Ниже предлагается перевод статьи, обращающей внимание на, на мой взгляд, довольно острую проблему в эпоху web 2.0, а именно чистоту URL-адресов.

На примере сайта Lifehacker.com показано какими проблемами может обернуться слепое следование state-of-the-art технологиям, погоней за SEO и отрицание принципа «прогрессивного улучшения» (progressive enhancement).


На прошлой неделе, в понедельник, сайт Lifehacker.com был недоступен по причине неработающего JavaScript. Lifehacker.com, наряду с остальными сайтами компании Gawker, отображали пустую главную страницу без контента, рекламы и всего остального. Переход с результатов поиска Google на подстраницы переправлял обратно на главную.

Javascript-зависимые URL


Gawker, как и Twitter до него, перестроил свои сайты на полную зависимость от JavaScript'а, включая URLы его страниц. JavaScript не смог загрузиться, что привело к отсутствию контента и сломаным URLам.

Новые адреса страниц выглядят теперь следущим образом: http://lifehacker.com/#!5753509/hello-world-this-is-the-new-lifehacker. До понедельника, адрес был тем же, только без #!..

Читать дальше →
Total votes 142: ↑128 and ↓14+114
Comments109

Быстрые знакомства в интернете

Reading time3 min
Views11K

Что такое экспресс-дэйтинг


Wannafun — это сайт быстрых знакомств и он сильно отличается от всего того, что уже существует в Рунете. Мы не изобретали еще одну площадку, похожую на сотни, но запустили новый формат поиска и общения.

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



Читать дальше →
Total votes 312: ↑228 and ↓84+144
Comments298

Каталог брендов по $250 (с доменами .com)

Reading time1 min
Views2.6K
Наглядный пример для домейнеров, как нужно строить модель бизнеса: новый сервис Stylate. Здесь начинающий стартап может подобрать красивое имя для сайта — и сразу купить выбранный домен .com вместе с логотипом в векторном формате. Логотип идёт как бонус. Самое главное, что пакеты «домен+логотип» продаются по единой цене $250. Это настоящий демпинг на рынке красивых доменов, где сделки часто проходят в районе $10 тыс.



Пока что каталог Stylate весьма скромный: на продажу предлагается всего 33 бренда, но уже готов рубрикатор на 31 отрасль. Очевидно, они будут пополнять ассортимент.

Stylate также готов покупать красивые домены у других домейнеров, но сейчас их завалили списками из сотен имён, так что ребята пересматривают финансовые условия.
Total votes 101: ↑85 and ↓16+69
Comments41

Tactoom – закрытое бета-тестирование

Reading time4 min
Views1.4K
Tactoom.com Мы с octave «немного» поработали и сделали Tactoom. Сейчас он в закрытой бете.
Не буду писать долгих вступлений, а сразу перейду к делу.

Tactoom – веб-сервис, построенный на трех базовых «Я Хочу»:

1. Я хочу делиться с людьми, которые интересуются тем же, что и я.
2. Я хочу узнавать от других только то, что мне интересно.
3. Я хочу, чтобы «близкие по духу» люди могли находить меня, а я — их.

* Авто-инвайт работает только с этой страницы *
Читать дальше →
Total votes 128: ↑87 and ↓41+46
Comments184

© В. И. Пупкин, 2008

Reading time4 min
Views84K
Ещё одна мелочь, на которую не вредно обращать внимание — оформление знака охраны авторского права (который часто неграмотно называют «копирайтом»). К сожалению, на сайтах этот элемент подвала страницы зачастую ставят «чтобы был», и оформляют кто во что горазд. Однако, на сей счёт есть не просто сложившиеся правила, а целый ГОСТ Р 7.0.1—2003 (PDF, 652 КБ).

Ничего сложного в оформлении знака охраны авторского права нет, нужно просто знать определённые правила.

Читать дальше →
Total votes 91: ↑85 and ↓6+79
Comments138

CSSO (CSS Optimizer) — структурная минимизация CSS

Reading time2 min
Views19K
CSSO (CSS Optimizer) является минимизатором CSS, выполняющим как минимизацию без изменения структуры, так и структурную минимизацию с целью получить как можно меньший текст.
CSSO написан на Javascript, выполняется как в браузере, так и в командной строке (с помощью NodeJS).
Распространяется под лицензией MIT.
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments58

Многопоточное приложение под Tornado

Reading time5 min
Views38K


В документации к неблокирующему вебсерверу Торнадо красиво расписано как здорово он справляется с нагрузкой, и вообще является венцом творения человечества в области неблокирующих серверов. Отчасти это верно. Но при построении сложных приложений за рамками «еще одного чата» выявляется много неочевидных и тонких моментов, о которых желательно знать до вояжа по граблям. Под «катом» разработчики клуба интелектуальных игр Трельяж готовы поделиться своими мыслями о подводных камнях.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments28

2000 из 3000 иконок готово — стань соавтором! (стол заказов)

Reading time1 min
Views15K
Не так давно на хабре был топик, который привел на наш сайт 17 тысяч посетителей за два дня (11,828+5,100 on October 21, 2010). С 2009го года эта уже не первая волна, а последние иконки будут нарисованы в первой четверти 2012го года. Best reseller hosting providers.

image

Не хватает еще 1000 иконок для best email hosting. Готовы ли вы предложить метафоры, которых у нас еще не хватает? Тогда follow me…

Читать дальше →
Total votes 228: ↑217 and ↓11+206
Comments356

Отладка REST-сервиса на коленке — готовое решение

Reading time1 min
Views5.6K
В процессе писания REST-сервиса уткнулся в странную проблему — не нашел приличного инструмента для отладки jsonp ответа от сервера.
За пол-дня накидал приемлемый вариант — одна html страница, которую можно хоть прямо с диска загрузить и кучка чужих js-либ, чтобы вся эта красота работала.
Выглядит примерно так:



Все бобро выложено на github, если кому-то нужно — пожалуйста!

Disclaimer: может оказаться полезным в случае если вам нужен кросс-платформенный и кросс-браузерный нативный «ajax-клиент имитатор» для кросс-доменных запросов с малым потреблением памяти и наглядным вводом и выводом ответа сервера.
Total votes 68: ↑55 and ↓13+42
Comments57

Canvas Indicator — альтернатива для AjaxLoad.gif

Reading time3 min
Views3K
Многие наверняка используют индикаторы процесса, например, когда передаете/получаете какие-нибудь данные через AJAX.

Однажды я озадачился, чтобы при нажатии на кнопку, которая отправляет данные формы на сервер, внутри неё появился этот самый индикатор. Изначально фон был однотонный, но в любой момент дизайнеры могли заменить его на другой, либо вообще сделать градиент.

Делать специальный GIF под каждую ситуацию довольно глупо. Поэтому правильное решение — использовать Canvas.

Если вы еще не решили эту проблему, я жду вас под катом
Total votes 71: ↑59 and ↓12+47
Comments74

Опыт спасения кластера Cassandra

Reading time4 min
Views7.6K
Мне довелось спасать ушедший в небытие кластер Cassandra. Это был интересный опыт, которым я бы хотел поделиться, ведь в штатной ситуации большинство баз данных работает одинаково, а вот уровень стресса при падении может отличаться очень сильно.

Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments23

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views315K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

Требования должны были быть такие, что соблюсти их легче, создавая качественную вёрстку, а не говнокод. Я составлял такой чек-лист в течении полутора лет. За последние полгода в него не добавилось ничего. Значит самое главное учтено.

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.
Total votes 335: ↑318 and ↓17+301
Comments244

Серверный редирект на мобильную версию сайта

Reading time2 min
Views37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →
Total votes 77: ↑68 and ↓9+59
Comments35

Векторный рендеринг: 3д-графика в дизайне иконок

Reading time5 min
Views25K
Предлагаю вашему вниманию научно-популярную статью от нашего тридешника Андрея Пушкина (push) про способы превращения 3д в вектор. Так как проблем с этим очень много, то это только первая статья целого цикла.

image

За последние несколько лет технологии в 3д-графике развивались бешеными темпами. Алгоритмы расчета фотореалистичных изображений, увеличение ядер процессора и объемов оперативной памяти (а также новая технология рендеринга с использованием GPU) сделали возможным в «домашних» условиях получать изображения высокого качества. 3д стал мощным инструментом графического дизайна. Есть ряд неоспоримых преимуществ использования «трехмерного» подхода, и самое главное и существенное — скорость работы.

Возникает резонный вопрос: а можно ли использовать 3д-графику в дизайне иконок, логотипов и пиктограмм? Ведь эти отрасли графического дизайна традиционно «векторные». Кроме преимуществ 3д-подхода (скорость работы, легкость смены ракурсов, правильная перспектива и т.д.), есть ряд серьезных недостатков, которые делают рисование иконок только в 3д-редакторе практически невозможным:
Читать дальше →
Total votes 163: ↑145 and ↓18+127
Comments55

Электронная почта на сайтах-сервисах

Reading time6 min
Views3.5K
Данный пост касается не только самих писем, но и способов их использования на пользовательских сервисах. При написании статьи я старался уходить от частностей, разве что приводя их в качестве примера.

Затрагиваемые темы:
  1. Зачем нужно посылать электронные письма пользователю
  2. Когда следует посылать почту
  3. От чьего имени должно приходить письмо
  4. Что необходимо писать в письмах
  5. Обработка ответных сообщений

Многобуквие инсайд
Total votes 67: ↑55 and ↓12+43
Comments65

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity