共同開発

DumpファイルのデータをDockerのMysqlへ入れる

やっとDumpファイルのデータをDockerのMysqlへ入れることができたので やり方を書いておこうと思います! 方法 ダンプファイルを用意 ダンプファイルを用意し、アプリ直下へ置きます。 ダンプファイルの schema情報と現在のDBが違う状態となっている場合、ダ…

git rebaseコマンド使わずコミットまとめ直す

git rebaseコマンドが使いこなせず、元のブランチに戻れなくなる事が何度もありました。そこでrebaseコマンドを使わなくてもコミットを綺麗にまとめ直せる方法を気づかせてもらったので書いておこうと思います。 まずコミット履歴を調べます。 $ git log --o…

rubocop-railsと言うVSCodeの拡張

ローカルでrubocopを実行し忘れたままリモートへプッシュしてしまうことが多く、申し訳ないなと思っておりました。 sleckのgithubの通知が飛んでくるチャンネルが自分へのrubocopからの指摘で埋もれる。。。w 「ローカルで実行する癖をつけなくては」と日報…

activerecord-import

レコードをいっぺんに複数作成するメソッドを以下のように書いてしまっておりました。 def import_hoges hoges = params[:hoges] hoges.each do |hoge| Hoge.create!( user_id: @login_user.id, recorded_at: hoge[:recorded_at], value: hoge[:value]) ende…

Ebisu.rb #25でLTをした

本日はEbisu.rbでLTをしてきました! そのスライドは以下です! speakerdeck.com 無事終わってよかったし、嬉しい言葉いただけたし、LT申し込んで良かった!!

当たり前のことを出来るようにしていきたい

どうするか迷ったら自己流ではなく、他の方々のやり方を参考にしなくてはいけないな、と本日実感しました。 「これでいいか」と自己流で進めてしまうと、指摘する部分が多くなり、レビュワーさんや周りの方々の負担が増えてしまいます。 「他の方々のやり方…

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

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

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

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

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

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

振り返りの振り返り

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

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

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

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

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

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

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

無名クラス

ある機能に関してブランチを分けて実装している際、 別ブランチで作成しているクラスのインスタンスが今のブランチで実装しているメソッドを使えるか試したいことがありました。 別ブランチをpullして持ってこようかと思いましたが、コンソール上で無名クラ…

RubyMineとVSCode

自分はRubyMineを約半年ほど愛用していたのですが、 昨日VSCodeを使ってみたら「あれ?!VSCodeめっちゃいいのでは...!!」という気持ちになっております。 よく「VSCodeからRubyMineに乗り換えた」系の記事は見かけたことがあったのですが、自分の場合逆です…

案件回せるようになるための振り返り

今担当している案件をまだ自分がひとりで回せそうに無いので、 先日「どうやったら今の案件を1人で回せるようになるか」を会社の先輩が一緒に考えてくださいました! 具体的には、現状の把握・足りてないこと・アクションプランについて考えていきました! …

tigを入れた!!

先日、特定のプルリクをRevertしたり一部だけマージし直したりしなければならないことがあり、 gitの状態がどうなっているか理解が追いつかない...となることがありました。 そこでtigというツールがあることを教えてもらい、以下の記事も紹介してもらいまし…

バグを発生させてしまった反省

今日は自分の実装した機能が原因の不具合がたくさん発覚しました。 具体的な内容 具体的には以下のような内容です。 ・変更→ 検索で1件のみ絞り込んで表示していたのを条件一致するもの全件表示する バグ→ 半角のものがヒットしなくなってしまった ・変更→ …

@sinamon129さんの「システム障害との向き合い方」をもう一度読んだ

@sinamon129さんの「システム障害との向き合い方」をもう一度読んでみました。 このご発表を聞いた当時はシステム障害を経験したことがありませんでしたが、先日まさにシステム障害を経験することがあったからです。 そのスライドが以下です!! speakerdeck…

リモートのmasterに間違えてmergeしてしまった時

リモートのmasterに間違えてmergeしてしまい、めちゃくちゃ焦る事態がありました。 別に問題のある内容をmergeしてしまった訳ではないのですが、明後日mergeしましょうと話していた内容だったので焦りました。 その時の手順についてまとめておきます。 手順 …

ngコマンドが動く環境構築

某サイトを修正するにあたって、「ng serve」 など、ngコマンドを使う必要があったのですが、環境構築で少し苦戦しました。ngコマンドが何物なのかもよくわかっておりませんでした。 その概要と環境構築の手順を書き留めておきます。 ngコマンドとは Angular…

NKFで文字コードを変換する

csvのインポート・エクスポート処理でshift-gisをUTF-8に変換する必要がありました。 しかし、文字コードについてよくわかっておらず、色々教えてもらいました。 今回はその内容について書き留めておこうと思います!! NKFとは ものすごく古い漢字コード変…

読みやすい条件の書き方にする

ビューで 'Loading...' という文言を表示させる条件を、以下のように書いてしまっておりました。 - unless (@menus.include?(@menus_last) || @menus.length == 0) .page-load-status .infinite-scroll-request | Loading... 自分でもこのunless文を書くにあ…

コントローラを分けるタイミング

本日、あるアクションを実装した部分について、別のコントローラに分ける方が良いというアドバイスを頂きました。 具体的には別のモデルの処理であるにも関わらず、1つのコントローラの中で実装してしまっておりました。 その際に参考文献として以下のリン…

Heroku本番DBの内容をローカルに持ってくる

Herokuの本番DBの内容をローカルに持ってくる方法を教えていただきました!! これは便利!!と感動したくので書き留めておきます。 以下のように、 heroku pg:pull herokuのDB名 ローカルDB名 --app アプリ名 とすると取得できます。 $ heroku pg:pull hero…

テストDBだけリセットしたい(postgresql)

テストデータベースだけリセットしたい!と思うことがありました。 調べてみたところ、以下の手順でテストデータベースをリセットできるようでした! ①データベースをtestに切り替える $ bin/rails db:environment:set RAILS_ENV=test ②データベースを消す $…

ransackで数字の1をパラメータで渡すとエラーが出た

ransackを使った検索フォームを作っていたのですが、数字の1をパラメータとして送る際、エラーが出てしまう問題にぶつかりました。 その解決方法について書き留めておこうと思います。 エラー内容 ransackを使って作成した検索フォームで、数値を入力しても…

一度addしてしまったディレクトリをgitignoreする

昨日、vendor/bundle配下にインストールされたgemをgitの追跡対象に入れてしまったままプルリクを出してしまい、ファイルの変更履歴が膨大な量になって迷惑をかけてしまいました。 そこで、後から.gitignoreにvendor/bundleを含めようとしたのですが、手間取…

postgresqlでDBが作れなかったのを解決(してもらった)

コミュニティ開発しているプロジェクトで、githubログインを実装してくださったプルリクを確認しようと思い、ローカルにプルリクの内容を持ってきて確認しようとしました。 そしたらpostgresqlでデータベースが作成できないエラーにぶつかりました。。。 そ…

プルリクの内容をfetchして来る方法

プルリクエストが出ている内容をローカルに持ってきて試したかったので、その方法を調べました! ①プルリク内容をfetchする git fetch origin pull/プルリクID/head:ブランチ名 上記のコマンドを実行し、プルリクの内容をローカルに持ってきます。 gyazo.com…