タグ

2018年12月21日のブックマーク (4件)

  • Poetry: Python の依存関係管理とパッケージングを支援するツール

    Python には依存関係を管理するツールがたくさんあります。 Python歴史あるプログラミング言語なので仕方ないですが、情報が多すぎて特に初心者は混乱してしまいます。 結局の所、pip、virtualenv (venv) を使えば十分な場合が多いので、まずはこれらの使い方を学習しましょう。 近頃は Pipenv という依存関係管理ツールが登場して人気です。 日語でも Pipenv の情報をよく見かけるようになりました。 さらに、最近になって Poetry という依存関係管理とパッケージングを支援するツールが登場しました。 意外と Poetry に関する日語の情報がないようなので、簡単に紹介してみようと思います。 各ツールの機能をまとめた表 が公開されていたので参考にしてください。 Pipenv 2017 年 1 月に Pipenv というツールが登場しました。 Pipenv に

    castaneai
    castaneai 2018/12/21
  • モバイルアプリでgRPCを使う

    Feb 8, 2018 最近は、モバイルアプリとサーバーの通信にgRPCを使っています。gRPCは、サーバー同士の通信では徐々に使われ始めている印象がありますが、モバイルアプリでの使用例はまだ少ないと思うので、動機とか、感想とか、ウチはこうしてるというものを共有します。 リクエストとレスポンスの定義を1箇所にまとめる 今のプロジェクトでは、同じデータをサーバー, iOS, Android, Webで扱う予定がありました。普通のREST APIでは同じデータを4つの言語に翻訳する必要がありましたが、これをprotoへの翻訳の1回だけで済ませたいというのが、gRPCを使う最初の動機でした。 gRPCでは、リクエストとレスポンスの全ての情報をprotoファイル上で表現し、それを元に各言語のコードを自動生成します。APIドキュメントを人間が各言語に翻訳する場合と比べると、コードを書く手間が省けます

    モバイルアプリでgRPCを使う
    castaneai
    castaneai 2018/12/21
    “Cloud EndpointsというAPI管理を行うサービスがあります。Cloud Endpointsには、Firebase Authenticationのトークンを検証し、結果をmetadataに付与してgRPCサーバーにリクエストを送るという機能があります。”
  • 正しさとGo - Qiita

    はじめに Goの良いところは、最低限の文法を知っていればコードを上から順番に読むことで詳細を容易に理解できることです。 文法の中にシンタックスシュガーや特別な省略が許されていないため多様な表現になることはありません。 そのためGoを書ければGo体と標準ライブラリを読むことができます。 しかし以下の原因により、これらの利点を守ることが難しくなることがあります。 DSL フレームワーク 抽象化 これらは設計として新たな制約を課すことで品質向上や実装を容易にするためのものです。 またこれらを採用する論理立てた 正しい 理由が存在します。 DSL DSLを提供するツールとして、DIのための wire があります。 GoでDIを実現するためには多くの実装を必要とするため、実装量を減らすためにもDIツールが求められてきました。 これは 正しい です。 しかし一方でDSLはコードを読む人間に言語以上

    正しさとGo - Qiita
    castaneai
    castaneai 2018/12/21
    “正しさを求めることは 制約の代わりに読みやすさでコード品質を担保する ということから離れていくことでもあります”
  • Comma-Separated Tree / Observable

    Visualization toolmaker. Co-founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.

    Comma-Separated Tree / Observable
    castaneai
    castaneai 2018/12/21
    "You’ve heard of comma-separated values (CSV)? Well, a comma-separated tree (CST) is similar, with indentation to determine the hierarchy."