タグ

2016年8月16日のブックマーク (9件)

  • [Ruby] Unicode 文字列の幅をそれなりにがんばって取得する - あおたくノート

    プロポーショナルフォントの場合どうしようもないんだけど Unicode の文字は EastAsianWidth という仕様があって文字毎の幅がいわゆる全角か半角のどちらかになるかが決められている。 決められているといっても一部の文字は「Ambiguous(決定できない)」というふうに決められているのでそういう文字は自分で全角に倒すか半角に倒すか選ぶ必要はある。 Unicode の公式サイトにいけばこの仕様にアクセスできるので、仕様に則って実装すれば文字幅を決定できるんだけど、もう gem があるのでそれを使おう。 janlelis/unicode-display_width - GitHub String#display_width というメソッドが追加されて、これを使って、 '🍕'.display_width とかやれば文字幅を取得できる。 🍕は Ambiguous 扱い(すみません

    [Ruby] Unicode 文字列の幅をそれなりにがんばって取得する - あおたくノート
    tofu-kun
    tofu-kun 2016/08/16
  • GitHub - Merri/ellipsis-lastline: Polyfill for non-standard text-overflow: ellipsis-lastline;

    tofu-kun
    tofu-kun 2016/08/16
    うーん
  • なぜEtsyでは無限スクロールは失敗したのか

    「ユーザーがページに滞在してコンテンツに関わる時間が長くなる」といわれる無限スクロールを採用したものの、うまくいかなかったというEtsyでの事例から、その教訓を読み解きます。 U-Site編集部 2013年1月25日 HCD新人部員のTです。 1年以上前の記事ですが、「Pinterestによってもたらされた、6つの重要なWebデザインとユーザビリティにおけるトレンド」という下記の記事を読んでいました。 該当記事:6 Important Web Design and Usability Trends Sparked By Pinterest – The Daily Egg ここで挙げられている項目の3つ目のトレンド、”Deliver Content in Flow”を見てみますと、「無限スクロールによって、ユーザーがページに滞在してコンテンツに関わる時間が長くなる」と書かれています。 Bec

    なぜEtsyでは無限スクロールは失敗したのか
    tofu-kun
    tofu-kun 2016/08/16
  • SSEを使ってHTMLエスケープを高速化してみた - k0kubun's blog

    高速なHTMLエスケープをするライブラリを作った ある日HTMLエスケープを速くしたくなって、hescapeというライブラリを作った。 github.com とにかく速いHTMLエスケープがしたい Railsアプリのビューのレンダリングにおいて、CGI.escapeHTMLを高速化*1することでRailsのデフォルトのテンプレートエンジンが大きく高速化されたり*2、GitHubでもHTMLエスケープが全体のパフォーマンスに影響が大きかった事例もある*3など、常に自動でHTMLエスケープが行なわれるRailsの環境ではHTMLエスケープの速度が割と大きな意味を持っている。 従って、Hamlitの最速性を維持するためにHTMLエスケープのパフォーマンスを極めておきたかった。 vmg/houdini を倒したい 前述したGitHubの人が既にhoudiniというかなり速いエスケープライブラリを作

    SSEを使ってHTMLエスケープを高速化してみた - k0kubun's blog
    tofu-kun
    tofu-kun 2016/08/16
    一人チューニング大会面白い
  • ElasticsearchのAnalyzerを理解するため全文検索の仕組みをシンプルに考える - $shibayu36->blog;

    Elasticsearchを使おうとしているとAnalyzerという概念が出てくるが、このAnalyzerという概念は最初理解することが難しかった。全文検索の仕組みを理解すれば分かるだろうと思い、https://speakerdeck.com/johtani/elasticsearchru-men?slide=5 やhttp://www.atmarkit.co.jp/ait/articles/1111/18/news148.html の記事などを読んで勉強してみたものの、こちらもいろんな言葉が出てきて非常に混乱した。例えば転置インデックス、tf-idf、トークナイズ、ストップワード、N-Gram、正規化などといった言葉が出てくる。 いろいろ調べてみて整理すると、全文検索の技術には、なぜ検索ができるかの話以外に、類似度の話、検索を高速に行うための話、あいまいな検索に対応する話など、いろんな話

    ElasticsearchのAnalyzerを理解するため全文検索の仕組みをシンプルに考える - $shibayu36->blog;
  • flexboxのバグに立ち向かう(flexboxバグまとめ) - Qiita

    注)文中の「コンテナ」「アイテム」について 文中でいう「コンテナ」「アイテム」は、flexコンテナとflexアイテムのことを指しています。 コンテナ display: flexや、wrap指定などをする 複数のアイテムを含む アイテム flex: 1 0 0%などの指定をする 1. アイテム潰れる問題(Safari) Chrome Safari 潰れてますね。 起きる条件 Safari なぜ コンテンツの最小サイズを尊重してくれない模様 どうすればいいのか flex-shrinkに0を指定 flex-basisにautoを指定(デフォ値なので、指定がなければそのままでOK) Safari10にて修正済み(つまり、SierraとiOS 10以降では対応不要) 2. align-items:center はみ出す問題 Chrome IE11 はみ出てますね。 起きる条件 IE10-11 f

    flexboxのバグに立ち向かう(flexboxバグまとめ) - Qiita
  • DockerとMakeを利用したRPMパッケージのビルド環境 | メルカリエンジニアリング

    SREチームの@cubicdaiyaです。今回はDockerとMakeを利用したメルカリの自作RPMパッケージのビルド環境について紹介します。 メルカリの自作RPMパッケージ事情とVagrant、そしてDocker メルカリの開発およびプロダクション環境では現在CentOS6と7を利用しており、随時CentOS7へ移行中です。そのため、自作RPMパッケージをビルドする際はCentOS6と7向けにそれぞれビルドしています。ビルドしたパッケージはyumリポジトリサーバにアップロードした後、必要に応じてyumでインストール、Ansibleのplaybook化を行います。 RPMパッケージの作成はSREチームのメンバーが行っており、各自のローカルマシン上において make {パッケージ名} を実行するだけでCentOS6と7向けのRPMパッケージをビルドできる環境をDockerで構築しています。

    DockerとMakeを利用したRPMパッケージのビルド環境 | メルカリエンジニアリング
  • Change the base branch of a Pull Request

    ProductChange the base branch of a Pull RequestYou can now change the base branch of an open pull request. After you’ve created a pull request, you can modify the base branch so that the changes in the… You can now change the base branch of an open pull request. After you’ve created a pull request, you can modify the base branch so that the changes in the pull request are compared against a differ

    Change the base branch of a Pull Request
    tofu-kun
    tofu-kun 2016/08/16
    ミスった時とかに地味に欲しかった機能きた
  • JavaScript の難しさとは何か - mizchi's blog

    JSの学習コスト高いかという問題、言語のコア自体はシンプルだが細かい == とかのハマりどころが多いのと、言語機能自体がシンプルすぎてエコシステムを理解してモジュールを扱うところに辿り着くのが大変、という問題に分類できる— 現場の声 (@mizchi) 2016年8月15日 jQueryの学習コストは、DOMはツリーなんだよという概念の獲得と DOM API の抽象サブセットを覚えるというだけで、2016年現在は jQueryによるUI設計論(ここが高まるとBackboneとかその辺)みたいなものに手を出す必要がないなら、そんなでもないんだろうな— 現場の声 (@mizchi) 2016年8月15日 Reactが難しいと言われる場合、仮想DOMという概念がやや難しい、というか非常にCS的なアルゴリズムとデータ構造が背景にあって、その上で単純なトップレベルAPIとアルゴリズムを理解してないと

    JavaScript の難しさとは何か - mizchi's blog