タグ

ブックマーク / matope.hatenablog.com (23)

  • 2024年衆議院選挙で私が考えていること(刑事司法・裏金・民主主義) - 小野マトペの納豆ペペロンチーノ日記

    衆議院選挙の党開票日が27日に迫る中、ふと、今回の投票にあたって自分が考えていることを書き起こしておこうという気持ちが湧いてきました。大上段に政治を語るのは少し気恥ずかしいですが、いい歳をした大人が政治についての考えをきちんと語れないほうがよほど恥ずかしいとの信念に基づいて、やってみようと思います。 今回の選挙で私が重視しているのは、個別の政策でいえば「刑事司法」、全体的な考え方で言えば「民主主義と経済」です。 刑事司法制度 いま、冤罪に関する再審無罪判決や再審開始の決定が相次いでいます。 袴田事件が、「5点の着衣」が警察による捏造証拠であったことを認定して再審無罪となったことはみなさんもご存じの通りですが、今週、1986年に発生した福井女子中学生殺害事件で7年の懲役判決が確定し服役した男性の再審の開始も決定されました。 福井中3事件では、新たに開示された検察側証拠から、検察が男性を有罪に

    2024年衆議院選挙で私が考えていること(刑事司法・裏金・民主主義) - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2024/10/26
    ブログ書いた
  • 映画『福田村事件』感想 - 小野マトペの納豆ペペロンチーノ日記

    9月1日、ユーロスペースで『福田村事件』を観た。 www.youtube.com 関東大震災直後の千葉で香川からの行商15名のうち子供と妊婦を含む9名が、地元の自警団に朝鮮人と間違えられて殺害された実在の事件を基にした劇映画事件が起きたのは1923年(大正12年)9月6日、つまり100年前の今日だ。 監督は著名なドキュメンタリー監督の森達也氏。失礼ながらドキュメンタリー作家の初劇映画ということで正直期待していなかったが、観てみると意外にもしっかりした映画で驚いてしまった。 前半は狭い村でのドロドロとした愛憎が組み立てられていき、その情念が後半での虐殺事件に流れ込んでいく。冒頭から鍬や包丁など、日常の中に暴力の予感を忍ばせるのも上手いし、豆腐、白磁の指輪、朝鮮飴といった純白モチーフの使い方も手慣れている。 実はこの作品、森達也監督と同時期にたまたま劇映画畑の脚スタッフ3名も「福田村事件

    映画『福田村事件』感想 - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2023/09/06
    ブログ書いた
  • 公式GoクライアントindigoでBlueskyのAPIを使ってみた - 小野マトペの納豆ペペロンチーノ日記

    みなさんはまだXで消耗してますか?Blueskyに移住中の小野マトペです。 Go言語でBlueskyにポストを投稿するコードを書いたのですが、ベータ版とあってドキュメントも少なくやや難儀したので、メモとして残します。記事を通じて、Blueskyのアーキテクチャのユニークさも少しだけ伝われば良いなと思います。 クライアントには、Blueskyの公式Goリポジトリ github.com/bluesky-social/indigo のクライアント実装を使います。ただし、開発中で、今後使い方が変わる可能性もあるので気をつけてください。 github.com 概要 Bluesky は、大規模分散ソーシャルアプリケーションのための汎用連合プロトコル AT Protocol 上に構築されるアプリケーション実装であるという建て付けです。AT Protocolでは、クライアントやサーバーは XRPC という

    公式GoクライアントindigoでBlueskyのAPIを使ってみた - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2023/08/17
    ブログ書いた
  • カメラ初心者がカメラ沼に入ってみた。(長文) - 小野マトペの納豆ペペロンチーノ日記

    会社を辞めたので、旅行なんかしたいと思ったことないのだけど、海外旅行をしてみようと思いたち、衝動的にExpediaとAirbnbでバリ島への航空券と宿泊先を予約した(出発8日前のチケットとか、取れるんですね)。で、どうせ海外行くならいい機会だからちゃんとしたカメラ買って風景とか撮りたいなとなり、以前からうっすら欲しかったカメラを買うことにした。私と同じカメラわからん人の助けになるように、購入に至るまでの検討過程をここに記す。また参考にしたWebサイトなども可能な限り添付していく。何を買ったかだけ知りたい人は末尾までスクロールしてくれ。ちなみに今これを書いている時点でカメラを箱から出していない。旅行までに練習する時間があるだろうか…。というか旅行の準備なにもしてない…。 やりたいこと 旅先で写真やムービーを撮りたい 日常でカメラを持ち歩いて、面白い構図とか撮りたい。 いい感じにボケてる写真と

    カメラ初心者がカメラ沼に入ってみた。(長文) - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2019/08/17
    ミラーレスカメラを買うまでに調べたことの記録です。
  • gorilla/csrf で安全なWebフォームを作る - 小野マトペの納豆ペペロンチーノ日記

    こんにちは。GoでWeb開発していますか?私はしていません。Goに限らず、既成のWebアプリケーションフレームワークを使わずに自前でWebフォームを作る場合、なにも考えずに書くと CSRF (Cross Site Request Forgery) 脆弱性を作りこみ、不正なユーザー操作を実行されてしまう可能性があります。 ダメな例 例えば以下のGoコードで作成されるフォームにはCSRF脆弱性があります。SubmitSignupForm ハンドラは、受け取ったリクエストが自分のサイト上のフォームからサブミットされたものかチェックしていないので、攻撃者が他のサイト上のフォームを使い、第三者のユーザーのブラウザで任意の操作を実行させることができてしまいます。 func main() { r := mux.NewRouter() r.HandleFunc("/signup", ShowSignupF

    gorilla/csrf で安全なWebフォームを作る - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2019/06/05
    書きました。
  • 外付け(として使う)SSDって今何買えばいいのか調べたメモ - 小野マトペの納豆ペペロンチーノ日記

    昨日の記事で言ったようにうっかりSSD+ケースを買ってしまったのだが、最近はUSB3.1 Gen2もThunderbolt3も普及してきてデータ転送帯域がどんどん広がっているし、m.2?NVMe?とかもなんかちっちゃくてかっこいいし、SSDも価格爆下がり中って聞くし、「最近の外付けSSDはどうなの?」みたいなところをちょっと調べてみた。買ってから調べるという。容量は1TBを前提に調べた。 外付けSSDについての調査だが、単品のSSDにケースを調達して外付けSSDに自作する、ということを選択肢に入れて調べたのでほとんど内蔵SSDについてです。あとNANDとかTLCとかには触れません。 まず、SSDの製品を分類するには、サイズ規格とインターフェイスに注目する必要がある。 サイズ規格は以下のふたつがある。 2.5インチ HDD時代にお馴染みの、2.5インチのフォームファクタ規格。 対応しているイ

    外付け(として使う)SSDって今何買えばいいのか調べたメモ - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2019/05/03
    パソコンのブログを書きました。
  • 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— 小野マトペ (@ono_matope) 2018年10月9日 今まで使っていた2013モデルでは性能重視で15インチを使用していましたが、今年のモデルはCPUのコア数が増え、13インチでも去年の15インチよりも高いCPUパフォーマンスが出るということだったので、モビリティのために13インチをチョイス。やっぱりノートパソコンは持ち運んでなんぼですね。軽くて最高。 japanese.engadget.com 13インチを購入するにあたって最後まで躊躇した要素はグラフィック性

    MacBook Pro 2018 13" + Intel NUC Bean Canyon + eGPU で Mac/Win グラボ共有環境を構築した話 - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2019/01/20
    パソコンのブログを書きました。
  • 部屋の本棚をIKEAのBillyにした話 - 小野マトペの納豆ペペロンチーノ日記

    今の部屋には、引っ越す前から育てている無印のパルプボードボックスを利用した棚があるのだけど、じわじわと紙のが増えて、そろそろが溢れるようになってきた。このままパルプボードを増設していってもよかったが、この製品は仕様上は5段までしか重ねられず、壁の上部が有効利用できない問題があったため、ここはひとつ背の高い棚を導入し、棚の設置面積を圧縮して部屋をより広く使うことにした。ゆくゆくはソファを置くなどもしたい。 before: 無印のパルプボードボックス 棚選び 我が家の棚としての要件は、大判の美術書から文庫版の漫画まで、効率よく収納するために可動棚をもつことと、スッキリしたデザインであることだったが、デザインについて納得できるものがなかなか見つからず、棚選びは難航していた。 無印のパルプボードボックスがそうであったように、ぼんやりした曲線を排したソリッドなかたちの棚が欲しかった

    部屋の本棚をIKEAのBillyにした話 - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2018/12/24
    家具転倒防止おじさんのスタイロフォーム対向くさびをやってみたりしたやつ
  • ざっくり理解するPaxos - 小野マトペの納豆ペペロンチーノ日記

    ゴールデンウィーク中、Appleがオープンソースとしてリリースした分散データベース FoundationDB のドキュメントを読んでいました。なかなか面白いデータベースだと思うのでこれについては別途書きたいですが、それはそれとしてFoundationDBでは、分散環境下でACIDトランザクションを実現するために、分散合意プロトコルとして有名なPaxosを採用しているようでした。 PaxosはGoogleのChubbyやCassandraのLight Weight Transactionなどで使われていますが、僕はいまだにPaxosがどのように動作するのかあまりよく分かっていませんでした。良い機会だと思い、FoundationDB技術を理解するためにも連休の後半でLeslie LamportによるPaxosの論文の一つ Paxos Made Simple を読み、何となくわかった気持ちにな

    ざっくり理解するPaxos - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2018/05/13
    ブログを書きました。
  • GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記

    正月で時間があったので、以前から触ってみたかったgRPCGo言語から使い、キー・バリュー・ストアのようなものを作ってみた。 KVSといっても、GomapへのGet/Put/Delete/ScanをgRPC経由で叩けるようにしただけのもの。それだけだとあまり面白く無いので、gRPCらしく、Watch機能をつけてmapへの更新を監視できるようにした。 github.com 個人的には、HTTP/1.1 + JSON APIと比べた時のgRPC(HTTP/2 + ProtoBuf)のメリットや違いが気になっていたので、そのあたりを気をつけながら書いた。 開発の手順 サービス定義 まずはProtocol Buffers 3でKVSのサービスを定義する。サンプルを見ながら適当に書いた。 grpc-kvs/grpc-kvs.proto at master · matope/grpc-kvs · G

    GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2016/01/05
    書きました
  • RFC的に、HTTPヘッダってどんな値を使えるんでしたっけ?のメモ - 小野マトペの納豆ペペロンチーノ日記

    Web APIを開発していると、HTTPのヘッダについてRFCにおける規約を確認しなきゃいけない場面がたまにあるので、今回調べたことをまとめた。 HTTP/1.1のRFC HTTP/1.1のRFCといえば、長らくRFC2616であったが、2014年にRFC7230〜7239が発行され、2616は廃止された。 RFC2616 ハイパーテキスト転送プロトコル -- HTTP/1.1 RFC7230〜RFC2739 HTTP/1.1 — RFC 7230 〜 7235 — 日語訳 両者の変更点については、RFC 723xの付録に記述されているので参照のこと。Content-MD5が廃止されたり、ちょいちょい面白い。文章としても723xの方が分かりやすくなっているので、一度目を通しておくことをお勧めする。 HTTP/1.1 が更新された | The Long Wait あたらしいHTTPの話をし

    RFC的に、HTTPヘッダってどんな値を使えるんでしたっけ?のメモ - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2015/08/01
    書いた。
  • Goのflagでダブルダッシュ(--hoge)なフラグを許可する - 小野マトペの納豆ペペロンチーノ日記

    goのflag、”-hoge”だけじゃなくて”--hoge”を許してくれるだけで悩みの95%くらい解決するのになー…— Daisuke Maki (@lestrrat) 2014, 10月 21 これのためだけに別ライブラリをgo getするの若干抵抗ある— Daisuke Maki (@lestrrat) 2014, 10月 21 それヘルパー関数書くだけで出来ますよ! と言う訳で書いた double-dash hyphen この実装が実現するのは "-hoge" と "--hoge"を変数hoge *stringに受け取れる "-str"と"--str"を変数str stringに受け取れる UsageはflagのデフォルトFlagSetのものを使っているので、ダブルダッシュ版のFlagはUsageに出てこない ./flag2 -h Usage of ./flag2: -hoge="d

    Goのflagでダブルダッシュ(--hoge)なフラグを許可する - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/10/21
    今朝書きました
  • GoのHTTPサーバーを80番や443番ポートでListenする方法を調べた - 小野マトペの納豆ペペロンチーノ日記

    1024以下の番号のポートでサーバーをListenするには、rootで実行する必要がある。それはもちろん嫌なので、GoのWebサーバーを80番ポートでサービスするためにどういう方法があるのか調べた。 root権限で起動してListenしてからSetuidで権限降格 最初はroot権限で起動して、80番ポートをListenしてからsetuidで権限降格するやりかた。 Node.jsでもそんな感じだったし、まあそういう感じだろうと当たりをつけて調べたら、どうもLinuxではうまくいかないらしい。 コメント欄でのid:methaneさんの指摘によると、Linuxのsetuidシステムコールは、実行したスレッドにしか効力が無い。Goは自動的に複数スレッドに分散されるので、権限降格されないまま実行されるGoroutineが出てくる事になり、望ましくない。さらにGo 1.4ではLinuxでのSetui

    GoのHTTPサーバーを80番や443番ポートでListenする方法を調べた - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/09/28
    地味に面倒だった
  • Golangで関数をグローバル変数に代入してテスト時にスタブする - 小野マトペの納豆ペペロンチーノ日記

    こんにちは、小野マトペです。タイトル全部です。 昨日、現在時刻によって条件分岐するロジックを含むGoプログラムを書いていて、どうテストするか困ったのですが、うまい(と思う)やり方を思いついたのでここに書いておきます。 書いていたのはまあだいたいこういうソースコードです。 // main.go package main import ( "fmt" "time" ) func main() { fmt.Println(Greet("マトペ")) } func Greet(n string) string { t := time.Now() if 6 <= t.Hour() && t.Hour() <= 18 { return fmt.Sprintf("こんにちは%sさん。今は%d時ですよ!", n, t.Hour()) } else { return fmt.Sprintf("こんばんは%s

    Golangで関数をグローバル変数に代入してテスト時にスタブする - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/08/14
    書いた
  • Go Concurrency Patterns: Context[翻訳] - 小野マトペの納豆ペペロンチーノ日記

    7月29日付けのgolang.orgブログエントリーで context というパッケージが紹介されました。 Go Concurrency Patterns: Context - The Go Blog 参考: Go言語のcontextパッケージについてのやりとり - ワザノバ | wazanova 今現在、業務でGo言語を使ったWebサービスを書いているのですが、contextはリクエストのキャンセルとタイムアウトとリクエストスコープの変数を扱う、Google社内で利用が標準化されているパッケージだという事なので、エントリーを翻訳しました。 以下和訳。 Introduction Goサーバーでは、入ってくる各リクエストは専用のgoroutineで処理されます。リクエストハンドラは、データベースやRPCサーバーにアクセスするためにしばしば追加のゴルーチンを開始します。リクエスト上のゴルーチン

    Go Concurrency Patterns: Context[翻訳] - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/08/01
    訳した
  • Patterns of Enterprise Application Architecture読書メモ(データソース編) - 小野マトペの納豆ペペロンチーノ日記

    Martin FowlerのPatterns of Enterprise Application ArchitectureすなわちPoEAA、何年か前に原著をKindleで買って読もうとして序盤で挫折していた。最近またデータソースアーキテクチャについて翻訳版と原著を合わせて読んでいるので、整理のためメモを残しておく。 パターン 書で紹介されるパターンはアプリケーションアーキテクチャから通貨の値オブジェクトまで、粒度もレイヤーも様々。今回はデータソースアーキテクチャパターンを理解するのに必要な箇所だけ調べた。 ドメインロジックパターン トランザクションスクリプト ほとんど構造化されてない書き下しなロジックのこと。ちょろいスクリプトならこれでもいいけど、ちょっと複雑になるとすぐに破綻する。 ドメインモデル 業務上の概念をオブジェクト化して、それらを組み合わせて複雑なロジックを構成する。データ

    Patterns of Enterprise Application Architecture読書メモ(データソース編) - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/05/13
    ブログ書いた
  • Golangでの文字列・数値変換 - 小野マトペの納豆ペペロンチーノ日記

    覚えられなくて使うたびにググってしまうので、以後楽をするためにスニペットを記す。 パッケージ strconvパッケージを使う。 文字列 → 数値変換(パース) func Atoi(s string) (i int, err error) 文字列を10進数のint型にパースする。ParseInt(s, 10, 0)の省略形。 var i int i, _ = strconv.Atoi("255") fmt.Println(i) // => 255 func ParseBool(str string) (value bool, err error) 文字列をbool型にパースする。 var b bool b, _ = strconv.ParseBool("true") fmt.Println(b) // => true 受け付ける値は1, t, T, TRUE, true, True, 0,

    Golangでの文字列・数値変換 - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/04/22
    書いた
  • Go言語のコマンドライン引数の使い方(サブコマンド等) - 小野マトペの納豆ペペロンチーノ日記

    go言語でのコマンドライン引数の使い方でやや混乱したのでまとめる。 まとめること flagの仕様 flagでgit push -fのようにオプション引数より前に非オプションの引数を置く方法・サブコマンドの例 go-flagパッケージのサブコマンドを試す flagの仕様 Golang標準のflagパッケージは以下のように使う。 package main import ( "flag" "fmt" "os" ) func main() { // -hオプション用文言 flag.Usage = func() { fmt.Fprintf(os.Stderr, ` Usage of %s: %s [OPTIONS] ARGS... Options\n`, os.Args[0],os.Args[0]) flag.PrintDefaults() } var ( opt1 = flag.String("o

    Go言語のコマンドライン引数の使い方(サブコマンド等) - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/03/10
    今朝書いたやつかなりごちゃごちゃしてたので整理した
  • tus - Resumable File Uploads - 小野マトペの納豆ペペロンチーノ日記

    Resumable File Uploads tusというHTTP/1.1上で再開可能なファイルアップロードの規格を策定するプロジェクトを見つけた。2013年4月に始まった取り組みで、リファレンス実装が多い。提案されているプロトコルでのアップロードの流れをメモする(v0.2.1準拠) 初期化(File Creation) 空のPOSTリクエストでファイルを作成する。Entity-Length ヘッダはファイル全体の長さを表す。 リクエスト POST /files HTTP/1.1 Host: tus.example.org Content-Length: 0 Entity-Length: 100 レスポンス 新規に作成されたリソースのURIがLocationに乗って201が返ってくる。 HTTP/1.1 201 Created Location: http://tus.example.or

    tus - Resumable File Uploads - 小野マトペの納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2014/02/28
    書いた
  • (翻訳) Trelloは何が違うのか by Joel Spolsky - 納豆ペペロンチーノ日記

    最近、rebuild.fm で紹介されていたタスク管理ツールのTrelloを試しに使ってみたんですが、個人的にかなりヒットでした。このTrello、Joel on Softwareで有名なJoel Spolsky氏のサービスだと知って驚いたんですが、氏のTrelloに関するブログエントリーが興味深かったので、著者の許諾を得て翻訳します。 原文:How Trello is different - Joel on Software Trelloは何が違うのか(How Trello is different) 2012年1月6日 金曜日 つい数ヶ月前、私たちは非常にシンプルなWebベースのチーム・コラボレーション・システムのTrelloをローンチした。まだ始まったばかりの1.0状態だというのに、フィードバックは圧倒的に好感触で、採用の勢いは非常に力強い。 Fog Creekにとって、Trello

    (翻訳) Trelloは何が違うのか by Joel Spolsky - 納豆ペペロンチーノ日記
    ono_matope
    ono_matope 2013/12/04
    ブログを書きました。