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

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

プログラミング

WSL2上のUbuntu20.04にPostgreSQL13をインストール

目次 WSL2の設定とUbuntu20.04 LTSのインストール PostgreSQLをインストール PostgreSQLの設定 Visual Studio Codeの拡張 WSL2の設定とUbuntu20.04 LTSのインストール 普段はmacOSもしくはVirtualBox Vagrant Ubuntu環境上でPostgreSQLを使っている 以前の記…

Heroku 複数のアプリ間でHerokuPostgresデータベースを共有する

やったこと 前提 環境変数の取得 Herokuアプリで接続する 今回の環境 やったこと Herokuの同一アカウント上で運営している2つのアプリ間でデータベースを共有した。 前提 origin_appとnew_appを運営 アプリフレームワークはSinatra ORMフレームワークはActiv…

GitHubにSSH接続でpush/cloneする

目次 前提 経緯 参考ページ 手順 SSHキーを作成する configファイルに記入する(macOSのみLinuxではconfigファイルは不要) SSHキーをssh-agentに追加してキーチェインに保存する GitHubにSSHキー(公開鍵)を登録する ローカルとリモートを紐づける(新規pushす…

JavaScriptの基礎 細かな注意点

JavaScriptを勉強中。 気づいたことを随時追加する予定。 目次 前置演算と後置演算の違い 浮動小数点数値を含む計算 暗黙的なfalse 前置演算と後置演算の違い インクリメント/デクリメントの結果を別名の変数に代入したいときは前置演算をつかう 例: 前置イ…

WSL(Windows Subsystem for Linux)のUbuntuからWindows上のファイルを参照する

目次 前提 Windows内のファイルをUbuntuから参照する Windows上でRubyのコードを書いてUbuntu上で実行する 今回の環境 前提 WSLが有効化されていてUbuntuがインストールされている Ubuntu内にRubyがインストールされている Windows内のファイルをUbuntuから…

レガッタファンのつかい方

Webサービスをアップしたのでつかい方について書きます。 レガッタ情報投稿サイト - レガッタファン https://regattafan.herokuapp.com 目次 レガッタファンとは 記事の閲覧とTweet 記事の閲覧 Tweetの下書き作成 記事を投稿するには 会員がつかえる機能 記…

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アプリフレームワー…