タグ

ブックマーク / qiita.com/goccy (4)

  • macOSでDockerを使ったGoのアプリケーション開発を爆速にするホットリローダを作った - Qiita

    はじめに メリークリスマス!! みなさんは Go のアプリケーション開発をどのような環境で行っていますか? 弊社ではゲームのアプリケーションサーバに Go を採用しており、開発は macOSDocker for Mac を利用しています。開発当初はこの構成による不満は特に感じていませんでしたが、1年半ほど経ってプロジェクトの規模が大きくなったことで、無視できないレベルで開発スピードを低下させる要因となってしまいました。 弊社ではアプリケーション開発にソースコードの自動生成を多用しており、その影響もあってかコードベースの Go のコードは 150万行を超える規模になっています。 加えて、ビルドする際は cgo 経由で利用している C++ のコードもそれなりの量絡んでくることもあり、 Docker for Mac を使った Docker コンテナ上でのビルドに要する時間は、 メモリ8GB

    macOSでDockerを使ったGoのアプリケーション開発を爆速にするホットリローダを作った - Qiita
    peketamin
    peketamin 2019/12/25
  • Go言語のためのキャッシュライブラリを作った - Qiita

    1. はじめに Rapidash というGo用のキャッシュライブラリを公開しました。 以前 https://qiita.com/goccy/items/a54af6db3b8623e90c38 で紹介した Octillery 同様、弊社の負荷対策用ライブラリになります。 キャッシュというとコンテキストによって用途は様々ですが、 Rapidash はアプリケーションサーバの応答性能を向上させるために、主にデータベースの負荷分散を目的として開発したライブラリになります。 主な機能は以下のようなものです。 検索しか行わないテーブルのデータをアプリケーションサーバ起動時にデータベースからすべて吸い上げ、インデックスの定義に従ってメモリ上に B+Tree 構造で展開する。検索時は範囲検索もできる 読み書きを行うテーブルのレコードを memcached や Redis といったキャッシュサーバに格納し

    Go言語のためのキャッシュライブラリを作った - Qiita
    peketamin
    peketamin 2019/08/22
  • Chromeのストレージ永続化仕様を詳しく追ってみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 1. はじめに ChromeやFirefoxで使えるストレージ永続化機能はご存知でしょうか。 https://developers.google.com/web/updates/2016/06/persistent-storage に Persistent Storage という題で詳しく触れられていますが、通常 LRU で消去されてしまう IndexedDB や CacheStorage の内容を永続化してくれる機能だと理解しています。 CacheStorage と Persistent Storage の組み合わせは強力で、理論上大

    Chromeのストレージ永続化仕様を詳しく追ってみた - Qiita
    peketamin
    peketamin 2019/06/26
  • Go言語のために、すべてのORMに対応できるデータベースシャーディングライブラリを作った - Qiita

    1. はじめに Octillery というGo言語用のデーターベースシャーディングライブラリを開発したので紹介します。 すでにいくつかあるライブラリ ( evalphobia/wizard や go-pg/sharding )と異なる点は database/sql パッケージのインターフェースを実装するすべてのORMライブラリで利用できる database/sql の機能を直接使っていても利用できる 特定のデータベース実装に依存せずに利用できる設計になっている シャーディングアルゴリズムがプラガブルになっている あたりです。ライブラリの利用環境をなるべく限定したくないという思いから、特定の実装に依存しないような作りを目指して設計しました。 ライブラリの実装自体は昨年のうちに終わっていましたが、運用実績を作るために温めてきました。 ライブラリはすでに番環境で半年ほど運用されており、今も継続

    Go言語のために、すべてのORMに対応できるデータベースシャーディングライブラリを作った - Qiita
    peketamin
    peketamin 2018/11/27
  • 1