2017年02月03日

selenium+phantomjs環境を作るぞ

Webサイトの自動テストにseleniumとphantomjsの組み合わせがいいという知らせを聞いた取材班は
一路rubygems.orgに赴いた
そこでレポーターたるgemコマンドが見たものとは


続きを読む
posted by LoyalTouch at 06:48| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2017年01月13日

redmineの環境構築難しすぎるのなんとかならんのか問題

今回完全に愚痴です。

結論から言うとですね、redmineってどっかからzipなりtar.gzなり持ってきて展開したら即実行できるようになってないの?
っていう話なんですが、なんで今さらになってこんな愚痴言うのかって言うと
端的に言って会社のredmine環境古かったんで、DBの内容だけ引き継いで新しくしようと思ったんですが、
会社はプロキシ環境で自由に外部にアクセスできず、そんな環境で最新のredmineを入れるのがえらいこと辛かったんで
苦しんだ過程だけ吐き出してスッキリしようという、今回そういうエントリーです。あまり生産性もない。



続きを読む
タグ:redmine
posted by LoyalTouch at 06:56| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年11月11日

C#のout修飾子が気持ち悪い

数年後見返す俺のために一応メモしておくと、今週アメリカ大統領選挙があってまさかのトランプ勝利世の中が大混乱です。
これから時代が変わる、そんな時期にいまから書くお話はすごく今更ながらのやつで、多分エッジにいるエンジニアには10年以上前に通過したような話。どうなってんだ。いや、前回は3000年前くらい昔の話書いたんだしどうでもいいか。いいのか?

まあそれはそれとして。

なんか仕事でC#のプログラムをいじる機会があってですね。
よくあるiniファイル解析みたいなやつをゴリゴリ作ってたんですよ

ID=00123
Name=べろべろたかもろち(※)
Price=198
Begin=2016/10/12
End=2016/12/26

こんなファイルのやつね。この情報のうちID=とName=とPrice=の情報だけが欲しいので
解析部分だけ別関数に切り出して処理してやろうとした。この処理部分について心に引っかかることが。

※ 4歳の息子がドラクエのミミックに名付けた名前。多分べろべろが出てる宝箱のことだと思う…


続きを読む
タグ:C#
posted by LoyalTouch at 07:05| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年09月16日

所持品をどのように管理するか

5つの宝島を作っていた頃からの課題なんだけど、所持品ってどうやって管理するのが楽なんだろうな
正しいじゃなくて。装備品も絡めると、結構厄介な問題になると思うんだ

RPGにおけるアイテムの扱い

ドラクエやWizなどの初期の雰囲気を残すRPGは除き、一般的なRPGでは所持品はキャラクターに属さずパーティーで一つの管理を行う
だからゲーム内で一つの連想配列itemsを持っておけば十分だ
一方、装備品はキャラクターに属するので、各キャラのequip.arms equip.armor equip.shieldなどの属性にアイテムインスタンスを突っ込むというのが大体の設計方針になると思う
ここで問題になるのは2つ

  • 装備したら所持品から1個減る処理
  • あるアイテムを持っているかの判定をitemsとequip両方見なきゃいけない

このうち上のやつは大した問題じゃない。装備品の管理を必ず1関数で管理スレばいいだけの話で、
それだけならプログラミングに一般的な責任の分離の規則で対応できる。

問題は下のやつだ。


続きを読む
タグ:龍の宝珠
posted by LoyalTouch at 06:43| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年09月02日

タグパース機能の考察

龍の宝珠、タグパース機能を実装しようとしている。

タグはシナリオデータに付随している本文以外の情報だ。

[img image/oroas.png]
雪深いアンガタ村にも春がやってきた。
風はすっかり柔らかくなり、雪解け水と土とが混じった匂いを運ぶ。
村のすべてがゆるゆるととけていくようないい気分だ。
だが、オロアシ爺さんは冬囲いのイチイの木みたいなしかめ面のままだった。

村広場の溜池の水が濁ったままだからだ。
[link 002]
*001
いつもの年なら、雪解けから3日もすればカンマンガタ川の清流が
溜池の泥をすっかり洗い流してくれるのだが、
今年は10日過ぎても薄茶色の濁流のままなのだ。

4人はカンジキをジャクジャク言わせて上流に向かっていった。
寒さがぶり返して粉雪がチラつく、嫌な朝だった。
[link 003]

↑のシナリオデータがあるとして、[赤文字]の部分がそれ。
モックアップではString#replaceを使っていちいち全書き換えしてたんだけど、なんか違うような気がしてきた・・・


続きを読む
タグ:javascript
posted by LoyalTouch at 06:43| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年08月26日

ゲームシナリオキャッシュのAPIは何がいいか

ぼちぼち龍の宝珠作ってます。
5つの宝島と同じく、初回アクセス時にゲームデータを予め保存しておいて、ゲームプレイ時にはキャッシュからデータを読みこむようにしようと考えてる。スマホプレイの時には初回アクセス時にwifiのところにいればいいって感じで。

ところで、ブラウザゲームの場合そういう一時データの保存先は何があるのか。というと、かつてはcookieしかなくてどうにもできなかったらしいけど、html5時代には複数の解がある模様

  • WebStorate
  • IndexedDB

どっちがいいのか調べてみた。


続きを読む
タグ:javascript HTML5
posted by LoyalTouch at 06:39| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年08月12日

そろそろCoffeeScriptも卒業できそう

以前はcoffeescriptの書き味に馴染みまくってて、これしばらくjavascriptに戻れないわ、なんて思ってたけど
ここしばらくES5で書いてみると、なんとか慣れるものだね。
やっぱりコンパイルなしでセーブしたらそのまま実行できるっていうスクリプト言語の良さはあるっちゃーあるわ。

ただやっぱり行末のセミコロン、関数を閉じる閉じ中括弧にはなれないなあー。特にコレ

$(()=>{
  reflesh();
});

}); ってなんだよ意味わかんねー

$ ->
  do reflesh

cofeeだとこんなもんだったんだが、しょうがない、慣れよう。。。

その他近況報告

場面遷移のたびにajaxで読み込むのやめる。
これ、ゲームブック風ゲーム龍の宝珠の話なんだけど、html5でLocalStorageっていう5mb程度のデータをKVSで保持できる仕組みが現れたので、
初回でゲームデータをすべて読み込んでLocalStorageに保持、以降Storageから読み込んでオフラインでもゲームできるよう仕組みづくりすることにした
この作り、かつて5つの宝島でゲームデータをデータ保存域に保持していた作りを思い出してなつかしいわぁ・・・

ゲームスクリプトの様式を独自タグにする。
同じく龍の宝珠の方の話。以前はxmlでマクロタグ作ってたんだけど、データ圧縮のことを考えるとxmlより独自タグの方が有利。

  • <icon src=image/oroas.png />
  • [image image/oroas.png]

上と下の違いね。これだけだと大した差じゃないようにみえるけどもっと複雑なタグだと地味に効く。
要するに全般的にxmlから離れようという話。お手軽じゃないししょうがないね。
タグの書式は0から自分で考えてもいいんだけど、吉里吉里/KAGやらNScriptなどのノベルゲー作成ツールの文法を少しパクって

  • ジャンプタグは * で始める : 例) *enemy_encounter
  • マクロタグは[]で囲む : 例) [link enemy_encounter]

こんな感じでいくかと。
posted by LoyalTouch at 06:34| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年07月22日

plantumlでredmineに図を挿入

昔UMLは使えねえっていう話をしたと思うんですね


今でも何でもかんでもUMLで書くのはおかしいとは思ってるんだけど、まあそれでもシーケンス図と状態遷移図だけは認めてやってもいいし、
if分がいくつもガチャガチャ続く場合はどうしてもフローチャートはほしい。フローチャートとアクティビティ図はほぼ等価だと思うんで、
ひとつのコンポーネント入れるだけでシーケンス図も状態遷移図もアクティビティ図も書けるんならまあ使ってもいいかなくらいに思ってきた。
適材適所ですな。

でもastahでいちいち図を描くのは面倒だしあれ起動むっちゃ遅い、しかもテキストデータじゃないから差分管理面倒くさいということで
すこし敬遠してた部分もあったんだけど、テキストでUML起こせるツールがあったんですね。しかもredmineと連携もできる。
今回はこのツール、plantumlをredmineと連携させて、設計資料を充実させようというお話。


続きを読む
posted by LoyalTouch at 06:28| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年07月15日

RedmineでToDo管理だ

このブログ、本来はゲーム作成の過程を綴るブログだったんだ。

ところが1つのiアプリゲーム、5つの宝島を作成してから6年あまり、他のゲームを全く作り終えていない。
作りたいと思っているゲームは
  • 龍の宝珠の物語 : HTMLで作るゲームブック風ゲーム
  • ダンジョンスペシャル : とにかく進むだけの単純ハック&スラッシュゲーム
  • 世界中の迷宮 : TRPGを模したシナリオ随時追加型RPG
  • Flidoneizia : 世界観を作りこんだハイファンタジーのフィールド型RPG
こんだけある。難易度の低い順番から上に並べたけど、コレ完成するのいつごろだ・・・?
そして、全く進まないのをなんとかしたい。作ろうと思うとついネットだらだら見て過ごしてしまうんだ・・・どうしよう。
そうだ、ToDo管理しよう!
続きを読む
タグ:GTD
posted by LoyalTouch at 06:46| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年05月12日

オブジェクト指向と戦った戦士達の軌跡

Qiitaでオブジェクト指向と戦った人たちの記事が10年単位で語られてて、twitterで話題になってますね。



そうか、30年も戦うと何か変な悟りを得るのか・・・

かくいう俺も今の職場に配属されてからそろそろ10年、オブジェクト指向と戦ったといえなくもない微妙な経験を積んだので、一度頭を整理する意味でもオブジェクト指向について整理してみよう。


続きを読む
posted by LoyalTouch at 22:10| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2016年04月11日

Android開発にまさかのswift

GoogleがOracleとの闘争の果てに、Androidの第一級言語としてのJavaを捨ててswiftに移行するかも知れないとの噂。

え、移行先はkotlinじゃないの???


続きを読む
posted by LoyalTouch at 06:27| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2015年12月31日

Windowsにてポータブルなcoffee-script環境を整える

こんにちは。引っ越し大好きインストール大嫌い、環境はできるだけDドライブにまるごとコピーで済ませたいthe loyaltouchです。要はポータブル何とかが大好きだね。GimpPortableもPortableGitも大好き。

xyzzy coffee-mode + wsh版coffeeで運用してしばらく、非常に重宝していたんだけど、やっぱりコンパイルに一手間かかるのがめんどうなのと、.litcoffeeに対応するのにどうしたらいいのか悩んだ末、PCを新しく買い換えた。
インストール大嫌いなのに再度環境を構築するのが趣味というわけわからん俺は、もはや時代遅れと思われるwshは今一度諦め、node.exeのPortable環境にcoffee-scriptの環境を構築することとした。今回はその手順をメモしよう。
続きを読む
posted by LoyalTouch at 22:39| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2015年07月17日

GoogleがADTの配布をやめてしまう!

遅報だけど。
俺にとってはいつまでも最高のツールだったEclipseに衝撃の展開が迫っている。が、話はそれだけですまなさそうだ。


続きを読む
タグ:android
posted by LoyalTouch at 06:14| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2015年05月12日

eclipseが嫌われてて悲しい

最近Webベースのプログラムばっかりやっててしばらく触ってなかったんだけど、どうもJavaのGUI周りがSwing→JavaFXに大幅にかわっているらしく、また新しいツールでも作ってみようかと思ってeclipseを立ち上げてみた。
んで、久しぶりにeclipse立ち上げたんで色々便利ツールが出てるんだろうなと思ってeclipseでググれば出てくる出てくる、
eclipseに対する怨嗟の声
あれ、なんでeclipseってこんなに嫌われてるの?


続きを読む
posted by LoyalTouch at 23:37| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2013年10月12日

Android Studio使いこなせない→eclipseに戻る

Android StudioっていうIntelij派生のAndroidアプリ作成IDEができたらしいんで、しばらく使ってみたんだけど、
なんだか使いづらい・・・

プロジェクトやらソースやらがどこにあるのかわかりづらいし、ビルドやエミュレータの起動がうまく行かなかった時、どこのメニューをいじればいいのかわからなかった(これは俺がEclipseに慣れてるからってだけかもしれない)
あと、EclipseよりIntelijのほうが軽いって噂だったんだけど、そもそもAndroidエミュレータ自体が遅いんでどっち起動しても体感変わらなかった

っていうかAndroid SDKダウンロードするとEclipseを改造したAndroidIDEが手に入るしね。素直にこっちつかうわーーーー
タグ:android Eclipse
posted by LoyalTouch at 23:15| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2013年06月19日

mylynの使い方がようやくわかったようなわからないような

あるときeclipseの画面を開くとやたらにプッシュされるようになったmylynというモジュール。これなにかというと、redmineのチケットとeclipseを連動させる仕組みらしい。
もともとsvnやらgitやらのコミットとチケットはコミットコメントに#refsとか#fixesとか書いておけば勝手にチケットがクローズするという機能があって、こっちの方は知ってたんだけど
mylynはredminにチケットを登録すればeclipseに通知されるという仕組みみたい。
rssリーダーに頼ることなくなって便利になった・・・?
まだメリットしっかりと実感してないけど、ちょっといじってみようかな
タグ:Eclipse
posted by LoyalTouch at 06:31| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2013年03月03日

動的型付き言語の利点みたいな話

かなり昔から議論され続けてきた話がまた再燃している模様。むやみなPerlいじめのような話にならなければいいんだけど

http://d.hatena.ne.jp/perlcodesample/20130227/1361928810
 
↑の記事を発端として、色々意見が出てきた。
 
続きを読む
posted by LoyalTouch at 08:27| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2012年12月09日

UMLの有用性が理解できない

仕事でUML書いてます。ま、仕事の話なんてつまらないことだらけなんだけど、その中でもつまらないのは管理業務ドキュメント。そのつまらないドキュメントの仕事で、今発注元からはた迷惑な流れが出てきています。UMLをしっかり使えと。
 続きを読む
posted by LoyalTouch at 10:39| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2012年08月17日

アスペクト指向で調べること終了のお知らせ

ほんの一瞬だけ起きた俺のアスペクト指向ブーム早くも終了

なんか、Aspect.netみたいなのないの?っていうの探し続けてたんだけど
色々あって大して有用でもないから消えちゃったみたいだね。

続きを読む
posted by LoyalTouch at 07:36| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2012年07月05日

MVCは死んだ、次はMOVEだ

って話があるそうです。

http://d.hatena.ne.jp/nowokay/20120704
http://ugaya40.net/architecture/dis_mov.html

話の骨子は、どうもMVC構造にすると、世の中の人々はControllerにロジックを書きすぎ。Controllerが混沌化するから
OperationとEventに分離しよう
っていうことのようです。

え、でもそれって分離すればするほど単体テストやりづらくね?
俺、MVCの利点はモデルに単体テスト対象のロジックを集めて、テストを容易にするためにあるもんだと思ってたんだけど
モデルを貧弱にしたままさらにController側を分離したら、いったいどうやってテストするんだーーー

最も技術が発達したら結合テスト自動化が発達していって、なんで単体テストでわざわざ別プログラム作るの?ソース機械解析に任せればよくね?なんて世界が来るかもしれないけどね。

あと、俺くらいのうっかりさんになったら

<% a = Article.new; a.title = @title; a.text = @text; a.save! %>

このようにControllerどころかViewにロジックを集めて満足したりするけどな!
ワイルドだろう?
posted by LoyalTouch at 07:22| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする