RailsでBasic認証・Dockerで環境変数を設定

Basic認証の処理を書く class ApplicationController < ActionController::Base before_action :basic_auth protect_from_forgery with: :exception private def basic_auth authenticate_or_request_with_http_basic do |username, password| username == E…

Railsアプリケーションを本番環境に構築するためのAWSでやったこと

ECRにrailsアプリケーションをプッシュ ECRでリポジトリを作成 dockerイメージをプッシュ // docker-compose.ymlまで移動しておく // awsコマンドでログイン $(aws ecr get-login --no-include-email --region ap-northeast-1) // ビルド $ docker build -t …

cronでawsコマンドが実行されない問題

問題 22時にインスタンス停止コマンドを打つように設定 0 22 * * * aws ec2 stop-instances --region=ap-northeast-1 --instance-ids=i-xxxx 時間が過ぎた後にawsコンソールから確認してもインスタンスが起動したまま。。 確認 普通に上記のコマンドを打った…

cronで時間指定してec2インスタンスを自動起動・停止する

cronとは 時間とその時間に実行したいプログラムを指定しておけば、 設定した時間にそのプログラムが実行される cronコマンド // cronに設定されているものを確認 crontab -l // cronの設定を編集 crontab -e // cronを削除(まるっと消える) crontab -r 時…

docker上のrailsアプリケーションからローカル上のmysqlに接続できない問題

環境 dockerでrailsを起動 ローカルサーバーでmysqlを起動 問題 すでにrailsはdockerで起動済み railsアプリケーションにアクセスしようとするとdbの接続エラーが出てくる $ curl 0.0.0.0:3000/index Puma caught this error: Can't connect to MySQL server…

【技術勉強】オブジェクト指向でなぜつくるのか

三大要素 クラス(カプセル化) 「クラス」とは種類 「インスタンス」とは具体的なモノ クラスの仕組み クラスの特徴には、「まとめる」「隠す」「たくさん作る」がある まとめる そのままの意味 隠す クラスに定義した変数とメソッドを、他のクラスから隠す…

【読書感想】イシューからはじめよ

仕事のできる人ってどうやって仕事を進めているのかわからず、とりあえず手にとってみたほんです。 まず、心にグサリと来たのは、「考える」ことと、「悩む」ことの違いについてです。 ・「考える」=答えが出る ・「悩む」=答えが出ない=考えているフリを…

【読書感想】神・時間術

普段仕事をしている中で、時間の使い方が下手なのではないか、とか、 もっといい時間の使い方があるのでは、とかとか思い、 そのヒントを見つけるべく『神・時間術』を読んでみました。 この本を読んでいて、1番ゾッとしたのが、 「朝の30分=夜の2時間」と…

【技術勉強】アルゴリズム図鑑

データ構造 スタック 後かから入れたものを、先に出す LIFO(Last In First Out) キュー 先に入れたものを、先に出す FIFO(First In First Out) ハッシュ関数 ヒープ 各「ノード」は、最大2つの子データをもつ 子データは、親データより大きなもの 「プ…

MySQLを起動しようとしたら、間違ったIPアドレスを見に行っていた問題

問題 mysqlを起動させようとしても、なぜか途中で起動が終わってしまう。 $ ps -ef | grep mysql centos 27647 27403 0 11:55 pts/1 00:00:00 grep --color=auto mysql mysqlが起動してないな。 $ sudo mysqld_safe 190611 11:54:28 mysqld_safe Logging to …

【読書感想】自分の頭で考えて動く部下の育て方

先日、社長に自分に対してどのようなことを期待しているのか聞いたところ、 自ら動いて仕事をこなしていくこと、自主性を持つことと言われました。 「仕事に対する自主性」ってどうすれば身につくの?と思い、 別に部下がいるわけではない(むしろ新卒1年目…

【読書感想】アウトプット大全

私はアウトプットすることに対して苦手意識がありました。 何かアウトプットしなければと思って、ブログを書こうとしても、文章を書くのが苦手で、時間がかかるし、 書き終えたとしてもそれに満足してしまって、身になっているのかわかりませんでした。 『ア…

【勉強まとめ】システム設計のセオリー

1.データ設計 概念データモデル ビジネスの視点から、ビジネス全体を把握できるデータのまとまり サブジェクトエリア ビジネスの観点から、一括りにまとめたり、分割する範囲を決めること 理論データモデル 概念データモデルに対して属性を付け加えていく デ…

アンカータグを使って任意のところにスクロールさせる

javascriptを使わずに任意のところへスクロールさせたかった <a href="#index">ここをクリック</a> <p id="index">ここに飛んでくる</p>

MacでCentOSのUSBブートを作る

USBメモリを初期化 ディスクユーティリティ > USB選択 > 消去 USBドライブを確認 $ diskutil list /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *31.3 GB disk2 1: 0xEF 8.9 MB disk2s2 diskutil ディスクの消…

rspecの導入

Gemfile group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # Adds support for Capybara system testing and selenium driver gem '…

Gemfileを編集したらdockerに反映させる

docker-compose build

Docker上の既存DBにアクセスできない問題

問題 railsのアプリケーションから既存のデータベースへ接続したいのに接続できない。(app,db共にdocker上にある) 解決 アプリケーションとDBのdockerのネットワークが違うため。 ネットワークを同じにしなければいけない。 docker-composeファイルでネッ…

rails sでアプリケーションを起動しようとすると、A server is already running.と出てきて起動できない問題

問題 $ rails s A server is already running. Check /app/tmp/pids/server.pid. => Booting Puma => Rails 5.1.6 application starting in development => Run `rails server -h` for more startup options Exiting 別にアプリケーションを起動させてるわけ…

bundleでmysqlをインストールできない問題

問題 $ bundle install The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add tho…

【勉強まとめ】Clean Architecture 達人に学ぶソフトウェアの構造と設計

Clean Architecture 達人に学ぶソフトウェアの構造と設計 3つのプログラミングパラダイム 構造化プログラミング 構造化プログラミングとは、「順次(上から順にプログラムを実行する)」「反復(for文)」「分岐(if文)」の3つの構造を使ってプログラム構…

Vue.js + Typescript 参考

IntelliJ IDEAでVue.jsを動かす vue.js + typescript = vue.ts ことはじめ

IntelliJ Gradleのパス

gradle location /usr/local/Cellar/gradle/4.10/libexec/

プロキシ

プロキシとは プロキシとは、ブラウザに代わってwebサーバーにリクエストするやつ。 ブラウザ -> プロキシ -> webサーバー ブラウザ <- プロキシ <- webサーバー なぜわざわざワンクッション挟むのか 匿名性 プロキシを経由しないで、webサーバーへアクセス…

バイナリデータ・シリアライズ・デシリアライズ

バイナリデータ バイナリデータとは、コンピュータで扱えるデータで、人間が見ても理解できないデータ シリアライズ ソフトウェア内部で扱っているデータをそのままDBへ保存したり送受信できるようにすること。 たとえば、配列をDBへ保存する際に、 普通、DB…

MinioをDocker上で動かす

minioをインストール docker pull minio/minio:edge docker run -p 9000:9000 minio/minio:edge server /data Dockerfile RUN mkdir -p /tmps3 docker-compose.yaml minio: image: minio/minio:latest ports: - "9000:9000" volumes: - "./tmps3:/export" co…

Dockerを起動させてRailsを動かす

Dockerfileを作成 FROM ruby:2.5 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /myapp // 変更 WORKDIR /myapp // 変更 COPY Gemfile /myapp/Gemfile // 変更 COPY Gemfile.lock /myapp/Gemfile.lock // 変更 …

DBのマイグレーションが上手くいかない

問題 マイグレーションしようとしてもエラーが出る $ docker-compose -f ./migration-docker-compose.yml run liquibase migrate db db_migration.yaml [DEBUG] db_migration.yaml Unexpected error running Liquibase: Could not acquire change log lock. …

Git リポリトリ名の変更

Git

github上でリポジトリ名を変更した後に git remote set-url origin {new_repository_url}

Git リモートにあるブランチをローカルに持ってくる方法

Git

# リモートにあるブランチを確認 git branch -a # 持ってきたいブランチをfetch git fetch origin remote-branch # checkout git checkout -b new-branch origin/remote-branch