TakayukiKoyama Geek Blog

Create, Entertain, Experience

【読書】 イラスト図解 社会人として必要な経済と政治のことが5時間でざっと学べる

目的

 本のレビューというか感想をメモしておく。

対象

きっかけ

  • 経済や政治を分かっているようで分かってなかった
  • 基本的な知識は抑えて、ちゃんと会話できるようにしておきたい

レビュー

基礎知識が身につくので一読して損はない。経済の部分で勉強になった内容の一例。

  • 景気動向指数は何なのか
  • 経済規模と経済成長率の関係
  • 紙幣は日銀の借用証書

などなど。日本のお金のどのように流通したり発行されたりしているのか頭でイメージできるようになってきたと思う。

DigDag と Embulk の環境構築

目的

 DigDagとEmbulk環境をローカルPCで動かしたい

環境構築

DigDag

$ curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-latest"
$ chmod +x ~/bin/digdag
$ echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
$ digdag server --memory

# 別ターミナル
$ digdag init test
$ cd test
$ digdag push test
参考

Digdag – Open Source Workflow Engine for the Multi-Cloud Era

Digdag UIの0.9系での変遷を調べてみた #digdag | DevelopersIO

Embulk

$ brew install embulk
$ embulk --version

Embulkについてまとめてみた 2017/08 - Qiita

aタグのページ内リンクでURLに # をつけない方法

目的

 aタグのページ内リンクをhrefに付けたときに、URLの後ろに # が付くのが嫌だったのでどうにかしたかった。

調べてみた

 javascriptでaタグにonclickつけるときにreturn falseもつける : 森のコーディング

 上記の記事によると、以下のような記述をすることで、hrefが無視されると記載されていた。

<a href="#" onclick="alert('出た!');return false;">いでよ!</a>

 ページ内リンクの移動もキャンセルされると困ると思いながら、alertメソッドは不要だったので以下のように書いてみた。

<a href="#" onclick="return false;">移動。#はいらない</a>

 期待通り動いた。知らなかった📝

GitのBranchを定期的にキレイにする方法

目的

 開発をしているとローカルにマージ済みのブランチが溜まってくる。 git branch とかしたときに多すぎて目的のブランチが見つかりにくくなったりする。

 そこで定期的にキレイになるcron処理を作ってみた。

前提

 環境:MacOSX

概要

 マージされたブランチを全て削除するシェルを作成して、夜間に cron が実行されるようにした。

 とはいえ、稀に夜中作業するかもしれないので、実行開始を osascript で mac の右上通知から通知させるようにした。

$ cat my_cron_day.sh
osascript -e 'display notification "start" with title "Git Branch Clean"'
cd /Users/< user name >/opt/< branch dir >
current_branch=`git rev-parse --abbrev-ref HEAD`
git stash
git checkout < branch (ex. develop) > && git branch --merged | grep -v '*' | xargs -I % git branch -d %
echo $current_branch
git checkout $current_branch
git stash pop

 < user name > / < branch dir > はお使いのgitディレクトリに適宜置き換えてください。

 < branch (ex. develop) > は普段マージしているブランチ名に置き換えてください。

$ crontab -e
00 03 * * * /Users/<user name>/my_cron_day.sh

参考:

【Git】Tips: マージ済みのブランチを一括で削除する | DevelopersIO

コマンドでMacの画面に通知ダイアログを出す - Qiita

iPhone画面サイズ一覧表が便利だった

目的

 iPhoneXや最近発売されたiPhoneXs/XsMaxのピクセル値を知りたかったので調べたら一覧表があったので、ここにメモしておく。

参考

 The Ultimate Guide To iPhone Resolutions

 ios - Detect if the device is iPhone X - Stack Overflow

【RailsGuide】Active Record の関連付け belongs_to の primary_key の用途

目的

 belongs_to の primary_key におけるマイグレーション設定が分からなかったのでメモする。

 分かってないこともまだまだ有るので、後で整理する。

Active Record の関連付け (アソシエーション) | Rails ガイド

class User < ApplicationRecord
  self.primary_key = 'guid' # 主キーが guid になります
end
 
class Todo < ApplicationRecord
  belongs_to :user, primary_key: 'guid'
end

マイグレーション

 id: false にすると、referencesのマイグレーションが通らないからidは必要。references(foreign_key ?)をすると関連付けがうまくいかないので、Todo側は t.integer で外部キーを作る。

# user
class CreateUsers < ActiveRecord::Migration[5.1]
  def change
    create_table :users do |t|
      t.integer :guid
      t.timestamps
    end
  end
end

# todo
class CreateTodos < ActiveRecord::Migration[5.1]
  def change
    create_table :todos do |t|
      t.integer 'user_id'
      t.timestamps
    end
  end
end

 t.integer :guidt.integer 'user_id't.string ... とすると文字列の主キーも作れる。

MacOSのHDD容量確保するための対策【Homebrew編】

目的

 最近、256GBのHDDで空き容量を確保するのに必死な日々から開放されるために一つ気づいたことがあるのでメモ。

気づいたこと

 いつも色々と開発をしていると、空き容量が10GB以下にまで追い詰められてOSのアップデートができなくて悩まされたりする。  通常、空き容量を増やすとなると、Cachesディレクトリを削除したり、アプリ開発だったら使わないOSバージョンSDKやシミュレーターの削除、画像や動画の削除、使わないアプリケーションを削除したりするが、今までやっていないことがあった。  特に真新しいことはなく、やっている人は結構いると思うが、Homebrewに入っているformulaの古いバージョンを削除することだ。

手順

 以下の方法で、あるformula(例えば、git)が複数バージョンをインストールしている場合、古いバージョンをきれいに削除してくれる。

$ brew cleanup [Formula]

参考:Homebrewで不要なversionを削除 | technote

 formulaの確認方法は以下のコマンドで可能だ。

$ brew info [Formula]

 ただ、複数バージョンがインストールされているformulaを探すのは、コマンドよりもFinderアプリケーションで下記のパスを開いたほうが簡単だと思う。

/usr/local/Celler/<各formula>