コピペコードで快適生活

明日使えるソースを自分のために

2020-01-01から1年間の記事一覧

ChefZero覚え書き

はじめてChefZeroのコード読むことになったので、調べたこと覚え書き。 インストール ここからDL https://downloads.chef.io/products/chefdk knife-zeroインストール chef gem install knife-zero --no-document node # 対象サーバのリストを出力する knife…

Terraform覚え書き

滅多に使わなくて忘れると思ったので。 terraform install tfenvでバージョン切り替えできる コマンド # 必要となるpluginをインストールする。 terraform init # 設定ファイルが正しいかチェック/本番環境との差分出力 terraform plan # チェックの通った設…

ctagsメモ

vim

インストール # メンテが止まっている # exuberant-ctags brew install ctags # こっちを使う # universal-ctags brew install --HEAD universal-ctags/universal-ctags/universal-ctags 設定 # ~/.ctags --append=yes --recurse=yes --php-kinds=cfd --ruby…

SSL通信が成立するまで

SSL通信に関して理解が微妙だったのに雑にメモ。 SSL通信が成立するまで 秘密鍵は複合鍵 公開鍵は暗号鍵 クライアントは共通鍵を作る。 サーバの公開鍵で暗号化して共通鍵を受け渡す。 その後の通信を共通鍵で暗号化して行う。 link https://ssl.sakura.ad.j…

サーバのスペックをコマンドで確認する

現状のサーバのスペックを確認する必要があったので。 論理的なプロセッサ数を確認する 以下の場合は2個となる。 $ cat /proc/cpuinfo | grep processor processor : 0 processor : 1 物理的なプロセッサ数を確認する 以下の場合は、idが2つあるため2個 $ ca…

MySQL予習メモ (2020年12月版)

MySQLとしばらく密にお付き合いすることになりそうなので、色々と予習したことメモ。 InnoDBのバッファプール 取得処理では、バッファプールにデータがあればそれ返す。なければ、テーブルスペースから取得してプールして、それを返す。 更新系では、プール…

Rails+RspecでActionMailerのテスト

Rsils+RspecでActionMailerのテストの書き方知らなかったのでメモ。 ## 設定 config.action_mailer.delivery_method = :test ## テスト expect(ActionMailer::Base.deliveries.size).to eq(1) # メールを送った件数 expect(ActionMailer::Base.deliveries.fi…

ポート番号の使用状態を確認する

【lsof】オープンしているファイルを一覧表示する # オープンしているファイル情報 $ lsof | grep -e COMMAND -e sample.txt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vim 35093 kinosuke01 3u REG 1,7 4096 4183268 /Users/kinosuke01/Desktop/…

docker-composeでdocker内にログインする

ずっとdockerコマンドでやってたので。 ## サービス一覧を表示 docker-compose ps --service ## サービス名を指定してログイン docker-compose exec #{service_name} /bin/bash ついでに # リスタートする docker-compose restart #{service_name}

MySQLの運用で使うコマンドメモ

忘れていたので逐次メモしていく。 ## テーブル定義の確認 show create table #{table_name}; ## インデックスの確認 show index from #{table_name}; ## 発行されているSQLのリスト show processlist; ## 発行中のSQLを強制終了 KILL #{processlist_id}; ##…

Specified key was too long; max key length is 1024 bytes

Rails×MySQL環境下でindex作成時にエラーしてmigrateが止まった。 indexの最大幅を超えてたみたい。 Specified key was too long; max key length is 1024 bytes migrationファイルを修正して対応した。以下メモ。 VARCHAR(255) https://dev.mysql.com/doc/r…

MySQLのロックについてメモ

PostgreSQLばっかり使ってて、 MySQLのロックについて理解があやふやだったのでメモしておく。 ストレージエンジン MyISAM トランザクション使えない 5.4以前のデフォルト 更新SQL発行時はテーブルレベルロック(排他ロック)がかかる。 link https://dev.mysq…

RailsEngineを作る手順メモ

RailsEngineを作る手順を雑にメモする。 Docker/Rspecを使う前提。 docker設定 Dockerfile FROM ruby:2.6.6 ENV NODE_VERSION 10.12.0 ENV BUNDLER_VERSION 1.17.3 ENV LANG C.UTF-8 # https://stackoverflow.com/questions/55361762/apt-get-update-fails-w…

Rspecでcontrollerのテスト

controllerのテストをまともに書いたことなかったので。 describe TestController, type: :controller do let(:account) { create(:account) } describe 'auth' do context '有効なトークンを渡したとき' do before do token = TokenService.build_token(acc…

RSpecで例外チェック

これまでbegin-rescueで愚直にやってたので、もう少しシュッとした書き方を。 require 'spec_helper' describe TokenService do describe :validate! do context '改ざんしたトークンを渡す' do # 処理を定義 subject { token = TokenService.build_token To…

RSpecのmockの使い方

APIクライアントを外から注入できるようにして、 モックを渡してローカル環境単体でテストできようにした例。 require 'spec_helper' class DummyService # # APIクライアントを外から指定できるようにして # 単体でテストできるようにする # def self.get_i…

RSpecのletの使い方 - before&インスタンス変数使うやり方との比較

ずっとbefore&インスタンス変数でやってたので、let使うやり方をメモしておく。 require 'spec_helper' describe 'beforeとletの違いについて' do context 'インスタンス変数を使う場合' do before do @account = create(:account) end it 'アカウントが存…

ポートフォワードメモ

ローカルフォワードするとき 書き方をよく忘れているのでメモ。 ssh xx-user@app-stg-batch -L 8080:stg.internal-api.local:80 -N

.ssh/configの設定メモ

よくやる書き方をコメント付きでメモ。 # # ssh接続をタイムアウトしないための設定 # - 15秒ごとに応答確認 # - 10回応答がなかったら切断する # ServerAliveInterval 15 ServerAliveCountMax 10 # # Hostにはワイルドカードを指定できる # 設定を共有化し…

RubyのワンライナーHTTPサーバ

さくっとアクセス確認したいときなどに。 ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./", :Port => 80).start'

ES2015のコードをBabel+Jestでテストする

まだ試したことがなかったので、やり方をメモ。 ライブラリのインストール # bableのインストール npm install --save-dev @babel/core @babel/cli @babel/preset-env # jestのインストール # babel-jestも一緒にインストールされる npm install --save-dev …