Pull to refresh
19
Karma
0
Rating
Дмитрий @Tvarb

User

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

IT-companies
Translation
В сентябре, когда мы запустили сервис сокращения ссылок, для него ещё не было сопутствующего 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
Views 8.4K
Comments 13

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

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

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

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



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

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

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

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

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

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

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

Читать дальше →
Total votes 40: ↑35 and ↓5 +30
Views 1.8K
Comments 67

Парсим URL

JavaScript *
Хочу поделиться одной полезной утилиткой, написанной на 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
Views 67K
Comments 81

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

Website development *JavaScript *Programming *
Tutorial
Sandbox
Здравствуйте, Хабралюди.

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

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

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

Website development *Client optimization *HTML *
Translation

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

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

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

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

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

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

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

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

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

Website development *JavaScript *jQuery *
Tutorial
Translation
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →
Total votes 171: ↑138 and ↓33 +105
Views 244K
Comments 67

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

Website development *Programming *HTML *
Tutorial
Доброго времени суток!

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

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

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

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

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

Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Views 43K
Comments 16

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

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

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

JavaScript *
Sandbox
День добрый, хабрасообщество!В статье будет рассмотрен процесс создания web-страницы редактирования списка пользователей. Готовый пример можно забрать тут. Статья является не обзорной, а приближенной к реальным боевым действиям, потому настоятельно рекомендую ознакомиться с простым примером.
Мне интересны детали
Total votes 42: ↑37 and ↓5 +32
Views 17K
Comments 14

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

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


Читать дальше →
Total votes 88: ↑77 and ↓11 +66
Views 12K
Comments 67

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

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

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

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

Website development *JavaScript *Maps API *


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

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

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

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

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

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


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

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



Читать дальше →
Total votes 79: ↑74 and ↓5 +69
Views 21K
Comments 32

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

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

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

Information

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