eaglesakuraの技術ブログ

技術的な話題とか、メモとか。

モバイル / サーバーサイドエンジニアの開発環境のセットアップ 2018 Q2

ハードウェア

環境の使い分け

MSI Trident3(2018)

  • BIOSはDELキーで起動する
  • デュアルブートする場合、UEFIから Windows Fast Bootモード をOFFにする
    • デフォルトだとWindowsが起動するか、Legacy側からブートを行ってくれない

Windows環境

  • Windows10 ISOを取得してインストール
    • 必要に応じてライセンス入力
      • Pro版のほうが良い
    • Windows Update
  • 環境構築

タスクバーを整理

  • 不要なショートカットを削除

デスクトップに コンピュータ を表示させる

  • 個人設定 > テーマ > デスクトップアイコンの設定

高速スタートアップを無効化

  • デュアルブートであらゆる面で問題が出る
  • 一部、古いPCでもコレに起因する不具合が多発する
    • そもそも電源が切れない、とか

WinRarインストール

  • アクティベート

壁紙スライドショー設定

Cygwinインストール

  • package
    • git, zip, unzip, vim
  • git-completionセットアップ
  • PS1セットアップ
  • apt-cygセットアップ
    • install bash-completion
  • 公開鍵作成

ConEmuインストール

  • General >
    • Background
      • 好みに応じて
  • Startup >
    • Startup options
    • Tasks >
      • 追加 {Cygwin:Bash}
        • set CHERE_INVOKING=1 & %ConEmuDrive%\cygwin\bin\bash.exe --login -i -new_console:m:/cygdrive -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
        • /dir "C:\cygwin\work" のように設定しておくと、特定ディレクトリにcdした状態で開始できる
      • batを実行したい場合
        • cmd.exe /k "C:\Path\To\Batch.bat"
    • Keys&Macro >
      • Close current tab
        • Ctrl + W
      • Win + S ショートカットを削除

Hyper-V有効化

Visual Studioインストール

LockHunter

  • Windowsシステムの謎ロックを強制解除

MonoSnap

Ubuntu環境

  • Ubuntu 18.04 LTSインストール

apt upgrade

IMEショートカット指定

Homeディレクトリ名を日本語化

nautilus設定

  • 設定 > 動作 >
    • 実行可能なテキストファイル : 確認する
  • Ctrl + Hキー
    • 隠しファイルが表示される

Gnome Tweakインストール

Gnomeテーマ設定

ターミナル設定

  • 背景色設定(気分と好みで)
  • ショートカット
    • ファイル >
      • 新しいタブ : Ctrl + T
      • 新しいウィンドウ : Shift + Ctrl + T
      • タブを閉じる : Ctrl + W
      • Windowを閉じる : 無効
    • タブ >
      • 前のタブ : Ctrl + {
      • 次のタブ : Ctrl + }
  • .bashrc
    • ターミナルの配色調整と、ブランチ名を後ろにつける
    • LD_LIBRARY_PATHを追加
# 参考
# git-PS1
export PS1='\[\e]0;\w\a\]\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]$(__git_ps1) \$ '
export LS_COLORS="di=01;35"
alias ls="ls --color=auto"
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Xamarin.Androidインストール

  • monoインストール
# 参考
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/mono-official.list
sudo apt update
sudo apt install -y mono-complete mono-devel nuget libzip-dev

アプリ共通

Chromeインストール

  • アカウントログイン

Google Driveインストール

Atomインストール

DropBoxインストール

  • Windows / Mac / Ubuntuで公式クライアントが配布されている
  • キビキビ同期してくれる
  • ストレージ容量は少ない or 高額

docker.io

Slack

  • マーケット系からダウンロードすると正常動作しない場合がある
  • Windows
  • Ubuntu

JDK

sudo apt install -y openjdk-8-jdk
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"

Ricty Fontインストール

git初期設定

  • git config --global
    • user.email {email}
    • user.name {name}
    • core.filemode false
      • 実行権限は複数OSを使うと管理が複雑になるので可能な限りローカルで任せておく
    • core.autoCRLF false
      • やり忘れると*.csファイルとかで痛い目をみる
    • core.editor "vi"
      • 標準Editorがvi以外の場合がある
  • git-flow導入
  • git-flow-hook導入

Android SDKセットアップ

  • 環境変数設定
    • ANDROID_HOME
    • ANDROID_NDK_HOME
      • ndk-bundle
    • PATH追加
      • $ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/ndk-bundle:$PATH
  • SDK更新
yes | sdkmanager "platform-tools"
yes | sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}"
yes | sdkmanager "platforms;android-${ANDROID_TARGET_SDK_VERSION}"
yes | sdkmanager "extras;android;m2repository"
yes | sdkmanager "extras;google;google_play_services"
yes | sdkmanager "extras;google;m2repository"
yes | sdkmanager "ndk-bundle"
yes | sdkmanager --channel=$ANDROID_TOOLS_CHANNEL --update
alias adb-reset="sudo `which adb` kill-server;sudo `which adb` start-server"
alias bundletool="java -jar /path/to/bundletool.jar"

Android Studioセットアップ

  • フォント設定
    • ディスプレイに合わせてサイズ調整
  • Build > Compiler
  • -PdevBuild -Dorg.gradle.caching=true
  • 並列ビルド有効化

Jetbrains Toolbox

node.js

NODEJS_VERSION=8.11.1
sudo apt install --fix-missing -y nodejs npm
npm cache clean
npm install n -g
n $NODEJS_VERSION
sudo ln -sf /usr/local/bin/node /usr/bin/node
sudo apt purge -y nodejs npm
  • Firebase
    • npm install -g firebase-tools

Unity3D

[Desktop Entry]
Name=Unity2018.1.3f
GenericName=File Synchronizer
Exec=/home/eaglesakura/tools/unity-2018.1.3f/Editor/Unity
Terminal=false
Type=Application
Icon=/home/eaglesakura/tools/unity-2018.1.3f/icon.png
Categories=Development;Unity;IDE;
StartupNotify=false
Name[ja_JP]=launcher.desktop
  • Android NDK
    • NDKは適切なバージョンを落としておく(ndk-bundleは使わない)
    • Unityは概ね少し古いNDKを使用する
    • アーカイブ

Golang

  • GAE/Goバージョンに合わせておくと、仕事的に良い
  • 環境変数設定
    • PATH
    • GOROOT
    • GOPATH
      • $GOPATH/bin をPATHにも追加する

glcoud sdk

  • Windows
    • gcloud.cmd gsutil.cmd をそれぞれ gcloud gsutil にaliasするとcygwinで使いやすい
  • Ubuntu
  • components install
    • app-engine-go
    • その他必要に応じて
  • 環境変数設定
    • APPENGINE_DEV_APPSERVER
      • path/to/google-cloud-sdk/platform/google_appengine/dev_appserver.py
      • 実行権限を付与したければ
for py in `find google-cloud-sdk/platform/google_appengine -name "*.py"`; do chmod +x $py; done

ImageMagick

apt install -y libwebp-dev libx11-dev libxext-dev zlib1g-dev libpng-dev libjpeg-dev libfreetype6-dev libxml2-dev libgif-dev libbz2-dev build-essential  checkinstall
cd path/to/imagemagick/sources/
./configure --with-webp=yes --with-png=yes --with-jpeg=yes --with-zlib=yes --with-bzlib=yes
make
sudo make install