Как стать автором
Обновить
16
0
Дмитрий @Tvarb

TheLittleBrownBear

Отправить сообщение

У сокращалки ссылок от Google появился полноценный API

Время на прочтение1 мин
Количество просмотров8.5K
В сентябре, когда мы запустили сервис сокращения ссылок, для него ещё не было сопутствующего API, чтобы позволить людям интегрировать goo.gl в свои приложения и веб странички. Однако, как мы говорили, что работаем над этим, и сегодня рады вам сообщить, что запустили полноценный goo.gl API доступный в Google Code Labs. Документация расположена на сайте Google Code, с примерами кода в секции Getting Started.

С этим API, разработчики могут программно получить доступ ко всем быстрым, гладким вкусняшкам, которые доступны через веб интерфейс. Вы можете сокращать и разворачивать URLы используя API, а также получать историю и аналитику. Вы сможете использовать эти возможности для широкого спектра приложений, начиная от автоматического сокращения ссылок в Twitter или Google Buzz клиентов запуская процесс мониторинга статистики и данные трафика. Для начала вы можете ознакомится с консолью Google API.

Мы очень рады возможности предоставить вам наш API для доступа к одному из самых быстрых сервисов сокращения ссылок. Мы продолжаем работать над некоторыми улучшениями юзабилити и возможностью автоматического определения спама или вредоносного контента. Мы надеемся, что с новым API, вы найдете место для goo.gl в своей будущей деятельности. Если вы являетесь разработчиком, ознакомьтесь с документацией по goo.gl API и посмотрите как это все работает.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии13

Разработка привлекательных реалистичных пользовательских интерфейсов

Время на прочтение4 мин
Количество просмотров15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Всего голосов 212: ↑205 и ↓7+198
Комментарии49

Управляем компьютером с айфона

Время на прочтение3 мин
Количество просмотров79K
Являясь счастливым обладателем Iphone 3gs, как-то вечером решил я проверить AppStore на предмет новых интересных приложений. Посмотрел сначала платные, скачал какую-то игрушку, решил заглянуть и в бесплатные, скорее для самоуспокоения, потому что я там давно ничего особо интересного не встречал. И что же я там вижу на второй строчке?



Для тех кто не в курсе, TeamViewer это довольно известное приложение для удаленного доступа к компьютеру. В оригинале оно нужно чтобы помочь другу, или там поделиться рабочим столом с кем-то, но версия для айфона меня просто поразила! Сколько сразу возможностей появляется у ямобилки. Тут я понял что это будет именно тем, с чем я приду на хабр.

Подробности под катом.
подробности
Всего голосов 171: ↑131 и ↓40+91
Комментарии98

Свой минимальный grid CSS-фреймворк. Что в нем должно быть?

Время на прочтение2 мин
Количество просмотров1.6K
Сделав вид, что не знаю о холиварах вокруг css-фреймворков и ненависти к велосипедам, поделюсь своими мыслями («Еще один все понял» © Лепрозорий) по поводу надобности и удобства использования сабжа.

Их есть куча и они обладают своей идеологией, а, например 960gs, Blueprint, YUI grids — самые мне известные и опробованные на собственной коже.
Читать дальше →
Всего голосов 23: ↑15 и ↓8+7
Комментарии15

10 CSS фраймворков и что это такое

Время на прочтение2 мин
Количество просмотров1.8K
Давайте кратко разберёмся, что такое CSS фраймворк. Вольный перевод с английской википедии гласит:
Это библиотека, которая предназначена для создания и внедрения более лёгкого и валидного кода. Общий смысл этой библиотеки схож с PHP или JS библиотек, которые получили более широкое распространение и известность широким массам.

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии67

Парсим URL

Время на прочтение25 мин
Количество просмотров67K
Хочу поделиться одной полезной утилиткой, написанной на pure JavaScript, — URL. По сути это небольшой парсер URL'ов, работающий почти как window.location, но не перезагружающий страницу браузера при манипуляциях.

А заодно скажу пару слов про getters & setters в JavaScript.

UPD1: по просьбам трудящихся, вынесу сюда примеры:
// Пусть текущий URL = 'http://my.site.com/somepath/'
var u = new URL('relative/path/index.html')
u.href // my.site.com/somepath/relative/path/index.html
u.href = '/absolute/path.php?a=8#some-hash'
u.href // my.site.com/absolute/path.php?a=8#some-hash
u.hash // #some-hash
u.protocol = 'https:'
u.href // my.site.com/absolute/path.php?a=8#some-hash
u.host = 'another.site.com:8080'
u.href // another.site.com:8080/absolute/path.php?a=8#some-hash
u.port // 8080
// и так далее, и тому подобное

* This source code was highlighted with Source Code Highlighter.

Работает в FF3+ (может и в 2+, не пробовал) и в IE6+ ( и это — моё ноу-хау :-) ).
Разобрана в статье также полностью кросс-браузерная реализация, но в использовании — немного более громоздкая:
// Пусть текущий URL = 'http://my.site.com/somepath/'
var u = new URL('relative/path/index.html')
u.href() // my.site.com/somepath/relative/path/index.html
u.href('/absolute/path.php?a=8#some-hash')
u.href() // my.site.com/absolute/path.php?a=8#some-hash
// и т.д.

* This source code was highlighted with Source Code Highlighter.


Да, и я привожу свой листинг полностью, извиняйте, так надо.

Прошу под кат...
Всего голосов 142: ↑128 и ↓14+114
Комментарии81

Работа с моделями данных в javascript

Время на прочтение4 мин
Количество просмотров20K
Здравствуйте, Хабралюди.

Мал по-малу из моего опыта и наших проектов родилась небольшая библиотека для работы с моделями в джаваскрипте. Она так и называется — Model.js.

Я расскажу вам вкратце об этой библиотеке и этим постом запрашиваю обратную связь у тех, кто создавая сложные джаваскрипт-приложения, уже решает эту проблему каким-то определенным образом без фреймворков. Интересно также и мнение тех, кто только подыскивает подходящий инструмент для своих нужд: какой инструмент вам нужен и насколько вам подходит Model.js?
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии36

Лёгкий сайт или как посадить браузер на диету

Время на прочтение14 мин
Количество просмотров144K

А что если объединить профессионалов, работавших над крупными web проектами, чтобы создать исчерпывающее руководство по оптимизации front-end разработки?
И получить в результате не скучную инструкцию, а что то поинтереснее? А если позвать Briza Bueno (Americanas.com), Davidson Fellipe (Globo.com), Giovanni Keppelen (ex-Peixe Urbano), Jaydson Gomes (Terra), Marcel Duran (Twitter), Mike Taylor (Opera), Renato Mangini (Google), и Sérgio Lopes (Caelum) чтобы собрать лучшие практики?

Именно это мы и сделали! Мы научим вас создавать быстрые сайты.

Zeno Rocha, руководитель проекта.


Читать дальше →
Всего голосов 193: ↑179 и ↓14+165
Комментарии80

Ключевое отличие AngularJS от Knockout

Время на прочтение6 мин
Количество просмотров48K
imageЗа последнее время я несколько раз успел поучаствовать в дискуссиях о том, чем Angular лучше или хуже Knockout и других JS-фреймворков. И очень часто я сталкивался с тем, что есть некоторое непонимание сути различий в подходах, заложенных в эти продукты. Иногда дело доходило даже до того, что в качестве преимущества Knockout приводились валидные по умолчанию префиксы «data-», что ну просто совсем смешно (не говоря уж о том, что их можно использовать и в Angular).

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

  1. Модульная организация кода, тестируемость и жестокая война с любыми глобальными данными.
  2. Пропаганда декларативного подхода через создание собственных HTML-директив.
  3. Механизм проверки изменения данных в дата-биндинге без использования коллбэков.

И третий пункт мне здесь видится наиболее сложным для понимания. Поговорим именно о нем.
Читать дальше →
Всего голосов 68: ↑66 и ↓2+64
Комментарии64

Объектно-ориентированный дизайн… в CSS

Время на прочтение9 мин
Количество просмотров46K
Предупрежу заранее, что я совершенно не считаю себя экспертом HTML/CSS/JS. Но, как архитектору, мне всегда была интересна организация и систематизация кода в самых разных его проявлениях, в том числе и представленных в виде CSS. Особенно сильно этот интерес был подогрет БЭМом, при первом знакомстве с которым подсознание отреагировало когнитивным дискомфортом. А поскольку БЭМ-стиль в проектах у меня стал появляться все чаще, я почувствовал острую необходимость осмыслить, наконец, свое отношение к организации стилей. Таким образом и появился данный топик-размышление, топик-дискуссия. Я понимаю, что взялся за пограничную задачу, поскольку далеко не всем верстальщикам знакомы тонкости объектно-ориентированного дизайна, а большинство архитекторов не написали ни одного CSS-стиля. И, как результат, мне пришлось неуклюже балансировать, чтобы было понятно всем. Но 'этот риск еще больше подогрел мой интерес к теме :)
Читать дальше →
Всего голосов 114: ↑95 и ↓19+76
Комментарии136

Пишем плагин для jQuery

Время на прочтение8 мин
Количество просмотров246K
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →
Всего голосов 171: ↑138 и ↓33+105
Комментарии67

Ещё семь фич HTML5, о которых вы могли не знать

Время на прочтение3 мин
Количество просмотров88K
Доброго времени суток!

Все мы достаточно наслышаны об HTML5 и его возможностях. Например, элементы audio и video, которые у всех на слуху. Но несмотря на это, существует парочка тегов, о которых знают далеко не все, и о которых не знал я до недавнего времени. Итак, вот чем я хочу с вами поделиться.
Читать дальше →
Всего голосов 201: ↑170 и ↓31+139
Комментарии96

Естественная сортировка строк на JavaScript

Время на прочтение14 мин
Количество просмотров46K
Задача сортировки является едва ли не наиболее часто решаемой программистами проблемой. Несмотря на то, что распространённых алгоритмов не так много и все они давно написаны и оптимизированы для любых языков и платформ, в исходниках то и дело мелькают методы SortList() и им подобные. Наверное, каждый из нас не раз писал сортировку пузырьком и удивлялся, почему же она не работает с первого раза.

Однако речь сейчас не об алгоритме сортировки, а о способе сравнения строк. Казалось бы, здесь всё тривиально — достаточно сравнить первые с начала различающиеся символы. А если в строках есть числа? Тогда такая сортировка (лексикографическая) преобразует последовательность [ 'file2', 'file10', 'file1' ] в [ 'file1', 'file10', 'file2' ]. Но человек при чтении текста воспринимает числа отдельно, и эта же последовательность, упорядоченная интуитивно, выглядит так: [ 'file1', 'file2', 'file10' ]. Такая сортировка и называется естественной (natural sort).

Под катом — велосипед подробный алгоритм на JavaScript. На оптимальность и красоту он не претендует, но всё же лучше, чем многопроходная реализация «в лоб».

Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии16

Knockout, практический опыт использования

Время на прочтение12 мин
Количество просмотров70K
Некоторое время назад я обещал рассказать о нашем опыте работы с Knockout. Мы используем данную библиотеку в одном из проектов в течение последних 4 месяцев. Это немного, но за это время команда набрала некоторый опыт, который, я думаю, может быть интересен читателям.
Осторожно, много текста!
Всего голосов 62: ↑59 и ↓3+56
Комментарии23

Пример использования KnockoutJS

Время на прочтение9 мин
Количество просмотров17K
День добрый, хабрасообщество!В статье будет рассмотрен процесс создания web-страницы редактирования списка пользователей. Готовый пример можно забрать тут. Статья является не обзорной, а приближенной к реальным боевым действиям, потому настоятельно рекомендую ознакомиться с простым примером.
Мне интересны детали
Всего голосов 42: ↑37 и ↓5+32
Комментарии14

JavaScript-фреймворк Meteor получил 11 миллионов долларов инвестиций

Время на прочтение2 мин
Количество просмотров12K
Необычный и амбициозный фреймворк Meteor, пребывая в статусе preview (текущая версия — 0.3.8) уже получил 4500 подписчиков на Гитхабе и восторженные отзывы сооснователя Facebook Дастина Московица. Теперь на него обратили внимание акулы венчурного капитализма. Основным инвестором стал фонд Andreessen Horowitz. По словам Джефа Шмидта — CEO Meteor Development Group, одиннадцать с лишним миллионов гарантируют активную разработку проекта на протяжении ближайших нескольких лет.


Читать дальше →
Всего голосов 88: ↑77 и ↓11+66
Комментарии67

Принцип цикады на чистом CSS

Время на прочтение2 мин
Количество просмотров13K
Принцип цикады позволяет строить очень длинные неповторяющиеся фоны веб-страниц из нескольких простых изображений. Он был впервые описан Алексом Уокером в апреле 2011 года и быстро завоевал популярность. На сайте designfestival.com появилась целая галерея фонов, сделанных по этому принципу.

Во многих случаях можно сэкономить ещё больше, используя градиенты. Даже с учётом того, что пока практически все браузеры поддерживают свойство linear-gradient только с префиксами, суммарный объем кода CSS, необходимый для создания фона, в несколько раз меньше размера нескольких PNG с фрагментами, и, что ещё важнее — вообще не требует лишних запросов к серверу. Так, Эрик Мейер недавно привёл пример реализации первых двух фонов из оригинальной статьи Уокера на чистом CSS. Для простых цветных полосок (вверху) понадобилось 2.66 Кб кода CSS (с префиксами, без минификации и компрессии). В будущем, когда все популярные браузеры избавятся от префиксов, будет достаточно 0.59 Кб кода. В оригинальном примере изображения весили около 6 Кб + 3 запроса к серверу. Второй пример с занавесом (внизу) впечатляет ещё больше. Даже с префиксами получается примерно десятикратный выигрыш.
Читать дальше →
Всего голосов 102: ↑80 и ↓22+58
Комментарии26

Leaflet 0.4 — новая версия открытой JS-библиотеки для интерактивных карт

Время на прочтение7 мин
Количество просмотров17K


После пяти с половиной месяцев разработки с момента выхода предыдущей версии, очень рад наконец представить вам Leaflet 0.4 — новую версию легковесной JavaScript-библиотеки для интерактивных карт, которая одинаково хорошо работает и на десктопных браузерах, и на мобильных устройствах.

Этот релиз, к которому приложило руку 33 разработчика, несёт в себе более простой, удобный API и громадное множество улучшений и исправлений вместе с масштабным обновлением документации, запуском официального блога и страничкой плагинов. Давайте рассмотрим улучшения по порядку.
Читать дальше →
Всего голосов 77: ↑74 и ↓3+71
Комментарии30

Пять интересных эффектов при наведении с использованием нескольких фоновых изображений

Время на прочтение6 мин
Количество просмотров22K
Сегодня мы рассмотрим все преимущества использования множественных фонов. Изучим базовые основы и создадим крутые эффекты при наведении с помощью CSS свойств hover и transition.

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

Что должно получиться


Посмотрим на то, что должно получиться в итоге. Подумайте, как можно реализовать эти эффекты чисто на одном CSS.

Демонстрация



Читать дальше →
Всего голосов 79: ↑74 и ↓5+69
Комментарии32

JsRender: Новое поколение jQuery Templates

Время на прочтение3 мин
Количество просмотров37K
Буквально пару месяцев назад, мы начали переписывать весьма крупный сайт, с момента прошлого крупного релиза прошёл не один год, конечно, сайт дорабатывался, правились баги и в итоге в настоящее время создаётся новая версия. В ней будет активно использоваться AJAX, поэтому весьма остро стоял вопрос с генерацией контента на клиенте, полученного в формате JSON. Прошлые шаблоны были собственной разработки, так как на то время вариантов было не так много, которые по разным причинам не подходили, базировались наши шаблоны на jquery, с помощью атрибутов происходило заполнение.

Прежде всего было решено провести тест, при генерации списка из 1500 элементов было получено превосходство в 20 раз, похожие результаты показывает сравнение с jQuery Template (страница с тестами).
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии47

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность