ローイングファンのプログラミング日記

ボート競技やプログラミングについて書きます

2018-01-01から1年間の記事一覧

クラスを定義する

Rubyはオブジェクト指向のプログラミング言語。 オブジェクト指向とはどういうことか。なかなか理解が深まらない。 理解を深めるためには実際にコードを書くことが大事だと思う。 そこで今回はクラスを定義してみる。 目次 オブジェクトとは クラスとメソッ…

Active RecordでPostgreSQLを操作する

今回はActive Recordを使ってデータを挿入する。 目次 Active RecordのWebページ テーブルにデータを挿入する Active RecordのWebページ Active Recordの基礎 https://railsguides.jp/active_record_basics.html テーブルやカラムを作成、変更する Active Re…

RubyからPostgreSQLを操作する

前回、Bundlerを使ってPg、Active Record、dotenvという3つのgemをインストールした。 今回はこれらのgemを使ってRubyからPostgreSQLを操作する。 目次 Pgとは Active Recordとは dotenvとは RubyからPoatgreSQLを操作する コードの実行 Pgとは PgはPostgreS…

Bundlerを使ってgemをインストールする

RubyからPostgreSQLを操作するためのライブラリをインストールする。 目次 RubyGemsとは RubyGemsについてのWebページ Bundlerとは Bundlerをインストールする Bundlerを使ってgemをインストールする Gemfileとは Gemfileをつくる Bundle install Gemfile.lo…

PostgreSQL where句

where句を使って条件つきの検索を試す。 データはこれまでにつくったtestデータベース、testsテーブルに入っているボートレース(レガッタ)の結果を使う。 目次 PostgreSQLドキュメント SQLファイルをつくる SQLファイルを実行する 実行結果 Windows10の文…

PostgreSQLにデータを挿入する

前回テーブルのつくりかたを試したので、今回はテーブルにデータを挿入する。 目次 外部ファイルの読み込み SQLファイルをつくる ファイルを読み込む テーブルにデータを挿入する Windows10とPostgreSQLの文字エンコーディング SQL言語 select文 表示の文字…

PostgreSQLにテーブルをつくる

前回データベースをつくったので今回はその中にテーブルをつくる。 目次 テーブル カラム定義 データ型 制約 テーブルをつくる データベースに接続する テーブルをつくる テーブルの確認 テーブル一覧を表示する テーブルの定義を確認する テーブルの削除 デ…

PostgreSQLのデータベースをつくる

PostgreSQLの大まかな使い方は次のとおり。 サーバーを起動する データベースをつくる データベースに接続する テーブルをつくる テーブルにデータを挿入する データを扱う データベースから切断する サーバーを停止して終了 今回はPostgreSQLのデータベース…

macOS10にPostgreSQLをインストールする

今回はHomebrewを使ってPostgreSQL 10.3をインストールしたときの記録。 HomebrewについてはRubyをインストールする記事で説明済。 目次 Homebrewを使ってPostgreSQLをインストールする PostgreSQLサーバーが起動しない不具合 Homebrewを使ってPostgreSQLを…

Windows10にPostgreSQLをインストールする

今回はPostgreSQL10.3をインストールしたときの記録。 目次 リレーショナルデータベースとSQL PostgreSQL PostgreSQLのインストール方法 サービスの設定 環境変数の設定 PATHの設定 PGDATAの設定 バージョン確認 PostgreSQLサーバーの起動確認 リレーショナ…

ローイングファン version1

今まで試してきたコードを使ってボートレース(レガッタ)の情報を検索するアプリをつくる。 前につくったお試し版に改良をくわえ、一通りの機能は備わったのでversion1とする。 目次 ローイングファンver1のコード 更新履歴 今回の動作確認環境 ローイングフ…

後置if

今回は後置ifを使ってコードの行数を減らしてみる。 目次 一般的なif文 後置if 後置ifを使ったコード 今回の動作確認環境 一般的なif文 一般的なif文の書式。 if 条件 処理 end 後置if 後置ifの書式。 処理 if 条件 後置ifを使ったコード コードを書く。 tes…

例外処理 rescue

目次 例外処理 rescue節 今回の動作確認環境 例外処理 例外とはコード内のエラー。 例外処理がないコードで例外が発生するとそこから先には進めない。 例外が発生したときの対処をほどこすのが例外処理。 リファレンスマニュアルは次のとおり。 Rubyリファレ…

open-uriライブラリ

今回はWebページからHTMLコードを取得する方法を考える。 目次 open-uriライブラリ open-uriライブラリのopenメソッド 今回の動作確認環境 open-uriライブラリ open-uriライブラリを使うと簡単にWebページを開くことができる。 リファレンスマニュアルは次の…

自己代入でカウンターをつくる

今回はカウンターと剰余を使って配列を組み直してみる。 目次 カウンターで繰り返しの回数を数える 剰余をもとめる演算子 % 配列の要素を指定の数ずつ配列に格納し直す 今回の動作確認環境 カウンターで繰り返しの回数を数える eachメソッドは配列から要素を…

行と列を入れかえる zip

今回は行と列を入れかえるメソッドzipを試す。 目次 配列オブジェクトのzipメソッド zipを使ったコード 今回の動作確認環境 配列オブジェクトのzipメソッド zipメソッドは配列オブジェクトのインスタンスメソッド。 基準とする配列に引数の配列を取り込んで…

正規表現 キャプチャ

今回は正規表現のキャプチャを試す。 目次 正規表現でマッチした文字列を後から参照する 特殊変数とキャプチャ HTMLソースコードの概略 キャプチャを使ったコード キャプチャにタグをつける scanメソッド ヒアドキュメント 今回の動作確認環境 正規表現でマ…

ブラウザの機能を使ってHTMLソースコードを表示する方法

今回はブラウザの機能を使ってHTMLソースコードを入手する。 注意 HTMLソースコードは著作物です。HTMLソースコードを利用する際は著作権法に則る必要があります。 目次 HTMLとは WebページのHTMLソースコードを見る方法 Google Chromeの機能を使って見る方…

getsメソッドを利用して案内表示をだす

今回はgetsメソッドを試す。 目次 getsメソッド getsを使ってコードを書く getsを案内に利用する 今回の動作確認環境 getsメソッド getsはIOクラスのインスタンスメソッド。 定数ARGVはコマンドと同時に入力した値を受け取る。 それに対してgetsメソッドはコ…

ローイングファン お試し版

このブログではWebアプリ「ローイングファン」の仕組みを紹介している。 今回は今までの記事に書いてきたコードを使ってローイングファンお試し版をつくる。 Webアプリ ローイングファンのURL https://rowingfan.herokuapp.com/ ボートレース(レガッタ)情報…

定数 ARGV、 配列の配列から要素を取りだす

今回はターミナル/PowerShellからデータを入力する方法と配列の配列からオブジェクトを取りだす方法を試す。 目次 定数ARGV 配列の配列から要素を取りだす 定数ARGV RubyにはARGVという定数がある。 Rubyリファレンスマニュアルは次のとおり。 Rubyリファレ…

eachメソッドを入れ子で使う

今回は3層構造の配列を扱う。 目次 3層構造の配列からif文を使って目当ての情報を検索する コードの解説 コード概略 正規表現 [ ] 今回の動作確認環境 3層構造の配列からif文を使って目当ての情報を検索する 3層構造の配列からif文を使って目当ての情報を検…

配列に使えるメソッド その2

今回は配列に使えるメソッド その2。 その1はこちら。 目次 メソッドを探す 配列クラスのvalues_atメソッド 配列クラスの << メソッド 配列クラスの特異メソッド new 配列の入れ子構造をつくる 今回の動作確認環境 メソッドを探す 配列クラスのメソッドを探…

エクセルファイルの文字エンコーディング

前回つくったCSVファイルの文字エンコーディングはUTF-8になっている。 UTF-8のファイルはエクセルでつかえない(つかいづらい)。 今回はエクセルの文字エンコーディングとRubyの文字エンコーディングについて考える。 目次 エクセルの文字エンコーディング R…

CSVライブラリ

今回は前回つくったCSVファイルを出力する。 目次 Rubyのライブラリを利用する CSVライブラリ ライブラリを読み込む CSVクラス foreachメソッド 条件判断の判定基準 正規表現を使った条件判断 WebページのコピーをCSVファイルに成型してターミナル/PowerShel…

ファイルを書きかえる gsub!

前回のつづき。 今回はコピーしたデータをCSVファイルに書きかえる。 目次 gsub!メソッドを使って文字列を書きかえる コードの説明 正規表現の解説 リファレンスマニュアル /^\d\t$/ /\n\(/ /^/、/^,1/ /\t/ /\n,発艇時刻:\s/ /組別:\s/ /,Race\sNo:\s/ /^,…

ファイルを扱う open gsub

ファイルのデータを利用する。 目標とする工程は次のとおり。 Webページから情報をコピーする 情報をCSVファイルに書きかえる CSVファイルを指定の書式で出力する 目次 CSVファイル データを入手する ファイルを開く gsub!メソッドをつかって文字列を書きか…

条件判断 if文

今回は条件判断 ifを試す。 目次 if文 else節 eachメソッドとif文を組み合わせる 今回の動作確認環境 if文 ifについてのリファレンスマニュアルは次のとおり。 Rubyリファレンスマニュアル 制御構造 if https://docs.ruby-lang.org/ja/latest/doc/spec=2fcon…

配列に使えるメソッド

配列に使えるメソッドを試してみる。 目次 インスタンスメソッド メソッドの調べ方 size、insert eachメソッド eachメソッドで取りだしたオブジェクトをターミナル/PowerShellに出力する 今回の動作確認環境 インスタンスメソッド これまでに試したputsメソ…

配列を使って情報をまとめる

前回はオブジェクトを1つずつ変数に代入した。 今回はオブジェクトをまとめて扱うときに便利な配列(Array)を試す。 目次 Rubyリファレンスマニュアル Arrayクラス 配列をつくる 配列のコードを書く 配列のインデックス 配列から要素を取りだしてターミナル/P…