reizist's blog

ウェブ

HatenaBlogScraper公開してました

1週間くらい前に深夜のテンションで作ったgem HatenaBlogScraper(HBS)を公開してました。

GitHub - reizist/hatena_blog_scraper

まぁ何をするものかというとhatena blogの記事をスクレイピングしますよってだけのgemです。

[1] pry(main)> require 'hatena_blog_scraper'
=> true

[4] pry(main)> c = HBS::Client.new(url: "http://reizist.hatenablog.com")
=> #<HatenaBlogScraper::Client:0x007fe6cc0e2788 @host="reizist.hatenablog.com", @url="http://reizist.hatenablog.com">
[5] pry(main)> c.list_articles
=> [#<HatenaBlogScraper::Article:0x007fe6cc18ab68
  @html=
   "<div class=\"entry-content\">\n  \n    <p>1週間前くらい前に深夜のテンションで作ったgem HatenaBlogScraper(HBS)を公開してました。</p>\n\n<p><a href=\"https://github.com/reizist/hatena_blog_scraper\">GitHub - reizist/hatena_blog_scraper</a></p>\n\n<p>まぁ何をするものかというとhatena blogの記事を<a class=\"keyword\" href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EC%A5%A4%A5%D4%A5%F3%A5%B0\">スクレイピング</a>しますよってだけのgemです。</p>\n\n<p>それをhatena blogに書いちゃっていてどうなのと思わなくもないので<a class=\"keyword\" href=\"http://d.hatena.ne.jp/keyword/rubygems\">rubygems</a>に公開していないのと、個人ブログでひっそりと。</p>\n\n<p>何か問題があればご指摘いただけますと幸いです。</p>\n\n  \n</div>",
  @markdown=
   "1週間前くらい前に深夜のテンションで作ったgem HatenaBlogScraper(HBS)を公開してました。\n\n[GitHub - reizist/hatena\\_blog\\_scraper](https://github.com/reizist/hatena_blog_scraper)\n\nまぁ何をするものかというとhatena blogの記事を[スクレイピング](http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EC%A5%A4%A5%D4%A5%F3%A5%B0)しますよってだけのgemです。\n\nそれをhatena blogに書いちゃっていてどうなのと思わなくもないので[rubygems](http://d.hatena.ne.jp/keyword/rubygems)に公開していないのと、個人ブログでひっそりと。\n\n何か問題があればご指摘いただけますと幸いです。\n\n",
  @text=
   "\n  \n    1週間前くらい前に深夜のテンションで作ったgem HatenaBlogScraper(HBS)を公開してました。\n\nGitHub - reizist/hatena_blog_scraper\n\nまぁ何をするものかというとhatena blogの記事をスクレイピングしますよってだけのgemです。\n\nそれをhatena blogに書いちゃっていてどうなのと思わなくもないのでrubygemsに公開していないのと、個人ブログでひっそりと。\n\n何か問題があればご指摘いただけますと幸いです。\n\n  \n",
  @title="HatenaBlogScraper公開してました",
  @url="http://reizist.hatenablog.com/entry/2017/03/17/010417">]

それをhatena blogに書いちゃっていてどうなのと思わなくもないのでrubygemsに公開していないのと、個人ブログでひっそりと。

何か問題があればご指摘いただけますと幸いです。

web+db vol97のMySQL運用最前線を読んだ

前職でソシャゲ開発/運用をしていた関係でちょろちょろ触る程度のなんちゃってDBA/インフラーなのでそこまで深い知識は持っていないけど、 最低限時代についていく必要はあるので読んだ。 なんか間違ってること僕が書いてたら教えてください。

目次

について書かれている。

MySQLの現在

今現在の最新である5.7に至るまでのMySQL史が紹介されている。 次期リリースの「MySQL 8.0」はしばらくでなさそうだし、5.6はリリースされてだいぶ経っている。 5.7に移行したほうがいいよね、という熱感を高める文章が記載されている。

innoDB徹底活用

  • innodbの解説(デフォルトで有効なストレージエンジンだし他のストレージエンジンにする必要ないとか)
  • mysqlのパラメータの中でも最も重要な innodb_buffer_pool_size がオンラインで変更可能になったよ
  • ファイルフォーマット/行フォーマットの変更
  • 日本語の全文検索が可能になったよ

あたりが言及されている。

innodb_buffer_pool_size の動的変更、 バッファプールを増やす場合 全てのアクセスが禁止されるのでパフォーマンス劣化が懸念され、 バッファプールを減らす場合 チャンク単位のページ開放でロックを取得する場合他のトランザクションに影響する等でパフォーマンス劣化が懸念される

あたりが気をつける点としてあって、短期的なパフォーマンス劣化で中長期のパフォーマンスを向上させるものだという認識。 オフラインで対応する場合mysqlプロセスを停止させる必要があるが、その場合buffer_pool_sizeが大きければ大きいほどflushに時間がかかるのでダウンタイムが伸びる可能性があって、 どうしてもダウンタイム作れないものにはアクセス少ない時間帯にオンラインコマンド叩いとく感じになると思う。

とはいえauroraなどマネージド・サービスならデフォルトでインスタンスの ¾ のメモリ量になるよう設定されているようで足らなければインスタンス変更で対応しそうだし、 自前でmysql管理するレベルのチームなら最初に innodb_buffer_pool_size を適切に設定しておくだろうし、 よっぽどリリース時から想定されていないアクセスが来たみたいな状況じゃないと使わなそう?(素人意見)

フォーマットのデフォルトが変更されたあたりは多分メリットしかなくて、

  • デフォルトがAnteropeからBarracudaになった件は、普通のアプリケーションエンジニアが意識するのって絵文字対応などのときだと思っていて、これにより各々の my.cnfinnodb_file_format = Barracuda を書く必要がなくなった
    • 関連して innodb_large_prefix も5.7デフォルトで1になっており絵文字対応がデフォルトで対応されている?
  • デフォルト行フォーマット innodb_default_row_formatdynamic になった件は、ちょっとまだ肌感としてはよくわかってなくて、 圧縮される(のでストレージ負荷が下がる)代わりにCPU負荷が上がるCompact( or Compressed)を採用するか否かの話になると思うんだけど、CPU負荷というのがどれくらいのものなのかわからないのと、もはや近頃はストレージ価格というのはどんどん下がっているのでリスク犯すなら思考停止して dynamic でいいじゃん、と思ってるんだけどどうなんでしょう

日本語の全文検索に関しては結構読み飛ばした(mysql内で形態素解析等するケースが思いつかなかった)

柔軟で安全なレプリケーション

この章がもう結構衝撃的で、正直前職では master_log_file , master_log_pos めっちゃ駆使してたし、 set global sql_slave_skip_counter=1 も手動で叩いていたので GTIDとクラッシュセーフスレーブすげーーという感想になった。

マルチソースレプリケーションに関しては、チャンネル単位で複数スレッドに並列化してスレイブを構築するほどスレイブ遅延が発生する状況を知らないので読み込んでみたけどあまり直近で使う未来は見えなかった。 むしろ

ただしチャンネルはお互いに独立しているため、チャ ンネル間の整合性は保証されません。すなわち、チャン ネル❶のマスタが更新されたあとにチャンネル❷のマス タが更新されたとしても、スレーブ上ではどちらが先に 更新されるか保証することはできない

等のコメントを読んで腰が引けたというかあまり使いたくない印象を持ってしまった。

設定における留意点と分析機能の利用

この章も「フムフム」と言って読んだ。SQLモードの変更やログのスタンプ形式の変更は読んで把握しておいてよかったなと思った。 とはいえ個人的にはDBは常にUTCでもいいんじゃないかとも思っているので(実際に前職はそういう運用をしていた)、頭にindexを作るに留める。

所感

どんどん最新機能出てきてそれを最前線で追っている方々、すげえみたいな小学生のような感想。 今までローカルのmysql5.6だったけど、手元の開発が落ち着いたタイミングで brew install mysql で5.7にあげよう。(今は brew install mysql56

サーバーエンジニアで少しでもDB(mysql)触る人は是非読みましょう

WEB+DB PRESS Vol.97

WEB+DB PRESS Vol.97

(pdfはgihyoから買える)

参考

www.slideshare.net

www.slideshare.net

nippondanji.blogspot.jp

yakst.com

yakst.com

Amazon Auroraを始めるためのパラメータ資料 | 外道父の匠

MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.7 InnoDB 圧縮テーブル

4Kディスプレイ買った

philipsの43インチ/4Kディスプレイ  BDM4350UC/11 を65000円くらいで買った。

買ったのはこれ

自分の部屋に作業環境を構築している最中で、机と椅子を買ったのでようやくサブディスプレイを買うに至った。

24インチとか、オフィスで普通に使っているようなものにしようかとも思った(2万あればソコソコの買えるし)けど、 机と椅子をけちったのでディスプレイくらいいいか、という甘えた考えで4Kディスプレイに手を出した。

当然24インチとか27インチあたりで妥協する選択肢もあったんだけど、

まず解像度。

27インチで4Kディスプレイ写すと文字小さすぎて読めないというレビューが多く。

さらに価格。27インチ帯で4K、まだまだ価格が高くて、

あたりも5-6万してしまう。24インチの4Kでない通常サイズのディスプレイ1枚というのは味気ないし、それなら6万5000円払って43インチ買っちゃおうぜっていう気持ちがあり勢いで買った。

40インチ以上の4Kディスプレイというと選択肢が多いわけではない。

他の選択肢としては

とか

、もしくは40インチ以上のTVをPCモニタに使うとTVも見れるしやすいという判断で

などかな、と考えていたが、

IPS液晶であること、RGBW(いわゆる偽/なんちゃって4K)でないこと、値段などを考慮して最終的にはphilipsのものにした。

今のところ不自由なく使えていて、でかい is 最高!といったところで幸福感が高い。

macbookpro 2016 lateユーザーの人の場合ケーブルには気をつけなくてはいけなくて、

apple純正のusb-c <-> displayport ケーブルでは画面を表示することができない。

この辺の罠に関しては

itstrike.biz

あたりで詳しく解説されているがケーブル単体の購入(変換器ではなく)の場合殆ど選択肢はなくて、

しか無いと思われる。

前者のほうが人気があったようだが、昨年のmacbookpro 2016特需で値段が2倍に跳ね上がり(昨年は2000円程度だった)、かつ送料もかかり、届くまで時間がかかるという点で敬遠し 自分は後者を購入した(displayportの場合1mしかないので注意)。

(ケーブルに4000円程度払うのすごい癪なんだけどHDMIだと30Hzのみ対応っぽく最高のパフォーマンス(4K/60Hz)のために仕方なく買った。)

届いた瞬間はでかすぎてびびった、

でもすぐ慣れた。 参考までに、自分が使っている机のサイズは奥行きx横は60x140で、本当はもっと奥行きあると嬉しいなーという感じ。

少し前まで10万-15万してた4Kディスプレイが、6万円で手に入る時代が来たのでどんどんハードルが下がってきている。

6万で最もQOLを上げるのにコスパの良い買い物だと思うので、特にプログラマーの皆さんは今すぐ買いましょう。

NAS環境整えた

結構前なんだけど備忘録として。

NAS環境を整えた。

NASとは

NAS(Network Attached Storage)。ネットワーク上にストレージがあってネット経由でアクセスできる。

入れ物は選択肢が多々あったんだけど、コスパとエコシステム(Synlogyが出している専用のOSとかアプリとか)で選んだ。

  • NASに関してはド素人
  • 最悪消えても死なないけどそれなりに堅牢にデータ守って欲しい
  • 運用とかに力かけたくない

という状態だったので、

  • RAID1(二本のHDDに同内容を書き込んでおいて一個HDDが死んでも復旧できるようにする)程度の冗長化にとどめた
  • 自分でterminalでコマンド実行するなどの必要がないまま行える拡張(ビューワアプリをインストールしてiPhoneから直にHDD上のpdf見れるようにするとか)のみ
  • ある程度ディレクトリのアクセス権限を設定する

とした。

また中身(HDD)に関しては、WD red を選択。 各色の特徴は

akiba-pc.watch.impress.co.jp

などが参考になる。

補足としては、容量単価では3TBが最もコスパが良い。 自分的には人生で集めた全てのファイルを足しても2TBで事足りるので2TB x2 を購入した。

Synlogyのweb UIが(ド素人には)親切で、webから一通りの操作ができる(もちろんOSはlinuxなのでconsoleであれやこれもできる)。

f:id:reizist:20170302032350p:plain

アプリも多々転がっていて、脳死していてもある程度できることの幅がある。

f:id:reizist:20170302032338p:plain

所感

とにかく導入コストが低く、RAIDも10分程度で組めたし何一つ苦労することなく運用できているので、エントリーとしては非常におすすめできる。

お金が余っていてNAS持っていないみなさんは買いましょう

小林銅蟲先生のブログでマルコフ連鎖

こんにちは。

漫画「めしにしましょう」が好きすぎて、

著者である小林銅蟲先生のブログ

negineesan.hatenablog.com

を漁り読む日々を過ごしています。

小林銅蟲先生っぽい」文章が面白くて文体を真似るファンが続出しているのを観測しており、人気の高さが伺えます。 まだ読んでいない人はめちゃくちゃおもしろいので今すぐ読みましょう。

さて、今日は朝7時に目覚めてしまったので、何を思ったかマルコフ連鎖で「小林銅蟲先生っぽい」文章を自動生成してみることにしました。 ※ブログ掲載にあたって小林銅蟲先生に許可を頂きました。

マルコフ連鎖とは

wikipedia を見てもさっぱりでした。

概要だけ把握する場合、

マルコフ連鎖を説明してみる。 | 分析のおはなし。

が参考になりました。 今回は要するに 「既存の文章を適当につぎはぎして自動で文章作る」のが目的です。

余談ですが、しゅうまい君もマルコフ連鎖で作られているようです。

準備

まず手始めにマルコフ連鎖に必要なデータを取得します。 パルスクレイピングして全てのブログ記事をtxtに落とし込みました。 (すべての記事からマルコフ連鎖するとそこそこ実行時間がかかったので最終的には取得記事を絞ってます)

これらの記事を1つのファイルに結合し、これを基データとしました。

また、マルコフ連鎖のために形態素解析を行います。これにはMeCabを使用しました。 rubyから使用する場合、 Nattoが便利です。

(macの場合)

brew install mecab mecab-ipadic
gem install natto
require 'natto'
 
text = '使用後はとても爽やか。'
 
mecab = Natto::MeCab.new('-Owakati')
p mecab.parse(text)
# => "使用 後 は とても 爽やか 。 \n"

以上が実行できれば環境はokです。 あとは以下のアルゴリズムに従って文章を作成します。

  1. 形態素解析を行い基データを単語に分割する
  2. 文章を複数語で構成されるprefix(接頭語句)と1語のsuffix(接尾語)に分割しテーブルを生成
  3. テーブルからprefixを選択し、prefixの後ろにつなげるsuffixをランダムに選択

結果

実行結果を並べてみます。

こんにちは。今回のイブニングのめしは新年一発目なので、なんかテフロン加工鍋的なものを食うことにしています。その他各種臓器も、消化器は開いて汚れを洗ってから茹でて、、冷水でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えていきます。成敗ウーウオーウーオウッオいやーびっくりしすぎて、それどこでアンコウ鍋をやってみたところ、全然うまかった。ていうか生活が苦しい時代よりも明らかに良いものを使うと平和っぽく作ることがわかります。前回あとなんかマツコがマ文脈牡蠣ですはいだるかったのかと勉強になり、これ全体がコラーゲンじゃないのって感じで陳列があり、それは焼いたパンに乗せたらいい感じの肉があり、それについての補足を簡単にしているのか知らんけどいきなり茹でてみたく、さらに漫画も描けるから経費パワーも使えるという、デメリットが一切ない企画です。解体を丁寧にやると木っ端の骨が出てきます実際松茸と霜降り肉は1人200gを超えるとしにます翌日もだるまちゃん先生家では本命のあれを茹でましょうモリモリいきますはいまず肝臓を確保血管を割いて血を抜こうとしてくれろという取引がございます。白子はググったら高級っぽくて、アンコウらしいヒラヒラが映えますすっきりいわゆるちょうちん的な箇所は引っ張れば普通にクリアできるヒレに皮が残りがちだけどヒレから皮取ったら食うとこないだろ説もあるのでよーく茹でてますねおもむろに白子が出ていますエラには酢が到達して煮てもいいんだけど削ることに2500円を出すか?というとこういうことがわかってきます実際松茸と霜降り肉は合うと思う、別にテフロンじゃなくてゼスターグレーターでパルミジャーノを削っている状態でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えていますねおもむろに白子が出ないので丸呑みした胃を裏返してよく洗いますなんだかんだで皮膚が破損する湯通ししたねびっくりしすぎて、こんなふざけたものでは甘すぎるので醤油を足して二番だしをとります。肉ですそれ以外です味変ガンガン混ぜることで大阪のイベントの帰りに高島屋今半で肉をかまぼこにしてからよく噛んで食ってうまいしなんなら吊るし切りもやっています結構でかい切ると中は超魔界村の4面みたいになって1.5kg買ったけど食ったらいけました。食感だけでここまで嗜好性がいまいちよくわからないものを洗い流していて、こんなふざけたものではこのように死ぬ思いをしています。幸いシーズン最後の出荷分をゲットできて、何のために口の中で水分がガンガン出るので水はなるべく少なめにところで肝はうまかった記憶がありとてもおいしい。その他各種臓器も、消化器は開いて汚れを洗っていましたねびっくりした胃を、そろそろ、、とにかくできました。10分だかガッツリ茹でるのでノロウイルスはしにますスーパー計量タイム配合は忘れたので速攻で帰りました。その足でマテガイ採集に向かったということです。文脈ですが、それはそれとして参戦します。エラです。金曜の朝8時に市場へ着くと観光目的の人間はいきなり死ぬ」について主に考えてみたらこれもまた別件で、小骨の激しい部位の肉がありますとれたまだ頬肉がガッツリシカトされたので、合理的なものがどろどろと溶けていきます。のでこれは大洗で揚がってかつ内臓が出ないので丸呑みしたね。
こんにちは。イブニングで2話掲載がよくあり(よくあるのです)、今回もなのかなこれ謎腸に黄色いクリームみたいなのですがショップ情報には酢が到達しています皮湯通し後の世界です身の迫力を楽しみたいのでグッと大ぶりにカット炊いていきますハサミの方が便利だったハローいろんなのがはっきりしました。ていうか生活が苦しい時代も忘れて、しかしアシに入る日がそこから7日くらいあったので、折角だから大洗に行くことになりました。口の中で世界になります。店もここ以外やってみたく、さらに漫画も描けるから経費パワーも使えるという、デメリットが一切ない企画です。一応ニンニクやショウガもおろせるらしい。つうことで煮えました。アンコウはうまいです。ポタージュっぽくもありかなこれ謎腸に黄色いクリームみたいなのがあります。その他各種臓器も、消化器は開いてくるところでウツボは小骨がいろいろ邪悪で、厚削り節と鴨のガラが冷凍庫にあったのでめしです1kg1万円ぐらいで存在しやがって、アンコウの初心者にわりと取り付く島がなくなったのでめしです1kgパワーモリモリ割くはい肉よくわかんないのでここでラクができますが10kg級になるのでフードプロセッサで粉砕します。一体どうすれば、、冷水でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えてみましょうゆでた肝は固まりませんでしたが種類でいろいろあるんでしょう。胆嚢なのがいますはいはい人ん家を色んな角度から撮りますフムッ超時空バトル四の五の言わずぶちこみます以下、意味不明ですたぶん脾臓、味がとにかくきれいでうまいでは肉を外し終わったヒレを取りましょうモリモリいきます。やりました。実用的に硬質チーズや柑橘類を削りたい人間がどれくらいいるか」「人間はいきなり死ぬ」について主に考えています。これは固さとしては片はんぺんくらいで結構柔らかいのだから大洗に行くことに2500円を出すか?そんなことは特に気にして煮ます中華粥のニュアンスにするため、20分だか20分だか20分とかでぼちぼちじゃね?みたいになってほしい。年末最高。そんで年末の話です。よろしくお願いします。詳しくは各自読んでもらうとして、、冷水でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えていき、お前こんなふざけたものが世界に存在しやがって、そういえばクセもなくうまかった記憶があり、これも仕事ですね。
こんにちは。ブログ的に崩壊します。血管ぜんぶ引っこ抜いて細かく切って針ごと収容する)、調理環境に持ち込んだ時点ではまだ生きてたので昆布を足して二番だしをとります。とてもぬめっている酢まんべんなく塗りたくるこの状態のアンコウはうまい。よかったですね。
色々なことをしなければ平気だと思って元気付けのために今日もめしを食ってよいものだろう」との差異はよくあり(一部地域で「人体を食べることにつきましてはこれで14リットルだったので、買う際に「この袋はたべられませんでした。ていうか卵は高いやつだと取り回しが微妙なったのでそれに直交させればよいという知見があり、醤油、オイスターソース、(酢)、片栗粉、で餡をぶっかけました。これは何が起こっている塩とごま油と塩でざっくり洗って濾してニンニンク、ショウガに漬けて放置します。これは急いでた牛です。600gくらいでしたが、昔の偉い人の歴史や思想的なものを選びました。よかったですね。
色々なことが予想された臓器があり、同じ肉ではないでしょう。ジャガイモを茹でます。うま界さてこの当時、ぶっちゃけあんまり変わらなかったことになり、タタキが鬼のようなこと、うまいです。同様にする人はやっていくことで告知が出ますね。
色々なことが出来ず、糊を食ってうまい。よかったですね。

所感

本家の面白さには至らず力不足を感じましたが、とはいえそこそこおもしろい文章が生成できて満足です。

今回は完全ランダムでしたが、マルコフテーブルを作成する際文節の出現頻度のスコアリングするなどすることでもっと「っぽい」文章が作れるかもしれません。

よかったですね。

2017年2月 開発PC環境

12月にMacbook Pro 2016(Lately) が届いて以降、今までの環境を抹消しゼロから環境構築を始めた。

2ヶ月ほど経ったのでそろそろ環境に慣れ/落ち着いてきたのでメモ程度にまとめようと思う。

基本思想としては、「なるべくシンプル且つモダンな方に寄せる」です。ギークなエンジニアのコンソールとか見てると「すげー」となるけど、そのためにあれやこれやとスクリプトを導入してメンテをするのも面倒なので。

シェル

zshを使用。以前はoh-my-zsh使ってたけど、やたらめったら重いのと、どのツールがどの挙動に影響を及ぼしているのか追うのもめんどくさいくらいもりもりに色々入っていたので、zplugに移行した。

移行に際して、主に以下の記事を読めば概要をつかめる。

fishへの移行も頭をよぎったけどzshに不満はないしエコシステムもzshは豊富なので保留。

CLI

汎用

peco

インタラクティブでインクリメンタルなフィルタリングツール。CLI弱者だけどこれはもうかなり重宝している。 後述するghqとの連携、プロセスのkill, コマンド履歴操作、ブランチの削除などなど使っているものは幅広い。

この記事を書く直前までpeco中の移動に矢印キーを使っていたのだけど、不便なのでvimライクなキーバインドで操作できるように~/.peco/config.json に以下を記述したのでCtrl+jとかで操作できるようになった、便利。

    "C-j": "peco.SelectDown",
    "C-k": "peco.SelectUp",
    "C-q": "peco.Finish",
    "C-l": "peco.ScrollPageDown",
    "BS": "peco.ScrollPageUp"

ghq

リモートレポジトリ管理ツール。 まんまこの記事をそのままの設定で使っている。便利すぎか。

ghqでリポジトリ管理とpeco連携で快適git生活

gitmoji

一時期前に「commit messageの頭に絵文字をつけよう」という話がバズり、各社/個人ルールで絵文字を定義する記事が乱立した。

qiita.com

qiita.com

atomの開発で絵文字を推奨しているのがことの発端なのかな?

/.git/template でプロジェクト単位のテンプレ作ったりしてるのが現状だと思うんだけど面倒なのでgitmoji に任せている。(とはいえ絵文字の選択にもにょりを感じたりはある)

tig

git commit log見たり中身見たり。

web

httpie

curlの代替としてのhttp request client。

hey

パフォーマンスチェック用。以前はboomって名前だったのにheyってなんだheyって。ネームスペース被ってググラビリティを優先したんだろうか

mattn/memo

3日前くらいから使い始めた。 今までmarkdownでちょろっとメモをとりたいときとかは、文章量が多い順にatom, vimを使っていた。 atomはプレビュー見ながら書けるけど起動が重い、vimは起動早いけどプレビュー見れない。 また他のメンバーに共有したい場合、slackにpostするかqiita teamにはるか、何かシェアする手段が必要だった。 mattn/memo は起動が早く(エディタにvimを使用)、memo serve で気軽にプレビュー/シェアできる(ローカルサーバー建ててURL共有する)ので重宝しそう。

エディタ

使用頻度で rubymine > vim > atomvimIDE並の機能にするまでメンテする気が起きなかったのと、gemのソース見るのとかさくっとできるので金の力で解決。JetBrain社に圧倒的感謝。

という状態だったんだけど、2日前にneovim環境を構築し始めた。 今まで vim + neobundle だったんだけどneovim + dein.vimに移行中。Shougoさんは神(使うOSSで一通りShougoさんが登場して本当に足を向けて寝られない)

音楽プレーヤー

iTunes or play music desktop player or vlcapple music会員なので洋楽のジャケ買いというかジャケ借りでひたすら好きなジャンルをあさりつつ、高校生までTSUTAYAに通い集めたJ-ROCKなどは全てgoogle musicにアップしているのでplay music頼り、最近flacで取り込むようになってからはvlcで対応している(統一したい)。

仮想OS

pararrel desktop for macが半額くらいでセールで買えたので稀に使う。今日(2/12)もゲリラセールやってて¥5,000しないで買えるようだ。

n.shop.vector.co.jp

その他macGUIツール

Shiftit

ウィンドウの位置と大きさをシュッと変えるやつ。

alfred

もはやデファクトといえるランチャー。 alfred2時代にPower Support買ってたけど使う機会少なかったのでalfred3では無料の範囲内で使っている。

その他は以下

reizist ~ $ brew cask list
1password               cheatsheet              licecap                 shiftit                 vivaldi
alfred                  dash                    origin                  skitch                  vlc
appcleaner              duet                    rstudio                 slack                   xquartz
atom                    google-japanese-ime     rubymine                steam
bettertouchtool         java                    sequel-pro              the-unarchiver

Amazon Echo Dotが来た

amazon echo dotがやってきたので試した。

f:id:reizist:20170125134944j:plain

何者なのかは

www.gizmodo.jp

とか

www.amazon.com

とかを見るとわかる。

一言で表すと凄い音声認識技術付きIoTbluetoothスピーカーという感じで、

「Hey Alexa, play today"s hit on Pandora」と言って音楽を再生させたり「Wake me at 6 am」と言ってアラームをセットしたり、

amazon dash buttonと同じように 「音声」をスイッチャーとしてAmazon lambdaと連携して好きなイベントを発火させることができる。

もちろん普通のbluetoothスピーカーとしても動作するので、iphonebluetoothで接続しiphoneから音楽を再生することもできる。

音声認識技術の精度が凄くて、英語ならほぼほぼ認識してくれてよしなに何かしてくれる。 予めサービス連携しておくと接続したサービス内の処理をしてくれるので、iphoneがなくても唐突に音楽を聞けるという体験は最高に未来感がある。 amazon iot buttonと同様、設定を行う方法としてはweb or アプリがあるが、 iosアプリは米国appleアカウントが必要なので手間がかかる。

しかしweb dashboardからでも

連携サービスの設定ができたり、 f:id:reizist:20170125224306p:plain

インターネット上に落ちている「能力」を得ることができたり、 f:id:reizist:20170125224310p:plain

音声認識のフィードバックが送れたりと必要十分感がある。

今はオフィスに一台あるのだけど、音声認識の精度が凄く凄いので家にも一台欲しい。

とはいえ日本での入手はまぁまぁ困難で、メルカリに1st gen が転がっていたりするくらいで、

amazon.co.jpでも在庫切れが続いている状態。

完全にスマートハウス化している各位は買うと捗るんじゃないかな。