Skip to main content

26 posts tagged with "programming"

View All Tags

· One min read

■Lithium: the most rad php framework

http://lithify.me/新しいフレームワーク? たまたま見かけただけで興味はないが、フレームワークにしては(見た目の)デザインが綺麗だなぁ〜と思った。 フレームワークである以上、設計面でのデザインが綺麗だと嬉しいんだけど、中は全くわからない。

· One min read

FizzBuzzをscalaで書いてみた。 かっこいいコードではないが、書けた。 それよりも、Scalaの文法の方が怪しいよ・・・実際にある程度書かないと覚えないな。

書きたいことが違った。 Eclipseで書いたんだけど、Command + F5で実行しようとしたら、Macの読み上げ機能が立ち上がって、 「1, 2, Fizz, 4, Buzz, Fizz, ...」 と読み上げられたよ!!(笑) 「わん, つー, ふぃず, ふぉー, ばず, ふぃず, ...」って(笑)

■Fizz Buzz - Wikipedia

http://ja.wikipedia.org/wiki/Fizz_Buzz

■どうしてプログラマに・・・プログラムが書けないのか?

http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm

· One min read

最近、Go(Googleの言語)の話題が目に付くようになった。 マニア(?)な方々は「こういうときはどうなるんだ?」とエラーを出しつつ確認をしているようです。

何かとすごいのかもしれないけど、未成熟ってこともあり、しばし見送り。

それよりも、DBはどれから手を出すべきか・・・。 Bigtableとか、CouchDBとか、Voldemortとか、ありすぎ。

· One min read

■The Go Programming Language

http://golang.org/今度はGoogleが言語を作ったらしい。 ファイルシステムも、DBも、データセンターも、言語も、必要であれば作るというあたりがすごい。 しかも、世の中に影響を与える規模だし・・・。

"あとで読む" に確保してある記事はGoogle関係が多いな。

· One min read

■Clojure - home

http://clojure.org/気になる言語発見! Lisp風なんだけど、JavaVMで動作するらしい。 "(and the CLR)"という表記もあるから、.NET環境でも動作させようとしてるプロジェクトがあるんだろうな。

これでWebアプリケーションも作れるのだろうか? 触ってみたいが、今は無理だぁ〜。

· One min read

PHPのシリアライズ時に計算されるサイズの求め方が不明!! C#でシリアライズ文字列を偽装しようと思ってるのに、サイズが違うため、うまく動作してくれない。

アルファベットは問題ないんだけど、日本語が含まれるとサイズが異なるらしい。 "ラーメン" の場合、14らしい。 改行コード入れても 8byte + 2byte じゃないのか? マルチバイト文字利用時には特別なコードが含まれるのか?

調査継続。

· One min read

今日は設定ファイル(Excel)の読み込みを実装してみた。 C#でExcelを開いたときは、使ったCOMオブジェクトの開放をしないといけないので少々面倒くさい。 ひとつでも開放し忘れてるとExcelプロセスが残ったままになるし😔 そんなわけで、Excelクラスをラップするクラスをササッと書いて、それを利用することにした。 ラップするクラスがCOMオブジェクトの管理をしてくれる。 無事にCOMオブジェクトは全て開放してるらしく、Excelプロセスが残ることなく終了出来た。

· 2 min read

今日は朝からほとんどコード漬け。 他にもちょこちょこと別のことも平行してやったりもするけど、サイトの大量生産に向けてコードを書くしか手が無い。

HTMLの解析をしてたんだけど、いいパーサーがない! 日本語が使えなかったり(エンティティで表示される)、XPathが動作しなかったり、namespaceの挙動がおかしかったりと・・・。

■ntidy | Get ntidy at SourceForge.net

http://sourceforge.net/projects/ntidy/

■Tidy.NET | Get Tidy.NET at SourceForge.net

http://sourceforge.net/projects/tidynet/

■Majestic-12: Distributed Search Engine

http://www.majestic12.co.uk/

この3つの他にC#標準のDOMも使ったりしてる。 Majestic-12はちょっと使い辛い感じ。 NTidyとTidy.Netは使いやすいんだけど、数年前で開発が止まってる。 Pythonで書けば早いんだけど、他の人が使うことを考えるとexeで配布できた方がいいんだよな・・・。

一日でこれだけ検索して、使うのも結構大変。 ここを抜ければ一気に進むはずなんだけどなぁ。

今日は検索→調査→試すを集中して繰り返したせいか、帰りの電車で一駅寝過ごした🙄

· 2 min read

先日、XMPPがあまりにも遅すぎたので、やっぱりStompを使ってみることにした。 速度はXMPPに比べて速い! 全く同じもので比較したわけじゃないが、localhost内でメッセージを交換してる割には数秒待つ感じ。 Stompだと遅くても1,2秒くらい。 扱ってるデータ量がXMPP向きじゃないので、そもそも利用方法が間違ってはいるのだが・・・。 そのうち、GoogleがXMPPZとか、圧縮した形式を出してくるのか? そしたら乗り換えよっと(笑)

しかも、先日のよく分からない動画と同じものを書き直した。 調べていくうちに仕組みが明確になってきて、プロトコルの仕様までちょっとわかってきて、結果的にシンプルで依存関係の少ないようにしたつもり。 裏の仕組みが見えてくると、これは面白いかも。 出来ることがめっちゃ広がる。 Google Wave、なるほどなぁ~。 特徴をうまくしてるというか、アイディアをうまく実現してるというか、楽しい仕組みです😄

こんな楽しいこと(技術的にも、サービス的にも)を知らなかったら、楽しいサービス提供できないんじゃないか? もっともっと楽しいことを考えたいが、話せる人が身近にはあまりいない感じ。

· One min read
こんなのを作ってみた。 左側がVirtualBox上のWindowsで、右側はUbuntuです。 デュアルディスプレイなので、横長になってます。

途中でviでHTMLを編集してます。 編集内容はYahooの検索ボックスに該当するタグを削除。 削除すると全ブラウザに反映されます・・・が、なぜか左上のIE8だけは動いてない。 その他のブラウザ(Firefox, Opera, Chrome, Safari)は動作してるのに・・・。 気になったらYouTubeへ移動して、HD画質で見てください。

· 3 min read

ファイル監視をしてみた。 まぁまぁ、動くんだけど、一部エラーが発生する。 原因はまだわかってない(というか、大元はOSのイベントだからなぁ)けど、それ以外に気づいたこと。

· One min read
sudo aptitude install build-essential sudo aptitude install python-dev

sudo easy_install twisted sudo easy_install orbited sudo easy_install morbid

[tutorial]How to: Django, Comet, Orbited, Stomp, MorbidQ, js.io | Thought Outflux | Anirudh Sanjeev

http://anirudhsanjeev.org/tutorialhow-to-django-comet-orbited-stomp-morbidq-jsio/

Comet Daily » Blog Archive » Scalable Real-Time Web Architecture, Part 2: A Live Graph with Orbited, MorbidQ, and js.io

http://cometdaily.com/2008/10/10/scalable-real-time-web-architecture-part-2-a-live-graph-with-orbited-morbidq-and-jsio/

ホームディレクトリにPythonの環境を整えてくれるvirtual pythonというものもあるのだが、Ubuntuの場合、site-packagesディレクトリではなく、dist-packagesという名前のせいで動作せず。 コードを書き換えるか、dist-packagesにシンボリックリンクを張れば解決出来そうだけど、ノートPC自体自分の環境なので今回はいいや。

· 2 min read

SharpDevelop @ic#code

http://www.icsharpcode.net/OpenSource/SD/これを使ってみた。 VisualStudioと違いを感じられないくらい、そっくり! Windowsのフォームも作れたし、VisualStudioいらないんじゃないか?って感じ。 Exception発生時のダイアログとか、まだ微妙に整ってないけど、必要な情報は表示される。 C#を使うこともあまりないので、VisualStudioの機能を使いこなしてないんだけど、その程度の人にはなおさら十分。

Main Page - MonoDevelop

http://monodevelop.com/LinuxでC#を使いたい場合はこっち。

LinuxでWindowsバイナリ(exeファイル)を作れないものか? そこまでは言わないから、せめて、プロジェクトファイルとか一式Windowsに持っていってコンパイルするだけにはならないかなぁ。 monoでもWindowsFormを使えるらしいが、MonoDevelopのウィザードには出てこないっぽい。

この辺の実装状況などのまとめサイトがあったら読んでみたい。

· 2 min read

今日は"おい〜!!"ってことがあったが、書けないので、書かず、Python2.6の話でも。

Ubuntu 8.10でPython2.6を使おうとすると何かと困る。 例えば、メニュー設定がうまく動かなかったり、dpkgの依存関係で怒られたり・・・と。 そんなわけで、Ubuntuの構成上は2.5を使い、Django関係は2.6を使うという状態になってる。

CentoOSでPython2.6 & mod_pythonを使おうとするとこれまた大変らしい。 パッケージ管理を行っているOSはパッケージで済ませたいところだが、そうも行かないらしい。 と言うわけで大変だったという話を聞いた。 SRPMを使えば依存関係をそれなりに維持しつつ出来るかもしれないが、テストする環境がないので、機会があれば。

Ubuntu 9.04ではPython2.6が搭載されてるということで楽しみだったりする。 ・・・のだが、MacBookでいきなり動くとも思えないので、人柱の状況を見つつ、移行予定。

· One min read

Vimで編集中のコードをコンパイルして実行したり - Tech Labo

http://d.hatena.ne.jp/techlabo/20080330/1206866935Vimでコンパイル。 .vimrcに以下を書いておけばよい。
command! Python call s:Python()
nmap <F5> :Python<CR>
function! s:Python()
:w
:!python %
endfunction

なるほど。

上記ページにはCやPerlのもありました。

· One min read
Python3はじめてのPython3 こっちは流し読み程度にしとくつもり。Django x PythonDjango x Python こっちは読みつつ、調べつつという感じかな。

あと、PLUTO 7を買ったんだった。

PLUTO 7PLUTO 7

Amazonのリンクはめんどいな・・・。 プラグインを調べたけど、どれもあまり気に入らなかったからなぁ・・・自分で書くか?

· One min read

1TDBが欲しくなってきた。 速度さえ追及しなければ、そこそこ便利だと思うんだけどなぁ~。

※1TDB: あえてわかりづらく(笑)

· 2 min read

ちょっとむずかしめ(?)な話。

DBって扱いがもっと簡単にならないかなぁ~と常々思っているのだが、正確にはDBじゃないんだよね。 DBに格納するデータ構造の扱いと、プログラミングのコードがマッチしづらいところだと思う。 この溝を埋めてくれるのがO/R Mapperだったりするんだろうけど、まだ足りず。

· One min read

DIの設定ファイル、量が多くなったら面倒。 だからと言って、アノテーションみたいにコードには埋め込みたくない。 ということを考えていて、検索してみたらそんなことで議論をしているエントリーを発見。

読んではみたものの・・・なんか違う。 新しい概念を取り入れないとすっきりしない気がした。

· 3 min read

PaSoRiにコマンドが送れなくて困っていたわけだが解決! 今まではwriteInterruptを使っていたのだが、これをcontrolMsgにしたら動作しそうだ。

· One min read

う~む・・・。

c:MinGWbindllwrap.exe: no export definition file provided. Creating one, but that may not be what you want c:MinGWbindllwrap.exe: gcc exited with status 1

.oまでは作成可能。 .dllにならず。

· One min read

JNIをいじってみたが、Cが得じゃないだけあって、エラーの解決が大変。

error: conflicting typesと出るのだが、そんなたいそうなものじゃないからconflictしてそうにも見えないのだが・・・。

· One min read

会社でXMLDBの話を軽くした。 XMLDBと言ってもDBには保存しないが。

こっち路線で考えてみることにする😄

· One min read

StAXとスタックを使うと結構楽。

タグ解析クラスを用意し、そのクラスを継承した各タグの解析クラスを用意して、回すだけ。 タイミングはStAXが取り持ってくれる。 その際に、Stackクラスを利用して開始タグでpush、終了タグでpopすると、各タグに注力出来る。 タグ解析クラスを継承した各クラスもシンプルになる。

· 2 min read

設定ファイルの1つとしてXMLがある。 構造化を表現するのには便利だし、慣れてしまえばそれほど苦痛なものでもない。 デメリットとして、情報量の割にファイルサイズがでかくなる傾向があるが、今の時代それほど気にされなくなったと思う。 でかいと思ったら圧縮しちゃえばいいわけだし、テキストだから圧縮には向いている。

・・・というのは技術的な視点であって、XMLってめんどい!!