Search
Write a publication
Pull to refresh
24
0
Нарек Мкртчян @Gunger

Руководитель

Send message

Очень длинные слова — что делать?

Reading time2 min
Views16K

Суть проблемы


Возможность пользователя ввести оооочень длинное слово без пробелов, и тем самым «взорвать» layout — это старая проблема. Вот так она решается на Хабре.

Решать её можно несколькими способами

Типовые ошибки при создании интернет-стартапа. Опыт проекта «I love cinema»

Reading time5 min
Views1.3K
Опыт громкого и до конца не реализованного проекта I love cinema (ILC) оказался хорошим уроком его создателям и может стать таким для любого стартапера. Хотя перед началом разговора с продюсером проекта Ярославом Грешиловым я не планировал, что вывод окажется именно таким. Чуть раньше уже был опубликован материал на эту тему, но я посчитал, что есть почва для более масштабного исследования, и не ошибся.
Читать дальше →

Как защитить свою форму обратной связи от атаки?

Reading time5 min
Views38K
Представьте такую ситуацию.

Приходите вы на работу, садитесь проверить почту, рассчитывая увидеть ответ от партнёра, немного спама, а вместо этого видите вот такое: Входящие (164 532).

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

Разгоняем CSS-селекторы. Часть 2: транзитивность

Reading time1 min
Views1.5K
После статьи «Разгоняем CSS-селекторы: стоит ли?» было предложено рассмотреть несколько дополнительных случаев, учитывающих транзитивность селекторов (например, насколько быстрее a c, чем a b c, или наоборот). Данное исследование посвящено как раз разбору таких случаев.

Методика



Методика и уменьшение погрешности подробно рассматривались в первой статье, на них сильно много останавливаться не буду. Скажу лишь, что при наращивании количества классов и идентификаторов Opera стала значительно медленнее (раза в 3) отображать код (при этом общий его объем увеличился примерно в 1,5-2 раза). Скорее всего, в следующую статью войдет исследование влияния количества классов/идентификаторов/размера кода на общую производительность браузера.

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

читать дальше на webo.in →

Звуковая капча

Reading time3 min
Views4.2K
В свете последних событий нарыл такую штуку, решил поделиться с сообществом.
Оригинальная статья на английском, поэтому здесь — только вольный перевод.

Значит так. Что заиметь у себя одновременно и графическую, и звуковую капчу, нужно для начала всё это дело скачать. Потом скопировать себе в удобное место и читать дальше. Кстати, лицензия у этой радости — BSD. Кто понимает, тот выбирает =).

как всё это работает

Социальные сети, перспективы развития и способы монетизации. Часть 3

Reading time12 min
Views6.6K
Третья часть моего доклада на конференции UA WEB про социальные сети. Тема части: способы монетизации социальных сетей.

Для пропустивших, советую сначала прочитать первую часть и вторую часть
Читать дальше →

try… catch VS if…else. Что, когда и почему?

Reading time5 min
Views90K
Данная статья расчитана для двух типов разработчиков:
— кто еще не знаком с исключениями
— кто пытается найти более разумное использование исключениям

В статье я расскажу о самых основах исключений, о том как можно обходиться без них, а так же о том, как я вижу правильным использование некоторых возможностей языка…

Эволюция языков программирования приводит иногда к кардинальным изменениям в мировоззрении разработчиков. В мире РНР такое случилось при появлении пятой ветки, которая принесла новую объектную модель, новые наборы встроенных функций и новые методы обработки ошибок…

Те, кто начинал знакомиться с PHP (тут и далее я буду подразумевать пятую версию), после другого процедурного языка программирования, так и не поняли что же такого в переходе от 4ки к 5ке и продолжают оформлять код привычными функциями, которые находятся на одном уровне по отношению друг к другу, а так же каждое действие проверяют на удачный код возврата. Но те кто знали об исключениях и классах…
Читать дальше →

Веб сервер за пару вечеров — II

Reading time5 min
Views11K

Многие из нас собирали компьютер сами, из комплектующих. Дело не сложное, соединить с десяток шлейфов, да завинтить столько же винтиков. Но мало кто сталкивался с самостоятельной сборкой серверов, причем не обычных а в промышленном формате под стойку 19 дюймов. В этом небольшом обзоре я опишу свой опыт сборки такого сервера, постараюсь показать что это не сложно, и остановлюсь на главных моментах, на что нужно смотреть. На написание этого обзора меня толкнуло то, что информации о сборке rack 19’ серверов в рунете очень мало, и приходилось её искать буквально по крупицам.
Читать дальше →

Боремся с толстыми шрифтами на темном фоне в Сафари

Reading time1 min
Views1.4K
Всем известно, что на маках замечательный рендеринг шрифтов ;) Но, к сожалению, на темном фоне при сглаживании «Medium» текст выглядит очень жирным, что меня, мягко говоря, раздражает. Вот, например, кусочек меню Smashing Magazine с рендером по-дефолту:



К счастью, я нашел обходной путь этой проблемы. Заключается он в следующем: если указать тень (параметр text-shadow), то для текста с тенью включается «фотошоповский» рендеринг без субпиксельного сглаживания (Standard в System Preferences/Appearance). И никто не мешает нам сделать нулевую тень :)

Прописываем в CSS элементам такой параметр: text-shadow: #000 0 0;. Смотрим:



Вуаля! Надеюсь, этот трюк поможет эстетствующим любителям шрифтов и Сафари :)

UPD: Если вас смущает ругающийся валидатор, то могу сказать, что это баг самого валидатора, который проверяет CSS2.1, т.к. параметр text-shadow является валидным и присутствует в спецификации CSS2 и CSS3. Решение проблемы — в More Options валидатора выбрать Profile: CSS version 2 или CSS version 3.

Создание превью изображения на основне свойства Overflow

Reading time3 min
Views6.7K
По просьбам пользователей после прочтения статьи Визуализация данных на CSS

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

Создаем высокопроизводительные HTML-страницы для IE

Reading time1 min
Views901
Примечание: ниже находится перевод статьи с MSDN «Building High Performance HTML Pages», в которой приводится ряд советов от экспертов из Microsoft по оптимизации времени загрузки страниц. Очень интересно сравнить их подход с аналогичным для Yahoo!. На мой взгляд, большая часть советов уже не является такой актуальной (спасибо Zeroglif, все приведенные советы, скорее всего, десятилетней давности), но в свое время все они были весьма действенны. Мои комментарии далее курсивом.

Интернет, интранеты (внутренние корпоративные порталы) и экстранеты (все то, что находится в свободном доступе) содержат уйму информации. Сейчас значительная часть этой информации являет собой HTML в том или ином виде.

Коммуникационные возможности, обеспечиваемые Microsoft Internet Explorer 4.0 и более поздними версиями, помогли превратит Веб в мощное пространство, где можно как работать, так и играть. Число HTML-страниц и их сложность вместе с общим количеством потребителей конечных продуктов существенно увеличили общий интернет-трафик. Вместе со всеми выгодами, которые получили разработчики приложений, это привело и к ряду проблем. Среди этих проблем можно выделить:

  • Доставка содержания через интернет (across the wire).
  • Будучи доставленным, содержание должно быстро отобразиться на экране.


В этой статьи предлагается несколько советов, как добиться максимальной производительности ваших страниц.
читать дальше на webo.in →

offsetHeight или нечаянный спуск лавины reflow

Reading time5 min
Views12K
В заметке Владимира Токмакова, утверждается:
HTML-элемент в документе может быть скрыт с помощью JavaScript или CSS-свойства display. Логику, заложенную в CSS, воспроизводить в JavaScript сложно и не нужно. Проще запросить offsetHeight объекта (если 0 = элемент скрыт).

Проще-то оно, конечно, проще, вот только какой ценой?

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

Юзабилити на практике: «Введите дату»

Reading time2 min
Views16K
Всем снова привет.
Сегодня буду рассказывать о моем любимом — о Юзабилити.

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

В этой статье будет рассмотрена всего лишь форма ввода даты, которая нам так часто встречается при регистрации на любом сайте. Чаще всего просят вводить свою дату рождения. Зачем всем на свете админам знать день моего рождения — неизвестно, но будем считать, что для статистики.

Сначала окунемся в историю.

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

Как выпускать финансово успешные стартапы. Взгляд создателей МойКруга и МирТесен. Часть 1

Reading time6 min
Views609
В последнее время интернет-стартапов появлятся как никогда много. Но как и в обычном бизнесе, большинство стартапов не становятся прибыльными.
В беседе с Николаем Самохваловым и Иваном Золотухиным (разработчиками социальных сетей MoйКруг и МирТесен и активистами СУБД PostgreSQL из Postgresmen) хочется обратить внимание начинающих на то, что же позволило им добиться успеха. А еще на распространенное представление о «воровстве идей», которое в результате логических рассуждений представляется заблуждением.
Читать дальше →

Визуализация данных на CSS

Reading time3 min
Views2.8K
Визуализация данных графиков, диаграмм в основном решается с помощью флэш и некоторых языков программирования. Являются ли эти способы единственными? Давайте попробуем реализовать эту задачу с помощью CSS.

Предисловие
В этом примере я не буду использовать ни JavaScript, ни любые другие языки. Все, что мне нужно это хорошая разметка и код CSS.
Таким образом, наша цель состоит в том, чтобы представить данные таблицы в виде диаграммы. Можно отметить, что данные диаграммы – это объект из 2х элементов, непосредственно зависимых друг от друга. Поэтому, лучшим решением в отношении структуры и семантики будет использование списков определений.
Почему? Ну, для начала, это список элементов. Несмотря на то, что список является линейным, мы можем обозначить заголовки определений (элементы dt) как пункты по оси X и описание определений (элементы dd) как значения по оси Y.
Читать дальше →

Идеальная авторизация

Reading time1 min
Views1.1K
В эпоху вебдванольности удивляет, что никак не эволюционируют формы для авторизации на сайте. Как были 10 лет назад на Hotmail два поля и кнопка, так и остаются по сей день.
Предлагаю усовершенствовать процесс авторизации, сократив форму до минимума: оставить одно поле.
Суть в том, что пользователь последовательно вводит в одно и то же поле логин и пароль, нажимает два раза на Enter и попадает на сайт. Таким образом экономится место на сайте и уменьшается количество нажатий на кнопки.


В качестве примера сделал такую формочку.
Интересно было бы услышать мнения.

Занимательная верстка

Reading time1 min
Views1.9K
Недавно коллега из соседнего отдела попросил меня помочь ему с версткой одного блока. Он хотел разобраться с основами семантической верстки и сверстать этот блок аккуратно и красиво. Однако блок оказался совсем не прост для верстки — в нем сочетались скругленные уголки и градиентные бордеры. Я отправил коллегу верстать таблицами, а сам предлагаю устроить мастер-классы, кто сможет предложить наиболее оптимальное решение данной задачи.
Под катом скриншот задачи и ссылки на .psd и мой вариант решения
Читать дальше →

Создание программ для Mac OS X. Часть 1: вступление и Objective-C

Reading time10 min
Views74K

Вступление


Я думаю все слышали про Mac OS X как операционную систему для дизайнеров и домохозяек. Но хочется рассказать про средства разработки для OS X, а то хорошие программы пишут, а на чем — никто не знает.

Сразу скажу, что не буду рассказывать про кроссплатформенные фреймворки и тулкиты(такие как Qt) или про создание консольных приложений, я расскажу про то, что в плане создания приложений отличает Mac OS X от других операционных систем, а именно — фреймворк Cocoa. Оговорюсь сразу, что буду стараться избегать сравнений с другими фреймворками, я хочу просто рассказать про Cocoa.
Читать дальше →

RU-CENTER разрешил скрывать персональные данные

Reading time1 min
Views7.5K
Как сообщается на сайте Ру-Центра, с 27 февраля 2008 года в соответствии с законодательством владельцы доменов получили возможность скрывать во Whois-сервисе персональные данные.


Услуга бесплатная. Воспользоваться ей могут владельцы доменов .RU и .SU — физические лица и индивидуальные предприниматели.

Установить значение «Private person» можно в разделе «Для клиентов» → «Услуги» → «Просмотр и изменение данных» → «Информация в Whois».

Information

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