среда, 30 сентября 2009 г.

Подсветка SyntaxHighlighter при динамическом добавлении html

Сегодня меня заморочила очень простая идея, как с помощью SyntaxHighlighter подсветить html код который был добавлен динамически. Такие ситуации возможны, когда, например, вы асинхронно добавляете какое то содержимое на страницу, или просто реализуете некое добавления html после каких то действий. Как внедрить подсветку SyntaxHighlighter я уже описывал в посте Прокачка блога Blogger.

Для запуска механизма подсветки кода в инициализации страницы нужно прописать:

SyntaxHighlighter.all();

Но вызывая данную функцию после добавлении динамически html результата я не получил.

воскресенье, 27 сентября 2009 г.

Прокачка блога Blogger. Асинхронная загрузка постов.

В один прекрасный день мой знакомый попросил внедрить ему в блог http://udmitry.tumblr.com/ функционал по асинхронной дозагрузки постов в текущую страницу. В качестве эксперимента решил для начала внедрить что то похожее в свой блог. Заранее приношу извинения всем посетителям которые ощущали неудобство от моих экспериментов в конце этой недели.




Для добавления данного функционала вам понадобиться выполнить 3 шага.

вторник, 22 сентября 2009 г.

Неугодные контакты "в топку" из Google чата!

При общении в Google чате бывают ситуации когда отображаемый список пользователей с которыми вы можете общаться сильно разросся, или наоборот в списке не хватает нужного человека, или вы просто хотите исключить каких то людей из общения. Что делать в таких ситуациях, как настроить Google час под себя?

пятница, 18 сентября 2009 г.

Flex Tile(TileDirection.HORIZONTAL) с изменяющейся высотой

 Во Flex 3 очень много разнообразных элементов управления, использовать их одно удовольствие. Например, элемент mx.containers.Tile способен отображать элементы, особенность его заключается в том что элементы которые не влезают в текущую строчку переносятся на следующую и так циклично пока не будут отображены все элементы.
 Он очень полезен в отображении данных с плавающей длинной, но при увеличении строчек размер самого контрола остается фиксированный. Не всегда есть возможность установить высоту на 100 процентов (height="100%"), но как сделать так что бы все строчки были видны и не появлялась прокрутка? Решение данной проблемы хочу описать в этом посте.

JavaMail в пивном соусе. Работа с содержанием и атачами письма.

Для работы с почтовиком необходимо уметь две вещи:
1. Получать и отправлять письма
2. Обрабатывать полученные письма.
Про работу с первый пунктом я уже писал в статье "Несколько мгновений JavaMail + Gmail", сейчас же хотел рассказать как же обрабатывать полученные письма.

воскресенье, 13 сентября 2009 г.

Прокачка блога Blogger

[Внес измениния 09.10.2009]

Все начинается с малого, у вас возникло желание/необходимость завести блог. В качестве поставщика услуг выбрали вы Blogger, и вот через пару часов вы счастливый обладатель собственного блога. Написали одну статью, другую и вот понимаете что вам не хватает каких то мелочей, вот про такие мелочи и пойдет дальше статья.

пятница, 11 сентября 2009 г.

Галерея картинок в блоге Blogger или три дня веселья!

Решил недавно встроить себе в блог Blogger галерею картинок. В инете есть много реализаций галерей, предпочтения решил отдать галереям которые построены на jQuery. Как ни странно но для такой простой задачи сразу не нашлось нормального решения, вернее не одно из них не работало запланированным способом.

Душевное спокойствие c Gmail или назад в Beta :)

Почтовик Gmail восхищает и поражает своими настройками и возможностями. Это целый программный комплекс который позволяет решать задачи по коммуникации и хранению информации.

В июле Google вывел почтовик из бета версии и это действительно здорово. Одной из интересных возможностей почтовика является, то что вы сами можете настраивать необходимые функции. Для этого необходимо зайти в настройках Gmail и переключится на вкладку "Экспериментальные функции". Все они интересны и оригинальны, кто еще не заметил эту вкладку - советую воспользоваться, возможно вы найдете для себя то чего вам не хватало!

Лично мне понравился не очень функциональный, но очень забавная функция "Назад к бета-версии - Восстановление душевного спокойствия путем возвращения стикера бета-версии на логотип Gmail", почти как путешествие в прошлое :).

Еще не пользуетесь? Создать аккаунт

вторник, 8 сентября 2009 г.

Интелисенс Eclipse в Django проектах

При написании кода на любом языке всегда важна скорость и отсутствие ошибок. Если вы гуру, печатаете 600 символов в минуту, "до символа" запоминаете названия всех API классов и методов с которым работаете и пишете без опечаток, то вам не нужна эта статья :).

суббота, 5 сентября 2009 г.

wordWrap в Text контроле (Flex)

Дошло дело до изучения Flex, хорош для своего спектра задач. Но как в каждом языке так и здесь возникают ошибки и проблемы, одну из них и захотелось описать в этом посте.

Пришлось помучатся с переносом текста в контроле Text (mx.controls.Text). Добавлял я его следующим образом:

<mx:Text text="...много текста"/>

Проблема заключалась в том что когда количество отображаемого текста превышало ширину внешнего контейнера, то Text контрол устанавливал скойство wordWrap=false и появлялась горизонтальная прокрутка.

четверг, 3 сентября 2009 г.

Новые возможности Google календаря

Google календарь добавил новую опцию в настройках календаря "Просмотреть интересные календари"(Browse intresting calendar), для перехода необходимо выбрать Настройки-> Календари->Просмотреть интересные календари. При выборе данного пункта вы увидите календари праздников, спорта и дней рожденный. Воспользоваться изменениями смогут не все пользователи. И где тут подвох?

Тонкости программирования Django для новичков

Вчера наткнулся на статью Rama Vadakattu Top 10 tips to a new django developer о том что должны знать программисты новички на Django. Мой опыт не так велик в Django, но что бы собрать подобные знания и выработать навыки понадобился прочтение не одной умной статьи. Не со всеми советами я согласен, но каждый программист Django должен знать описанные моменты. Советую прочитать оригинал, ну а "ленивым" полезно будет дочитать до конца.

вторник, 1 сентября 2009 г.

Django Form + JQuery

Решений по асинхронному сохранению Form в Django в интернете описано множество. Но каждая реализация имеет свои особенности, одни почему то показалась трудоемкими по внедрению(много кода ручками ваять, возможно было лень провести рефакторинг, ну это уже другая история), другие наоборот были лишь указанием для реализации и предлагали данные собирать ручками. В общем от каждого этого решение скребло на душе.

Недавно и до меня дошло озарения(лучше поздно, чем никогда), и я понял, что УЖЕ пользуюсь асинхронной валидацией форм, меня оно устраивало - его было легко внедрять, и кода было минимум. Основой был django-ajax-validation проект, на его основе и построен следующий пример.
Для реализации определил следующие критерии:
- Универсальный механизм сбора данных на клиенте.
- Минимум кода при внедрении.