tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

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

【vim】uコマンド

undoコマンド 操作を取り消すコマンド

【Linux】sort

テキストファイルの中身をソートする。 sort オプション ファイル名 -n 数値をソート -r 逆順でソート -k 数値 指定した数値の列を対象にソート(デフォルトは最初の単語の一文字目でソート)

【Linux】tail

tail -f ファイル名 ファイルのリアルタイムの変化を出力する。 logファイルを出力する際に便利。

【Linux】touch

ファイルのタイムスタンプ(最終更新日)を更新する。 指定したファイルが存在しない場合新しいファイルを作成する。 -tオプションで更新時刻を指定できる。

【rspec】テスト構成について

・テストの組み合わせの数が非常に大きい時は変数値のすべてのペアをテストする。このやり方だと、作成・実行しなければならないテストケースは大幅に減る。 ・ほとんどの欠陥はシングルモード欠陥(テスト対象の機能が単に動かないのであり、その機能に対す…

【rspec】bom付きの文字コードでcsvした時の文字列の比較

同じ文字列に見えるbytesizeメソッドで比べてみるとbomがついている分バイトサイズが異なる。見た目は同じでもeqで比較するとpassしない response.body.sub(/^\uFEFF/, '') subメソッドでbomの部分を空の文字列に置き換えるとうまくいく。

【rspec】match

expect(response.body).to match dataでdataがresponse.bodyに含まれればpassする。完全に一致する必要はない。

【mac】行を選択

shift + command + → で1行を全て選択することができる・

cronについて

UNIX系に組み込まれているプログラム。定期的に設定した処理を実行させることが出来る。 railsではwheneverというgemでcronの処理をrubyを使って記述することができる。 参考 http://freecamp.life/rails-whenever/

【rails】compact/compact!

配列のnilを取り除いた配列を返す。 a = [a, f, s, nil] a.compact a = [a, f, s]

【rails】ネストしたtransactionについて

ネストしたtransactionは以下のようなオプションをつける ActiveRecord::Base.transaction(joinable: false, requires_new: true) do # inner code end 参考 https://qiita.com/jnchito/items/930575c18679a5dbe1a0

【rspec】テストをする際に気をつけること

「〜されないこと」のみをテストしない →期待した動きになっていない場合でもテストがパスする可能性があるから。「〜される」場合もテストすること。 境界値をテストする →引数が20以上でtrue,falseが分かれるメソッドをテストする場合19と20でテストを行う…

【rails】slice(整数, 整数)

配列から要素を取得することができる 第一引数が要素番号、第二引数が取得する要素数

【JQuery】 val option:selected

valメソッドでselectボックスの中の選択されている値を取得したい場合 option:selected を指定する。 参考 https://qiita.com/tomcky/items/8f1868f1fb963732de39

【JQuery】change

【 対象要素.change( イベント処理関数 ) 】 参考 https://www.sejuku.net/blog/41231

【JQuery】bind

対象要素にイベントを紐づける。 $('.button').bind('click', function(){ alert('Hello World'); }); 参考 https://pisuke-code.com/jquery-diff-between-on-and-bind/

【rspec】letの実行順

インスタンスを生成するletやpostの実行順が正しくないとletが生成される前にpostしてしまう可能生がある。

【rspec】renderのstatus

renderのresponse.statusは200、redirect_toは302 テストするには expect(response).to redirect_to("アクション名orパス") expect(response).to render_template("アクション名orパス")