https://gyazo.com/343caf0f14cc565ce656a43e9a02aad2https://gyazo.com/471d8cab15bf364febe29e6f2cafb5ad
組織をつくっている人間として、なぜ内部構造を良く知っている人間は組織改革を起こしづらく、あまり内部構造を把握していない外部の人間の意見の方が組織改革を起こす火種になりやすいのだろうか、と長年思っている。 この疑問の1つの答えを、群衆の英知もしくは狂気を使って、視覚的に説明出来ることがわかった。 きっかけ 先日、"群衆の英知もしくは狂気"のWEBサイトが公開され、Twitter上でも話題になった。 ncase.me この内容で私が最も驚いたのは、 "少ないつながりでは複雑な概念は拡散しない。でも多すぎるつながりも集団浅慮で破壊される。" というものだ。 私は直感的にはこれを理解していたものの、でもつながりは多ければ多い程、正しい考えに至るのではないかとも考えていた。 しかし、このWEBサイトで実際にシミュレーションした結果、その考えが誤っていたことがわかった。 ただ、このときはなるほどーぐら
Rubyのソースコードを読むとき、grepやctagsだけで読んでるとどこにどういう値が入るのか頭で考える必要があり大変。 そういう時、実際に動かしながらpryを使って中身を確認すると、どういう動きをしているのか楽に把握できる。 普通のエディタを使ってRubyを書いている人にとって、IDE的な機能を提供してくれるのがpryといえる。 本稿では、この記事を書く前の私のように、この次の「最低限の使い方」くらいしかpryを使いこなせていない人向けに、便利な機能をひと通り説明する。 最低限の使い方 まだpryを使ったことがない人はこれだけ知ってれば十分な気がする。 binding.pryで任意の場所からREPLを立ち上げる ソースの任意の箇所にbinding.pryを書いてRubyのプログラムを走らせると、実行中にその行でストップしてpryのREPLが立ち上がり、その環境での変数がどうなっているか
【移行のお知らせ】プライバシー上の懸念により、Qiitaアカウントの削除を検討しています。 各投稿は個人blog( https://gateau.hatenablog.com/archive/category/Qiita )に移行しました。 今後も参照される方は、ブックマークなど移行をお願い致します。 Kotlinのスコープ関数はlet, with, run, apply, alsoがあります。 public inline fun <T, R> T.let(block: (T) -> R): R = block(this)などのそれぞれの定義を読んでもすぐ頭に入ってこないので、読み方を解説してみます。自分用チートシートです。 前提知識 拡張関数 クラスを継承したりDecoratorのようなデザインパターンを使用せずとも、クラスを新しい機能で拡張できる言語機能 公式 https://dogw
@startuml{plantuml_class_specclass.png} enum FigureType { FigureType_unknown=-1 FigureRect FigurePolygon FigureEllipse } abstract Figure class Rect interface Comparable { {abstract} int compare(Comparable *other) } Figure <|-- Rect Rect .|> Comparable @enduml スポットとステレオタイプ シーケンス図と同様にクラス定義の後にステレオタイプを書く事ができます。 また、ステレオタイプで C, I, A, E 以外のスポットを指定することができます。 class クラス名 <<(スポット文字, 色) [ステレオタイプ名]>> @startuml
When styling text in Android apps, TextView offers multiple attributes and different ways to apply them. You can set attributes directly in your layout, you can apply a style to a view, or a theme to a layout or perhaps set a text appearance. But which should you use? What happens if you combine them? This article outlines the different approaches to declaratively styling text (i.e. when you infla
はじめに Kotlinのcoroutinesはスレッドと比べると非常に軽量であり、Non-blocking操作をさせるだけなら100,000個を同時起動したとしても問題なく処理を行えます。 一方で、サーバに負荷がかかるからAPIをあまり同時に呼びすぎないようにしたい、など並列に実行する数を制限したいシチュエーションというのも勿論存在します。 今回の記事ではcoroutinesの同時実行数をどのように制御すればいいのかについて書きたいと思います。 前提条件 あるAPIを呼び出す関数が以下のように定義されているとします。 また、HTTPリクエストはNon-blockingで、レスポンスが返るまでこのsuspending functionは中断しているとします。 (Androidのretrofitではenqueueベースに実装するとこうなります) うまくいかないやりかた Blockingに慣れた
不真面目に Material Design の配色する/Material Color Generator 作りましたdate2015.10.3(Sat.)tagsMaterialDesign Material Design は、色を決めてアイコンを作れば、一画面を構成する新規パーツをイラストレーターとかで新規作成しなくても、ほぼほぼ作れるようになっています。 その色の決め方について、不真面目な手順の一例を考えました。 ①まず白ベースのアプリか黒ベースのアプリか決める標準背景が白系(Light)か、黒系(Dark)かを決めます。 ほぼほぼ Light 系にするといいと思いますが、以下のアプリは Dark 系でも映える気がします。 ・映画のアプリ ・音声、音楽のアプリ ・クリエイティブツール ・その他クール推しなアプリ ・設定系ツール ②プライマリカラーを決めるブランドカラーが存在する場合はブ
保守しやすく、規模に依存しないHTML文書のために 一般 DOCTYPEで始める 置き換えられるべきまたは旧式のDOCTYPEを使わない XML宣言を使用しない 文字参照はできる限り使わない &と<、>、"、'は名前文字参照を使ってエスケープする 制御文字や不可視文字は数値文字参照を使う コメントではその内容の前後へ空白文字を置く 終了タグを省略しない 空要素の書き方を混ぜない タグや属性値の前後へ空白文字を置かない 大文字・小文字を混ぜない 引用符を混ぜない 属性を2文字以上の空白文字で区切らない 真偽値を取る属性の値は省略する 名前空間は省略する XML属性は使わない data-*とMicrodata、RDFa Lite用の属性と通常の属性を混ぜない デフォルトの暗黙のARIAセマンティックスを尊重する 文書要素 lang属性を追加する lang属性の値はできる限り短くする できる限り
Buttonのクリックに反応する範囲を拡張したい時がある。 今回は下図のようなカスタムViewを作りたかった。 ImageButtonとTextViewを内包したViewである。 親レイアウトのViewGroupをタッチする=ImageButtonをタッチするという扱いにしたかった。 ImageButtonにしているのは、他のViewとの兼ね合いである。 他のViewはImageButtonにstyle="@style/Base.Widget.AppCompat.ActionButton"を適用して、アイコン画像の周りにだけリップルエフェクトがかかるようになっていて、このカスタムViewもそれに合わせたかったのである。 これはTouchDelegateを使うと実現できる。 TouchDelegate – Android Developers TouchDelegateは親のViewGrou
前書き coroutineはKotlin 1.1から搭載された新機能ですが、まだexperimentalなこともあってバリバリ使っている人は多くないと思われます。しかしながら、experimentalとはいえproduction readyなことは宣言されており、Kotlin 1.3ではexperimentalが外れる(予定の)ため、そろそろ学んでおいても悪くない時期になってきています。 そこで、この記事ではcoroutineを実践するにあたって抑えておくと役立つ知見を共有します。ご参考になれば幸いです! 注: この記事はKotlin 1.2.21, kotlinx.coroutines 0.22.5に基づいて書かれています。 coroutineとは何であって何でないのか coroutineとは何か coroutineとは何かを一言で表現すると、「中断可能な計算インスタンス」になります。こ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く