Swiftのextensionを利用してクラス名の衝突を解決する

iOSアプリのコードをいくつか見ていて、名前空間の扱いがKotlinとSwiftで異なり困惑する場面があったので、その解決方法に関する備忘録です。

  • 名前空間とは
  • Swiftではグループによるクラス名の識別はできない
  • Nested Typeによる解決
  • extensionの利用による解決
続きを読む

KotlinではComparableインタフェースを実装したクラスのオブジェクト同士を比較演算子で直接比較できる

タイトル通りの内容ですが、地味に初めて知ったので備忘録として。

  • Dateクラスを例として
  • 比較演算子はcompareTo()メソッドに変換される?
  • 比較演算子は「compareTo()メソッド + 期待される値の範囲」の組み合わせに変換される
続きを読む

Kotlinでよく使う記法をSwiftで記述する方法

久々にiOSアプリのコードを書く機会があったのですが、「KotlinのあれってSwiftではどう書くんだっけ?」となる場面が結構多かったので、順次まとめていこうと思います。

  • Smart Cast
  • nullチェックによる早期return
  • when式
  • 値に対応するenumの取得
  • Sealed Class
  • 遅延初期化


なお、シンプルな置換でおおむね完結するものについては、以下の表などをご参照ください。

https://willowtreeapps.com/ideas/swift-and-kotlin-the-subtle-differencesより引用

続きを読む

Illustrator 2020でガイドの移動中にガイド自体が表示されないときの対処法

Illustrator 2020でガイドの移動中にガイド自体が表示されない現象に遭遇し、ガイドの位置を微調整したいときに困ったので、対処法について調べてみました。

続きを読む

2つの確率変数の共分散、期待値、分散、相関係数の関係

2つの確率変数に関してまとまっている情報になかなかたどり着けなかったので、個人的な備忘録を兼ねて。

続きを読む

推測統計学における標本の性質

本記事では、推測統計学における標本の性質について整理していきます。
現在進行形で勉強しながら書いているので、間違いなどありましたらご指摘いただけると幸いです🙇‍♂️

  • 母集団と標本の関係
  • 標本平均と標本分散
  • 標本平均の平均と分散
  • 母数と推定量
    • 一致性
    • 不偏性
  • 母平均と母分散の点推定
    • 母平均の点推定
    • 母分散の点推定
続きを読む

統計学における標準化と変数変換

今月から統計学の勉強を始めたのですが、標準化の部分で早速詰まりました。笑

「標準化 統計学」で調べていると、

 z_{i} = \displaystyle \frac{x_{i} - \mu}{\sigma}

といった式が出てくるのですが、その導出過程について言及しているものは観測範囲内ではあまり多くありませんでした。

そこで本記事では、導出の前提知識として必要な「変数変換による平均・分散の変化」と「標準化の定義」について説明し、冒頭の式を導出する過程を整理したいと思います。

  • 変数変換による平均・分散の変化
    • 変数変換および変換前後の平均・分散の関係
  • 標準化
    • 標準化の定義
  • 冒頭の式の導出
続きを読む

V8ランタイムに対応したGoogle Apps ScriptでGoogleカレンダーの予定をLINEに通知するスクリプトを書いた

Google Apps Scriptがいつの間にかV8ランタイムに対応し、新しいECMAScriptの構文が使えるようになっていました。

developers.google.com


ちょうどGoogleカレンダーの予定をLINEに通知するスクリプトを書こうと思ったタイミングでこのことに気づいたので、新しく使えるようになったECMAScriptの構文を使いながらスクリプトを書いてみました。

  • スクリプト作成の経緯と仕様
  • 今回作成したスクリプト
  • 今回使った新しいECMAScriptの構文
    • let、const
    • アロー関数
    • テンプレート文字列
  • その他の便利な構文など
    • 関数名.nameで関数名の文字列が取得できる
    • 関数名の末尾に_を付けると「関数を選択」の候補に表示されなくなる
  • 不便と感じた点
  • まとめ
続きを読む

Kotlinのレシーバ付き関数リテラルとは

Kotlinにはレシーバ付き関数リテラルと呼ばれるものがあります。
私自身としては、単語自体は聞いたことがあるけれど、それが何者なのかは分からないといった状態が続いていました。

本記事では、各用語の意味を整理しながら、レシーバ付き関数リテラルについて説明していきます。

  • 関数リテラルとは何か
  • 関数オブジェクト
    • 無名関数による関数オブジェクトの生成
    • ラムダ式による関数オブジェクトの生成
  • レシーバとは何か
  • レシーバ付き関数リテラルとは何か
  • レシーバ付き関数リテラルの使い方
続きを読む

<merge>タグ内のレイアウトのプレビューを適切に表示する方法

タイトル通りの内容です。
結論から言うと、<merge>タグのtools:parentTag属性に追加先のレイアウトのLayoutを指定すればOKです。

続きを読む