yhara.jp

Recent Posts

2018年11月

2018-12-06
Diary

近況です。

ydash

今月はrackやnokogiriなどのsecurity updateがあったが、自作のプロジェクトが増えてどれが引っかかったのか把握するのが大変になってきたので、簡単なダッシュボードアプリを作った。

Sinatraを使うとこういうのがさくっと作れて楽しい。ソースは https://github.com/yhara/ydash に置いてある。チェックにはbundler-auditを使っている。

(more...)


CHANGELOGからgitコミットログを自動生成する

2018-11-10
Tech

最近はどのプロジェクトもCHANGELOG.mdを書くようにしているのだが、CHANGELOGとコミットログは基本的に同じ内容になるので、手間を省くために自動で記入するようにしてみた。

手順

以下を.git/hooks/prepare-commit-msgという名前で保存してchmod +xする。

#!/usr/bin/env ruby
CHANGELOG_PATH = "./CHANGELOG.md"

(more...)

2018年10月

2018-11-04
Diary

Halite-III

少し前に記事にしたが、今月はHaliteというAIコンテストで遊んでいた。言語はいろいろ選べるが僕はRubyでやってる。AIプログラムを書いて送ると他の人との対戦が始まって、ブラウザ上で動いてるところが見えるというやつで、無限に時間が潰せそうでやばい。

一時は100位以内まで上がったけど、今は拠点周りの挙動を改善しようとしてスコアが落ちている。こればっかりやってても何だなと思うけど、開催期間が来年1月まであるので、気が向いたら直すかも。

AtCoder

(more...)

Ovto 0.2.0をリリースしました

2018-11-02
Tech

Rubyで書けるクライアントサイドWebフレームワーク、Ovtoの0.2.0をリリースしました。

いろいろ機能が増えていますが、一番大きいのはAjax対応で、Ovto.fetchというメソッドでサーバ側のAPIを簡単に叩けるようになりました。

これでだいぶ実用的になった、というか実際にVisionというTODOアプリを作って、実用しています。VPSに置いているのでPCでもスマホでも使えて便利です。

VisionはRails5.2.1 + Ovtoという構成で、このへんがクライアント側(Ovto)のコードです。実行時には、これがopal-sprocketsでJavaScriptに変換されてブラウザで動きます。


対戦型AIコンテスト Halite-IIIの始め方

2018-10-20
Tech

10/16から始まった https://halite.io/ がけっこう面白かったので、始め方を解説します。

Halite-IIIとは

HaliteはTwo Sigmaという会社が開催しているプログラミングコンテストで、Halite-IIIはその第三回目になります。

Halite-IIIは2〜4人対戦型のゲームで、海に船を出して海中の"halite"を回収し、一定ターン後に一番たくさんhaliteを蓄えたプレイヤーが勝者となります。試合はAIを投稿するたびに自動的にサーバ側で行われ、勝率によってレーティングが変化します。

gif

(more...)

Gitのpost-checkoutフックを使ってみた

2018-10-18
Tech

Gitのpost-checkoutフックを使って、ブランチを切り替えたときにWIPコミットがあればメッセージを出すようにしてみたという話。

WIPコミットとは

WIPコミットというのは個人的な名称だが、全ての変更を仮コミットにまとめたものをそう呼んでいる。例えばブランチで新機能を開発している最中にバグを見つけてmasterを触らないといけなくなった時は、git commit -am 'WIP'でWIPコミットを作ったあとmasterに移動する。

バグ修正を終えてmasterから戻ってきたあとは、git reset HEAD^ とするとWIPコミットが削除され、作業中の状態に戻すことができる。

作業状態の保存はgit stashでもできるが、stashの場合は「このブランチにはWIPがある」ということは自分で覚えておかないといけない。一方WIPコミットはブランチに紐づくので、ブランチをcheckoutしたあとgit logすればWIPがあったことを思い出せる。

(more...)

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...)

Next »

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author