ごらくらいふ

プログラミングしたりゲームしたり

考え方

Rustの話: traitの定義部分では、フィールドに干渉できない

前提 rustc 1.22.1 本題 traitを書く時、こういう書き方はできない。 trait Horizontal { // x:i64 というフィールドの存在を前提とする // x をカウントアップして、新しい値を返す fn count_up (&mut self) -> i64 { self.x += 1; self.x } } struct Point…

DDDエリック本を読んでいる:RepositoryとFactoryの関係

DDDについてEric本を読んでいたところ、オブジェクトの生成やシリアライズについての指針が参考にできそうだったので、メモ。 Factoryはオブジェクトのライフサイクルにおける始まりを処理し、リポジトリは中期から終わりを管理するのを助ける。 リポジトリ…

動いているプロダクトが正しい。

本当はこの硬いプロダクトをもっちり弄ってもちもちにしてやりたい。 でもそんなコードは他の人にとっては要らない。なぜなら金にならないから。 機能として売り込むこともできなければ、きっとコスト削減にもならないのだから。 issueがなければ書いてはい…

Select文でJoinするときは一番深いところをFromにしたい

前提 mysqlでの話。 Subjects --(1:n)-+ Subjects_Tags +-(n:1)-- Tags というテーブル構造での話。 本題 趣味の範疇なのだろうけれども、レコード数が増加する方向のJOINは極力控えたい。 Select * from Subjects left join Subjects_Tags ...より、Select …

ニコニコマイリストRSSをSlackに吸い上げて貰うようにした

yajamon.hatenablog.com feedlyで受けるの止めました。 記事の末尾にあるけど、通知先にSlackを選択したのなら、RSSインテグレーションで十分なのよね。 基本的にfeedlyにRSSを登録するのは以下を目的にしている。 新着を素早く受信するため 加えて、読むか…

手元の録画データをバックアップするときに選ぶAmazonのクラウドストレージサービスはGlacier? Unlimited Drive?

Mac Book Airを買ってから最近放置気味のデスクトップPC。 1TBもあったストレージがいつの間にか残り100GBと少し。 ところがインストールしたプログラムもホームフォルダ以下も大して消費していない。なぜか。 答え) C:/直下にあるプレイ動画の録画ファイル…

メソッドの責任について考えたログ

エラー処理という名のガードレールが無いプログラミングを続けてきた。 慣れないことを考えたので思案のログを残す。 条件設定 あるコレクションのメソッドにて、引数の識別子に一致する要素を探し、仕事をさせる。 この時、引数が存在しないとき(undefined…

好意をむやみに期待してはいけない

今朝はシンデレラガールズ4thライブの会場限定CDを求めてSSAに突撃した。 目的をまぁまぁ達成し、城とかぴにゃとかドールとか展示を堪能したんだけどやばい。この時点での多幸感がやばい。 さてLVに備えるだけだと息巻けば既にiPhone虫の息。 心許ない電池残…

プログラムする前にペーパークラフトするのは

先日、すごくためになりそうなツイートを見た。 ゲームに限らないけど、プログラムする前にペーパークラフトから入る人の有能率すごい高い気がする。— 尾野(しっぽ) (@tail_y) March 30, 2016 最近、マルバツゲームを元にBDDやってみようと始めたところ、…

BDDの書き方、始め方が分からなかったので、まず書いた

テストは大事なのは分かる。TDDやBDDでキーワードを手繰って、向き不向きやコンセプトの説明も見た。 けどそればかり拾ってしまって、実際にどう考えたらいいのか、どう書き出せばいいのか全くわからない。 「BDDでプログラミングする」を指針にマルバツゲー…

あるマスタから順不同に取り出した要素2件を組み合わせ、意味を持たせるときのテーブル構造

※ながめだよ 先日、PSStoreのセールにつられて「俺に働けって言われても乙 HD」を買った。 ほんのりプレイしていたところ、『このデータを表現するテーブルはどんな構造だ?』と気になったので考えた。 考えたので残すことにした。 経緯 ゲームシステムのひ…

データに依存する振る舞いを脱却したいのですが

.+_kindとか、.+_typeとか、マジックナンバーをデータベースに保存することって、よくある。 ロジックの方では、その値に応じて、処理を分岐したりする。 んで、分岐するために、基準となる値をコード上にもつ。 これを脱却したいとよく思う。 それもマスタ…