プログラミング
Dec 06, 2009
説明に困る
毎日何やっているの?
Free Software開発が何か全然想像できないコンピューター素人(しかも酔っ払い)に毎日何をやっているのか説明するにはどうしたらいいのでしょうか?
Nov 29, 2009
第8回 Python東海
いつもの調子で某所を叩いていたら関係者がいた。
今回 OAuth + Twitter + Google App Engine というテーマで話してみた。30分の予定できっちり30分で終わらせたのはきっちりできたと思う。
ただデモプログラムがサンプルそのまま動かしただけというのがつらかった。OAuthに対する理解もまだ甘いのでプロトコルの説明が少し曖昧。いちおうこんなのもやってますという話にはなった。次回まで2ヶ月あるからそれまでには動いているのではないか、と思っておこう。
手書きメモとホワイトボードでの発表とおそろしいことやったので資料はないです。IT系では珍しいことをやっていた。ラップトップの購入予定は全然ないしなあ…。
他メモ。pyjamasはDebianのsidに入っていてためしたかったのだが放置していた。大体わかったので参考になった。そのうちやる。reST。なんでもいいのでプレゼン用PDFが簡単にかけるならうれしい。
懇親会は全品280円の焼き鳥屋。いろいろ大丈夫かねと心配になってきた。しかし、眠い。途中で寝そうになった。あれはいかん。
ExtJS勉強会
本筋にないところで意外だった。
来る前にライセンス関係の話があったようだ。その話でGPLやMITのライセンスがどうのという話が懇親会で出た。MITライセンスが何を要求されているのかすら知らない人がいてびっくり。MITとGPLって交ぜられるのかとか。Apache 2.0とGPLの互換性とか知らないのが普通なのか?DebianのdeveloperになるにはDFSGを理解してないとなれないので当たり前の話のような気がしただけなのか。GPLが何かわからず使っているのかね…。
あと発表はきっちり準備して発表しないと駄目だな。いくら有志の集まりでも失礼だな。なぜかLTする予定の自分のために覚えておこう。
Apr 07, 2009
sourceforge.jpでDarcsを使う
sourfceforge.jpでDarcsのリポジトリの運用を試みた。
- shellサーバーにはdarcsは入っている。(1.0.9)
- しかし、webサーバーにはdarcsは入ってないのでdarcswebをインストールするのにちょっと工夫が必要
- それより問題なのがhttpでリポジトリを公開できない。_darcsというファイル名が問題のようだ。_はダメなの?
- という話のチケットを送ったら即座に対応してくれたので問題ない。
Apr 08, 2007
mmm-mode
Emacsで複数のメジャーモードを一つのバッファで使うモード。つまりHTMLの中でPHPを書いたりするときに便利。
;; (require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(mmm-add-mode-ext-class nil "\\.php?\\'" 'html-php)
(mmm-add-classes
'((html-php
:submode php-mode
:front "<\\?\\(php\\)?"
:back "\\?>")))
(add-to-list 'auto-mode-alist '("\\.php?\\'" . xml-mode))
インストールの後.emacsに書く。これで<php? ?>で囲まれた部分だけphp-mode、外はxml-modeで動く。
いままでPHPとかrhtmlなどのHTML埋め込み方式のテンプレートが嫌いで、ZPT・amritaなどのXMLの範囲内でできるテンプレートが好きなのはEmacsでの編集が仕辛いのが大きな理由でした。mmm-modeができるようになったことで変わるかな?とにかくRailsでrhtmlになるので頑張ってみようと思っているのですが。
Mar 25, 2007
JasperReportsで日本語を使う
次は日本語だね、って適当にやってみるとエラーが出る。
次にJavaのコードの変更。コード中に適当に日本語のデータを埋め込む。よし、これで実行…、あれ?
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : HeiseiMin-W3
pdfEncoding : UniJIS-UCS2-H
isPdfEmbedded : false
at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:1465)
at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1368)
at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1351)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:1708)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:590)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:554)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:519)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:306)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:126)
at MapArrayDSReport.main(MapArrayDSReport.java:68)
というようなエラーが。調べてみるとiTextがデフォルトでCJKに対応してないからということが原因だった。iTextAsian.jarをダウンロードしてきてCLASSPATHに追加すると見事表示された。ここはまるので注意。
- http://www.lowagie.com/iText/faq.html#asianfonts
- http://itextpdf.sourceforge.net/ - 本当は上のFAQのリンクがあるんだけど、Not Foundなので直接こっちから
JasperReportに挑戦
やっとこさJasperReportを使ったプログラムを書けた。
public static void main(String[] args) {
String templatePath = "./template/AircraftReport.jrxml";
String destPath = "./JasperSample1.pdf";
try {
JasperReport jasperReport = JasperCompileManager
.compileReport(templatePath);
JRDataSource dataSource = createReportDataSource();
JasperPrint print = JasperFillManager.fillReport(jasperReport,
new HashMap(), dataSource);
JasperExportManager.exportReportToPdfFile(print, destPath);
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}
てな具合です。
ThinkITの記事はデータソースがデータベースとの接続を前提とした記事になっていたので別のコードを見なきゃデータソース変更の方法がわからなかっただけです。一回書いてみると別にデータソースの変更に面倒な話は何もない。Eclipseを使ったから勝手に補完にヘルプで楽だった。
Feb 27, 2007
mediamaxを使ってみる
フリーのストレージサービスのmediamaxを使ってみた。
Javaを使ったアップロードツールもある。ドラッグアンドドロップって、Gnomeからできたぞ。なかなかすごいな。
ShareはIDを取ってもらうことを前提のように見える。
Web APIもあるそうなので、そのうち登録して遊んでみるか。FUSEはすでに作っている人がいた。
Feb 25, 2007
FirebugでCSS編集
CSSの編集するのによいツールはないかと捜していたんだが、Firbugを発見。
表示しているHTMLをツリー表示させて、指示したところのCSSを表示する。親から継承したものは、どこから継承されたかまで表示されている。その場でCSSを編集すればすぐに反映されて結果がわかる。非常に便利なツールだ。ファイルに書き出せないのかな?
portal_cssをdebug modeで動かすとCSSファイルが分割されるので、当たり前だが、debugしやすい。
あと、JavaScriptの編集とデバッグもできます。そこまで使ってないけど。
Feb 03, 2007
RailsでWikiを書く
チュートリアルだけでは覚えられるわけがないので実用的なアプリということでWikiを作ることにする。
あのときはRDBMSを使いたくなかったのでいろいろと苦労したところもあった。エスケープに気を使ったり履歴管理にRCSを使ったり。そのあたりは一気に解消する。あとセッションの管理がまともにできてないのでとんでもない仕様になっているところもある。ここもきっとなんとかなるんだろう。キャッシュのところも無理しているし。きっとなんとかなるでしょう。
で、始めたわけですが。いきなりmigration2をインストールする。昔からRailsのORMの扱いは逆方向を向いていると思っていて、migrationができて多少はましになったのかと思ったが、気違い仕様であった。migration2になってやっとまともな方向を向いてきた。SQLObjectもdjangoもこんな変な方向向いてないんだが…。Railsが嫌いなわけではないが、Rails最高とか言う前にもうちょっと世の中見てみろ。あきらかにおかしい。ちなみにインストールはpluginのインストールになるので以下のように。
% ./script/plugin install http://wota.jp/svn/rails/plugins/branches/stable/migration2/
あとはmodelを作って、controllerを作っていきますか。詳しい実装はそのうち考えよう。履歴管理を入れると面倒なところもあるけど…。
メモ
control/routes.rbを使ってURL mappingを行うわけですか。無茶苦茶柔軟性はあるわけではないが、普通に使う分には十分でしょう。unittestがfixturesから初期データを投入するのに気がつかず謎の挙動と思ってしまった。なんでデフォルトで放り込む設定になっているんだ? わかりにくいバグになった…。
Jan 19, 2007
Rails勉強
暇なんでRailsの勉強。
この先は実戦経験がないと駄目なのでどうしようかね。
Jan 16, 2007
キミのコードが汚い理由
汚いコードときれいなコードの例らしい。
なんだこりゃ…。冗談だろ。2が本当にきれいなのか?悪い例にしか見えねー。何やってんのかわからんコードは良いコードではない。この文章に言及したサイトがたくさんあるが、これは釣りに違いない。釣られてやるー。
Jan 11, 2007
大学の情報工学
2chのレスで非常に良い分析があったので紹介。
L7より上だけやればいいとか、屁理屈だけこねててもなーんもアウトプットは出てきません。
手を動かすことができない人間が論文だけ書き殴ってもなんもできん。
手を動かす人間は何も考えずに手を振り回しているわけじゃない。
- 60 :Be名無しさん:02/05/29 09:19
- >59
いや、実装できることはかなり重要。
コンピュータの世界に限っては、実装できる人は、理論もできる。
理論ができても、実装できるとは限らない。
大学研究者は、実装する実力が無いから、理論しかできない場合
多し。
- 61 :60:02/05/29 09:20
- そもそも、実装者は、めちゃくちゃ理論は分かっています。
はっきり言って、理論にまとめる時間が無駄だから説明しないだけ。
大学研究者は、勘違い多し。
- 62 :60:02/05/29 09:26
- はっきり言って、コンピュータは、実証主義に尽きます。
「俺はできる」みたいなアピールを言葉巧みにしても無駄です。
できるなら、実装結果を出すべきです。
第一、実装する方が簡単なら、理論を作る片手間で実装できる
はず。
それができないのは、実装の方が実際は難しいから。
実装するのは、机上で考える以上に実力が必要です。
逆に、実装する際、機上の理論が分かってないのにできるはず
は無いです。 理屈がわからずに、ジェット機が作れる
わけがないのです。ジェット機が実際に飛んでだ時点で、
設計者の実力は実証されるのです。
- 63 :60:02/05/29 09:30
- 本当に低レベルなプログラマーは、出来たプログラムを見れば
一目瞭然です。
自分の実力の無さを隠すために、実装が簡単であり、
大学での理論研究の方が難しいと流布するのはやめるべきです。
そんなことしてるから、日本のソフト力が弱くなるんです。
本当の実力者をちゃんと当用してないんです。

