2022-07-01から1ヶ月間の記事一覧

SQLファイルをコマンドラインから実行してテーブル定義する

Sinatraを使ったメモアプリのDB版を進めています。 テーブルを作成するDDL文を書いたSQLファイルを読み込み、PostgreSQLにテーブル定義したいと思ったので調べてみました。 結論 psql コマンドの-f オプションを使ってDDLを定義したSQLファイルを読み込んで…

SQLでCRUD処理を行う

SinatraのメモアプリをDB化するにあたってSQLでCRUD処理を行う必要が出てきました。 SQLコマンドでCRUD処理を行う方法について改めて整理しました。 結論 下記のSQLコマンドででCRUD処理ができる。 Create: INSERT Read: SELECT Update: UPDATE Delete: DELE…

RubyのSecureRandom.uuidで生成した文字列の長さについて

FBCのSinatraとDBを使ったメモアプリの開発に取り組んでいます。 DBに保存するレコードのRPIMARY KEYとしてSecureRandom.uuid で生成した文字列をCHAR型のカラムに保存しようと考えています。 最大文字列長をCHARに設定しようと思ったのですが、SecureRandom…

PostgreSQLでDBとテーブルの作成と削除を行う

Sinatraで作成したメモアプリのDB化にあたりまずはPostgreSQLでのDBとテーブルの作成と削除する方法について調べた。 結論 psql でログインした状態で下記コマンドでDB/テーブルの作成/削除が行える。 DB作成: CREATE DATABASE DB名; DB削除: DROP DATABASE …

SQLの基礎

SQL

FBCのプラクティスであるSinatraで作成したメモアプリをDB化するにあたってSQLの基礎を復習しました。 SQLとは Structured Query Language リレーショナルデータベース(RDBMS)を操作する為の言語 標準SQL: ISO(国際標準化機構)で定められた標準規格を満たし…

PostgreSQLでDB作成する2つの方法

SinatraでメモアプリをDB化するにあたってPostgreSQLで新規でDB作成することになったのでメモ。 PostgreSQLのインストールはHomebrew経由で行った。 結論 PostgreSQLでDBを作成する方法は2つある。 方法1: psql にログインしてCREATE DATABASE を実行 方法2:…

PostgreSQLの基本操作

Sinatraで作成したメモアプリのDB化に伴いPostgreSQLを使うことになったので最低限の基本操作を復習しました。 基本操作 DB一覧表示 DBへの接続 psql の抜け方 バックスラッシュコマンド DB一覧表示 psql -l でデータベース一覧を表示できます。 $ psql -l L…

psqlコマンド実行時にFATAL: database "db_name" does not exist が出た時の対処

前回の記事でHomebrew経由でPostgreSQLをmacにインストールしました。 Postgresqlインストール直後にpsql コマンドで以下のエラーが発生したので対処についてのメモです。 $ psql psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed:…

PostgreSQLをHomebrewでmacにインストールする

FBCのSinatraを使ったプラクティスでPostgreSQLを使うのでHomebrewでのインストールから起動までをメモ。 PostgreSQL: macOS packages 環境 macOS 12.3.1 Homebrew 3.5.3 手順 インストールからパス確認。 # インストール $ brew update $ brew install post…

i18nで多言語化する

前回の記事ではi18nを使った多言語化用の設定を行いました。 i18_generaor gemを使った方が簡単に生成できそうでしたが理解を深める為に今回はあえて手動で翻訳情報を追加します。 tメソッドについて t メソッドはi18nに用意されているtranslate メソッドの…

Railsのフォームのsubmitをhelpers.submit.createで翻訳できる理由を調べた

FBCのRailsのi18nのプラクティスを進めています。 _form.html.erb 内のフォーム内のsubmitボタンの翻訳情報をhelpers.submit.createやhelpers.submit.update などで参照できるのか分からなかったのでソースコードを読んで調べてみました。 ちなみにVSCodeで…

RailsのコードをVSCodeで読むための設定

Railsの仕様について気になる部分があったのでRails gemのソースコードを読んでみようと思いました。 gemのソースコードをVSCodeで読むための設定について調べました。 結論 bundle open gem_name で開くデフォルトエディタをVSCodeに設定すると便利。 設定…

i18nで多言語化する設定

前回の記事でi18nの概要は掴んだつもりなので、実際に多言語化する設定を行います。 多言語化する方法はいくつかありますが、一番シンプルそうなparamsで言語を切り替える方法を行います。 結論 下記手順で多言語化の設定を行う。 デフォルト言語設定、ロケ…

i18nとは

Railsのプラクティスに入りました。 Railsを国際化するために必要なi18nについて調べました。 結論 i18nとは国際化(多言語化)するためのgem。 アプリケーションの文言を英語以外の 別の1つの言語に翻訳 する機能や 多言語サポート 機能を簡単かつ拡張可能な…

ディレクトリ・トラバーサルとは

Sinatraのメモアプリのプルリクでディレクトリ・トラバーサルの危険性があると指摘されました。 初めて聞く言葉だったのでディレクトリ・トラバーサルについて調べました。 結論 ウェブアプリケーションの中には、外部からのパラメータにウェブサーバ内のフ…

メソッド名は動詞で始めなくても良い

Sinatraのメモアプリのレビューの中でhelperに定義してメソッド名に対してアドバイスを頂きました。 「メソッド名は動詞で始める」と思い込んでいましたが、間違いだったと気付くことができたので良かったです。 結論 次のような処理内容のメソッド名は動詞…