CentOS でファイル内の行数を取得する方法 Aug 28, 2022 POST CentOS でファイル内の行数を取得する方法を備忘録として残しておく 方法 wc コマンドの -l オプションを使用する 環境 CentOS: CentOS Linux release 8.4.2105 実際のコード # 該当のファイルが存在するディレクトリに移動して実行 wc -l # 拡張子で対象を絞りたい場合は以下 # 例. 拡張子が「.csv」のファイルの行数を取得 wc -l `find ./ -name '*.csv'`
rails で別名がつけられているカラムを pluck で取得する方法 Aug 23, 2022 POST rails で別名がつけられているカラムを pluck で取得する方法を備忘録として残しておく 方法 シンボルでの指定ではなく、文字列で as 句含めて指定する 環境 rails: 6.1.6.1 実際のコード 例. Book と Category クラスの関係が 1 対 多 である場合 # Book クラス class Book < ApplicationRecord has_many :categories end # Category クラス class Category < ApplicationRecord belongs_to :book end # データ準備 book = Book.create!(name: 'サンプル書籍') book.categories << Category.create(name: 'ビジネス') book.categories << Category.create(name: '自己啓発') # 別名を付与したカラムを取得 category_names = Book.joins(:categories) .select(:name, 'categories.name as category_name') .where(id: 1) .pluck('categories.name as category_name') # (1.
PostgreSQL で テーブルのカラム内の特定の文字数を取得する方法 Aug 22, 2022 POST PostgreSQL で テーブルのカラム内の特定の文字数を取得する方法を備忘録として残しておく 方法 sum, length, regexp_replace を使用する 環境 PostgreSQL: 13.3 実際のコード regexp_replace 関数で name カラム内の 「仼」、「鶴」を空文字に置換 length 関数で 1 の置換前の文字数および置換後の文字数を取得 sum 関数で 2 で取得したものを計算(置換前文字数 - 置換後文字数) ※coalsesce 関数は null が返却された場合のデフォルト値を設定 select 'ユーザテーブル--名前カラム中の「仼」または「鶴」の件数', coalesce(sum(length(name)-length(regexp_replace(name, '[仼鶴]','','g'))), 0) from users;
PostgreSQL で CSVをインポートする方法 May 24, 2022 POST PostgreSQL で CSV をインポートする方法を備忘録として残しておく 方法 \COPY を使用する 環境 PostgreSQL: 13.3 実際のコード su - postgres psql \c {DB 名}; \COPY {テーブル名} FROM '{csvファイルパス}' DELIMITER ',' CSV; # 例 HEADER なしの場合 \COPY users FROM './users.csv' DELIMITER ',' CSV; # 例 HEADER ありの場合 \COPY users FROM './users.csv' DELIMITER ',' CSV HEADER; # エクスポートする場合は以下 su - postgres psql \c {DB 名}; \COPY {テーブル名} TO '{csvファイルパス}' WITH CSV DELIMITER ','; # 例 HEADER なしの場合 \COPY users TO '.
rails で id 等の自動採番項目の不整合を修正する方法(PostgreSQL) May 24, 2022 POST rails で 自動採番項目の不整合を修正する方法を備忘録として残しておく 方法 reset_pk_sequence! を使用する 環境 rails: 6.1.4 実際のコード ActiveRecord::Base.connection.tables.each do |table_name| ActiveRecord::Base.connection.reset_pk_sequence!(table_name) end
rails でメソッドの定義場所を表示する方法 Feb 26, 2022 POST rails で エラーが出てどのクラスのメソッドが呼ばれているかを確認する方法を備忘録として残しておく 方法 XXX.method(:{method}).source_location を使用する 例. ActiveRecord::Base.method(:transaction).source_location 環境 ruby: 2.6.10 rails: 5.2.3 実際のコード ActiveRecord::Base.method(:transaction).source_location => ["/usr/local/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/transactions.rb", 211]
libreoffice を使用して Excel を PDF に変換する方法 Dec 11, 2021 POST アップロードされた Excel を PDF に変換して保存する必要があり 調査を行った LibreOffice で変換する方法を備忘録として残しておく ※図形など綺麗に変換されないパターンもあるため注意が必要 前提 LibreOffice を事前にインストールしておく /Applications/LibreOffice.app/Contents/MacOS/soffice にインストールしている場合 方法 以下のコマンドで変換を行う ※Calc を使用して PDF に変換 参考 指定できるフィルタ /Applications/LibreOffice.app/Contents/MacOS/soffice --headless --convert-to pdf:"calc_pdf_Export" {Excel File Path} その他 以下のようにすることで soffice コマンドを登録可能 /usr/local/bin/soffice を作成して中に以下を記載する #!/bin/bash # Need to do this because symlink won't work # It complains about some .plist files /Applications/LibreOffice.app/Contents/MacOS/soffice "$@" 以下のコマンドで実行権限を付与する sudo chmod +x /usr/loca/bin/soffice 上記を sh として gist に置いているので以下でも可 sudo curl https://gist.
GitHub で自分にレビュー依頼が来ているプルリクエストを一覧で表示する方法 Jun 2, 2021 POST 経緯 表題の件を行う必要があり調査を行ったため備忘録として残しておく 手順 1. GitHub にログインする 2. 以下を GitHub 内で検索する is:open is:pr review-requested:{自分のユーザー名} もしくは rewiew-requested で確認可能 ※PR 内でコメントをつけたりすると対象から外れてしまうため注意が必要 追記 以下で検索すればコメント等つけた場合も含めて検索されそう ※こちらは逆に未レビューのものが対象から外れてしまうため注意が必要 is:open is:pr reviewed-by:{自分のユーザー名} その他 他のコマンドについては 参考 を参照
特定の RSpec のみ実行されるようにする方法 May 14, 2021 POST 個別カスタマイズ等で追加した RSpec のみ実行させる必要があり、調査した結果を備忘録として残しておく 方法 tag オプション を使用して実現する 環境 rspec: rspec 3.8 実際のコード # # :key => 'value' 形式でタグを付与可能 # Group(describe, context, it) に対して付与可能 # RSpec.describe "group with tagged specs" do it "example I'm working now", focus: true do; end it "special example with string", type: 'special' do; end it "special example with symbol", type: :special do; end it "slow example", skip: true do; end it "ordinary example", speed: 'slow' do; end end 実行方法 例.
Hash の Key が Symbol または String どちらでも取得可能にする方法 May 12, 2021 POST HashWithIndifferentAccess に変換して実現する 環境 rails: rails 6.0.3.6 実際のコード rgb = { black: '#0000', white: '#FFFFFF' }.with_indifferent_access rgb[:black] # => "#0000" rgb['black'] # => "#0000" rgb[:'black'] # => "#0000" rgb[:white] # => "#FFFFFF" rgb['white'] # => "#FFFFFF" rgb[:'white'] # => "#FFFFFF"