Материал из Dom.
Приветствую Вас на моем сайте. Здесь я выкладываю тексты статей, которые я пишу, и некоторые из созданных мною програм. Благодаря использованию вики вы можете обсуждать, вносить правки в мои работы. Я надеюсь, что каждый сможет найти для себя нечто полезное среди огромной кипы материалов. Круг моих интересов в области программирования достаточно велик. Пишу я правда, не очень часто (хотя стараюсь выдерживать ритм и писать каждую неделю 1-2 статьи), так что это не совсем похоже на привычный вам блог с множеством мелких заметок.
Сразу предупреждаю: все материалы - авторские. Я не копирую ничего из сети. Иногда я перевожу англоязычные материалы, но почти всегда добавляю в них свое видение вопроса, свои примеры и т.д.
Я разрешаю каждому копировать и использовать размещенные здесь материалы не с целью извлечения прямой коммерческой выгоды. Это значит что вы можете брать статьи и размещать их на своих сайтах, но при условии обязательного сохранения авторского права, и вы обязаны в тексте статьи делать ссылку на мой сайт.
|
JAVA
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Существует несколько интерфейсов являющихся базовыми точками расширения hibernate-функциональности: UserType, CompositeUserType, UserCollectionType, EnhancedUserType, UserVersionType, ParametrizedType. Не все эти интерфейсы часто используются в практике, так я сосредоточусь на описании возможностей только UserType, CompositeUserType и ParametrizedType.
2008.7.31 Hibernate: Пользовательские типы в hibernate. Разбираемся с UDT
ТHibernate служит для отображения java-классов на таблицы БД. Естественно, что бывают ситуации, когда иерархия (сеть) классов java является более "богатой" и не может быть (не должна) переводиться в таблицы БД непосредственно. Классический пример, это класс (таблица) User, который помимо простых свойств fio, age (отображаемых непосредственно на поля таблицы user), содержит более сложные поля. Например, поле homeAddress (тип Address) хранит сведения об домашнем адресе user-а. Я расскажу о том как реализовать подобную функциональность с помощью component-ов.
2008.7.29 Hibernate: Пользовательские типы в hibernate. Разбираемся с компонентами
Сегодняшняя статья рассказывает об unit-тестировании и такой его части как тестирование кода работающего с базой данных. Одним из наиболее популярных средств для разработки юнит-тестов в среде java является dbUnit. Назначение же liquiBase - поддержать процесс развития БД, внесения в ее изменений.
2008.7.27 Пишем и тестируем код, работающий с БД, вместе с DBUnit и LiquiBase. Часть 1
Сегодня я завершаю рассказ о JIRA, системе управления проектами, задачами не только в сфере разработки ПО но и во многих других областях. Основное внимание будет сегодня посвящено интеграции JIRA с системами управления версиями файлов и мониторингу за выполняемой работой, оценкой трудозатрат и планированию.
2008.7.19 JIRA: Все, что пожелаешь, Хозяин. Часть 4
JIRA – это не просто система управления проектами, журнал учета обнаруженных ошибок, контроля за выполнением работ и средство для общения предприятия с клиентами – это настоящий конструктор, позволяющий создать приложение, путь не вашей мечты, но близкое к тому бизнес-процессу, который есть у вас. Основной акцент я делаю на применение JIRA в сфере разработки ПО. Но с таким же успехом можно применить JIRA и для управления другими видами проектов.
2008.7.13 JIRA: Все, что пожелаешь, Хозяин. Часть 3
Я продолжаю рассказ об JIRA. Управление процессом разработки ПО, ведение журнала пожеланий, задач, обнаруженных багов – все это сфера применения JIRA. В прошлый раз я показал, как установить JIRA у себя на компьютере, рассказал о политике безопасности. Теперь самое время создать проект, разобраться в его составляющих, попробовать пройтись по шагам Жизненного Цикла.
2008.7.6 JIRA: Все, что пожелаешь, Хозяин. Часть 2
Тема сегодняшней статьи – как отобразить иерархию классов на реляционную модель данных. Наследование – это один из столпов ООП, а раз в СУБД нет родного понятия или методики представления подобного отношения, то все что нам остается – это имитировать наследование классов различными способами. В hibernate есть три методики имитации: “вся иерархия классов в одной таблице”, “одна таблица базовому классу и каждому подклассу по таблице дополнений”, “каждому классу свою, независимую от остальных таблицу”.
2008.6.26 Hibernate: отображая иерархии классов
Сегодня завершающая статья посвященная работе с sql (да-да-да, я сделал это) и fmt.
2008.6.24 JSTL: Шаблоны для разработки веб-приложений в java. Часть 3
В прошлый раз я рассказал о jstl-тегах основного назначения, сегодня самое время перейти к средствам позволяющим работать с xml.
2008.6.19 JSTL: Шаблоны для разработки веб-приложений в java. Часть 2
Управление проектами – не простая наука, для этого нужны знания (и еще больше опыт) во множестве сфер связанных и с социальными, техническими, экономическими технологиями. Я ставлю перед собой более простую задачу: рассказать об “управлении желаниями” и программными продуктами, которые могут вам помочь вести учет пожеланий клиентов, контролировать их выполнение в сфере разработки ПО.
2008.6.16 JIRA: Все, что пожелаешь, Хозяин. Часть 1
Это статья является логическим продолжением серии материалов под названием “Тестируй веб-сайты вместе с Badboy”. Как видите, названия статей похожи, отличия только в конкретных программных продуктах, которые будут использованы. Сегодня я расскажу, что такое Jmeter, как он соотносится с badboy.
2008.6.12 Тестируй веб-сайты вместе с Jmeter
Эта статья является логическим развитием материалов посвященных средствам отображения информации (слой View в ставшей уже классической связке Model-View-Controller). Чтобы вы понимали место, которое занимают JSTL и Velocity нужно рассказать о Страшной Ошибке постигшей разработчиков jsp. Кроме рассказа об Страшной Ошибке с Черной Рукой я рассказываю об первом пакете (наборе jstl-тегов) - core.
2008.6.9 JSTL: Шаблоны для разработки веб-приложений в java. Часть 1
Это последняя статья, которая рассказывает о badboy. Сегодня мы завершим рассмотрение методик тестирования сайта под “нагрузкой”, рассмотрим несколько “продвинутых” методик создания сценария тестирования.
2008.6.2 Тестируй веб-сайты вместе с Badboy. Часть 3
Я продолжаю рассказ об badboy, инструменте похожем на большой магнитофон. Badboy запишет ваши действия с веб-сайтом (переходы по страницам, нажатия кнопок). Затем записанную последовательность действий вы сможете “проиграть”, чтобы проверить качество реализации сайта и то, как он работает под “нагрузкой”.
2008.5.29 Тестируй веб-сайты вместе с Badboy. Часть 2
Разработка программного обеспечения не самая простая наука. И уж тем более не сводится к знанию языков программирования и разных библиотечек с готовыми наработками. Если создавать что-то не “для себя” или “на потеху”, а заниматься разработкой ПО профессионально, зарабатывать деньги, то необходимо качественно “пройтись” по всем шагам жизненного цикла ПО: от планирования до сопровождения. Сегодня рассказ будет посвящен такому этапу как тестирование.
2008.5.26 Тестируй веб-сайты вместе с Badboy. Часть 1
Прошлые две статьи были посвящены работе с ассоциацими “один-ко-многим”. Фактически этот вид ассоциаций является наиболее ценным и часто используемым. В теории СУБД (и соответственно, в hibernate) есть еще два вида связей: один-к-одному и многие-ко-многим. Сначала разберем пример, когда могут потребоваться именно такие отношения между таблицами.
2008.5.21 Hibernate: Связи вида Многие-ко-Многим и Один-к-Одному
Продолжаю рассказывать про 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. Сегодня внимание посвящено JTree (работа с иерархическими данными)
2008.2.26 Про swing - часть 5
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено таким контейнерам как JScrollPane, JSplitPane, JTabbedPane
2008.2.26 Про swing - часть 6
Я продолжаю выкладку серии статей, посвященных работе в java с swing. Сегодня внимание посвящено работе с JProgressBar и созданию меню
2008.2.26 Про swing - часть 7
Я продолжаю выкладку серии статей (а-га, после того как месяц назад затер файлы), посвященных работе в java с swing. Сегодня внимание посвящено работе с JTable (отображение табличных данных)
2008.2.26 Про swing - часть 4
После рассказа о 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
В этой статье я начал рассказ о шейдерах, пока только введение в суть дела. Я рассуждаю об прошлом, и персективах будущего в области многоядреных вычислений, графических процессоров, одним словом, рассказываю сказки. В следующих ыпусках ждите пример того как загрузить шейдеры в irrlicht
2007.8.20 irrlicht - часть 13
Эта статья будет несколько необычной. Если вы уже привыкли к моему стилю с множество текста, примеров исходного кода программ и пары маленьких картинок, то самое время что-нибудь поменять. Сегодня мы работаем с программой irrEdit. Это стандартный для irrlicht визуальный редактор 3d-окружения.
2007.8.20 irrlicht - часть 12
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 3
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 2
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 4
Хайберия - инструмент для тех кто работает с java hibernate
и хочет исследовать какие иерархии объектов возвращаются из запросов HQL
2007.1.1 HYBERIA - hibernate explorer
Этот проект написан на java и представляет собой утилиту которая служит для сравнения двух документов html/xhtml/xml. Необходимость его разработки была возникала тогда когда при верстке сайтов с последующей их нарезкой на шаблоны для некоторого движка шаблонификации (smarty/xsl/добавьте сами что вам нравится). Получающийся html документ не совпадает с эталонной версткой. Обычно это где нибудь не закрытий или лишний тег, найти который (если верстка не две таблицы с тремя колонками) довольно сложно. Особое внимание я уделил вопросу обработки некорректных html документов (как оригинальных так и генерируемых). Поэтому я говорю спасибо проекту TagSoap - и всем его авторам, создавшим настоящее чудо - парсер который может читать некорректные html документы и по мере своих сил их исправлять.
2007.1.1 Узнай больше об проекте сравниватель xml и других
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я продолжаю рассказ о возможностях ASWing и сегодня нас ждет знакомство с всплывающими окнами, работа со шрифтами, мы создаем меню (обычное и контекстное). Не остаются в строне и такие компоненты-контейнеры как JLoadPane, JTabbedPane, JAccordion. Напоследок покажу как работать с JAdjuster и JProgressBar.
2007.1.1 часть 2 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я рассказываю о менеджерах раскладок, об работе с диалоговыми окнами, создание обработчиков событий. Работа с кнопками, иконками и текстовыми полями.
2007.1.1 часть 1 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Сегодня я рассказываю байки о том какая полезная вещь MVC и об реализации ее в ASwing. Мы знакомимся с JList, JTable. Я рассказываю об идее Renderer-ов и Editor-ов для сложных визуальных компонентов.
2007.1.1 часть 3 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Сегодня я завершаю рассказ о ASwing и на очереди рассмотрение возможностей JTree. Уделю пару слов и всплывающими подсказами (JToolTip) и работе с DnD.
2007.1.1 часть 4 про flash9 и aswing
Есть такая замечательная фирма ibm и делает она базу данных
cloudscape (вот ее адрес http://www.ibm.com/software/data/cloudscape/).
Вообще-то, ibm купила разработчиков cloudscape еще лет 5-ть назад, но сути дела это не меняет.
Т.к. база для мира java очень хорошая, и я ей пользовался некоторое время назад.
Признаюсь что писал данный материал я еще в далеком детстве года, эдак, 4 назад
поэтому мой литературный стиль еще не так отточен как хотелось, текст сыроват, плоховат,
и наверняка сильно устарел, но раз уж я его нашел среди своих старых материалов, то почему бы и нет.
2007.1.1 вот здесь можно узнать больше об базе данных cloudscape - часть 1
В прошлый раз мы научились проектировать интерфейс приложения, используя стандартные компонентов GUI: кнопки, списки, диалоговые окна. Сегодня мы завершаем эту тему. Так нам осталось рассмотреть методику обработки событий от этих компонентов. А также мы попробуем загрузить в среду irrlicht уровень от quake2/3.
2007.1.1 irrlicht - часть 11
Весь предыдущий материал нас подготавливал к этой главе. Сегодня мы попробуем применить полученные нами знания в языке python, вызывая графические функции irrlicht. Сначала займемся настройкой и установкой, аккуратно пройдите все шаги.
2007.1.1 irrlicht - часть 5
В прошлый раз мы начали изучение графических средств irrlicht. Пока мы ограничиваемся работой только с 2d-графикой, параллельно изучая на простых примерах особенности языка python|jython. В статье № 4 мы начали большой пример игры “угадай число”. Сегодня мы продолжим ее развивать с помощью пользовательских функций (udf – user defined functions).
2007.1.1 irrlicht - часть 6
Продолжим начатое в предыдущей статье серии рассмотрение возможностей python. В прошлый раз мы дошли только до условного оператора, позволяющего делать выбор из некоторого количества альтернатив развития алгоритма. На основании определенного условия мы совершаем одно действие, если условие выполнилось или истинно, и другое если это не так.
2007.1.1 irrlicht - часть 4
В предыдущей статье серии мы определились с выбором 3d-движка, а также используемым языком программирования. Теперь пора приступать к работе.
2007.1.1 irrlicht - часть 3
Эта статья начнет серию материалов посвященных разработке 3d-приложений. Будут рассмотрены общие методики проектирования и программирования, которые могут быть применены как для разработки игр, так и для разработки более серьезных приложений: например задач визуализации каких-либо физических или химических процессов, создания моделей интерьера, или графического изображения поверхностей задаваемых некоторыми математическими функциями, в общем всего что будет подвластно вашей фантазии.
Начнем, пожалуй, с выбора средств и инструментов разработки с их обоснованием.
2007.1.1 irrlicht - часть 1
В прошлый раз мы остановились на том, что выбирали 3d движок который будем использовать для этой серии уроков в качестве основы был использован ресурс http://www.devmaster.net/engines. Если вы открыли и внимательно его изучили, то нашли три интересные колонки, в которых перечислены “самые, самые” рейтинга “3d-движков”.
2007.1.1 irrlicht - часть 2
Отладка в мире веб-приложений (flash/flex/ajax <-> server side)... Как я тебя не навижу.
В свое время замучанный непонятными багами разрабатываемых приложений под ajax и flash обменивающихся данными с сервером, я написал на java приложение, которое туннелирует трафик от браузера или иного веб-клиента на целевой сервер, при этом журналируя и отображая всю прошедшую информацию в удобном виде.
2007.1.1 Узнай больше об проекте туннелятор
Сегодня мы продолжаем знакомиться со средствами irrlicht. Пока мы работаем только с 2d-графикой. На этот раз мы научимся выводить на экран текстовые надписи, разумеется, с русскими буквами. Также разберем возможности модуля string – содержащего функции работы со строками.
2007.1.1 irrlicht - часть 7
Сегодня мы продолжаем начатый в прошлый раз рассказ о методах интеграции физики во flash. В прошлый раз мы рассмотрели основы векторной математики. Мы узнали, что такое вектор, что такое длина вектора, и нормаль к нему, и что такое нормализованный вектор. Поняли, как векторы преобразуются в углы, и какой смысл несет скалярное произведение двух векторов. Сегодня мы завершаем рассмотрение этой темы, нам осталось разобраться с понятием движения по вектору. Также мы рассмотрим механизм определения точки, где два вектора пересекаются.
2007.1.1 Про восьмой флеш и физику - часть 2
Эта статья завершает собой серию материалов посвященных интеграции flash8 и физики. Сегодня мы перейдем от рассмотрения взаимодействия идеальных тел, таких как точка и линия, к более сложным и приближенным к реальной жизни. Серия заканчивается не потому, что закончились интересные законы физики|математики, а из-за грядущего выхода flash cs3 с поддержкой actionscript3. Работа с которым и будет рассматриваться в других сериях статей.
2007.1.1 Про восьмой флеш и физику - часть 3
В прошлый раз мы учились выводить на экран надписи в irrlicht, изучали методы работы со строками текста (модуль string). Сегодня мы отложим немного в сторону irrlicht и продолжим изучать собственные средства python|jython. Сложность наших примеров будет с каждым разом возрастать и нам необходимы способы оперировать большим количеством сложноорганизованной информации. Т.е. нам нужен механизм группировки множества переменных в централизованные группы и нужны способы выполнять ВЗАИМОСВЯЗАННЫЕ действия сразу над множеством этих переменных.
2007.1.1 irrlicht - часть 8
Каждый настоящий флешер должен знать три закона Ньютона, один закон Пифагора, и иметь на книжной полке справочник по физике и математике. Здесь я пишу то там как macromedia и adobe халявят и не могут сделать нормальной поддержки физики/математики в своих продуктах, так что приходится использовать посторонние решения (open source - GO, GO !, GO !!!) или реализовывать все самим.
2007.1.1 Про восьмой флеш и физику - часть 1
В прошлый раз мы продолжили изучать продвинутые методики создания собственных функций, также работали со списками и tuple. Сегодня мы вернемся к изучению средств irrlicht. Наша цель научиться работать с механизмами взаимодействия между пользователем и средой irrlicht. Так мы научимся обрабатывать события от клавиатуры.
2007.1.1 irrlicht - часть 9
В прошлый раз мы начали знакомство с реализацией ООП в python|jython и использовали полученные знания для организации самого простого взаимодействия irrlicht с пользователем – реакции на события клавиатуры. Сегодня мы продолжаем эту тему и разберем, как обрабатывать события мыши, а также попробуем спроектировать интерфейс приложения с помощью стандартных компонентов GUI: кнопки, списки, диалоговые окна.
2007.1.1 irrlicht - часть 10
|
Flash
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Пришло время поделиться еще одной своей наработкой, теперь в области flash. MobileEng - игра-тренажер английского языка. Я специально разработал ее, когда приобрел себе в пользование наладонник ipaq 3715 и озаботился тем, что во время скучных поездок совсем нечем себя занять. Количество тренажеров английского языка для наладонников не слишком велико и, к сожалению, эти продукты не слишком разнообразны. В большинстве своем все сводится к тому, что на экране появляется английское слово и вы должны выбрать правильное значение перевода из списка некоторых вариантов. Я решил скрестить "выбери правильный вариант перевода" и известную игру на внимательность "не помню как она там называется, но вы ее вспомните, если посмотрите примеры скриншотов дальше".
2008.7.29 MobileEnglish: Прокачай свою внимательность и знания английского языка
Эта статья является логическим продолжением ранее опубликованной серии посвященной 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
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я продолжаю рассказ о возможностях ASWing и сегодня нас ждет знакомство с всплывающими окнами, работа со шрифтами, мы создаем меню (обычное и контекстное). Не остаются в строне и такие компоненты-контейнеры как JLoadPane, JTabbedPane, JAccordion. Напоследок покажу как работать с JAdjuster и JProgressBar.
2007.1.1 часть 2 про flash9 и aswing
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов ASWing. Я рассказываю о менеджерах раскладок, об работе с диалоговыми окнами, создание обработчиков событий. Работа с кнопками, иконками и текстовыми полями.
2007.1.1 часть 1 про flash9 и aswing
Я продолжаю знакомить вас с различными технологиями в мире flash позволяющими быстрее и проще (без глупых ошибок) создавать сложные приложения. Тема сегодняшнего материала – это организация взаимодействия между flash и серверными скриптами написанными на php.
2007.1.1 Часть первая и единственная про flash8 и swx
Тема сегодняшней статьи - библиотека создания пользовательских интерфейсов 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 это пытка над вычистельными ресурсами компа
и что главное нервами посетителя. На текущий момент есть тройка крепких 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
Каждый настоящий флешер должен знать три закона Ньютона, один закон Пифагора, и иметь на книжной полке справочник по физике и математике. Здесь я пишу то там как macromedia и adobe халявят и не могут сделать нормальной поддержки физики/математики в своих продуктах, так что приходится использовать посторонние решения (open source - GO, GO !, GO !!!) или реализовывать все самим.
2007.1.1 Про восьмой флеш и физику - часть 1
Сегодня мы продолжаем начатый в прошлый раз рассказ о методах интеграции физики во flash. В прошлый раз мы рассмотрели основы векторной математики. Мы узнали, что такое вектор, что такое длина вектора, и нормаль к нему, и что такое нормализованный вектор. Поняли, как векторы преобразуются в углы, и какой смысл несет скалярное произведение двух векторов. Сегодня мы завершаем рассмотрение этой темы, нам осталось разобраться с понятием движения по вектору. Также мы рассмотрим механизм определения точки, где два вектора пересекаются.
2007.1.1 Про восьмой флеш и физику - часть 2
Эта статья завершает собой серию материалов посвященных интеграции flash8 и физики. Сегодня мы перейдем от рассмотрения взаимодействия идеальных тел, таких как точка и линия, к более сложным и приближенным к реальной жизни. Серия заканчивается не потому, что закончились интересные законы физики|математики, а из-за грядущего выхода flash cs3 с поддержкой actionscript3. Работа с которым и будет рассматриваться в других сериях статей.
2007.1.1 Про восьмой флеш и физику - часть 3
Я продолжаю рассказ о 3d-движке для flash sandy3d.
2007.1.1 Про 3-е измерение во flash с помощью sandy 3d - часть 2
Я завершаю рассказ о 3d-движке для flash sandy3d. Сегодняшний материал посвящен советам и трюкам.
2007.1.1 Про 3-е измерение во flash с помощью sandy 3d - часть 3
|
Управление проектами
|
Всего статей: ; из них добавлено за прошедшую неделю:
|
Сегодняшняя статья рассказывает об unit-тестировании и такой его части как тестирование кода работающего с базой данных. Одним из наиболее популярных средств для разработки юнит-тестов в среде java является dbUnit. Назначение же liquiBase - поддержать процесс развития БД, внесения в ее изменений.
2008.7.27 Пишем и тестируем код, работающий с БД, вместе с DBUnit и LiquiBase. Часть 1
Сегодня я завершаю рассказ о JIRA, системе управления проектами, задачами не только в сфере разработки ПО но и во многих других областях. Основное внимание будет сегодня посвящено интеграции JIRA с системами управления версиями файлов и мониторингу за выполняемой работой, оценкой трудозатрат и планированию.
2008.7.19 JIRA: Все, что пожелаешь, Хозяин. Часть 4
JIRA – это не просто система управления проектами, журнал учета обнаруженных ошибок, контроля за выполнением работ и средство для общения предприятия с клиентами – это настоящий конструктор, позволяющий создать приложение, путь не вашей мечты, но близкое к тому бизнес-процессу, который есть у вас. Основной акцент я делаю на применение JIRA в сфере разработки ПО. Но с таким же успехом можно применить JIRA и для управления другими видами проектов.
2008.7.13 JIRA: Все, что пожелаешь, Хозяин. Часть 3
Я продолжаю рассказ об JIRA. Управление процессом разработки ПО, ведение журнала пожеланий, задач, обнаруженных багов – все это сфера применения JIRA. В прошлый раз я показал, как установить JIRA у себя на компьютере, рассказал о политике безопасности. Теперь самое время создать проект, разобраться в его составляющих, попробовать пройтись по шагам Жизненного Цикла.
2008.7.6 JIRA: Все, что пожелаешь, Хозяин. Часть 2
Управление проектами – не простая наука, для этого нужны знания (и еще больше опыт) во множестве сфер связанных и с социальными, техническими, экономическими технологиями. Я ставлю перед собой более простую задачу: рассказать об “управлении желаниями” и программными продуктами, которые могут вам помочь вести учет пожеланий клиентов, контролировать их выполнение в сфере разработки ПО.
2008.6.16 JIRA: Все, что пожелаешь, Хозяин. Часть 1
Это статья является логическим продолжением серии материалов под названием “Тестируй веб-сайты вместе с Badboy”. Как видите, названия статей похожи, отличия только в конкретных программных продуктах, которые будут использованы. Сегодня я расскажу, что такое Jmeter, как он соотносится с badboy.
2008.6.12 Тестируй веб-сайты вместе с Jmeter
Это последняя статья, которая рассказывает о badboy. Сегодня мы завершим рассмотрение методик тестирования сайта под “нагрузкой”, рассмотрим несколько “продвинутых” методик создания сценария тестирования.
2008.6.2 Тестируй веб-сайты вместе с Badboy. Часть 3
Я продолжаю рассказ об badboy, инструменте похожем на большой магнитофон. Badboy запишет ваши действия с веб-сайтом (переходы по страницам, нажатия кнопок). Затем записанную последовательность действий вы сможете “проиграть”, чтобы проверить качество реализации сайта и то, как он работает под “нагрузкой”.
2008.5.29 Тестируй веб-сайты вместе с Badboy. Часть 2
Разработка программного обеспечения не самая простая наука. И уж тем более не сводится к знанию языков программирования и разных библиотечек с готовыми наработками. Если создавать что-то не “для себя” или “на потеху”, а заниматься разработкой ПО профессионально, зарабатывать деньги, то необходимо качественно “пройтись” по всем шагам жизненного цикла ПО: от планирования до сопровождения. Сегодня рассказ будет посвящен такому этапу как тестирование.