2022-07-01から1ヶ月間の記事一覧
Sinatraを使ったメモアプリのDB版を進めています。 テーブルを作成するDDL文を書いたSQLファイルを読み込み、PostgreSQLにテーブル定義したいと思ったので調べてみました。 結論 psql コマンドの-f オプションを使ってDDLを定義したSQLファイルを読み込んで…
SinatraのメモアプリをDB化するにあたってSQLでCRUD処理を行う必要が出てきました。 SQLコマンドでCRUD処理を行う方法について改めて整理しました。 結論 下記のSQLコマンドででCRUD処理ができる。 Create: INSERT Read: SELECT Update: UPDATE Delete: DELE…
FBCのSinatraとDBを使ったメモアプリの開発に取り組んでいます。 DBに保存するレコードのRPIMARY KEYとしてSecureRandom.uuid で生成した文字列をCHAR型のカラムに保存しようと考えています。 最大文字列長をCHARに設定しようと思ったのですが、SecureRandom…
Sinatraで作成したメモアプリのDB化にあたりまずはPostgreSQLでのDBとテーブルの作成と削除する方法について調べた。 結論 psql でログインした状態で下記コマンドでDB/テーブルの作成/削除が行える。 DB作成: CREATE DATABASE DB名; DB削除: DROP DATABASE …
FBCのプラクティスであるSinatraで作成したメモアプリをDB化するにあたってSQLの基礎を復習しました。 SQLとは Structured Query Language リレーショナルデータベース(RDBMS)を操作する為の言語 標準SQL: ISO(国際標準化機構)で定められた標準規格を満たし…
SinatraでメモアプリをDB化するにあたってPostgreSQLで新規でDB作成することになったのでメモ。 PostgreSQLのインストールはHomebrew経由で行った。 結論 PostgreSQLでDBを作成する方法は2つある。 方法1: psql にログインしてCREATE DATABASE を実行 方法2:…
Sinatraで作成したメモアプリのDB化に伴いPostgreSQLを使うことになったので最低限の基本操作を復習しました。 基本操作 DB一覧表示 DBへの接続 psql の抜け方 バックスラッシュコマンド DB一覧表示 psql -l でデータベース一覧を表示できます。 $ psql -l L…
前回の記事でHomebrew経由でPostgreSQLをmacにインストールしました。 Postgresqlインストール直後にpsql コマンドで以下のエラーが発生したので対処についてのメモです。 $ psql psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed:…
FBCのSinatraを使ったプラクティスでPostgreSQLを使うのでHomebrewでのインストールから起動までをメモ。 PostgreSQL: macOS packages 環境 macOS 12.3.1 Homebrew 3.5.3 手順 インストールからパス確認。 # インストール $ brew update $ brew install post…
前回の記事ではi18nを使った多言語化用の設定を行いました。 i18_generaor gemを使った方が簡単に生成できそうでしたが理解を深める為に今回はあえて手動で翻訳情報を追加します。 tメソッドについて t メソッドはi18nに用意されているtranslate メソッドの…
FBCのRailsのi18nのプラクティスを進めています。 _form.html.erb 内のフォーム内のsubmitボタンの翻訳情報をhelpers.submit.createやhelpers.submit.update などで参照できるのか分からなかったのでソースコードを読んで調べてみました。 ちなみにVSCodeで…
Railsの仕様について気になる部分があったのでRails gemのソースコードを読んでみようと思いました。 gemのソースコードをVSCodeで読むための設定について調べました。 結論 bundle open gem_name で開くデフォルトエディタをVSCodeに設定すると便利。 設定…
前回の記事でi18nの概要は掴んだつもりなので、実際に多言語化する設定を行います。 多言語化する方法はいくつかありますが、一番シンプルそうなparamsで言語を切り替える方法を行います。 結論 下記手順で多言語化の設定を行う。 デフォルト言語設定、ロケ…
Railsのプラクティスに入りました。 Railsを国際化するために必要なi18nについて調べました。 結論 i18nとは国際化(多言語化)するためのgem。 アプリケーションの文言を英語以外の 別の1つの言語に翻訳 する機能や 多言語サポート 機能を簡単かつ拡張可能な…
Sinatraのメモアプリのプルリクでディレクトリ・トラバーサルの危険性があると指摘されました。 初めて聞く言葉だったのでディレクトリ・トラバーサルについて調べました。 結論 ウェブアプリケーションの中には、外部からのパラメータにウェブサーバ内のフ…
Sinatraのメモアプリのレビューの中でhelperに定義してメソッド名に対してアドバイスを頂きました。 「メソッド名は動詞で始める」と思い込んでいましたが、間違いだったと気付くことができたので良かったです。 結論 次のような処理内容のメソッド名は動詞…