Async, Persistent, Fast, and Stable "Enought" Queue/Worker Using Go and PostgreSQL
trdsqlというコマンドラインツールを作りました。 Goで作ってます。 githubの trdsqlからダウンロード出来ます。 またLinux/Windows/macOSのバイナリもあります。 以下は、古くなっている内容もいくつかあります。 最新版に対応した、より詳細な内容は trdsql 目次 | Noboru Saito's page を参照して下さい。 これは何? 簡単に言えばCSV(TSV含む)やLTSVに対してSQLを実行できるツールです。 同様のツールが q や textql 等いくつかあります。 trdsqlはPostgreSQLドライバとMySQLドライバを含んでいて実際にDBに接続することでSQLite以上の機能を使用できるようにしています。 PostgreSQLやMySQLの構文が使えるだけではなく、CSVファイルと実テーブルでJOINしたり、CSVファイルからテーブ
データベースマイグレーションツールでフレームワーク非依存のもので有名所といえばflywayだが、Java製のツールであるためJVMを入れておく必要がある。JVMを入れるというのが意外とハードルで、稼働中の環境に入れる場合は影響範囲が怖かったり、CIのたびに容量が小さくないJVMを入れるのはちょっと・・・というケースもある。 そんなときにオススメしたいのがGo製のマイグレーションツールmattes/migrateだ。flywayと同じくCLIツールだが、JVMのようなランタイムは不要だ。ビルド済みのバイナリがGitHubで提供されていて、インストールはcurlやwgetですぐにできる。容量も7.1Mと小さい。MySQLやPostgreSQLなど主要なデータベースに対応している。Go製であるが、マイグレーションファイルは素のSQLで書くから、ユーザにはGo言語の知識は必要ない。 mattes/
お久しぶりです。Go の門を叩いてみました Go はマスコットの謎生物が可愛いですね。Gopher というらしいです。 どこかで見たことあると思ったら、くまのプ ● さんにゴーファーというそのままなキャラクターがいましたね。 他の言語とはソースコードの構成やら書き方やら結構違っていて馴染めなかったのですが、なんとかことはじめの記事くらいは書ける程度にはなれたので、備忘録として残します。 Go の環境構築から、Gin という軽量フレームワークで Redis と PostgreSQL を使ったデモアプリを作って、Heroku にデプロイするところまでの備忘録です。 少しでも Go に入門する人の助けになれば幸いです。 なぜ Go なのか なんとなくと言ってしまえばそれまでなのですが、 最近あまり新しいことに挑戦してないなー と思ったのがきっかけです。 というのと、今まで触れたことない言語に触れ
How to Dockerize a Golang Webapp With Postgres DB Dec 19th, 2014 I’ve been playing around with Docker recently and have decided to use it in the deployment of a Golang Negroni + Postgres webapp I’ve been working on. In order to ensure future scalability and to comply with best practices, this meant spinning up two docker containers, one for the app and another for the database and linking the two.
【追記】2023年3月21日 YAPC::Kyoto 2023で、ジョブキューシステムFireworqの設計と運用実績も含めて発表されました。id:tarao ++ 【加筆修正】 2020年2月16日 執筆時から6年も経過していますが、たまたまこの記事を振り返る機会があったので、日本語がおかしいところを一部修正したり、一緒に取り組んだ方々の名前が書かれていなかったところを修正しました。 【追記】2017年12年24日 このエントリのジョブキュー実装がFireworqという名でOSSとして公開されました。id:tarao ++ github.com この記事ははてなエンジニアアドベントカレンダー2014の4日目です。 前回は Mackerelで採用している技術一覧とその紹介 - Hatena Developer Blog でした。 社内の開発合宿で、 id:taraoさん、id:hakobe
Use Docker for development Prerequisites Docker >= 1.3 Golang >= 1.3 Working DOCKER_HOST (non-Linux users see boot2docker) Installation $ go get github.com/nitrous-io/tug Create a Tugfile web: bin/web -p $PORT postgres: docker/postgres:9.3.5 redis: docker/redis:2.8.9 If any command starts with docker/ the rest will be interpreted as a docker image tag. Start the app $ tug start postgres | fixing p
YAPCが終わり、夏も終わり、みなさんいかがお過ごしでしょうか。れもんです。季節感を先取りしてデザインを冬っぽい感じにしました。 さて、最近仕事でRedshiftをつかっておりまして、ご存じのない方に簡単に説明するとAWSで使えるマネージドで列指向でシェアードナッシングな分散データベースっていう説明でいいんでしょうか。あんまり定義の分野に明るくないのでとりあえずぼくはそんな認識で使っております。MPP! MPP! みたいな感じです。 で、「Goで行こう」というダジャレなのかどうかよくわからないことをぶち上げたというのと、BIツール的なところは比較的言語の作りに依存してどうこうみたいなハマリかたをしなさそうで新しい言語を投入するには無難だなというところで、Redshiftを叩くのをgolangでやっております。 RedshiftはPostgreSQLのドライバで接続可能なので、golangに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く