えいむーさんは明日も頑張るよ

FirestoreAuthでTwitterログインしよう

FirestoreAuth Firestore のデータベースを読み書きするにはログインしていることが条件になってきます。テストモードだと問答無用で読み書きできるのですが、それでは困るので本番環境ではログインしているユーザだけにします。 となると困るのは、どうやってユーザ登録をさせるかということですね。 ぼくは正直、ちまちまメールアドレスを入れたりするような登録システムは非常にめんどくさいのでやり ...

kouhouyoukaiさんの問題をSwiftで解く

kouhouyoukai さんの問題 Twitter に挙がっていた問題は以下の通り > a, b, m はいずれも正の整数、かつ a > b のときに、a ÷ b × m の結果が整数となる最小の m の求め方 > 例としては a = 1440, b = 70 であった場合は、m = 7 が求められるみたいな感じのをやりたい > 回答は数学的記述、JS 等のコードどちらでもおkです 解いてみた ...

Firestore SDKをiOSで使おう

Firestore 簡単に言うとオンラインで利用できるデータベース。 ローカルに保存するだけなら Realm という選択肢があるが、オンラインでごにょごにょしようとしたら Firestore が一番なのではないかと思う。Realm もオンラインデータベースがあるけどドキュメントを読んでないのでよくわからない。 せっかくなので新しいことに手を出そうと Firestore を選択した。 Firesto ...

Codableでnullが消えてしまう問題に対応する

Codable Swift にはCodableという仕組みがあり、これを利用すると構造体を直接 JSON に変換することができる。 やり方は簡単で、単に構造体をCodable準拠にさせてやれば良い。 Codable に準拠したプロトコル 常に Codable Int, Double, String, Data, Date, URL 条件付き Codable Array, Dictionary, O ...

Salmonia3のアップデート開発状況

Salmonia 先週末にリザルトアップロード洩れがあった場合に暫定的に対応できるバージョンをリリースしたのですが、今後のアップデート方針について解説します。 ライブラリのアップデート 現在目下作業中なのはこのライブラリのアップデートです。つまり、アプリ自体の開発はしていません。 ライブラリをアップデートして何になるのかということになるわけですが、Salmonia3 は SplatNet2, Sa ...

Swift+Moya+Alamofire

Moya Alamofire をとっつきやすくしたようなライブラリで、15.0.0 からCombineにも対応しているということで利用してみることにしました。 まずはこれを利用して既存の Splatnet2 ライブラリを Alamofire 依存のコードから Moya ベースのコードに書き直します。 SPM に Moya を追加 今回利用したいのは Combine と連携できるようになったComb ...

シード値計算アプリをリリースしました

シード値計算アプリ サーモンランのほとんどすべての挙動がシード値によって決定していることは当ブログで何度も解説しているのですが、従来はウェブアプリか PC 環境でしか実行できずなかなか不便だったシード値計算ツールを iOS 向けにリリースしました。 ちなみに、今回は有料アプリ(500 円)としてリリースしました。 みんな買ってくれよな! 機能 以下の機能を備えています。 指定したシード値の内容表示 ...

Swift-Benchmarkで実行速度を調査する

Swift Benchmark Google が開発した Swift 用のベンチマークライブラリ。下手に自分で書くより、Google 謹製のライブラリを使ったほうが便利そうなので使ってみました。 Random 現在開発中の Ocean ライブラリがあまりにも遅いのでいろいろ改良してみることにしました Ocean ライブラリでは乱数を何度も生成するので、乱数生成が遅いとそれだけでボトルネックになって ...

WebAssemblyでブラウザでアセンブラを動かそう

WebAssembly ブラウザから機械語であるアセンブリを実行するようにする謎の技術。 「ブラウザは Javascript が実行できるからアセンブリを実行する意味ある?」と思うかも知れないが、大いに意味はある。というのも、Javascript は動的型付け言語であるために実行時解析に時間がかかり、動作としては非常に遅い。 しかし、それも今までは気にならなかった。何故ならそんな重い処理をブラウザ ...
    えいむーさんは明日も頑張るよ © 2021