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

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

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

Heroku CLIログインがデフォルトでブラウザを開くようになった

ターミナルからHerokuにログインしようとしたらブラウザからログインするようにいわれた。 $ heroku login 返答 Press any key to open up the browser to login or q to exit: 調べてみたらHeroku CLI ログインがデフォルトでブラウザを開くようになってい…

Vue.jsでストップウォッチ & ピッチ計(ボート競技用)をつくった

目次 Vue.js コード コードを書いた感想 今回の動作確認 Vue.js Vue.jsはユーザーインターフェイスを構築するためのフレームワーク。 Vue.jsを使うにはJavaScriptの知識が必要。 Vue.js公式ページ https://jp.vuejs.org/ コード 前回書いたコードをVue.jsを…

JavaScriptでストップウォッチ & ピッチ計(ボート競技用)をつくった

目次 はじめに ピッチ計とは 計算式 完成品 コード コードを書いた感想 Vue.jsで書きかえ 動作確認 はじめに JavaScriptの勉強をはじめた。 当面は基礎を学んでいずれはVue.jsを覚えたい。 目標はシングルページアプリケーション(SPA)をつくること。 今回は…

Time差0.1秒未満のレースを選び出す

今回はデータベースに収録してあるボートレース(レガッタ)の記録から僅差のレースを選び出す。 データベースの操作にはActive Recordをつかう。 目次 条件 プログラムの内容 必要なGemのインストール .envファイルをつくる Rubyのコードを書く 実行する 結果…

Ruby 日時をつくるときの桁あわせ

Date.new 2018年11月9日を作りたい場合。 エラーになる例 require 'date' p Date.new(2018,11,09) エラー表示 Invalid octal digit p Date.new(2018,11,09) ^~ 日にち09の0が余計なので0をとる 一桁月の場合も同様 修正後 require 'date' p Date.new(2018,11…

久しぶりに動かすときは余裕をもって

目次 急いでいるときに動かないとあせる gitが動かずあせる Heroku CLIのアップデート 急いでいるときに動かないとあせる あるシステムを久しぶりに使おうとしたとき、アップデートが必要だったり関連システムの再インストールが必要だったりで、すぐには動…

仮想環境でSinatraアプリを起動する手順

目次 今回の環境 Sinatraアプリを起動する手順 ターミナル/PowerShellで仮想環境ディレクトリに移動する Vagrantを起動する 仮想環境にログインする(ssh接続する) Cyberduckを起動する Sinatraアプリが配置されているディレクトリに移動する PostgreSQLサー…

PostgreSQLに複数の外部ファイルを読み込ます方法

目次 外部ファイルを使ってレコードを一気に挿入 複数の外部ファイル PostgreSQLに複数の外部ファイルを読み込ます手順 今回の環境 外部ファイルを使ってレコードを一気に挿入 PostgreSQLをバージョンアップする方法がよくわかっていない。 データを移す方法…

Sinatraでよく使うツール その3

今回はスクリプトをエスケープするメソッドについて。 目次 escape_htmlメソッド メソッド名を変更する alias_methodを使って変更する defで再定義 使い方 実行する hがない場合 ドキュメント escape_htmlメソッド スクリプトをエスケープするにはRack::Util…

Sinatraでよく使うツール その2

Sinatraのデフォルト設定では、publicという名のディレクトリ内にCSSなどの静的ファイルを配置するきまりになっている。 今回はこのディレクトリ名を変更する方法について試す。 目次 静的ファイル用のディレクトリ名を変更するコード ディレクトリ名を変更…

Sinatraでよく使うツール

今回はローカル開発環境で使うと便利なコードについて。 目次 起動時に -o [ipアドレス]オプション が不要になるコード つかい方 起動方法 ブラウザーに表示 Sinatraドキュメント 起動時に -o [ipアドレス]オプション が不要になるコード set :environment, …

Heroku PostgresにSQLファイルを読み込ます

Heroku PostgresにはCSVファイルを挿入できないようなのでCSVファイルからinsert文のSQLファイルをつくる。 つくったSQLファイルをHeroku Postgresに読み込ませればレコードを挿入できる。 目次 前提条件 CSVファイル Heroku Postgresのテーブル CSVファイル…

条件分岐を1行にまとめる

目次 if文のみ if文 else節が1つのみの場合 case文のwhen節を1行にまとめる 今回の動作確認環境 if文のみ 後置ifをつかう。 式 if 条件 event_name = 'エイト' # if 条件 式 end if event_name == 'エイト' puts "スイープ種目です。" end # 後置ifをつか…

Ubuntu18.04にPostgreSQL10.5をインストール

2020-11-07追記 WSL2 Ubuntu20.04にPostgreSQL13をインストールしたので記事を投稿した WSL2上のUbuntu20.04にPostgreSQL13をインストール - ローイングファンのプログラミング日記 (追記終わり) 目次 はじめに PostgreSQLリポジトリを追加 PostgreSQL10のイ…

Ubuntu18.04にRuby2.5.1をインストール``

前回つくったUbuntu環境にRuby2.5.1をインストールした。 参考にしたのは@nyanyamoさんの記事。 centOS7にrbenvとruby2.5.1いれたよ https://qiita.com/nyanyamo/items/952823ca044859232d82 目次 Gitの確認 rbenvのインストール パスを通す ruby-buildのイ…

macOS10とWindows10にUbuntu18環境をつくった

この前はCentOS環境をつくったので今回はUbuntu18.04環境をつくった。 Ubuntu環境をつくった理由はHerokuがUbuntuをつかっているから。 Heroku Stacks https://devcenter.heroku.com/articles/stack 目次 事前準備 環境構築の概略 Boxを選ぶ 環境の初期化とB…

CentOS7にPostgreSQL10をインストール

CentOS7.5にPostgreSQL10.4をインストールした。 目次 インストール PostgreSQLを起動する ロールの作成 停止 感想 今回の環境 インストール インストールはPostgreSQLのWebサイトにしたがっておこなった。 PostgreSQL Top https://www.postgresql.org/ Top…

WindowsPCに仮想環境をつくった

WindowsPCにCentOS環境をつくった。 ホストOSはWindows10 ゲストOSはCentOS6.8とCentOS7.5 目次 参考にした情報 CentOS7のインストール CentOS7にRubyをインストール 参考にした情報 仮想環境を構築するためにドットインストールのレッスンを参考にした。 ド…

手続き型のコードをオブジェクト指向型のコードに書きかえる

ボートレース(レガッタ)の結果をボートクラブ別に検索できるコードを前に書いた。 ローイングファン version1 - ローイングファンの日記 このコードが手続き型だったのでオブジェクト指向型に書きかえてみた。 (2018-07-20修正 コードの実行部分にwhile文を…

疑似乱数を発生させるrand

randは疑似乱数を発生させるメソッド。 今回はrandメソッドを使ってツイートの定型文に変化をつける。 目次 randを使う理由 レース(レガッタ)情報をツイートする 似たような内容のツイートはTwitterのアカウント停止処分をうける? randの使い方 randのリファ…

Ruby(Sinatra)アプリをHerokuで運営する

今回はRuby(Sinatra)のコードをHerokuでWebアプリにする。 コードは前に書いたものを使う。 ちなみにローイングファンもHerokuで運営している。 ローイングファン https://rowingfan.herokuapp.com 目次 Herokuとは SinatraアプリをHerokuで運営するために必…

Git

Git(ギット)はバージョン管理システム。 便利なツールだけれど多機能なので使いこなせるようになるには時間がかかる。 ここでは情報源だけ記載しておく。 GitのWebサイト Git https://git-scm.com/ Gitサイト内にあるGitの解説(本) Pro Git Book Git Top > D…

PostgreSQLを使ったSinatraアプリをつくる

PostgreSQLを使ったSinatraアプリをつくる。 目次 準備 ディレクトリ/ファイル構造 必要なGemをインストールする Sinatra PostgreSQLの準備 Active Record ERBライブラリ コードを書く コードの説明 myapp.rb index.erb CSSファイル コードを実行する 実行結…

SinatraでWebアプリをつくる

目次 Sinatraとは Sinatraをインストールする 手順 実際にインストールする コードを書く コードの説明 コードを実行する sinatra/reloaderをためす WEBrickを切断する 今回の環境 Sinatraとは SinatraはWebアプリをつくるためのGem。 Webアプリフレームワー…

Twitterライブラリ

Twitter APIが簡単に使えるようになるTwitterライブラリを試す。 目次 Twitterライブラリ Twitterライブラリを使う準備 Twitterアプリの作成 Permissionsタブの設定 Twitter APIと接続するために必要な値を取得する Twitterライブラリの使いかた Twitterライ…

クローリングで得たデータをデータベースに挿入する

今回はクローリングで得たデータをデータベースに挿入してみる。 目次 準備 PostgreSQLをインストールする PostreSQLにデータベースとテーブルをつくる Active Recordをインストールする クローリングで得た情報をPostgreSQLに挿入するコード コードの説明 …

外部ファイルを読み込む require_relative

require_relativeはカレントディレクトリから相対パスでファイルを読み込むメソッド。 require_relativeを使うと長いコードを別ファイルにすることができる。 目次 require_relativeについて リファレンスマニュアル 書式 テストコード コードの説明 コード…

インスタンス変数を参照する attr_reader

クラスを定義するときにインスタンス変数を初期化することは多い。 そのインスタンス変数を読み込みたいときがある。 そんなときはattr_readerメソッドを使う。 目次 attr_readerとは attr_readerを使ったコードを書く コードの説明 テストコードの実行結果 …

あいまい検索 Active Record where like

データベースからデータを選び出す際は、検索ワードと完全に一致するものだけでなく、部分的に一致するものも選び出したいことが多い。 幅をもたせた検索を「あいまい検索」という。 今回はあいまい検索を試す。 目次 where like Where likeを使ったコード …

文字列をTimeオブジェクトに変換する

ボート競技(レガッタ)はスピードを競う競技。 なので情報の中でもタイムは特に気にするところ。 タイム差をもとめるには独特の計算が必要になる。頭の中で無意識にこなしてしまうけれど、計算式であらわそうとすればけっこう大変だ。 RubyのTimeオブジェク…