ポジティブ丸メガネ

3年目エンジニアです。

今年買ってよかったもの6選+α!

はじめに

そろそろ、2016年も終わりですね。あと1ヶ月と少し。

2016年は、京都から東京に引っ越したことや働き始めたことも相まって、色々なものを購入しました(ほとんどAmazon)。ものを買うときはかなりレビューとか読み漁って本当に自分が満足できるのかを吟味しています。そのなかでも、本当に買ってよかったものをジャンル別に紹介したいと思います!何かの参考になれば幸いです。

生活用品

珪藻土(けいそうど) バスマット

僕のなかで、今年1番買ってよかったものがこれです、珪藻土バスマット。半年以上使ってますが非常に快適です。

買うまでは、普通の布地のバスマットを使っていたんですが、誰かが使ったあとはビチョビチョで気持ち悪くて使いたくなかったり、かび臭くなったり、すごい不潔な感じがして嫌でした。しかし、珪藻土バスマットではこれらの不満な点がすべて解決できます。おすすめポイントは以下!

  • ビチョビチョでマットに乗ってもすぐ乾く!誰かが使った後でも気持ち悪くない!
  • 布地のものよりも足がすぐ乾く!水分が吸い取られる!
  • きれいにしたければ雑巾で軽く拭いて日陰干しするだけでよい!

ズボラな人には本当に最高の商品でした。同期におすすめしたら何人か買ってて笑いました。

イワタニのたこ焼き器

関西人はみんな大好き、たこ焼き!なかでもガスコンロタイプのたこ焼き器は圧倒的に美味しく焼けます!外はカリカリ、中はとろ~り!我が家に来てたこ焼きを食べた人はみんな満足してくれます。ちょっと高いですけどね〜それでもすぐ焼けるしアヒージョとかもできるしおもったより便利です。

コーヒーボトル

会社で、昼食後すごくコーヒーが飲みたくなって、毎日のように買って飲んでたんですが、節約のために買いました。コーヒーボトル。言うなればコーヒー専用の水筒です。別に水筒なんてなんでも良いと思いますが、このコーヒーボトルはコーヒーを入れるために作られているみたいで、それにつられて買っちゃいました。量もちょうどいいし、保温性も高いし、毎朝コーヒー入れて持っていってます。

家電用品

振り返ってみると、家電系、すごい買ってました。ビビった。厳選しました!

PS4 × nasne

なんだかんだ、一人暮らしだとテレビを見る機会があります。特に僕の場合は高校生の頃からアニメばっかり見てます。あとは特定のバラエティ番組。ただ、夜は寝たいし、みたい番組がやっているタイミングではなかなかテレビが見れません。録画機は、最近まではPS3 × torneで賄っていました。ただ、最近、誘惑に負けてPS4とnasneを買いました…これが快適すぎて、もう、ね。最高な点は以下!

  • すごく快適なUIUXで、ストレスフリーで録画予約・視聴ができる。開発者すげえ。
  • 外出先からも予約ができる。もちろんキーワード予約とかも。
  • 外出先から録画番組が見られる!通信量すごいからWi-Fi環境でしかやりませんが。
  • 録画した番組をスマートフォンで持ち出せる!!データ通信量かからないので最高!!

高かったけど、ゲームもできるし、録画もできるし、これは最高。ダメ人間まっしぐら。
※なんかnasneの新しいのが出てたのでリンクはそっちです。

Bluetoothヘッドホン Bose Quiet Comfort 35

学生の頃から、ずっとヘッドホンが欲しかったんですが、ヘッドホンは眼鏡との相性が最悪です。フレームの上にヘッドホンを乗せることになるので、非常に痛くなってくるのです。痛くならなくて、Bluetooth接続で、ノイズキャンセリングのヘッドホンをずっと探してました。

待ちに待ったヘッドホンが6月下旬に発売されたので、発売日に購入!!Bose Quiet Comfort35!!最高な点は下記!

  • メガネをしてても痛くならない!(なりにくい)
  • Bluetooth接続、すなわちワイヤレスなので、快適!
  • ノイズキャンセリングなので雑音が消えて音がクリアに聞こえる!

ただし、高い。(笑)ですが、ひじょーにひじょーに満足です。

Bluetoothマウス

プライベートでも仕事でも、Macを使っているのですが、AppleMagic Mouseがいまいち使いやすいと思えません。やっぱり、ホイールがちゃんとあるほうが使いやすいなと思ってしまいます。でも、クリック音は小さいほうがよくて、電池も長持ちで、小さいマウスがほしかったのです。そこで見つけたのがこれ。Microsoftのマウス。職場でも使ってますが、何不自由なく使ってます。クリック音がちいさくて、肌触りもマットな感じで非常に良い。

本(番外編)

この半年くらいで読んだ本の紹介です。エンジニア1年目として、社会人1年目としておすすめされたり、自分が知りたくて読んだ本が多いです。

お金の教科書

これが1番最近読みました。2時間位で、お金のことについて簡単にしれるので非常に良かった(ちょっと古いけど)。もっと資産運用について深く知りたくなって、別の本を新たに注文しちゃいました。

Think Simple

誰もが知るカリスマ、Steve Jobs。彼はシンプルの杖を持っていて、あらゆる物事をこの杖で叩きます。シンプルの哲学を貫き通し、社内に浸透させたからこそAppleの成功があることがこの本を読むと痛感できます(現在のAppleがいまいちになりつつあることもなんとなくわかっちゃう)。なかでもおもしろいのが、インテルDELLMicrosoftがすごい勢いでディスられていることです。

影響力の武器

他人を、自分の思い通りに動かしたいなと日々思っています。その第一歩としてこの本を読みました。すごく長くて、実験の話が多くて、わりとつらいです。まとめサイトとかもあるので、それを読むだけでも十分な気がしますが。

言われてみると、当たり前やん〜みたいなこととかを、明言化されると妙に納得感があって非常にためになりました。

サーチインサイドユアセルフ

瞑想っぽい話。自分を客観的に捉えて、自分が今どういう風に感じているかとかを知ろうみたいなことが書いてある。普段から自分のことを客観的に捉えてたんですが、より感情に着目するようになりました。特に話し合いとかしているときは、自分が怒ってしまっていることにすぐに気がつけたりします。

仕掛け学

同期が貸してくれた本。2時間くらいで読める。内容は薄いし、自分で作れるようになる気はしないが、例が沢山載っているのが勉強になった。

AWSの本

最近AWSを利用することが多くなっています。配属直後から触っていて、その初めに買いました。全部読んだわけじゃないですが、いまでもチラチラみたりします。ただ、悲しいのが、AWSの進化が早すぎて、ここに書いてある情報が古くなっていること。半年前の本なのになあ。

クラウドファーストアーキテクチャ設計ガイド

上司に読めと言われて読んだ本。ぼんやりとクラウドファーストアーキテクチャとはどういうものか知れたのでよかったが、今もう一度読むと新たな発見がありそう。ただ、具体例とかが少ないので、抽象的な概念を知れる感じ。

さいごに

Amazonの注文履歴見ながら書いてたんですが、金遣いあらすぎ。来年はもう少し節約して、もっと本を読もうと思いました。

Swift×Eurekaで簡単に設定画面を作る

私が作ったアプリに設定画面を追加したくなり、色々探してみて簡単に作れたので備忘録として残します。

読んだ。

読んだ。

  • Seiya Mogami
  • 仕事効率化
  • 無料

設定画面を作る方法案

とりあえずぐぐってみると、便利そうなライブラリは下記2つくらいでした。
github.com
github.com

QuickDialogはSwiftで実装している記事がなかなか見つからなかったのと、全然更新されていなかったのでEurekaを使うことに。

導入

GitHubのReadMeの下の方にInstallationがあるのでそこ参考にすればいけるかと。

設定画面を作る

まず、Storyboardで設定画面のViewを作成します。適当にSettingsViewControllerとかにしました。対応するSwiftファイルを作成し、下記のようにコードを書きました。

import Foundation
import Eureka


class SettingsViewController : FormViewController{
    
    let userDefault = NSUserDefaults.standardUserDefaults()
    let itunesURL:String = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=xxxx"

    override func viewDidLoad() {
        super.viewDidLoad()
        
        form +++ Section("通知時刻の設定")
        <<< TimeRow(){
            $0.title = "通知時刻"
            if let temp:AnyObject = self.userDefault.objectForKey("Time") {
                $0.value = temp as? NSDate
            }
            
            }.onChange{row in
                self.userDefault.setValue(row.value, forKey: "Time")
        }
        
        form +++ Section()
            <<< LabelRow("Review"){
                $0.title = "AppStoreで評価する"
                }.onCellSelection(){row in
                    self.userDefault.setBool(true, forKey: "Review")
                    let url = NSURL(string:self.itunesURL)
                    let app:UIApplication = UIApplication.sharedApplication()
                    app.openURL(url!)
        }
    }
}

どんな動きをするかは、コードを見ればわかると思いますが、実際触ってみたい方はアプリをインストールしてみてください。どんなアプリかは下記参照。
seiya-orz.hatenablog.com

入力された値は「row.value」に格納されます。ただ、型がわからなかったのでどう扱えばよいか苦しみました。そんなときは「row.value.dynamicType」をprintすればどんな型で格納されているかわかるので、デバッグしてみてください。


詳しい書き方はGitHub見るか、下記サイトを見ればなんとかなると思います。
blog.personal-factory.com

終わり。

Raspberry Pi × hubot × Slackでbot運用

家でのうのうと過ごしているラズパイに仕事をさせるため、Hubotいれてみました。
macからssh接続で作業してます。参考にしたのは下記サイト。
www.tapun.net

ラズパイのセットアップ

まずはnpmのアップデートから。

sudo npm install -g npm

続いてnodejsのアップデートのためにnというnodejsのバージョン管理ソフトをインストール。

sudo npm install -g n

そしてnodejsの安定版をインストール。

#安定版インストール
n stable
#最新版インストール
n latest


ここからはhubot関係をインストールします。
yoとgenerator-hubotとcoffee-scriptを入れます。

sudo npm install -g yo generator-hubot coffee-script

続いてbotの作成です。任意の場所にディレクトリを作成し、その中でbotを管理します。

mkdir mybot
cd mybot
yo hubot

うまく動くと下の画像が表示されます。
f:id:seiya-orz:20160625211518p:plain

色々聞かれるので適当に入力。ただし、Bot adapterは必ずslackと答えること。

ローカルで動作確認のために、mybotディレクトリで以下の入力。

bin/hubot

もしかしたら、nodejsとかnpmとかのバージョンが古い的なことを言われるかもしれません。その場合は上記のアップデートをすれば突破できるはず。
pingとなげればPONGと帰ってこれば正常に動作しています。正常な動作が確認できれば、control+cで一旦hubot終了。次はSlack側の設定です。

Slackの設定

Webでもデスクトップアプリでもどっちでもよいですが、追加したいチームの「Apps&Integrations」をクリック。Slackのページに飛びます。
そこの左側のFeatured>Brilliant Botsをクリック。一番上にHubotが出てきているはずなのでHubotをクリック。
Add ConfigurationボタンをクリックしてBotの情報を入力していきます。Botの名前を入力すると、API Tokenが表示されるのでそれをコピーしておきます。
再びラズパイへ戻ります。

BotをSlackで動作させる

設定ファイルを編集します。

vim bin/hubot

すると下記が表示されるはずなのでAPI Tokenを記入します。

#!/bin/sh

set -e

npm install
export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH"
#ここに先ほどWebページで取得したAPI Tokenを書きます。
export HUBOT_SLACK_TOKEN=xxxxxxxxxxxxxxxxxxxxxx(自分のものを入力)

exec node_modules/.bin/hubot --name "mybot" "$@"

Slackで動作させる準備が整ったので、下記を実行します。

bin/hubot -a slack

Slack上でBotがオンラインになれば動作しています。先程と同様にpingを投げるとPONGが返ってくるはずです。

動作させたいScriptは、mybot/scriptsのなかに.coffeeでかけば勝手に読み込んでくれます。複数ファイル置いておいても全て読み込んで実行してくれます。
書き方は下記サイトが参考になりました。
blog.fumiz.me

Hubotのデーモン化(バックグラウンド動作)

現在の状態のままだと、MacSSH接続を解除してしまうとHubotも停止してしまいますので、ラズパイのバックグラウンドで動作させるためにHubotのデーモン化を行います。

nodeをデーモンとして動かすためのソフトforeverをインストール。

sudo npm install -g forever

Hubotを動かすために叩いているbin/hubotを以下のように書き換えます(execをコメントアウト、foreverを追加)。

#!/bin/sh

set -e

npm install
export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH"

forever start -w -c coffee node_modules/.bin/hubot -a slack
# exec node_modules/.bin/hubot --name "mybot" "$@"

これでBotが起動していればデーモン化完了です。

まとめ

思っていたよりも簡単に導入できてビックリしました。いろんなとこで少しずつつまずいてちょっと時間かかりましたけど。

ここからはコードをバリバリかいて自分だけの便利Botを作っていくだけですね。



おわり。