マラソンマッチ68 美しいクロスワード

TopCoder Marathon Match 68 BeautifulCrosswordの意訳です。 翻訳間違ってる箇所があったら、ごめんなさい。 原文は、下記になります。 http://www.topcoder.com/longcontest/?module=ViewProblemStatement&rd=14495&pm=11353 問題の概要 ここにN×Nマスの板…

囲碁パターンマッチング範囲のメモ書き

現在趣味で作っている囲碁AIですが、着手優先度用のマッチングには、以下の3段階でzobrist hashingを用いる予定。 □□□□□□□ □□□■□□□ □□■■■□□ □■■☆■■□ □□■■■□□ □□□■□□□ □□□□□□□ □□□□□□□ □□■■■□□ □■■■■■□ □■■☆■■□ □■■■■■□ □□■■■□□ □□□□□□□ □□■■■□□ □■■■■■□ ■■■…

cssコンパイラを自作してみた

サイトデザインの技術的な部分について、ようやく取りかかることにしました。 要は、htmlとかcssとか、その辺の上手な活用法についてです。 普段、基本的には、なるべくIDとクラスに対してスタイル指定する様にしています。 クラスがIDと異なる特徴として、…

PHPExcelのキャッシュ機能について

PHP上でExcelを使えるPHPExcelというライブラリについて勉強中。 PHPExcel http://phpexcel.codeplex.com/ これを使って、以下の様なプログラムを書く。

SPOJ-PRIC 素数判定 1位奪還!

やりました。 SPOJ-PRICの1位を、取りました。 2009年8月にハンガリーのRobert Gerbiczさんが1位を取ってから1年と5ヶ月ぶりに、日本が奪還したことになります。 アルゴリズム的には、前回の日記の時から何も変わっていません。 SPOJ PRIC Ranking http:…

素数のまとめとか

SPOJのPRICにて2位取りました。 SPOJ - Prime Checker - Ranking https://www.spoj.pl/ranks/PRIC/ が……1位が取れませんので、日本勢頑張ってねということで、一旦バトンタッチします。 (ネタバレが嫌いな人は、読まないでください) また4月ぐらいにな…

uupaa.jsの不具合報告

Twitterの@uupaaさんのメールアドレスが分からないので、 日記で不具合報告を書くことにします。 まぁ、ずっと更新されてない日記なので、こんな使い方でも良いでしょう。 <table> <tr id='xx'><td>C</td><td>D</td></tr> </table> 以上のようなHTMLがあって、スクリプト内にて、以下の様な処理を行います。 uu(…

同じ牛丼屋でも3倍の待ち時間

よく朝食を食べる某新宿区内の某牛丼チェーン店は、朝食セットを3分ぐらいで出してくれます。(運良く他の待ち客が居なければ、2分かからずに出てくる) 食事時間を合わせて、最短だと入店7分後には店を出られるため、よく利用してます。 今朝は(某新宿…

Appengine ja night#6と、エンティティ設計のまとめ

3月19日のAppengine ja night#6に行ってきた。 ネットで見てるだけだったひがさんのお話を生に聞けた。(そして話も少しだけしてきた) 話の内容は、GAE(Google App Engine)上での、グローバルトランザクションとマイグレーションの話だった。 GAE上のトラン…

最近のプログラミング言語事情

ちょっと違うけれども、今日と明日のMicrosoftTechdaysで、この日記の表題と似たような感じのタイトルのセッションがある。 少し興味あるなと思っていたら、1週間前ぐらいに上司から、あれはタイトルとかけ離れた内容らしいよと言われた。(そしてオススメ…

今朝、携帯からmixi日記とはてなダイアリーの両方にメール投稿したつもりなんだけど、なぜかこっちには投稿できてなかったので、再投稿。(の結果はうまくいったので、はてなダイアリーはTOが2件以上あるメール投稿は受け付けてくれないのかもしれな…

TestNG

最近、趣味プログラミングにもテストフレームワークを取り入れることにしました。 JavaだとJUnitが有名なんだけれども、JUnitは使ったことがあったんで、マイナーな所でTestNGを使ってみてます。 テスト同士の依存関係とか記述できるのはとても便利。 でも、…

オブジェクトのクラスを途中で拡張可能な言語が欲しい

オブジェクト指向言語の多くでは、サブクラスのコンストラクタからスーパークラスのコンストラクタを呼び出すことは良くある。 しかし、逆がないなぁ、と。 そんなの当たり前? いやまて、それはプログラミングの常識に対して受身すぎるんじゃないのか? ス…

GAEjでお絵かき

Google App Engine(以下、GAE)上で、アップロードした絵に文字を入れてくれる掲示板を作ろうかなと思っている。 GAEではJavaの画像処理関係のライブラリはほとんど削られているが、いくつかの画像を合成する機能ぐらいは持っている。 しかしながら、1万文字…

GoogleがMapReduce特許を取得

GoogleがMapReduce特許を取得 http://d.hatena.ne.jp/w_katsura/20100119/p1 個人的にはかなり衝撃的なニュースです。

ER図とGoogle App Engine

最近の趣味プログラミングでは、ER図からGAEj用のEntityクラスとDaoクラスを自動生成するプログラムを作っている。 少し前に書いた日記で、「RDBMSでのユニークFKをGAEでのキーに持ってきた方が良い」みたいなことを書いたけれども、ER図で言うと、「(1)対(0…

JavaにてCSV行の読み込み

たぶん、こんな感じかな? public static String[] splitCSV(String line) { final Pattern p = Pattern.compile( "\\G\\s*(?:\"((?:[^\"]+|\"\"\")*)\"|((?:[^,\\s]+[\\s]*?)*))\\s*(?:(,)|\\z)" ); Matcher m = p.matcher(line); List<String> ary = new ArrayList<String></string></string>…

Slim3

とりあえずGoogle App Engineの自分用フレームワーク作りはこの辺で終了にして、一般に出回っているフレームワークを使って実際に何か作っていこうかなと思い中。それで、Slim3のドキュメント読んでますが……かなり使いやすそうですね。 なるほど、それはそう…

年始の挨拶

本日は仕事始め。 技術職の私は普段は出社時間を選べるが、今日は選べない。 社長から、年始の挨拶があるからだ。 まぁ不真面目なことを言えば、厳密には休んでも良いし、半休を取って午後から出社しても問題ないのだろう。 挨拶があるから、という強制力は…

GAEjでできないこと

結構ある。 画像処理なんかは絶望的。 なまじJavaが中途半端に画像処理ライブラリを持っているためか、画像処理の外部ライブラリが少ないし、あってもJava標準の画像処理ライブラリに依存している。 そしてGAEjではJava標準の画像処理ライブ…

Freemarkerでpublicフィールドを使う

Freemarkerでpublic fieldを使えるようにする http://d.hatena.ne.jp/runfor/20090911 って記事。 これ、パッケージのソースコードを修正するのはスマートじゃない。 なので、Freemarkerを使う前に以下の処理を行ってやって、外側からpublicフィールドをONに…

logined

新年あけましておめでとうございます。 (この記事をあげる時点では、なにげにまだ明けてないですが) ちょっと趣味プログラミングしてて、ログイン済みかどうかを示すメソッドとして"isLogined"と付けそうになって、なんかすごい違和感を感じて、ちょっと調…

Google App Engineのキーバリューストレージの特徴

最近使ってみてて、リレーショナルDBと比較して、こんなんかなーって思うこと。 リレーショナルDBのシーケンスPK → GAEでは、インデックス付きの1プロパティにした方が良い。 リレーショナルDBのユニークFK → GAEでは、こっちをキー(PKみたいなもの)にし…

Javaの言語仕様はやっぱり微妙すぎる

Genericsにてnew T()できないのがキモイ のタイトルの問題に対して、Javaでは以下の様にすることで解決するらしい。 static <T> T method(Class<T> c) { T instance = c.newInstance(); return instance; } これは後方互換のため。 うん、それは良いんだけどさ……継</t></t>…

SPOJサーバのスペックダウン?

SPOJのPRICのランキングが更新されていたので、久々に少しやってみました。そしたら、SPOJサーバのスペックが、落ちてますね。以前はSSEが使えたのに、今は使えないらしいです。(SSE2は前から使えない)同じプログラムでもスコア落ちるし。SSE2が使えるサー…

設計間違ってるんじゃね?

.NET FrameworkのXmlSerializerは、コンストラクタにTypeの配列を渡すことで、object型の変数でもシリアライズできます。 これは、シリアライズ時に型情報を書き込んで、デシリアライズ時に型情報を元にインスタンス化するからです。 と、こ、ろ、が、、、な…

珍しく

GUIを使うソフトを設計中です。よく使われる操作性だと実装が面倒なんで、全然違う操作性で、実は操作しやすいものを思い付いた。 プログラマ向けの、グラフィックソフトって位置付けかな。 趣味で作るから、機能数がイマイチ。

Spring.NET

趣味で入れてみることにしました。 DIプログラミングってどんなだ。

全然違う方法

相変わらず素数判定してるけれども、全然違う方法で高スコアを狙える可能性のある方法を思い付いた。 ちょっとまだ試算できてないけれども、今までやってきた方法と比較して、画期的だと思う。究極が可能なら1秒切る可能性まででてくるのだけど、全然できな…

携帯からです。

素数判定、イフ文5つをスイッチ文1つに変えるのは微妙な速度ダウンになってしまいました。 思うんですが、結局のところ、京大出身のお二人の方法に辿り着かない限り勝負が出来ない。そもそも、フェルマーテスト系を行ってる時点で、もぉダメなのかなとか、…