はしばみあきら blog

プログラミングアウトプットするブログ。202010スタート

2020-01-01から1年間の記事一覧

【Linux】OSって何?からLPICレベル1を勉強する

インフラ系の企業に就職が決まりまして、Linuxの知識が必要になりました。 プログラミングスクールに通い、かつ独学でもプログラミング言語の勉強はしてきたのですが、ネットワークやサーバー側の知識はほとんど初めての状態です。 なので、まずはLinuxのLPI…

業界未経験からエンジニアとして内定を頂きました

今回、未経験からエンジニアとして内定を頂きました。 web系の勉強を進めてきましたが、インフラエンジニアとしての採用なので舵を大きく切っての再出発です。 まずはLinuxからですが、とはいえviとかシェルの操作も少し触ったので違和感なく進めています。 …

【jQuery】複数のselectを用意して、jQueryが動かない時

問題のコード。 $(document).on('turbolinks:load',function(){ $("#worker_list_num").change(function(){ $("#select_form").submit(); }); }); プルダウンを選択した時に動く記述にしたが、複数のプルダウンを用意したら一番最初の部分しか反応しない。 c…

【Rails】多対多のデータを取得する時に`compute_type'というエラー

モデルに記述するhas_manyとbelongs_toの書き方を間違えていた。 モデル周りをしばらく触っていないとうっかり間違えるということがあるのでメモメモ。 has_manyは複数形、belongs_toは単数形 このルールをすっかり忘れていました。 thurough: のあとも複数…

【Rails】プルダウンを選んだと同時に保存する【jQuery】

rails で "collenction_select" を使った時に、プルダウンで選んだ瞬間に内容が保存されたらいいなぁ、と思ったのですがなかなか沼ったので書き留めておきます。 フォームを作る Railsドキュメントより f.collection_select(メソッド名, オブジェクトの配列,…

【Ruby】【Rails】自作カレンダーで、月や週を切り替える

昨日、今月1ヶ月の表示をするカレンダーを作成しました。 今回は、今月から見て翌月や先月、またはさらにその先の配列を取得できるようにしていきます。 前回のコードに付け足していくので、もしよかったらそちらもご覧下さい。 【Rails】【Ruby】Dateを使…

【Rails】【Ruby】Dateを使って今月の日数を配列にして表示

Railsでアプリを作っていて、今カレンダーのような機能を作るフェーズです。 色々とgemとかライブラリを探してみたけど自分の求めているものが見つからない。 自作することにしました。 Dateを使って今月の日数を配列にする RailsはそもそもRubyなのでRubyの…

【React】Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.

reactで開発中以下のエラーが。 Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. 最近はとりあえず翻訳してみてます。 なるほど、でもどこがレンダリングがループし続けているかがわからない... エラー文で調…

フロントReact、バックRailsでデータベースに保存する

最近Reactを色々やってみて、ふと「DBに保存するにはどうすれば良いのだろう?」と言う疑問が沸き調べたところReact単体でDBに保存するのはできないと言うことがわかりました。 ReactとはNode.jsとつなげた方がJS同士だからいいんだろうけど、慣れているRail…

【Rails】【MySQL】rails newでDBをmysqlで始める流れ

しばしブログ更新が開きました 最近Reactばかり触って更新するネタがなかったと言う... Reactのバック側処理としてRailsを使うため、久しぶりにRalisを触ったら沼ったので書き留めておきます rails newでDBをmysqlで始める流れ Homebrew導入 MySQL導入 Rails…

【MySQL】 rootユーザーのパスワード設定で Error: Password hash should be a 41-digit hexadecimal number が出た

progateでMySQLを導入しようとした時に何やらエラーが出ました Please set the password for root here. New password: Re-enter new password: ... Failed! Error: Password hash should be a 41-digit hexadecimal number パスワード設定しようとしたらエ…

【React】Reactを始める手順

ReactとNode.jsを掛け合わせようとして動かなくなる事件が発生した サラにしてもう一度インストールしたので手順をまとめておくことにします Homebrewのインストール nodebrewをインストールするために導入 $ cd ~ $ /usr/bin/ruby -e "$(curl -fsSL https:/…

【React】public以下に画像を保存して、表示させる

Reactで画像を表示させる時どうすればいいんだろう? と、検索したらジャストナウの答えがすぐ見つかりました。感謝の日々です... 参考サイト React で publicフォルダ内の静的ファイル(画像)を参照する方法 表示方法 publicのパスは {`${process.env.PUBLIC…

【React】stateとイベント

一応、ここは学習のアウトプットの場と言うことを先にお伝えしておきます... Reactの勉強をしようと思って色々検索すると、初心者向けの記事は色々出てくるけれどどれも書き方が違ったり、コード通りに書いても動かなかったりと中々初心者のハードルが高いよ…

【Rails】プリコンパイル時のundefined method `[]' for nil:NilClass

デプロイしたアプリをローカルで更新し、AWSのEC2でプリコンパイルしようとした時にエラーが出ました アセット以下をEC2のアプリ上でプリコンパイル $ bundle exec rails assets:precompile RAILS_ENV=production すると、成功できずメッセージがでます [1/4…

【Rails】ActionCable AWS/Nginx/Pumaでデプロイする

前回作ったチャットアプリをAWSでデプロイしました ちょっと沼った部分もあったので書いていきます 環境 Rails 5.2.4 AWS EC2 Puma Nginx 条件として ローカルではちゃんと動作する 本番環境ではActionCable以外はしっかり表示される ActionCableの設定を行…

【Rails】ActionCableでチャットアプリ・グループや特定のユーザーとチャットする

前回、1からActionCableを用いたチャットアプリを作りました 現状ではチャットが全てのユーザーに対して送られているアプリです そのため、特定のユーザーとチャットしたり、または複数人でチャットしたりと言う機能を作っていきたいと思います 前回作ったア…

【Rails】ActionCableでチャットアプリを作る

LINEを作る過程でActionCableでかなり悩まされたので、アウトプットかつおさらいということで書いていきます 今回は簡単なチャットアプリケーションを作ろうと思います 初めてActionCableを触る!くらいの人にもなるべく分かるようにしていきたいと思います …

計画頓挫。。。

RailsでLINEを作ってたら突然今まで動いていた挙動が全く動かなくなりました... githubさかのぼって動かしてみても動く気配無し... とりあえず切り替えて、一旦デプロイするとこまでしてみようと思います ではでは

【jQuery】要素を最上部に移動させる

今回はjsです jsを知れば知るほどjQueryって便利なんだなぁとつくづく感じている所です 本題! 要素を最上部に移動させる たった1行で実行できました javascripts/channels/talk_room $('.talk__friends--list').prepend($('.talk-room-' + data["talk_room_…

【Rails】条件に応じて日付の表示を判定する

LINEのトーク表示って何時何分とか、何曜日とか、古い物だと2020.xx.xxみたいな感じで表示されます あの部分を作ります 条件に応じて日付の表示を判定する 今日のメッセージなら xx:xx の表示 昨日〜1週間前までは x曜日 の表示 それ以前は 2020.xx.xx の表…

【Rails】groupメソッドとorderメソッドを一緒に使う

今回はSQLとのやりとりで沼った、groupとorderを一緒に使う時の注意をつらつらと書いていきます 現在の自身の環境です ruby 2.6.3p62 Rails 5.2.4.4 sqlはRailsのデフォルト gem 'sqlite3' あと、binding.pry大好き人間なので gem 'pry-byebug', group: :dev…

【RailsでLINEを作る】トーク内容の画面表示速度改善

友だちをクリックすると内容一覧を表示させるのですが、速度が恐ろしくかかる問題が発生しました 結論からすると N+1問題の改善 eachの中のrender この2つの影響で読み込み速度がかなり遅くなっていました 今回修正した部分をつらつらと書いていきます トー…

【RailsでLINEを作る】トークの画面をいい感じにしていく

前回の更新から少し空きました... というのも逆無限スクロールを実装しようとしてそれが終わったら更新しようと思ったのですが、想像以上にややこしかった 考え方はわかるんだけど、それをコードにする実力がまだない!悔しい! 今回はトークの画面をライン…

【RailsでLINEを作る】インクリメンタルサーチ実装

前回のトークを非同期で書き換えする機能と同じタイミングでインクリメンタルサーチも実装したのでまた書いていきます インクリメンタルサーチは、検索フォームに入力されたワードで瞬時に検索し表示させる...であってるのかな?そういう機能です どんな感じ…

【RailsでLINEを作る】クリックでトークを表示させる

今日は恐ろしくやる気が出ず、ブログの更新だけになります... 昨日、一昨日で友だちをクリックしたときにトーク内容をJSで更新させるようにしました。 CSSをあまりいじってないので雰囲気だけ... 流れとして 友だち一覧を取得しeachで表示 ↓ 友だち1つ1つ…

【RailsでLINEを作る】ActionCableで特定のユーザーとリアルタイムチャット機能を作る.その2

前回はアクションケーブルを使ったリアルタイムチャット機能を実装しました。 ただ、今の状態だと、送ったチャットが、同じチャンネルに接続されている全てのviewに配信されます。 ユーザーidやルームidは保存されるのでリロードを挟めば消えるのですが、か…

【RailsでLINEを作る】ActionCableで特定のユーザーとリアルタイムチャット機能を作る

ルーム機能を作ったのでいよいよ作っていきます。 色々な記事を参考にして、大量に記事を未過ぎてどの記事を参考にしたかもうわからない程になりました... つらつらと掲載させていただきます。他にもaction cableと書いてあれば見るみたいな感じでやりました…

【RailsでLINEを作る】ルームを作る

※ちょっとエラーが出た部分があったので一部更新(2020/10/20) お久しぶりの更新です。 Rails の Action cable に大分時間がかかりました...難しい! 1週間かけて rails new して scaffold で実装できたので、いよいよ組み込んでいきたいと思います。 とはい…

【Rails】ActionCableを理解したい

LINEを作る上で避けて通れないと思ったActionCable ActionCableでチャットアプリを作ろう!という記事は多く見ますがどうしても理解ができるかと言われると難しいです 実際に rails new で作ってみたものの、開発中のアプリに組み込むとなると、???という…