Arale

アパレル、バリスタを経て未経験からのプログラマーになった男の勉強ログ

プログラムの大まかな流れを書いておく

画像のようにプログラムの大まかな流れをコメントアウトでメモ。 次に再開するときや他の人に見てもらうときにわかりやすく、 アドバイスも貰いやすい。備忘録として残します。 変に記述せずにどういった意図やゴールを持っているのか、 形として残すのが大…

laravel9でmigrate時のエラー対処

あくまで私がアプリを制作しているときにでた時の備忘録に。 今回は以下のようなエラーが出ました。 // ターミナルで表示されたエラー Illuminate\Database\QueryException SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using passwo…

phpのlayout機能

rubyでいう部分テンプレートと一緒 bladeと呼ばれるviewファイルを呼び起こすファイルがlaravelにはあります これはRailsでいうerbファイルですかね。 早速下記にlayout.blade.phpファイルを用意します。 <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </meta></meta></head></html>

phpとdbのやりとりのこと

<form action="xxx.php" method="post"> name <div><input type="text" name="n"></div> message <div><textarea name="m"></textarea></div> <input type="submit" value="SUBMIT"> </form> 送信先はxxx.php、POST送信 テキストフォーム、テキストエリアには名前をそれぞれ付けており、 $POST["n"], $POST["m"]でフォームに入力された情報を取得できる。 $my_num = htmlspecialchars($…

メッセージを書き込むプログラム

<form> <input type="text" name="a"> <input type="submit" value="SUBMIT"> </form> fopen ファイルを開く 第一引数にはオープンするファイル名を指定 第二引数にはファイルを開く設定 aはファイルの末尾に追記、ファイルがない場合は新たに作る 第二引数のtはテキストファイルを読み込む意 fwrite ファイルに記述 第一引数には$f(ファイ…

フォームで考えられるバグを防ぐ

一つ前の記事ではフォームで入力された値を $_GET["a"]を用いて、表示する記述を書きました。 ただ、このままではタグなども入力が出来、 悪意のある情報を埋め込まれる可能性があります。 それを防ぐためにhtmlspecialcharsを用います。 $input = htmlspeci…

三項演算子

無事にプログミングスクールを卒業し、就職しました。 そちらの詳しい話は今回は割愛いたしますが、 現在は職場の開発言語がphpのため、phpの学習を行なっております。 その中で三項演算子が出てきました。 まずは下記の記述をご覧ください。 isset($_GET["a…

form_withメソッドのアウトプット

HTMLではこのように実装していた <form action="/posts" method="post"> <input type="text" name="コメント"> <input type="submit" value="投稿する"> </form> action属性は送信URLを指定する際に書くが、 HTML5以降からは必須では無くなった。 コードを解析するとどこに情報が集約されているのか分かるので、 あまり好ましくはない。 そこでRailsのヘルパーメソッドを用いてHTML…

_と.の違い

条件分岐の際に疑問と思ったのです def destroy if @item.user == current_user.id @item.destroy redirect_to root_path end end 現在のユーザーが出品者だった場合のみ削除可能にする。 削除完了したら、トップページに遷移する。 しかし、このままだと出…

Google Map をJavaScriptで表示しよう

お店の位置情報を埋め込みで表示させたい 現在、作成しているオリジナルアプリケーションは店舗情報を必要としています。 来店されるお客様にも文字列だけの情報だけでなく、 マップを表示してより具体的な情報を提供したいです。 Googleの仕様変更により、…

フォームで改行して入力した情報を別のページでも改行が反映されるように表示する

フォームで入力した情報を別ページで表示する // bootstrap5でCardを使用 // itemsテーブルに保存された情報をページに表示 <div class="card-body"> <h5 class="card-title"><%= @item.name %></h5> <p class="card-text"><%= @item.text %></p> <p class="card-text"><small>¥<%= @item.price %>(税込)</small></p> <%= link_to "カートに入れる", "", class: "btn btn-outline-…</div>

Bootstrapのcardを元に一覧表示機能を実装

BootstrapのCardで一覧表示 フロント実装のフレームワークで重宝しているBootstrap5ですが、 Cardを使用して商品を横並びしたいと考えてました。 ところが、複数の商品を登録すると商品が縦に1列で並んでしまうので、 望んでいたデザインではありません。 こ…

deviseで一般ユーザーと管理者とで分ける

管理者(admin)と利用者でユーザーを分ける 自分で1からWebアプリケーションを作成しています。 今回、私が作成したいのはパンの取り置き(予約)サイトです。 トップページにはご予約方法や商品一覧を表示させたいと考えてます。 管理者だけが商品の追加、編集…

ルーティングに関するアウトプット1

コントローラーを作成する順番に関して 0から作成してルーティングでviewファイルの中にあるitemsのindexを表示しよう! というのが今回のゴールです。 rails g controller items indexとターミナルで入力! Missing :controller key on routes definition, …

購入機能が本番環境で正しく動作しない時は?

カード情報を入力しても"Token can't be blank"と表示されてしまう 本番環境で公開鍵、秘密鍵ともに設定されていないことが濃厚でしょう。 ということで、早速ターミナルを見てみましょう。 まずはローカルで設定されているかどうかを改めて確認してみましょ…

user_signed_in?におけるアウトプット

ログイン時とログアウト時でページの表示を変えたい ログイン時「ユーザー名」「ログアウト」が表示 ログアウト時 「サインイン」「新規登録」が表示 deviseのgemを元々インストールしてるので. 使用できるのがuser_signed_in?となる。 上記のように入れてみ…

deviseに関してのアウトプット

deviseとは? ユーザー管理機能を簡単に実装するためのGem. ログイン機能を1から構築するのが大変なため、deviseを使用して簡単に実装しよーよ!ということは私を含めてご存知な方は多いと思います。 たくさん使ってきましたが、色々と実装を進めていく中で…

Rubyにおけるinclude?メソッドのアウトプット

特定の値だけ検知するプログラム 配列内にChelsea, Man.C, Liverpoolが全て入ってる場合は「True」と出力. 配列内にChelsea, Man.C, Liverpoolが全て入ってない場合は「False」と出力. 雛形 def premier(tops) # 処理を記述 end 呼び出し例 premier(["Chelse…

Herokuにおけるアウトプット1

Herokuのアウトプットであったアレやコレや Heroku上とローカルでの差異がある 実際にHerokuに作成したWebAppを上げようとなった時にターミナル上では git push heroku masterは無事に遂行されており、 heroku run rails db:migrateもエラーなく、完了した!…

GitHubDesktopにおけるアウトプット 1

マスターブランチにあってトピックブランチにはないファイルがあった場合の対処法 GitHubDesktopやGitHubに慣れるためにもおもちゃ感覚で触ってます。 ここで今後よくぶち当たるであろう、事例を備忘録も兼ねて書いてみます。 例えばブランチ1で作成したモデ…

Ruby on Railsにおける記述のアウトプット2

【議題】フォームで入力したデータを送信したが、ページに反映されない。 エラー画面が出ないので、パラメーターやバリデーションの問題と考えられる ①保存する時にターミナルに出力されるログは以下 Processing by CalendarsController#create as JS Parame…

Ruby on Railsにおける記述のアウトプット その1

tweetsコントローラーのindexアクションの詳細 個人的に不思議に思っていた点がありました。 @Tweets = Tweet.all この記述のTweetてどこから来たのだろう。 結論から言うとtweetモデルに記述されているTweetクラスでした。 ついでに言うとallもモデルに記述…