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

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

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

Адаптивный и мобильный дизайн с CSS3 Media Queries

Время на прочтение7 мин
Количество просмотров587K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →
Всего голосов 91: ↑90 и ↓1+89
Комментарии32

Silex — микрофреймворк от создателей Symfony2

Время на прочтение4 мин
Количество просмотров61K
Почти год назад я опубликовал статью о микрофреймворке под названием 'fat-free', написанном на PHP. Тогда этот фреймворк и сама статья вызвали некоторый интерес, поэтому я решил сделать обзор еще одного PHP микрофреймворка в стиле популярного Sinatra — Silex project.
image
Созданный в известной в РНР кругах Sensio Labs, не менее известным Fabien Potencier — автором одного из самых популярных на сегодня PHP фреймворков — Symfony, Silex является облегченной версией ожидаемого армией фанатов (к которым осмелюсь отнести и себя) Symfony2.

Для своей работы Silex использует ключевые компоненты Symfony2 в связке с несложной реализацией шаблона проектирования “Внедрение зависимостей” в виде сервис-контейнера Pimple, который позволяет максимально просто отделить логические части кода друг от друга — сделать их независимыми.

Как и у Symfony2 — у Silex интуитивно понятный API, что делает процесс разработки достаточно приятным и позволяет практически в несколько шагов добавлять свой функционал в сам фреймворк.
Читать дальше →
Всего голосов 92: ↑87 и ↓5+82
Комментарии72

Обзор свежих материалов, март 2011

Время на прочтение7 мин
Количество просмотров1.1K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-февраль 2011.



Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии8

Организуем релевантный поиск по разнородным данным с помощью Sphinx

Время на прочтение10 мин
Количество просмотров21K
В одном из текущих проектов возникла задача поиска по данным разного типа, которая была успешно решена с помощью зарекомендовавшей себя поисковой машины Sphinx, но обо всем по порядку. 

Постановка задачи


В проекте есть на данный момент 2 зоны:
  1. географическая зона, реализованная на базе Google Maps, которая отображает нанесенные пользователями на карту географические объекты (маркеры, маршруты и области);
  2. информационная зона, которая представляет собой большой иерархически организованный каталог, содержащий информационные материалы.
Необходимо было решить задачу одновременного текстового поиска по 3-м типам объектов: географическим объектам, категориям информационной зоны и материалам информационной зоны — c возможностью фильтрации по дате публикации объектов и категориям, к которым они относятся.
Решаем задачу
Всего голосов 44: ↑44 и ↓0+44
Комментарии41

Применение алгоритмов нечеткого поиска в PHP

Время на прочтение7 мин
Количество просмотров30K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →
Всего голосов 59: ↑56 и ↓3+53
Комментарии22

Highload на дешевом хостинге: хэш-таблица в MySQL

Время на прочтение3 мин
Количество просмотров21K
Высоконагруженный проект (web-сайт) — не обязательно популярная социальная сеть, видеохостинг или MMORPG. Простейший способ резко повысить требования сайта к железу — перенести хранение сессий в БД. В этой статье мы рассмотрим способ хранить данные в БД, и при этом не жертвовать производительностью. Пожертвовав небольшим объемом ОЗУ можно прилично сэкономить процессорное время. Мы говорим о стиуации, когда недоступны memcached и другие специальные средства кэширования.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+44
Комментарии70

Основы репликации в MySQL

Время на прочтение10 мин
Количество просмотров328K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии44

Авторизация через ВКонтакте

Время на прочтение2 мин
Количество просмотров62K
Сколько процентов пользователей вашего сайта являются также пользователями ВКонтакте? Как по вашему, сколько человек ничего не пишут / комментируют / добавляют (нужное подчеркнуть), лишь потому, что им лень регистрироваться на еще одном непонятном сайте в 100й раз? Предлагаю ответить для себя на эти 2 вопроса, прежде, чем ругать ВКонтакте и Open API.

В моем случае на сайт из ВКонтакте каждый день приходят около 1500 человек и обеспечить им простой и удобный способ регистрации, как мне кажется, является моим долгом.

Вряд ли я открою что то новое, но если, хотя бы еще 1 сайт станет немного удобнее после этой статьи — значит я не зря потратил свое время на написание этого текста.
Читать дальше →
Всего голосов 145: ↑100 и ↓45+55
Комментарии79

Авторизация через новый API сайта Вконтакте.ру

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

Облегчало реализацию два факта: первый заключается в том, что Open API мне очень напоминал Facebook Connect, с которым я уже работал. Второй факт был ещё весомей — у меня уже есть библиотека в которой каждый вариант авторизации (OpenID, OAuth, FacebookConnect) являются отдельными бэкендами и написать дополнительный, тем более так похожий на FC не выглядело сложным заданием. В итоге, можно сказать что по факту это действительно оказалось плёвым делом.

Итак, что же нужно для авторизации по Вконтакте.ру?
Читать дальше →
Всего голосов 84: ↑58 и ↓26+32
Комментарии62

Секреты успешной системы образования

Время на прочтение8 мин
Количество просмотров5K
Честно говоря, даже не думал подключаться к «дням образования на Хабре», но так уж вышло — наткнулся на свежевышедшую статью Бёрда Киви «Даёшь молодёжь!». Статья о том, какие действия в Штатах и в Великобритании государственные мужи предпринимают для роста интереса среди подростков к компьютерным технологиям. Проблема в том, что становиться специалистами как-то вот немногие рвутся, а кому-то работать в DARPA и тому подобных конторах завтра нужно. В конце приводится ссылка на статью из Wall Street Journal «What Makes Finnish Kids So Smart?», в которой описываются реалии финских школ. Как замечает уважаемый Бёрд, в Финляндии англо-американских проблем вроде бы не видно.

Вот именно статью из WSJ я и хочу предложить вашему вниманию. Как человек с семилетним опытом жизни в Финляндии (к сожалению, на неопределённый срок прерванным), я неплохо знаком с тамошними особенностями. Отчасти мой перевод является данью уважения организации финского общества, но основная цель — показать хорошую постановку образовательного процесса на понятном примере. Надо сказать, статья рисует совершенно пасторальную картинку, так что не забывайте — автор всё-таки не я, а некая Ellen Gamerman, и все претензии к ней :)

Речь в статье идёт о школе. Я думаю, это даже поважнее университета. Существует же преемственность: хороший школьник -> хороший студент. Все выделения жирным шрифтом мои, [комментарии в квадратных скобках] тоже. Статья достаточно длинная, так что я позволю себе не очень существенные сокращения текста.
Читать дальше →
Всего голосов 71: ↑54 и ↓17+37
Комментарии74

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

Время на прочтение3 мин
Количество просмотров2.3K
Недавно появилась необходимость запретить вход кому попало на FTP сервер, то есть заблокировать вход под anonymous. Но содержать отдельную базу с FTP пользователями неудобно, а более того неэффективно. Думал-думал, и решил авторизировать пользователей по учетной записи форума, в моем случае SMF. Пользователи хранятся в MySQL таблице smf_members, имя пользователя в memberName, а пароль в passwd. У ProFTPD есть хорошо документированная возможность получать учетные данные с PostgreSQL / MySQL. Но вот беда, у форума пароли хранятся в хеше SHA1, да и в начало пароля добавляется имя пользователя в нижнем регистре. А ProFTPD ожидает, что ему из SQL-запроса к базе вернется пароль в форматах MySQL PASSWORD(), Crypt, либо Plaintext. Само собой, никакого SHA1 там нет, не говоря уже о том, что к паролю еще добавляется имя пользователя. Гуглил день, другой, все жалуются на подобное, а готового решения никто не предлагает.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии30

Web-интерфейс для runit

Время на прочтение1 мин
Количество просмотров7.3K
Вы уже используете runit на своих серверах? Теперь у Вас есть возможность наблюдать за состоянием сервисов и управлять ими через минималистичный Web-интерфейс.
Скриншот

Для работы этой утилиты Вам нужно поставить ruby и rubygems, и затем выполнить
gem install runit-man thin
Читать дальше
Всего голосов 8: ↑6 и ↓2+4
Комментарии7

10 лучших вебсайтов по обучению Photoshop

Время на прочтение1 мин
Количество просмотров56K
Вместо того, чтобы тратить впустую время, обыскивая сеть, в поисках хороших уроков по Photoshop, придерживайтесь этого списка.

PS Heroперейти


PSD tutsперейти


Tutorial 9перейти

Читать дальше →
Всего голосов 83: ↑73 и ↓10+63
Комментарии61

Установка memcached под Windows за 5 минут (php5)

Время на прочтение1 мин
Количество просмотров39K
Многие разработчики используют Memcached, систему кэширования различных объектов в оперативной памяти. Устанавливается она очень просто
Читать дальше →
Всего голосов 53: ↑42 и ↓11+31
Комментарии44

Анимированое сравнение алгоритмов сортировки

Время на прочтение1 мин
Количество просмотров9.8K
На днях наткнулся на интересную страничку, позволяющую наглядно оценить различные алгоритмы сортировки на разных наборах данных.

(картинка Кликабельна)
Небольшое описание под катом...
Всего голосов 95: ↑90 и ↓5+85
Комментарии25

Лента тегов

Время на прочтение1 мин
Количество просмотров668
Идея такая — пользователь перечисляет теги, которые ему интересны. Если среди тегов топика есть хотя бы один из указанных, то такой топик попадает в специальную ленту — «ленту тегов». Таким образом можно будет выделять из хабрапотока именно то, что интересует пользоватля.
Всего голосов 32: ↑30 и ↓2+28
Комментарии17
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность