おさとの雑記帳

日々の学習のアウトプットに使っていきます!

Rubyでよく見る(&:)を読み解く

目次 目次 はじめに 前知識 Proc &修飾 (&:method)を解読する 例のコードを読んでみる まとめ 参考 はじめに この記事はCODE BASE OKINAWA Advent Calendar 2022 - Adventarの10日目のエントリーです。 今まで何気なく使っていた(&:method)がどういう挙動を…

【リーダブルコード】第五章 コメントすべきことを知る の要約

コメントすべきでないこと、すべきなこと コメントの目的とはなんでしょうか? それは書き手の意図を読み手に知らせることです。 ただし、全ての意図をコメントすればいいわけではありません。 コメントを読むということはその分だけコードを読む時間が減る…

【リーダブルコード】第四章 美しさ の要約

優れたソースコードは「目に優しい」 見た目が美しいコードの方が読みやすいはずですよね。 改行やインデントがメチャクチャなコードは大変読みにくいです。 この章では見た目的にコードを読みやすくするための三つの要素と原則が紹介されています。 要素 余…

【リーダブルコード】第三章  誤解されない名前 の要約

最善の名前とは誤解されない名前をつける! ある変数や関数名をつけた際には「他の意味に取られることはないか?」を自問するべきです。 以下では自問・検討の仕方を見ていきます。 曖昧な名前を避ける 変数に対して代入されるものが、何かに処理をくわえて…

【リーダブルコード】第二章 名前に情報を詰め込む の要約

初めに 変数名や関数名には情報を詰め込むべきです。 例えば、 data や tmp などは情報があまり含まれていないといえます(経験としてdataを使った際にレビューをいただいたことが)。 情報を詰め込んだ名前とはどのようなものでしょうか。 命名するポイント…

【リーダブルコード】第一章 理解しやすいコード の要約

「簡潔さ」と「安心」のどちらが大切か、またどのようにその判断を行うか 以下のコードを見比べて見ましょう。 # A n = 3 puts n % 2 == 0 ? "#{n}は偶数です" : "#{n}は奇数です" #=> 3は奇数です # B n = 3 if n % 2 ==0 puts "#{n}は偶数です" else puts …

リーダブルなテストコードについて考えように参加しました!

veriserve-event.connpass.com こちらのイベントに参加させていただいたので感想や特に学びになったことについて書いていこうと思います 概要 特に印象に残ったこと テストコードは過度にDRYにし過ぎない 「わかるようでわからんコード、だがしかしパスする…

vscodeでrubyのフォーマットを有効にしたい

目標 vscode でrubyのフォーマッターである rufo を使って自動整形を行えるようにする 手順 vscode で command + shift + x を押して拡張機能を開く Ruby と Rufo をインストールする gem install rufo を実行する(permissionのエラーが出たらsudoつけるなど…

Railsチュートリアル4章やってみた

はじめに Railsチュートリアルの演習を進めつつ、わからなかったところ、調べたところをアウトプットしてしこうと思います。 4.1 メディアタイプ: パソコンのスクリーンだけでなく、プロジェクタなどの他の媒体のこと 参考: メディアタイプ-CSSの基本 4.2 4…

GitHub Actions でテストとデプロイを自動化してみた

こんにちは. おさとです 当エントリーではRailsプロダクトをGitHub Actionsによるテスト、デプロイの自動化をおこなっていきます. やりたいこと push時にテストを走らせる mainにマージする時にテストを走らせる GREENならデプロイ 背景 Railsで開発を進める…

Railsチュートリアル3章をやってみた

初めに Railsチュートリアルの3~14章のコードを私の理解とともに読み進めていく、という試みのもとこのエントリーを書いております 間違いなどあればコメントでご指摘いただけると幸いです 環境 Ruby: 2.6.3 Rails: 6.0.4 エディタ: RubyMine (cloud9では…

`Webpacker::Manifest::MissingEntryError` のエラーが出た時の対処法

環境 Ruby 2.6.6 Rails 6.0.5 起きたこと rails s をして、root以外のページにアクセスすると、Webpacker::Manifest::MissingEntryError が発生した。 解決法 Webpackerのバージョンを上げて、プリコンパイルし直す。 手順 Gemfileのgem 'webpacker' のバー…

M1 mac でrbenv install できない時に試してみたいこと

背景 M1 mac にて rbenv install 2.6.6 を実行したところbuildで落ちてしまったので、その時にしたことをメモしておきます. やったこと1 RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 2.6.6 を実行しましたが、同様…

新規プロジェクトにおけるrspecの設定

やりたいこと 時間をかけず、rspecが実行できるように設定する 注意 『Everyday Rails - RSpecによるRailsテスト入門』を参考にさせていただいてますので、詳しい説明などはそちらをご覧ください leanpub.com 手順 Gemを追加する # 元々追加されてるGemは省…

RubyMine で 実行/デバッグができない時のTips

起きたこと Open 'Edit Run/Debug configurations' dialog から実行・デバッグの設定をしようとしてもできなかった 解決方法 rm -rf .idea を実行し、プロジェクトを閉じて再度開くと、実行・デバッグができる状態になっている 補足 デバッグ系のGemは、バー…

説明変数を使おう

結論 説明変数を用いると可読性が増す 説明変数とは? 式を表す変数のこと。 式の意味を説明してくれるような変数名にするため、説明変数と呼ぶ。 使う理由 コードの見通しが良くなるため。 具体例 users = [ { name: "太郎", hobbies: [ "baseball", "shogi…

devcontainerでRubyの実行環境作ってみた

結論 rbenvなどなしにRubyの開発環境を作ることができた 目標 VS Code + Remote ContainerでRubyの開発環境を用意する やったこと 基本的には以下のリポジトリを参考にさせていただきました。 github.com 用意したのは .devcontainer ├── Dockerfile ├── dev…

『頭を「からっぽ」にするレッスン』読んでみた

結論 好きな時に、マインドフルネスな状態になることを目指せそう はじめに 何か調べている時に、どこからともなく別の思考が流れてくること、ありませんか?私はよくあります。 Rubyの勉強をしていたはずなのに、「AWSとHerokuそれぞれのメリット・デメリッ…

Railsの練習帳を読んでみた

このブログ初の記事になります! igaigaさんの Railsの練習帳を読んで得た知見をアウトプットしていきます。 結論 規約から外れた関連付けにおいて双方向関連付けを行う場合、inverse_of の設定が必要になる。 双方向関連付け 関連付けにおいて、規約から外…