fluid_27’s blog

勉強した内容をアウトプットするためのブログ

N+1問題が発生していたので、解決してみた

ハッカソンで共同開発しているアプリで、いわゆる「N+1 問題」が発生していた。 ログを見ているとめちゃめちゃDBにアクセスしている。。 実際にN+1問題がでていたコード 原因 解決法 countでも発生していた 実際にN+1問題がでていたコード Posts.controll…

railsのenumを初めて使ってみた

ハッカソンで共同開発している、 「電車の混雑具合をユーザーに投稿してもらって、混雑具合を即時的に反映させていく」 というアプリの中で、メンバーの一人がenumを使っていて、「何それ?」ってなったので、enumについて調べてみた。 enumとは enumの設定 …

アプリに枠を埋め込んで、その枠自体をスクロールできるように

日本語が下手でうまく説明できませんが、下記図のようにページ自体でなく、ページの中に表示した「投稿一覧」や「誓約文」とかだけを枠で囲ってスクロールさせたかったので、やり方調べてみました。 参考サイト 調べてみた 実際にrailsのアプリで書いたコー…

HerokuでMySQLからPostgreSQLに変換する際に躓いたエラー

railsで開発していたアプリをherokuでデプロイすることにしました。 当初、アプリをherokuでデプロイする予定ではなかったので、DBはMySQLだったものを本番環境だけPostgreSQLに移行することにしました。(本当は悪手かもしれませんが、、) その経緯をまと…

dockerを初めて使ったので、コマンド等まとめてみた

前々からDockerも勉強しないとなぁ。くらいに思っていたが、ついにハッカソンの共同開発でDockerを使う日が来たので、kindle unlimitedをフル活用し、Dockerの本を数冊読んだので、備忘録がてら、あくまでザックリとまとめてみる。 Dockerについてざっくりと…

Heroku CLIをインストールしてデプロイした道のりとDBをMySQLからPostgreSQLに変えてみる

目標:Herokuでデプロイする 環境: 前提: 道のり: 1. rails newで新しいアプリ作成 2. postgresqlをgemに追加し、bundle install 3. herokuのCLIインストール 4. herokuにログイン 5. herokuにSSH接続できるようにする 6. herokuにアプリの作成場所を作る…

AWSのIAMについてのまとめ

IAMポリシーとは IAMポリシーを分類すると 「管理ポリシー」と「インラインポリシー」の違いについて ・管理ポリシー ・インラインポリシー プリンシパルエンティティとは 使い分け 「AWS管理ポリシー」と「カスタマー管理ポリシー」の違いについて ・AWS管…

ウェブサイトに接続できない時に試すこと

AWSのEC2インスタンス 立てたサーバーにアクセスできなくて、様々な本やサイトで読んでエラーが起きている問題の切り分け方法をザックリまとめてみました。 まだネットワークの知識が浅いので、随時更新していこうと思います。 1. クライアント側のネットワ…

nginxについて調べてみた

AWSにデプロイする過程で、つまづいて「nginx」って何?っていう状態から、nginxについてざっと調べてみました。 nginxとは 特徴 デメリットとなる特徴 一般設定 webサーバ設定 基本設定 仮想サーバを構築する ドメインベース IPベース エイリアスを指定する…

MySQLのrootパスワードが分からなくなったので、パスワード再設定

やりたかった事 問題となった事 エラーの流れ 解決策 手順 実際にやった流れ やりたかった事 railsで作成したアプリをunicorn+nginx+MySQLでデプロイする。 問題となった事 MySQLのrootパスワードが環境変数で指定していたものと違うらしく、unicornが立ち上…

EC2インスタンスのディスクを拡張してみる

bundle updateしようとしたら、メモリが足りません。ってなったので、ディスクを拡張して、解決した流れ bundle updateしようとしたら、メモリが足りません。ってなったので、ディスクを拡張して、解決した流れ やりたいこと 起きている問題 エラーまでの流…

MySQLの初期パスワード変更 備忘録

Rails newする際にMySQLを指定する方法 MySQLの初期パスを変更する際 rootユーザーのパスワードを忘れてしまった場合 Rails newする際にMySQLを指定する方法 $ rails new Name(アプリ名) -d mysql -B オプション: -d データベース名: データベースを指定し…

githubのForkってなんぞや?っていう状態から実際に

初学者同士で共同開発してみようという話になり、その過程でまず「gitをクローンする前にフォークして」って言われ、「はい???」 となったので、まずは「フォークとは」というところから始めてみました。 Forkとは 実際にFork ~ git clone ~ プルリクする…

dockerとAWSのFargateって何が違うの?って思ったので整理してみた

AWSの勉強の過程でFargateに関して調べてみると、 Fargate (公式AWSより) AWS Fargate は、Amazon Elastic Container Service (ECS) と Amazon Elastic Kubernetes Service (EKS) の両方で動作する、コンテナ向けサーバーレスコンピューティングエンジンです…

AWSのCodeシリーズだったりをまとめてみた

AWSの勉強で、CodePipelineとかCodeCommitとか出てきて、えーと、それぞれどういうやつ?ってなったので、かなりザックリまとめました。 CodePipeline CodeCommit CodeBuild CodeDeploy CloudFormation ElasticBeanstalk OpsWorks OpsWorks for Chef Automat…

check_boxやcheck_box_tagの使い方

check_box f.check_box check_box_tag collection_check_boxes f.collection_check_boxes の違いについて。 使い分け check_box 関連するモデルがある時 f.check_box 関連するモデルがある時、かつform_forまたはform_withの中で使う際 check_box_tag 関連す…

dependent: :destroy や foreign_keyについての備忘録

railsでアプリを作っていて、何回かモデル設計する際に「これどういう意味だっけ?」となったので、備忘録としてのまとめ accepts_nested_attributes_for dependent: :destroy references, foreign_key 外部キー制約とは accepts_nested_attributes_for 親モ…

Herokuとgithubを連携させてデプロイ 初デプロイまでの道のり④

以前、Herokuでデプロイさせる記事をまとめたんですが、今回はyoutubeでHerokuとgithubを連携させて簡単にデプロイできる方法の動画を見つけたので、実際に今作っているアプリをデプロイさせてみました。 www.youtube.com Herokuとgithubを連携させてデプロ…

そもそもDBやDWHやデータマートとかの違いって??

初学者である私がAWSを勉強していて、Redshiftや、Auroraなどの説明で 「DBとして〜」、「DWHに〜」、「ストレージが〜」 と出てきて、そもそもそれらってどう違うんだっけ? 疑問を持ったので、自分なりに整理してみました。 そもそもDBとストレージってど…

プログラミング勉強を始めようとしている頃の自分へのアドバイス

自分は2020年9月頃からプログラミングの勉強を始めました。 つまり、プログラミング勉強を始めて約半年になります。 今回は学習した半年間を振り返って、プログラミング勉強を始めた頃の自分へアドバイスができるとしたら、という前提でアドバイスして…

初デプロイまでの道のり③ いったんherokuでデプロイしてみた話

これまでの道筋 herokuでのデプロイ手順 herokuに会員登録する heroku CLI (コマンドラインインターフェース)をインストールする herokuにログインする $ heroku create PostgreSQLのインストール git commit実行し、git push heroku master マイグレーショ…

初デプロイまでの道のり② Linux勉強しないとダメだな。と気づいた話。

これまでの道のり Linuxコマンド chmod、chownなどの違い パーミション権限の確認 今現在ログインしているユーザーを調べる ユーザーやパスワードに関する情報は /etc/passwd に lessコマンド というか、Linuxに関して分かってなさすぎな件 まず、この記事で…

初デプロイまでの道のり① FileZillaを使ってようやくAWSと繋いだ話

PF用に作っていたアプリをデプロイしてみよう。と思い、初デプロイにAWSで作ってみることにしました。 qiita.com を参考にしながらデプロイを進めました。 記事に書いてある処理を全て終えてみても何故か We're sorry, but something went wrong. の表示が消…

MySQLが動かなくなったので、ググって起動させた話

エラー状況 解決方法 エラー発生から解決までの道のり エラー状況 デプロイに際してSQLiteからMySQLに切り替え、ローカルでサーバーを立ち上げようとした際にエラー発生。 解決方法 いっぺんMySQLをアンインストール後、改めてインストール。で解決。 エラー…

PF作るに当たって覚えたことの整理 2020.2.7

PF作るに当たって覚えたことの整理 2020.2.7 if文でなく、or演算で値を代入する || while end の中で i++を使ってエラーにハマった話 エラーメッセージの表示のさせ方 外部キー制約でデータを削除できなくなった話 外部キー制約 dependent: :destroy optiona…

PF作るに当たって覚えたことの整理 2020.2.4

PF作るに当たって覚えたことの整理 2020.2.4 PF作るに当たって覚えたことの整理 2020.2.4 binging.pryを終了させる時は 配列の中に値があるか調べる include? 配列の中に値が何番目にあるのか調べる index 配列の中の値を場所を指定して書き換える 三項演算…

PF作るに当たって覚えたことの整理 2020.2.3

PF作るに当たって覚えたことの整理 2020.2.3 PF作るに当たって覚えたことの整理 画像自体をリンクにする テーブルから条件をつけてデータを取り出す 絞り込んで特定のカラムだけ取り出す pluck レコードの個数を指定する limit 配列から順番に取り出していく…

rails tutorial第13章 自分用メモ

rails tutorialで躓いた自分のために、より理解が進むようザックリと内容を整理してメモとしてまとめていきます。 完全に自分用のメモです。 2020.12.28 ver. Rails tutorial 第13章で学習する内容 Micropostモデルの作成 MicropostモデルとUserモデルを1…

rails tutorial第10章 自分用メモ

rails tutorialで躓いた自分のために、より理解が進むようザックリと内容を整理してメモとしてまとめていきます。 完全に自分用のメモです。 2020.12.28 ver. Rails tutorial 第10章で学習する内容 Restfulなシステムにするため、Userクラスにedit、update…

紐解いてみたら「向いてない」のでなく「集中できてない」だけだった話

32歳。未経験ながらエンジニアを目指して勉強しています。 年齢的にも経験的にもハンディがあると思いながらも、勉強に励む毎日。 最初のうちは「やっぱ向いてないかもなぁ」とか「自分には無理かも」と思うこともありましたが、大概は向いてる・向いてない…