Memento memo.

Today I Learned.

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

denite.nvimとag使い始めた

かの有名な暗黒美夢王ことShougoさん開発中のdenite.nvimを使い始めました。いつもありがとうございます。超速くていい感じです。 install方法とか詳細な説明は以下のエントリが詳しいので割愛。 qiita.com とりあえずdeniteの設定自体は :h denite に載って…

Ruby2.3系での"Missing frozen string literal comment"への対処

Missing frozen string literal comment Ruby2.3系でRubocopを実行したら Missing frozen string literal comment と怒られました。 ファイルの先頭に以下のmagic commentが必要とのこと。 # frozen_string_literal: true これによってRubyのStringリテラル…

Git Large File Storage (LFS)を使う

Git

会社のSlackでGit Large File Storage (LFS)なるものを知ったので適当に使ってみました。 git-lfs.github.com Git LFSとは? Gitの拡張です。 画像とか音声みたいなLarge File(BLOB)をGitで管理しようとめちゃくちゃ重くなってきます。 直接BLOBをいじらず…

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

Effective Ruby 第四章 例外 まとめ - Memento memo. の続きです。 第五章 メタプログラミングについての前半部です。 Effective Ruby作者: Peter J.Jones出版社/メーカー: 翔泳社発売日: 2015/01/19メディア: Kindle版この商品を含むブログ (4件) を見る モ…

翔泳社の技術書(電子版)が40%オフセールだったので色々買った

技術書は分厚くて持ち歩くのがしんどいので最近は全部電子版を買って読んでます。 翔泳社の技術書はKindle対応してるので最高です。 翔泳社の技術書のセールが始まったらしいので色々買いました。 個人的にメインはDDD本です。 www.amazon.co.jp 買った / す…

VegetaでPhoenixとRailsの負荷テスト

以前会社の同期とご飯を食べていた時、 HTTP負荷テストツールのVegetaというものを紹介してもらったので試してみました。 github.com GitHubのプロジェクトページを開くとイカしたサイヤ人の王子が目に飛び込んできます。 Golang製ツールで、CLIで比較的簡単…

PhoenixのChannelを使う

www.phoenixframework.org Phoenixのガイドを眺めていて一番気になったのがChannelだったので、上記の公式ガイドに沿ってChannelを使ってみました。結構端折っています。 プログラミングElixir作者: Dave Thomas,笹田耕一,鳥井雪出版社/メーカー: オーム社発…

Effective Ruby 第四章 例外 まとめ

Effective Ruby 第三章 コレクション まとめ - Memento memo. の続きです。 今回はRubyの例外についてです。 例外は、以下の2つの異なる言語機能をまとめたものだと考えられます。 エラーの説明 制御フロー raiseにはただの文字列ではなくカスタム例外を渡す…

The actor model in 10 minutes [日本語訳]

10分でわかるアクターモデルです。 Erlang, Elixir, Scalaあたりを触るときに理解すべき内容です。 元ネタ: www.brianstorti.com Introduction 我々のCPUは速くなりません。 CPUには今やたくさんのコアを積んでいますが、 全てのハードウェア資源を利用した…

PhoenixのTemplate Engineを Slime (Slim) にする

Slime PhoenixのデフォルトのTemplate Engineは erbライクなeexです。 RailsだとerbよりSlimを使うケースも多いと思いますが、 PhoenixでもSlimライクなTemplate Engineが存在しました。 その名もSlimeです。ロゴがスライムっぽいですね。 github.com 多分発…

Effective Ruby 第三章 コレクション まとめ

Effective Ruby 第二章まとめ その2 - Memento memo. の続きです。 第三章はコレクションです。コレクションをうまく扱えるかどうかはコードの可読性・保守性にダイレクトに効いてくる気がするので、言語ごとのクセを把握しておきたいです。 Effective Ruby…

Phoenix環境構築(Install・Server起動・ページの追加まで)

ElixirのWebフレームワーク Phoenixの入門 環境構築についてです。 公式Docの Up And Running · Phoenix Adding Pages · Phoenix に載っているものを簡略化 & 日本語化したものです。 Elixir Elixirについての詳しい概要はこちらの記事が参考になります。 qi…

Effective Ruby 第二章 クラス、オブジェクト、モジュール まとめ その2

Effective Ruby 第二章まとめ その1 - Memento memo. の続きです。 Effective Ruby作者: Peter J.Jones出版社/メーカー: 翔泳社発売日: 2015/01/19メディア: Kindle版この商品を含むブログ (3件) を見る 構造化データにはHashではなくStructを使う 新しいク…

Effective Ruby 第二章 クラス、オブジェクト、モジュール まとめ その1

いつぞやの続きです。 shotat.hateblo.jp Effective Ruby作者: Peter J.Jones出版社/メーカー: 翔泳社発売日: 2015/01/19メディア: Kindle版この商品を含むブログ (3件) を見る 一記事一章にまとめようとしたところ二章目から量が多くて詰んだので適当なとこ…

OSSへContributionする際のPull Request出す手順とか

最近PhoenixとかElixir面白そうだなーと思って勉強しているんですが、 PhoenixのCONTRIBUTING.md の説明がOSS Contribution guideとして分かりやすかったのでメモ。 github.com 詳細は、上記リンク読むとわかります。コマンドとかも載ってます。 要点をまと…

zsh promptをpureに設定した

Zsh

zshの見た目とか補完とかhighlightの設定とかもろもろ変えようと思ってたら pure がめっちゃしっくりきました。 github.com Most prompts are cluttered, ugly and slow. I wanted something visually pleasing that stayed out of my way. らしいです。 zsh…

Effective Ruby 第一章まとめ

最近仕事でJava、趣味でElixirを書いてるのですが、来週くらいから仕事でRuby書くっぽいのでRubyの復習を始めつつブログのネタにします。というわけでEffective Rubyを読み始めました。初見です。 Effective Ruby作者: Peter J.Jones出版社/メーカー: 翔泳社…

Vimのtabは使わなくて良いかも

Vim

Vimにはbuffer, window, tabという概念があります。 このへんの詳細は以下のエントリ等にまとまっていました。 cohama.hateblo.jp :tabnewコマンドでtabを生成することができます。が、僕は全く使いません。 複数ファイル編集時はWindow分割してbufferを適当…

Vim再入門 Operator, Motion, TextObjectの理解とドットコマンド

Vim

Vimを使う上で "."コマンドが重要です。 "."コマンドは直前の操作の繰り返しを行うコマンドです。 例えばdawコマンドはカーソル下の単語を削除する操作ですが、ここで"."キーを押下すると再び他の単語を削除することができます。 1単語を削除する、等の定形…

BEAM(Erlang VM)とは何の略語なのか

JavaのVMと言えばJVM、すなわち"Java Virtual Machine"です。 Erlang VMの主流なものにBEAMというものがあるのですが、何かのアクロニムなのでしょうか。 Wikipediaや日本語記事は見つかりませんでしたが、StackOverFlowで回答されてました。 stackoverflow.…

Neovim で C++ 書く用の環境を整える

アルゴリズム的なところの補強がてら、ちまちま競プロの世界に入門してみようかと目論んでます。 競プロといえばC++っぽいのでおよそ3年ぶりに環境作りました。Neovim用です。 以下のプラグイン設定で最低限の 自動補完 シンタックスチェック ビルド(quickr…

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

備忘録 前提条件 以下導入済みのこと Neovim dein.vim deoplete.nvim 設定 call dein#add('elixir-lang/vim-elixir') call dein#add('awetzel/elixir.nvim', \{'build': \ 'sh -c ' . '''yes | ./install.sh''' \}) deoplete対応のpluginが増えてきてるので…