読者です 読者をやめる 読者になる 読者になる

今日はこのへんで

エンジニアです。雑記がメインですがたまにプログラミング、スタートアップなどについて書く予定です。

HerokuをRailsアプリの本番環境として使う

Herokuというのは今さらだけれども、最近、本番環境をHerokuでセットアップする機会があったのでメモを残しておく。前提としてはRailsで作られたWebアプリケーションで、まだほとんどユーザがいないけど本番環境としてある程度まともにセットアップできているレベルを目指したもの。

Herokuインスタンスの無料の範囲

Herokuのインスタンスは、毎月少なくとも550時間は無料で使える。なんだけど、この無料インスタンスは30分間トラフィックがない場合自動的にシャットダウン(スリープ)してしまうため、本番環境としては使えない。なので基本的には $7/month の Hobby Dyno 以上のプランを利用して運用する必要がある。

If an app has a web dyno, and that web dyno receives no traffic in a 30 minute period, the web dyno will sleep. In addition to the web dyno sleeping, the worker dyno (if present) will also sleep.

https://devcenter.heroku.com/articles/free-dyno-hours

Herokuインスタンス(Dyno)で気をつけるべき仕様

有料プランであっても、Herokuのインスタンスは約1日のサイクルで勝手に再起動する。開発者側ではこのタイミングをどうにかすることはできない。特にアプリ側で長い処理を行う場合には、トランザクションに気をつける必要がある。

Dynos are also restarted (cycled) at least once per day to help maintain the health of applications running on Heroku. Any changes to the local filesystem will be deleted. The cycling happens once every 24 hours (plus up to 216 random minutes, to prevent every dyno for an application from restarting at the same time).

https://devcenter.heroku.com/articles/dynos

また、Herokuインスタンスでは、インスタンス内にファイルを保持しておく方法がない。Restart の度に全てのファイルは削除されるので、ファイルのアップロードなどで永続化するファイルはS3かどこかに保存する必要がある。

Each dyno gets its own ephemeral filesystem, with a fresh copy of the most recently deployed code. During the dyno’s lifetime its running processes can use the filesystem as a temporary scratchpad, but no files that are written are visible to processes in any other dyno and any files written will be discarded the moment the dyno is stopped or restarted.

https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem

Heroku のインスタンスはDB用のインスタンスも含めて、基本的にプライベートなネットワーク内に置くことができない。( Heroku Private Spaces) という機能があるが、Heroku Enterpriseのみにしか提供されていない。)

なので、個人情報保護の問題で、DBなどをネットワーク的に隔離したい場合には、気軽に Heroku を使うことができない。そうしたい場合は素直にAWSでVPCを構成しましょう。

あと、現在Herokuインスタンスを立ち上げる際にサポートされるRegionはUSとEUの2つしかなく、インスタンスをTokyoに立ち上げることはできない。レイテンシは気にしないようにしましょう。

Two regions are available, US and EU. Each dyno is secured with strong firewall rules so even though all dynos run in a single, flat network, they are strongly isolated from each other.

https://devcenter.heroku.com/articles/dyno-runtime#common-runtime

各種モニタリングツールの活用

Heroku の良いところの一つに、色々な有料モニタリングツールがアドオンとして無料で使えるところがある。

有名どころとしては以下のようなものがあるので設定しておくと良い。

個人的なおすすめはAirbrakeとPapertrail。他にもDeploy HooksでSlackに通知したりするのも便利だし、Herokuダッシュボードのメトリクスツールもよくできている。

HTTPS化とLet’s Encrypt

今ではHerokuで運用しているサービスも自動でrenewされるLet’s EncryptでHTTPS化できる。もちろんLet’s Encryptでなくても自分で買った証明書を設定することも可能。

HerokuでのLet’s Encryptの設定は以下に詳しい。

https://devcenter.heroku.com/articles/automated-certificate-management

なんだけど、Heorkuで設定されるドメイン(*.herokussl.com)をCNAMEでトップレベルドメインに割り当てることができないので注意が必要。

Configuring your DNS provider for a root domain is similar to configuring a DNS provider for a subdomain. However, whereas with subdomains the type of record to configure is always a CNAME, with root domains the type of record depends on the DNS provider:

https://devcenter.heroku.com/articles/custom-domains#add-a-custom-root-domain

これはRFC1912で規定されているのでしょうがない。DNSプロバイダによってはALIASやANAMEといった代替手法が使える場合もある。個人的には結局AWSのCloudFrontをかませてAWS側でHTTPS化した。

CI を使ってデプロイする

Herokuへのデプロイは、Gitを利用してHeroku上のリポジトリにpushすることで簡単に行うことができる。もう少しまともにやろうと思ったら、CIなどでテストが通ったときにデプロイしたいけど、これも難しくない。

Circle CIでは、Herokuとインテグレーションがされていて、HerokuのAPI Keyを登録して circle.yml に以下のように追記するとCIからデプロイできるようになる。便利。

deployment:
  production:
    branch: master
    heroku:
      appname: heroku-appname

デプロイ時のコマンドをカスタマイズするなど詳しくは以下。

https://circleci.com/docs/1.0/continuous-deployment-with-heroku/

Worker を動かす

Herokuでは、WorkerのプロセスをWeb用のインスタンスとは別に動かす必要がある。今回はActiveJobのプロバイダとして mperham/sidekiq を利用した。

基本は以下の設定のとおりにやった。 https://github.com/mperham/sidekiq/wiki/Active-Job

各種ファイルの設定は以下のような感じ。

Procfile

web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq -C config/sidekiq.yml

environments/production.rb

config.active_job.queue_adapter     = :sidekiq
config.active_job.queue_name_prefix = "myapp_#{Rails.env}"

config/sidekiq.yml

:verbose: false
:concurrency: 5
:queues:
  - myapp_production_default
  - myapp_production_mailers

yamlに処理するqueueのkey名を列挙しておかないと処理されない。またconcurencyの数とRedisの同時接続上限に気をつける。

そして、バックエンドにRedisを使う場合はもう少し設定が必要。(最初やってなくてQueueが処理されず困った)

https://github.com/mperham/sidekiq/wiki/Using-Redis

REDIS_PROVIDER環境変数をセットする必要がある。値はRedisのURLがセットされている環境変数のkey名(url自体ではない)。

heroku config:set REDIS_PROVIDER=REDISCLOUD_URL
# config/initializers/sidekiq.rb
Sidekiq.configure_server do |config|
  config.redis = { url: ENV['REDISCLOUD_URL' }
end

Sidekiq.configure_client do |config|
  config.redis = { url: ENV['REDISCLOUD_URL'] }
end

Redis プロバイダとその活用

Herokuでは、様々なRedisホスティングのプロバイダがいるのでサービスを選ぶと良い。無料枠でメモリが一番多いのが Redis Cloud っぽいので、自分はそれを使っている。

また、Heroku には Memcached のプロバイダがいないので、RailsではSessionやCacheにもRedisを使うのが楽で良い。以下のようにすれば設定可能。

# config/environments/production.rb
  config.cache_store = :redis_store, ENV['REDISCLOUD_URL'], { expires_in: 2.hours }
  config.session_store :redis_store, servers: [ENV['REDISCLOUD_URL']]

cron ではなく Heroku Scheduler

定期的なタスクを実行したい場合は、cronではなくHeroku Scheduler というアドオンを使うのが一般的。実行頻度は Daily/Hourly/Every 10min から選択することができる。

Heroku Schedulerで起動されたインスタンスはその起動時間に応じて請求が発生する(もしくは無料範囲の時間が消費される)。

また注意点として、2分以上かかるような長いJobはHeroku Schedulerのインスタンス内では実行できないので、WorkerにJobを登録するなどといった対策が必要。

Scheduled jobs are meant to execute short running tasks or enqueue longer running tasks into a background job queue. Anything that takes longer than a couple of minutes to complete should use a worker dyno to run.

https://devcenter.heroku.com/articles/scheduler


Heroku は頑張らないインフラにおすすめです。

f:id:Kechol:20170524223347p:plain

メルカリでうまく売る - 配送・トラブル対応編 -

公開するの忘れていたけど、メルカリで上手く売る -出品編- の続き。配送対応から。

配送の対応

配送の方法と料金

配送は基本的に、らくらくメルカリ便(ヤマト運輸)か、郵便局を利用するのが楽だと思う。小さくて封筒に入るようなもの(化粧品、アクセサリーや単行本など)は郵便局で送るのが安く済む。ある程度モノが大きかったり、匿名で配送したいということであればメルカリ便のヤマトで配送する。

郵便局では、定形郵便物の範囲であれば、100円以内で送ることができる。定形外でも、三辺が90cm(1辺最大60cm)かつ250g以内に収まるものであれば、250円以内で送ることができる。

ヤマトでは、3編計60cm、重量2kgまでの60サイズの品物は、関東の範囲であっても送料は756円かかる。すこし大きくなって100サイズを超えると送料も1000円を超えてきてしまうので馬鹿にできない。また、宅急便コンパクトという専用ボックスで送るサービスだと、400円程度で品物を送ることができる。

ヤマトでの配送は、コンビニに持ち込むこともできるけど、もし近くにヤマトの営業所があれば営業所に行くことをおすすめしたい。梱包が甘い場合は一緒に梱包をしてくれるし、配送票を印刷するネコピットの扱いも丁寧に教えてくれる。

梱包材の値段

今回は、梱包材についてはヤマトの営業所で売っているものを利用した。また、封筒やプチプチは近くの文具店で買うことができた。

ヤマトの営業所で売っている資材は、配送料別にサイズが最適化されている。

f:id:Kechol:20170323185127j:plain

段ボール箱だと100円以上するが、袋だと数十円で済むので、衣類などは袋で、ワレモノは箱で送るようにすると良いと思う。

自分は、送るものの大きさがよくわからないことが多かったので、箱に詰めるだけの状態の品物を営業所まで持っていき、その場で段ボールを比べて購入する、という事をしていた。ヤマトの人が毎回親切に対応してくださってありがたかった。(忙しい午前中などに行くのは迷惑だったかもしれないけど。。)

梱包時の注意点

個人の配送なのでそこまで気を遣わなくてよいが、梱包時には以下のことに注意すると良い。

  • 品物の汚れなどはアルコールなどで綺麗にしておく
  • 配送中に雨が降る場合はビニール袋にいれ、濡れるのを防ぐ
  • 精密機器やワレモノはプチプチで包んでおく
  • 余った梱包材や新聞紙などをいれて品物が段ボール内で動かないように固定する

今回は利用しなかったが、ハコBOONやクリックポストで安く配送できるケースもあるみたいだった。

配送のことを考えると、小物や衣服よりも精密機器やワレモノのほうが梱包材や配送料にかかるコストが大きいので、売値をつけるときには考慮すると良い。

トラブルの対応

取引のキャンセル・返品

今回、配送をしてしまってから取引がキャンセルになり、返品されたことがあった。

そうした場合には、お互いにキャンセルに合意し、購入者から品物を返品してもらった上で事務局に連絡すれば、取引がキャンセルになる。

なお、返品時のやり取りについて事務局に問い合わせた際には以下のような返答だった。

1.購入者は、出品者に商品を返送後、出品者のお手元に届くまでお待ちください。
※返品の際の送料については双方でご相談ください。
※返品を行うにあたり取引相手の住所等の情報が必要な場合は、取引メッセージでご確認をお願いいたします。

2.出品者は、お手元に返品商品が届きましたら、取引メッセージで報告のうえ、事務局までお問い合わせください。

3.事務局で取引状況を確認後、キャンセル(返金)手続きを行います。

返品の際には、メッセージでこちらの住所氏名を伝える必要がある。また、送料については、こちらに非があれば着払いで、先方の都合であれば先方の負担で送ってもらえば良いと思う。

取引がキャンセルされると、アプリ上では品物が「出品停止中」のステータスに変更される。

購入者が受取評価をしてくれない

取引しているときに、購入者が商品を受け取っても受取評価をしてくれないことがあった。幸いこのときには、数日待つとしてくれたので問題なかったが、たまに受取評価をしてくれない人もいるようだ。

メルカリのヘルプによると、そうした場合には、一定の期間が経つと事務局に評価依頼をするためのフォームが出るようになっているらしい。なので、一旦待ってみて、解決しないのであれば事務局に評価を依頼するのがよさそうだ。

 万一、購入者からの応答がない場合、以下の条件を満たすことで取引画面上に事務局に評価を依頼するためのフォームが表示されますので、そちらからご連絡ください。

・発送通知をした8日後13時以降
・購入者の最後の取引メッセージから3日後13時以降

※話し合いが継続している場合や商品に問題がある場合、事務局での評価はできません。あらかじめご了承ください。

よくある質問と答え - Mercari


メルカリなどのフリマアプリは、今後もうまく活用していきたい。

メルカリでうまく売る - 出品編 -

せっかくなので、初めてメルカリを利用したときに気づいたことをメモしておこうと思う。まずは出品時のお話。

プロフィールの設定

いろいろな人のプロフィールを見ていると、以下のような事柄が書いてある。安心感を与えることができるので真似すると良い。

  • 年代/都道府県
    • 少なくとも未成年かどうか判別できるとよい
    • 都道府県から発送にかかる日数が推測できる
  • 出品している物の出処
    • 「買ったけど使わなくなったものを出品しています」等
  • 喫煙・ペットの有無
    • 匂いやアレルギーを気にする人が多いっぽい
  • 発送にかかる期間
    • 「土日に発送しています」「お急ぎの方はご遠慮ください」等
  • 免責事項
    • 「中古のため返品不可でお願いします」等
    • もちろん柔軟に対応するけど建前という感じ
  • 独自ルールへのポリシー
    • 名前欄に「@プロフ必読」とする
    • 「即購入(コメントせずに購入する行為)不可です」
    • 「少しでしたらお値下げ可能です」等

また、プロフィール画像は初心者感が消えるので必ず設定すると良い。

出品に適している商品

ゴミでも売れる、という神話もあるらしいメルカリだけれど、そもそも売れるか、そして利益が出るか、という観点から出品するかどうかを考えると良い。

  • 小さいものの送料は一番安くて120円(郵便局の定形外サイズ)、大きいものは700円(ヤマトの80cmサイズ)以上になることもある
  • 配送のためのダンボールや袋、梱包材を買うと数百円かかる
  • あまりに古いものは購入者からの返品リスクがある
    • 返品時の配送料はユーザ間で協議して負担することになる
  • メルカリでの販売手数料は10%かかる

サイズにもよるけれど、最低でも2000円程度で売れるものでないと、残る利益が1000円を割ると思う。購入時の半額が相場だと考えると、だいたい4000円以上で購入したものであれば売るに足る。

出品タイトルのつけかた

出品するときには、一度出品前に自分の思いつくキーワードで検索して見ると、検索サジェストから良く検索されるキーワードが出てくるので参考になる。

例えば3DSを出品する場合だと、「3DS」というキーワードだけでなく「本体」というキーワードも一緒に入れたほうが良さそうなことがわかる。

f:id:Kechol:20170409144917p:plain:w320

写真の活用のしかた

メルカリの写真は4枚までしか出せないので、悩ましいけれど以下のような写真を撮る。

  • 全体像(付属品も含む)
  • メインのアップ(メインのモノだけ)
  • バック、サイドの別角度
  • キズ、スレの一番ひどい部分のアップ
  • (服であれば)サイズ表のスクショ

中古であれば多少のキズがあるはずで、そういう部分を先に開示しておくことで安心して取引してもらえるし、返品リスクも減る。サイズ表はAmazonやZOZOなどの商品ページをスクショして載せた。

他にも写真のアップの際には以下のようなテクニックが使える。

  • モノが明るい色の場合は背景は暗い色、逆なら背景は明るい色
    • モノの色味が正確に出やすくなる
  • 編集機能で色味とシャープネスを修正する
    • 色味が変化しすぎるフィルタは多用しない
  • サイズのあるもの(靴、服)は一枚目の画像にテキストでサイズを表記すると一覧画面でもわかりやすい

最初の値付け

出品の際には、タイトルとカテゴリ、ブランド、商品の状態を入力するとメルカリが売れやすい価格をサジェストしてくれる。

f:id:Kechol:20170409144938p:plain:w320

また、公式のガイドには以下のような値付けのガイドラインがある。

  • 新品/未使用品: 60-80%
  • 未使用に近い/汚れがない: 30-60%
  • 使用感がある: 20-40%

自分はすぐ売りたかったこともあり、サジェストされた価格の中央値+500円(送料分)くらいで値を付けていた。また、似たような過去の出品を検索してみるのも最近のトレンドがわかって良い気がする。

出品の時間帯

メルカリは出品された品物が時系列に並んでいるっぽいので、買ってくれそうな層が見ている時間に出品の時間帯を調整すると良い。

例えば以下のような考え方がある。

  • 婦人服: 主婦層が買うのでお昼過ぎ
  • ゲーム: 中高生が買うので夕方
  • ガジェット: 会社員男性が買うので夜7時以降

逆に言うと、出品して3日とか経ってしまった場合には検索で引っ掛からない限り閲覧される機会がないので、一度出品を取り消して再出品するのが良いかもしれない(利用規約確認してないけどNGなのかな・・・)。

値下げのタイミング

大抵の商品が値下げされるからなのか、メルカリのユーザはすぐに購入せずにまずいいねをつけて様子を伺うきらいがある気がする。

大体、1日経って売れなかったら10%程度値下げするのが良い気がする。

また、たまに「値下げ可能ですか?」的なコメントをもらうことがあるが、特に出品して数時間のときは「もう少し考えさせてください」などと言って流しつつ、時間が経った時点で改めてコメントで連絡したら良いと思う。


売れた後の配送などについては次回。

メルカリ公式ガイドBOOK

メルカリ公式ガイドBOOK

はじめてメルカリで出品した

部屋の整理の一環で、家にある使っていないものを整理しようと思い、初めてメルカリを利用した。せっかくなので感想をメモしておこうと思う。

出品したもの

f:id:Kechol:20170416113041p:plain:w320

使わなくなったデバイスや、来ていない服・鞄・靴を主に出品した。

デバイスでいくとiPadは第三世代、Kindleは第五世代で、どちらも数年前に購入したものだったけど、数千円で売れたので、下手にアキバの買い取りなんかに持っていくよりも良いお金になる気がした。

戴き物のインドの木像が家にあり、ちょっとキャラが強すぎたので出品することにした。こうしたニッチなノンブランドの雑貨が売れるとは全く期待していなかったけど、実際に売れたのでびっくりした。メルカリの懐の深さを感じたし、良い検証になった。

逆に数年前に青山かどこかで購入して結局着なかった新品のフォーマルなシャツは売れなかった。ユーザ層的に実は男性が少なかったりするのかもしれないし、単に需要がなかったのかも。

売れるもの売ったら数万円にはなったので、部屋も片付いてお小遣いも手に入ってよい体験だった。

トラブルで返品対応

一度、実際の商品とは違う説明を誤って記載してしまい、商品を送った後に先方が気付いて返品を希望されたことがあった。

これについては自分に非があったので、送料着払いで送り返してもらい、正しい情報で再出品して別の人に購入してもらった。

よく確認せずにAmazonの情報をコピペしてしまったのが原因だったけど、幸い購入者の方も慣れている方で助かった。ごめんなさい。

返品や取引のキャンセルの際には、一度こちらからサポートに問い合わせる必要があり、問い合わせると、事務局からお知らせ欄に個別メッセージが来る。返品の対応が完了した後に事務局が取引メッセージを確認たうえで初めてキャンセルとなる。

f:id:Kechol:20170416113113p:plain:w320

キャンセルに至るまでには少なくとも2回問い合わせが必要であり、また、取引キャンセルの場合はメルカリ便の送料負担が実質メルカリ側になる(売上が発生せず送料を差し引くことができないため)ので、運営側にも負担が大きい。こうしたサポートはサービスの運営者としても大変だなと思う。ごめんなさい。

フリルとメルカリ

フリマアプリと言えば、メルカリの他に楽天に買収されたフリルがあって、現在は販売手数料が無料なので、本当はフリルで売ったほうがお金になる。(売ってみて改めて感じたけど10%の手数料はなかなか大きい。)

なんだけど、フリルはインストールしたときの初回画面で、メンズかウィメンズか選ぶような画面遷移になっていて、この時点で「あ、デバイスとか売っちゃいけない雰囲気なのかな・・・」と思って離脱してしまった。(実際にはなんでも売られているけど)

f:id:Kechol:20170416113128p:plain:w320

元々女性向けだったこともあり、フリルは服やコスメが充実している印象なので、そういう出品/購入が多い人には良いと思う。

また、フリマアプリを使ってみた印象として、ふたつのアプリに同時出品する、というのは管理が大変で難しいように感じた。上記の通りキャンセルには手間がかかるし、わりと短時間で突然買われてしまうので。それよりはどちらかで売れなかったらもう一方に出品する、という風にしたほうが良さそう。手数料を考えると先にフリルで出品し、売れなかったらユーザの多いメルカリで試す、という流れが一番良い気がする。

メルカリという会社

メルカリは会社としても、Offer Up や Let go といったすごく伸びてる競合がいるUSの市場に挑戦していたり、メルカリ アッテでまだ日本に圧倒的な成功者がいない(と言っていいと思う)クラシファイドに挑戦していたりと、会社としても面白い。

ちょっと前のRebuildでもCTOの sotarok さんがグローバルなプロダクトの開発について話していて面白かったのを覚えている。

企業ブログである メルカン でも会社のことがたくさん広報されており、勉強になる話がたくさんある。人事・広報主導でここまでやっている企業は少ないんじゃないだろうか。メルカンではポッドキャストもやっていて、最近だとアッテのコミュニティマネージャーの回が勉強になった。聴くとやっぱり草の根活動は必要なんだな、と思う。


使ってみてやっぱり良くできたプロダクトだと思う。アメリカでも競合に負けず頑張って欲しい。出品のTipsなどはまた次回。

Github Issueを管理するJasperを買った

この4月に組織と環境が変わり、よりGithubをヘビーに使うようになったこともあって、Github Issueを管理する Jasper というMacアプリを買った。

Jasper https://jasperapp.io/

これがとても便利で、いまは開発するときにはいつもサブディスプレイに表示して使っている。いまの組織は毎日大量のIssueやPRが投げられるけれど、Jasperのおかげで自分のタスクを見失わずにすんでいて、とても助かっている。

インディーソフトウェアとしてのJasper

このJasperはCookpadのエンジニアの @h13i32maru さんが趣味で開発されていて、 @h13i32maru さんのブログ・ポッドキャストを読み聴きすると裏話や苦労話がわかって面白い。

自分ももっと趣味・副業としてのプロダクト開発やOSS開発などを頑張っていきたいという気持ちがあるので、こうした趣味の開発で作ったプロダクトが広まっている様を見るのはエンジニアとしても夢がある話だと思う。

Podcastの話を聴いていると、プロダクトを開発するにもエンジニアとして技術を高めるというモチベーションがあったり、日常の課題を解決したいという欲求があったり様々だ、というような話があってなるほど、と思った。

個人的なJasperの使い方

Jasperでは自分やチームに関連するIssue/PRをまとめてみる事もできるけど、自分はGithubで複数の組織に所属していることもあり、Jasper上では組織ごとにStreamを分けて表示するようにしていて、逆にInboxやWatchingはあまり見ていない。

基本的にはそれぞれの組織で以下のように Assigned と Mentioned のStreamを作成し、Assigned をとにかく潰しつつ Mentioned をちらちら見る、というような使い方をしている。

  • [Org]/Assinged: user:[org] is:open assignee:kechol
  • [Org]/Mentioned: user:[org] involves:kechol

実際には組織でのラベルの活用のされ方やチームの構成によってStreamをカスタマイズすると使いやすくなる気がしているので、もっと活用していきたい。

あと、Github上では Watchしているリポジトリの一覧 を整理しておくとデフォルトの Watching stream を活用しやすいと思う。

Jasperに期待したいこと

書くのは自由なので雑に要望を書いておこうと思う。ちなみにJasperはOSSではないけれど、Feature RequestはGithubのIssueで送れる。

Issues · jasperapp/jasper

  • j, k のショートカットがバグっているので直して欲しい
  • 全体的に移動がもたつくのでサクサクいきたい
    • Main ProcessやUIのRenderer Processをブロックしない
    • SQLiteが遅い?Realm使うとか。
  • Internal Browserの横幅が狭くてサイトを横スクロールをしないといけない
    • Single Paneモードやパン/ズームはそのためにある気がするけどやはり一手間が気になる
    • Internal BrowserでGithubのスタイルを上書きして横スクロールしなくても良いようにして欲しい
    • Paneのリサイズはできるようになるらしい
  • Streamを移動するショートカットをカスタマイズしたい
    • Fnや数字キーは覚えにくいので自分で意味をもたせたい
    • Streamのショートカットは1-5では足りない
  • Edit Stream の編集画面に Searching Issues - Github Help へのリンクが欲しい
    • 記法をよく忘れる・・・
  • 設定をExport/Importしたい
    • JSONでもなんでも良いが読める形式が良い
    • 設定を同期するディレクトリを決められて、DropboxでSyncできるとなお良い
  • Stream のドラッグアンドドロップでの並べ替えをもう少しうまいことしてほしい
    • クリックのつもりが Stream が入れ替わる、なんてことがよくある

今でも十分便利なので、期待せずより便利になるのを待ちたい。

Bellroyの薄い財布に買い替えた

松浦弥太郎の「日々の100」を読んだときに、財布についてのエピソードがあった。

どんな財布がいいのか、と訊くと、シンプルで、大きくて、上質で、しっかりとしていて、一歩下がったところから眺めてきれいと思うものがいい、と教えてくれた。そして、いつも手入れをしなさい、とも。財布の中身は、いつも整理整頓しておくこと。カード類は最低限にすること。革製なら週に一度は磨くこと。パンツの後ろポケットなどに入れたまま座ったりしないこと(これはお金を尻に敷くことになるから絶対駄目だと言われた)。お札の向きは必ず揃えること。できれば小銭入れを別に持つこと。ひとつの財布を二年以上使わないこと。

松浦弥太郎. 日々の100 (集英社文庫) (KindleLocations166-171)

いい話だなと思い、自分の財布を振り返ってみると、高校生のときに結婚式の引き出物かなにかでもらったものをずっと使っていることに気づいた。Amazonで見つけた同じ財布は2,000円くらいだった。

もう社会人も5年目になるし、財布くらい買い替えてもバチは当たらないだろうと思って少し探した。Bellroy(ベルロイ)というオーストラリアのブランドのNoteSleeveという製品にすることにした。


Bellroy Note Sleeve The wallet, re-engineered. Clever storage in a slim silhouette.

シンプルで、小さくて、機能的なデザイン。大きくもしっかりもしていないけど、整理整頓しやすいようにこだわって作られている感じが良かった。

まだ革も固いので、2年くらい使って馴染むと良いな、と思う。そしたらまた買い換えるかな。


f:id:Kechol:20170404025906j:plain

RSSへの回帰

最近、またRSSを使い始めた。TwitterやFacebookを使って情報収集するのではなく、自分の気になる情報をなるべく漏らさず入手したいと思ったからだ。

自分も2013年くらいまではRSSで情報収集していた。でもその頃にはRSS疲れというのか、Google Readerでも”Mark as read”を押すことが多くなっていて、その年の7月にGoogle Readerがサービス終了するのと同じくらいに使わなくなっていたと思う。

Deep Workに感化されたわけではないけれど、自分がTwitterに割く時間が多すぎるような気がしていて、もっと効率的に情報収集できたらと思った。ちょうど The Changelog でRSSについてのエピソードがやっていたのも良いきっかけだった。

changelog.com

エピソードのなかで、RSSは信頼する人からの情報を入手するのに最も適していて、嘘の情報に躍らされるのを防ぐ唯一の手段だ、ということが話されていたのが印象的だった。ちょうどUSではフェイクニュースが大きな問題になっている背景もあったのだと思う。

そういうわけでRSSフィードを一から整理したのだけど、またRSSに疲れてしまうのを防ぐために、なるべくノイズや煽りが多いメディアは避けながら、手触り感のあるフィードを選んで入れるようにした。はてなで有名なブログは TopHatenar から探して入れたし、海外のTech Blogは kilimchoi/engineering-blogs というリポジトリが便利だった。sindresorhus/awesome も各リポジトリにはResourcesの項があるので参考にした。その他は大体ググって見つけた。

GistにOPMLをあげてある。自分が興味あるのはエンジニアリングやスタートアップなので、そうしたものが多い。暮らしとか経済っぽいものも多少入っている。

https://gist.github.com/kechol/bea24131bc184154d27d95e0916a6fc9

RSSリーダーは、Reeder 3 を使うことにした。FeedlyやFeedbinはフィードが100以上になると月額課金になってしまうので、それを避けたかった。アプリは有料で、フィードの購読・更新はローカルでしか行えないけれど、相変わらず使いやすいし、移動中のスマホではKindleやPocketを読むので問題ない。

Reeder 3

Reeder 3

  • Silvio Rizzi
  • ニュース
  • ¥1,200

まだ使って一週間くらいだけど、200くらいのフィードが登録されていて、日に300件くらいが更新される。そのなかでブラウザで開くのは3,40件くらいで、実際に面白いのはそのうちの半分もないので、全部捌いて読み終わるのに30分くらい。読むのに時間のかかる記事はPocketにいれて移動中にゆっくり読むようにしているのもサイクルを乱さないことに貢献していると思う。もう少し使ってみて、フィードを減らす方向にはもっていきたい。

フィードを整理してみて思ったのだけど、RSSを配信しないメディアが増えたような気がするのは残念だ。フッターやサイドバーにTwitterやFacebookのアイコンは見つかるけれど、あのオレンジのマークが見つからないのはしょっちゅうだった。たとえばCookpadがやっているくらしのきほんや、伊藤忠都市開発のウェブマガジンCREVIA TIMESなどだ。日経新聞オンラインにRSSがないのは昔からだったか。

RSSフィードの配信は、実装コストも運用コストも低く、メディアにとってはニュースレターやFacebookページへのいいねなどと同じく、ファンを増やす仕組みの一つであるので、実装しないのは非常にもったいないと思う。もうRSSの時代ではないということではなく、間口を広く取ることがメディア運営には大切なのだから。ソーシャルで記事を拡散させることが大切だからこそ、RSSからソーシャルに流す人は全く違うクラスタに記事を拡散させる貴重な起点になるはずだ。また、バズで訪問した人をうまくRSSに登録させることでファンを増やし、定期的に訪れてもらうことで、一過性のバズが日々のベースとなるPVを上げる効果をもたらすので、ソーシャルで一記事を拡散してもらうよりも価値が高い側面もあると思う。RSSは仕組みもよくわからないし効果測定もできないというのはマーケティング担当者の怠慢だ。お願いなので黙ってRSS実装してほしい、購読するので。

もしおすすめのフィードがあったら教えて欲しいし、上記のフィードを見て気が合いそうだなと思ったらご飯に誘ってください。

「脳には妙なクセがある」読んだ

ギークでタレントの池澤あやかさんの記事 をたまたま読んで、そこで触れられていた脳科学者の池谷裕二さんに興味を持ち、著作の一つである「脳には妙なクセがある」を読んだ。

脳には妙なクセがある (扶桑社新書)

脳には妙なクセがある (扶桑社新書)

ファストアンドスローなどと被る部分もありつつ、本の内容が面白かったので少し中身を紹介しようと思う。

もっとも効果的な勉強法とは?

外国語の単語を暗記させる実験で、より効果的な方法を検証したものがある。以下の4つのグループでどのグループが一番単語を暗記できるかを検証した。

  1. 単語を学習→すべてをテスト→すべてを再学習→すべてを再テスト
  2. 単語を学習→すべてをテスト→覚えていないものを再学習→すべてを再テスト
  3. 単語を学習→すべてをテスト→すべてを再学習→覚えていないものを再テスト
  4. 単語を学習→すべてをテスト→覚えていないものを再学習→覚えていないものを再テスト

結果、1と2のグループ(すべてを再テストしたグループ)のみが単語を長期的に記憶していた。脳は、情報を何度も学習するよりも、何度も使うことで記憶を定着させると言えるみたいだ。

自分もいま英単語を勉強しているので、活かしていきたいな。

脳に良い食べ物とは?

書籍では脳に良い食べ物も紹介されている。とても良かったのは、研究結果と一緒に紹介している点だ。以下に例をあげる。

  • オメガ3不飽和脂肪酸(DHAなど)
    • (ヒト)高齢者の認知機能低下の改善、ムード障害の治療
    • (動物)動物の脳損傷による認知機能低下の改善
    • (動物)アルツハイマー病モデル動物で認知力低下の改善
  • フラボノイド(ココア、緑茶、ワイン等に含まれる)
    • (ヒト)高齢者の認知機能の向上
    • (動物)運動と組み合わせることで認知機能の増強
  • ビタミンB類(豆類・豚肉)
    • (ヒト)ビタミンB6やB12 、葉酸の補充で、広範な年齢の女性で記憶力が向上
    • (動物)こりん欠乏による認知機能低下をビタミンB12が改善

他にも色々紹介されている。ここで大事なのは、テレビなどで認知機能を向上させると紹介されるDHAやフラボノイドなども、実験では”高齢者”の認知機能の改善、向上が確認できたに過ぎず、例えば20代男性である僕が進んで摂取したとしても、同様の効果が期待できるかどうかはわからない点だ。

筆者自身も、「エンターテイメントの一環として楽しんでいる」と書いているから、僕もそうしたいと思う。

自由意志は脳から生まれない?

脳を頭蓋の外部から磁気刺激すると、被験者が”自由意志”で左右どちらかを指し示す結果が、刺激しない場合とで大きく変わることがわかった。しかも、刺激したかどうかに関わらず、被験者は「自分の意志で選んだ」と思うということも判明した。

こうした研究の結果を受けて、筆者は、意志は脳から生まれるものではなく、周囲の環境と身体の状況で決まる、としている。僕らの普段の行動の大部分は、環境や刺激、普段の習慣の”反射”でしかないということらしい。また、自分自身のことは自分では決してわからない作りになっている、とも書いている。

そういうわけで、無意識の自分、自分も知りえない自分が”正しい反射”をしてくれるかは、本人が過去にどれほど良い経験をしてきているかに依存するという。良い経験を積むことで、良い癖ができ、それが良い反射・判断につながるので、人の成長は”反射力”を鍛えることが重要、だそうだ。

有名なマザーテレサの格言もあるけれど、脳科学の視点からも、良い習慣が良い結果を生み、良い人生を作るというような意見が生まれることはとても面白いと思う。良い経験ができるような環境や自分の普段の習慣にも気をつけたい。


最近、脳科学の研究はいろんなところで紹介されているけれど、どこまでが本当なのか、正直わからない部分も多いので、こうした研究者の著作はありがたいと思う。

今回読んだ本は面白いトピックをたくさんあげているような、いい意味で俗っぽい本だった。もう少し深く読みたい人は『単純な脳、複雑な「私」』なんかを読むのが良いかもしれない。

単純な脳、複雑な「私」 (ブルーバックス)

単純な脳、複雑な「私」 (ブルーバックス)