yhara.jp

Recent Posts

APIのエラー出力をw3mで見る

2018-10-09
Tech

RubyでAPIサーバを作っていると、Rack::ShowExceptionsとかでエラーレスポンスがHTMLになることがある。通常はこれはデバッグに役立つけれど、APIサーバの場合はcurlで動作確認してたりするので、ターミナルにHTMLがだーっと出力されるとあんまり嬉しくない。

対処法としてはいったん.htmlに保存してブラウザで開くという手があるけど何回もやるのはちょっと面倒。こんなときはw3mを使うと直接見ることができて楽。-Tを付けると標準入力をHTMLとして表示することができる。

curl http://localhost:9292/some_api | w3m -T text/html

Rack::ShowExceptionsの場合は冒頭だけ見ればエラーの主な情報(例外クラス名、メッセージ、発生箇所)が分かるので、以下でもいいかも。

curl http://localhost:9292/some_api | w3m -T text/html | head


DXOpal 1.3.0をリリースしました

2018-09-29
Tech

Rubyでブラウザゲームが作れるライブラリ、DXOpalの1.3.0をリリースしました。

1.3.0ではパッチをいただいて加算合成ができるようになりました。例えば炎のエフェクトを背景の上にいい感じに合成できるみたいです。かっこいいですね。

使い方

1.2.0から変わっていません。チュートリアルは以下のとおりです。

(more...)

『Into the Breach』ドット絵のメカで戦う"ローグライク詰将棋"

2018-09-26
Game

ここ2週間ほどInto the Breachというゲームをやっている。けっこう面白い。絵と効果音がかっこいいのもいい。システムはけっこう複雑な点もあるけど、随所にツールチップで解説が出るのでやってるうちに分かるようになって、そういうところもすごく良くできてる。

ゲーム性について

ゲームモードは1人用のみ。自軍のメカが3体あって、それを操作して敵モンスターを倒していく。リアルタイム性はなくて、良い手が浮かぶまでじっくり考えることができる(というか、考えざるを得ないというか)。画面上の電力ゲージがいわゆるHPで、これをゼロにすることなく指定ターン数を乗り切ればステージクリア。

自軍メカはそれぞれ2つまで武器を装備することができるのだけど、稼働には「エネルギーコア」というアイテムが必要で、手持ちのコアを3体にどう割り振るかで「駒としての動き」が変わってくる。強い武器は必要コア数も多い。

(more...)

2018年8月

2018-09-04
Tech

近況です。

Ovto, Vision

8月は自分用のTODOアプリを作っていた。繰り返しTODOまで実装できたので、そろそろ実用できそう。

これのためにフレームワークの方にも手を入れて、例えばOvto.fetchというfetch APIを叩くメソッドを追加したりした。そろそろv0.2.0としてリリースしないとなぁ(どうもその手の作業は後回しになりがち)。

(more...)


Using login_user with Sorcery gem on Rails 5.2

2018-08-29
Tech

Problem

Sorcery's Testing-Rails guide is based on Rails4 and does not work with Rails5.2.

With include Sorcery::TestHelpers::Rails::Integration, I got:

TasksControllerTest#test_should_get_index:
NameError: undefined local variable or method `page' for #<TasksControllerTest:0x00007fff19df4a10>
    test/controllers/tasks_controller_test.rb:7:in `block in <class:TasksControllerTest>'
(more...)


「fetch APIでRailsのcreateアクションを叩くとInvalidAuthenticityTokenになる」

2018-08-04
Tech

fetch APIを使ってRailsのAPIを叩くものを作っていて、GETはうまく行ったのだけど、POSTしようとしたらCSRF関連のエラー(ActionController::InvalidAuthenticityToken)になってちょっとはまった。

原因

fetch APIはGETもPOSTもできるのだけど、デフォルトではCookieをサーバに送らないという仕様になっている。

RailsのCSRF対策は「送られてきたトークンをセッションに保存されたものと比較する」というものだが、セッション情報はデフォルトではCookieに保存される(CookieStore)ので、Cookieをサーバに送らないとセッションにトークン情報がないぞということになり、InvalidAuthenticityTokenになる。

修正方法

fetch APIの第二引数に{credentials: "same-origin"}を入れてCookieをサーバに送らせることでうまく行った。


2018年7月

2018-08-03
Diary

近況です。

Ovto

上記の記事を上げてからしばらく寝かせてたけど、サンプルを兼ねてTODOアプリを作り始めた。まだgithubには上げていないが、visionというコードネームを付けている。

フレームワークはRailsを使うことにした。自分用のアプリは「major upgradeに付き合わなくて良い」という理由でSinatraを使うことが多いのだけど、最新のRailsの動向を追うのに一つくらいはアプリを持ってても良いかなと思って。

(more...)

Next »

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author