タグ

2018年12月27日のブックマーク (7件)

  • Suicaのシステムがいかにすごいか仕組みを徹底解説 - 炎と硝煙にむせる開発現場から

    Suicaの凄さ サービスを落とさないための「自立分散高速処理技術!」 ものすごい処理量をこなす緻密な速度改善 お金を扱うからこそ間違わない仕組み 当時は最先端の非接触ICカードを採用 非接触ICカードの歴史 年寄りも当たり前に使えるサービス だからSuicaは6000万枚も普及した まとめ Suicaの凄さ ものすごい処理量(1日4000万件) 全然サービスが落ちない 年寄りも使っている Suicaがない社会なんて今や想像できないですよね?東京でSuica持ってない人はいないくらい普及していますし、レストランやコンビニでSuicaを使って買える場所も普通になってきました。普通に考えて、1日4000万件も処理して0.1秒以内に処理を完了させないといけないシステムなんて無茶苦茶難しくないですか?しかも、Suicaがリリースされたのは2001年です!ちょこっと調べてみたすごいブレークスルーの数

    Suicaのシステムがいかにすごいか仕組みを徹底解説 - 炎と硝煙にむせる開発現場から
    sonots
    sonots 2018/12/27
  • grpc-gatewayの開発に学ぶ、ソフトウェアの設計手法〜Yuguiが定めた、2つの基本設計方針 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    grpc-gatewayの開発に学ぶ、ソフトウェアの設計手法~Yuguiが定めた、2つの基設計方針 良いソフトウェアとはどのような方針のもとに設計されているのでしょうか。広く使われているOSSであるgrpc-gatewayの開発過程を作者のYuguiさんが振り返り、その設計手法を解説してもらいました。 こんにちは。 Yuguiと言います。 記事では読者がより良いソフトウェア設計を行うための参考として、筆者が経験してきた設計上の決定をご紹介します。 筆者はこれまでRuby 1.9のリリースマネジメントを担当したり、Google Mapsの日向け地理データ処理やgrpc-gatewayの開発などをしてきました。そしてこれらを通じて、広く長く使われて拡張されていくソフトウェアを設計するための方針決定に携わったり、方針に関わる良い議論を目にしたりする機会に恵まれてきました。中でも記事では、

    grpc-gatewayの開発に学ぶ、ソフトウェアの設計手法〜Yuguiが定めた、2つの基本設計方針 - エンジニアHub|若手Webエンジニアのキャリアを考える!
    sonots
    sonots 2018/12/27
  • 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false

    「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • リコー、機械学習モデルを26倍高速化できる回路アーキテクチャ開発

    リコーは12月26日、機械学習において近年注目されている手法であるGradient Boosting Decision Tree(GBDT:勾配ブースティング決定木モデルの学習を高速し、電力効率を上げる回路アーキテクチャを開発したと発表した。 この回路アーキテクチャを、FPGA(Field-Programmable Gate Array、設計者がプログラムによって設定を変更できる集積回路)上に実装して性能を比較したところ、CPU/GPUを用いた一般的なソフトウェアライブラリ(XGBoost (extreme gradient boosting)、LightGBM、CatBoost)と比べ、26~259倍の学習高速化を実現したという。これにより、これまでよりも短時間でのGBDTモデルの学習・更新が可能となる。 学習時の消費電力も小さく、モデル学習の電力効率は、GPU/CPUと比較して90~1

    リコー、機械学習モデルを26倍高速化できる回路アーキテクチャ開発
    sonots
    sonots 2018/12/27
    前々職頑張ってる
  • Ruby 2.6 の改善を自慢したい - クックパッド開発者ブログ

    技術部で Ruby インタプリタの開発をしている笹田です。娘のために、今年はじめて大きなクリスマスツリー(1.8 m)を買いました。 稿では、私が Ruby 2.6 で取り組んだ中から、次の新しい機能と性能改善について紹介します。どちらのトピックも、普通に Ruby を使っているだけなら気にならない、玄人向きの記事になっていると思います。興味がある人にお読み頂ければ幸いです(居ればいいのですが)。 TracePoint の拡張 新しいイベント script_compiled の導入 フックを有効にする場所を制限する機能の導入 デバッガの実装が、10~100倍くらい速くなる、かもしれない ブレイクポイントの実装を例に解説 Transient Heap の導入 短寿命メモリオブジェクトの高速化 世代別コピーGCのアイディアを利用 Rails とかには効かないかも...。 そういえば、両方とも

    Ruby 2.6 の改善を自慢したい - クックパッド開発者ブログ
    sonots
    sonots 2018/12/27
    theap 用のメモリ領域が固定なので、特定アプリで性能が出るようなサイズに ruby のソースコード書き換えてビルドして本番デプロイするやつ誰だ
  • DeepLearning/機械学習を始めると必ずいるカス - BizDeep

    (2018.1227)なんか急にバズったのでちょっと追記しました。 ディープラーニング人材はやばい奴だらけ これから「AI仕事に導入したい!」と思う人は沢山いるでしょう。 ただ「ディープラーニング」や「AI」という言葉に関しては世間で色々な誤解がされており、正しく現状を理解できている人はとても少ないように思います。 ディープラーニングという言葉はAlexNetがでた2012年頃に流行り出しました。 実際に企業が仕事としてディープラーニングに手を出し始めたのはAWSGPUインスタンスをリリースした頃からだと思うので2014年ぐらいからでしょうか。 まだ流行り出して5年も経っていない技術であるため、最新の研究レベルでもディープラーニングの全容は明らかになっていなかったり(参照: ディープラーニングの解釈に関するサーベイ論文) 、正しくディープラーニングを理解するための教科書や参考書などもま

    DeepLearning/機械学習を始めると必ずいるカス - BizDeep
    sonots
    sonots 2018/12/27
    趣深い
  • ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策 - ZOZO TECH BLOG

    こんにちは。開発部の廣瀬です。 記事では、昨年障害が発生してしまったZOZOTOWNの福袋発売イベントについて負荷対策を実施し、今年の福袋イベント期間を無傷で乗り切った話をご紹介したいと思います。 大規模サイトの障害に関する生々しい話はあまり公開されていないように思いますので、長くなってしまいましたが詳細に書いてみました。尚、今回のお話は弊社のサービスで使用しているDBMSの1つである、SQL Serverに関する話題がメインです。 福袋イベント「ZOZO福袋2019」とは 年に1度、多数のブランドの福袋が一斉に発売される、ZOZOTOWNの年末の風物詩的イベントです。今年は450以上のブランド様にご参加いただきました。お客様からも毎年大変ご好評いただいており、年間を通して最も多くのトラフィックを記録するイベントの1つです。 アクセスが殺到するが故に、昨年は福袋の発売直後からエラーが多発

    ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策 - ZOZO TECH BLOG
    sonots
    sonots 2018/12/27
    特定商品に対する暫定対応はこれで良いとして、恒久対応やっておかないと、来年の運用者がまた特別対応しないといけないわけなので、将来的にはアーキテクチャ刷新までやる必要ありそう