- 1. 大文字小文字変換ツール
- 2. Progate +α メモず【Ruby on Rails ②③】
- 3. 【2024/01/14】今日のキャッチアップ
- 4. rails バリデーション機能について
- 5. 名前の由来 機能 (初心者向け)
- 6. sidekiqに触れてみた
- 7. X(Twitter)のブックマーク画像を自動で収集・保存するRubyスクリプトを作った
- 8. paizaラーニング解答: 累積和メニュー[Ruby]
- 9. 【Rails】小学校教員、初心者が現場で使える時間割アプリを作った話
- 10. LEIMIX Group Guangdong Co., LTD
- 11. Rails SQLでデータ整形(ROUMD, SUM)
- 12. インスタンスとは?
- 13. Progate +α メモず【Ruby on Rails ①】
- 14. attr_accessor・ゲッター・セッターについて掘り下げて考えた
- 15. paizaラーニング解答: ハッシュメニュー[Ruby]
- 16. Railsのparamsの基本とログでの確認方法
- 17. エクセルファイルへの書き込み(Ruby)
- 18. paizaラーニング解答: スタック・キューメニュー[Ruby]
- 19. 【備忘録】Rails7 Stimulus セレクトボックス 親子 複数 連動
- 20. Progate +α メモず 【Ruby】
大文字小文字変換ツール
大文字小文字変換ツールを作成しました
“`Ruby
#大文字に変換
def oomoji(msg)
msg1 = msg.upcase
return msg1
end#小文字に変換
def komoji(msg)
msg2 = msg.downcase
return msg2
end
# 文字列の出力
def disp(msg)
puts msg
endname = ‘test’
disp(name)
name1 = oomoji(name)
disp(name1)
name2 = komoji(name1)
disp(name2)
“`
Progate +α メモず【Ruby on Rails ②③】
# はじめに
今回はデータベース周りが主軸……と思ったけど、結果的にいろいろと。
なんかいつの間にRails②を終えて③に入ってました。怖。
なのでまとめて投稿します。今回も、気になる見出しがあれば見ていただけると嬉しいです!
# メモず
## `@変数`:Controllerとviewからアクセスできる
なんで`@`つけると参照できるの?別ファイルじゃないの?
→個人的には`html`と`script`の関係性に置き換えて納得しました。RUNTEQだと `html`と`css`の関係がわかりやすいでしょうか。
– `html`の中に`css`がある(`stylesheet = css`)
– `html`で`class`や`id`をつけることで、`css`からもアクセスできる
(`css`の場合はより広く、より深くアクセスできますが)
– `@`をつけてない変数とは、`css`でいうところの`class`も`id`もない`html要素`のイメージ
(繰り返しになりますが、`css`だとタグでもアクセスできる。まあイメージということで)## マイグレーションファイル
【2024/01/14】今日のキャッチアップ
## NotionSwiftを使ってアプリ作ってみた話
https://zenn.dev/maeken/articles/c976a92e50d02d
習慣トラッカーの入力を簡単にするアプリ。自分は今近いことを有料のアプリ(TickTick)で利用しているため、自分で便利なタスク・習慣管理ツールを作ってみたいと思う気持ちが強まった。
## VSCode の ruby-lsp 拡張でコードジャンプができるようになるまでにやったこと
https://zenn.dev/chihaso/articles/f1bda1af64324b
本記事通りに「misogi.ruby-rubocop」をアンインストールしたらコードジャンプできるようになった。神記事。
## tRPC入門―型安全なWebアプリケーションを効率よくつくる
https://zenn.dev/typebase/books/trpc-introduction
サッとWebアプリケーションを作りたいと思っていて、TypeScriptとNext.jsにコミットしている自分が参考にすべき設計だと思っている。導入事例は現在進行
rails バリデーション機能について
## 結論
validation:検証
オブジェクト(Hoge.newなどで生成されたものなど)がデータベースに保存される(newだけでは保存されない、save,
criate,updateメソッドで初めてデータベースに保存される)前に、本当にデータベースに保存していいのか検証してくれる機能## とてもシンプル
“`app/models/hoge.rb
class Hoge < ApplicationRecord validate :カラム名,presence: true end ``` presence: 出席する = 空文字を防ぐ ## もしユーザーが空文字を入力していたら? ``` nil => false
“`
と判断される。## バリデーションヘルパー
目次.2 で詳細が記載されています。
https://railsguides.jp/active_record_validations.html以上です。
名前の由来 機能 (初心者向け)
2022/07/13 編集中
私はプログラミング初学者です。
学習する度に、新しい知識の情報量に圧倒されます。
とくに学習を始めた最初の頃は意味が全く分からない単語も多く、学習に対して強い抵抗感を感じました。。
なので、初学者向けに少しでも抵抗感を軽減することができればと思い、機能と名前の由来について記事にすることにしました。# Ruby
元々、6月に生まれたpealというプログラミング言語が存在していた。pealの発音は6月の誕生石である真珠(Pearl)と同じである。
Rubyは7月に生まれた。「Perlに続く」という意味で、7月の誕生石のルビーから名付けられた。# gem
RubyGemsが公開しているRubyのパッケージのこと# Rails
Rubyなどの言語を使って簡単にアプリなどを制作できるような枠組みである。お膳立てという意味合いで「レール」と名付けられた。
RailsでWebページを装飾するには?# rbenv
# パッケージ
関連するさまざまな要素を1つにまとめたものや、市販・出来合いの製品などの意味で使われる。 特定の業務用に作成されたプログラム
sidekiqに触れてみた
# はじめに
業務の中で非同期処理を行いたいタスクがあり、システムにsidekiqを新しく導入することで実装しました。
改めて復習も兼ねて記事を書くことにしました。# 実装
### sidekiq用のサーバーを構築
“`docker-compose.yml
sidekiq:
uild:
context: .
dockerfile: Dockerfile
volumes:
– .:/app
env_file:
– .env
ports:
– 3000:3000
command: bundle exec sidekiq -C config/sidekiq.yml
“`### GemFileにsidekiq追加し、bundle install実行
“`ruby:GemFile
gem ‘sidekiq’
“`### sidekiqの各種設定
1\. アダプターをSidekiqにする
ActiveJobをsidekiqと連携させる。
“`config/applicatio
X(Twitter)のブックマーク画像を自動で収集・保存するRubyスクリプトを作った
## はじめに
X(Twitter)のアカウントを削除する時にネックとなるブックマークに保存した画像の保存を一括でできるようにするスクリプトが欲しかったので作りました。
api有料化対策として作りました。
~~Xは早くブックマークを一括で出力できるようにしてくれ~~~## スクリプトの概要
このスクリプトは、Selenium WebDriverを使用してX(Twitter)にログインし、ブックマークページに移動して画像のURLを収集します。収集したURLは`tbu.txt`に保存され、後で画像としてダウンロードすることができます。
## 開発の経緯
今年はさぼらずプログラミングに向き合いたいと思ったからです。
今まではさぼってしっかりと向き合っていなかったので今年こそはしっかりやろうと思っています。
今やっている地震のプロジェクトも少し飽きてきたので気休め程度に作ろうと思いました。
## なぜ投稿したのか
個人として使っているインスタでこのスクリプトを書いてることを投稿したらそれなりに反響があったのでしっかり書いて公開しようと思ったのが大きいです。## 前提条件
– R
paizaラーニング解答: 累積和メニュー[Ruby]
# 累積和メニュー
https://paiza.jp/works/mondai/prefix_sum_problems/problem_index?language_uid=ruby
## STEP: 1 区間の和 1
“`ruby
a = [1, 5, 9, 7, 5, 3, 2, 5, 8, 4]
s = [0] * 11
(0..9).each do |i|
s[i + 1] = s[i] + a[i]
end
puts s[8] – s[2]
“`## STEP: 2 区間の和 2
“`ruby
a = gets.split.map(&:to_i)
s = [0] * 11
(0..9).each do |i|
s[i + 1] = s[i] + a[i]
end
puts s[8] – s[2]
“`## STEP: 3 区間の和 3
“`ruby
x, y = gets.split.map(&:to_i)
a = gets.split.map(&:to_i)
s = [0] * 11
(0..9).each do |i|
s[i +
【Rails】小学校教員、初心者が現場で使える時間割アプリを作った話
# 制作背景
LEIMIX Group Guangdong Co., LTD
Hunan JINLING Machine Tool Co., Ltd is a well-known supplier of “machine tools and control, feedback devices and mechanical and electronical engineering” in domestic manufacturing enterprises.It is a complete industrial manufacturer specializing in high-grade five-axis CNC lathes and key functional components in China, with an autonomous controllability rate of more than 85%. Its business covers the processing technology of turning, milling
Panyu District, Guangzhou, Guangdong, 511495 P.R. Chin
Rails SQLでデータ整形(ROUMD, SUM)
## はじめに
Railsでデータを取得する際に、SQLでROUND内でSUMをして、平均や率として取得する際に一癖あったので備忘録として残しておきます。
## やりたいこと
レコードからデータを取得するときに率として取得したい。
`一部 / 全体 * 100`のようなイメージ
普通にレコードを取得してから計算することもできるが、アプリの仕様上やクエリ上、viewへの表示、CSVダウンロードなどにも使用するため取得時にデータを整形しておくことが良いと判断しております。
## コードサンプル
“`rb
select(
“ROUND((SUM(一部) / NULLIF(SUM(全体), 0.0)) * 100)
as 算出したい率,
…”
)
“`ポイントとして`NULLIF()`を用いることで分母が`0.0`の場合でもエラーにならないようにしている。
筆者はこの`0.0`の箇所を`0`にしていたがために、期待する結果にならず多くの時間を費やした。
インスタンスとは?
# はじめに
インスタンスがなんなのか説明できないので備忘録も兼ねてまとめます。
# インスタンスとは?
クラスを元に生成された実体のこと。
簡単に言えば、クラスは設計図であり、その設計図に基づいて作られる実際の物体がインスタンスです。
“`ruby
# クラスの定義
class Car
def initialize(make, model)
@make = make
@model = model
enddef display_info
puts “Make: #{@make}, Model: #{@model}”
end
end# インスタンスの生成
car_instance = Car.new(“Toyota”, “Camry”)# インスタンスの利用
car_instance.display_info # 出力: Make: Toyota, Model: Camry
“`
この例では、`Car`クラスが定義され、そのクラスから`Car.new(“Toyota”, “Camry”)`としてインスタンスが生成されています。`i
Progate +α メモず【Ruby on Rails ①】
# はじめに
Progateに記事見つかっちゃったマンです。ありがとうございます![Progate +α メモず 【Ruby】](https://qiita.com/kohki_takatama/items/383ea364bbf41fdae95e)に続き、Rails編第一弾です(複数になる予定)。
範囲:ProgateのRube on Rails 5 l
# メモず
## `MVCモデル`のざっくりとした理解 ※学習前
`M: モデル`:俗に言うバックエンド。**舞台でいう裏方**。ユーザーからは見えない部分。
`V: ビュー`:俗に言うフロントエンド。**舞台でいう役者**。ユーザーに見せる部分。
`C: コントローラー`:モデルとビューの橋渡し・選定をする**舞台監督**。役者と裏方の調整、選定。
## 最初の呪文:`$ rails generate controller home top`とは?
`home`という名前の`controller`を`generate`する。
`top`という名前のアクション(メソッド)と、そのアクションのレスポンスとして表示される`top.h
attr_accessor・ゲッター・セッターについて掘り下げて考えた
## 自己紹介
はじめまして、はると申します。完全異業種からのエンジニア転職を目指して学習をしています。## 概要
Rubyの「`attr_accessor`」について、わかりやすく解説されている記事はすでにたくさんありますが、自分が理解できるまで掘り下げたことをまとめました。## 注意
私は前職が完全異業種であり、英語も苦手で、スクールに入って初めてプログラミングに触れました。
そんな自分が理解しづらかった部分を、同じように初めてプログラミングの概念に触れた人に向けてまとめました。
自分の復習も兼ねて、超超噛み砕いて書いているため、周りくどい書き方になっている箇所もあるかと思います。また、初学者のため、間違っている箇所もあるかもしれませんのでその際は教えて頂けると嬉しいです🙇
## ゲッターとセッターとは
こちらの記事が大変わかりやすかったので引用させていただきます🙇https://qiita.com/k-penguin-sato/items/5b75be386be4c55e3abf
こちらの記事で全て理解できた方は今回の記事は対象外となります。
一応、公
paizaラーニング解答: ハッシュメニュー[Ruby]
# ハッシュメニュー
https://paiza.jp/works/mondai/hash_problems/problem_index?language_uid=ruby## STEP: 1 ハッシュ関数とは
“`ruby
n, mod = gets.split.map(&:to_i)
x = n.times.map { gets.to_i }
hash = x.to_h { |i| [i, i % mod] }
puts hash.values
“`
xの要素に対して順番に% modするだけでも解答できますが、それをハッシュテーブルに保存してみました。## STEP: 2 やや複雑なハッシュ
“`ruby
n, a, b, mod = gets.split.map(&:to_i)
x = n.times.map { gets.to_i }
hash = x.to_h { |i| [i, (a * i + b) % mod] }
puts hash.values
“`## STEP: 3 文字列のハッシュ
“`ruby
n = gets.to_i
x = n.t
Railsのparamsの基本とログでの確認方法
### Railsのparamsとは?
Ruby on Railsでの開発において、paramsは非常に重要な概念です。これは、ユーザーから送信されたデータ(フォームの入力、URLのクエリパラメータなど)をコントローラー内で取得するために使用されるメソッドです。### paramsの基本
paramsは、ユーザーからのリクエストに含まれるパラメータを含むハッシュのようなオブジェクトです。例えば、フォームから送信されたデータやURLのクエリパラメータを取得する際に使用します。### パラメータのログでの確認
Railsアプリケーションでは、開発中に送信されたパラメータをログで確認することができます。これはデバッグに非常に役立ちます。1\. サーバーログの確認:
Railsサーバーを起動し(rails s)、ユーザーからのリクエストを行います。
ターミナルに表示されるサーバーログを確認します。2\. パラメータの検索:
ログ内でParameters:という部分を探します。これに続く情報が、リクエストに含まれるパラメータです。3\. 例:
![im
エクセルファイルへの書き込み(Ruby)
rubyXLクラスを使ってエクセルファイルへの書き込み処理を実装しました
“`ruby
require ‘rubyXL’array1 = [“白石麻衣”,”秋元真夏”,”遠藤さくら”,”山下美月”,”吉田綾乃クリスティー”]
m_array = []
m_array = array1.shuffle!
array2 = [“好きなコスメ”,”好きなお笑い芸人”,”好きな落語家”,”好きな駅”,”好きなファッションブランド”]
t_array = []
t_array = array2.shuffle!
out_file = “result1.xlsx”
# rubyXLクラスを読み込み、エクセルファイルへ出力するインスタンスを呼び出す
xlsx = RubyXL::Workbook.new
# ワークシートの定義
worksheet = xlsx[0]
n=array1.length
srow = 2
erow = srow + n
nowrow = srow# 配列の要素を取り出し、エクセルファイルへ書き込む
for i in 0…n do
name =
paizaラーニング解答: スタック・キューメニュー[Ruby]
# スタック・キューメニュー
https://paiza.jp/works/mondai/stack_queue/problem_index?language_uid=ruby
## STEP: 1 スタック・キュー実装編( 共通問題 ) step 1
“`ruby
n = gets.to_i
a = n.times.map { gets.to_i }
puts n
puts a
“`## FINAL問題 スタック・キュー実装編( 共通問題 ) step 2
“`ruby
a = []
q = gets.to_i
query = q.times.map { gets.split.map(&:to_i) }
query.each do |que|
if que[0] == 1
a << que[1] end end puts a.length puts a ``` ## STEP: 1 スタック実装編 step 1 ```ruby a = [] q = gets.to_i query = q.times.map { gets.split.map
【備忘録】Rails7 Stimulus セレクトボックス 親子 複数 連動
会社を選択すると、現場と品目の選択肢に、アソシエーションされているレコードをセットする
![add_flow7.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324819/67806d9c-4a2f-2c56-41b6-a9b76eb46162.gif)“`config/routes.rb
resources :companies do
get ‘sites’, on: :member
get ‘waste_kinds’, on: :member
end
“`“`app/controllers/companies_controller.rb
def sites
company = Company.find(params[:id])
sites = company.sitesrespond_to do |format|
format.json { render json: sites }
end
endd
Progate +α メモず 【Ruby】
# はじめに
Progate楽しいマンです。
[最近学んだことリスト【主にCSS】](https://qiita.com/kohki_takatama/items/f3a516bece97ea407435)に続き、Rubyをやりました。
今回は1つの記事にまとまった!あと、少し見やすく書けました。(^^)
相変わらずなっがいので、気になった見出しがあれば見てみてください。
# メモず
### Rubyの`”`と`’`は区別なし
言語によっては区別あるので……Rubyは緩い方。
### コメントは`#`
シンプルですこ (^^)
### 余り計算は`%`でOK
“ `mod` “も好きだけどね
### Rubyの`puts`の挙動一覧
“`rb
puts “str ” int # 間違った構文
puts “str “, int # “str”
int
puts “str #{int}” # str int テンプレート記法
puts ‘str #{int}’ # str #{int} シングルクォーテーション(’)だとテンプレート記法と認識しない。
“`
テンプレート記法は