Pull to refresh
16
0
Дмитрий @Tvarb

TheLittleBrownBear

Send message

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

Reading time1 min
Views8.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 и посмотрите как это все работает.
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments13

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

Reading time4 min
Views15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Total votes 212: ↑205 and ↓7+198
Comments49

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

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



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

Подробности под катом.
подробности
Total votes 171: ↑131 and ↓40+91
Comments98

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

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

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

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

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

Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments67

Парсим URL

Reading time25 min
Views67K
Хочу поделиться одной полезной утилиткой, написанной на 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.


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

Прошу под кат...
Total votes 142: ↑128 and ↓14+114
Comments81

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

Reading time4 min
Views20K
Здравствуйте, Хабралюди.

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

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

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

Reading time14 min
Views144K

А что если объединить профессионалов, работавших над крупными 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, руководитель проекта.


Читать дальше →
Total votes 193: ↑179 and ↓14+165
Comments80

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

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

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

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

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

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

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

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

Reading time8 min
Views247K
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →
Total votes 171: ↑138 and ↓33+105
Comments67

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

Reading time3 min
Views88K
Доброго времени суток!

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

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

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

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

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

Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments16

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

Reading time12 min
Views70K
Некоторое время назад я обещал рассказать о нашем опыте работы с Knockout. Мы используем данную библиотеку в одном из проектов в течение последних 4 месяцев. Это немного, но за это время команда набрала некоторый опыт, который, я думаю, может быть интересен читателям.
Осторожно, много текста!
Total votes 62: ↑59 and ↓3+56
Comments23

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

Reading time9 min
Views17K
День добрый, хабрасообщество!В статье будет рассмотрен процесс создания web-страницы редактирования списка пользователей. Готовый пример можно забрать тут. Статья является не обзорной, а приближенной к реальным боевым действиям, потому настоятельно рекомендую ознакомиться с простым примером.
Мне интересны детали
Total votes 42: ↑37 and ↓5+32
Comments14

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

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


Читать дальше →
Total votes 88: ↑77 and ↓11+66
Comments67

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

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

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

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

Reading time7 min
Views17K


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

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

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

Reading time6 min
Views22K
Сегодня мы рассмотрим все преимущества использования множественных фонов. Изучим базовые основы и создадим крутые эффекты при наведении с помощью CSS свойств hover и transition.

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

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


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

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



Читать дальше →
Total votes 79: ↑74 and ↓5+69
Comments32

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

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

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

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity