- 投稿日:2022-12-04T23:07:59+09:00
iTerm2のサーバーログにあるRailsのファイルパスをクリックした時にRubyMineで開けるように設定する
概要 Ruby on Railsで開発する時、エラーが発生したらターミナルにエラーの原因の場所をちゃんと出力してくれます。 そういう時には、ファイルパスをCommand+クリックして、RubyMin…
- 投稿日:2022-12-04T22:57:06+09:00
Rubyの組み込みライブラリのみを使用してWebサーバーを自作する
はじめに 本記事では、gemなどを一切使わず、Rubyの組み込みライブラリのみを使用して、Webサーバーを自作します。 この記事の内容は下記の「Webサーバーを作りながら学ぶ 基礎からのWebアプリ…
- 投稿日:2022-12-04T22:26:37+09:00
gem install mecab を実行する時に「fatal error: 'mecab.h' file not found」エラーの対処
概要 M1 MaxのMacBookを買ってから環境構築をした時、bundle installを実行したらmecab_wrap.cpp:1855:10: fatal error: 'mecab.h' …
- 投稿日:2022-12-04T19:54:41+09:00
[Ruby] ハッシュでぼっち演算子が使いたい
変数にオブジェクトまたは nil が入ってる場合、ぼっち演算子(Safe Navigation Operator)を使うと安全にメソッドを呼び出せます。 irb(main):017:0> str =…
- 投稿日:2022-12-04T19:28:44+09:00
RedAmber - Rubyのデータフレームライブラリ
これはRubyアドベントカレンダー2の4日目の記事です。 https://qiita.com/advent-calendar/2022/ruby 鈴木弘一(@heronshoes)と申します。 Ru…
- 投稿日:2022-12-04T18:00:03+09:00
Rails 7にOmniAuthでTwitterログイン機能を搭載
はじめに 10年ほど前にOmniAuthでTwitterログインをするという機能をいくつかのシステムで実装したのですが、久しぶりに同じことをやってみようとすると時間がかかってしまったので、今回実施し…
- 投稿日:2022-12-04T17:26:54+09:00
【Ruby】Fizzbuzzプログラムを作成しよう!
Rubyから少し離れていたので復習がてらFizzbuzzプログラムを作りました。 Fizzbuzzプログラムとは? Fizz Buzzとは、英語圏で行われている言葉遊びです。 プレイヤーが円状に座り…
- 投稿日:2022-12-04T15:57:04+09:00
[Rails]ページの閲覧数をカウントする方法
考え方 ER図はこちら 作成するモデルはReadCountのみです 各Bookのshowページにアクセスした時に以下の処理を行う ・本のidと訪れたユーザーのidをReadCountに登録する 閲覧…
- 投稿日:2022-12-04T14:15:08+09:00
Rubocop導入
Rubocop導入 group :development do gem 'rubocop', require: false end bundle install touch .rubocop.yml AllCops: # 除外するディレクトリ(自動生成されたファイル) # デフォルト設定にある"vendor/**/*"が無効化されないように記述 Exclude: - "vendor/**/*" # rubocop config/default.yml - "db/**/*" - "config/**/*" - "bin/*" - "node_modules/**/*" - "Gemfile" # 1行あたりの文字数をチェックする Layout/LineLength: Max: 130 # 下記ファイルはチェックの対象から外す Exclude: - "Rakefile" - "spec/rails_helper.rb" - "spec/spec_helper.rb" # RSpecは1つのブロックあたりの行数が多くなるため、チェックの除外から外す # ブロック内の行数をチェックする Metrics/BlockLength: Exclude: - "spec/**/*" # Assignment: 変数への代入 # Branch: メソッド呼び出し # Condition: 条件文 # 上記項目をRubocopが計算して基準値を超えると警告を出す(上記頭文字をとって'Abc') Metrics/AbcSize: Max: 50 # メソッドの中身が複雑になっていないか、Rubocopが計算して基準値を超えると警告を出す Metrics/PerceivedComplexity: Max: 8 # 循環的複雑度が高すぎないかをチェック(ifやforなどを1メソッド内で使いすぎている) Metrics/CyclomaticComplexity: Max: 10 # メソッドの行数が多すぎないかをチェック Metrics/MethodLength: Max: 30 # ネストが深すぎないかをチェック(if文のネストもチェック) Metrics/BlockNesting: Max: 5 # クラスの行数をチェック(無効) Metrics/ClassLength: Enabled: false # 空メソッドの場合に、1行のスタイルにしない NG例:def style1; end Style/EmptyMethod: EnforcedStyle: expanded # クラス内にクラスが定義されていないかチェック(無効) Style/ClassAndModuleChildren: Enabled: false # 日本語でのコメントを許可 Style/AsciiComments: Enabled: false # クラスやモジュール定義前に、それらの説明書きがあるかをチェック(無効) Style/Documentation: Enabled: false # %i()構文を使用していないシンボルで構成される配列リテラルをチェック(無効) Style/SymbolArray: Enabled: false # 文字列に値が代入されて変わっていないかチェック(無効) Style/FrozenStringLiteralComment: Enabled: false # メソッドパラメータ名の最小文字数を設定 Naming/MethodParameterName: MinNameLength: 1…
- 投稿日:2022-12-04T14:09:52+09:00
相互フォロー間のユーザー同士でDMを送る方法
忘備録、並びに考え方の整理として投稿します 初学者なので効率的なコードの書き方などは出来ていないかと思います。 今回の目的 相互フォローをしているユーザー間でDMを送り合いたい 前提条件 ruby …
- 投稿日:2022-12-04T13:02:54+09:00
Ruby・Node.js・Goのライブラリバージョン管理比較
対応表 バージョン管理ファイル Ruby Gemfile source 'https://rubygems.org' gem 'nokogiri' Gemfile.lock GEM remote: …
- 投稿日:2022-12-04T12:46:10+09:00
ruby/railsをdocker環境で立ち上げてみる。
はじめに naritomoと申します。 本職はインフラエンジニアを行っています。 最近扱ったruby系について、開発環境構築方法について投稿したいと思います。 いろいろアドバイスいただけると嬉しいで…
- 投稿日:2022-12-04T12:11:16+09:00
特定の数値を検知するプログラムの実装
問題 以下の要件を満たすarray123メソッドを実装しましょう ・配列内に1,2,3が全て入っている場合は、「True」と出力すること ・配列内に1,2,3の全てが入っていない場合は、「false…
- 投稿日:2022-12-04T07:04:54+09:00
【Ruby】カッコつけたコードを書いてみよう
※ 本記事はDMM WEBCAMP mentor Advent Calendar 2022 4日目のエントリーです。 カッコつけたコードとは 可読性を度外視した、知識をひけらかしてスキルをアピールす…
- 投稿日:2022-12-04T07:01:48+09:00
飲食店検索サイトの情報をとってきてみよう -食べログ編-
概要 久々にスクレイピングで情報を取得するスクリプトを組みたくなったので組んで見る 言語 ruby 使うライブラリ nokogiri mechanize nokogiriはHTMLをパースする上では…
- 投稿日:2022-12-04T07:00:39+09:00
【OSS】小さなコントリビュートで得た気づき
Ruby開発のAdvent calendarの4日目です。本日はOSS参加での学びを書こうと思います。 数年経験を積んで開発はある程度できるけどOSSにはまだ参加したことない方に読んでもらえると嬉し…
- 投稿日:2022-12-04T02:26:57+09:00
ファイルを削除する、存在を確かめる
ファイルを削除する 削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。 File.delete("ファイル名") # => 1 ファイルの存在を確かめる…