BNBのプログラミング勉強記録

ガチのプログラミング初心者が駆け上がっていくブログ

Oracle Linux Server 逆引きコマンド

なんだこれ インストール vim なんだこれ マジで罠が多すぎるって。VPSでDocker入れてるんですよ、そこでcomposeでrailsとmysqlのコンテナ動かしてるんですよ、mysqlがなんか調子悪いんですよ、そしたらmysqlのコンテナにexecで入るじゃないですか、そんでmy…

MySQL逆引き

SQL

前提 Oracle Linux Server 8.8でのコマンド等 ログイン ログの出力をオンにし、出力場所も指定 上記を反映 MySQLの中でやるコマンド ログ出力するようにする ログの場所を指定 前提 mysql8.0コンテナにexecで入ると、OSはOracle Linux Server 8.8だった。そ…

とにかく安価かつ手軽に自分のWebサービスを公開するならVPSが最適なのかな

VPS

結論から書くと 調べたり試したりしてみた範囲内では、Kagoya cloud VPSにDockerを導入するのが最も手軽かつ安価だった。ただ、herokuやAWSなど色々試してきたり、ターミナル等のコマンドラインで少しばかりいごいごする知識があるのが前提ではあるので、こ…

Laravel俺用逆引きリファレンス

前提 コマンドライン アプリ作る sail立ち上げ sail 〇〇 が使えるようにする breez(全部のっけ的なスターターキット) 日本語化 モデル作成(マイグレーション付き) マイグレートする マイグレートしたやつを戻す マイグレーションファイル追加(カラム追加) …

Laravelを最新版公式に沿ってシンプルに導入。あと感想。

結論 環境構築は親切だけどMVCの書き方はRailsに慣れてたらだいぶ癖があるかも。Railsってスゲーんだな、って思ったわ。 なぜ使おうと思った? 地理的な問題で、Rails書ける仕事ってなかなか募集していないので、ならば次にやるべきフレームワークは?という…

GitHubのこの世で一番シンプルなシェルスクリプト(add,commit,pushするだけ)

Git

なんすかこれ 仕事だともっと複雑なシェルスクリプトが必要なんだろうけど、一人でいごいごやってるだけの俺のような人間からすると、もっとシンプルなやつが欲しい。という訳でほとんど検索にも引っかからないようなサイトながら、俺もそんなサイトに助けら…

Dockerコマンド

起動・終了・削除 compose.ymlを起動 上記をバックグラウンドで起動(ログが出ない) 特定のコンテナのみcompose up 上記を再ビルド 上記を停止 特定のコンテナのみcompose stop 上記を停止し削除 特定のコンテナ停止 すべてのコンテナを停止 特定のコンテナ削…

ECSで作ったサイトが超重かった原因はLB設定ミスでした

AWS

何があった https://tagfoto.link/ というプライベートな画像アップローダーをRailsで構築してFargateでECSにデプロイしたんですよ。そしたら超重いんですよ。原因を探りました。 結論 ロードバランサーの設定ミスでした。あ、タイトルにも書いてるのでここ…

Railsルーティングのresources分解

全部のっけ resources :posts get '/posts', to: 'posts#index' get '/posts/new', to: 'posts#new', as: 'new_post' post '/posts', to: 'posts#create' get '/posts/:id', to: 'posts#show', as: 'post' get '/posts/:id/edit', to: 'posts#edit', as: 'ed…

JavaScript俺用逆引きリファレンス

基本 再代入可能 再代入不可 if 変数展開 文字列 両端の空白を削除 文字列が最初に現れる位置を返す 文字列が最初に現れる位置を返す(正規表現) 含まれてるかを真偽値で返す 切り出し 置換 置換(全部) 文字列がパターンにマッチするか 配列 配列化 複数…

俺用目次

言語・フレームワーク Rails(Progate)、Rails(それ以降)、Rails(ルーティング)、JavaScript、Laravel 外部サービス S3、heroku 基礎 コマンドライン、Git、Docker 俺 Github、Qiita質問履歴、はてなのプロフィール、記事一覧 その他 tagfoto(制作したWebサー…

S3での画像投稿機能(導入・圧縮・exif削除・サムネイル)

主旨 私的メモです。これらをまとめた記事がないので自分用に作りました。なのでかなり省略して書いています。 S3を入れる 画像を圧縮しexif削除してアップする サムネイル自動で作る (いずれも、herokuにデプロイする前提) 前提 scaffoldで作ってるとしま…

railsで画像投稿機能を作ってherokuにデプロイする人へ

結論 railsのactieve storageという機能を使い、それにAWSのS3を連携させればできます 何があった Progateのrailsレッスンで、画像をアップロードするやり方を習うんですが、それってFile.binwriteを使う方法なんですよ。 で、普通にその機能を使って画像投…

herokuを使いましょう、railsで作ったやつが動いてるのを公開したかったら。

結論 herokuを使うとgithubにpushしたやつが実際に動いて感動する なんだこの記事 初心者が初心者向けに書いてます。Progateのrailsクリアして「うお〜作るぞ〜」ってなってる人向け。 herokuとは railsで書いたコードをgithubにpushしても、localhost:3000…

実装したい事をGoogleで調べるとqiitaの同じような記事が引っかかる現象

参考になることもあるが、「さっき似た記事読んだぞ!」とノイズに感じることもある。どうしたもんか。でも俺がこのブログで書いてるメモも似たようなもんだしなあ。それに「qiitaに初心者がメモ書いちゃいけません」てな決まりもない訳だし。とりあえず、ネ…

DeepL翻訳とGoogle翻訳の比較

結論 マジ精度高い。けど、グーグル翻訳でも別にそこまで困らない感じ。月額1200円は・・・どうなんでしょ。 翻訳元 minimagickというrails上で画像処理してくれる物の説明書。その一部を引用。 https://github.com/janko/image_processing/blob/master/doc/…

挫折感(Ajax導入失敗、turbo_frame_tag導入失敗)

概要 駄目だ、心が折れそう。でも頑張る。 何があった Ajaxは https://qiita.com/hapiblog2020/items/3ba7e7edc02f01d987b9turbo_frame_tagは https://zenn.dev/shita1112/books/cat-hotwire-turboを参考に頑張って導入を試みたが、失敗。失敗の痕跡は https…

Progate修了以降に覚えたRailsやRubyのTips

何これ? ターミナルに書くやつ パーミッション設定の確認 パーミッション変更 テーブルに列追加(migrationに自動で記載される) scaffold herokuの環境変数設定 herokuの環境変数設定その2 herokuの環境変数を解除 rails s停止 モデルに書くやつ activest…

ProgateのRailsレッスンのまとめ

説明 ターミナルに書くやつ モデルに書くやつ 空白は駄目 上記+文字数制限 重複禁止 インスタンスメソッド(例) コントローラーに書くやつ 並び替え 戻す(redirect_toと違って、変数をそのまま使える) フラッシュ 画像を受け取って保存 find_byで複数条…

Railsで作るにあたってやったこと

いざ実践!ではあったんだけど引っかかりまくったのでメモ。 引っかかったポイント一覧 ターミナルの概念をよく分かってない(あとで調べる)ので引っかかったのだけど、rails sをする前に「rails g controller home top」とかをしないといけない感じなのね…

Rails環境構築

手順 rbenv versions でRubyのバージョン確認 ※Rails 7系はRuby 2.7以上が必要 gem install rails -v 7.0.3 でインストール rails -v でバージョン確認。ダメなら https://k-koh.hatenablog.com/entry/2020/01/21/120142 を参照(今回はターミナルに export …

Ruby環境構築

流れ 「Homebrew」をインストールする 「Homebrew」を用いて「rbenv」をインストールする 「rbenv」を用いてRubyをインストールする 手順 brew -v Homebrewがインストールされていないことを確認 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.…

メモ(Rails道場レッスン IV)

rubyの書き方ミス 論外ですな・・。 #没 def user{ return User.find_by(id: self.user_id) } ↓ #正解 def user return User.find_by(id: self.user_id) end バリデーションのカンマ忘れ #没 validates :user_id {presence: true} ↓ #正解 validates :user_i…

メモ(Rails XI)

gem(ジェム) gemとは、「よく使う機能」をパッケージ化したもの 「検索機能を作るgem」や「ハッシュ化するgem」など様々なgemが存在し、Railsにインストールすることで使用することができる bcrypt(ビークリプト)は「ハッシュ化するgem」 bcryptのインス…

メモ(Rails X)

いいねする def create @like = Like.new(user_id: @current_user.id, post_id: params[:post_id]) @like.save redirect_to("/posts/#{params[:post_id]}") end <%= link_to("いいね","/likes/#{@post.id}/create", {method: "post"}) %> いいねを消す def d…

メモ(Rails IX)

モデル内でインスタンスメソッドを使ったfind_byの書き換え ムズいわ、はっきり言って。また出たよ、俺の苦手な「self」・・・。 #posts_controller.rb def show @post = Post.find_by(id: params[:id]) @user = User.find_by(id: @post.user_id) end ↓ #pos…

メモ(Rails道場 III)

画像受け取り binwriteをbinwiteは痛い。エラーメッセージをよく読もう #没 if params[:image] image=params[:image] @user.image_name="#{@user.id}.jpg" File.binwite("/public/user_images/#{@user.image_name}",image.read) end #正解 if params[:image]…

メモ(Rails VIII)

パスワード非表示 <input type="password"> getとpostで同じURLを指定した場合 「/login」で2つのルーティングが被っているように見えるが、「get」と「post」では異なるルーティングとして扱われるので問題なし link_toメソッドではデフォルトでgetのルーティングを探し、form_tag…

メモ(Rails VII)

カラム追加 rails g migration add_image_name_to_users 追加したカラムをマイグレーションするには これまで「rails g model」によって生成されてきたマイグレーションファイルは、changeメソッドの中身が自動生成されていた なので、マイグレーションファ…

メモ(Rails VI)

string型のカラム2つ登録 rails g model User name:string email:string uniquness 重複を許さない validates :email,{uniqueness:true}