2020-08-01から1ヶ月間の記事一覧
Rails では Active Record を利用することで、直接 SQL を書くことなしにさまざまなデータ操作ができる。 レコード検索 rails コンソールで動かして、発行される SQL も確認してみる。 1件検索 id で検索 id で検索する場合は find を使う。レコードが見つか…
8月9日から、フィヨルドブートキャンプ の有志で「パーフェクト Ruby on Rails 輪読会」をやっている。 パーフェクト Ruby on Rails 【増補改訂版】作者:すがわら まさのり,前島 真一,橋立 友宏,五十嵐 邦明,後藤 優一発売日: 2020/07/25メディア: Kindle版 …
今学習でつまずいているので今日は技術にあまり関係ない話。 英語もプログラミング言語も、多読が効果的という仮説を立てた。— masuyama13 (@masuyama_13) 2020年7月14日 3月に仕事を辞めてから、一日中プログラミングをやっている生活の中で、寝る前30分は…
8月28日、オンライン開催された 銀座Rails#24@リンクアンドモチベーション に参加した。ツールはZOOMで、参加者は約80人。 出張Railsウォッチ in 銀座Rails 本日の銀座Railsの発表資料をUPしました。令和Devise事情の話です。Twitterアンケート回答いただい…
Git の記事をたくさん書いたが、一番使うといっても過言でないくらいの git status を忘れていた。 ドキュメントによると、git status は、ワークツリーの状態を見るコマンド。現在のブランチも確認できる。 git-status - Show the working tree status Git …
8月26日にオンライン開催された 開発ライブ実況#4 VSCode編 (メルカリ AI&Searchチーム AIエンジニア) に参加した。YouTube Live でアーカイブあり。 TODOアプリのAPIサーバを作るという課題。 言語は Go で、Docker など自分には馴染みのないものもあったが…
8月22日、フィヨルドブートキャンプのLT会のオーガナイザーをやらせてもらった。アンケート結果がまとまったので、振り返りと今後に向けて。 LT会の概要はこちら。 masuyama13.hatenablog.com アンケート結果 アンケートはGoogleフォームで作成。今回初めて…
git resetは、HEADを戻すコマンド。だが、インデックスの削除など HEAD を戻す以外の使い方もあり、混乱したのでまとめておく。 $ git reset <オプション> <コミット> コミットは、コミットのハッシュのほか、HEAD やブランチ名などで指定する。指定しなかっ…
8月22日のオンラインLT会 で発表した git reset について。LTでは時間の関係上削除した部分もあるので、そこも含めて書いてみる。 speakerdeck.com git reset git resetは、HEADを戻すコマンド。コミットやインデックス、ワークツリーのデータを消すことがで…
8月22日、フィヨルドブートキャンプで「初めてのLT会 Vol.4」をオンラインで開催。初めてオーガナイザーをやらせてもらった。 振り返り&反省はアンケート結果がまとまってからやるとして、今日はLT会の紹介などを。 「初めてのLT会」は、フィヨルドブートキ…
Git でコミットを指定するとき、HEADの一つ前ならHEAD^、二つ前ならHEAD^^のようにしていた。一方、Git の公式ドキュメントを見ていたら、HEAD~やHEAD~2が使われていた。 ただ書き方が違うだけで同じものだと前にどこかで読んだので特に気にしていなかったの…
8月20日にオンライン開催された Sendai.rb #10 に参加した。参加者は7人。ツールは Google Meet と Slack。 Sendai.rb ではもくもく会をやっているそうだが、今月はミートアップの回ということで、2チームに分かれて AtCoder の問題をモブプロした。 A - Pay…
Gem やファイルを読み込むために使う require と require_relative。違いは以下の点だけかと思ったら、そこまで単純でもないらしい。 require はカレントディレクトリからのパス(絶対パス)で指定する require_relative は実行ファイルからのパス(相対パス…
ブランチを切り替えるときに必ず使う git checkout。リセットっぽい機能もあったりしてちょっととっつきにくい。 そんなcheckout、いずれ使わなくなるかも?? 2019年8月(バージョン2.23)、checkout の機能を2つに分けた switch と restore が実験的なコマ…
truthyという単語は英和辞書には載っていない。ネットで英英辞書もいくつか見てみたが載っていなかった。 trueっぽい、というような意味だと思ってはいたが、きちんと調べたことがなかったので調べてみた。 この言葉を知ったきっかけは、Minitest の refute …
システムテストでは、ユーザーのブラウザ操作をテストする。Rails プロジェクトでは Capybara(カピバラ )という Gem によって、ブラウザ(ヘッドレスブラウザ指定可)で実行される。 Rails では RSpec というテスティングフレームワークが使われることが多…
この前下の記事を書いた。ついでにやってみたらよかった、タブに関する設定いろいろを紹介。 VSCode ターミナルやサイドバー移動もキーボードだけでできる - No Solution for Life 常に新しいタブで開くようにする VSCode でサイドバー(Explorer)のファイ…
Rails では、rails generateコマンドでモデルなどを作成すると、テストのスケルトン(ひな形)も自動で作成される。 テストだけを作成する場合は、以下のコマンド。 テストのスケルトンを作成 # モデルテストを作成(userモデルの例) $ bin/rails g test_un…
既存のデータベーステーブルの特定のカラムについて、マイグレーションファイルを使って後からデフォルト値や not null 制約を設定する方法。 (共通手順) マイグレーションファイルを作り、 マイグレーションファイルを編集。 bin/rails db:migrate でデー…
これまで「true」と「真」、「false」と「偽」を特に区別せずに使うことが多かったが、たまにモヤモヤすることがあった。テストを書き始めてそこら辺が気になってきたので、この機会にはっきりさせてみることにした。 結論から言うとこういうこと(注:Ruby …
masuyama13.hatenablog.com 昨日上の記事を書いたが、今度は test-unit の refute のコードとエラーメッセージはどうなっているんだろうと気になって調べてみた。 test-unit で失敗するテストを書く blog.rb class Blog end blog_unit_test.rb require "test…
前回、refuteとassert_notはエラーメッセージが違うことがわかった。 masuyama13.hatenablog.com assert_not_equalなどは Minitest のrefute_notなどのエイリアス(別名)なので、assert_not_equalを呼び出すとrefute_notが実行される。つまり動作としては全…
この記事の続き。 masuyama13.hatenablog.com 前回の疑問 assert_not_equalなどはエイリアスとして設定されてるっぽい。なんでassert_notはエイリアスじゃだめなんだろう。 コードを見比べる Minitest の refute def refute test, msg = nil msg ||= message…
8月7日にオンライン開催された Machida.rb #04 に参加した。Machida.rb は先月に続き2回目の参加。参加者は約10人、ツールは ZOOM と esa。今回はコードレビュー会。 自分はコードレビューしてもらう枠で申し込んでいなかったのだが、運よくコードレビュー枠…
Rails のテストと Minitest を学習していて、refute と assert_not は同じものなのか違うものなのか気になったので調べてみた。 アサーション アサーション(assertion)とは、オブジェクトや式を評価して、期待された結果が得られるかどうかをチェックする…
FizzBuzz 問題を題材に TDD(テスト駆動開発)を学んだので、実際に動画の流れに沿って、Ruby でテストを書いてみた。 (動画はこちら:TDD Boot Camp 2020 Online #1 基調講演/ライブコーディング - YouTube) Ruby 標準のテスティングフレームワークである…
テスト駆動開発(Test-Driven Development)とは、テストファースト、つまり最初にテストを書いてからコードを書く開発手法。日本における TDD の第一人者、@t_wada さんのライブコーディングを見て勉強したのでまとめる。 TDD Boot Camp 2020 Online #1 基…
1週間(8月9日まで)限定で無料公開されていたので読んでみた。 hrzine.jp 非エンジニア向けに書かれているので技術についての詳細な説明はないが、エンジニアに関する用語説明が豊富でざっくりとした業界の全体像をイメージすることができた。 まず、Web ア…
8月3日、オンラインで開催された Sendagaya.rb に参加した。2回目の参加だった。 参加者の自己紹介で出た Ruby や Rails 関係の話題について話した(といっても自分はまだ聞くだけで精一杯)。 テストについて RubyMine での RSpec のテスト作成方法の話から…
できるだけマウスを使わず、キーボードだけで操作したい、と願うのは私だけではないと思う。Vim プラグインは諦めたが、こういう方法もあるということでまとめておく。 デフォルトで使えるショートカットキー(Mac) キー 動作 control + 数字(タブの番号)…