Railsで文字列のバージョンを比較する
StringのVersion情報 "2.1.1"
を "2.2.0"
などと比較したい
Gem::Version
を使うことで比較できる
p "1.9" < "1.10" # => false p Gem::Version.new("1.9") < Gem::Version.new("1.10") # => true
文字列にも対応。便利。
"1.1.beta9" と "1.1.beta10" では、"beta9" と "beta10" の部分だけが違いますが、アルファベット部分と数字部分が分割され、数字部分は整数の大小比較になるため、後者のほうが大きいと判定されます。
Windows WSLで時刻を同期させる
date
をすると過去日付が返ってきてしまい、AWSでも RequestTimeTooSkewed
エラーが返ってきてしまったので対応メモ
# 2020/7/8実行 $ date 2020年 7月 4日 土曜日 15:02:22 JST ~/work/rails/tsukulink (master) $ ntpdate 4 Jul 15:02:44 ntpdate[4968]: no servers can be used, exiting $ aws s3 ls An error occurred (RequestTimeTooSkewed) when calling the ListObjectsV2 operation: The difference between the request time and the current time is too large.
対応
sudo ntpdate ntp.nict.jp
Windows WSLのUbuntuでpbcopyを使う
Windows WSLのUbuntuにRedisをインストールする
開発環境をWindowsにしたので環境構築のメモ
# redis-serverのインストール sudo apt install redis-server # redis の再起動 sudo service redis-server restart # 自動起動設定 systemctl enable redis-server
Windows WSLのUbuntuにPostgreSQLをインストールする
開発環境をWindowsにしたので環境構築のメモ
# PGのインストール sudo apt install postgresql # 起動 sudo service postgresql start # 自動起動設定 systemctl enable postgresql # PG用ユーザーの作成 sudo -u postgres -i createuser -d -U postgres -P user # psqlに入る psql -d postgres # なにか作業があれば。。。