Help us understand the problem. What is going on with this article?

Macの開発環境構築メモ

More than 3 years have passed since last update.

自分用メモ。ばうわう。

Xcode

ビルド時間を表示

$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

マルチスレッド実行

$ defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

Pods等、フレームワークのビルドをスキップ
Product -> Scheme -> Edit Scheme -> Buid -> Find Implict Dependenciesのチェックを外す

dSYMファイルを生成しない
Build Settings -> Build Options -> Debug Information Format -> DWARF

OS X

マウスの戻る・進むキーバインド
⌘+[と⌘+]。これでFinderも戻れる。

iCloudのメモの同期
iTunesの『設定』からできる

Dockのスタックの表示をハイライト

$ defaults write com.apple.dock mouse-over-hilite-stack -boolean YES
$ killall Dock

スクリーンキャプチャの影を無くす

$ defaults write com.apple.screencapture disable-shadow -boolean true
$ killall SystemUIServer

CD/DVDの強制イジェクト

$ drutil eject

ネットワークドライブに.DSファイルを作らない

$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true

通知センターを無効に

$ launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist

常にVerboseモードで起動

$ sudo nvram boot-args="-v"

bash

~/.bash_profile
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
~/.bashrc
source $HOME/.git-completion.bash
source $HOME/.git-prompt.sh

GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWUPSTREAM=1
GIT_PS1_SHOWUNTRACKEDFILES=1
GIT_PS1_SHOWSTASHSTATE=1

export PS1='\[\033[1;32m\]\u\[\033[00m\]:\[\033[1;34m\]\w\[\033[1;31m\]$(__git_ps1)\[\033[00m\]\n\$ '

alias tree="tree -C"

function bundle_exec() {
  bundle exec  $@;
}
alias be=bundle_exec

function cdls() {
  \cd $1; 
  ls; 
}
alias cd=cdls

alias gitgraph='git log --graph --branches --pretty=format:"%d [%h] \"%s\""'

export LSCOLORS=gxfxcxdxbxegedabagacad

less

$ brew install source-highlight
~/.bashrc
export LESS='-R'
export LESSOPEN='| /usr/local/bin/src-hilite-lesspipe.sh %s'

Vim

 $ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh > install.sh
 $ sh ./install.sh

表示されたconfigを~/.vimrcへペースト。

$ git clone https://github.com/tomasr/molokai
$ git clone https://github.com/jpo/vim-railscasts-theme
$ cp molokai/colors/molokai.vim ~/.vim/colors/
$ cp vim-railscasts-theme/colors/railscasts.vim ~/.vim/colors/

最低限こんな感じで。

.vimrc
syntax on
colorscheme railscasts

set number
set tabstop=2 shiftwidth=2 softtabstop=0
set expandtab
set autoindent smartindent
set whichwrap=b,s,h,s,<,>,[,]
set wrapscan
set nowrap
set listchars=tab:>\

au BufNewFile,BufRead *.rb,*.rake,Gemfile,Guardfile,Rakefile,*.jbuilder  nnoremap<C-c> :!ruby -c % && bundle exec rubocop %<Enter>
nnoremap <silent><C-n> :NERDTreeToggle<CR>

augroup WritePre *
  autocmd!
  autocmd BufWritePre, *.rb,*.rake,Gemfile,Guardfile,Rakefile,*.jbuilder, :%s/\s\+$//ge
  autocmd BufWritePre, *.rb,*.rake,Gemfile,Guardfile,Rakefile,*.jbuilder, :%s/ \+$//ge
augroup END

hi ZenkakuSpace gui=underline guibg=DarkBlue cterm=underline ctermfg=LightBlue
match ZenkakuSpace / /

set runtimepath^=~/.vim/bundle/neobundle.vim/
call neobundle#begin(expand('~/.vim/bundle/'))

NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'scrooloose/nerdtree'

call neobundle#end()
filetype plugin indent on
NeoBundleCheck

MySQL 5.7

設定ファイルのひな形をコピーして編集

$ cp /usr/local/Cellar/mysql/5.7.12/support-files/my-default.cnf /usr/local/etc/my.cnf
$ sudo chown -R ユーザー名:admin /usr/local/var/mysql
/usr/local/etc/my.cnf
[mysqld]
character-set-server = utf8mb4
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[server]
character-set-server = utf8mb4

[client]
default-character-set = utf8mb4

現在の文字コードの確認

mysql> SHOW VARIABLES LIKE "chara%";

rootのパスワード設定とユーザーアカウントの追加

mysql> SET PASSWORD FOR root@localhost=PASSWORD('root-password');
mysql> GRANT ALL PRIVILEGES ON *.* TO foo@localhost IDENTIFIED BY 'user-password' WITH GRANT OPTION;

git/github

$ brew install git
$ ssh-keygen -t rsa -C foo@example.com
$ ssh-add
$ chmod 600 ~/.ssh/id_rsa*
~/.ssh/config
Host github
    HostName github.com
    IdentityFile ~/.ssh/id_rsa
    User git 
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.st status
$ git config --global alias.br branch

$ git config --global user.email foo@example.com
$ git config --global user.name bar
$ git config --global credential.helper osxkeychain
$ git config --global --list
$ git config --global alias.hist 'log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short'

two-factor authentication有効後は、git push時にGithubのPersonal access tokensをパスワードとして入力する。

Ruby

rbenvでRubyのインストール

$ brew install rbenv
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ source ~/.bash_profile

$ rbenv install --list
$ rbenv install -v 2.3.1
$ rbenv global 2.3.1

Gemのインストール

$ gem query -ra -n  "^<gem名>$"
# -i, -​-[no-]installed - インストール済みかどうかを指定
# -v, -​-version VERSION - バージョン指定
# -n, -​-name-matches REGEXP - 正規表現を指定
# -a, -​-all - すべてのgemバージョンを表示
# -r, -​-remote - リモートのgemを指定
# -b, -​-both - ローカルとリモートの両方を指定

$ gem install bundler
$ bundle init
$ vim Gemfile
Gemfile
 gem "rails" # とか必要なものを適宜追加
#初回のみpath指定。次回以降は.bundle/configに記録されているので不要
$ bundle install --path vendor/bundle

# test unitなし、bundle installなし、sprocketsなし、JSなし、DBはmysql
$ bundle exec rails new foo -TBSJ --database=mysql

# gemアップデート(非推奨。全て最新になるので、何が起きるか分からん)
$ bundle update

# gemアップデート(こちらを推奨。必要なgemだけ指定して個別でアップデートする)
$ bundle update gem名
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away