ラベル Eclipse の投稿を表示しています。 すべての投稿を表示
ラベル Eclipse の投稿を表示しています。 すべての投稿を表示

2008年8月1日金曜日

eclipse+pydevでgengine

今まで家でプログラミングする気にはなんなかったのに最近家でちょくちょくプログラム書いてます。
そこで久々にGoogle App Engineにアクセスしてアカウント登録してみた。
eclipse使って開発環境を整えてみたのでメモ。

インストールしたもの
python
Python標準リリース
2.5.xでいいと思う

Eclipse3.4 EE
Eclipse downloads - mirror selection
Eclipse3.3 EE
Eclipse downloads - mirror selection
3.4でも動くけどpydevはまだサポートしてないから安全にいくなら3.3で。

pydev
http://pydev.sourceforge.net/updates/
eclipseのフィーチャーインストールから上のアドレスを使ってインストール。
インストールしたらプリファレンスからpythonインタラプタを登録。

Google App Engine SDK
Downloads - Google App Engine - Google Code
インストールした場所をちゃんと覚えておく。

設定
Configuring Eclipse on Windows to Use With Google App Engine - Google App Engine - Google Code
ここ見て設定。Mainモジュールの設定でGAEのSDK内の.pyの指定はBrouwsからは選べないので手入力。ここだけ注意。


あとはお好きに開発。
なに作ろうかなぁ~。

2008年5月28日水曜日

モデルよーん

EMFの.ecoreって変更が衝突しちゃうと回避方法ないのかな?
Compare With でdiff取って、マージしても反映されないよ><
3時間くらいかけてモデル変更したのがパーだっ!

手順をメモしておく癖を付けておいてよかった。

2008年5月19日月曜日

FeatureSubsetSupplierインターフェイス

FeatureSubsetSupplierインターフェイスとはEMFのモデルクラスの根底を表すEClassImpl内に定義されたインターフェイス。
EClassImple#getEAllStructuralFeature()で返されるリストに実装されていて、すべてのFeatureの中からcontainmentの物やcrossReferenceの物だけを取得したりするメソッドが定義されている。

// EClassImpl->Line 93
public interface FeatureSubsetSupplier
{
EStructuralFeature [] containments();
EStructuralFeature [] crossReferences();
EStructuralFeature [] features();
}

この三種のFeatureが欲しい時は一つ一つFeatureをチェックしなくても、リストをこのインターフェイス型に変換してやれば使えますね。
EContentEListの中で使われていて気づきました。

2008年4月25日金曜日

EclipseのPython開発支援プラグインPydev for Eclipseを入れてみた

この記事を参考に導入してみました。
記事中では1.0.1とありますが現在は1.3.15が最新版みたいです。



PyDev(Python Development)は、Eclipse上でPythonとJavaで実装されたPythonのインタプリタJythonのプログラムの開発をサポートするプラグインです。コード補完、シンタックスハイライティング、シンタックス分析、リファクタリング、デバッグをサポートしています。



スクリプト言語をサポートするEclipseプラグイン - @IT から2008年4月25日に引用


http://pydev.sourceforge.net/updates/
ここからソースをダウンロードしてもいいし、site.xmlを使ってもいいです。

site.xml
http://pydev.sourceforge.net/updates/site.xml

EclipseメニューバーのHelp>Software Updates>Find and Install...を開いて、Search for new feature to installにチェックしてNextボタン、New Remoteボタンを押して上記site.xmlのアドレスを入力すればおkです。
Eclipse使い慣れてる方にはおなじみです。jarダウンロードして直接pluginに放り込むよりは経験上site.xmlから入れたほうが安定してるのでおすすめです。
まだまだPythonは勉強中なので、使い慣れてるEclipse上でコーディングできるのはうれしい。

2008年4月15日火曜日

Eclipseの最新バージョンのHelpを見る方法

2008/04/15日現在Eclipseの最新バージョンは3.3ですが、次期バージョンで6月24日にリリース予定のEclipse3.4のHelpを見つけたので置いておきます。
といっても中身はまだ無いみたいですが・・・。
旧バージョンのHelpを見るとEclipseの歴史が垣間見れますね!!

現バージョンのHelpへのアドレスはこれ
http://help.eclipse.org/help33/index.jsp

前バージョン
http://help.eclipse.org/help32/index.jsp

http://help.eclipse.org/help31/index.jsp

http://help.eclipse.org/help21/index.jsp

最新バージョン
http://help.eclipse.org/stable/index.jsp

2008年3月20日木曜日

EclipseプラグインのBIRTのまとめ

BIRT=Business Intelligence and Reporting Tools
BIRTはEclipse上で各種データベースを元に様々なレポートを出力する事ができるプラグインです。XMLを元にレポートを出せるみたいで、WebAPIなんかを使って得た情報も様々な形で加工して表示させる事ができるみたいです。(未確認)というか、そういう事をやってみたいのでちょっとまとめてみます。
最終的にはTwitterの発言や、はてブのブックマークをまとめて様々な角度から検証するレポートを出す事が目標です。

  • とりあえずリンク集
Eclipse.org home
http://www.eclipse.org/

Eclipse BIRT Home
http://www.eclipse.org/birt/phoenix/

BIRT Tutorials
http://www.eclipse.org/birt/phoenix/tutorial/

[ThinkIT] 第1回:インストールからはじめるEclipse BIRT (1/3)
http://www.thinkit.co.jp/free/tech/28/1/



BIRT Tutorial←今ここ
http://www.eclipse.org/birt/phoenix/tutorial/basic/basic05.php

2008年3月18日火曜日

OCL:defでコレクション型属性を定義する方法

OCLで新たに属性を追加するにはdefを使って定義するが、コレクションの属性を定義する場合はコレクションの型と要素の型も指定する。

def : Collection(OCLType //コレクション内部の型) = expression //コレクションを返す式


EclipseのOCLプラグインだとこうなる

OCL ocl = OCL.newInstance(ECoreEnviromnmentFactory.INSTANCE);
OCLHelper helper = ocl.createOCLHelper();
helper.defineAttribute("collection : Collection(Integer) = OrderedSet{1,2,3}"); //OrderedSet型で要素が1,2,3が作られCollection(Integer)型のcollectionという変数が定義される
//helper#define*で定義された属性や操作はこのhelperから作られたQueryでしか有効にならないので注意


属性だけじゃなく操作も定義できるのですっごい複雑なOCLを毎回書くのが面倒な場合でかつ、モデルに直接持たせるほどでもない属性であった場合、エイリアスとして定義して使うことができる。

でも、渡されたオブジェクトがCollection型であるか調べる方法がわからなず。

// 上の続きでcollectionはInteger型が入ったコレクション
collection.oclIsTypeOf(OrderedSet(Integer)) // これはダメだった

Collectionとして見るよりは、要素の集合として見てて、要素の属性もそのまま使えるから、Collectionの型を意識する必要は無いのかな?

ところで、この辺りを触ってて、OCLHelper#defineOperation()で二つ以上パラメータを持った操作を定義しても、すべてのパラメータの値が必ず最初のパラメータになるバグに遭遇して困っている。
Bugzillaで検索しても出てこず、最新版でも直ってなかったので気付いてないのかなぁ?
どなたかBugzillaで発見したら教えてください。