Материал из Dom.
Приветствую Вас на моем сайте. Здесь я выкладываю тексты статей, которые я пишу, и некоторые из созданных мною програм. Благодаря использованию вики вы можете обсуждать, вносить правки в мои работы. Я надеюсь, что каждый сможет найти для себя нечто полезное среди огромной кипы материалов. Круг моих интересов в области программирования достаточно велик. Пишу я правда, не очень часто (хотя стараюсь выдерживать ритм и писать каждую неделю 1-2 статьи), так что это не совсем похоже на привычный вам блог с множеством мелких заметок.
Сразу предупреждаю: все материалы - авторские. Я не копирую ничего из сети. Иногда я перевожу англоязычные материалы, но почти всегда добавляю в них свое видение вопроса, свои примеры и т.д.
Я разрешаю каждому копировать и использовать размещенные здесь материалы не с целью извлечения прямой коммерческой выгоды. Это значит что вы можете брать статьи и размещать их на своих сайтах, но при условии обязательного сохранения авторского права, и вы обязаны в тексте статьи делать ссылку на мой сайт.
|
Управление проектами
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Сегодня я завершаю рассказ об SVN. В прошлой статье я начал рассказ о средствах работы с SVN без командной строки – с помощью графического интерфейса (программы TortoiseSVN и SmartSVN). После того как мы научились в TortoiseSVN вести проект, помещать и извлекать его из хранилища, добавлять/удалять файлы, нам осталось только разобраться с ветками, слияниями, разрешениями конфликтов. Последняя тема этой серии материалов - SmartSVN (не идеальный, но очень неплохой svn-клиент).
2008.5.16 Системы управления версиями для программистов и не только. Часть 5
Сегодня я продолжу рассказ об SVN. Управление версиями документов является важной задачей нужной почти для каждого, кто работает в сфере IT. Самое главное, чтобы сложности, возникающие на этапе “понять и привыкнуть”, не помешали вам научиться хранить документы в SVN, видеть историю изменений и оценивать ход работы. Поэтому наличие удобных графических средств является ключевым фактором, для того чтобы сделать “быстрый старт” и не отпугнуть от СУВ новичков.
2008.5.9 Системы управления версиями для программистов и не только. Часть 4
Я продолжаю рассказ о системах управления версиями файлов (далее СУВ). Сегодня я завершу рассказ об основных понятиях СУВ: мы поработаем с ветвями и тегами. Попробуем создать репозиторий доступный для коллективной работы и настроить политику безопасности.
2008.5.1 Системы управления версиями для программистов и не только. Часть 3
Я продолжаю рассказ о системах управления версиями файлов (далее СУВ). В прошлый раз я сделал введение в суть проблемы, описал, кто такие СУВ и какие задачи они решают. Сегодняшний материал будет сугубо-практический и продолжит рассмотрение методик работы с репозиторием и помещенным в него проектом.
2008.4.19 Системы управления версиями для программистов и не только. Часть 2
Часто говорят, что системы управления версиями (далее, СУВ) нужны только программистам, и только тем из них кто работает в команде. Т.е. когда кодом владеет не один “избранный”, а любой программист в команде может взять и внести изменения в код. Говорят, что разобраться в СУВ практически не возможно: все эти ветки, ревизии, теги, репозитории слишком сложны и непонятны. Будем разбивать заблуждения.
2008.4.5 Системы управления версиями для программистов и не только. Часть 1
|
JAVA
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Продолжаю рассказывать про hibernate и ассоциации. Сегодняшний материал продолжает прошлую статью, так что все примеры предполагаются над моделью данных: отдел & сотрудник. При организации связи один-ко-многим, мы должны внутрь класса Отдел поместить контейнер, хранящий список подчиненных объектов. Есть несколько вариантов того, каким может быть этот контейнер и выбор является не настолько тривиальным.
2008.5.14 Hibernate: Set-ы, bag-и и все, все, все
Вот пришло время и мне написать пару строчек про hibernate. Я попробую сделать небольшой cheatsheet по вопросу двусторонней ассоциации, каскадных обновлений, ленивой загрузки и прочего и прочего. Большинство проблем, которые возникают у новичков заключается в том, что они забывают, что база данных живет по другим правилам, чем слой объектов. В СУБД нет всех этих двусторонних связей, да и в понятие каскадных обновлений вкладывается немного другой смысл.
2008.5.12 Hibernate: каскадные обновления, инверсия отношений и прочая и прочая
Почти год назад я внедрял у себя на сайте пробную версию скрипта, который отображал на сайте "Некрасивые графики посещаемости вашего ресурса от google analytics". В левой колонке сайта рисовался небольшой график. А что очень удобно, если вы не дрожите над google-показателями: зашли к себе на сайт, посмотрели, чтобы ничего не поломалось, полюбовался также на графики, мол растут показатели не по дням, так по часам. Да и пользователи видят как сайт прогрессирует (обычные счетчики не дают возможности увидеть изменение вашей посещаемости во времени - только статические показатели "на сегодня" и "за всегда"). И вот появилась новая инкарнация сервиса.
2008.5.5 Mygooglechart2
Я продолжаю выкладывать некоторые из своих наработок. Сегодня на очереди (так же как и в прошлый раз) несколько способов улучшить и облегчить жизнь java программистов использующих spring. Я расскажу об перезагрузке контекста spring и определений tiles2.
2008.5.1 Tiles2 и Sping: Перезагрузка
Сегодня я расскажу об инструменте, который наверняка пригодится всем тем кто пользуется spring. Назначение этой утилиты - проверить чтобы все коды ошибок которые я использую внутри кода класса-валидатора (например), были не забыты и перечислены внутри файлов ResourceBundle.
2008.4.28 Как в spring написать валидатор использующий коды сообщений и не забыть кого-то из них
Одной из важнейших и, к сожалению, плохо оцененных возможностей jsp являются пользовательские теги. Вот только создание тегов требует значительных усилий именно java-разработчиков, так что мы не можем делегировать часть ответственности верстальщикам. Ведь им нужны знания tag-библиотек, нужно знать, что и когда возвращать из методов, какие классы нужно наследовать. Кроме того, не решена проблема с переносом внутрь тега html-блоков кода и сложной процедурой тестирования тегов. Ведь для того чтобы перечитать заново определения тегов и обновленный java-код требуется перезапускать контекст веб-приложения и это медленно, дорого, да и просто раздражает. Естественным решением от sun было создать новые теги (новые правила их написания), улучшенные и не повторяющие ошибок предшественников.
2008.4.21 Jsp теги, новые и улучшенные
Сегодня я столкнулся с необходимость написать несколько регулярных выражений для java. Надо сказать, что последнее время я часто переключаюсь между java и php, так что держать в голове два стиля использования regexp-ов становится все труднее: допускаю мелкие ошибки и опечатки. Отличия в regexp-ах не в самом синтаксисе (он обычный, те же самый \w, \d, классы символов и их модификаторы). Отличия в мелочах и эти мелочи мне не нравятся. Сегодня я расскажу о том как я написал небольшой java-класс позволяющий обращаться с regexp-ами в стиле php
2008.4.15 Regexp-ы для java точь в точь как для php
Это java-библиотека позволяющая с помощью аннотаций метить поля классов так чтобы автоматизировать поддержку этим классом методов equals, compareTo, hashCode и toString
2008.4.14 Java аннотации пример 1
Эта статья является логическим продолжением ранее опубликованной серии посвященной 2d-физике для flash-разработчиков. Сегодня я продолжу рассказ о методах “плоской” физической симуляции, вот только язык программирования будет java.
2008.04.10 Phys2D: физика и java
Сегодня я завершу рассказ об FOAM. FOAM - это один из лучших физических движков доступных для flash-разработчиков. В прошлый раз я рассказал об идее легшей в основу FOAM (четкое разделение ответственности за расчеты между несколькими частями движка), об иерархии интерактивных объектов (которые мы можем добавить на сцену). Сегодня осталось только рассмотреть методику добавления к объектам, воздействующих на них сил и ограничений. Также интересен вопрос о создании renderer-ов, (пользовательских объектов позволяющих управлять тем, как “голый” физический объект можно визуализировать).
2008.4.2 FOAM: физика и actionscript 3. Часть 2
Почти год назад я написал серию из трех статей посвященных основным физическим законам и их практическому применению при разработке flash-приложений. Тогда фокус внимания был посвящен flash 8, а код писался на actionscript2. Несколько раз я порывался написать статью, посвященную физике и flash, но использующую не “собственные поделки”, а flade (известный и, по сути, единственный качественный) физический движок для flash 8. Но не сложилось. Теперь я начну рассказ об физических движках во flash на примере FOAM.
2008.3.27 FOAM: физика и actionscript 3. Часть 1
Сегодня я завершаю рассказ об gears, так что сегодня я буду в основном программировать, программировать и программировать: необходимо завершить построение клиентской части записной книжки и организовать общение с сервером в обоих направлениях (загрузка информации и ее сохранение).
2008.3.4 Разработка веб-страниц с помощью google gears. Часть 4
Я продолжаю выкладку серии статей (а-га, после того как месяц назад затер файлы), посвященных работе в java с swing. Сегодня внимание посвящено работе с JTable (отображение табличных данных)
2008.2.26 Про swing - часть 4
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено таким контейнерам как JScrollPane, JSplitPane, JTabbedPane
2008.2.26 Про swing - часть 6
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено JTree (работа с иерархическими данными)
2008.2.26 Про swing - часть 5
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено работе с JProgressBar и созданию меню
2008.2.26 Про swing - часть 7
После рассказа о sqlite я перехожу к практике: проектирую архитектуру небольшого примера - записной книжки. Сегодня фокус внимания посвящен серверной строне программирования (разработка базы данных sqlite и php-код заполняющий ее данными). Также я анализирую два подхода к передаче данных от сервера клиенту (XML vs JSON).
2008.2.23 Разработка веб-страниц с помощью google gears. Часть 3
Сегодня основной фокус внимания будет посвящен изучению возможностей sqlite - встроенной в gears базы данных. Создание, таблиц, "виртуальные" типы данных, индексы, ограничения, правка данных в таблице - все это сегодняшняя тема.
2008.02.22 Разработка веб-страниц с помощью google gears. Часть 2
Google gears это плагин для браузера (firefox, ie) позволяющий создавать веб-приложения, хранящие большие объемы пользовательских данных на локальном компьютере (в виде полноценной базы данных). Также gears представляет средства для синхронизации этой информации с сервером.
2008.2.15 Разработка веб-страниц с помощью google gears. Часть 1
Небольшая (меньше 300 кб.) библиотека позволит двум java приложениям общаться между собой. Поддерживается передача сложных структур данных, корректная обработка исключений. Есть реализация сервиса на других языках (в примере расказывается о связи java + flex)
2008.2.7 Hessian связывает flash и java
Сегодня я устрою тест еще одному серверу и consumer-у openid. Этот кандидат прибыл с экзотического острова Явы, так что ставить его в один ряд с описанными в прошлой статье библиотеками нельзя. Требования к хостингу у него будут повыше, да и процедура настройки и установки требует знания основных идей из мира java. Библиотека называется joid (полагаю, сокращение от java openid). Технически кандидат обещает, что сможет понять и версию 1.0 и 2.0 протокола openid.
2008.2.5 Openid 2b
Я продолжаю вытаскивать из пыльных закромов некоторые из своих скриптов. Сегодня пришло время рассекретить сервлет-фильтр, который поможет взглянуть на загрузку в java web-приложения файлов немного по-новому
2008.2.4 Заметки про java и загрузку файлов с помощью commons fileupload
Я раскажу о типовых ошибках возникающих при работе с кодировками в веб-приложениях и не только
2008.2.2 Java ru 1
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено менеджерам раскладки (правда, всего двум), спискам (Jlist и JComboBox), окнам сообщений и нескольким элементам для работы с текстом ...
2008.1.16 Про swing - часть 3
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено обработке событий, тому как грамотно в многопоточном приложении обновлять элементы управления, работа с рамками, курсорами ...
2008.1.11 Про swing - часть 2
Начата выкладка серии статей посвященных работе в java с swing. Сегодня внимание уделено впросу рисования с помощью Graphics и Graphics2d
2008.1.5 Про swing - часть 1
Пару дней назад у меня было немного свободного времени, и я решил тряхнуть стариной и написал на java небольшую утилиту, которая сжимает css-файлы. А почему тряхнул стариной? Так уже довольно давно не писал я java-кода работающего с regexp-ами – “пламенным мотором” этой программки – вспомнить довольно приятно. А результаты своего “графоманства” выложил на всеобщий обзор, не забыв снабдить комментариями. Ссылка на конечные исходники лежит в самом конце страницы, а пока поехали.
2007.12.25 Proj csscompactor
Сегодня я расскажу о формировании ЧПУ для java-основанных веб-проектов на примере небольшого веб-магазинчика. Это будет очень простой магазинчик, все данные в котором помещаются в одной таблице. Информация же будет выводиться на нескольких страницах, в виде иерархии разделов каталога и, собственно, товаров внутри раздела.
2007.11.2 Java cpu 1
В далеком 2003 г. я написал серию статей посвященных криптографии, проектированию пользовательских интерфейсов для java с помощью продукта (сейчас почившей в бозе конторки) похожего на xul, xaml .... Написал серию статей посвященных разработке плагинов для borland jbuilder (также почившего в бозе). Ниже перичислены ссылки на оригиналы статей опубликованных тогда на javable.com
2007.10.11 Iwasonjavable
Программа написанная на java, назначение которой создание на основании сайта в формате mediawiki
набора страниц html для последующей сборки их в единый файл в формате chm.
Преимущества использования моей программы в том, что она специализирована под mediawiki.
И в отличии от универсальных offline-менеджеров не загружает абсолютно все
(ссылки на служебные страницы, версии для печати, страницу для правки статьи, загрузки файлов,
истории правок).
Вы можете задать шаблон для будущего проекта, сохранить его, продолжать и приостанавливать работу.
В шаблоне возможно использовать стили css. Корректно обрабатываются изображения.
Программа wiki2chm служит для создания на основании сайта mediawiki единого файла chm содержащего все страницы/изображения (возможно указывать критерии отбора документов). В отличии от универсальных "сайто-выкачивальщиков", например, offline explorer, teleport, моя программа специализированна именно на mediawiki стиль документов и не загружает избыточные страницы (служебные, правка, история).
2007.9.6 Узнай больше об проекте wiki2chm
Эта статья будет несколько необычной. Если вы уже привыкли к моему стилю с множество текста, примеров исходного кода программ и пары маленьких картинок, то самое время что-нибудь поменять. Сегодня мы работаем с программой irrEdit. Это стандартный для irrlicht визуальный редактор 3d-окружения.
2007.8.20 irrlicht - часть 12
В этой статье я начал рассказ о шейдерах, пока только введение в суть дела. Я рассуждаю об прошлом, и персективах будущего в области многоядреных вычислений, графических процессоров, одним словом, рассказываю сказки. В следующих ыпусках ждите пример того как загрузить шейдеры в irrlicht
2007.8.20 irrlicht - часть 13
Хайберия - инструмент для тех кто работает с java hibernate
и хочет исследовать какие иерархии объектов возвращаются из запросов HQL
2007.1.1 HYBERIA - hibernate explorer
В прошлый раз мы начали изучение графических средств irrlicht. Пока мы ограничиваемся работой только с 2d-графикой, параллельно изучая на простых примерах особенности языка python|jython. В статье № 4 мы начали большой пример игры “угадай число”. Сегодня мы продолжим ее развивать с помощью пользовательских функций (udf – user defined functions).
2007.1.1 irrlicht - часть 6
Продолжим начатое в предыдущей статье серии рассмотрение возможностей python. В прошлый раз мы дошли только до условного оператора, позволяющего делать выбор из некоторого количества альтернатив развития алгоритма. На основании определенного условия мы совершаем одно действие, если условие выполнилось или истинно, и другое если это не так.
2007.1.1 irrlicht - часть 4
Сегодня мы продолжаем знакомиться со средствами irrlicht. Пока мы работаем только с 2d-графикой. На этот раз мы научимся выводить на экран текстовые надписи, разумеется, с русскими буквами. Также разберем возможности модуля string – содержащего функции работы со строками.
2007.1.1 irrlicht - часть 7
Весь предыдущий материал нас подготавливал к этой главе. Сегодня мы попробуем применить полученные нами знания в языке python, вызывая графические функции irrlicht. Сначала займемся настройкой и установкой, аккуратно пройдите все шаги.
2007.1.1 irrlicht - часть 5
В прошлый раз мы начали знакомство с реализацией ООП в python|jython и использовали полученные знания для организации самого простого взаимодействия irrlicht с пользователем – реакции на события клавиатуры. Сегодня мы продолжаем эту тему и разберем, как обрабатывать события мыши, а также попробуем спроектировать интерфейс приложения с помощью стандартных компонентов GUI: кнопки, списки, диалоговые окна.
2007.1.1 irrlicht - часть 10
В предыдущей статье серии мы определились с выбором 3d-движка, а также используемым языком программирования. Теперь пора приступать к работе.
2007.1.1 irrlicht - часть 3
В прошлый раз мы научились проектировать интерфейс приложения, используя стандартные компонентов GUI: кнопки, списки, диалоговые окна. Сегодня мы завершаем эту тему. Так нам осталось рассмотреть методику обработки событий от этих компонентов. А также мы попробуем загрузить в среду irrlicht уровень от quake2/3.
2007.1.1 irrlicht - часть 11
В прошлый раз мы продолжили изучать продвинутые методики создания собственных функций, также работали со списками и tuple. Сегодня мы вернемся к изучению средств irrlicht. Наша цель научиться работать с механизмами взаимодействия между пользователем и средой irrlicht. Так мы научимся обрабатывать события от клавиатуры.
2007.1.1 irrlicht - часть 9
В прошлый раз мы учились выводить на экран надписи в irrlicht, изучали методы работы со строками текста (модуль string). Сегодня мы отложим немного в сторону irrlicht и продолжим изучать собственные средства python|jython. Сложность наших примеров будет с каждым разом возрастать и нам необходимы способы оперировать большим количеством сложноорганизованной информации. Т.е. нам нужен механизм группировки множества переменных в централизованные группы и нужны способы выполнять ВЗАИМОСВЯЗАННЫЕ действия сразу над множеством этих переменных.
2007.1.1 irrlicht - часть 8
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 3
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я рассказываю о менеджерах раскладок, об работе с диалоговыми окнами, создание обработчиков событий. Работа с кнопками, иконками и текстовыми полями.
2007.1.1 часть 1 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я продолжаю рассказ о возможностях ASWing и сегодня нас ждет знакомство с всплывающими окнами, работа со шрифтами, мы создаем меню (обычное и контекстное). Не остаются в строне и такие компоненты-контейнеры как JLoadPane, JTabbedPane, JAccordion. Напоследок покажу как работать с JAdjuster и JProgressBar.
2007.1.1 часть 2 про flash9 и aswing
Каждый настоящий флешер должен знать три закона Ньютона, один закон Пифагора, и иметь на книжной полке справочник по физике и математике. Здесь я пишу то там как macromedia и adobe халявят и не могут сделать нормальной поддержки физики/математики в своих продуктах, так что приходится использовать посторонние решения (open source - GO, GO !, GO !!!) или реализовывать все самим.
2007.1.1 Про восьмой флеш и физику - часть 1
Сегодня мы продолжаем начатый в прошлый раз рассказ о методах интеграции физики во flash. В прошлый раз мы рассмотрели основы векторной математики. Мы узнали, что такое вектор, что такое длина вектора, и нормаль к нему, и что такое нормализованный вектор. Поняли, как векторы преобразуются в углы, и какой смысл несет скалярное произведение двух векторов. Сегодня мы завершаем рассмотрение этой темы, нам осталось разобраться с понятием движения по вектору. Также мы рассмотрим механизм определения точки, где два вектора пересекаются.
2007.1.1 Про восьмой флеш и физику - часть 2
Отладка в мире веб-приложений (flash/flex/ajax <-> server side)... Как я тебя не навижу.
В свое время замучанный непонятными багами разрабатываемых приложений под ajax и flash обменивающихся данными с сервером, я написал на java приложение, которое туннелирует трафик от браузера или иного веб-клиента на целевой сервер, при этом журналируя и отображая всю прошедшую информацию в удобном виде.
2007.1.1 Узнай больше об проекте туннелятор
Эта статья завершает собой серию материалов посвященных интеграции flash8 и физики. Сегодня мы перейдем от рассмотрения взаимодействия идеальных тел, таких как точка и линия, к более сложным и приближенным к реальной жизни. Серия заканчивается не потому, что закончились интересные законы физики|математики, а из-за грядущего выхода flash cs3 с поддержкой actionscript3. Работа с которым и будет рассматриваться в других сериях статей.
2007.1.1 Про восьмой флеш и физику - часть 3
В прошлый раз мы остановились на том, что выбирали 3d движок который будем использовать для этой серии уроков в качестве основы был использован ресурс http://www.devmaster.net/engines. Если вы открыли и внимательно его изучили, то нашли три интересные колонки, в которых перечислены “самые, самые” рейтинга “3d-движков”.
2007.1.1 irrlicht - часть 2
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Сегодня я рассказываю байки о том какая полезная вещь MVC и об реализации ее в ASwing. Мы знакомимся с JList, JTable. Я рассказываю об идее Renderer-ов и Editor-ов для сложных визуальных компонентов.
2007.1.1 часть 3 про flash9 и aswing
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 4
Эта статья начнет серию материалов посвященных разработке 3d-приложений. Будут рассмотрены общие методики проектирования и программирования, которые могут быть применены как для разработки игр, так и для разработки более серьезных приложений: например задач визуализации каких-либо физических или химических процессов, создания моделей интерьера, или графического изображения поверхностей задаваемых некоторыми математическими функциями, в общем всего что будет подвластно вашей фантазии.
Начнем, пожалуй, с выбора средств и инструментов разработки с их обоснованием.
2007.1.1 irrlicht - часть 1
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Сегодня я завершаю рассказ о ASwing и на очереди рассмотрение возможностей JTree. Уделю пару слов и всплывающими подсказами (JToolTip) и работе с DnD.
2007.1.1 часть 4 про flash9 и aswing
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 2
Этот проект написан на java и представляет собой утилиту которая служит для сравнения двух документов html/xhtml/xml. Необходимость его разработки была возникала тогда когда при верстке сайтов с последующей их нарезкой на шаблоны для некоторого движка шаблонификации (smarty/xsl/добавьте сами что вам нравится). Получающийся html документ не совпадает с эталонной версткой. Обычно это где нибудь не закрытий или лишний тег, найти который (если верстка не две таблицы с тремя колонками) довольно сложно. Особое внимание я уделил вопросу обработки некорректных html документов (как оригинальных так и генерируемых). Поэтому я говорю спасибо проекту TagSoap - и всем его авторам, создавшим настоящее чудо - парсер который может читать некорректные html документы и по мере своих сил их исправлять.
2007.1.1 Узнай больше об проекте сравниватель xml и других
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
Признаюсь что писал данный материал я еще в далеком детстве года, эдак, 4 назад
поэтому мой литературный стиль еще не так отточен как хотелось, текст сыроват, плоховат,
и наверняка сильно устарел, но раз уж я его нашел среди своих старых материалов, то почему бы и нет.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 1
|
Физика
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Эта статья является логическим продолжением ранее опубликованной серии посвященной 2d-физике для flash-разработчиков. Сегодня я продолжу рассказ о методах “плоской” физической симуляции, вот только язык программирования будет java.
2008.04.10 Phys2D: физика и java
Сегодня я завершу рассказ об FOAM. FOAM - это один из лучших физических движков доступных для flash-разработчиков. В прошлый раз я рассказал об идее легшей в основу FOAM (четкое разделение ответственности за расчеты между несколькими частями движка), об иерархии интерактивных объектов (которые мы можем добавить на сцену). Сегодня осталось только рассмотреть методику добавления к объектам, воздействующих на них сил и ограничений. Также интересен вопрос о создании renderer-ов, (пользовательских объектов позволяющих управлять тем, как “голый” физический объект можно визуализировать).
2008.4.2 FOAM: физика и actionscript 3. Часть 2
Почти год назад я написал серию из трех статей посвященных основным физическим законам и их практическому применению при разработке flash-приложений. Тогда фокус внимания был посвящен flash 8, а код писался на actionscript2. Несколько раз я порывался написать статью, посвященную физике и flash, но использующую не “собственные поделки”, а flade (известный и, по сути, единственный качественный) физический движок для flash 8. Но не сложилось. Теперь я начну рассказ об физических движках во flash на примере FOAM.
2008.3.27 FOAM: физика и actionscript 3. Часть 1
Эта статья завершает собой серию материалов посвященных интеграции flash8 и физики. Сегодня мы перейдем от рассмотрения взаимодействия идеальных тел, таких как точка и линия, к более сложным и приближенным к реальной жизни. Серия заканчивается не потому, что закончились интересные законы физики|математики, а из-за грядущего выхода flash cs3 с поддержкой actionscript3. Работа с которым и будет рассматриваться в других сериях статей.
2007.1.1 Про восьмой флеш и физику - часть 3
Каждый настоящий флешер должен знать три закона Ньютона, один закон Пифагора, и иметь на книжной полке справочник по физике и математике. Здесь я пишу то там как macromedia и adobe халявят и не могут сделать нормальной поддержки физики/математики в своих продуктах, так что приходится использовать посторонние решения (open source - GO, GO !, GO !!!) или реализовывать все самим.
2007.1.1 Про восьмой флеш и физику - часть 1
Сегодня мы продолжаем начатый в прошлый раз рассказ о методах интеграции физики во flash. В прошлый раз мы рассмотрели основы векторной математики. Мы узнали, что такое вектор, что такое длина вектора, и нормаль к нему, и что такое нормализованный вектор. Поняли, как векторы преобразуются в углы, и какой смысл несет скалярное произведение двух векторов. Сегодня мы завершаем рассмотрение этой темы, нам осталось разобраться с понятием движения по вектору. Также мы рассмотрим механизм определения точки, где два вектора пересекаются.
2007.1.1 Про восьмой флеш и физику - часть 2
|
Flash
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Эта статья является логическим продолжением ранее опубликованной серии посвященной 2d-физике для flash-разработчиков. Сегодня я продолжу рассказ о методах “плоской” физической симуляции, вот только язык программирования будет java.
2008.04.10 Phys2D: физика и java
Сегодня я завершу рассказ об FOAM. FOAM - это один из лучших физических движков доступных для flash-разработчиков. В прошлый раз я рассказал об идее легшей в основу FOAM (четкое разделение ответственности за расчеты между несколькими частями движка), об иерархии интерактивных объектов (которые мы можем добавить на сцену). Сегодня осталось только рассмотреть методику добавления к объектам, воздействующих на них сил и ограничений. Также интересен вопрос о создании renderer-ов, (пользовательских объектов позволяющих управлять тем, как “голый” физический объект можно визуализировать).
2008.4.2 FOAM: физика и actionscript 3. Часть 2
Почти год назад я написал серию из трех статей посвященных основным физическим законам и их практическому применению при разработке flash-приложений. Тогда фокус внимания был посвящен flash 8, а код писался на actionscript2. Несколько раз я порывался написать статью, посвященную физике и flash, но использующую не “собственные поделки”, а flade (известный и, по сути, единственный качественный) физический движок для flash 8. Но не сложилось. Теперь я начну рассказ об физических движках во flash на примере FOAM.
2008.3.27 FOAM: физика и actionscript 3. Часть 1
Я был вынужден написать данное расширение после того, как провел неутешительный анализ возможностей расширений по данной тематике найденны на mediawiki.org. Скрипт интегрирован с swfobject. Умеет управлять версией flashplayer, передавать swf-файлу произвольные параметры, корректно обрабатывает ситуацию когда flashplayer у клиента не установлен.
2008.1.13 Flvswf
Утилита “smalldebugger” служит для отладки flash/flex приложений. Состоит из двух частей: сервер и клиент. Коммуникация между этими двумя частями идет с помощью LocalConnection. Умеет "охотиться" на несколько профилей сообщений, умеет фильтровать полученные сообщения, поддерживается экспорт полученных сообщений в excel, автоматический и по-требованию сброс списка сообщений в базу mysql, в углу крутиться красивая иконка - сигнал о полученном сообщении ... Пользуйтесь на здоровье.
2007.12.11 Proj smallflexdebugger
Сегодня мы продолжим и завершим рассмотрение вопроса о разработке внедренных в сайт графиков, диаграмм. После рассказа о библиотеках php, которые генерируют статические картинки, логичным будет завершить тему рассмотрением подобных средство но для уже flash.
2007.10.22 Графики, диаграммы, графы … и все это в веб? Часть 2
Выложена серия статей посвященных методике и библиотекам для создания и внедрения в веб-страницы
графиков, диаграмм. Рассматривается 6-ть библиотек (конечно, получилось немного, галопом по европам)
три библиотеки для php (генерируют статические картинки) и три библиотеки для flash.
В первой части я рассказываю о общих методиках построения графиков, диаграмм, внедрения их на страницы, быстро разбиваю в пух и прах всякие ужасные методы вроде java/activex (прости меня java, но истина дороже), и после пары слов о canvas и svg перехожу к разбору библиотечек для php генерирующих статические изображения.
2007.10.15 Графики, диаграммы, графы … и все это в веб? Часть 1
Я продолжаю знакомить вас с различными технологиями в мире flash позволяющими быстрее и проще (без глупых ошибок) создавать сложные приложения. Тема сегодняшнего материала – это организация взаимодействия между flash и серверными скриптами написанными на php.
2007.1.1 Часть первая и единственная про flash8 и swx
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я продолжаю рассказ о возможностях ASWing и сегодня нас ждет знакомство с всплывающими окнами, работа со шрифтами, мы создаем меню (обычное и контекстное). Не остаются в строне и такие компоненты-контейнеры как JLoadPane, JTabbedPane, JAccordion. Напоследок покажу как работать с JAdjuster и JProgressBar.
2007.1.1 часть 2 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Сегодня я завершаю рассказ о ASwing и на очереди рассмотрение возможностей JTree. Уделю пару слов и всплывающими подсказами (JToolTip) и работе с DnD.
2007.1.1 часть 4 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Сегодня я рассказываю байки о том какая полезная вещь MVC и об реализации ее в ASwing. Мы знакомимся с JList, JTable. Я рассказываю об идее Renderer-ов и Editor-ов для сложных визуальных компонентов.
2007.1.1 часть 3 про flash9 и aswing
Я завершаю рассказ о 3d-движке для flash sandy3d. Сегодняшний материал посвящен советам и трюкам.
2007.1.1 Про 3-е измерение во flash с помощью sandy 3d - часть 3
Сегодня мы продолжаем начатый в прошлый раз рассказ о методах интеграции физики во flash. В прошлый раз мы рассмотрели основы векторной математики. Мы узнали, что такое вектор, что такое длина вектора, и нормаль к нему, и что такое нормализованный вектор. Поняли, как векторы преобразуются в углы, и какой смысл несет скалярное произведение двух векторов. Сегодня мы завершаем рассмотрение этой темы, нам осталось разобраться с понятием движения по вектору. Также мы рассмотрим механизм определения точки, где два вектора пересекаются.
2007.1.1 Про восьмой флеш и физику - часть 2
Каждый настоящий флешер должен знать три закона Ньютона, один закон Пифагора, и иметь на книжной полке справочник по физике и математике. Здесь я пишу то там как macromedia и adobe халявят и не могут сделать нормальной поддержки физики/математики в своих продуктах, так что приходится использовать посторонние решения (open source - GO, GO !, GO !!!) или реализовывать все самим.
2007.1.1 Про восьмой флеш и физику - часть 1
Эта статья завершает собой серию материалов посвященных интеграции flash8 и физики. Сегодня мы перейдем от рассмотрения взаимодействия идеальных тел, таких как точка и линия, к более сложным и приближенным к реальной жизни. Серия заканчивается не потому, что закончились интересные законы физики|математики, а из-за грядущего выхода flash cs3 с поддержкой actionscript3. Работа с которым и будет рассматриваться в других сериях статей.
2007.1.1 Про восьмой флеш и физику - часть 3
Ладно, ладно, я прекрасно знаю что 3d во flash это пытка над вычистельными ресурсами компа
и что главное нервами посетителя. На текущий момент есть тройка крепких 3d движков во flash
(правда, по возможностям сравнительно к серьезным (написанным на c|c++) движкам,
они близки к годам, эдак, 93-95). Два моих самых любимых это
* sandy3d (http://www.flashsandy.org) и
* papervision 3d (http://www.papervision3d.org/)
вот я и написал серию статеек посвященых этим продуктам:
2007.1.1 Про 3-е измерение во flash с помощью sandy 3d - часть 1
Я продолжаю рассказ о 3d-движке для flash sandy3d.
2007.1.1 Про 3-е измерение во flash с помощью sandy 3d - часть 2
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я рассказываю о менеджерах раскладок, об работе с диалоговыми окнами, создание обработчиков событий. Работа с кнопками, иконками и текстовыми полями.
2007.1.1 часть 1 про flash9 и aswing
|
XML
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Готовясь написать серию заметок про Velocity, решил я пока выложить один из своих ранних проектов. Сервлет-фильтр, выполняющий прозрачную генерацию html-документов с помощью Velocity. Если вы не знаете что такое Velocity, то это универсальный движок шаблонификации (для java). Velocity может быть использован для генерации документа на основании шаблона и "что-там-нужно-вставить-в-шаблоне-в-нужные-места".
2008.4.7 Velocity Фильтр
Сегодня я продолжу и завершу рассмотрение технологий, составляющих основу Семантической Паутины. В прошлой статье я начал рассказ об одной из наиболее популярных (и уже нашедших практическое применение в ряде веб-приложений) технологий – FOAF. FOAF позволяет нам создавать описания “своего профиля”, указывать то, с какими сайтами или документами вы взаимосвязаны, и (самая “соль” технологии) указывать “дружеские” отношения с другими участниками сети.
2008.3.22 Семантическая сеть. Часть 4
Я продолжаю рассказ о технологиях, которые составляют ядро Семантической Паутины. В прошлый раз я завершил краткое введение в RDF и рассказал о проекте Dublin core. Сегодня фокус внимания будет посвящен FOAF, XFN, openid, социальным сетям.
2008.3.17 Семантическая сеть. Часть 3
Я продолжаю рассказ о Семантической Паутине и технологиях. Сегодня я продолжаю описание RDF, ввожу понятие RDF-словарей и и кратко описывают идеи лежащие в основе DC (dublin core)
2008.3.14 Семантическая сеть. Часть 2
В начале 2000-ых годов я впервые услышал о идее которую пропагандировал Тим Бернерс-Ли. Это была идея Семантической Паутины (Semantic Web) и о том как она изменит привычный нам internet. Я буду рассказывать о RDF, FOAF, микроформатах.
2008.3.10 Семантическая сеть. Часть 1
Сегодня мы продолжим и завершим рассмотрение вопроса о разработке внедренных в сайт графиков, диаграмм. После рассказа о библиотеках php, которые генерируют статические картинки, логичным будет завершить тему рассмотрением подобных средство но для уже flash.
2007.10.22 Графики, диаграммы, графы … и все это в веб? Часть 2
Выложена серия статей посвященных методике и библиотекам для создания и внедрения в веб-страницы
графиков, диаграмм. Рассматривается 6-ть библиотек (конечно, получилось немного, галопом по европам)
три библиотеки для php (генерируют статические картинки) и три библиотеки для flash.
В первой части я рассказываю о общих методиках построения графиков, диаграмм, внедрения их на страницы, быстро разбиваю в пух и прах всякие ужасные методы вроде java/activex (прости меня java, но истина дороже), и после пары слов о canvas и svg перехожу к разбору библиотечек для php генерирующих статические изображения.
2007.10.15 Графики, диаграммы, графы … и все это в веб? Часть 1
|
3d графика
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
В этой статье я начал рассказ о шейдерах, пока только введение в суть дела. Я рассуждаю об прошлом, и персективах будущего в области многоядреных вычислений, графических процессоров, одним словом, рассказываю сказки. В следующих ыпусках ждите пример того как загрузить шейдеры в irrlicht
2007.8.20 irrlicht - часть 13
Эта статья будет несколько необычной. Если вы уже привыкли к моему стилю с множество текста, примеров исходного кода программ и пары маленьких картинок, то самое время что-нибудь поменять. Сегодня мы работаем с программой irrEdit. Это стандартный для irrlicht визуальный редактор 3d-окружения.
2007.8.20 irrlicht - часть 12
В прошлый раз мы учились выводить на экран надписи в irrlicht, изучали методы работы со строками текста (модуль string). Сегодня мы отложим немного в сторону irrlicht и продолжим изучать собственные средства python|jython. Сложность наших примеров будет с каждым разом возрастать и нам необходимы способы оперировать большим количеством сложноорганизованной информации. Т.е. нам нужен механизм группировки множества переменных в централизованные группы и нужны способы выполнять ВЗАИМОСВЯЗАННЫЕ действия сразу над множеством этих переменных.
2007.1.1 irrlicht - часть 8
Сегодня мы продолжаем знакомиться со средствами irrlicht. Пока мы работаем только с 2d-графикой. На этот раз мы научимся выводить на экран текстовые надписи, разумеется, с русскими буквами. Также разберем возможности модуля string – содержащего функции работы со строками.
2007.1.1 irrlicht - часть 7
В прошлый раз мы продолжили изучать продвинутые методики создания собственных функций, также работали со списками и tuple. Сегодня мы вернемся к изучению средств irrlicht. Наша цель научиться работать с механизмами взаимодействия между пользователем и средой irrlicht. Так мы научимся обрабатывать события от клавиатуры.
2007.1.1 irrlicht - часть 9
В прошлый раз мы научились проектировать интерфейс приложения, используя стандартные компонентов GUI: кнопки, списки, диалоговые окна. Сегодня мы завершаем эту тему. Так нам осталось рассмотреть методику обработки событий от этих компонентов. А также мы попробуем загрузить в среду irrlicht уровень от quake2/3.
2007.1.1 irrlicht - часть 11
В прошлый раз мы начали изучение графических средств irrlicht. Пока мы ограничиваемся работой только с 2d-графикой, параллельно изучая на простых примерах особенности языка python|jython. В статье № 4 мы начали большой пример игры “угадай число”. Сегодня мы продолжим ее развивать с помощью пользовательских функций (udf – user defined functions).
