2019年1月29日のブックマーク (3件)

  • API サーバーを Clean Architecture で構築する - OPTiM TECH BLOG

    はじめまして。オプティムのR&Dに所属している新卒2年目の板垣です。 普段は、AI の学習に必要な教師データを作成するためのアノテーションツールの設計・開発・運用を行なっています。 アノテーションツール自体は Web アプリで、クライアント側は ReactTypeScript、サーバー側は Go で実装しています。 さて、先日 Clean Architecture 達人に学ぶソフトウェアの構造と設計 というITエンジニアに読んでほしい!技術書・ビジネス書 大賞2019 の技術書部門ベスト10にノミネートされました。 記事を読もうと思って下さった方の中には、このを読もうと思っている、または、もう読んだという方が結構いらっしゃるのではないでしょうか。 かくいう私も、携わっているソフトウェアのソースコードがひどくて(というより、そのアーキテクチャでは耐えられなくなってきたと言った

    API サーバーを Clean Architecture で構築する - OPTiM TECH BLOG
    tkat0
    tkat0 2019/01/29
  • 量子化について

    ideinのクリスチャンです。機械学習周りの研究開発を担当しています。 edge-computing で機械学習と言えば、量子化を利用して処理を加速する人は多いと思われます。(n.b.: 現時点の Actcast で量子化は利用されてませんが) この記事では量子化アプローチとこの開発ノウハウをざっと紹介します。 量子化とは機械学習で行われている量子化の実際は activations 又は weights で通常用いられる32bit 数値をbitwidth の少ない数値で代替することです。 メリットとしては、モデルサイズが小さくなるだけではなく、行列乗算を(なので畳込みも)速く処理できます。デメリットは勿論、モデルの精度が低下してしまう恐れがあることです。 どうやってビット数の少ない計算を早くするのは hardware-dependent なので、この周りの説明をするつもりはありません。 量

    量子化について
    tkat0
    tkat0 2019/01/29
  • 技術的負債への後悔と返済|Seiji Takahashi@ベースマキナ

    反省文。 tl;dr・「後から改善すれば良い」のスタンスは、返済コストを甘く見積もっている結果 ・負債の返済にはコーディング以外の工数が大きくかかってくる ・技術的負債を"徐々に"返済することは様々な面で良い 出社即リファクタリング最近出社した直後に、こっそりリファクタリングの時間を一定程度取るようにしている。朝のウォーミングアップがてら改善作業をしていると、瞑想みたいな効果があって大変気分がよくなるし、その後のコーディングも生産性が上がる。大体こういう気分。 具体的な作業は、アーキテクチャの方針が固まってなかった時代のコードの1つのエンドポイントだけ、適切なレイヤ化を施したり、単体テストが可能なメソッドとして切り出しつつ実際にテストを書いたり、テストに必要な共通処理を定義したり、だ。 初期から機能追加を重点的に行ってきたプロダクトでは、スピード優先の名目で多くの負債が生まれる。こうした負

    技術的負債への後悔と返済|Seiji Takahashi@ベースマキナ
    tkat0
    tkat0 2019/01/29