【Ruby】文字列において、同一文字が連続しているかどうかを判定する
やりたいこと
文字列において、同一文字が連続しているかを判定する
例えば、 '123abbbc' は 'b' が3文字連続していることを判定したい
利用場面
パスワードのvalid判定などにおいて、「同一文字が連続していないこと」をチェックしたい場合など
やり方
正規表現の後方参照を使い、ある文字をキャプチャし、その直後で同一文字が存在するかを確認
後方参照って何?という場合は下記
初心者歓迎!手と目で覚える正規表現入門・その4(最終回)「中級者テクニックをマスターしよう」 - Qiita
具体例
# 3文字以上連続した文字列が存在する場合、Invalidとして弾く password = '123abbbc' if password =~ /(\w)\1{2,}/ puts 'Invalid password' end
Rails における内部結合、外部結合
ズバリのQiita記事が沢山あるのでリンク貼り付け
Rails - 複数レコードの一括登録でパフォーマンスを向上させる
JavaでいうaddBatch、executeBatchで一括登録する方法をRailsでもできないかを探した。
activerecord-import gemを使うとRailsでも同様のことが可能とのこと。
RubyMine - ローカルDBを閲覧する
データベースの中身を確認するときは、rails consoleでちまちま確認するより直接DBを見たい。
RailsチュートリアルではDB Browser for SQLiteでデータ閲覧しますが、RubyMineだとSQLite以外のデータベースも対応しています。
やり方
RubyMineからローカルのSQLiteに接続する | mawatari.jp
初めての場合、Test Connectionが出来ないはず。その場合、ウインドの下に出てくる「Download」を。
SQLite以外の場合、データソース選択時に該当のDBを選択するだけ。
(補足)DB Browser for SQLiteを使う方法
Railsチュートリアルの該当箇所のリンク貼っときます。
https://railstutorial.jp/chapters/modeling_users?version=5.0#sec-database_migrations
(別にいらんけど)一言
前職の社内ツールを思い出してちょっと感傷的に。。。
そして、RubyMine何でもできてスゴイ。
Bootstrap4でFont Awesomeを使う(3のGlyphiconsが使えなくなりました)
Bootstrap4では、Bootstrap3で使えたGlyphiconsが使えなくなり有料化されました。代替案の一つが、Font Awesomeへの移行です。その方法を書きます
公式からリンクをGET
下記リンクを踏むと「Start Using Free」と出てくるのでクリックすると、リンクが出てきます。そのリンクをheadタグに貼り付けるだけです。CDN以外で利用する場合は、リンクがある画面で下にスクロールをするとダウンロードする方法や各言語でのインストール方法が書いてあります。
fontawesome.com
GETしたリンクをheadタグに貼り付け
<!DOCTYPE html> <html> <head> <!-- 略 --> <!-- 下記のようにペースト --> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous"> </head> <!-- 略 --> </html>
使いたい記号を探す
5000弱あるので、かならず見つかるはず。これ無料で使えるって凄い...
お、無料だと1500弱ですね。それでもヨイヨイ。biohazardなんかの記号もある。
https://fontawesome.com/icons?d=gallery
コーディング
下記は星を表示させる場合の例
<i class="fas fa-star"></i>