- 1. 問題
- 2. 結論
- 2.0.1. 【Ruby】フィボナッチ数列を出力する方法
- 2.0.2. Vue3、Rails7系を使って「Hello Vue」を表示させるまで
- 2.0.3. 【Ruby】1~100の数字の中から素数を出力する方法
- 2.0.4. Fly.ioでリリースする(for Windows)
- 2.0.5. AndroidのPush通知でFcmpush gemを使ってみた
- 2.0.6. 複数チェックボックス付き投稿・一覧表示・検索機能【RubyOnRails】
- 2.0.7. rubyのStringクラスの組み込みメソッドを層別してみた
- 2.0.8. CentOS 7 に Ruby 3.1.3 がインストールできなかったら
- 2.0.9. 【個人開発】今のあなたの感情に合った音楽を提案、私はこんな感情の状況のときに、こんな曲を聴くよ!を共有できるアプリを作りました!
- 2.0.10. Fly.ioにRailsアプリをデプロイした時に色々なエラーが出たので解決した
- 2.0.11. RailsのCurrentAttributesをより有害にするGemを作ってみた
- 2.0.12. 【RUBY】FizzBuzz問題
- 2.0.13. 構造化データについて
- 2.0.14. devise導入していれば使えるauthenticate_user!について
【RUBY】if,elseを用いたメソッドの実装
# はじめに
プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。# 実装内容
スクールの問題を解いていて、考え方を定着させる備忘録として記していきます。
今回は、
正の整数を入力します。その整数が、
10の倍数(10,20,30…)からの差が2以内であるときはTrue
それ以外はFalse
と出力するメソッドを作りましょう。
というものでした。“`ruby
def near_ten(num)
quotient = num % 10
end
“`
まず、メソッドを「near_ten」とします。次に「10の倍数からの差」を考えるためには、一の位の値に着目します。すなわち、一の位が「0,1,2,8,9」のどれかであれば「10の倍数からの差が2以内」と判断することができます。
「quotient = num % 10」で10の倍数の余りを求め、変数qu
Hotwire勉強会ログ (1) Turbo
# はじめに
Rails 7から標準となったHotwireについて勉強会をしました。前半はTurboで後半がStimulusです。場所はSENQ六本木のスカイテラスで、晴れていたのですが少し寒かったかもしれません。
https://www.senq-web.jp/office/roppongi
Railsで有名な万葉さんもHotwireをやっていくそうです。
https://note.com/everyleaf/n/ncc0b77578c58
私の場合は最近のRailsのJavaScriptの機能は使っていなくて、Turbolinksはオフにすることが多かったです。Rails 7ではHotwireが標準になってrails-ujsもフェードアウトしていきそうなので、ここは観念して勉強しようと思いました。
そしてForkwellさんのDHHへのインタービュー動画を見たことも影響しました。
AWSのSigV4署名を付与してHTTPリクエストを送るRubyとGoのサンプル
この記事は、[リンクバルアドベントカレンダー2022](https://qiita.com/advent-calendar/2022/linkbal)の1日目の記事です。
## はじめに
SigV4署名を付与してHTTPリクエストをするRubyとGoのサンプルコードです。AWSで、IAM認証をしたAPI GatewayのAPIをリクエストするときなどに、SigV4署名は必要になります。
AWS SDKには、SigV4署名を付けてAPI Gatewayをリクエストしてくれる便利なAPIは存在しないので、SigV4署名の部分は実装する必要があります。
ただし、署名をするためのライブラリは用意されているので、そちらを使えばすんなり署名ができます。## Ruby
### ドキュメント
https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Sigv4/Signer.html### サンプルコード
重要な部分はコメントで説明しています。“`rb
require ‘aws-sdk-core’
require ‘net/http’
プログラミングが副業になるロードマップ
# 要約
本稿ではプログラミングをする上で必要な知識について解説をした。
時間がない人やとりあえず行動したい人向けに誤解を恐れずに内容を簡潔に伝えるならば
「脱初心者するためには登録料無料のクラウドソーシングサイトに登録をし案件を獲得してみよ。」
ということである。
例としてLancersを挙げている。とりあえず行動してみたい人は登録をし自分のプログラミングスキルで可能な案件がないか探してみてほしい。
https://www.lancers.jp/affiliate/track?id=2484168&link=%2F
# 序文
プログラミングにゴールはなくプログラマーは常に学び続けなければならない。
これはプログラミングをする上での定説である。
しかし、プログラミングに興味を持つ人やプログラミング初心者がそんなことを聞いてしまえば挫折してしまうだろう。
その為本稿ではプログラミングをする上で脱初心者の条件とも言えるプログラミングでお金がもらえるまでの道をロードマップとして作成した。
本稿がプログラミングを始めようと考えている人やプログラミング初心者の力になれば幸
./main.rbで実行できなかったけど、ruby main.rbで余裕で実行できた件
問題
・sinatraで書いたファイルをchmodコマンドを実行した後に./コマンドで実行することができない。
“`
#/Users/ユーザ名/Work1
chmod +x main.rb #実行属性をファイルに付与
./main.rb #カレントディレクトリ直下のコマンドを実行
./main.rb: line 2: require: command not found
./main.rb: line 4: get: command not found
./main.rb: line 5: Hello World: command not found
./main.rb: line 6: end: command not found
“`結論
・./コマンドの代わりにrubyコマンドで実行すればいけた。
“`
#/Users/ユーザ名/Work1
ruby main.rb
[2022-11-30 23:18:57] INFO WEBrick 1.6.0
[2022-11-30 23:18:57] INF
【Ruby】フィボナッチ数列を出力する方法
# 問
**フィボナッチ数列をn=10まで出力しなさい**
ただしフィボナッチ数列とは
f[0] = 0
f[1] = 1
f[n] = f[n-1] + f[n-2] (n >= 2)
の数列である。# 結論と解説
## コード
“`ruby
# 空のハッシュfを作る
f = Hash.new# 0~10の数列に対してeach文を回す
(0..10).each do |n|
if n == 0
f[n] = 0 # n = 0のとき、値は0
elsif n == 1 # n = 1のとき、値は1
f[n] = 1
else
f[n] = f[n-1] + f[n-2] # n >= 2のときは前項と前々項の値の和
end
endputs f # ハッシュの出力
“`## 出力結果
“`ruby
{1=>1, 2=>1, 3=>2, 4=>3, 5=>5, 6=>8, 7=>13, 8=>21, 9=>34, 10=>55}
“`### おまけ
**i項目の値が知りたいとき**
“`ruby
puts f[i] #
Vue3、Rails7系を使って「Hello Vue」を表示させるまで
Vue3、Rails7系を使って、何かアプリを作ってみたいなぁと思い、環境構築の段階で
学んだことを備忘録として残そうと思いました。# 環境
ruby 3.1.0
Rails 7.0.4
vue@3.2.41
# railsの初期化railsの初期化(アプリ作成)
“`ruby
raiils new sample_app
“`
# vueの初期化**次にvueを導入していくが、いきなりつまりポイント**
railsの標準に搭載されているwebpackerでvueを導入していくつもりが・・・
“` ruby
rails webpacker:install: vue
=> Don’t know how to build task ‘webpacker:install:vue’
“`コマンドが使えない・・・
[曰く](https://github.com/rails/webpacker/issues/3052) rails7系 では、vueのインストールコマンドがなくなっているっぽい。というか、[引退宣言](https://github.com/rails
【Ruby】1~100の数字の中から素数を出力する方法
# 問
**1~100の数字の中から、素数を出力するコードを書きなさい**# 結論と解説
## コード
“`ruby
num = [*1..100] # 1~100の数をもつ配列numを作成
non_prime_number = [] # 素数ではない数を入れるように空の配列non_prime_numberを作成num.each do |n| # numに対してeachを回し、素数ではない数を探す
non_prime_number << n if n == 1 # 1は素数ではない # 2は素数なので処理なし if n >= 3
i = 1 # while文内で使う
while true # 無限ループを作る
i += 1 # iは2からスタートさせる
# iを2~nで変化させ、n / iの余りが0であったらnは素数と判定
non_prime_number << n if n % i == 0 # iがnのひとつ前の数になるか、nが素数でない数であったらループ終了 break if i
Fly.ioでリリースする(for Windows)
Herokuが有料化するにあたって、Fly.ioでリリースする方向にシフトチェンジしましたが、参考にする記事が多く、一つにまとめたいと思い本記事を作成しました。
初めて記事を書くのでご指摘、アドバイス等ございましたらお願いします。# 流れ
1. Fly.ioのインストール
1. deploy前の準備
1. いざdeploy# 1.Fly.ioのインストール
リリース作業をする前にローカル環境で、自分の作ったプロダクトにエラーが存在しないことを確認してください。
ありとあらゆるボタンを押して確認してみてください。
また、もしもの時のためにzipファイルをとっておくことをおすすめします。###### 1-1. PowerShellを開く
windows+Rを押してPowerShellを開いてください。![ファイル名を指定して実行 2022_11_30 10_46_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2978160/03c2eb86-c25b-0171-b776-ee9b14831
AndroidのPush通知でFcmpush gemを使ってみた
# はじめに
皆様、こんにちは!
佐久間まゆちゃんのプロデューサーの[@hiroki_tanaka](https://note.com/hiroki_tanaka)です。最近、Railsアプリから送信しているAndroidアプリ向けのPush通知をGCMからFCMに移行しました。
その際に[fcmpush](https://github.com/miyataka/fcmpush)というFCM送信処理を扱うGemを使用したので、使い方を紹介させてください。# 利用環境
– Ruby 2.7.2
– Rails 6.1.7# FCM通知とは
FCMとはFirebase Cloud Messagingのことで、サーバからAndroidアプリにPush通知を送信できるようにするサービスです。
FCMを使用してPush通知を送信することで、ユーザーにアプリのアピールやイベント毎のお知らせなどを行うことができ、アプリへの再訪率や定着率の向上に繋げることができます。FCMの前身としてGCMという通知処理がありましたが2019年4月にサポート終了しているため、2022年現在ではGCMの
複数チェックボックス付き投稿・一覧表示・検索機能【RubyOnRails】
## 目標
– __投稿する際に事前に用意した選択肢からチェックボックスを生成、チェックをつけさせ、その情報をデータベースに保存する。__
– __投稿を一覧表示した際にチェックを付けた項目も見れるようにする。__
– __投稿する際に付けたチェックをもとに投稿を検索することができる。__## 環境
– Ruby 3.0.4
– Rails 6.1.7## 前提
– 投稿機能実装済み。
– 今回は関係ないですが、User機能、いいね機能も実装済みなので、そこら辺の記述は読み飛ばしてください。## 完成形
##### コントローラー(投稿を扱うもの:今回はtweet_controller.rb)
“`ruby:tweet_controller.rb
class TweetsController < ApplicationController before_action :authenticate_user! @@selections = ["てつや","しばゆー","ゆめまる","りょう","むしめがね","としみつ"] #中略 def index
rubyのStringクラスの組み込みメソッドを層別してみた
>どうもaono1234と申します。記事がいいなと思ったらtwitterのフォローもお待ちしております‼
Tweets by takeshi_programみなさんは組み込みメソッドという存在はご存じでしょうか?
組み込みメソッドとは自分で定義しなくてもデフォルトで使えるようになっているメソッドの集合です。
rubyの場合、stringクラス、arrayクラス、hashクラスなど、各クラスで使える組み込みメソッドが違います(共通のものもあります)例えばstringクラスだけでも以下↓の数だけあります。
https://docs.ruby-lang.org/ja/latest/class/String.html使えると便利なのかもしれませんが、覚えるのが大変そうですね…?
覚えるための一助となればと思い、stringクラスの一部のメソッドだけではありますが私なりにmiroというアプリで層別してみましたので、
よかったらご覧下さい。### miro URL
https://miro.com/app/board/uXjVPHfC2SM=/?share
CentOS 7 に Ruby 3.1.3 がインストールできなかったら
Ruby 3.1.3 が出たので CentOS 7 にインストールしようとしたらできなかった。
その原因と解決方法について。# 現象
以下のようにして rbenv で Ruby 3.1.3 をインストールしようとした。
“`terminal
rbenv install 3.1.3
“`エラーが出てインストールできなかった(後述)。
なお,同時にリリースされた 2.7.7 はインストールできた。
# 原因
CentOS 7 の gcc のバージョンが古かった。
“`terminal
$ gcc –version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
“`gcc というのは C コンパイラーの一つ。Ruby は C(など)で書かれており,rbenv を使ってインストールする場合はこれが必要になる。
# 対策
devtoolset とかいうやつを入れると,新しい gcc が使えるらしい(元の gcc と共存可能)。
## devtoolset-11 を入れる
現時点(2022 年 11 月)では de
【個人開発】今のあなたの感情に合った音楽を提案、私はこんな感情の状況のときに、こんな曲を聴くよ!を共有できるアプリを作りました!
![ogp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1457972/600c041f-17cf-466f-7421-45bed4284ecb.png)
▼サービスURL
https://www.your-song.site▼github
https://github.com/Hiro929/your_song## はじめに
早速ですが、みなさん、音楽を聴こうとしたとき、何の曲聴こうかなと悩んだことありませんか?
私の場合、ハマっている曲があれば、それを聴くことが多いですが、そうでない場合は「どうしようかな〜」となることが多いです。
また、悲しい時(落ち込んだ時)など、何聴こうかな〜となることが多いです。
そういった時に、おすすめの曲を提案してくれるものがあればいいなと思いました。また、自分はこの曲に助けられているから聴いてみて!とオススメできて、ユーザーの方が落ち込んでいる方などの助けを少しでもできるようにしたいと思い、本サービスを作りました。## サービス概要
主な機能は、2
Fly.ioにRailsアプリをデプロイした時に色々なエラーが出たので解決した
# 環境
– OS
– エディション Windows 10 Home
– バージョン 21H1
– OS ビルド 19043.2130
– `ruby –version` -> `ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]`
– `rails –version` -> `Rails 6.1.7`
– `flyctl version` -> `flyctl.exe v0.0.435 windows/amd64 Commit: c5149629 BuildDate: 2022-11-22T16:41:44Z`
# 背景
HerokuのPostgres無料プラン終了に伴い、HerokuにデプロイしていたRailsアプリをFly.ioにデプロイし直しました。
基本的には以下の記事を参考にデプロイしましたが、記事内に出てこないエラーに遭遇したので、どのように解決したかを書いていきます。
[Fly.ioでデプロイする手順(Window) – Qiita](https://qiita.co
RailsのCurrentAttributesをより有害にするGemを作ってみた
## なんでこんなGem作った?
こんにちは!合同会社イービルマーシャンズと合同会社Sampo Development代表のサンポです。
フィンランドから台湾経由で日本に来ました。
(このGemは一切Evil Martiansと関係ありません)CurrentAttributesは有害と言われる時もありますが、より有害にできないか、という想いから今回のGem作りを始めました。
面白そうなので、もっと便利に使えるようにしました。
RubyGemsは[ここ](https://rubygems.org/gems/super_current)で、ソースは[ここ](https://github.com/sampokuokkanen/SuperCurrent)で確認できます。
## CurrentAttributesとは何か?
ActiveSupport::CurrentAttributesはRailsの便利機能の一つです。
グローバルで使える値を設定できるので、値を渡さないといけないことが少なくなります。
そしてリクエストごとに自動的にリセットされるので、データの漏洩も心配なし!(
【RUBY】FizzBuzz問題
# はじめに
プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。# 概要
スクールの問題でFizzBuzz問題というものが出てきて、かなり有名なプログラミングの問題ということでした。
まず、1〜100までの数字をターミナルに出力して、「3の倍数」のときは数字の代わりに文字列でFizzと、「5の倍数」のときはBuzz、3と5の倍数である「15の倍数」のときはFizzBuzzと出力するというプログラムを作っていきます。作るプログラムの雛形は下記↓
“`ruby
def fizz_buzz
# ここに処理を書き加えてください
endfizz_buzz
“`
条件の概要を整理すると、以下の4点でした。
・数字の1~100を出力する
・値が3の倍数のときだけ、”Fizz”という出力に置き換える
・値が5の倍数のときだけ、”Buzz”という出力に置き換える
構造化データについて
# 構造化データとは
## appleのmacbookについて説明したいけど、、
appleのmacbookの情報をWebページで紹介しようとした時、人間の目ではりんごとmacbookの区別がつきますが、
検索エンジンが理解する言語は人と異なるため、別途説明がないと、りんごに関する情報のWebページだと認識するかもしれません。もちろんmetadata等に明確に情報が明記されていれば、検索エンジンもコンテンツの内容を把握してくれると思いますが、
そうではない場合は意図したように認識してくるない可能性があります。
| ページ名|説明したい内容|
|——-|:———-:|
|appleMacbook.html|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2350392/0dc1436f-1dc4-0765-9eba-4e5c25935cf4.png)
|apple.html|![image.png](https://qiita-image-store.s3.ap-n
devise導入していれば使えるauthenticate_user!について
# はじめに
備忘録です。## authenticate_user!とは?
主に2つ理解する必要があります。・deviseのメソッドである
・ユーザがログインしているかどうかを確認し、ログインしていない場合はユーザをログインページにリダイレクトする。## authenticate_user!の使い方の一例
before_action :authenticate_user!, except: [:show, :index]
基本的にはbefore_actionと一緒に使います。上記のコードの意味としては、
全てのアクションの前に、ユーザーがログインしているかどうか確認する。
ただし、showアクションと、indexアクションが呼び出された場合は、除くよ。という意味になります。基本的にindexアクションや、showアクションはログインされていなくてもみられるアプリが多いためです。
(Twitterはログインしていなくても、ツイートの一覧、ツイートの詳細は見ることができる)## 参考記事
https://qiita.com/gogotakatak