タグ

2017年10月15日のブックマーク (8件)

  • Rubyの型定義ファイルを中央repoにしないほうがいい理由 - Islands in the byte stream

    あるいは私がDefinitelyTyped (DT) が失敗だと思っている理由、です。 DefinitelyTypedは明確に失敗だと思っているので、あれを避けるのはそんなに難しくないかなと。まず (1) anyを認めて「型がなくてもいいや」という気持ちでいく (2) 中央repoは作らずそれぞれのgemに対して型定義パッチをおくりつける でなんとかなるっしょ。— FUJI Goro (@__gfx__) September 19, 2017 あたりが話の発端です。 DTについては以前いまいちイケてない理由を書いたことがあります。 TypeScriptのDefinitelyTypedは「ダメでもともと、うまく使えればラッキー」くらいの距離感がよい - Islands in the byte stream この時の話を一言でまとめると「ライブラリの作者ではない第三者がメンテしていることが多く

    Rubyの型定義ファイルを中央repoにしないほうがいい理由 - Islands in the byte stream
    yugui
    yugui 2017/10/15
  • LLVMがPDBフォーマットのドキュメント化とYAMLへの変換を実現

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    LLVMがPDBフォーマットのドキュメント化とYAMLへの変換を実現
  • JITコンパイルでの冒険 パート2:x64 JIT | POSTD

    このシリーズの最初のパート (訳注:POSTDの翻訳記事へのリンクです) で簡単にBFソース言語を紹介し、最適化レベルが高まる4つのインタプリタについて述べました。実際にJITをいじる前に背景を知る上で役に立つと思います。 さらに背景を知る上で有効なのが、2013年に私が書いた『 JITの方法 – 入門編 』という記事です。ここでは、実行時に実行可能なx64機械コードの生成と実際にLinux上で実行するために必要な基ツールについて説明しました。初めての方はまずこれらの記事を読んでください。 JITの2つの段階 以前 にも書きましたが、JIT手法を2段階に分けて考えると理解しやすいと思います。 プログラム実行時に機械コードを作成する。 作成した機械コードもプログラム実行時に実行する。 BF JITの第2段階は前記事で説明した方法と全く同じ内容です。詳細は jit_utils の JitPr

    JITコンパイルでの冒険 パート2:x64 JIT | POSTD
  • Goのワークスティーリング型スケジューラ | POSTD

    Goスケジューラの仕事は、1つまたは複数のプロセッサ上で実行する複数のワーカOSスレッドに、実行可能なGoルーチンを配分することです。マルチスレッドのコンピュータ処理では、スケジューリングに2つの考え方が登場してきています。 * ワークシェアリング: あるプロセッサが新しいスレッドを生成したとき、idle状態か十分に活用されていないプロセッサが利用してくれることに期待して、生成したスレッドのいくつかを他のプロセッサに移行させます。 * ワークスティーリング: 十分に活用されていないプロセッサが他のプロセッサのスレッドを積極的に探し、そのいくつかを「スティール」ます。 スレッド移行の発生頻度は、ワークスティーリングではワークシェアリングよりも少なくなります。実行すべきワークがどのプロセッサにもあるときは、移行されるスレッドはありません。そして、あるプロセッサがidle状態になれば、直ちに移行

    Goのワークスティーリング型スケジューラ | POSTD
    yugui
    yugui 2017/10/15
  • GCPとAWSのマルチクラウドで構築する、大規模解析サービスのシステム全体像

    大規模解析サービスの構成要素 大規模解析サービスは一般的に、以下の要素から構成されます。 ログ情報等のデータの送信 データの受信 データの保存 保存したデータの解析 解析データの閲覧などができる管理画面の提供 KARTEはユーザのWebアクセスデータをリアルタイムに解析し、アクションまでつなげることができるサービスであり、先ほど説明した5要素は、以下の5種類のコンポーネントによって実現しています。 trackerコンポーネント:エンドユーザで実行されるtracker[1]をエンドユーザに配布するためのコンポーネント trackコンポーネント:エンドユーザからデータを受信するコンポーネント。とくにKARTEでは解析データに基づいてエンドユーザへのアクションを返す役割も持つ dbコンポーネント:解析データなどのさまざまなデータを格納するコンポーネント analyzeコンポーネント:エンドユーザ

    GCPとAWSのマルチクラウドで構築する、大規模解析サービスのシステム全体像
  • スタートアップを殺す18の誤り

    Paul Graham / 青木靖 訳 2006年10月 最近やった講演の後のQ&Aで、スタートアップを失敗させるのは何かという質問をした人がいた。その場に立ったまま何秒か呆然としていた後、それが一種のひっかけ問題なことに気付いた。これはスタートアップを成功させるのは何かという質問と等価なのだ——失敗の原因となることをすべて避けるようにすれば、成功することができる——そしてこれはその場で答えるにはあまりに大きな問だった。 後になって、私はこの問題をそういう方向から見るのも有効かもしれないと思うようになった。すべきでないことをすべて並べたリストがあれば、それをただ逆にするだけで成功へのレシピに変えることができる。そしてこの形のリストの方が、実践する上で使いやすいかもしれない。やらなければならないことをいつも頭に入れておくよりは、何かやってはいけないことをしているときにそれと気付くというほうが

  • the software engineering notebook · thoughtwisps

    Thoughtlets on software, maths, science and society the software engineering notebook 17 Aug 2017 Fellow software engineers/hackers/devs/code gardeners, do you keep a notebook (digital or plain dead-tree version) to record things you learn? Since my days assembling glassware and synthesizing various chemicals in the organic chemistry lab, I’ve found keeping notes to be an indispensable tool at get

  • Game Review, Đánh Giá Chi Tiết – Thủ Thuật Mới Nhất

    Game Review, Đánh Giá Chi Tiết – Thủ Thuật Mới Nhất Tại Markethack.net, chúng tôi cam kết mang đến cho người chơi những bài đánh giá game chính xác, khách quan nhất. Dù bạn là người mới hay game thủ kỳ cựu, những thủ thuật mới nhất và lời khuyên hữu ích từ các chuyên gia của chúng tôi sẽ giúp bạn nâng cao kỹ năng chơi game. Đừng bỏ lỡ cơ hội khám phá kho tàng thông tin đa dạng về thế giới game tại

    Game Review, Đánh Giá Chi Tiết – Thủ Thuật Mới Nhất