ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

MdN9月号はiPad電子書籍の作り方、売り方特集とか、日本通信、技適マークは表示する?とか

2010-08-11 23:23:49 | Twitter


 Twitterで、気になったもの。
 idがその発言のID,screen_nameが発言した人で、下の行が発言内容
 (ネタが古いのも混じってる)




id:20682251603    screen_name:apo_gee
電子書籍自体には興味があるけど、オペレーターとしてはDTPをやりはじめ頃のワクワク感が全然湧いてこない。制作ワークフローやビジネスモデルのニュースもいいけど、ね。アイデアだって松本弦人さんとか10年以上前にJungle parkとか飛び出す絵本のコンピューター版とか作ってるしね。

id:20368227089    screen_name:OracleDB_jp
Exadataのすごい発表 なう 【ニュースリリース】ソフトバンクモバイル、「Oracle Exadata」を活用し通信事業やコンテンツサービス事業の情報分析基盤を全面刷新 http://ow.ly/2liab #oradb

id:20426888592    screen_name:flopdesign
@misatSky 見本誌もらってなかなか良かったです。若い人に取り組んで貰いたい。MdN2010年 9月号はiPad電子書籍の作り方、売り方の特集http://amzn.to/9112R6

id:20424866707    screen_name:flopdesign
MdN2010年 9月号はiPad電子書籍の作り方、売り方の特集http://amzn.to/9112R6 インタビューからEPUBデータ作成〜電子書籍販売法まで

id:20660766730    screen_name:kei56
@yumenotadanori 徹底した軽量化、エンジンの改良など燃費を伸ばす知恵やアイディアは、零戦の頃とは変わっていないように思います。安全対策は当時の用兵思想とは全然違いますが。

id:20758661441    screen_name:totoron3
0だと思うよ RT @iTerwtt: 「日本人として許せない」は1億2000万くらいの集団を代表して、「男性・女性として許せない」は35億くらい、「人間として許せない」は70億くらいの集団を代表して、物を言っているんだということになるけど、自覚して語ってる人は少ない気がする。

id:20715444485    screen_name:totoron3
スゲー RT @dobutas: 阿佐ヶ谷完全に始まってます! “@korfume: 阿佐ヶ谷始まってるw @Ich_co: www @tirukuru 阿佐ヶ谷やばい! @ran_angeldust: 阿佐ヶ谷が大変>< http://twitpic.com/2cqmwu

id:20430375334    screen_name:dol_editors
総務省が主導して検討が進められている「携帯端末向けマルチメディア放送」の事業者選定問題。たった1つの認定枠をめぐって争うNTTドコモと、KDDI。「今からでも、2社でやってもよいのでは?」土壇場になって“ダークホース”が登場した。 http://ow.ly/2lMFB

id:20369036808    screen_name:dol_editors
twitter中のあなた、職場の上司や同僚が後ろを通るたびに冷や冷やしていませんか?もうご存知の方もいらっしゃると思いますが「上司に見つからずに職場でツイートし放題?グーグルにそっくりの「tweegle」活用法 」 http://ow.ly/2liqj

id:20740527478    screen_name:CloudNewsCenter
[#SmartGrid #スマートグリッド] スマートグリッドネットワークをユーテリティ事業者が自社で投資すべきか、テレコムを利用すべきか、その比較と議論分析 http://post.ly/r0Ng

id:20501966626    screen_name:CloudNewsCenter
[#SmartGrid #スマートグリッド] コロラド州、ボルダー市のスマートグリッドプロジェクト、失敗のレッテルが貼られそう http://post.ly/qaq4

id:20501946746    screen_name:CloudNewsCenter
[#SmartGrid #スマートグリッド] 中国のスマートメータ会社、Holley Metering社の躍進 http://post.ly/qapv

id:20426523618    screen_name:hatashinya
H3Viewer はなかなか使えそうだ。http://bit.ly/9Cgd8p

id:20488140079    screen_name:stormfogs
Oh... http://gehasokuhou.blog52.fc2.com/blog-entry-1462.html日本一ソフトウェア、逝く

id:20487623109    screen_name:stormfogs
つい勢いでMcAfreeのオンラインバックアップサービス買っちゃったけど、NASのバックアップを外付けHDDに取って、更に外付けHDDからオンラインサービスにバックアップを取るっていう当初のプランを考えたらまだ買うときではなかった。

id:20751854835    screen_name:kazunori_279
MySQLで1000万件をCOUNT(*)すると1分半かかる。インデックス張ると3秒。"漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。" ( http://bit.ly/bWfr9h )

id:20507269442    screen_name:kharaguchi
5大臣を中心に高齢者の行方不明問題について対策を協議しました。年間、8万人もの家出人・行方不明者。千人を超える身元不明のご遺体。

id:20436241779    screen_name:TSUTIYA_ON_LINE
日本通信問題は今後の成り行きを注視すると言う事で離脱します…

id:20435957592    screen_name:TSUTIYA_ON_LINE
ふむRT @k_oku3: いや、表示されると思いますよ。/日本通信でもそんな法的リスクのあるサービスは提供しないでしょう。 RT @TSUTIYA_ON_LINE ということは海外で手に入れたSIMフリーの携帯は今度の日本通信のカードを入れても技適マークは表示しないことに?

id:20435844755    screen_name:TSUTIYA_ON_LINE
今回の日本通信の件はまだグレーということ?RT @k_oku3: @TSUTIYA_ON_LINE 端末本体です。電波基地局=携帯端末の設置の合法性がとわれているのです。そして、これまでは本体に直接技適マークが刻印されてなければ違法だったのですが、4月から画面表示もOKになり/

id:20435594975    screen_name:TSUTIYA_ON_LINE
ということは海外で手に入れたSIMフリーの携帯は今度の日本通信のカードを入れても技適マークは表示しないことに? RT @k_oku3: @TSUTIYA_ON_LINE ちなみに、技適マークは、iPhone 4だと設定⇒一般⇒情報⇒認証 で確認できますよ。

id:20435215172    screen_name:TSUTIYA_ON_LINE
技適マークと言うのは携帯本体が表示するものなのか、それともSIMカードが表示するものなのでしょうか?RT @k_oku3: @TSUTIYA_ON_LINE ちなみに、技適マークは、iPhone 4だと設定⇒一般⇒情報⇒認証 で確認できますよ。

id:20435036679    screen_name:TSUTIYA_ON_LINE
と言う意見の両方があります RT @sendenbuin: @TSUTIYA_ON_LINE SIMカードではなく、技適マークなしの端末を利用する事が問題なのです。なので、日本通信製のSIMカードを使おうとすると、SIMフリーiPhoneが必要→海外調達→現状国内使用は違法

id:20762312666    screen_name:kenji_rikitake
@ysakurai_JQ2GYU 本人が不同意でも,家族が同意している場合に,本人の意思表明の方法がないというのが怖いのですね.ちなみに現在の法律では,家族が不同意なら,本人が意思を示していても移植はされません.

id:20762192397    screen_name:kenji_rikitake
@ysakurai_JQ2GYU AL/KL/NL/WLは全部アラスカです.AH/KH/NH/WHはご存知の通り面倒ですね :) あとはKP/NP/WPかな.その他FEMA専用とかGitMoはDoDが割り当ててるとか,いろいろあります.

id:20701592891    screen_name:kenji_rikitake
@naoto_matsumoto そして制御帯域がそんなに甘くないとわかりクラウドの先にデータを置いたことに後悔するWeb屋が大多数,と

id:20661808846    screen_name:kenji_rikitake
@cooldaemon @voluntas @itawasa Key/Valueの初期値にcrypto:rand_bytes/1は重くないかなあ.random:uniform/1でも十分な気がするけど.さらに軽くしたければsfmtを :)

id:20612407651    screen_name:kenji_rikitake
オライリージャパン 「Erlangプログラミング」の日本語訳に関する問題点など」をトゥギャりました。 http://togetter.com/li/40669 #ErlangProgJP #erlang





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hadoopの“使いどころ”とか、Cassandra本とか

2010-08-11 20:10:25 | Twitter


 Twitterで、気になったもの。
 idがその発言のID,screen_nameが発言した人で、下の行が発言内容
 (ネタが古いのも混じってる)




id:20737395176    screen_name:shot6
見えてきたHadoopの“使いどころ”─「Hadoop Hack Night Vol.2」開催 > http://gihyo.jp/news/report/2010/08/0901 #hadoop #hadoophn

id:20627825233    screen_name:shot6
Hadoop界隈も流れは速いですがコア部分(HDFS/MR)はほぼ変わってないので、安心して使えます。主にYahooさんの互換性維持の努力は本当にすごいですね。その上の上位レイヤは結構変わってる印象ですが・・・

id:20627148283    screen_name:shot6
LGPL、GPLv3に関しては本当に解釈が難しい部分があって手を出しにくい。

id:20446209269    screen_name:shot6
もいっかい。184(いやよ)+184(いやよ)+184(いやよ)+184(いやよ)+184(いやよ)+184(いやよ)=1104(いいわよ)というより、1104(うっとうし-)に思えるw

id:20420649530    screen_name:shot6
お。遂にCassandra本、表に出たですな。 > http://oreilly.com/catalog/0636920010852

id:20420443657    screen_name:shot6
@takezoen ipadは完全にリードオンリーなデバイスですね、いまのところ。私はPDFやブックリーダー、フォトリーダーのようなリードするだけの単品アプリしか使ってなくて、アプリ間の横連携が全然弱いのがつらいですね

id:20391325690    screen_name:shot6
コンテンツの今後の増えやすさで言ったら、Androidが有利かも。ただしそれもあくまで予測にすぎなくて、現状のTwitter/Gmail/GoogleMap/DropBoxなどなどでかなり満足度高い。次の日常手放せなくなるアプリ次第かな。

id:20405596807    screen_name:wmo6hash
Oracle Technology Network > Articles > Dynamic Scripting Languages > Using Python With Oracle Database 11g http://bit.ly/dzs1VM

id:20404748718    screen_name:wmo6hash
『価格競争がおきているが、そのような中で差別優位性を確立していくためには、今後は保守・運用における付加価値提供が重要』サーバ仮想化市場、2009年度は前年度比36.0%増の1024億円 - 矢野経済研究所 | 経営 | マイコミジャーナル http://bit.ly/bwJnZ0

id:20437794836    screen_name:tnatsu
税金や年金の生涯負担で50才以上はプラスで40代以下はマイナスというのは今更だが、60才以上は4000万のプラスで20才以下は8000万円のマイナスというのはあまりにヒドい。これを放置していること自体が罪。

id:20369583053    screen_name:tnatsu
現在ニコ動でドワンゴ決算説明会中。内容がプロ向けで生放送に向いているような感じしない。本日私出ておりますが、サプライズはありません。あえてサプライズは司会が古瀬絵里さん!

id:20367505451    screen_name:tnatsu
古巣の東京ガスが豊洲でやってる「がすてなーに(ガスの科学館)」訪問。解放感溢れる館内と素晴らしい芝生スペースは通年一般解放されているそう。子ども連れに最高。近ごろの企業展示館としてはあり得ない位の大判振る舞い。これから来よっと。

id:20770855328    screen_name:HamFeedJp
平成22年7月「通信・放送産業動態調査」の結果(速報): 平成22年7月「通信・放送産業動態調査」の結果(速報) http://goo.gl/fb/ZV0XE #soumujp #hamrjp

id:20758573259    screen_name:allabout_men
#dailytips : 夏のニオイは粉でオサラバ! http://bit.ly/dAeh9C

id:20686739869    screen_name:allabout_men
#dailytips : 貧困を救うエコバッグ http://bit.ly/auD11u

id:20423653306    screen_name:allabout_men
#dailytips : こんなミッキーマウス、初めて! http://bit.ly/b7xAWK

id:20774929231    screen_name:dtpdesign
【ハウツー】「Adobe CS5」体験版をダウンロードして購入前に試してみる(前編): 「『CS5』が欲しいけど高い」、「『CS5』を購入前に試したい」。そんなユーザーのために、アドビ システムズは、全ての「CS5」製品の体験版... http://bit.ly/a80HAe

id:20768580359    screen_name:dtpdesign
「Dreamweaver CS5」の基本操作やTipsをわかりやすく解説したDVDが登場: ウォンツは、「Dreamweaver CS5」のハウツーを収録したDVD教材「Dreamweaver CS4/CS5 DVD講座」講座を... http://bit.ly/dvpXQO

id:20764733941    screen_name:dtpdesign
アドビ、iPhone/iPad用デジタルスケッチブック「Adobe Ideas」国内配付開始: アドビ システムズは、iPhone/iPod touch用デジタルスケッチブック・アプリ「Adobe Ideas 1.0 for i... http://bit.ly/8ZwuYw

id:20760484824    screen_name:dtpdesign
【レビュー】JSTバーチャル科学館の新作コンテンツ『生物多様性って何だろう?』: 弊社刊行の雑誌『Web Designing』のサイトレビュー記事「WD Website Front」から気になるサイトをピックアップ。今回は、20... http://bit.ly/cCJBZL

id:20755669668    screen_name:dtpdesign
Circle.ms、同人誌150冊が無料で読めるiPhone/iPad用電子書籍アプリ「emesLibrary」:ニュース&トピックス(iPhone / iPod / iPad): Circle.ms、同人誌150冊が無料で読め... http://bit.ly/bg4sV4

id:20751163135    screen_name:dtpdesign
"NICT、日本語サイトを対象にしたWeb情報分析システム「WISDOM」サービス開始:ニュース&トピックス(TOPICS): NICT、日本語サイトを対象にしたWeb情報分析システム「WISDOM」サービス開始
独立行政法人情報... http://bit.ly/9NFO8m"

id:20750292674    screen_name:dtpdesign
HTML5+CSS3用のブラウザのスタイルをリセットするテンプレートファイル -HTML5 Reset: HTML5+CSS3の環境で汎用的に利用できるHTML・スタイルシート・スクリプトなどのファイルを一式にまとめたテンプレー... http://bit.ly/9fA2kZ

id:20748138146    screen_name:dtpdesign
"PHP等で実装できる動画でCAPTCHAできるより強固な「NuCaptcha」: NuCaptcha -- Better Security, Easier to UsePHP等で実装できる動画でCAPTCHAできるより強固...


http://bit.ly/avDyvK"

id:20709143255    screen_name:dtpdesign
(@2003tom)愛しの後輩ちゃんにグラフィックデザインの教科書的な書籍を貸しました。家で置き物になってたので…。実例を解説してくれるので、かなりオススメですよ > Design Elements 実例でわかるデザインの法則 ... http://bit.ly/cGZwX6

id:20698037655    screen_name:dtpdesign
"三省堂書店、店頭で書籍を印刷・製本して手渡しするサービス「三省堂書店オンデマンド」:ニュース&トピックス(TOPICS): 三省堂書店、店頭で書籍を印刷・製本して手渡しするサービス「三省堂書店オンデマンド」
(株)三省堂書店は、... http://bit.ly/a1gZLG"

id:20692834562    screen_name:dtpdesign
"カヤック、大切な人の居場所を探し出せるiPhoneアプリ「安心レーダー」:ニュース&トピックス(iPhone / iPod / iPad): カヤック、大切な人の居場所を探し出せるiPhoneアプリ「安心レーダー」
(株)カヤッ... http://bit.ly/cYySVJ"

id:20684933132    screen_name:dtpdesign
"富士キメラ総研、国内デジタルコンテンツ市場の2014年予測は8兆1211億円と発表:ニュース&トピックス(TOPICS): 富士キメラ総研、国内デジタルコンテンツ市場の2014年予測は8兆1211億円と発表
(株)富士キメラ総研... http://bit.ly/dtyS3C"

id:20679414645    screen_name:dtpdesign
(@minawaves)読みたい:おすすめのデザイン本「デザイナーのための著作権ガイド」 http://bit.ly/bTUK2j: 読みたい:おすすめのデザイン本「デザイナーのための著作権ガイド」 http://bit.ly/... http://bit.ly/bjAAI8

id:20678354399    screen_name:dtpdesign
iPhoneアプリ「ローソンARG ワンピース スタンプラリーアプリ」がついに配布開始:ニュース&トピックス(iPhone / iPod / iPad): iPhoneアプリ「ローソンARG ワンピース スタンプラリーアプリ」が... http://bit.ly/ckNwQb





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

COBOLで印刷とか、基本的人権にカレーは含まれますか?とか

2010-08-11 18:07:54 | Twitter


 Twitterで、気になったもの。
 idがその発言のID,screen_nameが発言した人で、下の行が発言内容
 (ネタが古いのも混じってる)




id:20696106695    screen_name:mainichijpedit
エバーノートが利用者約7000人のデータを消失しました。 http://bit.ly/9vj8yOおわびに有料サービスを1年間無料にするそうです。

id:20581465517    screen_name:asahi
デジタル活況逃がさない 工場、お盆休み返上でフル稼働 http://t.asahi.com/62s

id:20756197666    screen_name:ikedanob
電子書籍時代に、PDFファイルをわざわざバラバラに表示して読みにくくする経済財政白書。もしかして紙の本を売るため? http://ow.ly/2nhXl

id:20690183697    screen_name:ikedanob
電子書籍は「書籍を電子化」したものじゃない。それを理解しないで、協議会やら懇談会やらつくっている会社に未来はない、

id:20606882963    screen_name:ikedanob
電子出版でも、障害は実は著作権法ではありません。何の権利もないのに待ったをかける版元に「仁義」をつくすのが大変。 RT @tamai1961: 著作権法などは実は問題ではない、やりたくないことを著作権のせいにしてやらないだけだ

id:20536044170    screen_name:ikedanob
大学も労働市場の実態はわかっているので、一時の「国際」とか「情報」とかいう学部新設はなくなり、最近は「看護」や「福祉」などの専門職養成が主流。こういう職種は逆に慢性的な人手不足だが、これって専門学校と何が違うのか・・・

id:20535629185    screen_name:ikedanob
まだ同じようなコメントがくるが、問題は手に職のない「大卒ホワイトカラー」が供給過剰になっていること。専門職の求人倍率は高いので、大学より専門学校のほうが有利。

id:20383922013    screen_name:ikedanob
Yahoo!はSBの前にNTTに投資を求めたが、断られた。その部長が「ヤッホーという会社がきたが断ったよ」と笑っていた(実話) @hongokucho

id:20764262518    screen_name:MaywaDenki
明和電機のブリジストンサイクル工場見学  モノつくりの現場って面白いなあ・・・  YOUTUBE動画>>http://j.mp/bQ4hOx

id:20756056162    screen_name:MaywaDenki
出荷を待つ、オタマトーン・カラーズたち。 http://twitpic.com/2d9j9e

id:20362311439    screen_name:MaywaDenki
日本人が万能だと思っている「キャラ文化」「カワイイ文化」「オタク文化」などが、まったく有効ではない国もあるんではないか、と考えてしまう、ここはイスタンブール。

id:20674385500    screen_name:kentaro714
COBOLはLISP(LIST PROCESSOR)みたいな感じでRESP(RECORD PROCESSOR)とかにすればもう少しマニアックなユーザーがつくのではないか。

id:20674045326    screen_name:kentaro714
COBOLで印刷ってこうやってたのか。COBOLでこんなに簡単なことを、Javaから帳票製品を使って実現するのがどんだけ面倒だったことか…。

id:20673509694    screen_name:kentaro714
うーん、しかし、COBOLが事務処理用のDSLだと言うのなら、SQLの方が格段に良い気がするんだけどなぁ。ソートとかマッチングとか楽ちんだし。やっぱりCOBOLは、事務処理用ではなく、レコード処理用のDSLなんだろうなぁ。

id:20664776670    screen_name:kentaro714
何を歌っていたのだろう? RT @marmalade_macro: 初音ミクが出現したそのことよりも、近所の小学生が初音ミクを道路で歌ってたときに、感動してしまった。「ミクで育つ」ってどえりゃぁ事かもしれん。

id:20662707795    screen_name:kentaro714
テストとの対応付けでストーリーを組むのが効果的なようです。 RT @oota_ken: とりあえず、今の実務とは関係ないところでの興味は、EDD(Excel Driven Development)の方々にいかに宣言的な仕様の記述に興味を持ってもらうかという所

id:20662575252    screen_name:kentaro714
激しく同意。 RT @oota_ken: 最新の技術や概念をを使いながらも、実際の現場ではなんぞこれーという30年以上前のウォーターフォール+紙ベースの開発方法論がまかり通っているのが普通なので、こういうところから改善していきたいというのがソルジャー思考であります。

id:20441121091    screen_name:kentaro714
COBOLやってると、昔基本情報をうけた時に出てきたあれやこれやの出自が次々と明らかになっていくなぁ。

id:20754643199    screen_name:bijogoyomi
美女がいないのでもう出ました。はぁ。RT @watcafe 生殺し! RT @bijogoyomi: 原宿マック。 ヤバイ! なんなんだこの女子率99%. 但し美女はいない…

id:20663411103    screen_name:legoboku
[b!] ビル・ゲイツ曰く「5年以内に最上の教 育はウェブからもたらされるようにな る」 http://bit.ly/cxAPE3

id:20554621833    screen_name:legoboku
[b!] いつテストを終わらせるか?という判断はとても難しく、ノウハウの塊だそう。そういう情報は外には出ない。おそらくは、エンジニアの雇用流動性が高い国では、人の移動でノウハウは業界内に展開されるんだろうが、日本ではそうはいかな... http://bit.ly/d72q7Y

id:20547617574    screen_name:legoboku
[b!] 紙の本は5年以内に消滅する。 http://bit.ly/ac6nyZ

id:20544797469    screen_name:legoboku
[b!] ”現在の若年労働者の悲惨な状態のかなりの原因は、このように労働市場や大 学の実態を無視して大学の増設を進め た教育行政にある” http://bit.ly/dforIS

id:20757448662    screen_name:terurou
なにこれこわい… QT @you_and_i: そうですね。Hadoopのソースコードリーディング会や2時間でわかるJVM勉強会とかでも、イベントの参加者や懇親会の参加者が申し込みより少ない事例があるようですね。 http://j.mp/dvnfm9

id:20706203013    screen_name:terurou
カレーは三大義務の一つなんじゃ… QT @you_and_i: 基本的人権にカレーは含まれますか?w RT @terurou: 節子それ宗教やない、基本的人権や QT @bleis: 宗教上の理由でVSSは使えません

id:20669841888    screen_name:terurou
え、SVNでも分散できるようになるの QT @ymotongpoo: 分散だからGitと言われるとなあ。MercurialやBazzerもあるし、Subversionだって最新版は分散機能付きますよ。各々の特徴の違いを根拠に挙げた上で言って欲しいなあ。

id:20666629818    screen_name:terurou
なんか他の会社と間違えそうな名前の.NET製グループウェア - エンタープライズ向けクラウドポータル「TeamLab」 http://www.moongift.jp/2010/08/teamlab/





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPからPDF出力

2010-08-11 15:11:37 | PHP

 PHPからPDF出力することを考える。
 これには、FPDFというのがあるようだ。




■ダウンロード&インストール

 ここ http://www.fpdf.org/

ここのDownloadsをクリックして、

・はじめにでてくる国旗のところは無視して
 (よーく見て!それは、マニュアルのダウンロードです)

 下にある1.6のZIPをダウンロード
 解凍したら、

   fpdf.phpファイルと
   fontフォルダ

 を、Apacheのhtdocsの下(つまり、他のPHPファイルのいるところと同じフォルダ)にコピーします。
 (fontフォルダは、フォルダごとコピーしてください)




■HelloWorldをPDFで出力するまで

 そしたら今度は、さっきのサイトの「Tutorials」をクリック。「Tutorial 1」にある、


<?php
require('fpdf.php');

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

(< >は、本当は半角)を、なんか適当なファイル名(たとえば、test.php)にして、同じくhtdocsの下に保存する。

 で、その保存したファイル(test.php)をアクセスすると(http://127.0.0.1/test.php)、Hello Worldがでてきます(PDFで)




■日本語にするには?

 上記のまま、日本語にいれても出てきませんが、日本語化してくださった奇特な方がいらっしゃるようです。

Japanese support
http://www.fpdf.org/phorum/read.php?f=1&i=7977&t=7977


に書かれているjapanese.zipをダウンロードし、解凍してでてきた

   japanese.php
   ex.php

を同じくhtdocsの下にコピー。ex.phpのほうがサンプルなので、それをアクセスすると(http://127.0.0.1/ex.php)日本語がでてくる。(日本語出力には、japanese.phpをインクルードする必要がある。そこからfpdf.phpを呼び出している)




すげー。日本語でてる。PDFで・・・



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

astah*の図をExcelファイルに落とす-その3:Excelファイル作成&書き出し

2010-08-11 10:45:52 | そのほか

 astah*のAPIを使って、astah*のクラスやアクティビティの情報をExcel上に、表であらわすことを考えるというシリーズ「astah*の図をExcelファイルに落とす」。

 前回までで、astah*のクラス図のデータをAPIを使って取得できたので、あとはこの内容をExcelに書き出すだけということになります。
 ということで、以下Excelファイル作成&書き出しについて。




■ライブラリのダウンロード

 Excelに書き出すには、Apache POIというライブラリを使うとできます。
 なので、これをダウンロード。

 まず、こちらのURL
http://poi.apache.org/download.html
 にいき、The latest stable release is Apache POI 3.6をクリック、 ZIPのほう(poi-bin-3.6-20091214.zip)をクリックすると、ダウンロードのミラーサイトがでてくるから、そこから適当なものを選んで保存。

 そしたら、(ZIPファイルなので)それを解凍します。




■使えるようにする

 今eclipseで開発しているのでeclipseで使えるようにします。
 まえにastah-api.jarをJavaのビルドパスに通したときと同じ要領です。

 ・プロジェクトを右クリックしてプロパティを出し、
 ・左側からJavaのビルドパスを選択
 ・「ライブラリ」タブをクリック
 ・「外部jarの追加」をクリックして、
    今解凍したZIPファイルから

    poi-3.6-20091214.jar

   (poi-バージョン-日付.jarのファイル)
   を選択して、これをクラスパスに通してください。

(ほかのJarは通さなくても、とりあえず大丈夫)




■書き方概要

 Excelファイル書き出しなどのプログラムの書き方については、

Busy Developers' Guide to HSSF and XSSF
http://poi.apache.org/spreadsheet/quick-guide.htm


にあります。要するに、

  HSSFWorkbook wb = new HSSFWorkbook();

で、ワークブック領域を作成し、

  HSSFSheet sheet1 = wb.createSheet("シート名");

で、シートを作成します。そしたら、

  HSSFRow row = sheet1.createRow(行番号);

で行を作成し

  row.createCell(列番号).setCellValue("中身");

で、セルにデータをどんどん設定していきます。
編集が終わったら、

  try
  {
    FileOutputStream fileOut = new FileOutputStream("ファイル名.xls");
    wb.write(fileOut);
    fileOut.close();
  }
  catch(Exception e)
  {
    e.printStackTrace();
  }

で内容を書き出します。




■サンプルプログラム

昨日、書き出した内容を、Excelシートに書き出します。
1パッケージ1ワークブック(=1ファイル)で、
1クラス1シート、書き出し内容は、昨日のプログラムで書いた内容と同じようなものです。
import com.change_vision.jude.api.inf.model.IAssociation;
import com.change_vision.jude.api.inf.model.IAttribute;
import com.change_vision.jude.api.inf.model.IModel;
import com.change_vision.jude.api.inf.model.INamedElement;
import com.change_vision.jude.api.inf.model.IOperation;
import com.change_vision.jude.api.inf.model.IPackage;
import com.change_vision.jude.api.inf.model.IClass;
import com.change_vision.jude.api.inf.model.IParameter;
import com.change_vision.jude.api.inf.project.ProjectAccessor;
import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;
import java.io.File;
import java.io.FileOutputStream;

import javax.swing.JFileChooser;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/*
 * サンプルプログラム
 * http://codezine.jp/article/detail/3165
 * をパクってきました。
 */
public class Sample1 {

	/**
	 * クラス情報出力
	 */

	public static void main(String[] args) {

		
		try
		{
			//	ファイル選択
			//	参考 http://www.ne.jp/asahi/hishidama/home/tech/java/swing/JFileChooser.html
			File f = null;
			JFileChooser fc = new JFileChooser();
			fc.setDialogTitle("astah*ファイルを選択");
			int selected = fc.showOpenDialog(null);
			if (selected == JFileChooser.APPROVE_OPTION) {
				f = fc.getSelectedFile();
			}


			// プロジェクトを開く。
			System.out.println("Opening project...");
			ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();
			prjAccessor.open(f.getPath(), true, false, true);

			// 起点となるモデルを取得する。
			IModel project = prjAccessor.getProject();

			System.out.println("Printing the packages...");
			// プロジェクトに含まれる全てのパッケージを取得する。
			printPackageInfo("",project);

			// プロジェクトを閉じる
			prjAccessor.close();
			System.out.println("Finished");
		}
		catch (Throwable e)
		{
			e.printStackTrace();
		}
	}

	/*
	 * パッケージの処理
	 */
	private static void printPackageInfo(String pgname,IPackage iPackage) {
		// パッケージ名を作成
		String mypgname = pgname +iPackage.getName() +"_";

		//	Excelワークブック取得
		HSSFWorkbook wb = new HSSFWorkbook();

		//	パッケージ処理(サブパッケージ&クラス)
		INamedElement[] subPackages = iPackage.getOwnedElements();
		for (int i = 0; i < subPackages.length; i++) {

			// サブパッケージを処理
			if (subPackages[i] instanceof IPackage) {
				IPackage subPackage = (IPackage) subPackages[i];
				printPackageInfo(mypgname,subPackage);
			}

			//	クラスを表示
			if (subPackages[i] instanceof IClass) {
				IClass myClass = (IClass) subPackages[i];
				printClassInfo(wb,mypgname,myClass);
			}
		}

		//	Excel出力
		try
		{
			FileOutputStream fileOut = new FileOutputStream(mypgname + ".xls");
			wb.write(fileOut);
			fileOut.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
	/*
	 * クラスの処理
	 * 参考:http://members.change-vision.com/javadoc/astah-api/6_2/api/ja/doc/javadoc/index.html
	 */
	private static void printClassInfo(HSSFWorkbook wb,String pgname,IClass myClass) {

		//	クラスごとにシートを作る(シート名=クラス名)
		HSSFSheet sheet1 = wb.createSheet(myClass.getName());

		//	パッケージ名を表示
		int rowpos = 0;
		HSSFRow row = sheet1.createRow(rowpos);
		row.createCell(0).setCellValue("Package Name");
		row.createCell(1).setCellValue(pgname.substring(0, pgname.length()-1));


		// クラス名を表示
		rowpos++;
		row = sheet1.createRow(rowpos);
		row.createCell(0).setCellValue("Class Name");
		row.createCell(1).setCellValue(myClass.getName());

		
		// 属性・関連を表示
		IAttribute myAttr[] = myClass.getAttributes();

		rowpos++;
		row = sheet1.createRow(rowpos);
		row.createCell(0).setCellValue("Attributes");

		for (int i = 0 ; i < myAttr.length ; i ++)
		{
			String kanren = "関連";
			IAssociation myAss = myAttr[i].getAssociation();
			if ( myAss	==	null)
			{
				kanren = "属性";
			}
			else
			{
				if ( myAttr[i].isAggregate()	==	true)
				{
					kanren = "集約";
				}
			}
			rowpos++;
			row = sheet1.createRow(rowpos);
			row.createCell(0).setCellValue("");
			row.createCell(1).setCellValue(kanren);
			row.createCell(2).setCellValue(myAttr[i].getTypeExpression());
			row.createCell(3).setCellValue(myAttr[i].getName());
		}
		
		// メソッドを表示
		IOperation myOp[] = myClass.getOperations();

		rowpos++;
		row = sheet1.createRow(rowpos);
		row.createCell(0).setCellValue("Operations");
		for (int i = 0 ; i < myOp.length ; i ++)
		{
			rowpos++;
			row = sheet1.createRow(rowpos);
			row.createCell(0).setCellValue("");
			row.createCell(1).setCellValue(myOp[i].getReturnTypeExpression());
			row.createCell(2).setCellValue(myOp[i].getName());
				
			//	メソッドの引数を表示
			IParameter myPara[] = myOp[i].getParameters();
			for(int j = 0 ; j < myPara.length ; j ++)
			{
				rowpos++;
				row = sheet1.createRow(rowpos);
				row.createCell(0).setCellValue("");
				row.createCell(1).setCellValue("");
				row.createCell(2).setCellValue(myPara[i].getTypeExpression());
				row.createCell(3).setCellValue(myOp[i].getName());
			}
		}

	}
}

(上記 < > ¥ は本当は半角です)

 printPackageInfoと、printClassInfoが違っています。

 このプログラムを実行すると、eclipseのプロジェクトのフォルダの下に、
パッケージ分のexcelファイルが書き出され、中を開くと、各シートごとに
クラスの内容が書かれているはず・・・です。

 これで、一通りはかけるようになったので、このシリーズおしまい。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

8月10日(火)のつぶやき

2010-08-11 00:37:42 | Twitter
15:19 from web
おすすめユーザーに、「糸井重里」( @itoi_shigesato )氏と「河野太郎」( @konotarogomame )氏がでてるんだけど・・・お勧めユーザーって、何を見て、どーいう判断で、「お勧め」してるんだろう(^^;)?
15:26 from web
わかった!お勧めユーザーは、フォローしてる人のフォローしてる人ね!簡単に言うと。。。
15:27 from web
Bメソッドのeclipseプラグイン http://www.bmethod.com/php/outils-b-plugin-b-editor-en.php
by xmldtp on Twitter

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする