2020年1月20日のブックマーク (4件)

  • JetBrains Mono: A free and open source typeface for developers

    fun <T : Comparable<T>> List<T>.quickSort(): List<T> = when { size < 2 -> this else -> { val pivot = first() val (smaller, greater) = drop(1).partition { it <= pivot } smaller.quickSort() + pivot + greater.quickSort() } } fun main() { print(listOf(5, 0, 1, 5, 3, 7, 4, 2).quickSort()) }

    JetBrains Mono: A free and open source typeface for developers
    yarumato
    yarumato 2020/01/20
    “Apache 2.0 license. May I design my own font based on JetBrains Mono? -> YES. In this case, you need to indicate that it is based on JetBrains Mono.”
  • キャラクターを描いて学ぶ、ゼロからはじめるCSS図形 - mojiru【もじをもじる】

    エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形 技術の泉シリーズ 「エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形」発行主旨・内容紹介 「エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形」目次 「エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形」Amazonでの購入はこちら 「エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形」楽天市場での購入はこちら※電子書籍エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形 インプレスグループで電子出版事業を手がけるインプレスR&Dは、最新の知見を発信する「技術の泉シリーズ」として、Webクリエーター・林智史氏著書による様々なキャラクターをCSSで描いて学べる「エンジニアからクリエーターにスキルアップ!ゼロからはじめるCSS図形」

    キャラクターを描いて学ぶ、ゼロからはじめるCSS図形 - mojiru【もじをもじる】
    yarumato
    yarumato 2020/01/20
    “CSS図形の基本スキルを獲得する3.1 正方形3.2 角丸正方形3.3 正円3.4 扇形3.5 角丸長方形3.6 楕円3.7 楕円扇形3.8 台形3.9 三角形3.10 直角三角形3.11 正三角形3.12 平行四辺形3.13 菱形3.14 二等辺三角形”
  • 僕は、なぜ絵文字の長さが、直感に反するのか理解したい...!! - Qiita

    対象者 UnicodeやUTF-16について、よくわかってない人 -> ここから "😀".split("")で文字化けする理由がわからない人 -> ここから [..."👨‍👩‍👧"].lengthが5になる理由がわからない人 -> ここから 文字コードについてもう一度 文字コードは以下の二つで構成されています 符号化文字集合: 文字と、その文字の位置を示す一意の番号の集合 文字符号化方式: 文字に振られた番号をバイト表現にエンコードする方法 符号化文字集合 符号化文字集合は、 文字 その文字の位置を示す一意の番号 この二つの組み合わせの集合のことを指します。 例えばASCIIでは 8bit(128通り) でラテン文字や英数字を表現しています。 しかしASCIIには日語などの非英語圏の文字が収録されていません。 そのため、日語を収録したShift-JISやアジア圏の文字を収録した

    僕は、なぜ絵文字の長さが、直感に反するのか理解したい...!! - Qiita
    yarumato
    yarumato 2020/01/20
    “絵文字が1つなのにlengthが異なっています。内部ではいくつかの文字を組み合わせて表現。テキスト表現、色を変える、性別を追加。反復処理プロトコル”
  • クイックソート VS 挿入ソート、ファイッ! - ABAの日誌

    昇順に並べたいクイックソートと降順に並べたい挿入ソートが殴り合う動画です pic.twitter.com/YxsN1aSI0A— ABA (@abagames) 2020年1月18日 コードとライブデモはこちら。 アルゴリズムの王道ソートアルゴリズムでコードバトリングをしてみたかったので作った。左(赤)のコードが昇順に、右(青)のコードが降順に同一の配列をソートしようとして戦う。昇順に揃ったら左の勝ち、降順に揃ったら右の勝ち。 コードは普通のJavaScriptとして書く。以下の2つの特殊な関数がある。 get(i): 配列からi番目の要素を取得する swap(i, j): 配列のi番目とj番目の要素を交換する setはできない。setを許すとコード内のメモリに配列を逃しておいてソート、一気に書き込むというインチキができるから。右の降順側のgetは要素のマイナスの値が帰ってくるので、右のコ

    クイックソート VS 挿入ソート、ファイッ! - ABAの日誌
    yarumato
    yarumato 2020/01/20
    “昇順に揃ったら左の勝ち、降順に揃ったら右の勝ち。クイックソートと挿入ソートだと挿入ソートの方が圧倒的にコンパクトで、配列の長さが10くらいだとその実行速度でクイックソートを圧倒して勝つことが多い。”