Как стать автором
Обновить
4
0
blackdog @blackdog

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

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

Про jQuery и велосипеды — мое дополнение

Время на прочтение6 мин
Количество просмотров64K
Сразу спешу сообщить вам, что я никоим образом не связан с автором предыдущей статьи. Однако, прочитав ее и увидев такой положительный отклик сообщества на статью, я тоже вдохновился и решил добавить немного своих наблюдений и знаний, к тому же это может послужить моей входной точкой в круги хабрасообщества.

Для затравки начнем с простого.
Читать дальше →
Всего голосов 242: ↑230 и ↓12+218
Комментарии126

HybridAuth — интеграция сайта с социальными сетями

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

Введение


На своем сайте на php для авторизации пользователей я в последнее время пользовался сервисом Loginza. Все было очень круто и удобно, но в голове начала зарождаться идея отказа от этого замечательного сервиса и вот почему:

  1. Авторизация пользователей в случае закрытия Loginza или отказа от нее — в этом случае мы потеряем пользователей, в привязанных профилях которых не указан email;
  2. Дополнительная информация, например, ВКонтакте умеет отдавать фото пользователя в нескольких видах, в том числе квадратный аватар. С Логинзой получить эти данные не представляется возможным, сервис сам решает какие данные запрашивать и какие отдавать;
  3. С момента продажи Яндексу Логинза начала умирать: на запросы пользователей никто не отвечает, сервис не развивается, а находится в том виде, в котором был 1-2 года назад.

Встал вопрос замены и использовать альтернативные сервисы желания уже не возникало — никто не представлял возможности «общаться» с соц. сетью напрямую, а расширенные поля профиля обычно включались в платные услуги. Хотелось автономного решения с возможностью гибкой настройки запрашиваемых полей и в итоге я остановился на php библиотеке HybridAuth.
Подробнее о HybridAuth
Всего голосов 54: ↑52 и ↓2+50
Комментарии28

Профилирование JavaScript с Chrome Developer Tools

Время на прочтение7 мин
Количество просмотров67K
Скорость сайта состоит из 2 частей: как быстро загружается страница и как быстро работает код в ней. Многие сервисы, такие как минификаторы или CDN, помогают ускорить загрузку, но скорость работы кода зависит только от вас.

Небольшие изменения в коде могут давать огромные изменения в производительности. Всего несколько строк могут означать разницу между быстрым сайтом и диалогом “Unresponsive Script”.
Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии5

Руководство по оформлению HTML/CSS кода от Google

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

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Всего голосов 295: ↑286 и ↓9+277
Комментарии168

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Время на прочтение14 мин
Количество просмотров346K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Всего голосов 126: ↑116 и ↓10+106
Комментарии180

Статический анализ PHP-кода с помощью HipHop

Время на прочтение5 мин
Количество просмотров8.5K
Неожиданно не нашёл информации на русском языке о такой замечательной возможности HipHop, как статический анализ кода для PHP, а потому встречайте обзор, на идею которого меня натолкнула презентация Расмуса на DevConf.

А как это вообще?

Статический анализ кода — вещь весьма полезная, ведь иначе ошибку мы не увидим, пока функция, её содержащая, не будет вызвана. Как же это делает HipHop? Он транслирует PHP в C++!

Таким образом мы получаем возможность статически проанализировать C++ код, что, в общем, давно никого не удивляет, а потом применить полученную информацию к PHP (естественно автоматически).

Итак, начнём.
Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Комментарии62

Практическая оптимизация и масштабируемость MySQL InnoDB на больших объёмах данных

Время на прочтение5 мин
Количество просмотров20K
Данный пост не будет рассказывать про индексы, планы запросов, триггеры для построения агрегатов и прочие общие способы оптимизации запросов и структуры БД. Так же не будет рассказывать про оптимальные настройки с префиксом innodb_. Возможно прочитав текст ниже вы лучше поймёте смысл некоторых из них. В данном посте речь пойдёт об InnoDB и его функционирование.

Какие проблемы может помочь решить этот пост?


  • Что делать если у вас в списке процессов множественные селекты которым казалось бы никто не мешает?
  • Что делать если всё хорошо настроено, запросы пролетают как ракеты и список процессов постоянно пустой, но на сервере высокий LA и запросы начинают работать немного медленнее, ну например вместо 100мс получается 500мс ?
  • Как быстро масштабировать систему, когда нет возможности всё переделать?
  • У вас коммерческий проект в конкурентной среде и проблему надо решать немедленно?
  • Почему один и тот же запрос работает то быстро то медленно?
  • Как организовать быстрый кеш и поддерживать его в актуальном состояние?

Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии46

Facebook Developer Garage в лицах

Время на прочтение2 мин
Количество просмотров1.2K
Facebook сделал большой перерыв с тех пор, как провел в Москве свой первый Developer Garage в 2010 г.
Отчасти эту брешь закрыл первый .тостер, на котором Facebook провел hack-сессию, но именно открытой встречи с разработчиками не было уже давно. А за это время Facebook представил новый вид страниц — timeline/хроника и новый тип приложений, которые могут интегрировать в Facebook самые разные действия пользователя на других сайтах и в других приложениях.

После “официальной” части – выступлений докладчиков – как всегда будет неформальная, поэтому всем, кто собирается на Facebook Developer Garage стоит подготовиться, чтобы узнать, кого из докладчиков и о чем нужно будет как следует расспросить.

Посмотрим, кого Facebook привозит в этот раз, чтобы рассказать разработчикам, что они могут делать с помощью Open Graph.

Джульен Кодорнью

Возглавляет в Facebook работу с партнерами по платформе.
Ранее работал в Microsoft.
В обязанности Джульена входит работа с ключевыми партнерами, использующими Facebook Platform из таких отраслей как медиа и мобильные технологии, включая например Deezer, Dailymotion, Iliad/Free, Orange, RTL Group, etc. Отдельное направление составляет работа с игровыми компаниями.
Джульен — выпускник Университета Сан-Диего и бизнес-школы Skema.

На Facebook Garage Джульен расскажет о том, какие возможности Open Graph предоставляет разработчикам приложений.

http://twitter.com/#!/codorniou
https://www.facebook.com/codorniou
http://fr.linkedin.com/in/julien

Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии1

Как прошел московский Facebook Garage

Время на прочтение1 мин
Количество просмотров724
У нас готово небольшое видео со второго российского Facebook Garage, прошедшего 12 апреля в Москве, так что если вы там были – ищите себя, если не были – слушайте, что говорят те, кто был.

Напомню, что для того, чтобы рассказать о Facebook как платформе в Москву высадился целый десант, состоящий как из руководителей компании в лице вице-президента Джоаны Шилдс, и руководителя программы по работе с партнерами Джульена Кодорнью, так и инженеров Тома Эллиота (на фото) и Брюса Хазана.

image

Читать дальше →
Всего голосов 7: ↑4 и ↓3+1
Комментарии1

Вся правда о Chrome (и не только) Web Inspector. Часть 1

Время на прочтение9 мин
Количество просмотров152K
Я постараюсь сделать самое полное и подробное описание возможностей Web Inspector, на русском языке.
В первой серии мы залезем в настройки, посмотрим, что умеет консоль и поиграемся с панелью «Elements».

Так как Web-Inspector не переведен на Русский, я буду сохранять оригинальные названия.


В качестве бонуса, приложу скриншот одной и самых первых версий, из далекого 2006го.
Читать дальше →
Всего голосов 165: ↑154 и ↓11+143
Комментарии36

IDE нового типа или Open-source проект Light Table

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

Сегодня пришла рассылка с Kickstarter «Projects We Love». Я решил посмотреть, что нового появилось и меня сразу привлек ярлычок Open-source. Я перешел по ссылке почитать, что такого интересного и нового предлагает автор проекта и мне понравилось. Решил поделиться с хабром.

Light Table


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

Уже давно в воздухе витают идеи, что мы можем сделать IDE лучше и удобнее. Какие же это идеи?
  • Вы не должны нигде искать документацию и тратить на это время
  • Файловая структура — не лучшее представление для кода
  • Редактирование должно быть доступно где угодно и редактор должен показывать не только код
  • При любом изменении мы должны видеть результат мгновенно
  • Мы должны видеть больше информации о связанных кусках кода

Давайте посмотрим как эти идеи воплощает Light Table.
Читать дальше →
Всего голосов 98: ↑82 и ↓16+66
Комментарии74

Гайд по созданию Facebook Welcome Page и других кастомных табов

Время на прочтение8 мин
Количество просмотров49K
Facebook — самая большая социальная сеть и один и самых посещаемых сайтов в мире. В ней можно не только постить веселые статусы и лайкать фотографии, но и
использовать, как мощный маркетинговый инструмент. Все логично — миллиард пользователей, возможность таргетинга на определенную аудиторию, мгновенные объявления, ну и масса других
полезных штук, которые недоступны для оффлайна. На сегодняшний день сложно найти компанию без собственной бизнес-страницы или популярную личность без фан-пейджа. В этой статье постараюсь
подробно разобрать техническую сторону этого вопроса со стороны фронт-енд разработки.
Речь в посте пойдет не о создании самой страницы, потому что это довольно тривиальная процедура, а о пользовательских вкладках, которые можно добавить самостоятельно и наполнить нужным контентом.
Любой, даже начинающий веб-разработчик, может сделать с десяток таких табов за один вечер, зная некоторые принципы и нюансы их создания.
Я имею в виду подавляющее большинство всякого рода welcome-страниц, страниц-анонсов и страниц со всяким информационным текстово-графическим контентом. На страницы посложнее с динамическими элементами, формами и прочим функционалом времени уйдет, конечно, побольше.


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

Переменные в CSS

Время на прочтение2 мин
Количество просмотров49K
Если вы разработчик, то вы точно хорошо знакомы с переменными, и возможно, они одни из ваших лучших друзей. По определению, переменная — это временное хранилище, которое содержит некое значение величины или информации.
Но каким образом это относится к тому CSS, который мы все знаем? Год назад на Хабре был пост о планируемых новшествах в CSS, которые были оглашены членом рабочей группы CSS и команды Google Chrome. Среди этих новшеств было введение поддержки переменных.
И вот, буквально на днях, поступили новости о выходе первого релиза рабочего черновика CSS Переменных (CSS Variables).


Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии60

Виджет выпадающих списков Chosen: реализуем динамическое добавление позиций

Время на прочтение8 мин
Количество просмотров18K
По мотивам топика Chosen: сделай выпадающие списки более дружественными.

Довольно симпатичный виджет, иногда даже может быть полезен (допустим когда есть определенные требования к дизайну). Но в данный момент виджет не позволят добавлять позиции динамически, что возмутило товарища alexsrdk, да и меня тоже :) Сейчас попробуем это дело исправить.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии16

9 главных ошибок сделанных за первый год работы нашего стартапа

Время на прочтение5 мин
Количество просмотров1.3K
image

Чтобы было понятно, о чем идет речь, сразу скажу, что наш сервис — биржа копирайтинга ContentMonster.ru. В данный момент, на ней выполняется более 300 заказов сутки и постоянно работает более 400 авторов. Работаем мы над его созданием уже больше полутора лет, и за это время набили некоторое количество «шишек», большую часть из которых можно было избежать. Скорее всего, если бы совершенных ошибок не было, то росли бы мы быстрее, пользователей было бы больше, а психика устойчивей. Итак, начнем.

1. Запуск апдейта в пятницу.

Для того, чтобы проект радовал своим постоянным ростом, нужно над ним неустанно работать. Пользователи ждут новый функционал, просят сделать необходимые для них фичи, намекают, что еще немного и они обидятся и уйдут к конкурентам. Мы постоянно записываем пожелания пользователей в отдельный список, делаем самые насущные на данный момент задачи и заливаем обновления на рабочий сервер.
Читать дальше →
Всего голосов 90: ↑69 и ↓21+48
Комментарии57

Как увеличить скорость работы jQuery скрипта

Время на прочтение4 мин
Количество просмотров9K
11 правил, следуя которым можно увеличить производительность скрипта, написанного с использованием jQuery.
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии43

Kickstrap — форк Twitter Bootstrap с темами и бонусами

Время на прочтение1 мин
Количество просмотров20K
image
Kickstrap это то, что будет если соединить Twitter Bootstrap, HTML5 Boilerplate, значки от IcoMoon и Font Awesome, добавить проверенные jQuery плагины Chosen и jGrowl, включить поддержку разных цветовых схем и тем оформления Bootswatch, дополнительную CSS сетку и вменяемую поддержку ранних версий IE.
Читать дальше →
Всего голосов 137: ↑127 и ↓10+117
Комментарии34

Progressive enhancement + mobile first = responsive web design

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

5 месяцев, 26 дней и сколько-то часов прошло с момента коммита в git первых строчек кода Футубры. Столько времени у нас ушло, чтобы собрать команду, провести ряд исследований, проработать концепцию и реализовать проект, который сделает жизнь людей интереснее.

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

Первый пост хочется посвятить самому важному – базовым принципам, на которых строится Футубра:
  • progressive enhancement
  • mobile first
  • responsive web design

Так что же такое Футубра и как мы применяем эти принципы?
Всего голосов 111: ↑69 и ↓42+27
Комментарии154

jQuery File Upload

Время на прочтение2 мин
Количество просмотров182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Всего голосов 215: ↑206 и ↓9+197
Комментарии118

Chosen: сделай выпадающие списки более дружественными

Время на прочтение1 мин
Количество просмотров54K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.

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

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
Всего голосов 264: ↑250 и ↓14+236
Комментарии57

Информация

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