2023-12-01から1ヶ月間の記事一覧
こんにちは! 今回は2023年の学習記録の総まとめです。 2023年の学習記録 2023年の学習記録 合計: 1134時間 1000時間突破しましたが、まだまだ頑張ります Happiness Chainが気になっている方へ: ロードマップ+αのことをたくさんやっているので、ロードマッ…
こんにちは! 今回は、書籍「RubyではじめるWebアプリの作り方 」p57,p58のorderFilterが見つからない問題の対処法についてまとめます。 RubyではじめるWebアプリの作り方作者:久保秋真オーム社Amazon 事象 p57, p58のidはorderFilterという指定が、現時点(2…
こんにちは! 今回はRubyでコンソールアプリを作る時に便利なコマンド 第四回です。 何をしたいか RGBで文字色を指定する コード def rgb(red, green, blue) "\033[38;2;#{red};#{green};#{blue}m" end red, green, blueに0~255の数値を指定 後ろに文字を続…
こんにちは! 今回はRubyでSQLのプレースホルダを使う方法 (配列を受け取る場合)についてまとめます。 何をしたいか プレースホルダに配列を代入したい 配列は可変長とする コード array = ['alice', 'bob', 'charlie'] placeholders = array.map { '?' }.jo…
こんにちは! 今回はRubyでSQLのプレースホルダを使う方法をまとめます。 プレースホルダとは プレースホルダとは、SQLのクエリにプログラムから値を渡すための場所を確保すること SQLインジェクションという、本来値を入れることを想定した場所に悪意のある…
こんにちは! 今回はRubyでコンソールアプリを作る時に便利なコマンド第三回です。 やりたいこと 文章全体は太字、一部の単語だけの文字色を変更したい 文字色の変更の終了時に前回の記事で使用した「"\e[0m"」を用いると、太字もリセットされてしまう コー…
こんにちは! 今回はDecoratorパターンについてまとめます。 何をしたいか 文字に装飾を付けたい 色を付ける場合、太字にする場合、色を付けて太字にしたい場合などがある コード class Decorator def initialize(word) @word = word end def to_string @wor…
こんにちは! 今回はSQLite3でレコードが存在するか確認する方法についてまとめます。 何をしたいか テーブルにレコードが存在する時はINSERTせず、レコードが存在しない時だけINSERTしたい コード例 result = @db.get_first_value(" SELECT count(*) FROM t…
こんにちは! 今回はSQLite3はデフォルトで外部キー制約が無効になっていることについてまとめます。 何が起きるか 外部キー制約を設定している列に対して、外部キーの参照先の列に存在しない値をINSERTできる 対処法 下記コマンドをSQLに接続したときに毎回…
こんにちは! 今回は「SQLの苦手を克服する本」を読んだ感想です。 SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる Software Design plus作者:生島 勘富,開米 瑞浩技術評論社Amazon なぜ読んだのか SQLにもっと慣れるため 良かったとこ…
こんにちは! 今回は「図解まるわかり データベースのしくみ」を読んだ感想です。 図解まるわかり データベースのしくみ作者:坂上 幸大翔泳社Amazon なぜ読んだのか データベースの苦手意識を無くすため SQLでデータベースの使用方法は学んだので、データベ…
こんにちは! 今回は、SQLですでにレコードがあれば更新、なければ追加をする方法についてまとめます。 やりたいこと 例えば次のようなfruitsテーブルがあるとします。 fruit_id fruit comment 1 apple 赤い 2 orange すっぱい このテーブルに「apple」「あ…
こんにちは! 今回はバックスラッシュを含むシンボルの書き方をメモしておきます。 書き方 hash = { "\r": Enter } 使用用途 キー入力を受付したときのエンターの判定など おわりに inputを.to_symして判定することが良くありますが、もしかするともっとスマ…
こんにちは! 今回は先日お世話になった歯医者さんの受診の流れをパッケージ図と業務フロー図で表してみます。 パッケージ図 classDiagram direction LR 患者<|-- 問診票 患者 <|--保険証 問診票 <|-- 事務 保険証 <|-- 事務 問診票 <|-- 医師 問診票<|-- 歯…
こんにちは! 今回はパッケージ図と業務フロー図についてまとめます。 パッケージ図 クラスよりも大きな単位で全体を俯瞰する方法 classDiagram direction LR 顧客<|-- 受注 商品 <|--受注 商品 <|-- 在庫 在庫 <|-- 受注 在庫 <|-- 出荷 受注<|-- 出荷 出荷…
こんにちは! 今回は「現場で役立つシステム設計の原則」を図書館で借りて流し読み(所要時間:2時間)した感想をまとめます。 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法作者:増田 亨技術評論社Amazon なぜ読んだの…
こんにちは! 今回はRubyで文字列の一部を削除する方法をまとめます。 やりたいこと "hello world" から "hello "を削除して "world"だけにしたい gsub text = 'hello world' puts text.gsub('hello ') 結果 "world" delete text = 'hello world' puts text.…
こんにちは! 今回はwhile trueとloop doの動作の違いを実感したことについてまとめます。 whileの場合 count = 0 while true count += 1 text = 'aaa' break if count > 2 end puts text 結果 'aaa' loopの場合 count = 0 loop do count += 1 text = 'aaa' …
こんにちは! 今回は情報を配列やハッシュではなくオブジェクトに格納する方法を紹介します。 配列に格納する場合 quiz = ['日本で一番高い山は?', '富士山'] question = quiz[0] answer = quiz[1] puts question puts answer オブジェクトに格納する場合 c…
こんにちは! 今回はRubyのインスタンス変数と継承の動作について基本的なところで勘違いをしていたので、まとめたいと思います。 コード class Box def initialize @item = 'apple' end def item @item end def input(item) @item = item end end class Big…
こんにちは! 今回はRubyでSQLiteから情報を取得する方法をいくつか紹介します。 execute db.execute(SQL) executeはSQLを送信する基本的なメソッド 結果は「配列の配列」として返る 「列名」は含まれない execute2 db.execute2(SQL) executeとの違いは、exe…
こんにちは! 今回はRubyでSQLiteを使う方法をまとめます。 SQLiteのGemを取得 コンソールで下記を実行 gem install sqlite3 SQLiteを読み込み 使用したいrbファイルに下記を記載 require 'sqlite3' dbファイルを作成 変数に代入しない場合 SQLite3::Databas…
こんにちは! 今回は勉強中のデータベースの正規化についてまとめます。 正規化とは 正規化とはデータベースの冗長性を排除し、データの不整合や更新時の効率性を確保すること 正規化によって一般的には第1正規形から第5正規形まで作られる 今回はよく使わ…
こんにちは! 達人に学ぶSQL徹底指南書 第2版を図書館でさらっと流し読み(所要時間:1時間半)した感想です。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ作者:ミック翔泳社Amazon なぜ読んだか DB設計の本を読む前にもう少しSQLの全体…
こんにちは! 前回に引き続き、コンソールアプリを作る時に便利なコマンドを紹介します。 文字に色を付ける 次のコードは文字色が赤色になります。 puts "\e[31m" + "この文字が赤色になります" + "\e[0m" 31を他の数字に変えると色が変わります。 例) 32 →…
こんにちは! 久しぶりの投稿ですが、勉強は続いています! 今回は、Rubyでコンソールアプリを作る時に、便利なコマンドをまとめます。 画面のクリア 次のASCIIコードで画面全体がクリアされます。Windows環境では動作すると思います。 puts "\e[H\e[2J" キ…