- 1. RailsアプリケーションでAWS Parameter Storeを使用する方法
- 2. paiza「みんなでしりとり」をRubyで解いてみた
- 3. RailsのThreadの中でアクティブレコードのデータがとれない
- 4. プレビュー機能の実装
- 5. Ruby on Rails 7.2の主要な新機能・機能追加・変更点
- 6. CodeMirror6を用いたHTMLエディターの導入
- 7. LambdaのRubyでGitLabにリポジトリを作成、削除する
- 8. Railsのincludesメソッドは非推奨!?これからはeager_loadとpreloadを使用すべき??
- 9. rails 目次の自動生成機能
- 10. 実装する前にきちんとドキュメントを読んだ方が良い、という話
- 11. orderとpluckを併用する時には記述する順番に気をつけようというお話
- 12. 【Ruby】レキシカルスコープと継承の定数探索の違い
- 13. 【JavaScript】Ruby → JS はじめての基礎文法
- 14. rails パンくずリストの作り方(gem ‘gretel’)
- 15. rails 簡易的な閲覧数カウント機能
- 16. RailsのTimeクラスを覚えたい
- 17. RailsとReactのDocker環境を作ってみる
- 18. 【RSpec】Shoulda Matchersの書き方について
- 19. WSL 2とDockerを活用したRuby開発環境の構築
- 20. MVCをレストランに例えてみた
RailsアプリケーションでAWS Parameter Storeを使用する方法
AWS Parameter Storeは、アプリケーションの設定値や機密情報を安全に管理するための便利なサービスです。
この記事では、Railsアプリケーションのproduction環境設定でAWS Parameter Storeの値を使用する方法について説明します。**前提条件**
– AWSアカウントがあること
– AWS CLIが設定されていること
– Railsプロジェクトがあること# 1. AWS SDKのセットアップ
まず、AWS SDKをプロジェクトに追加します。Gemfileに以下を追加し、bundle installを実行します。
“`ruby
gem ‘aws-sdk-ssm’
“`# 2. パラメータ取得用のヘルパーメソッド
次に、AWS Parameter Storeから値を取得するためのヘルパーメソッドを作成します。config/application.rbに以下のコードを追加します。
“`ruby
require ‘aws-sdk-ssm’module ParameterStoreHelper
def fetch_parameter
paiza「みんなでしりとり」をRubyで解いてみた
# 問題
あなたは友達たちと N 人でしりとりを行うことにしました。
1 人目、 2 人目、…、 N 人目、 1 人目、2 人目、… という順序で発言をします。ここで、それぞれの人は、次に挙げる 4 つのしりとりのルールを守って発言をする必要があります。1. 発言は、単語リストにある K 個の単語のうちのいずれかの単語でなければならない。
2. 最初の人以外の発言の頭文字は、直前の人の発言の最後の文字と一緒でなければならない。
3. 今までに発言された単語を発言してはならない。
4. z で終わる単語を発言してはならない。ここで、発言の途中で上のルールを破った場合、ルールを破った人はしりとりから外れます。
そして、その人を抜いて引き続きしりとりを続けていきます。このとき、後続の人は、ルール 2 を守る必要はありません。N 人がしりとりを行ったログが M 行分与えられます。
このとき、M 回の発言が終わった後、しりとりから脱落せずに残っている人のリストを表示するプログラムを書いてください。https://paiza.jp/works/mondai/b_rank_
RailsのThreadの中でアクティブレコードのデータがとれない
# はじめに
Railsで並列処理をしたところ困ったことがあったのでまとめておきます
# 問題
以下のようにスレッドでfetch_dataをするような処理を書きました
“`rb
def self.where(ids:)
threads = []
results = []
mutex = Mutex.newids.each do |id|
threads << Thread.new do result = fetch_data(id) mutex.synchronize do results << result end end end threads.each(&:join) results end private_class_method def self.fetch_data(id) api_response = SomeAPI.get(id) record = SmapleActiveRecord.find(id) # ActiveRecordから取得
プレビュー機能の実装
# プレビュー機能実装
## 概要
新規投稿、投稿編集時に選択した画像がプレビューとして表示される機能## preview.js作成
プレンビュー機能実装のため、app/javascriptの直下にファイル名 “preview.js” を作成する。## importmapの編集
configフォルダにあるimportmap.rbへ下記を追記する。
pin “preview”, to: “preview.js”## application.jsの編集
app/javascript/application.jsへ下記を追記する。
import “preview”## プレビュー機能の実装
取得した画像をブラウザへ表示するためにjavascript側で生成する。// 画像を表示するためのdiv要素を生成
const previewWrapper = document.createElement(‘div’);
previewWrapper.setAttribute(‘class’, ‘preview’);// 表示する画像を生成
Ruby on Rails 7.2の主要な新機能・機能追加・変更点
## はじめに
Rubyを使用したOSSのWebアプリケーションフレームワーク、Ruby on Rails(以下Rails)の最新バージョンである7.2(以下Rails 7.2)が[2024年8月10日にリリースされました](https://rubyonrails.org/2024/8/10/Rails-7-2-0-has-been-released)。
Rails 7.2は、開発用のDockerコンテナの設定の生成、YJITのデフォルト化、RuboCop / Brackeman / GitHub CIの設定の生成など、主に、プロジェクトを開発、運用するに当たって必要な設定をあらかじめフレームワーク側で用意したリリースとなっています。
本記事では、[Railsの公式ブログ](https://rubyonrails.org/blog/)や[Railsガイド](https://guides.rubyonrails.org/v7.2/)、GitHubのRailsプロジェクトの[Issues](https://github.com/rails/rails/issues)や[Pull Re
CodeMirror6を用いたHTMLエディターの導入
## 概要
Ruby on Railsをベースとしたアプリ制作時に、Codemirror6の導入で苦戦したため、導入方法をまとめました。Codemirror6は公式マニュアルに`Getting Started`のセクションが無く、どこを見たらいいのか分からないので、初心者にはかなりとっつきにくい文献という印象でした。
結論として、以下の`Bundling Example`のセクションを見ながら進める事でEditor構築することが出来たので、こちらの流れに沿って説明します。
https://codemirror.net/examples/bundle/
また、今回の説明ではRuby on Railsを使用していますが、Codemirrorの実装は基本Javascriptしか触ってないので、本記事を読むために必要知識はJavascript(+ Node.js)となります。
## エディターの導入
### 1. CodeMirror&HTMLパッケージのインストール
公式文書ではJavascript用エディターを導入していますが、今回私はHTML用エディターを実装したいので、H
LambdaのRubyでGitLabにリポジトリを作成、削除する
## ruby版
AIにシェルからlambda用に変換してもらったらあっさり動いた。
RubyでGitLabにリポジトリを作成、削除する機能です。### リポジトリ作成
– https://github.com/tmoritoki0227/gitlab_project_create/blob/main/create_project.rb
– https://github.com/tmoritoki0227/gitlab_project_create/blob/main/projects_and_branches.txt### リポジトリ削除
– https://github.com/tmoritoki0227/gitlab_project_create/blob/main/delete_project_all.rb
Railsのincludesメソッドは非推奨!?これからはeager_loadとpreloadを使用すべき??
Active Recordにおいて、親子関係にあるテーブルのデータを取得する際に、N+1問題を解消するためにincludesをよく使いますが、使い方についてあまり理解できていなかったのでその学習をまとめます。
また調べていく中で多くの方が「eager_loadとpreloadを使用すべき」と言っています!
その理由も調べてまとめます!## N+1問題とは?
N+1問題 とは、ループ処理の中で都度クエリを発行してしまい、大量のクエリが発行されてしまうことです。余計なクエリが発行されるということは、データの取得や参照に時間がかかってきてしまいパフォーマンスに影響が出ます。コーディングなどで下記のような同じようなログが大量に出てきてしまうことはありませんか??
ループ処理の中で都度クエリを発行してしまい、大量のクエリが発行されてしまっています。これがN+1問題です。
“`
↳ app/views/articles/index.html.slim:18
ColumnCategory Load (0.8ms) SELECT `column_categories`.* FRO
rails 目次の自動生成機能
今回は業務の中で目次の自動生成メソッドを開発する機会があったのでその実装を記録として残しておきます。
## 背景
今回の実装に至った背景として、columnページのデザイン改修がありました。その過程で、記事に対して目次を表示し、クリックで該当箇所へジャンプする機能を追加する必要が生じました。この機能は、Qiitaのような目次機能を参考にしています。また、記事のHTMLはデータベースのカラムに直接埋め込まれている仕様となっているため、この仕様に沿った形で目次機能を実装することが求められました。## 実装
今回はメソッド化して使いまわせて、かつスタイルも自由に変更できるようにする設定を心がけました。色々調べるとgemを組み合わせて使用する方法もありましたが、今回はどのサービスでも決められた仕様の場合には使い回しができるよう設定をしました。
まずカラムの中身は下記のようになっています。
“`関連する記事
OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた