Pull to refresh
53
0

Software engineer

Send message

Профили пользователей: плюсы, минусы, подводные камни

Reading time 5 min
Views 12K
Не секрет, что работу с профилями пользователей в Django иначе как несчастьем не назовёшь. Все мы сталкивались с монолитностью модели auth.User, неадкеватным набором полей у неё, а также всеми теми ухищрениями, к которым приходилось прибегать.

Извращаться приходилось всем: не только пользователям джанги, но и самим её core-разработчикам. Помните, например, как в Django 1.2 внезапно стало возможно использовать в поле username символы собаки (@) и точки? Знаете зачем? Чтобы в качестве логинов можно было использовать адреса e-mail.

Нам, простым пользователям, тоже жилось несладко. Для того, чтобы изменить профиль пользователя, добавив ему какие-нибудь интересных полей — обычная, казалось бы, вещь, да? — приходилось действовать разными способами.
Интересно?
Total votes 67: ↑64 and ↓3 +61
Comments 45

Релиз Django 1.2.2 — security-обновление

Reading time 2 min
Views 940
8 сентября 2010 года разработчики Django выпустили релиз 1.2.2 чтобы закрыть уязвимости, позволяющие злоумышленникам устраивать XSS-атаки. По злой иронии, уязвимость к XSS оказалась в коде системы, выполняющем защиту от другого типа атак – CSRF. Система эта принципиально изменилась в версии 1.2 (в предыдущих версиях защита от CSRF не являлась частью ядра фреймворка и была всего лишь подключаемым слоем).
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Comments 16

Вышел релиз Django 1.2

Reading time 1 min
Views 720
Свершилось, товарищи! Несмотря на почти двухмесячную задержку и постоянные переносы даты релиза, сегодня, 17 мая 2010 года, финальная версия 1.2 великолепного фреймворка увидела свет.

Кратко напомню, какие же произошли самые заметные изменения и дам ссылку на более подробную информацию.

Читать дальше →
Total votes 90: ↑72 and ↓18 +54
Comments 68

Smarty обновился до версии 2.6.22

Reading time 1 min
Views 641
В связи с некоей ошибкой в библиотеке PCRE из PHP 5.2, скоропостижно (спустя всего 15 дней после выхода 2.6.21, в котором, наконец, сподобились ввести method chaining) зарелизилась версия 2.6.22 шаблонизатора Smarty. Проблемы, возникающие при «some versions of PCRE» (ц), решились гениально и просто — выкидыванием нафиг самого вкусного изменения прошлого релиза :)

Официальный CHANGELOG на офсайте.
Total votes 10: ↑6 and ↓4 +2
Comments 13

jQuery не спешит признать Google Chrome?

Reading time 1 min
Views 456
С момента последнего стабильного релиза jQuery, который состоялся в конце мая сего года, произошло много значительных событий, таких, к примеру, как выход браузеров Firefox 3 и Google Chrome.

В jQuery есть встроенный объект browser, который выполняет определение сами понимаете чего. На текущий момент (в транке) browser реализуется вот так:

var userAgent = navigator.userAgent.toLowerCase();

// Figure out what browser is being used

jQuery.browser = {
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
	safari: /webkit/.test( userAgent ),
	opera: /opera/.test( userAgent ),
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

Никакого упоминания о Chrome. Нет, я понимаю, конечно, что хром ещё не вышел из глубокой беты, да и в случае чего расширить browser нет никакой проблемы. Непонятно другое: почему сэр Ресиг игнорирует один из самых перспективных браузеров.
Total votes 30: ↑6 and ↓24 -18
Comments 16

PHP 5.2.8 Released

Reading time 1 min
Views 709
Как все помнят, с релизом PHP 5.2.7 вышла некоторая лажа, версия была убрана, а на официальном сайте рекомендовалось подождать версии 5.2.8. Дождались, товарищи, поздравляю :)

Справедливости ради надо отметить, что, как обнаружил symbix, исходники PHP 5.2.8 выложили в свободный доступ несколько раньше, чем появился официальный релиз.

Хотелось бы, кстати, напомнить, что это не первый крупный косяк с релизом PHP5. В прошлый раз версия PHP 5.1.3 в качестве критического обновления вышла в тот же день, что и PHP 5.1.2.

Так и живём :)
Total votes 37: ↑27 and ↓10 +17
Comments 11

Вышел alpha-релиз Smarty 3

Reading time 2 min
Views 1.1K
Оказывается, третьего дня, то есть 17 октября сего года, вышел альфа-релиз многими любимого (и многими же презираемого) шаблонизатора Smarty.

Интерфейс шаблонизатора особо не изменился. Это всё те же display(), fetch() и assign(), которые покрывают процентов 99 всех потребностей. Монструознное assign_by_ref() почило в бозе. Туда ему и дорога ;)

Внутренности же претерпели более существенные изменения:
Читать дальше →
Total votes 72: ↑56 and ↓16 +40
Comments 138

День смайлика

Reading time 1 min
Views 728
26 лет назад, 19 сентября 1982 года, программист Скотт Фальман впервые предложил использовать сочетание двоеточия, дефиса и скобок для обозначения эмоций. С днём рождения, смайлики! :-)
Total votes 120: ↑98 and ↓22 +76
Comments 101

Наследование шаблонов в Smarty

Reading time 4 min
Views 12K
Когда-то, давным-давно, мне пришлось использовать небезызвестный шаблонизатор Smarty. Сначала я, понятное дело, возмущался и кричал, какая же гадость эта заливная рыба Smarty, а потом «распробовал» и втянулся. Те удобства, которые он давал, с лихвой компенсировали мысли о том, что есть и более быстрые шаблонные движки.

Шаблоны я обычно строил с помощью инклюдов: в начале подключался header.tpl, в конце — footer.tpl, в середине ещё что-нибудь нужное. В целом разметка получалась довольно аккуратной, но не проходило ощущение, что не хватает чего-то важного. Окончательно понимание этого чего-то появилось, когда мне случилось написать простенькое приложение на Django. И это «что-то», как все поняли, оказалось наследованием шаблонов. Простая, как и всё гениальное, идея позволяла существенно упростить шаблоны и избавиться от дублирующих блоков.

А почему бы не реализовать подобный механизм в Smarty?
Total votes 65: ↑52.5 and ↓12.5 +40
Comments 54

Information

Rating
Does not participate
Registered
Activity