映画『福田村事件』感想

9月1日、ユーロスペースで『福田村事件』を観た。 www.youtube.com 関東大震災直後の千葉で香川からの行商15名のうち子供と妊婦を含む9名が、地元の自警団に朝鮮人と間違えられて殺害された実在の事件を基にした劇映画。 事件が起きたのは1923年(大正12年)…

公式GoクライアントindigoでBlueskyのAPIを使ってみた

みなさんはまだXで消耗してますか?Blueskyに移住中の小野マトペです。 Go言語でBlueskyにポストを投稿するコードを書いたのですが、ベータ版とあってドキュメントも少なくやや難儀したので、メモとして残します。記事を通じて、Blueskyのアーキテクチャのユ…

Google GroupsのRSS/Atomフィードってどこにあるんだっけ

ここから こう

カメラ初心者がカメラ沼に入ってみた。(長文)

会社を辞めたので、旅行なんかしたいと思ったことないのだけど、海外旅行をしてみようと思いたち、衝動的にExpediaとAirbnbでバリ島への航空券と宿泊先を予約した(出発8日前のチケットとか、取れるんですね)。で、どうせ海外行くならいい機会だからちゃん…

gorilla/csrf で安全なWebフォームを作る

こんにちは。GoでWeb開発していますか?私はしていません。Goに限らず、既成のWebアプリケーションフレームワークを使わずに自前でWebフォームを作る場合、なにも考えずに書くと CSRF (Cross Site Request Forgery) 脆弱性を作りこみ、不正なユーザー操作を…

外付け(として使う)SSDって今何買えばいいのか調べたメモ

昨日の記事で言ったようにうっかりSSD+ケースを買ってしまったのだが、最近はUSB3.1 Gen2もThunderbolt3も普及してきてデータ転送帯域がどんどん広がっているし、m.2?NVMe?とかもなんかちっちゃくてかっこいいし、SSDも価格爆下がり中って聞くし、「最近の…

容量が十分あるにも関わらずAfter Effects がディスクキャッシュを保存する容量がないと言い張るときはTimeMachineローカルスナップショットを消せ

TL;DR: TimeMachineローカルスナップショットを消せ。 macOS Mojave / APFS 環境で、たまにAfter Effectsを起動すると「ディスクキャッシュフォルダーが存在するドライブには、環境設定で指定されている容量を全て保存できるだけの空き容量がありません。空…

MacBook Pro 2018 13" + Intel NUC Bean Canyon + eGPU で Mac/Win グラボ共有環境を構築した話

今年もよろしくお願いします、小野マトペです。去年の10月、MacBook Pro 2018 13インチを購入しました。 MacBook Pro 2018 13インチ届いた。Early 2013 15インチを使い続けていたので電源含めて重量が40%が減って軽さがすごい。 pic.twitter.com/796gF6sihS—…

部屋の本棚をIKEAのBillyにした話

今の部屋には、引っ越す前から育てている無印のパルプボードボックスを利用した本棚があるのだけど、じわじわと紙の本が増えて、そろそろ本が溢れるようになってきた。このままパルプボードを増設していってもよかったが、この製品は仕様上は5段までしか重ね…

ざっくり理解するPaxos

ゴールデンウィーク中、Appleがオープンソースとしてリリースした分散データベース FoundationDB のドキュメントを読んでいました。なかなか面白いデータベースだと思うのでこれについては別途書きたいですが、それはそれとしてFoundationDBでは、分散環境下…

2016年を振り返って

あけましておめでとうございます。 2016年を振り返ってみます。 アジェンダ 仕事:自分で立ち上げたプロダクトをローンチできた 英語:海外出張がたて続き、英語能力の不足を痛感した OSS:GoとCassandraにぼちぼちパッチを送っている 抱負 仕事 取り組んで…

GoとgRPCでKVS的なものを作ってみた

Go

正月で時間があったので、以前から触ってみたかったgRPCをGo言語から使い、キー・バリュー・ストアのようなものを作ってみた。 KVSといっても、GoのmapへのGet/Put/Delete/ScanをgRPC経由で叩けるようにしただけのもの。それだけだとあまり面白く無いので、g…

2015年を振り返って

あけましておめでとうこざいます。 なんかみんな振り返っているので、少し出遅れましたが2015年を振り返りたいと思います。 アジェンダ 英会話教室に通い始めた Goにコントリビュートをした 仕事で作っているプロダクトがリリースできなかった 英会話教室に…

RFC的に、HTTPヘッダってどんな値を使えるんでしたっけ?のメモ

Web APIを開発していると、HTTPのヘッダについてRFCにおける規約を確認しなきゃいけない場面がたまにあるので、今回調べたことをまとめた。 HTTP/1.1のRFC HTTP/1.1のRFCといえば、長らくRFC2616であったが、2014年にRFC7230〜7239が発行され、2616は廃止さ…

Goのflagでダブルダッシュ(--hoge)なフラグを許可する

Go

goのflag、”-hoge”だけじゃなくて”--hoge”を許してくれるだけで悩みの95%くらい解決するのになー…— Daisuke Maki (@lestrrat) 2014, 10月 21 これのためだけに別ライブラリをgo getするの若干抵抗ある— Daisuke Maki (@lestrrat) 2014, 10月 21 それヘルパー…

GoのHTTPサーバーを80番や443番ポートでListenする方法を調べた

1024以下の番号のポートでサーバーをListenするには、rootで実行する必要がある。それはもちろん嫌なので、GoのWebサーバーを80番ポートでサービスするためにどういう方法があるのか調べた。 root権限で起動してListenしてからSetuidで権限降格 最初はroot権…

Golangで関数をグローバル変数に代入してテスト時にスタブする

Go

こんにちは、小野マトペです。タイトル全部です。 昨日、現在時刻によって条件分岐するロジックを含むGoプログラムを書いていて、どうテストするか困ったのですが、うまい(と思う)やり方を思いついたのでここに書いておきます。 書いていたのはまあだいた…

Go Concurrency Patterns: Context[翻訳]

7月29日付けのgolang.orgブログエントリーで context というパッケージが紹介されました。 Go Concurrency Patterns: Context - The Go Blog 参考: Go言語のcontextパッケージについてのやりとり - ワザノバ | wazanova 今現在、業務でGo言語を使ったWebサー…

Patterns of Enterprise Application Architecture読書メモ(データソース編)

Martin FowlerのPatterns of Enterprise Application ArchitectureすなわちPoEAA、何年か前に原著をKindleで買って読もうとして序盤で挫折していた。最近またデータソースアーキテクチャについて翻訳版と原著を合わせて読んでいるので、整理のためメモを残し…

Golangでの文字列・数値変換

Go

覚えられなくて使うたびにググってしまうので、以後楽をするためにスニペットを記す。 パッケージ strconvパッケージを使う。 文字列 → 数値変換(パース) func Atoi(s string) (i int, err error) 文字列を10進数のint型にパースする。ParseInt(s, 10, 0)…

Go言語のコマンドライン引数の使い方(サブコマンド等)

go言語でのコマンドライン引数の使い方でやや混乱したのでまとめる。 まとめること flagの仕様 flagでgit push -fのようにオプション引数より前に非オプションの引数を置く方法・サブコマンドの例 go-flagパッケージのサブコマンドを試す flagの仕様 Golang…

tus - Resumable File Uploads

Resumable File Uploads tusというHTTP/1.1上で再開可能なファイルアップロードの規格を策定するプロジェクトを見つけた。2013年4月に始まった取り組みで、リファレンス実装が多い。提案されているプロトコルでのアップロードの流れをメモする(v0.2.1準拠) …

(翻訳) Trelloは何が違うのか by Joel Spolsky

最近、rebuild.fm で紹介されていたタスク管理ツールのTrelloを試しに使ってみたんですが、個人的にかなりヒットでした。このTrello、Joel on Softwareで有名なJoel Spolsky氏のサービスだと知って驚いたんですが、氏のTrelloに関するブログエントリーが興味…

#pyfes 2013.11に遊びに行ってきました。

pyfes/201311.rst at develop · pyspa/pyfes Python Developers Festa 2013.11 - connpass Pyfesに行ってきました。土日に昼まで寝ている自分としては9時45分の開場期限に間に合っただけで快挙でしたが、Go, HTTP2.0, ストレージ, 構成管理と、今個人的に興…

gemのslideshowでMarkdownからスライドショーを作る

gemのslideshowを使ってMarkdownファイルをスライドhtmlに変換する slideshowは、Markdownファイルを様々なJavaScriptスライドライブラリを使ったhtmlファイルにコンバートするgem。 インストールとサンプル $ gem install slideshow $ slideshow help #オプ…

Blenderでボーンをミラーするメモ

Blender 2.67使用 こういう鳥の翼を作りたいとする。ただしメッシュはポーズ作業以降もX軸ミラーModifierを維持し、ポーズも左右反転コピーを使っていきたいものとする。 左半分のメッシュとボーンを作り、ウェイトをペイントして調整する。 ウェイトペイン…

FireWire800外付け2.5インチHDDケースを買ってSSDを入れた。

(このエントリーは1年くらい前に書きました) HD画質の動画をコンポジットするにあたり、USB 2.0の外付けHDDの低速さに耐えられず、2.5インチのFireWire800のポータブルHDDケースを買ってきて中にSSDを突っ込み、作業用ドライブとした。本当はUSB 3.0がよか…

Scientific Linux 6.1にrbenvでbundlerなRuby 1.9アプリケーションをインストールする手順

やりたいこと。 表題どおり。やるごとに手順をネットで調べてるのでまとめた。 検証環境はScientific Linux 6.1だけどCentOSでもいける。 Rubyバージョンはrbenvで管理されたruby1.9.3 アプリケーションはBundlerで構成管理されたSinatraアプリケーション 作…

MySQLのスレーブを再起動しても勝手にレプリケーションが再開しないようにする

MySQLで、マスタ系を動かしたまま、スレーブの更新を一時的に止めたいという状況はよくあります。スレーブ群の中から一台だけサービスアウトし、STOP SLAVE;してテーブル変更やリペアテーブルしてからSTART SLAVE;するというやつです。 このSTOP SLAVE;です…

Dynamoの論文を訳した

Dynamo: Amazonの高可用性Key-value Store[和訳] — Gist DynamoDBとかも出てきた事だし、MySQL以外のデータベースに興味が出て来たのでNoSQL的な流れの源流っぽいDynamoの論文を読んでみることにしました。十日くらい掛けて一通り読んだものの、時間がかかり…