Как стать автором
Обновить
20
0
Михаил Кабищев @soines

Head of Platform

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

Кластеризация memcached и выбор ключа кэширования

Время на прочтение4 мин
Количество просмотров23K
Серия постов под общим заглавием “Web, кэширование и memcached” продолжается. В первом мы поговорили о memcached, его архитектуре и возможном применении.

Сегодня речь пойдет о:
  • выборе ключа кэширования;
  • кластеризации memcached и алгоритмах распределения ключей.

Следующий пост будет посвящен атомарности операций и счетчикам в memcached.

Итак, поехали!
Всего голосов 61: ↑61 и ↓0+61
Комментарии42

jQuery UI как инфраструктура для плагинов

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

Введение


jQuery UI больше всего известен как набор готовых виджетов. Главное их преимущество, на мой взгляд, — консистентное API: каждый виджет управляется одинаково. Второе их преимущество — они хранят свое состояние: если повторно навесить виджет на элемент, то результатом будет уже существующий инстанс виджета.
Но jQuery UI — это не только набор окошечек и табов (далеко не всеми любимых). Это еще целая инфраструктура для создания своих виджетов: с удобным консистентным API, с хранением состояния и с возможностью наследования. Как ни странно, это для многих новость, в результате чего и появилась эта статья — так же, как это было новостью для меня всего несколько месяцев назад.
Все, что вы хотели узнать о jQuery UI, но стеснялись спросить
Всего голосов 87: ↑86 и ↓1+85
Комментарии51

Украшаем списки

Время на прочтение5 мин
Количество просмотров24K
В 2002 году Марк Ньюхаус (Mark Newhouse) опубликовал статью «Укрощение списков» ("Taming Lists"), довольно-таки интересную часть которой он посвятил объяснению того, как создавать собственные списки, украшенные псевдо-элементами. Почти десять лет спустя Николас Галлахер (Nicolas Gallagher) изобрел технику, которая использует псевдо-элементы из спрайтов, для создания фоновых изображений.
Сегондя, основываясь на опыте гигантов, мы постараемся развить эту тему. Мы обсудим, как можно украсить элементы без дополнительной разметки, используя только технику CSS-спрайтов. Результат будет работать также в Internet Explorer 6 и 7 версии.
Читать дальше →
Всего голосов 113: ↑107 и ↓6+101
Комментарии27

Управление проектами – управление людьми

Время на прочтение5 мин
Количество просмотров37K
Я работаю ПМом в небольшой – порядка 50 человек – компании по разработке софта. Данная статья написана исключительно с целью – поделиться своими мыслями по поводу процессов управления людьми в команде и, в идеале, услышать комментарии профессиональных руководителей и разработчиков. Сразу оговорюсь, что я не затрагиваю другие аспекты управления
Поскольку работаю весьма недолго, около года, а до этого был программистом (прошёл все ступени от стажёра до архитектора), то в памяти ещё свежи те ошибки, которые осуществляли мои руководители, после которых, в лучшем случае, на душе становилось пакостно. Опять же, дисклеймер, написано всё это исключительно с целью обсуждения… Итак, начнём.
Читать дальше →
Всего голосов 112: ↑103 и ↓9+94
Комментарии79

PHPUnit. Часть 04 Тестовые окружения (Fixtures)

Время на прочтение9 мин
Количество просмотров26K
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2, Часть 3,


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

PHPUnit. Часть 03 Написание тестов для PHPUnit

Время на прочтение9 мин
Количество просмотров50K
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2

Пример 4.1 демонстрирует как с помощью PHPUnit можно выполнить тестирование операций с массивами PHP. В этом примере показаны базовые соглашения и шаги, свойственные тестам PHPUnit:
Читать дальше →
Всего голосов 31: ↑23 и ↓8+15
Комментарии12

Автоматическое тестирование и базы данных

Время на прочтение11 мин
Количество просмотров33K
Много примеров начального и среднего уровней по юнит-тестированию в любом языке показывают как просто можно проверять логику Ваших приложений с помощью юнит-тестов. Однако, не все так просто бывает при тестировании приложений, в которых центральную роль играет база данных, а именно таких большинство среди веб-приложений. Те, кто занимается юнит-тестированием своих приложений, думаю, не раз сталкивались с проблемой тестирования БД. Почти 2 года назад на хабре уже была статья на эту тему, но хотелось бы ее раскрыть больше.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии48

Memcached и PHP ликбез

Время на прочтение6 мин
Количество просмотров225K
В интернете достаточно много информации на данную тему, но, несмотря на это, многие обходят её стороной. Цель данного поста, разъяснить на пальцах основы взаимодействия с Memcached.
Читать дальше
Всего голосов 103: ↑78 и ↓25+53
Комментарии87

«Переезжаем» в офлайн: Web Storage, Application Cache и WebSQL

Время на прочтение11 мин
Количество просмотров28K
Чтобы делать приложения, которые могут работать в полностью автономном режиме, нам нужно познакомиться со следующими технологиями: HTML5 Application Cache, Web Storage и WebSQL.
Мной уже были опубликованы вводные статьи, касающиеся Web Storage и HTML5 Application Cache. Рекомендую их к прочтению если вы еще не знакомы с основными понятиями. В данной статье будут пересмотрены эти технологии, в том числе и WebSQL, и описаны варианты их совместного эффективного использования. Все эти технологии поддерживаются настольной версией браузера Opera 11.10, Opera Mobile 11, браузерами на движке WebKit (в iOS и Google Android).
Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии27

Обзор плагинов ++

Время на прочтение2 мин
Количество просмотров3.4K
Очередной топик с обзором нескольких интересных плагинов jQuery.

Mobily Map




Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии


Читать дальше →
Всего голосов 162: ↑148 и ↓14+134
Комментарии22

Плагинизация классов

Время на прочтение2 мин
Количество просмотров1.8K
Как-то медитируя на свой новый велосипед подумал, – А почему бы не заложить в него возможность «плагинизации» контроллеров?

Чтобы вот был, например, у нас некий базовый класс Generic.php:
<?php
class Generic
{
  public function Hello() {
    echo 'Hello!';
  }
}
?>


А мы такие взяли и повешали бы на него пару плагинов, которые дополнят/изменят какие-либо его методы не мешая друг-другу (по принципу «кто первый встал – того и тапки»).

Вот они красавцы:
PluginFoo.php:
<?php
class PluginFoo extends Generic_PluginFoo
{
  public function Hello() {
    echo 'Dudes?<br />';
    parent::Hello();
  }
}
?>

и PluginBar.php:
<?php
class PluginBar extends Generic_PluginBar
{
  public function Hello() {
    parent::Hello();
    echo '<br />O.o';
  }
}
?>


А потом мы создали бы объект родительского класса (не обращаясь к последнему потомку), вызвали метод Hello() и тот сказал бы нам:
Dudes?
Hello!
O.o


Ниже лаконичный вариант того как описанного поведения добился ort в своём LiveStreet, а затем уже и я в своём собственном велосипеде.
Читать дальше →
Всего голосов 107: ↑75 и ↓32+43
Комментарии28

Правила хорошего тона при работе в «Фотошопе»

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

www.ilovepsd.ru — небольшой справочник по «Фотошопу» для веб-дизайнеров, но будет полезен и верстальщикам. Например, если вы занимаетесь версткой, то можете ссылаться на него, как на требования к макетам дизайнера.

Справочник призывает работать в «Фотошопе», соблюдая правила хорошего тона. Цель проекта — ускорить процесс дизайна, улучшить чтение файлов проекта и облегчить процесс верстки.

Полезные (и по делу) советы от комментирующих будут добавлены в проект. Велкам.

UP. Сделана фейсбук пейдж для желающих отписаться.

Читать дальше →
Всего голосов 121: ↑104 и ↓17+87
Комментарии199

Unit-тесты, пытаемся писать правильно, чтобы потом не было мучительно больно

Время на прочтение3 мин
Количество просмотров58K
Большинство людей не умеют писать unit-тесты. И даже те, кто применяет модульные тесты в ежедневной разработке, зачастую признают, что получившиеся тесты иногда не очень эффективны по определенным причинам. К этой категории людей я могу отнести и себя. В первую очередь, такой «причиной» является некоторая появляющаяся «инертность» кода, заключающаяся в том, что если требуется немного изменить какой-то ключевой алгоритм, добавить пару строчек кода, то при этом «падают» ~100 модульных тестов и приходится тратить продолжительное время на то чтобы заставить их работать вновь. Итак, приступим к «хорошим рекомендациям» при написании автоматических модульных тестов. Нет, я не буду капитаном очевидностью, в очередной раз описывая популярный стиль написания тестов под названием AAA (Arange-Act-Assert). Зато попытаюсь объяснить, чем отличается Mock от Stub-а и что далеко не все тестовые объекты — «моки».
Читать дальше →
Всего голосов 61: ↑50 и ↓11+39
Комментарии22

Основы правильного проектирования баз данных в веб-разработке

Время на прочтение6 мин
Количество просмотров82K
Базы данных используются повсюду, включая большую часть проектов в мире веб-разработки. Всё, начиная от простейших блогов и каталогов, до серьезных социальных веб-проектов. Независимо от сложности сайта и соответствующей базы данных, каждый из них требует тщательного проектирования, чтобы работать эффективно, а также надежно.

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

Одержимость красивым кодом, синдромом рефакторинга

Время на прочтение2 мин
Количество просмотров4.1K
В последнее время распространилась одержимость рефакторингом. Доходит до того, что некоторые программисты ставят ему больший приоритет, чем более важным вещам, таким как:
  • Корректность
  • Надежность
  • Отслеживаемость
  • Поддерживаемость

Если это доходит до крайности, и все, о чем заботится программист, является красота кода, он может попасть под синдром рефакторинга.
Читать дальше →
Всего голосов 129: ↑103 и ↓26+77
Комментарии82

OAuth 2.0 простым и понятным языком

Время на прочтение7 мин
Количество просмотров834K
Логотип OAuth 2.0

На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.

Что такое OAuth 2.0


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

Читать дальше →
Всего голосов 168: ↑153 и ↓15+138
Комментарии44

Управление требованиями к IT-проектам

Время на прочтение9 мин
Количество просмотров125K
Добрый день, уважаемое хабросообщество!

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

image

Введение


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

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

Читать дальше →
Всего голосов 86: ↑53 и ↓33+20
Комментарии84

Новая версия: jQuery 1.5.1

Время на прочтение1 мин
Количество просмотров1.5K
[логотип jQuery]Джон Резиг позавчера (24 февраля) объявил во блоге jQuery о выходе очередной версии jQuery, получившей номер 1.5.1. Для скачивания, как и всегда, доступны два варианта исходного кода: обыкновенный (212 килобайтов) и мини-вариант (уменьшается до 29 килобайтов, если обработать его gzip).

Резиг перечислил сорок два основных изменения, которые были внесены в эту версию jQuery. В основном они сводятся к обезжучиванию, к избавлению от багов. Но есть и одно видимое изменение — в jQuery.ajax() добавили три новые настройки:

1) Настройка isLocal управляет осознанием используемого протокола в качестве локального, то есть позволяет дополнить автораспознавание jQuery, которое в настоящее время считает локальными только те ресурсы, которые загружаются по протоколам «file», «*-extension» (например, «chrome-extension», см. баг 8152) и «widget».

2) Настройка mimeType позволяет переопределить MIME-тип, используемый в XHR.

3) Настройка xhrFields позволяет передать массив необходимых установок (для каждой указав fieldName и fieldValue, то есть имя и значение некоторого поля) в объект XHR. Скажем, можно придать withCredentials значение true, если понадобится запросить сервер из другого домена и послать туда логин, пароль и cookies (в MDC есть пример JS-кода без jQuery для Firefox — можете на этом примере постигнуть, что именно будет такой настройкою достигнуто).

Эта версия (jQuery 1.5.1) — первая из тех, которые поддерживают IE9 настоящим образом: все проблемы, ранее имевшиеся в работе с IE9, либо исправлены в jQuery, либо переданы разработчикам IE9 для исправления их в IE9.
Всего голосов 79: ↑64 и ↓15+49
Комментарии30

Yota откроет свою сеть LTE «Билайну», «Мегафону», МТС и «Ростелекому»

Время на прочтение1 мин
Количество просмотров18K
image Yota подписала соглашение с крупнейшими операторами связи: «Билайн», «Мегафон», МТС и «Ростелеком» – о развитии LTE в России. Услуги связи в стандарте LTE могут быть доступны уже в 2011 году. А к 2014 году сеть охватит более 180 городов России.

Заключение соглашения состоялось в московском офисе Yota в присутствии Председателя Правительства Российской Федерации Владимира Путина. Согласно документу, участники сделки получат доступ к инфраструктуре сети мобильной связи 4-го поколения и опционы на выкуп долей в Yota по рыночной цене в 2014 году.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии63

Информация

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