2019-09-01から1ヶ月間の記事一覧

「プロジェクトに途中参加した時、どのようにキャッチアップするか」という記事を読んだ

新しいプロジェクトに入るときに、どこから理解を進めていけばスムーズなんだろうと思い、「プロジェクトに途中参加した時、どのようにキャッチアップするか」という記事を読みました。 元記事は以下のリンクです! blog.mmmcorp.co.jp 上記の記事で書かれて…

apiをvueで表示させる

昨日書きかけだったapiをvueを使って表示させる部分の流れについて書いておこうと思います! (クリックしたコメントをapiをたたいて取得してvueで表示させるだけのものです) foremanを導入 webpackerとrailsの起動を簡単にできるようにしてくれるforemanとい…

railsにvue.jsを入れる

せっかくrailsでapiを作ったので、vueを導入して表示できるようにしたいと思いました。 vueを入れる流れを書いておこうと思います。 流れ gemを追加 Gemfileに以下を追記してbundle installします。 gem 'webpacker', github: 'rails/webpacker' webpackerを…

apiを作ってみる

今までviewのあるrailsしか作成したことがありませんでした。 viewのないapiだけのrailsはどんな感じなのか理解したいと思い、ミニマムなapiアプリを作ってみることにしました! 手順や注意点について書いておこうと思います! 作成手順 rails newする 通常…

awswakaran.tokyo #2へ参加した

昨日、awswakaran.tokyo #2へ参加させていただきました! 以下のリンクが運営の方々の公式レポートです! www.awswakaran.tokyo awsわからんという自分でも楽しくセッションを聞くことができました! 印象に残ったことや思ったことについて書いておこうと思…

gemでER図を作成してみる

新しいプロジェクトに参加することになったので、まずは現在どんなテーブルがあるのか確認してみようと思いました! そこでER図を作成してくれるgemを調べてみたところ、rails-erdというものがあると知りました! とても便利だったのでその使い方について書…

「なぜ読みやすいコードが必要なのか」という記事を読んだ

「なぜ読みやすいコードが必要なのか」という記事を読んだところ、グサッとくる内容が多々あったので気づいたことや思ったことについて書いておこうと思います! なぜ大切なのかという点について詳しく書いてありました! 元記事は以下です! employment.en-…

2次元配列のeachとselect

二次元配列をeachで回し、別の二次元配列と比較するという処理を読んで、「こんなことができるのか〜」と思ったのでその内容を書き留めておきます! 処理の内容 以下のような2つの2次元配列があり、その中身の配列が一致するものを判別したいという状況で…

モックが機能してくれない

あるjobのテストで、モックを使おうとしておりました。 ちゃんとかけている気がするのですが、モックが機能してくれておりません。。。 解決できておりませんが、試してみた内容について書いておこうと思います。。。 どんなモックを作りたいか pdfを作成す…

Rspecモブプロ

今日はTama.rbでRspecモブプロを行いました! 今回はcontroller specの章をエディタでチーム分けしてやっていきました! (自分はVScodeも使うのですが、人数的にRubyMineチームへ入りましたwVScode大人気だw) モブプロする中でこれは便利だと思ったことにつ…

loadとrequireとincludeとextendの違い

今日はメタプログラミングRubyの輪読会でした! 個人的にloadとrequireとincludeの違いについて整理しておきたくなったので書いておこうと思います! loadとrequireとincludeとextendの違い load loadはKernelのメソッドです。 ファイルを読み込みます。 同…

職場で過ごした8ヶ月弱のKPT

今日が職場の最終出勤日だったので、職場で過ごした8ヶ月弱を振り返ってみようと思います! 日記的な感じで書こうと思いましたが、せっかく昨日KPT研修したのでKPT風にします! この振り返りのゴール パフォーマンス上げつつ楽しく幸せなエンジニア生活を送…

振り返りの振り返り

プロジェクトの振り返りの手法としてKPTという方法がよく使われます。 今日はその方法について改めて学ぶ機会があったので書いておこうと思います! KPT法とは Keep(良かったこと)、Problem(問題)、Try(問題をどう解決するか)について書き出していく手法です…

nil.to_i

発生した問題 以下のメソッドが呼ばれているところでbuz_accountsがnilになってエラーが発生してしまっておりました。 def has_multiple_buz?(foo_item) foo_item.bar_item .buz_accounts .pluck(:buz_id) .uniq .length > 1 end 以下のようにnilガードを挟…

Bundler.setupが読み込まれる流れを見てみる

昨日rails初期化を追っている中で、require 'bundler/setup’している部分がありました。 その時はそのプロジェクトで使うバージョンのgemをbundlerで読みこむ設定をしているというくらいしか調べませんでしたが、具体的に何をしているのかみてみようと思いま…

Railsの初期化プロセスを追ってみる

rails serverが起動されてアプリが動くまでの順序を知りたいと思い、Railsガイドの以下のページを読んでおりました。 railsguides.jp はじめの方にbin/railsファイルの解説が出てきたのですが、 「そもそもbin/railsのbinてなんだ?たまにbin付きでbin/rails…

swiftを触ってみる

普段はRubyを使っておりますが、型のある言語も触っておいたほうがいいという話を何度か見たり聞いたりしたことがあり、型のある言語を触ってみたいと思っておりました。 型のある言語だと、go、typescript、java、swift、elixirなど気になっている言語がた…

config/initializers

昨日銀座Railsへ行きました。 そこでgemつくる前にconfig/initializers配下に.rbファイル作って試せるということを知りました! さらにrailsを速く動かすために何を変えればいいかコードを追っているのをみて、自分も少しコードを見たくなったのでconfig/ini…

配列から重複している値を返す

配列から重複している値を消すにはuniqメソッドを使えば一瞬で完了しますが、重複している値を返すメソッドは見つかりませんでした。 しかしgroup_byを使って以下のように取得できることを知りました! irb(main):011:0> arry => [1546,1547,1549,1551,1552,…

プルリクとissueを紐付け自動でクローズさせる

本日、github上でプルリクとissueを紐づけるやり方を知りました!! その方法についてです! やり方 issueを作る 通常通りIssuesのタブを選択し、issueを作成します。 紐付けたいブランチで”fixes #issue番号”とコミット プルリクエストやコミットにfixesと…

rspecでモックを使う

apiが絡む部分のテストで、実際にはリクエスト投げて欲しくない部分がありました。 そんな時はモックを使うと便利だと知ったので書いておきます! 具体的な状況 HogeBuildJobの中にapiのリクエスト投げてしまう処理がありました。 最初、api投げる処理の直前…

クエリキャッシュ

ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita こちらの記事を理解する上で、クエリキャッシュについてもわかっておかないといけないと思った為調べてみることにしました!! クエリキャッシュとは データベースを参照した結果をメモリ…

PIZZA会 ~転職について編~

本日はTamarbの方々と美味しいPIZZAとお菓子を食べつつ、会社&自分にとってミスマッチ少なくなる会社の選び方や面接時の伝え方についていろいろアドバイスをいただきました!! 凄く良い話がたくさんあったので記事にします! 自分の軸・希望を明確にする 組…

メタプログラミングRuby音読会 #2

昨日はメタプログラミングRubyの輪読会へ参加してきました! 今回は、「モンキーパッチ」「継承とインスタンス化」「定数のスコープ」など今まで疑問が多かった内容について学ぶことができました!! 個人的に印象的だった内容について モンキーパッチ オー…

inner joinとouter join

ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita 上記リンクの記事を何度か読んだことがあるのですが、 そもそもinner joinやouter joinについてよくわかっていなかったため、「includesしとけば万能そう」という理解しかできておりませ…

ローカルdbのデータをherokuのリモートdbへ入れるコマンド

昨日ローカルdbの内容からシードデータを作成し、リモートへデータを追加しようとしたのですが、問題がいくつかあり別の方法で行いました。 その方法について書いておきます! シード作るよりかなり簡単でした! 方法 ローカルdbの内容をherokuのリモートdb…

本番環境のデータをステージングへ入れる

本番環境のデータをステージングへ入れる必要があり、方法を調べました。 実際には違うやり方の方が良いとの判断となり、この方法でステージングにデータを入れることはしなかったのですが、その方法について書いておきます! 方法 1.本番データをローカルへ…

gemを使わずにenumを日本語化

Railsでenumを日本語化する方法を検索すると、enum_helpというgemを使用する方法がたくさんヒットします。 しかし先日、gemを使わなくても日本語化できる方法を知りました!! 方法 以下のようにモデルでenumでステータスの値を設定しているとします。 app/m…