旨辛チキンおいしい

よくある備忘録みたいな奴です。

どこまで理解すれば「理解した」と言えるか

雑に。 Kotlin のコルーチンについて勉強していてふと思った。 どこまで理解すれば理解したと言えるのか。 何かを理解しているつもりの人でも、どこかで「とりあえずこれはこういうものだということにしよう」として理解せずに存在やその効果を認めているは…

Android Architecture Component の ViewModel と画面遷移

MVVM において View の責任は、 ViewModel が表す画面の状態を実際に画面に描画をすることだけであるべきだと思う。 つまり View は、自分自身の意思で画面遷移を行ってはいけない。 ややこしいのは、 Android では View はたいてい Activity が実装するとい…

Picasso が HTTP 504 エラーを報告して画像が取得できない

Picasso を使用していて HTTP 504 エラーが発生した場合、画像が表示できない原因が本当にサーバー側が HTTP 504 Gateway Timeout を返したからということとは限りません。 Picasso はキャッシュが有効になっている場合、画像をネットワークから取得できなか…

CoroutineContext のメモ

まだまとまってないけど雑なメモ CoroutineContext とは、その名の通り、コルーチンの実行される文脈や条件(コンテキスト)を決定するもの。 実態は連想配列のようなもので、とあるキーとそれに対応する値のペアが複数格納されている。 キーとなれるのは Co…

クリーンアーキテクチャとはアイデアである

クリーンアーキテクチャについて、最近自分が学んだことを雑なメモとして書き留めたものを公開します。ツッコミ歓迎。 Clean Architecture (クリーンアーキテクチャ) とは、 Robert C. Martin (Uncle Bob) 氏が提唱したアーキテクチャである。 Clean Coder B…

AndroidX に移行すると android.support.v8.renderscript が使えなかった話

趣味で作っているアプリを、せっかくだから targetSdkVersion を 28 にして AndroidX で Kotlin でマルチ module で作ってやるぜ〜と思ったのですが、画像にぼかしをかけるのに使用していた android.support.v8.renderscript が AndroidX にすると使えなくな…

new によるインスタンス化は避けるべきか?

アプリを設計していると、実装はオブジェクト指向パラダイムな言語で書くことが多いので、オブジェクト指向プログラミングについて思い出したり勉強し直したりすることが多々ある。 今回はドメインエンティティのインスタンスをプレゼンテーション層で作成す…

Android で色差を簡単に求める

色差 色差とは、色の距離のことで、簡単にいうと2つの色がどれくらい近いかということを表します。 しかしこの「どれくらい近いか」というのは、何を基準に考えるかによって答えも変わってきます。 色の距離はある色空間上でのユークリッド距離として定義さ…

データ層は全てのデータに責任を負う層ではないし、ドメイン層は全てのロジックに責任を負う層ではない

Clean Architecture ではしばしば Presentation 層、 Domain 層、 Data 層の三層にレイヤーが分割されます。 これはそれぞれ表現、ロジック、データに関して責任を負う層なのですが、そのままの意味で捉えると危険です。 とある件で Android Clean Architect…

何もやる気が起きないときにやる気を出すためにしていること

平日の仕事終わりはすごくやる気に満ち溢れているのに、ご飯作ったりお風呂入ったりしてたら時間がなくなって、まあ週末でいいかと思う。 そして週末になるとなんともやる気が出ず、まあ土曜日は平日の疲れを癒せばいいかと思って日曜日に託す。 しかし日曜…

はてなブログのシンタックスハイライトの色をカスタマイズするためのツールを作った

TL;DR 作ったものはこれです。 はてなブログシンタックスハイライト CSS ジェネレータ GitHub で公開しているのでご自由にお使いください。 github.com 動機 はてなブログではコードブロックに対してシンタックスハイライトを適用できますが、 highlight.js …

OkHttp が Android のプロキシ設定を無視していた話

OkHttp の 3.4.2 以下のバージョンでは、一度リクエストに失敗した URL に対してはプロキシを使用しなくなるということがありました。 仕事でこの問題に当たり、まさかプロキシが回避されているとは思わなかったので原因究明に時間がかかってしまいました。 …

React で親の props を特定の子にだけ伝えたい

※ React 初心者ですのでその点ご留意ください。 props.children <Parent> <Child /> <Child /> </Parent> このように親子関係がある場合、 Parent がその子である複数の Child を描画するには、 props.children を使用します。 const Parent = (props) => { return( <div> { props.children } </div> ) } 簡…

Adobe Illustrator 用のスクリプトを作ろうとした

社内のデザイナが使用していた Illustrator 用のスクリプトに少し機能を追加してほしいとのことで、(あまり頼まれてないけど)おもしろそうなので検索してみました。 が、情報が少ない… デザイナが使用していたスクリプトは Quick-exporter というもので、 …

ブログはじめました

ブログはじめました。3回目くらいです。 いつも謎の責任感を感じてしまってブログ投稿が億劫になるので、かなり適当に書いていきたいと思います。 メインはモバイルアプリや Web フロント、バックエンドなどの技術系の話になると思います。 ブログのタイト…