23 Января 2007

Долгожданный релиз Wordpress 2.1

Время: 16:57, Автор: Q-Zma, Рубрики: WordPress

Вот и вышел долгожданный релиз Wordpress 2.1.

Новые пользовательские фичи:

  • автосохранение;
  • переключение между WYSIWYG редактором и редактором кода в виде закладок;
  • XML импорт/экспорт данных;
  • полностью переделанный WYSIWYG редактор, теперь с проверкой орфографии;
  • новая опция для настройки доступа к блогу поисковых систем (интересно, кому на фиг нужно, чтобы его блог не светился в поисковиках?? :));
  • теперь любую страницу можно установить стартовой для блога в целом;
  • капитально оптимизированы SQL запросы (в процессе оптимизации принимал участие разработчик из MySQL);
  • вложенные категории сылок, возможность добавлять их на лету;
  • редизайн страницы входа в управление блогом;
  • всякие AJAX рюшечки: создание custom fields, модерация, удаления, всё оптимизировали, ускорили;
  • страницы теперь могут быть сохранены как черновики или как приватные страницы (с доступом по паролю);
  • панель управления обновлена, загружается быстрее, некоторый редизайн;
  • стартовая страница панели управления теперь загружается сразу, а RSS подгружаются асинхронно;
  • ленты с комментариями теперь включают все комментарии, а не последние 10;
  • улучшена поддержка интернационализации, поддержка языков с письмом справа налево;
  • обновлён менеджер закачки файлов;
  • встроена новая версия антиспам плагина Akismet.

Новые фичи для разработчиков:

  • псевдо-cron функциональность, появилась возможность шедулить события;
  • улучшена система управления пользователями, теперь можно комфортабельно админить сотни и тысячи пользователей;
  • новый класс WP_Error;
  • загрузчик JavaScript;
  • новые хуки и API;

…и ещё куча всякой фигни, писать запарилса :). Так же версия содержит более 550 багфиксов, от так то.

Быстро всем качать и смотреть!

27 Декабря 2006

Офигительный подарок на новый год…

Время: 11:15, Автор: Q-Zma, Рубрики: Без рубрики

…сделал своим пользователям ADSL Укртелеком, увеличение скорости на приём в 8 раз и при этом цена почти в два раза ниже, я в экстазе, 512k это вам не хрен собачий! :)

20 Декабря 2006

Open source e-commerce

Время: 20:12, Автор: Q-Zma, Рубрики: Open source

Всем, кто слышал про "open source e-commerce", после знакомства с внутренним содержанием osCommerce, предлагаю заучить следующую мантру: "приложений с открытым исходным кодом для электронной коммерции не существует, приложений с открытым исходным кодом для электронной коммерции не существует, приложений с открытым исходным кодом для электронной коммерции не существует", рекомендуется зачитывать её не останавливаясь в процессе написания своего электронного магазина :).

Зоомагазин на Солнечной в “Идиотеке”

Время: 12:27, Автор: Q-Zma, Рубрики: Без рубрики

Несколько месяцев назад я отправил фотографию витрины зоомагазина на Солнечной в рубрику "Идиотека" сайта студии Артемия Лебедева. Её всё не публиковали и не публиковали, я уж было подумал, что не такая уж она и идиотская, однако, сегодня Димас мне пишет мол респект, чувак, и присылает ссылку. Получается, что не такая уж она и не идиотская, эта витрина :). Похоже на то, что либо поток присылаемых читателями материалов очень велик, либо на данный момент более идиотского примера человеческого маразма не было :). Факт публикации вселил в меня надежду, что в рубрике "Бизнес-линч", возможно, когда-нибудь, пофачат мой микро набор иконок для блога, который я тоже довольно давно отправлял. Ждём-с.

15 Декабря 2006

Загадочная семейка

Время: 21:39, Автор: Q-Zma, Рубрики: Сны

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

И только я собрался оторвать самую большую гроздь, как дверь балкона открылась (там не было окна и дверь была без стекла, полноценная такая дверь) и вышли какие-то мужики покурить. С одним из них мы разговорились, а второй куда-то быстро испарился. Вдруг дверь вновь открылась и выглянула чёрная красивая лошадь :), это меня довольно сильно удивило, я стал расспрашивать мужика, оказалось, что лошадь живёт у него дома, увидев мой неподдельный интерес и он пригласил меня в гости.

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

Так и проторчал я в этой безумной квартирке целый день, играл с детьми, с лошадью, смотрел телевизор, в конце лёг вздремнуть и проспал вечерний поезд на котором должен был куда-то ехать…

Те же яйца только в профиль…

Время: 07:24, Автор: Q-Zma, Рубрики: HTML/CSS

Один мой заказчик попросил погонять его сайт под IE7, скачал я его значить, поставил на вторую тачку, чтобы не засорять и так подыхающий от обилия браузёров мой бедненький тормозящий бук и что же я обнаружил? А обнаружил я следующее: как было это кучей говна так и осталось, только сверху на неё дезодорантом сильно побрызгали, чтобы не воняло так сильно. Похоже что ядро небыло переписано с ноля, а было просто обработано напильником, кое что пофиксили, кое-что добавили, но чуда не произошло :-).

11 Декабря 2006

Вглубинку

Время: 17:20, Автор: Q-Zma, Рубрики: Без рубрики

Всё чаще и чаще меня посещает мысль о целесообразности проживания в большом городе, может того, переехать за город? :)

24 Ноября 2006

CSS3 селекторы :first-child и :last-child

Время: 02:57, Автор: Q-Zma, Рубрики: HTML/CSS

Пролог

Всем, кто более или менее имеет отношение к HTML- и XHTML-вёрстке, наверняка известно, что такое CSS-селекторы. В процессе выполнения некоторых задач я столкнулся, как и все, кто относит себя к указанной выше группе, с проблемами совместимости. Пенять на производителей браузеров в случае с селекторами :first-child и :last-child, очевидно, смысла нет, поскольку эти селекторы из стандарта третьей версии, который на данный момент имеет статус чернового варианта. Однако, мы всё же можем использовать их в повседневной деятельности, но потребуются кое-какие финты ушами.

Пример использования

Чаще всего я использую эти селекторы для отображения горизонтальных меню с разделителями с помощью списков, для того, чтобы полностью отделить описание структуры от стиля отображения:

 

css3-selectors-illustration-01.gif

Факты

  • Единственный браузер, который более или менее нормально поддерживает оба этих селектора — Mozilla Firefox (однако и в этом прекрасном, мною горячо любимом и активно используемом, браузере есть некоторые бока);
  • В браузерах Opera с 7 по 9 версий картина немного отличается от огненного лиса, :first-child реализован намного «прямее» чем :last-child (что, кстати, довольно странно, какая нахрен разница, казалось бы, селекторы-антонимы, механизм для выяснения является ли элемент первым потомком или последним практически один и тот же).
  • Про всем известный и самый распространённый браузер я скромно промолчу, матом ругаться не хочется :-) (подробности об этом ниже).

Mozilla Firefox

Ошибки в реализации
  • Неправильная интерпретация селекторов при условии наличия анонимного бокса непосредственно перед первым либо после последнего дочернего элемента.
  • Если перед первым дочерним элементом либо после последнего элемента с помощью JavaScript был добавлен ещё один элемент, то браузер так же неправильно определяет первый и последний дочерние элементы.

Opera

Ошибки в реализации
  • С селектором :first-child картина аналогичная браузеру Mozilla Firefox.
  • Селектор же :last-child реализован через, ивините уж за просторечие, жопу. Чтобы добиться универсальности лучше всего использовать по максимуму возможности селектора :first-child.

Internet Explorer

Ошибки в реализации
  • Реализация полностью отсуствует однако ошибки есть, но не в реализации, а в генетическом коде разработчиков этого чудовища ;-).

Универсальное горизонтальное меню с разделителями

Данный пример не претендует на полную универсальность, однако функциональность его была проверена в браузерах Mozilla Firefox 1.0.8, 1.5.0.8, 2.0, Opera 7.54, 8.52, 9.02, Internet Explorer 5.5, 6.

 

XHTML код (файл test.html)

В виду того, что CSS код для «нормальных» браузеров и для Internet Explorer радикально отличаются, а также по причине того, что CSS код для Internet Explorer не является валидным, рекомендуется использовать альтернативный CSS файл, подключаемый после CSS файла для «нормальных» браузеров с помощью conditional comments.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta
            http-equiv="Content-Type"
            content="text/html; charset=utf-8"
        />
        <title>Untitled Document</title>
        <link
            href="test.css"
            rel="stylesheet"
            type="text/css"
        />
        <!--[if IE]>
            <link
                href="test-ie.css"
                rel="stylesheet"
                type="text/css"
            />
        <![endif]-->
    </head>
    <body>
        <ul class="nav">
            <li>
                <a href="javascript:void(0)">First item</a>
            </li>
            <li>
                <a href="javascript:void(0)">Second item</a>
            </li>
            <li>
                <a href="javascript:void(0)">Third item</a>
            </li>
        </ul>
    </body>
</html>

 

CSS код для «нормальных» браузеров (файл test.css)
.nav
{
    list-style:none;
    display:block;
    /*
        свойство overflow имеет такое значение
        для того, чтобы элемент UL вмещал в себя
        поплавки и автоматически увеличивал свои
        размеры, это не влияет на IE
    */
    overflow:hidden;
    border:1px solid blue;
    width:500px;
    margin:0;
    padding:0;
}
.nav li
{
    float:left;
    padding:0 10px;
    border-left:1px solid blue;
    margin:10px 0;
}
.nav li:first-child
{
    border:none;
}

 

CSS костыли для Internet Explorer (файл test-ie.css)
.nav
{
    /*
        этот финт ушами выполняет ту же функцию, что и
        overflow: hidden; в CSS файле для нормальных
        браузеров, по сути это эмуляция CSS селектора
        :after, в конец списка добавляется невидимый
        элемент высотой в один пиксель, благодаря чему
        элемент UL вмещает в себя поплавки и обрамляет их
    */
    behavior:expression
    (
        !this.after
        ?
        this.after = this.innerHTML =
            this.innerHTML + '<li class="cleaner">.</li>'
        :
        ''
    );
}
.nav li
{
    /*
        а вот этот финт, кстати, является как раз эмуляцией
        селектора :first-child
    */
    border-left:expression
    (
        (this == this.parentNode.firstChild)
        ?
        ('none')
        :
        ('1px solid blue')
    );
    /*
        уменьшаем нижний внешний отступ элементов списка
        на один пиксель, поскольку мы добавили невидимый
        элемент с такой высотой
    */
    margin-bottom:9px;
}
/*
    это стиль невидимого элемента, который
    мы добавили к списку (см. выше)
*/
.nav li.cleaner
{
    clear:left;
    height:1px;
    line-height:1px;
    font-size:1px;
    overflow:hidden;
    visibility:hidden;
    margin:0;
    padding:0;
}

Эпилог

Вот, собственно, и всё, что я хотел рассказать по этому поводу. Надеюсь кому-то это поможет, ибо я, честно говоря, перед тем как всё это узнать потратил немало времени на изучение мегабайтов блогов и разнообразных доков, естественно, данная микростатья не освещает и одного процента того, что я узнал, копаясь в пучинах интернета. Отдельное спасибо хочется сказать Владимиру Токмакову и тебе, уважаемый читатель, если ты, конечно, дочитал до конца ;-).

Update (26.04.2007)

Как оказалось, я немного лажанулся, селектор :first-child присутствует во второй версии стандарта CSS, а :last-child только в третьей, и сразу становится понятно, почему первый реализован в опере прямее :-).

22 Ноября 2006

Невероятное совпадение

Время: 08:24, Автор: Q-Zma, Рубрики: Без рубрики

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

К моему удивлению, я обнаружил, что у "афтара" сегодня день рождения. 22 ноября, 44 года.

Всех благ вам, Виктор! Не зря вы приходили ко мне во сне пару лет назад :-).

21 Ноября 2006

Умри, о ctrl+c/ctrl+v-ющий текст куда ни попадя, умри же!

Время: 02:35, Автор: Q-Zma, Рубрики: Без рубрики

Разговор зашёл о песне, хорошей старой доброй песне, старого доброго индейца Фёдора Чистякова…

И надо же, нашёлся среди участников разговора тот, кто о такой песенке не слыхивал…

Добрая душа просветила серость, вставив полные слова песни c оптимистичным названием «Говнорок» с офсайта в пост и поплатилась: неделя бана за матершину, вот так-то…