gyaboooのゆる〜いブログ

ゆるくレンタルサーバーの保守してます

ふるさと納税してみた

節税と返礼品に目がくらんで、ふるさと納税してみました。

ウイスキー

評価数が多かったので頼んでみました。
いつもトリスなので、たまには良いウィスキーを飲めるといいなぁ。 www.furusato-tax.jp

ウインナー

以前、旅行で行った糸島のウィンナーがあったのでチョイス。
探し求めてる屋台のウィンナー感を期待してます。 www.furusato-tax.jp

トイレットペーパー

いつも買い物でトイレットペーパーを買うと荷物になるので助かる。
www.furusato-tax.jp

最後に

初めてなので、とりあえず食べ物中心で選んでみました。
ワンストップ特例という制度?があるみたいなので、全てこれで申請してみます。
一応全てオンラインでいけるみたいですが、それぞれオンラインの申請サイトや方法が違うみたいで戸惑いました。。。
ウィスキーのやつはマイナポータルとかで簡単にできました。
他のやつはそれぞれのオンライン申請サイトで申し込む必要があるみたいです。
自治体で確認処理が完了したら多分申請できそう。

とりあえずワンストップ特例申請終わらして、届くの楽しみにしときます。

Pleskのディスク使用率の統計情報のメール容量について

メールアカウントの総容量とPleskのディスク使用率の

統計情報のメール容量が違ってたので調査。

 

結果:

 mailmanの使用量もこっそり計算されている

 まとめ読みが容量くってる時とか要注意

 

番外編:

 mailmanのまとめ読みや保存書庫がでかいとメール送信に時間がかかる

 基本は無効にしておいた方が問い合わせ減らせる

肯定感を高める方法

立ち読みでうろ覚え。

 

自己肯定感を高める行動

  • STOPリスト・・・やめる行動をリスト
  • ぺこぱ風で自分にツッコむ・・・いいだろう→肯定する
  • 10秒瞑想
  • メンタルノイズを認識する・・・自分の行動を実況してみる

 

裏表思考法

やりたいことに対する

うまくいった場合のデメリットと

うまくいかなかった場合のメリットを

それぞれ最低6個書き出す

VTuberになってた

今日は大阪に行く予定があったので

久々に前々職の同僚とご飯を食べたのですが

まさかのVTuberデビューしてました。

 

イラストとかは外注でしっかり作成してもらって

行動力あるなー僕も何か行動してみようかなーと思った今日この頃です。

 

あと立ち読みで自己肯定感を高める本読んでちょっと元気出ました。

明日も自己肯定感高める行動して人生充実させていこう。

Google Books APIのtotalItemsはコロコロ変わる

久々に投稿しました。 のんびり転職活動してたら2月の半ばになってました。 それでもマイペースに頑張っていきます。

そんな感じで久々にポートフォリオをちょっと触っていたのですが Google Books APIを利用した時のちょっとした注意点(グチ)を書きます。

Google Books APIのtotalItemsはコロコロ変わる


Google Books APIという本を検索するとAPIを利用しているのですが APIから取得できる内容にtotalItemsというものがあります。

totalItemsは検索で引っかかった本の合計数と思うのですが 検索時にパラメータとして設定するstartIndexを変えて取得する本の範囲を変えると totalItemsの値がコロコロ変わるようです。

公式ページにも記載されていたので仕様っぽいのですが ページネーションをする際に本の合計数がコロコロ変わられると 具合が悪いのでなんとかしたいです。

いい方法がありましたら、どなたかご連絡頂けますと幸いです。

・公式ページ https://developers.google.com/books/docs/v1/reference/volumes/list?hl=ja

・本検索ページ https://bookapp.se-kun.net/

今日ものんびり日々精進。

お金に困ってHerokuへデプロイ

AWSのECSの料金が高くなってしまって困ったので今日はRailsアプリをHerokuへデプロイしました。

これでお金に少しだけ余裕が出てくるとかと。。。

以下に手順の備忘録。

  1. Herokuのホームページでアカウント作成 これはよしなに...

  2. Heroku CLIのインストール(Mac)

brew tap heroku/brew && brew install heroku

  1. Herokuへログイン

heroku login --interactive

  1. Herokuへ公開鍵を登録

heroku keys:add

※無い場合は作成されます

  1. Herokuアプリを作成

heroku create <アプリ名> ←アプリ名はオプション

  1. データベースをpostgresqlに変更 ・database.yml

production:

<<: *default

adapter: postgresql

...

  1. Gemfileの変更 ・Gemfile

group :production do

gem 'pg' ← 追加

...

end

  1. bundle install実行

bundle install --without production

  1. Gitにpush

git add .

git commit -m "updateなどなど"

git push heroku master

・・・

・・・

・・・

remote: -----> Launching...

remote: Released v11

remote: https://<アプリ名 https://xn--<-feuthycv08u?>.herokuapp.com/ http://.herokuapp.com/> deployed to Heroku ← 公開URL

...

...

  1. 感想 意外と簡単にデプロイできたので今後もお金節約したいときはherokuかNetlifyを使おうかと思います。

CircleCIを使ってAWS ECSにRailsをデプロイ(ALBとECRも使ってます)

最近、寒くなってきました。

布団から出るのがしんどいです。

ということでCircleCIでAWS ECSにRailsをデプロイしてみました。

ゴニョゴニョしながらやったので間違いや漏れの可能性もありますが。。。

事前準備

  • CircleCiに登録
  • GithubとCIrcleCIの連絡(登録時に連携させられる)
  • Dockerのインストール
  • AWSアカウントの作成とAMIの作成(ESC関連の権限が必要かも)
  • 外部にデータベース用意(私の環境ではRDSを利用)
  • AWS ECRの作成

1. ECS, ECR, ALBの設定

以下のブログを参考に設定させていただきました。

kimh.github.io

注意点としてはALBのヘルスチェックで応答コードが200以外は失敗と見なされる?ようなので deviseなどで絶対ログインしている場合はヘルスチェックURLをログインURLなどに変更した方が良いかと思います。

2. Docker周辺の設定

  1. ほぼ、Docker公式サイトからRailsのDockerfileとentrypoint.shをコピペ

    Quickstart: Compose and Rails | Docker Documentation

  2. コピペしたDockerfileとentrypoint.shをRailsのルートディレクトリ(appフォルダやGemfileがあるディレクトリ)に保存

  3. Dockerfileの内容を少し変更

     FROM ruby:2.6
     RUN apt-get update -qq && apt-get install -y nodejs build-essential default-mysql-client
     RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    
     ENV APP_NAME <任意のアプリケーション名>
     RUN mkdir /${APP_NAME}
     WORKDIR /${APP_NAME}
     COPY Gemfile /${APP_NAME}/Gemfile
     COPY Gemfile.lock /${APP_NAME}/Gemfile.lock
     RUN bundle install
     COPY . /${APP_NAME}
    
     ARG RAILS_MASTER_KEY
     ENV RAILS_MASTER_KEY ${RAILS_MASTER_KEY}
     ARG RAILS_ENV
     ENV RAILS_ENV ${RAILS_ENV}
     RUN rails assets:precompile
    
     COPY entrypoint.sh /usr/bin/
     RUN chmod +x /usr/bin/entrypoint.sh
     ENTRYPOINT ["entrypoint.sh"]
     EXPOSE 3000
    
     CMD ["rails", "server", "-b", "0.0.0.0"]
    

    RAILS_MASTER_KEYやRAILS_ENVは後ほどCircleCIの環境変数で設定

おそらくdocker-compose.yml無くてもCircleCI上でdocker imageのビルドはできるはずです。

おそらく。

3. CircleCIの設定

  1. Railsのルートディレクトリに.circleciフォルダとconfig.ymlを作成
  2. config.ymlに以下を記載

    以下の記事を参考に設定させていただきました。

    qiita.com

     version: 2.1
     orbs:
       aws-ecr: circleci/aws-ecr@6.6.0
       aws-ecs: circleci/aws-ecs@1.0.4
       aws-cli: circleci/aws-cli@0.1.19
    
     jobs:
       db-create-migrate-on-task-run:
         machine:
           image: ubuntu-1604:201903-01
         steps:
           - checkout
           - aws-cli/setup:
               aws-access-key-id: AWS_ACCESS_KEY_ID
               aws-secret-access-key: AWS_SECRET_ACCESS_KEY
               aws-region: AWS_REGION
           - run:
               name: "db create"
               command: |
                 aws ecs run-task --region $AWS_REGION \
                   --cluster <ECSのクラスタ名> \
                   --task-definition <ECSのタスク定義名> \
                   --overrides '{ "containerOverrides": [ { "name": "<ECSのタスク定義で指定したコンテナ名>", "command": ["rails", "db:create"] } ] }'
           - run:
               name: "db migrate"
               command: |
                 aws ecs run-task --region $AWS_REGION \
                   --cluster <ECSのクラスタ名> \
                   --task-definition <ECSのタスク定義名> \
                   --overrides '{ "containerOverrides": [ { "name": "<ECSのタスク定義で指定したコンテナ名>", "command": ["rails", "db:migrate"] } ] }'
    
     workflows:
       build-and-deploy:
         jobs:
           - aws-ecr/build-and-push-image:
               account-url: AWS_ECR_ACCOUNT_URL
               repo: '<ECRで作成したレポジトリ名>'
               tag: '${CIRCLE_SHA1}'
               extra-build-args: '--build-arg RAILS_MASTER_KEY=${RAILS_MASTER_KEY} --build-arg RAILS_ENV=${RAILS_ENV}'
    
           - db-create-migrate-on-task-run:
               requires:
                 - aws-ecr/build-and-push-image
    
           - aws-ecs/deploy-service-update:
               requires:
                 - db-create-migrate-on-task-run
               family: '<ECSのタスク定義名>'
               cluster-name: '<ECSのクラスタ名>'
               service-name: '<ECSのサービス名>'
               container-image-name-updates: 'container=<ECSのタスク定義で指定したコンテナ名>,tag=${CIRCLE_SHA1}'
    

    CircleCI Orbsに公式からECS, ECRのjobsが出てるのでそれを使う

    db createやdb migrateもついでにやってもらう

    docker imageのビルド時にRAILS_MASTER_KEYをRAILS_ENVを渡す

  3. CircleCIにログインし環境変数を設定

AWS_ACCESS_KEY_ID AWS_ECR_ACCOUNT_URL AWS_REGION AWS_SECRET_ACCESS_KEY RAILS_ENV RAILS_MASTER_KEY
AMIのアクセスキー ECRのURL ~.comなどで終わる リージョン名 AMIのシークレットキー 本番であればproduction master.keyの中身の文字列

f:id:gyabooo:20191225130700p:plain
CircleCI

4. masterへプッシュ

動けばOK

今後

  • テストの追加
  • ステージングの追加
  • ブランチ別でのCI追加
  • Nginxの導入

などなど

難しすぎて必死のパッチです。