Pull to refresh
29
0
Роман Чаднов @w0nder

User

Send message

Страх, риск и хакинг

Reading time1 min
Views1.4K
Интересную книгу с провокационным названием опубликовал американский писатель Гивер Талли (Gever Tulley).



На первый взгляд как будто о детях. Но это исключительно хакерская книга (в смысле лайфхака и социальной философии), которая поднимает глубокие проблемы, возникающие перед современным рафинированным обществом.
Читать дальше →
Total votes 143: ↑120 and ↓23+97
Comments136

Как я покупал iPod touch на ebay, и как мне пришло не совсем то…

Reading time5 min
Views39K
Привет, image
Я хочу рассказать интересную историю, как я покупал на Ebay плеер Apple iPod touch 32Gb. О том, как я использовал «снайпер», пользовался посредником и о том какие проблемы возникли. Я уже больше полугода делаю покупки из-за рубежа и особых проблем по поиску того что мне надо не возникло.
image
Читать дальше →
Total votes 329: ↑295 and ↓34+261
Comments284

Много книг, хороших и разных

Reading time20 min
Views97K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments89

Несколько jQuery плагинов, которые вы возможно станете использовать

Reading time2 min
Views2K

qTip





qTip — это бесплатный плагин для jQuery для создания подсказок (tooltip). Данный плагин кроссбраузерный, имеет обширные возможности к настройке и содержит множество функций, таких как: закругленные углы без применения изображений, speech bubbles (изображение речи как в комиксах), а так же эффекты — fade (постепенное исчезновение изображения), slide и возможность создания собственных эффектов. Данный плагин уже включает пять готовых тем, но можно создавать свои темы без особых усилий. Кроме того можно создавать окна диалогов, изменять цвет фона подсказки и места, где она отображается.

Скачать | Демо

Читать дальше
Total votes 96: ↑76 and ↓20+56
Comments30

Facebook Connect: ссылки на руководства по аутентификации

Reading time1 min
Views664
Взаимодействие с социальными сетями — весьма важная и актуальная задача для разработчиков веб-проектов. По мере того как в России начинается медленный переток пользователей в Фейсбук, уже отмеченный Норвежским Лесным, проблема освоения Facebook Connect становится всё более злободневной.

Некоторые CMS вроде BuddyPress уже включают функционал FBC в базовый дистрибутив.

Поискав по Хабру, нашёл лишь наработки по созданию приложений внутри FB, но конкретно о использовании системы аутентификации FB почти материалов нет.

Ниже я предлагаю обзор ссылок по руководствам, плагинам и библиотекам для подключения к Facebook Connect. К сожалению, все материалы на английском. Предлагаю всем желающим дополнить материал.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments3

Touch Diamond. Дубль два

Reading time1 min
Views572
На проходящей в Барселоне MWC 2009 компания HTC анонсировала свой новый коммуникатор Touch Diamond 2.


Аппарат оборудован 3,6-дюймовым сенсорным дисплеем, разрешение которого составляет 480х800 пикселей. На борту — процессор Qualcomm с тактовой частотой 528 МГц, 512 Мб встроенной памяти и 288 Мб ОЗУ, слот для карт формата microSD и 5-мегапиксельная камера.

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

Работает Touch Diamond 2 под управлением ОС Windows Mobile.

В продаже телефон появится в начале второго квартала 2009 года.

via electronista
Total votes 35: ↑32 and ↓3+29
Comments48

Поисковая оптимизация. Часть 1 — внутренние факторы

Reading time3 min
Views1.9K
Рекомендации по html-коду, вёрстке и немного — по копирайтингу. Актуально для февраля-2009

Это не очередной список «101 совет, как достичь идеала в том-то», которых полно в интернете. Это «инсайдерская информация» SEO-компании, ведущей более 600 проектов. Перечислено то, на что мы обращаем внимание, начиная поисковую оптимизацию. Разумеется, не всё получается реализовать (например, движок сайта что-то не позволяет, а где-то пункты противоречат(!) друг другу). Ничего страшного. Если больше половины рекомендаций получается реализовать, то это уже очень хорошо!
Читать дальше →
Total votes 115: ↑73 and ↓42+31
Comments79

Заполнение пустого пространства плавающими блоками. Разбор 2-ух примеров реализации. От Яндекса и от студии Лебедева.

Reading time1 min
Views737
Недавно столкнулся с проблемой реализации плавающих блоков в одном интернет магазине. Суть в том, что товары выводятся в виде блоков. По задумке количество блоков по горизонтали должно меняться в зависимости от разрешения экрана. Использовать float в тупую не удалось из-за не фиксированой высоты блоков.
Немного погуглив я ничего не нашел. Зато вспомнил, что видел подобное на Яндексе и в магазине студии Лебедева.
Сообственно я выкладываю сюда для ознакомления то, что вы и сами можете найти в указанных источниках. Все, что я сделал это почистил от лишнего кода. Если-бы я нашел подобный пост раньше это сэкономило-бы мне время.

смотрим...
Total votes 23: ↑20 and ↓3+17
Comments18

API Playground

Reading time1 min
Views1.8K
api playground

На прошлой неделе Google официально представил очередную разработку в рамках «20% личного времени» которая вышла за пределы компании. Инженер по разработке Бен Лисбаккен (Ben Lisbakken) создал API Playground, с которым изучение кода для Google Javascript API становится легким, как никогда ранее.

API Playground предоставляет простой и удобный интерфейс написания и тестирования javascript-кода для восьми сервисов Google, использующих API, это: Maps, Search, Feeds, Calendar, Visualization, Language, Blogger, Libraries и Earth. Кроме того новый API Playground скоро станет способом по умолчанию для демонстрации примеров JS-кода. Еще одна хорошая новость заключается в том, что гигант перевел часть исходных кодов под лицензию Apache 2.0 для использования в Playground.

На данный момент на «игровой площадке» (playground) доступно более 170 javascript-шаблонов, начиная от простых списков, слайдшоу основанных на медиа-RSS и заканчивая KML-файлами Google Earth.

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

Google Code Blog via ReadWriteWeb
Total votes 71: ↑59 and ↓12+47
Comments15

UserAPI — Конструктор Социальных сетей на базе ВКонтакте

Reading time2 min
Views80K
Павел Дуров заявил об открытии нового проекта: User API.

Сервис предназначен для быстрого построения соцсети (заявленное минимальное время — 5 мин.)
Новые сети будут использовать данные сети ВКонтакте (пользователи, фото, etc.).

При монетизации проекта: доходы будут делиться на 60% хозяину, 40% User API. Подробнее в уловиях пользования User API.

Документация проекта.

Для тех кто не зарегестрирован ВКонтакте копипаста из блога Дурова:
Читать дальше →
Total votes 83: ↑74 and ↓9+65
Comments153

Shadowbox.js

Reading time1 min
Views1.5K
Король среди всех Lightbox клонов.

Коротко о Lightbox

Это скрипт написанный на JavaScript который добавляет на сайт визуальный эффект увеличения изображения в виде окна.

Коротко о Shadowbox.js

Красивый, удобный, мульти-язычный, гибкий и быстрый Lightbox. Легко подключается, работает во всех современных браузерах. Имеет хорошую документацию и адаптируется под большинство JavaScript библиотек. Сам скрипт может быть самостоятелен и не требует подключения других библиотек.

Прошу любить и жаловать: тык.

P.S. Если вы захотите я смогу написать более подробно как работать с данной прелестью.
P.S.2 Данный продукт в отличии от Lightview бесплатен, и не требует покупки лицензии.
Total votes 17: ↑16 and ↓1+15
Comments15

Исследуем Google Reader API

Reading time6 min
Views2.3K
Возникла необходимость сделать интерфейс к гуглоридеру, отличный от стандартного. Использование стандартного ajax reader api не удовлетворило из-за коммерческих ограничений. API, описанное во множестве импортных блогов отказывалось нормально работать, поэтому на вооружение было взято расширение firebug всеми любимого браузера. В результате получилась небольшая подборка полезных для работы с ридером URLов, которыми хочу поделиться с общественностью.

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

Для реализации взаимодействия клиентского ajax-интерфейса с google.com/reader/ будем использовать посредника на php+curl.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments10

Десять маленьких программ, без которых неуютно жить

Reading time5 min
Views8.3K
Заменяем диспетчер задач
Управляем автозагрузкой и следим за состоянием системы
Устанавливаем переключение раскладки
Создаем виртуальные рабочие столы
Сохраняем все заметки в одно место, не задумываясь ни о чем, кроме текста
Ускоряем навигацию по винчестеру
Ставим плагины к проводнику Windows и радуемся
Легко и быстро удаляем папки-файлы «занятые другими процессами»
Копируем и перемещаем быстрее и качественнее
Перестаем парится с кодировками, заменив блокнот

и как мы это сделаем?
Total votes 180: ↑139 and ↓41+98
Comments306

Как замутить стартап: пособие вебдванолера (часть 1).

Reading time6 min
Views1K
Итак. Отбрасываем сомнения. Ставим перед собой портрет Брина в рамочке. Запасаемся "Дошираком" на полгода вперед и начинаем стартапить. На какую тему? Плевать — миллиарды баксов зовут нас вперед. Тем, кто готов, но к чему — не знает, посвящено это пособие.
Читать дальше →
Total votes 54: ↑45 and ↓9+36
Comments57

Версионирование структуры БД в MySQL: MySQL Migration with PHP

Reading time3 min
Views13K
Когда БД проекта вырастает за пределы трех-пяти таблиц, продолжая при этом постоянно изменяться, на свет рождаются неудобства обмена изменениями между разработчиками. Проблема стара как мир, но инструмента удовлетворяющего мои требования я в ноябре 2009го найти не сумел.

Мои требования к инструменту очень просты:
  • Как бы я не издевался над структурой данных в приложении, инструмент должен уметь изменить структуру в другой инсталляции приложения так, чтобы она была идентична моей.
  • System requirements: PHP и MySQL — не более того.
  • Бесплатность.
  • Открытость.


Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments51

Архитектура ExtJS приложений: подход со стороны Zend Framework

Reading time8 min
Views3.7K
В дополнение статей oddy про архитектуру RIA-приложений на основе ExtJS хочу предложить свой, альтернативный подход к данной проблеме. Он состоит в использовании ZendFramework-подобного каркаса xFrame, написанного на JavaScript. Под катом — описание ключевых элементов системы, ссылки на демо приложение и исходный код.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments12

Как FriendFeed использует MySQL для хранения данных без схемы

Reading time7 min
Views3.2K

Условия


Мы используем MySQL для хранения любых данных FriendFeed. Наша база данных растёт вместе с числом пользователей. Сейчас у нас более 250 миллионов записей, это записи пользователей (post'ы), комментарии, оценки («likes»)

По мере того как росла база данных, мы время от времени имели дело с проблемами масштабируемости. Мы решали проблемы стандартными путями: slave-сервера, используемые только для чтения, memcache для увеличения пропускной способности чтения и секционирование для увеличения пропускной способности записи. Однако, по мере роста, использованные методы масштабируемости привели к затруднению добавлению новой функциональности.

В частности, изменение схемы базы данных или добавление индексов к существующим 10-20 миллионов записей приводили к полной блокировке сервера на несколько часов. Удаление старых индексов требовало времени, а не удаление ударяло по производительности, так как база данных продолжала использовать их на каждом INSERT. Существуют сложные процедуры с помощью которых можно обойти эти проблемы (например создание нового индекса на slave-сервере, и последующий обмен местами master'a и slave), однако эти процедуры настолько тяжелые и опасные, что они окончательно лишили нас желания добавлять что-то новое, требующее изменение схемы или индекса. А так как наши базы сильно распределены, реляционные вещи MySQL как например JOIN никогда не работали для нас. Тогда мы решили поискать решение проблем, лежащее вне реляционных баз данных.

Существует множество проектов, призванных решить проблему хранения данных с гибкой схемой и построением индексов на лету (например CouchDB). Однако, по-видимому ни один из них не используется крупными сайтами. В тестах о которых мы читали и прогоняли сами, ни один из проектов не показал себя стабильным, достаточно зрелым для наших целей (см. this somewhat outdated article on CouchDB, например). А все это время MySQL работал. Он не портил данные. Репликация работала. Мы уже в достаточной мере понимали все его узкие места. Нам нравился MySQL именно как хранилище, вне реляционных шаблонов.

Все взвесив, мы решили создать систему хранения данных без схемы поверх MySQL, вместо использования полностью нового решения. В этой статье я попытаюсь описать основные детали системы. Так же нам любопытно как другие сайты решили эти проблемы. Ну и мы думаем, что наша работа будет полезна другим разработчикам.
Читать дальше →
Total votes 116: ↑110 and ↓6+104
Comments60

Увеличиваем скорость загрузки сайта используя lazy-load изображений

Reading time1 min
Views70K
Сейчас многие сайты насыщены графикой в разных видах: аватары, иллюстрации к постам, галереи и тп.

Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.

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

Читать дальше →
Total votes 68: ↑62 and ↓6+56
Comments75

Оптимизация JSON датасетов (массивов записей)

Reading time11 min
Views9.1K
Под датасетом будем понимать массив записей JavaScript:

var dataset = [
  { foo: 'xxx', bar: xxx' },
  { foo: 'yyy', bar: 'yyy' },
  ...
  { foo: 'zzz', bar: 'zzz' }
];


Это обычное JavaScript представление некоторой части таблицы (или выборки) из реляционной базы данных: имена свойств соответствуют именам столбцов, значения свойств — значениям полей записи.

Читать дальше →
Total votes 46: ↑27 and ↓19+8
Comments34

Фокус с HeadScript (сборка в один файл)

Reading time8 min
Views3.2K
Если сделать так:
<?php $this->headScript()->appendFile('/js/my1.js');?>
<?php $this->headScript()->appendFile('/js/my2.js');?>
<?php $this->headScript()->captureStart() ?>
  var action = '<?php echo $this->baseUrl ?>';
<?php $this->headScript()->captureEnd() ?>

<?php echo $this->headScript(); ?>
<?php echo $this->magicHeadScript(); ?>


то вместо чего-то типа такого:
<script type="text/javascript" src="/js/my1.js"></script>
<script type="text/javascript" src="/js/my2.js"></script>
<script type="text/javascript">
  var action = '/123';
</script>

получим на выходе:
<script type="text/javascript" src="/cache/js/1b1004a203..._compressed.js"></script>

Читать дальше →
Total votes 74: ↑60 and ↓14+46
Comments129

Information

Rating
Does not participate
Location
Redwood City, California, США
Date of birth
Registered
Activity