taiyoh's memorandum

@ttaiyoh が、技術ネタで気づいたことを書き溜めておきます。

ベース用ラインセレクターを自作したお話

去年暮れに某オクで買ったアップライトベースと、以前から持ってるエレクトリックベースをステージ中に簡単に切り替えたいというニーズが僕にありまして。 それならABYボックスや2ch入力に対応したプリアンプを買えばいいのですが、 練習時、音を出しながら…

goのdriver.DriverでAWS X-RayによるTracingとSQL Commentを両立させる

aws-xray-sdk-go の xray.SQLContext を利用することで、 AWS X-Ray のtracingにSQLを発行した際のセグメントを載せることができます。 発行したSQL文はセグメントの SQL タブから確認することができます。ただもうちょっと欲張って、実行箇所をSQL Comment…

S2 Geometryライブラリで遊んでみる

このエントリはSmartDrive Advent Calendar 2019の一環です。 Googleが2017年に出したS2というジオメトリ系のライブラリがあり、それのGo実装があるので遊んでみました。 ライブラリの公式サイト s2geometry.io Go言語での実装 github.com ジオメトリライブ…

git tagを活用してリリース工程を簡略化する

このエントリは、SmartDrive Advent Calendar 2019の一環です。今回は僕がメインで担当しているプラットフォームプロダクトでのリリース周りについてお話していきます。 僕が入社して一年以上経ちますが、リリースに伴うフローは以下のようになっていました…

「7つの習慣」読了

完訳 7つの習慣 人格主義の回復作者: スティーブン・R・コヴィー,フランクリン・コヴィー・ジャパン出版社/メーカー: キングベアー出版発売日: 2013/08/30メディア: ハードカバーこの商品を含むブログ (9件) を見る 何年も前から存在は知ってたけどなんとな…

このGW中に読んだ本

このGW中は、なんか「チーム」というのがキーワードになってたように思う。 最近特に、個人で取り組むことにある種の現界や物悲しさを感じるようになってきて、自分の意識や取り組み方を(先ずは)少数の集団構成である「チーム」にどうやって押し広げていっ…

育休をもらっていました

2/13に娘が産まれ、翌週から1ヶ月育休をいただいていました。 控えめに言って、娘がめっちゃかわいい。よく泣き、よく眠り、よくミルクを飲み、日々少しずつ成長しているのを感じます。 SmartDriveというベンチャーに入社して半年も経ってないですが、育休…

DDDとClean Architectureの対応関係について

まず何より、DDDとClean Architectureそれぞれの指向性の違いを把握しておいた方がいいと思う。 DDDはアプリケーション層(Clean Architectureでいう「UseCase層」)の内部、つまりドメイン層の表現を豊かにするための手法だと僕は捉えている。ドメイン層の…

自作キーボードとDvorakと私

この記事はSmartDrive社員が綴るアドベントカレンダー「SmartDrive Advent Calendar 2018」の13日目の記事となります。 qiita.com Agenda きっかけは転職から Ergo42を組んだ Dvorak配列へ きっかけは転職から 9月1日付けで株式会社スマートドライブに入社し…

2018年を振り返る

この記事はカヤックOBが綴るアドベントカレンダー「ex-KAYAC Advent Calendar 2018」の11日目の記事となります。 qiita.com この一年何してたか Lobi Tournament @ KAYAC(〜7月) IoT device platform @ SmartDrive(9月〜) 本記事は技術エントリではなく…

Ergo42が遂に組みあがりました

承前↓ taiyoh.hatenablog.com 問題点の絞り込みと対処法について twitterに細かく情報をのっけて行く形だとちょっとあれだな、と思ったので、一旦ブログに現状をまとめてみたところ、作者のBiaccoさんに読んでいただくことができました。 読んでいただきあり…

Ergo42を組み立てています(そしてどうやら失敗しています)

[追記 2018-07-27] 組みあがりました taiyoh.hatenablog.com [/追記] 最近突如として自作キーボードに興味が出てきて、電子工作のスキルなんて全然ないのに道具を揃えてErgo42を組み立ててみることにしました。 (作者のBiacco42さん、ありがとうございます…

Docker for Windows 18.03で/var/run/docker.sockがマウントできなくなってた

すでにGitHubの方にはissueが上がっていた github.com 事前に COMPOSE_CONVERT_WINDOWS_PATHS=1 の環境変数を仕込んでおく必要があるらしい。 PowerShellの場合: $Env:COMPOSE_CONVERT_WINDOWS_PATHS=1 Cygwin等の場合: export COMPOSE_CONVERT_WINDOWS_PA…

sqsdの最近のアップデートについて

以前「作った」と書いたsqsdについて↓ taiyoh.hatenablog.com 最近これのバージョンアップを頻繁に行っている。 Release v0.0.4 · taiyoh/sqsd · GitHub v0.0.3~v0.0.4の差分 社内のgoの達人方にレビューしてもらい、channel capacityを導入したところコー…

「エンジニアリング組織論への招待」を読んだ

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング作者: 広木大地出版社/メーカー: 技術評論社発売日: 2018/02/22メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る とにかく解り易かった。「不確実性に向…

「GraphQL over WebSocket Protocol」という仕組みが提案されてるらしい

というのをたまたま調べものをしてる時に見つけた。 github.com (以下このプロトコルは GoWP と書きます) GoWPだとどのクエリでもWebSocket通信上でできるように、ということが想定されているが、何より主眼に置かれてるのはsubscriptionへの対応ではない…

GraphQLのMutationのビジネスロジックのエラーはどうハンドリングすればいいのか

最近調査していた内容のメモ。 GraphQLのJSONレスポンスは data と errors の2つのキーに内容が大別される。 基本的に、期待するレスポンスが返せないときは errors にエラー内容が入るというのがGraphQLでやろうとしていることだが、特にMutationにおけるビ…

Perl版GraphQLライブラリにおけるresolverの定義方法(修正版)

承前↓ taiyoh.hatenablog.com これについて、自分がライブラリの実装方法について大きな誤解をしていたのでここに訂正させていただきます。 開発環境にGraphiQLを導入しようとしてinspectがうまくいかず、 原因の調査していたところ、どうやらresolverの定義…

今年買って読んだ(途中も含む)本

amazonの購入履歴のうち、書籍の購入履歴の一部を抜粋。 仕事に直接絡むところだとこんな感じ 実践ドメイン駆動設計作者: ヴァーン・ヴァーノン出版社/メーカー: 翔泳社発売日: 2015/03/19メディア: Kindle版この商品を含むブログ (2件) を見る ユースケース…

GraphQLのresolverの登録方法についての一例(Perlの場合)

<2018-01-14追記> 本エントリはライブラリの使用方法について僕が大きな誤解をしています。修正版については以下を参照ください。 taiyoh.hatenablog.com <2018-01-14追記終わり> 所属プロジェクトでは一部のAPIリクエストにGraphQLを採用していて、最近…

Elastic Beanstalkのsqsdの劣化コピーみたいなのを書いてみた

github.com そろそろいい加減golangはちゃんと勉強しないとと思っていたところ、たまたまElastic Beanstalkのsqsdの話を見つけた。 本家のsqsdはちょっと探してみる限りossとして公開されてるものがなさそうだったのと、課題としてそんなに大きすぎない規模…

最近、自分の関わっているサービスをDDDで再設計してるというお話

タイトル以上の意味はない、ただの経験談。 きっかけは半年前、自分の担当するサービスのprを後輩にレビューしてもらったとき、彼から「何書いてあるか分からないですね」と言われたことからだった。 彼が事あるごとに言ってた「ドメイン駆動設計」について…

golangでBME280から情報を吸い出してよしなにする

相変わらず、goではなるべくニッチそうなlow layerなところを攻めております。 go用のI2C周りのライブラリはいくつかありますが、embdが割と素直な印象で、 実は先日BMP180というチップも買って、こちらであっさりと動かせるということを確認していました。B…

電力モニター「はやわかり」に記録されているデータをgoで吸いだしてmackerelに送ってみる

承前↓ taiyoh.hatenablog.com ついに前回のエントリの「hogehogeする」の中身が決まりました。 2年間完全に塩漬けにしてましたが、ふと思い立ったのでやることに。 当時吸い出す部分まで作って止めていたのは2つ理由があって、 amd64->armのクロスコンパイ…

ubuntu版chromeでpulseaudioが落ちた時の対処

もう一度音が出るようにするには、現状、以下の2ステップを踏む $ pulseaudio --startでpulseaudioを起動し直す chromeを親プロセスから再起動する(単にウィンドウを閉じるのではなく、アドレスバーにchrome://restartを打ち込む) というのも、どうやらub…

iRKitを買ったお話

lirc+lirc_webのシステムを作ったのが去年の話なのですが、肝心のエアコンの信号はlircでは認識できなかったし、今年に入って例のブレッドボードで組んだ回路が動かなくなったんですね。そもそもブレッドボードはそんな長く使うものじゃない筈なんですが。。…

Macじゃない環境でもIRCで流れてくる画像を表示したい人生だった

Mac版LimeChatのサムネイル表示機能が羨ましすぎるのですが、今使ってるマシンがUbuntuだったりして、悲しみが募っていたわけです(Macに変えればいいじゃん、というのは根本的すぎるのでスルーします)。そんな悲しみを紛らわすためにずっとIRCツールを探し…

radikoで聞ける番組をcronで録音したくなったので

作った → taiyoh/p5-radiko · GitHub rtmpdump、swftools、ffmpegがないと動きません。あとPerl側の依存モジュールはFurlとMIME::Base64、Class::Accessor::Lite::Lazyくらいか。 → 簡易Radiko録音ツール。要swftools/rtmpdump/libxml/wget/ffmpeg/lame こち…

電力モニター「はやわかり」に記録されているデータをgoで吸いだしてhogehogeする

数年前にイギリスから発売された製品に「OWL+USB」というのがあります。ブレーカーから延びてるケーブルに同梱されている送信機についたクリップを取り付け、それを無線で飛ばして受信機で受け取った後、表示・記録する、というものです。各国対応版となって…

cgoでのバイト列の受け渡し・受け取りについて

(今年、まだ更新するネタがあったぞ) 先週末くらいからGoをちょっと触り始めました。まだ始めて通算3日目くらいなんですが、なぜか色々すっ飛ばしてcgoなんてやっております。。。どうぞお手柔らかにお願いします。 諸事情あって、Goで定義したバイト列を…