Перегляд за місяцем: July 2009
Два дня - две встречи
Общительное CF-сообщество в очередной раз радует. За последние 2 дня, благодаря чудесам компьютерной техники и Acrobat Connect я посетил две встречи, на которых обсуждались Coldfusion 9 и Coldfusion Builder. Всегда интересно послушать лидеров движения, а с помощью технологии это можно сделать "вживую" и даже задать вопросы.
Первая встреча под эгидой CFPanel прошла во вторник. На ней обсуждался в основном Coldfusion Builder, его особенность как IDE и смещение точки зрения CF-разработчиков с текстовых редакторов на IDE. Едва-ли это относится к тем, кто использует CFEclipse, но вероятно есть достаточно много разработчиков, кому до сих пор достаточно простого редактора и характер работы не ставил требований к инструментарию. Для них и было организовано обсуждение. Также товарищи поговорили о Coldfusion-сообществе и поотвечали на вопросы (например, сколько должен стоить Coldfusion Builder). Запись встречи (около часа) имеется и находится тут.
Вторая встреча проводилась от европейского Coldfusion 9 Insider Club. Докладчик Терри Райан (Terry Ryan) сначала немного рассказал о просветительских планах Adobe в Европе - Scotch on the Road и Coldfusion Box и о том как хорошо быть Coldfusion разработчиком сейчас. Затем Терри перешел к непосредственно Coldfusion 9 - рассказал о Coldfusion as a Service (на примере генерации PDF из Flex-приложения с помощью Coldfusion), о новых UI-фичах в CF9 (ExtJS, maps, media player и др), об интеграции с MS/Open Office (cfdocument, cfspreadsheet), интеграции в корпоративной среде (Sharepoint, Solr, IMAP). Не обошли стороной и "обычные" темы для разговора - развитие языка CFML, ORM и кеширование. Запись собственно встречи (1.5 часа) находится тут.
CF-сообщество щедро снабжает любознательных разработчиков информацией, иногда мне кажется, информации даже слишком много. Это говорит только о том, что Coldfusion более чем жив и развивается.
Про (CF)Eclipse, ColdFusion Builder та IDE
Спочатку Бен Форта, а пізніше й Шон Корфілд розродилися обширними розповідями про IDE взагалі та IDE для ColdFusion зокрема.
Чтиво вийшло доволі цікавим, але обидві замітки підводяться під однакові висновки: CFEclipse житиме, але CF Builder will rock ColdFusion-світ.
Мені, як активному користувачеві CFEclipse, немає чого протиставити щодо загальної перспективи.
Але, як завжди є нюанси. Наприклад факт, що Adobe поки навіть не планує випускати Builder під Linux. Також незрозумілою залишається цінова політика. Якщо він коштуватиме як Flex Builder, то особисто мені така пропозиція навряд чи буде цікавою. Зокрема з тієї причини, що CF-спільнота активних розробників не така вже й велика, щоб сприймати її як джерело доходу, замість того щоб стимулювати її ріст, що є доволі принциповим питанням.
Винесу з коментарів першого посту пояснення Бена про перспективи CFB на Linux та PPC Mac:
...platform support is a $'s issue plain and simple. Right now the vast majority of ColdFusion developers do their work on Windows and Intel Mac, and so those are supported. (FWIW, this is in contrast to ColdFusion itself which is deployed on Windows and Linux mostly, and rarely on Mac). If there are enough requests from developers for a Linux version, and by that I mean enough to cost justify the work (yes, there is additional cost associated with any additional platform) then we'll do it, and if not then not. Thus far, there has been significant demand for Linux as a ColdFusion server platform, but far less for it as a development platform. But we'll keep watching it to see if things change.
Groups: OOP in ColdFusion
Нещодавно було створено Google групу для обговорення особливостей та доцільності взагалі (це окрема гаряча тема) об'єктно орієнтованого програмування в CFML.
Там вже встигли відмітитися чимало відомих членів спільноти.
Що характерно для цієї теми, більше половини обговорень присвячено теоретичним питанням.
Створення власної вбудованої функції в Railo
Що мені подобається в Railo, так це наявність зворотнього зв'язку його розробників зі спільнотою.
Вони постійно публікують інформацію про оновлення, надають приклади та обговорюють їх з CF-розробниками.
Цього разу розповіли про цікаву можливість: встановлення будь-якої UDF на рівні сервера, або віртуального хосту.
Офіційна документація з ColdFusion 9 CFML
Поки не доступна з публічних сторінок підтримки.
За традицією, з дещо переробленим дизайном. З можливістю експорту в PDF.
Adobe ColdFusion 9 CFML Reference
Сайт №1 для CF-розробника.
Новини CF-OpenSource v2
Компонента, що дозволяє дізнатися чимало інформації про статус поточного додатку, інших запущених додатків (active applications) та навіть всього серверу.
Оновилася до версії 5.1 вільна CMS з обширним списком можливостей.
Оновилася нещодавно розроблена бібліотека для журналювання в стилі Log4J.
Версія LighthousePro, що є прикладом додатку на Model-Glue 3.
http://pdfit.riaforge.org/pdfIT
Вийшла в бету бібліотека для маніпулювання PDF-файлами.
Фреймворк на базі одного файлу від Шона Корфілда.
Обгортка для Apache CouchDB API, на даний момент з базовими можливостями.
Колекція задач Ant для автоматизації збірки та розміщення (build and deployment) ColdFusion проектів.
Набір компонент для організації взаємодії з різними сервісами Google через API.
Компонента для конвертування запитів (query), або їх масивів, до Excel файлів.
Новий проект спільноти: ColdFusion Panel
Вчора було запущено cfpanel, спробу організації більш-менш регулярних онлайн-зібрань тривалістю 30-60 хвилин для живого обговорення актуальних тем. Відбуватися це буде під керівництвом кількох поважних членів спільноти та за допомогою Adobe Connect.
Коло обговорюваних технологій не обмежуватиметься ColdFusion, хоча скоріше за все залишатиметься в рамках RIA.
За попереднім планом зібрання проводитимуться кожного вівторка 12pm EST, або о 19 за Києвом.
Координація відбуватиметься за допомогою блогу та відповідних категорій Episodes (анонси) та Episode WrapUp (звіти).
Перше зібрання, що відбудеться 28 липня, буде присвячено ColdFusion 9 та ColdFusion Builder.
Презентации
Вы знали что в CF8 можно перезагрузить wsdl без доступа к CFIDE ? Или что cfdump может цфдампить в файл ? Лично я узнал об этом из презентации Чарли Арехарта (Charlie Arehart) - Скрытые жемчужины CF8 (PDF). Вполне возможно что даже работая с Coldfusion каждый день, программист может быть в плену ошибочных представлений, которые имеют корни в давних версиях CF. Против этих мифов Чарли предлагает не только презентацию "Разрушители Coldfusion легенд", но также тематический подкаст и другие материалы.
Формат презентации может показаться неинформативным - если лично не присутствовал и не слышал комментариев, PDF или PPT будет сухой выжимкой. Лично для меня это удобно - нет времени чтобы читать развернутые статьи, а такой конспект дает достаточно начальной информации.
Чарли - активный участник Coldfusion сообщества, соавтор известных книг и частый гость конференций. Рекомендую его сайт в вашу подборку ссылок.
ColdFusion 9 та ColdFusion Builder в публічній беті!
Нарешті це трапилося. Два довгоочікувані продукти від Adobe випущено в публічні бети.
В першу чергу мова про Coldfusion 9 (раніше відомий як Centaur). Дізнатися більше можна на сторінці продукту, також варто прочитати замітку Бена Форти Introducing Adobe ColdFusion 9 beta та переглянути кілька відезаписів по темі від того-таки Форти, та Реймонда Кемдена.
Водночас виходить Coldfusion Builder (раніше відомий як Bolt), котрому теж присвячено замітку.
Блогосфера вже починає вирувати з цього приводу, очікуємо на цікаві новини та замітки, постараємося докластися до цієї справи.
Хотфікс від Adobe для FCKEditor (APSB09-09)
Не пройшло й тижня від моменту публікації про вразливість, але Adobe розродилася швиденьким хотфіксом.
При тому всьому визнала вразливість критичною та опублікувала розлоге пояснення своєї позиції з питання.
Так чи інакше, варто скористатися нагодою та оновитися: hotfix for potential ColdFusion 8 input sanitization issue.
Вразливість у FCKeditor для ColdFusion 8.0.1
Серйозну вразливість було знайдено в FCKeditor, а конкретно в CF-конекторі для завантаження файлів.
Справа в тому, що в CF 8.0.1 він увімкнутий за умовчанням, що може бути використано для завантаження .cfm (а також .asp, що ) скриптів, що було описано в нещодавному повідомленні.
Тому дуже рекомендується вжити запобіжних заходів, від вимкнення конектора в налаштуваннях і до видалення завантажувача файлів, якщо ним не користуєтеся. Бо кілька сайтів вже було скомпроментовано.
Більше інформації та рекомендаці можна знайти в наступних повідомленнях:
CF8 and FCKEditor Security threat
ColdFusion 8 FCKeditor Vulnerability
Potential ColdFusion security issue (офіційна нота від Adobe з обіцянкою виправити проблему).
Найміть Community Expert працювати
Цікаве питання про роботу в галузі було підняте в пості Шона Корфілда (Sean Corfield).
Крім обговорення загальної ситуації та порад було визначено кілька причин того, чому компанії побоюються пропонувати роботу добре відомим учасникам спільноти (Community Expert в термінах Adobe).
Зокрема було сказано, що вони дуже багато часу приділяють спільноті :)
Мається на увазі, що вони багато виступають на конференціях, пишуть в блоґи/twitter, беруть участь у відкритих проектах і тому не мають часу працювати. Звісно, малося на увазі працювати повний робочий день, як це роблять "звичайні" програмісти.
Крім того, виявляється, є побоювання щодо того, що такий експерт почне навчати програмістів всіляким новим технологіям та методикам та навіть "кидати виклик" керівництву компанії в сенсі зміни принціпів управління.
І все це замість того, щоб просто радісно ковбасити код разом з колегами-програмістами ("work happily with their peers and code like a demon").
Мабуть, така позиція роботодавців має право на існування, хоча є й дещо спірною. Зокрема, варто подумати над тим, які позитивні рухи та оновлення може принести в компанію подібний спеціаліст. Як програміст, я б із задоволенням попрацював би в компанії такої людини, бо це дуже добрий шанс отримати гарний досвід.
На цій оптимістичній ноті започатковуємо нову категорію Subjective.
Пропозиція щодо нового OSS проекту від Hal Helms
Гол Гелмс (Hal Helms) нещодавно виніс на розгляд спільноти пропозицію розробки відкритого e-commerce рішення на базі ColdFusion та AJAX.
Долучитися до обговорення можна в його блозі, в повідомленнях Update on "Ideas" та Project Serenity.
Учасники UACFUG також розмірковують над тим, щоб долучитися до цієї, без сумнівів, корисної та цікавої ініціативи.
Підміна MIME типу при завантаженні .cfm файлів на сервер
Днями прокотилася хвиля серйозних порушень роботи сайтів та навіть цілих ColdFusion серверів, пов'язана з використанням вразливості, коли підміна MIME типу завантажуваного файлу дозволяла залити .cfm скрипт та виконати його.
Ось простий приклад як це можна зробити:
<cfhttp url="http://target.example.com/upload" method="post">
<cfhttpparam file="#ExpandPath("badstuff.cfm")#"
mimetype="image/gif"
type="file"
name="photo">
</cfhttp>
Така проста конструкція легко дозволяє обійти вбудовану перевірку типу:
<cffile action="upload"
filefield="photo"
accept="image/gif,image/jpeg"
destination="#ExpandPath("./photos/")#">
Приклади було взято з посту Піта Фрейтаґа (Pete Freitag), в якому він наводить рекомендації щодо захисту від подібних атак.
Зокрема, можна використати вбудовані функції IsImageFile("path") (з урахуванням вже описаної проблеми) та IsPDFFile("path"), використовувати окремий сервер (простіше кажучи, окремий домен - скажімо з nginx - для швидкодії) для статичного вмісту (як то Amazon S3), користуватися можливостями Sandboxing (якщо у вас CF Enterise), відключати можливість виконання скриптів для тек завантаження та іншими методиками.
Ці та інші поради описані у вищевказаному повідомленні, також варто звернути увагу на коментарі до нього, там теж є слушні поради.
Також варто звернути увагу на аналогічне повідомлення Брента Фрая (Brent Frye), котрий зазнав серйозних неприємностей через описану проблему, тому теж уклав список порад для її обходу.
