エフアンダーバー

個人開発の記録

BabelによるTypeScriptの変換でハマる

クトゥルフTRPG ツールにてGooglebotのためにBabelを入れたので、 ついでにTypeScriptの変換もBabelに任せてしまおうと作業していたところ、 不可解な現象に悩まされたためメモ。 不可解な警告 Dexie.jsというIndexed DBのラッパーライブラリを用いて次のよ…

【Unity】 物理演算の基礎

Unityでアクションゲームを作る上で避けては通れないのが、 コライダー(Collider)やリジッドボディ(Rigidbody)といった物理演算コンポーネントの存在です。 特に物理的な挙動を再現したいわけではなくても、当たり判定に関する処理のためにはこれらが必要に…

クトゥルフTRPG Webアプリβ版の開発についてだらだらと

先日公開したクトゥルフTRPG Webアプリβ版の開発周りの話です。 アプリ紹介については過去記事を参照してください。 www.f-sp.com アプリ本体はこちら。 coc.f-sp.com はじめに アプリ開発の話、というと『こんな技術やあんな技術を組み合わせて素晴らしいシ…

クトゥルフTRPG Webアプリのβ版公開しました

クトゥルフ神話TRPGで遊ぶ際に必要なダイスロールやステータス管理をアシストするWebアプリのベータ版を公開しました。 Webアプリなのでブラウザでページを開くだけで使用できます。 また、インストールにも対応しているためモバイルアプリのようにも扱えま…

【JavaScript】`\0` ← ヌル文字 `\00` ← エラー

ヌル文字を表すと思っていた構文が実はヌル文字を表す構文じゃなかったという話。 コトのおこり 8進エスケープシーケンスとは? \0 はダメなのか? なぜ8進エスケープシーケンスはダメなのか? やはり \0 はダメなのか? 8進エスケープシーケンスの遺産 おわ…

【TypeScript】 Vuexもクラス形式で書きたい!!

vue-class-componentやvue-property-decorator、 vuex-classといったデコレータによるクラス形式のコンポーネント記述に感動したので、 Vuexもクラス形式で書けないかと仕組みを試作してみました。 ちなみにVuexの初心者も初心者、ほとんどドキュメントに目…

TypeScriptとVueのMixin

VueのMixinに関する(Webの世界では)一昔前の記事を読んでいて、 TypeScript 自体が Mixin 構文をサポートすればこのつらさもなくなるような気がしますが、 TypeScript 公式でこのめんどくさい Mixin のやり方を紹介しているので望みは薄いような気も……。 …

WebpackでTypeScriptのモジュール解決

TypeScriptのコンパイラオプションには baseUrl、paths、rootDirsといういくつかの特別なモジュール解決の設定があります。 しかし、これらはあくまでもTypeScriptコンパイラのための設定でWebpackやts-loaderはこれらを考慮してくれません。 そこで、Webpac…

【Webpack】 css-loader周りのSourceMap関連バグと戦う

css-loaderを使っていてSourceMapのパスが壊れるバグにハマったのでその際調べたことのまとめです。 長くなるのでタイトルに入れていませんが、 css-loader、 postcss-loader、 sass-loader辺りのバグです。 問題 原因 原因1:パスとURLの混同 原因2:相対…

SVGをCanvasに変換しようとして失敗した話

Electronでsvg要素を画像として保存したいと思い、Canvasに変換してからPNGとして保存しようと試みた結果、失敗したという話。 最終的に諦めたのでこの記事に解決策は書いてありません。 同じことをしたい人が時間を無駄にしないための記事です。 drawImage…

乱数生成の備忘録2

C#

他人が書いた乱数生成のコードを読んでいたところ、 前回自分が書いたものと違う実装をしていたので改めていろいろと調査。 www.f-sp.com 問題のコード 異なる実装となっていたのは整数の乱数から[0,1)の範囲の実数の乱数を生成するコード。 前回自分が書い…

乱数生成の備忘録

C#

以前書いた疑似乱数生成コードの修正作業をしたので、その際に調べたことや考えたことのメモ。 基本的に自分用なので雑。 動機と方針 System.Randomのアルゴリズムは古めで偏りがある。 Knuthの減算法。 再現性の問題があるので今後も変わることはなさそう。…

【Unity】 Rigidbodyの回転方法

Rigidbody(剛体)の移動方法については以前書きましたが、回転方法については書いていなかったので今更ながらまとめてみます。 まあ、移動方法とそんなに変わらないんですが・・・。 www.f-sp.com 準備 説明の簡略化のため、本記事内では下記の記号は特別な…

【Unity】 Quaternionの使い方

Quaternion(クォータニオン、四元数)はUnityでオブジェクトを回転させる際に必要となる数です。 Quaternionの理論自体は非常に数学的で難しいのですが、Unity上で使うだけであればいくつかの特徴を覚えるだけで比較的容易に利用できます。 この記事では、Q…

【Unity】 Quaternion API解説

Quaternion(クォータニオン、四元数)は回転操作において重要な数です。 しかし、回転という操作がなかなか想像しづらいことや、Quaternionの扱いに少し癖があることなどから、 結構ハマりやすいところだと思います(というか、自分がよくハマります)。 そ…