Memento memo.

Today I Learned.

2016-10-01から1ヶ月間の記事一覧

Eslintでunderscoreから始まる変数をチェックさせない設定にする

defined but never used って怒られるやつです。 error '_jqXHR' is defined but never used no-unused-vars _xxx みたいにアンダースコアから始まる変数は未使用でもokな設定にしたい、と思い調べました。 以下のリンクが該当箇所でした。 eslint.org .esli…

Rubyのobject_idからobjectを取得する

備忘録です [1] pry(main)> hoge = "foo" => "foo" [2] pry(main)> hoge.object_id => 70163083352460 [3] pry(main)> ObjectSpace._id2ref(70163083352460) => "foo" yeah!

Elixir ApplicationをGAEにデプロイ

GAEの説明を見る限り、メジャー言語しか対応してなさそうに見えたのですが、 Docker (Custom Runtimes) を選択すれば何でも動かせるそうです。 EBSもGAEもDockerさえ使えばどんなRuntimeでも使える => Elixirも動かせる!!! ということでGAEにElixir製のbo…

Elixir製Hubot風BotフレームワークのHedwigでSlack Botを作る

Hubotに飽きたので、HedwigというElixir製のFWでbotを作ってみようと思い立ちました。 Hedwig github.com Adapter baseのHubotっぽいBotフレームワークです。Elixirです。 公式のAdapterでSlack対応してます。 Setup mixでprojectを適当に作ります。supervis…

Concurrent Rubyで並行処理プログラミング

Rubyで並行処理を書きたかったのですが、自前でスレッドセーフなプログラムを書ける気がしないのでgemを探して来ました。 Concurrent Ruby github.com Be an 'unopinionated' toolbox that provides useful utilities without debating which is better or w…

NeovimでGolangを書く環境を整える

Dockerの勉強を始めたのでGolangもついでにやります。 スターティングGo言語作者: 松尾愛賀出版社/メーカー: 翔泳社発売日: 2016/05/11メディア: Kindle版この商品を含むブログを見る GoのInstall & 環境設定 $ brew install go GOPATHを設定しないといけな…

npm installで依存関係エラーが出る場合の対処

eslint周りで色々installしていたら依存関係でエラーを吐いてどうにもならなくなりました。 結論としては、npmのversionを最新化したら直りました。 npm installが失敗した時に試したい3つのコマンド - Qiita にもありましたが、以下のコマンドで最新化でき…

Gemfileとpackage.jsonでみるバージョン指定の読み方

Semantic Versioning 2.0.0 セマンティック・バージョニング(SemVer)によると バージョンナンバーは、メジャー.マイナー.パッチとし、バージョンを上げるには、 APIの変更に互換性のない場合はメジャーバージョンを、 後方互換性があり機能性を追加した場…

プログラマのためのDocker教科書を読み始めた

Dockerを使いこなせないと会社で人権がないので プログラマのためのDocker教科書を読み始めました。 プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化作者: WINGSプロジェクト阿佐志保出版社/メーカー: 翔泳社発売日: 2015…

npm scriptsを並列実行する

npm-run-all を使う github.com 使い方 npm i --save-dev npm-run-all でinstallします。 直列・並列実行コマンドの run-s, run-p が使えるようになります。 package.jsonのscripts部を以下のように設定してみます。 "scripts": { "dev": "run-p stub watch"…

Node.jsのversionをプロジェクト毎に設定する

Rubyの場合は .ruby-version にバージョン指定すればプロジェクト毎にversion指定できるのですが、 Node.jsの場合どうすればいいのか分からなかったので備忘録。 大きく分けて2パターンありました。 avn を使う .node-version でversion指定すればディレクト…

Ruby Style Guide読んだ && 一部抜粋

github.com 普段はRubocopのおかげで概ねStyle準拠できているはず、と思ってたのですが、 改めてStyle Guideを読むと知見がたくさんありました。 以下、個人的に把握できてなかった箇所を抜粋しつつ、今後意識していきます。 andとorの使用は禁止 使うべき理…

Effective Ruby 第六章まとめ テスティング

Effective Ruby 第五章 メタプログラミング まとめ その2 - Memento memo. の続き。 Effective Rubyのテスティング章をまとめていきます。 MiniTestはRuby標準のテスティングライブラリで、 主要なコンポーネントは以下の3つです。 ユニットテスト スペック…

Elixir & Phoenix のLT資料

先日、Elixir & Phoenix布教をすべく、社内でLTをしてきました。社内LT会自体は毎週やっているので、個人的に最低月1回は発表するよう心がけています。 内容は超薄いのですが、とりあえず公開することが大事だと思うので資料upしました。SpeakerDeckデビュー…

GitHubのリポジトリを直接指定してgemをinstallする

自作gemとかOSSのgemのリポジトリとかブランチとかを指定して使いたい場合の解決策です。 リポジトリの .gemspec ファイル等は設定済み前提で。 Gemfile使う方法とGemfile使わない方法の2通りあります。 Gemfileを使う場合 普通に指定できます。以下のように…

Effective Ruby 第五章 メタプログラミング まとめ その2

Effective Ruby 第五章 メタプログラミング まとめ その1 - Memento memo. の続きです。 モンキーパッチの代わりとなるものを検討する モンキーパッチとは モンキーパッチとは、実行時にコアクラスを拡張したり挙動を書き換える(パッチを当てる)こと。Acti…