emolog

脳内メモです。

Railsのgenerationコマンドの実行optionを変更する

前提

  • RailsAPIサーバーとして振る舞う。

やること

    config.generators do |g|
      g.template_engine false # view配下を作成しない
      g.assets false # scssを作成しない
      g.helper false # helperを作成しない
      g.test_framework :rspec,
        view_specs: false, # viewのテストを作成しない
        helper_specs: false, # helperのテストを作成しない
        routing_specs: false
    end  

githubActionでbundle installの際に、bundle lock --add-platformしろと言われた

f:id:ababababa0222:20210308172835p:plain

事象

  • MacでlocalのRailsを動かしていた
  • githubActionでubuntuの実行環境でCIを実行したかった
  • bundle installの際に Your bundle only supports platforms ["x86_64-darwin-19"] but your local platform is x86_64-linux と言われる
  • bundle lock --add-platform x86_64-linux してねって言われる
4s
Run ruby/setup-ruby@v1.71.0
Installing Bundler
bundle install
  /opt/hostedtoolcache/Ruby/3.0.1/x64/bin/bundle config --local path /home/runner/work/telpay/telpay/vendor/bundle
  /opt/hostedtoolcache/Ruby/3.0.1/x64/bin/bundle config --local deployment true
  Cache key: setup-ruby-bundler-cache-v3-ubuntu-18.04-ruby-3.0.1-Gemfile.lock-1bec2a8434e23d7af956d5debdeb907f064e4ce098d3207562299dd550707b10
  /opt/hostedtoolcache/Ruby/3.0.1/x64/bin/bundle install --jobs 4
  Your bundle only supports platforms ["x86_64-darwin-19"] but your local platform
  is x86_64-linux. Add the current platform to the lockfile with `bundle lock
  --add-platform x86_64-linux` and try again.
  Took   0.73 seconds
Error: The process '/opt/hostedtoolcache/Ruby/3.0.1/x64/bin/bundle' failed with exit code 16

対応

  • bundle lock --add-platform x86_64-linux して再度commit
  • 通った

brew updateで `homebrew-core / homebrew-cask is a shallow clone. `と怒られる

f:id:ababababa0222:20210312000009j:plain

Macにて、 brew update を実行しようとしたら怒られた

$ brew update
Error:
homebrew-core is a shallow clone.
homebrew-cask is a shallow clone.
To brew update, first run:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
These commands may take a few minutes to run due to the large size of the repositories.
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in

エラーにこうしてね、ってコマンドがあるので、それに沿って下記のコマンドを実行

git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow

結構時間がかかりました。

再度

brew upgrade して終了

SAMを用いて、ローカルでAWS lambdaの開発をする

f:id:ababababa0222:20210312000123j:plain

やったこと

  • lambdaを使うプロジェクトにて、ローカル開発をしたかったので調べた
  • SAM(サーバーレスアプリケーションモデル)でいい感じにできるっぽかったので調べた

SAMのインストール(Mac OS)

  • 前提
    • AWS CLI, Git, Dockerをインストールしてあること
  • homebrewを用いてインストール
$ brew tap aws/tap
$ brew install aws-sam-cli
# インストールしたバリデーションが返却される
$ sam --version
SAM CLI, version 1.23.0

実行

  • samを用いてローカルのlambdaを起動する
# localのlambdaを起動する
$ sam local start-api

【AWS】複数環境でAWS CLIを使い分ける

  • 他のprofileを設定する
aws configure --profile hoge
  • 鍵とか聞かれるので入力する
$ aws configure --profile sample
AWS Access Key ID [None]: XXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
  • profileを指定して実行する
aws cmd --profile hoge

Flutterで画像を表示する

f:id:ababababa0222:20210328103419p:plain

Flutterで画像を表示する

flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # file指定でも、ディレクトリ指定でもいける。今回はディレクトリ指定にした
  assets:
    - images/
  • 以下みたいに呼べる
Image.asset('images/logo.png')

参考