- 0.0.1. AWSにログインする方法
- 0.0.2. デイリードリルアウトプット3
- 0.0.3. Ruby スクリプトで「もしかしてこれ?」と言ってみたい
- 0.0.4. 掲示板アプリに空の投稿を出来ないように制限をかける
- 0.0.5. Ruby と Perl と Java と Python で解く AtCoder ABC 107 B 文字列操作
- 0.0.6. 【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第4回) 〜コード全文〜
- 0.0.7. 【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第3回) 〜運用編(購入)〜
- 0.0.8. 【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第2回) 〜運用編(クレジットカード登録)〜
- 0.0.9. 【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第1回) 〜導入編〜
- 0.0.10. rake実行時の NameError: uninitialized constant Xxxxx の解決について
- 0.0.11. 『フリマアプリ』カテゴリー別に商品を表示する方法
- 0.0.12. [Rails] has_secure_passwordについて
- 0.0.13. 【さちゃでもわかる】Ruby on Rails 入門1
- 0.0.14. 2020/05/05(火)Day4
- 0.0.15. CloudFormationで使われていないExportを洗い出す
- 0.0.16. ~これまでの学習項目および参考にした教材~
- 1. ~これまでの学習項目および参考にした教材~
- 2. ページ毎にタイトルを変更する方法
AWSにログインする方法
ssh Portfolio_key_rsa
デイリードリルアウトプット3
# TECH::CAMPでは毎朝問題が出題されます。気になったものを自分の勉強用として記録しています。
## Question
Rubyのメソッドを定義するときに、様々な引数の渡し方ができます。以下の機能を利用したメソッドのコードを記述してください。
メソッドの内容は問いません。①デフォルト値
②可変長引数
③キーワード引数
>今までは>def method1(num=3)
puts num
end>method1
>のようにしか引数を使っていなかったんですが、他にもたくさん便利な渡し方があるようです。
## Answer
***①デフォルト値***“`ruby
def method1(num=3)
puts num
endmethod1 # => 3
method1(10) # => 10
“`
>
メソッド側で(num=3)とデフォルト値を設定することで、代入するオブジェクトが無かった場合(呼び出し側で指定した引数の数が、メソッド定義側で指定した引数よりも少なかった場合)、デフォルト値が設定されていればその値が
Ruby スクリプトで「もしかしてこれ?」と言ってみたい
# はじめに
Ruby で,メソッド名を少しだけ間違うと,「もしかしてこれ?」と言ってくれる。
たとえば円周率を表示しようとして“`rb
puts Math::PI
“`のつもりで
“`rb
pots Math::PI
“`とやったら
“`
NoMethodError (undefined method `pots’ for main:Object)
Did you mean? puts
“`のように表示される。
意訳すれば> `pots` なんつーメソッドはねーよ
> もしかしてこれ? `puts`となる。
存在しないメソッドを呼び出そうとしたときに,存在するメソッドの中からよく似た名前のものを探してきて,候補として表示してくれるンである。こういう機能を自作のスクリプトにも組み込めないか?
つまり,ユーザーに何か入力させるのだが,受け付ける文字列があらかじめ限られていて,そこから外れているときに,「もしかしてこれ?」とやるわけだ。# お題
こんなプログラムを考える(実用性は考えていない)。
Ruby 関係のよく見るウェブサイトを
掲示板アプリに空の投稿を出来ないように制限をかける
【開発環境】
macOS Catalina
バージョン 10.15.3
ruby 2.5.1
Rails 5.2.4.2
visual studio code勉強用に掲示板アプリを作成したので、その際に行ったバリデーションを記載します。
#バリデーションを設定し、空の投稿を制限しよう
掲示板アプリなどで空の投稿が出来てしまうというのは望ましくありません。
それを防ぐためにバリデーションを設定する必要があります。##バリデーションとは?
バリデーション(validate)とは、データをDBに保存する前に無効なデータが保存されないように制限する機能のことです。バリデーションの基本的な書き方です。
“`
validates :カラム名(シンボルで指定),チェックの方法
“`
##投稿機能にバリデーションを設定する
今回作成した掲示板アプリの投稿(post)のカラムはタイトル(title)と内容(content)です。
この二つのカラムが空の場合投稿できないようにバリデーションを設定します。バリデーションはデータをDBに保存する前に行うので、モデルに記載する必要があります
Ruby と Perl と Java と Python で解く AtCoder ABC 107 B 文字列操作
# はじめに
*[AtCoder Problems](https://kenkoooo.com/atcoder/#/)* の Recommendation を利用して、過去の問題を解いています。
AtCoder さん、AtCoder Problems さん、ありがとうございます。
# 今回のお題
*[AtCoder Beginner Contest 107 B – Grid Compression](https://atcoder.jp/contests/abc107/tasks/abc107_b)*
Difficulty: 434今回のテーマ、文字列操作
# Ruby
“`ruby.rb
h, w = gets.split.map(&:to_i)
a = []
h.times do |i|
s = gets.chomp
a.push(s) if s.count(‘.’) != w
end
1.upto(w) do |i|
f = true
a.each do |x|
f = false if x[w
【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第4回) 〜コード全文〜
“`ruby:cards_controller.rb
class CardsController < ApplicationController require 'payjp' before_action :set_item, only: [:show,:pay] before_action :card_present,only:[:index,:destroy] before_action :take_card,only:[:show,:pay] before_action :set_api_key def index if @card.present? set_customer set_card_information end end def create if params['payjp-token'].blank? redirect_to action: "new" # トークンが取得出来てなければループ else user_id = c
【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第3回) 〜運用編(購入)〜
某スクールにおいて、チーム開発で、フリーマーケットアプリを作成中であり、使用した技術について公開しています。
※初学者のため、ミスや認識違いが多々あると思いますがご了承ください。# フリマアプリにおいて、PAY.JPを用いたクレジットカード決済機能を実装しました!!
前回記事
今回の記事は運用編(購入)となります。
それでは、実際にPAY.JPを用いてクレジットカード機能を用いた購入ができるように実装して行きたいと思います。
##カード情報表示
「購入する」ボタンをクリックしたら、**cardsコントローラーのshow**アクションに遷移します。
【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第2回) 〜運用編(クレジットカード登録)〜
某スクールにおいて、チーム開発で、フリーマーケットアプリを作成中であり、使用した技術について公開しています。
※初学者のため、ミスや認識違いが多々あると思いますがご了承ください。# フリマアプリにおいて、PAY.JPを用いたクレジットカード決済機能を実装しました!!
|内容 | url |
|:—————–|——————:|:—————————–:|
| 第1回 |導入編 | https://qiita.com/sho_U/items/ee0831844a0afd6e976f|
| 第2回 |運用編(クレジットカード登録) | https://qiita.com/sho_U/items/0a127e6f0904e3e9132b |
| 第3回| 運用編(購入)|https://qiita.com/sho_U/items/64ca57b7a1f72bf7079f|今回の記事は運用
【フリマアプリ】PAY.JPでのクレジットカード決済機能について(第1回) 〜導入編〜
某スクールにおいて、チーム開発で、フリーマーケットアプリを作成中であり、使用した技術について公開しています。
※初学者のため、ミスや認識違いが多々あると思いますがご了承ください。# フリマアプリにおいて、PAY.JPを用いたクレジットカード決済機能を実装しました!!
|内容 | url |
|:—————–|——————:|:—————————–:|
| 第1回 |導入編 | https://qiita.com/sho_U/items/ee0831844a0afd6e976f|
| 第2回 |運用編(クレジットカード登録) | https://qiita.com/sho_U/items/0a127e6f0904e3e9132b |
| 第3回| 運用編(購入)|https://qiita.com/sho_U/items/64ca57b7a1f72bf7079f|〜コード全文
rake実行時の NameError: uninitialized constant Xxxxx の解決について
# 今回の問題
rakeタスクを実行して以下のようなエラーがでた。ただしこのエラーが出て条件として、「**別プロジェクトからコピーで取ってきたrakeを実行**」して通常見ないエラーが出現した。
“`sh:rake実行後のエラー
rake aborted!
NameError: uninitialized constant AutoRakeTask
“`# 解決
rakeのタスク名と一緒に`:environment`を付与することで解決した。“`ruby:before
task :exec do
“`から
“`ruby:after
task exec: :environment do
“`へ変更したら、事象が解決した。
ちなみに、environmentについて調べた結果、以下の記事にたどり着いたが、記載されていたエラー文も同じものだった。
参考:[Rails における rake タスクの :environment について](https://qiita.com/FumiyaShibusawa/items/11035fc640bb36a615
『フリマアプリ』カテゴリー別に商品を表示する方法
#はじめに
今回実装する機能はこちら:point_down_tone5:__1:親要素のカテゴリーをクリックした場合全ての子要素の全ての孫要素のカテゴリー名を含む商品を表示__(全てが多すぎますね、、説明できなくてすみません。)
![40e45f95b9d2fc324f16e72b9b8be59a.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601876/ae081f09-3c6f-4bb6-1590-b2aa598dfc78.gif)
__2:子要素ののカテゴリーをクリックした場合クリックされた子要素の全ての孫要素のカテゴリーを含む商品を表示__
![48593223ec3a60fa31e9bc188950f7dc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601876/ec69b93b-7d57-e983-dbd8-4ef69cffba87.gif)
__3:孫要素のカテゴリーをクリックした場合クリックされ
[Rails] has_secure_passwordについて
最近使う機会が増えてきたhas_secure_passwordについてまとめてみました。
***
“`
class User < ApplicationRecord . . . has_secure_password end ``` *** ##具体的なメリット 1.セキュアにハッシュ化したパスワードを、データベース内のpassword_digestという属性に保存できるようになる。 2.2つのペアの仮想的な属性 (passwordとpassword_confirmation) が使えるようになる。**また、存在性と値が一致するかどうかのバリデーションも追加される。** 3.authenticateメソッドが使えるようになる (引数の文字列がパスワードと一致するとUserオブジェクトを、間違っているとfalseを返すメソッド)。 *** ##has_secure_passwordを使うための条件 1.gemに'bcrypt'を追加する。 2.モデルにpassword_digest属性を追加する。 *** ##注意点 メリットの2つ目のバリデ
【さちゃでもわかる】Ruby on Rails 入門1
## はじめに
1年くらい前にProgateでRubyを少しだけ触っていた自分が,バイトで1ヶ月バリバリのRubyの環境で(知らなかった)学んだ話の備忘録.## 実装環境
macOS Catalina 10.15.4
ruby 2.6.3
Rails 6.0.2.1## 参考リンク
[Railsガイド](https://railsguides.jp/getting_started.html)## Railsとは?
[Railsガイド](https://railsguides.jp/getting_started.html)を軽くまとめると– Rubyプログラミング言語で書かれたWebアプリケーションフレームワーク
– Railsは、最善の開発方法というものを1つに定めており,それに沿った開発を全面的に支援する
– コード量がより少なくて済むにもかかわらず、より多くの機能を実現できるというものです.そしてRailsの哲学には
#### 同じことを繰り返すな (Don’t Repeat Yourself: DRY):
> DRYはソフトウェア開発上の原則であり、「シ
2020/05/05(火)Day4
# 2020/05/05(火)Day4
#####9:30~10:30 Ruby基礎
– クラスメソッド・インスタンスメソッド違い| 項目| クラスメソッド | インスタンスメソッド |
|:-:|:-:|:-:|
| 定義方法 | メソッド名の前にself.class名 | メソッド名の前にselfつけない |
| 用途 | 個別の属性値は関連性ない共通の処理 | インスタンスごとの属性値を用いる個別の処理 |
| 呼び出し元 | クラス自身 | クラスのインスタンス |– クラスの継承
“`ruby
class 子クラス名 < 親クラス名 end ``` - 確認テストで学んだこと ```ruby def initialize(引数1, 引数2) *メソッドに引数を設定しておく @引数1=引数1 @引数2=引数2 end ``` #####10:30~ RubyOnRails基礎 - Railsアプリケーション仕組み ・ルーティング *リクエストを振り分ける ↓ ・コントローラー ⇄ ・モデル *共通した処理や、データの結びつ
CloudFormationで使われていないExportを洗い出す
CloudFormationにおいてスタック間で値を受け渡したいときに、参照される側で出力値をエクスポートして、参照する側で`Fn::ImportValue`で読み込む方法があります。
[スタックの出力値のエクスポート](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html)エクスポートされている値は各スタック詳細の出力や[エクスポート]から見ることができます。
~これまでの学習項目および参考にした教材~
【バックエンド言語】
・Ruby
→プロを目指す人のためのRuby入門・Ruby on Rails
→Railsチュートリアル6版・Rspec
→Everyday Rails Rspecテスト入門【フロントエンド言語】
・HTML/CSS
→1冊ですべて身につくHTML&CSSとWEBデザイン・Bootstrap
→公式リファレンス・Materialize
→公式リファレンス【その他】
・Docker
→Dockerを利用した開発環境の構築方法を学ぼう!・Git Hub
→もう怖くないGit!チーム開発で必要なGitを完全マスター
ビュー(erb,haml)でデバッグを行う
##やること
今回の記事では、表題の通りビューファイルの中でデバッグを行います。
erbとhamlではhtmlの中にRubyを書き込むことが出来るため、実はbinding.pryをかけることが出来ちゃいます。
これにより、ビューで使用する変数にどのような値が格納されているか分かるわけです!
やることはすごく簡単なことですが、意外と盲点となっており初学者では知らない人も多いと思います。##早速やってみる
以下のようにerbで書かれたビューファイルがあったとします。
注目する点は2行目のbinding.pryです。
erbはビューファイル内にRubyのコードが書けるので、2行目で処理を止めることができます。“`erb
<% @posts.each do |post| %>
<% binding.pry %>関連する記事
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関連のことを調べてみた