30 мар. 2009 г.

Линкотека: Автозагрузка ExtJS, min и max width в IE 6, покраска гитары своими руками и Python'ячи мудрости...

 

ExtJS Tips&Hacks: автоматическая загрузка библиотеки ExtJS по требованию.

"Изначально к странице добавляется стилевой файл из дистрибутива ExtJS. Из скриптов мы используем сборку библиотеки, использующую jQuery и специальный адаптер. Вот эти два файла мы объединим в один, сначала минифицированную версию jQuery, потом Ext-jquery-adapter. И этот скрипт загружается на страницу. Сжатая версия CSS от ExtJS занимает примерно 40 Кб (особенно, если и ее откорректировать под нужды проекта), а минифицированный скрипт, объединяющий необходимые библиотеки - 73 Кб, и это все пока без учета возможностей gzip-сжатия.

В результате мы получаем на странице, во-первых, основные возможности от jQuery, и, главное, самое-самое минимальное ядро от ExtJS, буквально основные функции и возможности корневого класса Ext и его расширения для стандартных объектов JavaScript (например, String, Array и Date при использовании ExtJS получают некоторые "бонусы")."

min and max-width - проще не бывает...

"

* {margin:0;padding:0;}
body {
background-color:#fff;margin:3px auto;
padding-left:600px;width:10%;
}
.middle {border:#000 1px solid;margin-left:-600px;}

<body>
<div class="middle">...</div>
</body>


Проверено в IE6 (7,8), OPERA9.64, FF3, SafariWIN, Chrome.



"




Покраска гитары своими руками




"Итак, полностью разбираем гитару, снимаем всю фурнитуру и прячем подальше, дабы не растерять ничего. После этого берем в руки шлифмашинку, деку зажимаем на полу и снимаем старую краску. Шлифмашинка, по-моему, удобней орбитальная..."




SQL Parsing with Python, Pt. II




" The API of the module is pretty simple. It provides three top-level functions on module level:sqlparse.split(sql) splits sql into separate statements, sqlparse.parse(sql) parses sql and returns a tree-like structure and sqlparse.format(sql, **kwds) returns a beautified version ofsql according to kwds. "




Python generator to list decorator




"



def listify(gen):
"Convert a generator into a function which returns a list"
def patched(*args, **kwargs):
return list(gen(*args, **kwargs))
return patched

@listify
def f(x):
for i in range(x):
yield "item" + str(i)

assert f(5) == "item0 item1 item2 item3 item4".split()


"

Комментариев нет: