メッセージの標準化

今回のお題 今回のお題は、メッセージの標準化です。 プロパティファイルを用いて、メッセージを標準化していきます。 目次 メッセージの標準化とは 標準化の方法 プロパティファイルとは プロパティファイルの記述 メッセージの呼び出し(ビュー) メッセー…

thymeleafとeachメソッド

今回のお題 本日のお題は、"Thymeleaf内でeachメソッドを使う方法"です。 eachメソッドという言い方をするのかはわかりませんが、要は要素を全て展開する方法ということですね。 コード例 論より証拠ということで、実際の使用例を見てみましょう。 あるクラ…

ルーティングとリダイレクト

本日のお題 本日のお題は、Javaのルーティングについてです。 おまけとして、リダイレクトのお話も少しだけ出てきます。 目次 アクションごとのルーティング コントローラ全体のグループ化 おまけ:リダイレクトの設定方法 アクションごとのルーティング ア…

ルーティングとリダイレクト

本日のお題 本日のお題は、Javaのルーティングについてです。 おまけとして、リダイレクトのお話も少しだけ出てきます。 目次 アクションごとのルーティング コントローラ全体のグループ化 おまけ:リダイレクトの設定方法 アクションごとのルーティング ア…

Mapに関するあれこれ

今回のお題 今回のお題は、JavaのMapです。 RubyのHashやPHPの連想配列に相当する部分ですね。 目次 Mapとは何か 変数宣言の仕方 空のMapの作成 要素の追加 要素の出力・Map全体の出力 HashMap, TreeMap, LInkedTreeMapの違い Mapとは何か 先ほども述べた通…

サービスについて

今回のお題 今回のお題はSpring BootのServiceです。 Serviceは、Repositoryクラスに定義したDB操作関数を用いて実際にレコード取得をするための処理を記述するクラスです。 個人的にはあまり違いが分かっていないのですが、RailsでいうところのfindなどのAc…

Spring BootにおけるRepository操作

本日のお題 今回のお題はSpring BootにおけるRepositoryの操作です。 Repositoryとはそもそも何ぞやという話ですが、DB操作に関する処理を記述する部分、ぐらいに考えています。 ファイルの作成 com/example/demo/helloディレクトリにHelloRepository.javaを…

モデルの定義

今回のお題 今回のお題は、Javaにおけるモデルの作成方法です。 コントローラ・ビュー・ルーティングについては先日触れたので(そもそもJavaのルーティングはコントローラの一部ですが)、今回はいよいよモデルです。 新たに作成するディレクトリ 前回まで…

Formオブジェクト

今回のお題 今回のお題はRailsのFormオブジェクトです。 個人的に苦手なところなので、この機会にしっかりと覚えたいと思います。 目次 Formオブジェクトとは Formオブジェクトの利点 Formオブジェクトの作り方 classの宣言 include attr_accessorメソッド …

Rspecテスト備忘録〜JSON形式のデータのテストについて

本日のお題 本日のお題は、テストコード、そしてJSONです。 すなわち、レスポンスがJSON形式で返却される場合のテストをどのように書けば良いのか、ということですね。 やり方自体は単純だったのですが、若干の注意点があったので、そこも含めて解説していき…

where句の使い方

今回のお題 今回のお題はwhere句の使い方です。 Railsアプリの作成中に、where句の使い方についてわからなかった部分があったので、備忘録としてまとめておきます。 基本の使い方 where句の構文を一般化すると、以下のようになります。 Model.where("カラム…

first_or_createメソッドについて

本日のお題 本日のお題は、Ruby on Rails のfirst_or_createメソッドです。 目次 メソッドの概要 基本的な使い方 応用的な使い方 メソッドの概要 first_or_createメソッドの役割は2つあります。 一つ目は、指定した条件に合致するレコードがあればそれを返…

フォームに入力された値の受け取り

今回のお題 今回のお題は、フォームに入力された値の受け取り方法です。 言語はJava, フレームワークはSpring Bootです。 目次 コントローラの編集〜import編 コントローラの編集〜アクション編 ビューの編集 コントローラの編集〜import編 今回の作業、すな…

ControllerとThymeleafの作成

前置き 少し前に勉強し始めたJavaに関するメモです。 本日のお題はControllerとThymeleafです。 フレームワークとしては、Spring Bootを使用しています。 概略〜Thymeleafとは Controllerは他の言語でもよく出てきますがThymeleafという単語は自分にとっても…

Java始めました

前置き タイトルの通りで、最近新しくJavaの学習を始めました。 最初は通過儀礼のHello Worldをやっていたのですが、そこでいきなり躓いたのでメモに残しておきます。 ちなみに今回は初挑戦ということで、書籍に倣いeclipseを利用しています。 やったこと He…

jQueryにおけるタイマー操作

前置き 本日のお題は、jQueryにおけるタイマー操作の方法です。 目次 一定間隔で繰り返し同じ処理をする 一定時間経過後に、一度だけ処理をする 繰り返し処理を止める 一定時間後に、繰り返し処理を止める 一定間隔で繰り返し同じ処理をする 一定時間ごとに…

Railsアプリで音楽を再生する方法

前置き 本日のお題は、Railsアプリで音楽を再生する方法です。 御多分に洩れず、自分用のメモです。 目次 audioタグの使い方 audio_tagヘルパーの使い方 audio要素の音の鳴らし方・止め方 コンパイル経路の追加 audioタグの使い方 音楽を再生する場合には、H…

ラジオボタンの値の取得方法

前置き 本日のお題は、jQueryを用いたラジオボタンの値の取得方法ですね。 例によって自分用のメモです。 今回は、選択されているボタンが変わるたびにそのボタンのvalue属性の値を取得できるようなプログラムを組むこととします。 目次 イベント発火の方法 …

Basic認証の掛け方〜Laravel編

前置き 本日のお題は、LaravelアプリでのBasic認証の掛け方です。 例によって、自分用のメモです。 Basic認証とは ご存知の方も多いと思いますが念のため。 Basic認証とは、事前に決められたユーザー名とパスワードを入力することでwebサイトの利用が可能に…

Basic認証の掛け方〜Laravel編

前置き 本日のお題は、LaravelアプリでのBasic認証の掛け方です。 例によって、自分用のメモです。 Basic認証とは ご存知の方も多いと思いますが念のため。 Basic認証とは、事前に決められたユーザー名とパスワードを入力することでwebサイトの利用が可能に…

cloneメソッドについて

前置き 今回はjQueryのclone()メソッドです。 例によって自分用のメモです。 メソッドの概要 例えば以下のようなhtml要素があったとして、 <div id="parent"> <div id="child_1">子要素1です</div> <div id="child_2">子要素2です</div> </div> <div id="anotherFamily"></div> const thirdChild = $('#child_1').clone() とするとdiv#child_1のコピーがthirdChildと…

RailsアプリへのjQueryの導入方法

概要 RailsアプリにjQueryを導入する方法の覚書です。 目次 jQueryのインストール webpackの設定 jqueryの読み込み jQueryのインストール jQueryのインストールはyarnを用いて行います。 元々はjquery-railsというgemが利用されていましたが、Rails6から変更…

ラジオボタンの作り方

前置き 今回はラジオボタンの作り方ですね。 恒例の自分用メモシリーズです。 ヘルパーメソッドを用いた場合にlabelとinputを対応させる方法がわかりにくかったので残しておきます。 コード <% @users.each do |user| %> <%= f.radio_button :user_id, user.…

チェックボックスのヘルパーメソッド

概要 いつもの自分用メモシリーズです。 ヘルパーメソッドを利用したcheckboxの作り方を残しておきます。 また、ヘルパーメソッドあるあるかもしれませんが、classの指定に少し苦労しました。 そのあたりについても最後に触れておきます。 ヘルパーメソッド …

レコードの並び替えの方法

概要 laravelアプリにおける、レコードの並び替えの方法です。 例えばmemosというテーブルがあったとして、foreachで展開すると昇順(古いメモが一番上にくる並び)になりますよね。 これを降順、すなわち新しいものが上にくるように並び替える方法です。 方…

laravel備忘録シリーズ〜http通信とcss

困っていたこと laravelで作成したアプリをデプロイしたところ、chromeのアドレスバーに「安全でない通信です」のような文言が出る(正確な文章は覚えていないです)。 原因 調べてわかったのは、「herokuの仕様として、何も指定しない場合に勝手にhttp通信…

エラー体験記 画像の保存先をS3に切り替えた後に

概要 Railsアプリを開発していたときの話です。 画像の保存先をローカルからS3に変更したところ、特定のレコードに紐づいている画像が表示されなくなった。 詳細 画像はActiveStorageを用いて、menusテーブルのレコードに対して1対1で紐付け。 menu作成時に…

一意性制約の外し方

前置き Railsアプリの作成中に一意性制約の外し方がわからなくなりました。 いつも通り、自分用のメモとして残しておきます。 結論 新しいマイグレーションファイルを作成し、indexの削除を行う。 これだけです。 手順は以下の通り まずはマイグレーションフ…

Railsアプリのデプロイの手順

前置き laravelに引き続きRailsアプリでもデプロイに躓いてしまいました。 例によって自分用のメモとして残しておきます。 前提条件 サーバー:heroku DB: MySQL 画像の保存先: amazon S3 手順 heroku上でのアプリの作成 cleardb addonの導入 gemの設定 cred…

oldメソッドと初期値の両立

前置き bladeテンプレートのinput要素のお話です。 input要素のvalue属性の初期値として、直前に入力されていた値を用いるのであればoldメソッドを、DBのデータを引っ張ってきたいのであれば$user->nameなどと記述していました。 では、この2つを両立したい…