Author Archives: bullgare
Open Mail Format (OMF)
Open Mail Format (OMF) — это открытый стандарт разметки почтовых уведомлений. OMF позволяет вам улучшить представление ваших писем в интерфейсе почты Mail.Ru, повышая их эффективность и конверсию. http://api.mail.ru/mail/omf/ спецификация формата
MySQL: что быстрее, многоколоночный индекс или пересечение индексов (index merge)
Вкратце: если в условии WHERE разные столбцы соединяются условием OR, то лучше иметь отдельные индексы по этим полям, во всех остальных случаях нужно использовать многоколоночный индекс (данные по MySQL 5.2.4). Подробнее.
Ubuntu: Полезные команды Unity
Ubuntu 11.04 предлагает прекрасную возможность выучить новые и интересные команды для забивания шурупов молотком. Проверить возможность запуска (это просят делать на launchpad.net, если глючит железо): /usr/lib/nux/unity_support_test -p Что-то пошло не так… Удалить настройки unity из ccsm (CompizConfig Settings Manage): unity —reset Эта команда помогла, когда я включил KDE/Qt event loop, получив перезагружающийся каждые две секунды …
«Человеческий фактор» (peopleware), Демарко и Листер
Основные мысли: Под давлением люди работают не лучше, а всего лишь быстрее. Нельзя постоянно давать людям перерабатывать, от этого снижается мотивация и происходит текучка. Люди работают «в потоке», и надо давать людям возможность сосредоточиться на работе, и не отвлекать их слишком часто. Надо давать людям думать на работе, не надо пихать всех в один опен-спэйс, если …
Что почитать, чтобы повысить свой уровень JavaScript
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в …
Горячие клавиши в Compiz (Ubuntu 10.10)
Рабочие области Ctrl + Alt + Left/Right/Up/Down arrow — перейти к рабочей области Ctrl + Alt + Shift + Left/Right arrow — перенести текущее окно в рабочую область Super + E — показать все рабочие области Управление окнами Super + W — показать все окна в рабочей области (левая кнопка мыши — выбрать окно, средняя …
Регулярные выражения — особенности
Как работает регулярное выражение (regexp): сначала оно пытается найти максимально возможное совпадение для текущей группы символов, затем посимвольно откатываясь к началу совпавшей подстроки (backtracking), в попытке найти совпадение для последующей группы символов регулярного выражения. Это верно для «жадных» (greedy) типов групп (по умолчанию, к примеру [\w]*). Если группа «ленивая» (lazy), то откатывание производится от начала …
jQuery templates (расширение jQuery, шаблонизатор)
Всё достаточно просто.
| 
					 1 2 3 4 5 6  | 
						  $.getJSON( me.options.urlMoreResults )     .success( function( Answer )       {         $( '#my-tmpl' ).tmpl( Answer );       }     );  | 
					
Шаблон:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						  <script id="my-tmpl" type="text/x-jquery-tmpl">       <div>         {{if songs}}           <ul class="song-list">             {{each songs}}               <li>                 <a class="play js-play" href="javascript:void(0);" data-song="${$value.id}"></a>               </li>             {{/each}}           </ul>         {{/if}}         {{if description}}           <div class="description">             <a href="${url}/about" target="_blank">               ${description}             </a>           </div>         {{/if}}       </div>   </script>  | 
					
http://api.jquery.com/category/plugins/templates/ http://habrahabr.ru/blogs/jquery/112843/ http://habrahabr.ru/blogs/jquery/113672/
Новое в PHP 5.4 — трейты (traits)
Вкратце: трейт (аналог mixin в Ruby) — возможность в классе использовать функционал нескольких классов в обход традиционного наследования (по-моему, костыль, чтобы не реализовывать множественное наследование). Всё сводится к новой инструкции use внутри класса, при этом класс, функциональность которого нужно подмешивать. объявляется инструкцией trait.
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  | 
						trait Singleton {     public static function getInstance() { ... } } class A {     use Singleton;     // ... } class B extends ArrayObject {     use Singleton;     // ... } // Singleton method is now available for both classes A::getInstance(); B::getInstance();  | 
					
Подробнее: New to PHP 5.4: Traits
Паттерны проектирования на PHP
http://css.dzone.com/books/practical-php-patterns