Здесь приведен ряд очень простых правил, следуя которым, ваше сотрудничество с jQuery не будет омрачено скрежетом напрягшегося браузера. Конечно, не так часто случается, что скорость работы javascript’а оказывается критичной, однако такое все же может произойти, и произойти в самый неподходящий момент. Поэтому, лучше держать эти правила в голове и не пренебрегать ими.
Александр Фанамуров @Fanamuraread-only
Web-разработчик
Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL
6 min
206KВ одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
+93
6 способов убить Ваши сервера — познаем масштабируемость трудным путем
5 min
18KTranslation
Узнать, как отмасштабировать Ваше приложение, не имея при этом никакого опыта, — это очень нелегко. Сейчас есть много сайтов, посвященных этим вопросам, но, к сожалению, не существует решения, которое подходит для всех случаев. Вам по-прежнему необходимо самому находить решения, которые подойдут под Ваши требования. Так же, как и мне.
Несколько лет назад ко мне пришел мой босс и сказал: «У нас есть новый проект для тебя. Это перенос сайта, который уже имеет 1 миллион посетителей в месяц. Тебенеобходимо его перенести и убедиться, что посещаемость может вырасти в будущем без всяких проблем.» Я уже был опытным программистом, но не имел никакого опыта в области масштабируемости. И мне пришлось познавать масштабируемость трудным путем.
Несколько лет назад ко мне пришел мой босс и сказал: «У нас есть новый проект для тебя. Это перенос сайта, который уже имеет 1 миллион посетителей в месяц. Тебенеобходимо его перенести и убедиться, что посещаемость может вырасти в будущем без всяких проблем.» Я уже был опытным программистом, но не имел никакого опыта в области масштабируемости. И мне пришлось познавать масштабируемость трудным путем.
+138
Генерирование изображений-заглушек
3 min
59KСегодня мне кинули ссылку на прикольный сервис для быстрого генерирования изображений-заглушек. Может пригодиться для html-верстки. На мой взгляд, это удобно тем, кто и так использует заглушки — экономит время при вёрстке, т.к. сами заглушки уже готовы. Можно цвета/размеры подбирать, меняя только числа/буквы в коде, не отвлекаясь на сам файл картинки — и сразу видеть эффект. И сами размеры видеть написанными, если нужно, чтоб к коду не возвращаться для проверки. Или вместо размеров можно текст добавить, чтоб всегда знать, для чего эта заглушка (типа «Бан(н)ер» или там «Лого», или «Фотография»).
На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:

Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).
Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
<img src="http://placehold.it/350x50" />и получаете:

Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).
Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
+264
импорт товаров с картинками в Ubercart
3 min
4.5KUbercart — это программный модуль с открытым исходным кодом, полностью интегрирующий Интернет-магазин с CMS Drupal. Ubercart считается одним из лучших в мире решений для электронной коммерции.
Как правило много вопросов вызывает массовый импорт товаров с картинками.
В моем случае был excel файл со списком товаров и их атрибутами (наименование, описание, цены, авторы, ссылки на картинки и т.п.).
Excel файл в чистом виде довольно таки трудно скормить для импорта, поэтому я сохранил его в виде *.csv файла.
Я щас опишу что дальше с ним делать:)
Как правило много вопросов вызывает массовый импорт товаров с картинками.
В моем случае был excel файл со списком товаров и их атрибутами (наименование, описание, цены, авторы, ссылки на картинки и т.п.).
Excel файл в чистом виде довольно таки трудно скормить для импорта, поэтому я сохранил его в виде *.csv файла.
Я щас опишу что дальше с ним делать:)
+3
Загрузка файлов через Form API
5 min
10K
Т.к. этот процесс у меня получился не сразу, то я решил описать его, авось кому пригодится и поможет.
Чтобы было интереснее, опишу на создании модуля для random'ного отображения картинок.
Задача
Задачей является именно реализация возможности закачивать файлы в Drupal через Form API. А описанный ниже пример, является лишь примером этой реализации.+25
Вувузела фильтр
2 min
3.4KВ этом посте хочу рассказать, о том, как справиться с «роем мух», как его называет aguares, в трансляциях с Чемпионата Мира по футболу 2010. Звук этот появляется из противных южноафриканских дудок — название которым — Вувузелы.
Постановка инженерной задачи следующая:
Отфильтровать частоты звучания Вувузел в реальном времени из аудио потока онлайн трансляции, не применяя записи сигнала на жесткий диск.
Данная проблема разбивается на следующие подзадачи:
1) Считать поток аудио до вывода его на колонки
2) Произвести подавление основных частот вувузел
3) Подать обработанный звук на аудио выход
+ все это в режиме реального времени.
Из методов цифровой обработки аудио сигналов, доступных для Windows 7, мною была выбрана концепция VST.
Постановка инженерной задачи следующая:
Отфильтровать частоты звучания Вувузел в реальном времени из аудио потока онлайн трансляции, не применяя записи сигнала на жесткий диск.
Данная проблема разбивается на следующие подзадачи:
1) Считать поток аудио до вывода его на колонки
2) Произвести подавление основных частот вувузел
3) Подать обработанный звук на аудио выход
+ все это в режиме реального времени.
Из методов цифровой обработки аудио сигналов, доступных для Windows 7, мною была выбрана концепция VST.
+107
css opacity и select-ы
2 min
14KСовсем недавно натолкнулся на один занимательный CSS баг/фичу, решил поделиться, возможно кому пригодится.
Нужно было на сайте создать выбор городов из списка, стандартный список не подошел по эстетическим соображениям, результат должен был выглядить как «ссылка» при клике на которой выпадает список доступных городов, задача банальна, но тут случайно наткнулся на занимательное поведение браузеров, причем как оказалось у всех одинаковое.
Нужно было на сайте создать выбор городов из списка, стандартный список не подошел по эстетическим соображениям, результат должен был выглядить как «ссылка» при клике на которой выпадает список доступных городов, задача банальна, но тут случайно наткнулся на занимательное поведение браузеров, причем как оказалось у всех одинаковое.
+60
Joomla 1.6 — Бета версия
2 min
1.4K
Вчера, 17 мая вышла первая бета версия Joomla 1.6
Демо Joomla 1.6 бета
Вторая бета запланирована на 31 мая.
Возможности Joomla 1.6:
Новая система разграничения доступа пользователей (New Access Control System) — позволяет администраторам назначать кто может иметь доступ к просмотру и созданию, редактированию статей.
Неограниченная глубина организационной модели (Unlimited Depth Organizational Model) — неограниченная вложенность категорий, закрепление за пользователем определенных категорий.
Обновление расширений в один клик (One-Click Extension Updates) — позволяет пользователям обновлять расширения Joomla прямо из административной панели.
Семантический XHTML вывод контента (Semantic XHTML Layouts) — предоставляет лучшую основу для вывода контента (если честно не очень понял что это такое, но покопавшись в админке вроде понял что к каждой статье более удобно можно будет прикреплять модули и индивидуальные шаблоны сайта).
Более подробно о возможностях Joomla 1.6 можно прочесть в моей предыдущей статье на хабре о Joomla 1.6 Альфа.
Если вкратце- ничего революционно нового в 1.6 нет. Фактически это немного хакнутая под управление группами и с оптимизированным кодом, поменьше сервак будет грузить.
Специально для минусующих: да, я знаю что Joomla для разработчика это полный отстой. Joomla это топор! Из этого топора можно сварить приемлимый суп, только хорошо зная ингридиенты. Рассуждение об ингридиентах под катом.
+32
Обеспечение качества программного продукта
4 min
11KДисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
+103
Пара полезных плагинов к jQuery
2 min
1.1KНаписал пару плагинов по jQuery, чтобы немного облегчить себе верстку и кодинг.
Возможно, кому-то они окажутся полезными. Их код навеян постами, найденными на просторах Интернета, а затем, ввиду частой используемости, оформлен как плагины.
Первый — jquery.outlinefix.js. Используется для удаления раздражающих рамок с ссылок, являющихся якорями (например, <a href="#">ссылка</a>).
Проблема:

(у ссылок после клика остается рамка)
Возможно, кому-то они окажутся полезными. Их код навеян постами, найденными на просторах Интернета, а затем, ввиду частой используемости, оформлен как плагины.
Первый — jquery.outlinefix.js. Используется для удаления раздражающих рамок с ссылок, являющихся якорями (например, <a href="#">ссылка</a>).
Проблема:

(у ссылок после клика остается рамка)
+15
Drupal 6. Быстрая организация простого кеширования
2 min
1.7KПоискал на Хабре и не нашел ничего про использование такого модуля Drupal как cacherouter. Исправляю данное недоразумение, т.к. этот модуль позволяет значительно ускорить работу Drupal даже на таком требовательном хостинге как Majordomo (любит отключать весь аккаунт при превышении нагрузки).
Сам модуль ничего нового и кардинального не преподносит — только позволяет выносить таблицы кеша из БД в другие хранилища, как, например, файловая система, memcache, APC и пр.
Меня, конечно же, давно волнует вопрос, какого х… разработчики Drupal засунули кэш в БД, но рассказ не об этом.
Сам модуль ничего нового и кардинального не преподносит — только позволяет выносить таблицы кеша из БД в другие хранилища, как, например, файловая система, memcache, APC и пр.
Меня, конечно же, давно волнует вопрос, какого х… разработчики Drupal засунули кэш в БД, но рассказ не об этом.
+29
elFinder — файловый менеджер для сайта. Новый вкус
3 min
4.1KНекоторое время назад мы представляли уважаемой публике наши open source продукты для веб-разработчиков — редактор elRTE и файловый менеджер elFinder. После анонса мы получили немало отзывов и надо сказать были изрядно удивлены, что интерес к файловому менеджеру оказался заметно выше чем к редактору.
Мы почесали головы, свалили в одну кучу все безумные идеи о том, каким должен стать новый elFinder, просеяли их через сито основной концепции «минимально необходимый функционал», многократно пропустили через мясорубку кодинга, приправили новыми вкусными возможностями и долго томили в печи тестирования.
И сегодня с удовольствием от хорошо сделанной работы предлагаем попробовать наше фирменное блюдо elFinder!

Мы почесали головы, свалили в одну кучу все безумные идеи о том, каким должен стать новый elFinder, просеяли их через сито основной концепции «минимально необходимый функционал», многократно пропустили через мясорубку кодинга, приправили новыми вкусными возможностями и долго томили в печи тестирования.
И сегодня с удовольствием от хорошо сделанной работы предлагаем попробовать наше фирменное блюдо elFinder!

+128
Увеличиваем скорость загрузки сайта используя lazy-load изображений
1 min
71KСейчас многие сайты насыщены графикой в разных видах: аватары, иллюстрации к постам, галереи и тп.
Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.
Количество обращений к серверу можно легко уменьшить с помощью техники пост загрузки изображений, которые не попадают в область видимости(первый экран). Т.е изначально будут загружаться только те изображения которые пользователь способен увидеть, остальные будут загружаться по мере скролинга страницы.
Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.
Количество обращений к серверу можно легко уменьшить с помощью техники пост загрузки изображений, которые не попадают в область видимости(первый экран). Т.е изначально будут загружаться только те изображения которые пользователь способен увидеть, остальные будут загружаться по мере скролинга страницы.
+56
LinguaLeo.ru — освоение английского языка онлайн. Сделано в Таиланде!
2 min
5.1K
Сервис позволяет освоить английский язык через видео, аудио и тексты, созданные носителями языка. При этом используются удобные инструменты для освоения новых слов в контексте. Сервис создан для людей, которые хотят быстро развить восприятие на слух живой английской речи и увеличить словарный запас.
+134
Тонкости использования селекторов аттрибутов в CSS
4 min
35KTranslation
CSS может связываться с HTML элементами используя любые из его атрибутов. Вы наверняка знаете о классах и ID. Проверим это в HTML:
Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
<h2 id="first-title" class="magical" rel="friend">David Walsh</h2>
Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
h2[rel=friend] {
/* woohoo! */
}
+115
Фрилансерам на заметку
2 min
17KФрилансеры часто рекомендуют своим клиентам оплатить работу через терминалы.
Это удобно для клиентов далеко не всегда знающих, что такое электронные деньги, но пользующихся терминалами для оплаты повседневных услуг. Да и для оплаты нужно всего 2 шага:
Это удобно для клиентов далеко не всегда знающих, что такое электронные деньги, но пользующихся терминалами для оплаты повседневных услуг. Да и для оплаты нужно всего 2 шага:
- Записать номер кошелька, обычно, Яндекс.Деньги или Вебмани
- В терминале ввести номер кошелька и вставить оговоренную сумму в купюроприемник.
- Фрилансер не может определить, что работа оплачена, так как платежи приходят без комментариев (заказчику приходится дергать ТП, чтобы узнать номер транзакции). Это особенно актуально, если у фрилансера много заказчиков и платежей.
- В терминалах есть комиссия и фрилансер рискует получить на свой кошелек меньшую сумму, а клиенту приходится бежать к терминалу еще раз, чтобы доложить 10-50 рублей. Даже не смотря на наличие в некоторых терминалах калькулятора комиссий.
+15
Колоночная верстка
5 min
16KСуществует много способов по верстке колоночных макетов. Уже не один нос разбит в течении холиваров, разожженных по поводу использования тех или иных методов. Казалось бы, что все должно быть предельно ясно и понятно, но все-равно возникает много трудностей. Я хочу и свою лепту вложить во всеобщее благое дело, и потому потратил относительно немного времени на эксперименты, которые привели меня к созданию еще одного метода, в котором есть следующие плюсы и минусы:
Плюсы
- Есть прижимающийся к полу футер
- Колонки меню растягиваются по 100% высоте
- Колонок может быть сколько душе угодно
- Колонки могут быть как лево- так и правосторонними, а также совмещенными, например 2 справа и 1 слева
- Ширина как резиновая, так и фиксированная
- Критический минимум хаков
- Не используется Javascript
- Не используются бекграундовые изображения для создания эффекта колонки
- Никаких таблиц
- Одинаковый результат в ie5.5, ie6, ie7, ie8, ff3.5, o10, chrome4 (Если у вас не работает в каком-то браузере — отпишитесь, пожалуйста, в комментах. Исправим и приведем к универсальному виду)
Минусы
- Есть несколько «лишних» блоков. (Я бы и сам рад от них избавиться)
- Есть несколько абсолютно-позиционируемых блоков
+88
текст под произвольным углом без флеш и js
3 min
30KРанее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.
Теперь я хочу вам рассказать о том как сделать поставленную задачу без картинок, флеш и js, только средствами html и css. К тому же стало возможно сделать текст под произвольным углом. В конце статьи есть готовый пример.

Теперь я хочу вам рассказать о том как сделать поставленную задачу без картинок, флеш и js, только средствами html и css. К тому же стало возможно сделать текст под произвольным углом. В конце статьи есть готовый пример.

+159
Типовой шаблон технического задания на разработку сайта
2 min
450KОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.
Во многих студиях нет единого формата ТЗ, у нас его тоже не было. Просмотрев множество различных форматов и ГОСТов, мы выбрали самые значимые пункты и разработали типовой шаблон ТЗ для нашей компании.
Возможно, это будет полезно и другим студиям, т.к. если мы все будем работать по единым стандартам плюсы очевидны как для студий, так и для заказчиков.

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

+74
Information
- Rating
- Does not participate
- Location
- Хабаровск, Хабаровский край, Россия
- Date of birth
- Registered
- Activity