2020-01-01から1年間の記事一覧

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

久々にiOSアプリのコードを書く機会があったのですが、「KotlinのあれってSwiftではどう書くんだっけ?」となる場面が結構多かったので、順次まとめていこうと思います。 Smart Cast nullチェックによる早期return when式 値に対応するenumの取得 Sealed Cla…

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

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

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

2つの確率変数に関してまとまっている情報になかなかたどり着けなかったので、個人的な備忘録を兼ねて。 共分散 (Covariance) 期待値・分散 相関係数

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

本記事では、推測統計学における標本の性質について整理していきます。 現在進行形で勉強しながら書いているので、間違いなどありましたらご指摘いただけると幸いです‍♂️ 母集団と標本の関係 標本平均と標本分散 標本平均の平均と分散 母数と推定量 一致性 …

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

今月から統計学の勉強を始めたのですが、標準化の部分で早速詰まりました。笑 「標準化 統計学」で調べていると、 といった式が出てくるのですが、その導出過程について言及しているものは観測範囲内ではあまり多くありませんでした。 そこで本記事では、導…

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

Google Apps Scriptがいつの間にかV8ランタイムに対応し、新しいECMAScriptの構文が使えるようになっていました。 developers.google.com ちょうどGoogleカレンダーの予定をLINEに通知するスクリプトを書こうと思ったタイミングでこのことに気づいたので、新…

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

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

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

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

asyncAll()という拡張関数を作ってKotlinのリスト操作の中で並列処理を実行する

前回の記事でawaitAll()を使ったリスト操作の中で並列処理を実行した結果の待ち合わせについて書きました。 tkhs0604.hatenablog.com その中で、並列処理を実行するときに毎回map { async { hoge() } }と書くのは辛いと思ったので、asyncAll()という拡張関数…

Kotlinのリスト操作の中でCoroutinesのasync()で並列処理を実行した結果を待ち合わせる方法

タイトルが非常に分かりづらくて申し訳ないです🙇‍♂️ Kotlinのリスト操作の中でネットワーク通信のような時間のかかる処理を並列に実行したい場面があったのですが、Coroutinesを使ってその結果を待ち合わせる方法が最初分からなかったので、本記事はそのメモ…

OSバージョン間の差分を考慮したAndroidのThemeの定義方法

OSバージョン間の差分を考慮したAndroidのThemeの定義方法について整理してみました。基本的にはAppCompatライブラリの定義方法を参考にしています。 Themeについては以下の公式ドキュメントをご参照ください。 developer.android.com 以降は、Android 7.0で…

AndroidでHaptic Feedbackを実装する

本記事では、iOSではおなじみのHaptic Feedback(触覚フィードバック)をAndroidで実装する方法について記載しています。 「Android Dev Summit 2019」の動画で実装例が紹介されていたので、こちらを参考にしました。 www.youtube.com Haptic Feedbackについて…

ディスプレイにおける解像度の話

解像度についていろいろと調べてみました。 解像度の表し方が分野によって異なることが調べていて分かったので、本記事ではPCやスマートフォンのディスプレイにおける解像度についてだけ取り扱います。 なお、本記事は各用語の大まかな意味を理解することを…

ConstraintLayout下でlayout_widthにwrap_contentを指定したTextViewが制約を無視してはみ出すときの対処法

(タイトルが長い…笑) 以下のようなレイアウトを作成するときにハマった話です。 左右に可変テキストがあり、テキストが長くなって画面に収まらなくなるときに左側の可変テキストの末尾が省略される仕様を想定しています。 (余談ですが、Layout Editorではand…

Dartのコンストラクタの書き方

最近Flutterの勉強を始めたのですが、Dartのコンストラクタの書き方が今まで触ってきた言語(主にKotlin、Java)に比べて少しとっつきにくく感じたので、基本的な部分を整理するために書いている記事です。 内容としては、主に以下のページから関連する箇所を…

ターミナルでzshにPATHを通す方法

macOS Catalina以降でデフォルトのシェルがzshになってからPATHを通す作業を初めて行ったので、備忘録を兼ねて。 なお、MojaveなどからOSアップデートした場合はデフォルトのシェルがbashのままになっているようですが、公式サイトにzshへの変更方法が記載さ…

ConstraintLayout下でGroup指定したViewのvisibilityは個別には変更できなくなる

分かってしまえば確かにその通りなのですが、地味にハマってしまったのでメモ。 ConstraintLayout下でGroup指定したViewのvisibilityは個別には変更できなくなるので気をつけてくださいという話です。

Data BindingライブラリのBinding Methodについて

AndroidのData BindingライブラリのBinding Methodに関する記事がなかなか見つからなかったので、簡単にですがまとめてみます。 Data BindingライブラリやBinding Adapterについては公式ドキュメントなどをご参照ください。 developer.android.com

BottomSheetをフルスクリーン状態で表示する方法

タイトルのような実装を行う機会がたまにあるのですが、毎回やり方が分からなくなっている気がするので、メモとして残しておきます。 結論から言うと、以下の対応をソースコード上で行うことによって実現できます。

人生のマイルストーン

年度の節目はいつも少しだけ特別な気持ちになります。 最近全くブログを更新できていなかったのですが、いい機会なので久々に更新したいと思います。

UIの文言の決め方とOOUIの話

Webサービスの開発をしていて、UIの文言について悩むことはありませんか? 個人的には、あるボタンのラベルを名詞か動詞のどちらにするべきかで悩むことが多かったです。 そんなときに「他のサービスでもこうなってるし、xxがいい気がする」などと経験則に基…