2019-11 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2019-11-17 (日)

3ヶ月間、総務省の家計調査に協力していた [Life]

今年の8月から10月の3ヶ月間、総務省の家計調査に協力していました。

Wikipedia - 家計調査 によると、

日本国内の家計の支出を通じて個人消費を捉えることができる統計。2002年からは貯蓄・負債についても調査されるようになっており、調査結果は家計収支編と貯蓄・負債編に分けて発表されている。


とのこと。2018年の餃子消費量1位は浜松市とかのアレも、家計調査の結果らしいです。https://www.e-stat.go.jp/ から誰でも利用できるようです。

はじまり


6月終わり頃のある日、突然のピンポンがはじまりでした。話を聞くと総務省から委託された調査員の方で、真面目そうなメガネを掛けたおばさまでした。年齢は60前後と推察しました。対象世帯は無作為に選ばれるらしいです。

私は10年以上家計簿をつけているし(現在はマネーフォワードを利用)、国勢調査みたいなものでしょと軽く考えていたのが想定外のはじまり。

その日はなぜか詳しい説明はなく、後日説明に再訪されることになりました。

※ 家計調査は訪問を介したコミュニケーションが多いです。オンラインを中心としたコミュニケーションが当たり前になっていると結構重いです。

続きを読む

2019-10-28 (月)

『Clean Architecture』を読んだ [Book]



一章一章は短いものの、全部で 34 章もあったので、読み終えるのに一ヶ月ほどもかけてしまった(付録は飛ばした)。

コードが出てきた記憶はなく、依存関係を表す図が多かった印象。

決して初心者向けの本ではなく、『オブジェクト指向設計実践ガイド』[2016-09-22-1] [2017-11-01-1] 程度を理解できる程度のスキルは必要だと思う。逆に言うと、『オブジェクト指向設計実践ガイド』の次に読む本としては良い。

そういう自分も、半分くらいはあまりピンと来ずに読んでいた記憶。

一方で一番自分にが価値があったのは「SOLID原則」のまとめのあたりかな。以下 5 つの原則の頭文字を取ったもの。

・単一責任の原則(SRP : Single Responsibility Principle)
・オープン・クローズドの原則(OCP : Open-Closed Principle)
・リスコフの置換原則(LSP : Liskov Substitution Principle)
・インターフェイス分離の原則(ISP : Interface Segregation Principle)
・依存関係逆転の原則(DIP : Dependency Inversion Principle)

業務に取り入れられる設計はあったので、良きタイミングで取り入れていきたい。

時間をおいてまた読み返そう。

2019-10-10 (木)

terraform-provider-healthchecksio を Terraform Plugin SDK に移行した [Terraform]

今まで terraform provider のビルドには、terraform 自体をライブラリとして要求されました。今後は terraform-plugin-sdk を使います。

この PR で移行しました。
Migrate over to new terraform SDK by masutaka · Pull Request #16 · kristofferahl/terraform-provider-healthchecksio

https://healthchecks.io はバッチが時間通りに動いたかの監視で重宝しています。

仕事で使っている terraform-provider-heroku の v2.2.1 で知りました。

9/26 にアナウンスがあったのかな? 知らなかった。



続きを読む

2019-09-20 (金)

本番環境で heroku run する時の tips [Heroku]

※ 会社の esa.io に投稿した記事の転載です。

本番環境で DB の値を書き換えるために、rails runner や rails console を使うことがある。bash もあるかもしれない。

$ heroku run rails r scripts/important.rb -a <App Name>
# or
$ heroku run rails c -a <App Name>



heroku run のログは現在の端末だけにしか出力されない。アプリのログには出力されないため、LogDNA や Papertrail などにも記録されない。

現在の端末を閉じてしまうと、ログが消失するため十分注意すること。

回避方法


↓ 以下のような非対話型コマンドであれば、run:detached サブコマンドを使うことで、LogDNA などに送ることが出来る。ただし、現在の端末には出力されない。

・rails runner
・ls

↓ 対話型コマンドは今回の方法は使えない。他の回避方法があるかは不明。

・rails console
・bash

続きを読む

2019-08-16 (金)

『改訂2版 みんなのGo言語』を読んだ [golang][Book]



夏休みを利用して読みました。初版は [2016-09-25-1] でじっくり読んで手も動かしたので、本当にさらっとね。

最近は Go のコードをほとんど書いてなくて、Go Modules に追いついている程度でした。ただ、それほど分からない情報もなかったので、ある意味答え合わせにはなった気がします。

例えば拙作の github-nippougo-bindata から statik に乗り換えたのは、誤りでなかったなとか(P41)。

ちょうど設定ファイルのフォーマットをどうしようとか、置き場所を XDG Base Directory Specification に合わせようとか考えていたので、「2.8 設定ファイルの取り扱い(P45)」もタイムリーでした。

読んでて Interface 使ってコードを Testable にするだとか、HTTP Mock とか、課題をいろいろ思い出しました...。

相変わらずサラッと知識をアップデート出来るので、Go に興味ある人にはオススメの一冊です。

2019-08-13 (火)

『カード決済業務のすべて』を読んだ [Book]



業務でクレジットカード機能を実装した職場の同僚氏曰く、(確か)「始めはピンと来なかったけど、あとで必要なことが全部書いてあると気づいた」とのこと。私は実装には関わってないけど、目線を合わせるために読んだ。

全部を理解しようとせず、概要だけ理解するつもりで読んだ。幸いにもコンパクトに 157 ページにまとまっていたので、気合を入れたら一日で読めた。もちろんピンと来てなくて、1/3 も怪しいかなといったところ。

オーソリゼーション(オーソリ)の実装は必須でそれが通ったら、クリアリング(売り上げ処理)が行われ、最後にセツルメントで加盟店に利用代金が支払われる。
とか、そんな程度。

第1章「決済カード業務の概要と実務」でいきなりつまづいた。

全体的に説明が分かりづらい。対象が初心者向けなのに具体例が少なく、想像しづらいためだと思う。一方で途中のコラムは具体例多めで、理解しやすかった。

続きを読む

『実行力 結果を出す「仕組み」の作りかた』を読んだ [Book]



職場の同僚氏がオススメしていたので、少し前に読んだ。

私は小さなグループでリーダーシップを発揮した経験はあるが、さすがに何万人もの組織での経験はないため、なかなか興味深かった。反対陣営の筆頭を側近にして、エッジの効いた政策をより良いものに落とし込むエピソードは、なかなか出来るものではない。そもそも会社だとそこまで敵対関係になることはあり得ないし。

他に、比較優位の思考は即仕事で使えるというか、会社でしれっと紹介した。

続きを読む

2019-08-05 (月)

Heroku Logging Add-on Papertrail と LogDNA の比較

Papertrail


Free プランでも S3 にアーカイブ可能。しかもアーカイブパスは Athena のパーティション形式で、アップロードは 1 時間に 1 回という高頻度(※)。

※ 例えばアーカイブ先を s3://example-logs/ にした場合、以下の形式でアップロードされる。

s3://example-logs/dt=2019-08-01/2019-08-01-00.tsv.gz
s3://example-logs/dt=2019-08-01/2019-08-01-01.tsv.gz
s3://example-logs/dt=2019-08-01/...
s3://example-logs/dt=2019-08-01/2019-08-01-23.tsv.gz
s3://example-logs/dt=2019-08-02/2019-08-02-00.tsv.gz
s3://example-logs/dt=2019-08-02/2019-08-02-01.tsv.gz
s3://example-logs/dt=2019-08-02/...
s3://example-logs/dt=2019-08-02/2019-08-02-23.tsv.gz

Athena で Table を作るときに PARTITIONED BY ( dt string ) を付与してパーティションを有効にすれば、where dt = '2019-08-02' などで絞り込みができる。当該パーティション以外はロードされないので、高速かつ料金も抑えられる。

続きを読む

2019-11 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

最終更新時間: 2019-11-21 00:05 JST

検索


最近の話題
- 2019-11-17
  3ヶ月間、総務省の家計調査に協力していた
- 2019-10-28
  『Clean Architecture』を読んだ
- 2019-10-10
  terraform-provider-healthchecksio を Terraform Plugin SDK に移行した
- 2019-09-20
  本番環境で heroku run する時の tips
- 2019-08-16
  『改訂2版 みんなのGo言語』を読んだ
- 2019-08-13
  『カード決済業務のすべて』を読んだ
  『実行力 結果を出す「仕組み」の作りかた』を読んだ
- 2019-08-05
  Heroku Logging Add-on Papertrail と LogDNA の比較
最近追記された記事
- 2019-02-11-1 (59日前)
- 2019-02-03-1 (59日前)
- 2019-01-28-1 (59日前)
- 2019-02-03-1 (101日前)
- 2018-11-28-1 (115日前)
- 2019-05-07-1 (195日前)
- 2018-04-30-1 (210日前)
- 2018-01-28-1 (222日前)
- 2019-02-11-1 (282日前)
- 2019-01-20-1 (300日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (23)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (4)
- Book (107)
- Boxen (2)
- Bugsnag (1)
- capistrano (4)
- chalow (57)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- clang (26)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (4)
- E-mail (9)
- elasticsearch (4)
- Emacs (223)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (2)
- Game (21)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (23)
- golang (11)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (6)
- Heroku (20)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPad (1)
- iPhone (17)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (24)
- Linux (7)
- Mackerel (1)
- macOS (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (2)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (13)
- Rake (2)
- RaspberryPi (2)
- Redash (1)
- RedHat (29)
- Redmine (3)
- RSpec (2)
- Ruby (52)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Terraform (2)
- Twitter (15)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (26)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (17)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12