頭の整理

JavaScript, Ruby, RSpec, Node.js, Rails TDDなどに興味があるWeb系SEが学んだことを整理していきます

【Ruby】AWS S3へのクライアント側暗号化用のコマンドを作成しました

AWS SDK for Rubyを使ってS3へファイルをクライアント側で暗号化(Client Side Encryption)してアップロード,暗号化したファイルを復号化してダウンロードするためのコマンドを作りました.使う際はRubyGemsからインストールしてください. 前提として理解し…

【Ruby】if, unless 修飾子をつなげる

if, unless修飾子でネストを浅くしたりしますが,書き方で知らないことがあったのでメモ. hoge = 'hoge' if true #=> 'hoge' moge = 'moge' if true unless false #=> 'moge' foo = 'foo' if true unless false if true #=> 'foo' bar = 'bar' if true unle…

【JavaScript】プロトタイプベースのオブジェクト指向について

※Object.createの使い方に関して修正しました. プロトタイプベースのオブジェクト指向と,JavaScriptでのその扱い方について混乱していたので整理しました.コンストラクタ,プロトタイプ,インスタンスの用語の整理とprototypeプロパティの説明,継承の実…

power-assert使ってみた - 東京Node学園 10時限目に参加してきました

東京Node学園 10時限目に参加してきました. 東京Node学園 10時限目 - connpass そのなかで@t_wadaさんが紹介されていて個人的に興味があったJavaScriptのテスト用ライブラリpower-assertを使ってみました. 具体的にはNode.jsのテストフレームワークmocha用…

grunt0.4.1インストールしてみた

grunt使ったことなかったのでインストールしてみました. 対象のgruntのバージョンは0.4.1です. gruntとは Grunt: The JavaScript Task Runnerによるとgruntは「The JavaScript Task Runner」と書かれています. よく「JavaScript用のビルドツール」と紹介…

RSpec Mocks 2.14で導入されたSpyとRSpec2.14の新記法について

RSpec 2.14 で新記法が導入されてRSpec Mocks 2.14でSpyが導入されていたので整理してみました. stub()とshould_receive()の代わりにallow().to receive()とexpect().to receive()が使えるようになっていたり,Spyが導入されたことでRSpecを用いたテストの…

TDDeXchange in Tokyo 参加レポート - 主にTDDの自殺の所感 #tddex

先月末の話ですが,TDDeXchange in Tokyoに参加してきました. 内容は@kyon_mmさんの「TDDの自殺」という題の発表と,参加者がTDDできる環境のPCを持ち寄って実際にやってみるというものでした.発表を聞いて質問してみてTDDの自殺の意味と危険性,テストダ…

参照の値渡し - Ruby, JavaScript, Python

多くのプログラミング言語では値渡しが基本ですが,渡す値が参照だった場合に参照先の配列の中身を変更できたりするのでプログラミングを始めたばかりの人が混乱することがあります.まず,参照の値渡しとはある変数が保持している「参照の値」を別の変数に…