分类目录归档:工具

Mac开发环境配置

Mac开发配置

System Preferences

 > 关于本机 > 软件更新

触控板

  •  > 系统偏好设置 > 触控板
    • 光标与点击
      • ✓ 查询与数据监测器 > 用一个手指用力点按
      • ✓ 辅助点按 > 用两个手指点按或轻点
      • ✓ 轻拍来点按
      • ✓ 静默点按(声音变小)
      • ✓ 用力点按和触觉反馈
    • 滚动缩放
      • ✓ 默认全选
    • 更多手势
      • ✓ 默认全选
  •  > 系统偏好设置 > 辅助功能
    启用三指拖移

  •  > 系统偏好设置 > 键盘 > 快捷键
    打开所有控制

Dock

  •  > 系统偏好设置 > Dock
    • ✓ 将窗口最最小化为应用程序图标
    • ✓ 自动显示和隐藏 Dock

Finder

  • Finder > 显示

    • 显示标签页栏
    • 显示路径栏
    • 显示状态栏
  • Finder > 偏好设置
    • 通用
      • 开启新 Finder 窗口时打开:HOME「用户名」目录
    • 边栏
      • 添加 HOME「用户名」目录 和 创建代码文件目录
      • 将 共享的(shared) 和 标记(tags) 目录去掉

Show/Hide Hidden Files the Long Way

  1. Open Terminal found in Finder > Applications > Utilities
  2. In Terminal, paste the following: defaults write com.apple.finder AppleShowAllFiles YES
  3. Press return
  4. Hold the ‘Option/alt’ key, then right click on the Finder icon in the dock and click Relaunch.

quicklook plugins

// run after brew cask installed
brew cask install qlcolorcode
brew cask install qlstephen
brew cask install qlmarkdown
brew cask install quicklook-json
brew cask install qlprettypatch
brew cask install quicklook-csv
brew cask install betterzipql
brew cask install webpquicklook
brew cask install suspicious-package

Scroll Reverser

当你在浏览一个很长的网页时,你看完了当前显示的内容,想要看后续的内容,你可以在 Trackpad 上双指上滑,或者鼠标滚轮向上滚动。这是被称作“自然”的滚动方向。
然而在 Windows 里鼠标滚动的行为是相反的:鼠标滚轮向下滚动才会让浏览器显示后续的内容,向上滚动会达到页面的顶部。你可以在 OS X 的系统偏好设置里修改(选择System Preferences >Trackpad,在Scroll & Zoom标签页中不选中Scroll direction: natural),但是这样会同时改变鼠标滚轮的方向和 Trackpad 的方向。
要想只改变鼠标滚轮的方向,而保持 Trackpad 依旧是“自然”的,我们需要 Scroll Reverser:
brew cask install scroll-reverser

vim配置

vi ~/.vimrc

color desert "颜色设置
syntax on "语法高亮
set number "自动显示行号
set cursorline "突出显示当前行
set ts=4 "设置tab长度为4
set shiftwidth=4 "设定 << 和 >> 命令移动时的宽度为 4

Homebrew

  • Homebrew : package manager for macOS
    包管理工具,官方称之为The missing package manager for OS X。
    安装步骤:先打开 Terminal 应用,输入:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    有了 brew 以后,要下载工具,比如 MySQL、Gradle、Maven、Node.js 等工具,就不需要去网上下载了,只要一行命令就能搞定:
    brew install mysql gradle maven node

  • Homebrew-Cask
    brew-cask 允许你使用命令行安装 OS X 应用。比如你可以这样安装 Chrome:brew cask install google-chrome。还有 Evernote、Skype、Sublime Text、VirtualBox 等都可以用 brew-cask 安装。
    安装:
    brew tap caskroom/cask

iterm2

iTerm2 是最常用的终端应用,是 Terminal 应用的替代品。提供了诸如Split Panes等一群实用特性。

安装:
brew cask install iterm2

Git

XCode会安装git,无需单独安装。

  • SourceTree
    SourceTree 是 Atlassian 公司出品的一款优秀的 Git 图形化客户端。如果你发现命令行无法满足你的要求,可以试试 SourceTree。
    安装:
    brew cask install sourcetree
    用 brew-cask 安装会自动增加命令行工具stree到$PATH里。在命令行中输入stree可以快速用 SourceTree 打开当前 Git 仓库。详细用法请参见stree –help。

Text Editors

  • Sublime Text
    brew cask install sublime-text

  • Visual Studio Code
    brew cask install visual-studio-code

Softwares

  • Browsers

    • Chrome
      brew cask install google-chrome

  • dropbox
    brew cask install dropbox

  • postman
    brew cask install postman

  • teamviewer
    brew cask install teamviewer

  • shadowsocksx-ng
    brew cask install shadowsocksx-ng

  • Alfred
    brew cask install alfred

  • BetterSnapTool
    https://itunes.apple.com/cn/app/bettersnaptool/id417375580?mt=12

  • Go2Shell
    https://itunes.apple.com/cn/app/go2shell/id445770608?mt=12
    brew cask install go2shell

  • Sip : Color picker
    brew cask install sip

  • Snip
    https://itunes.apple.com/cn/app/snip/id512505421?mt=12
    brew cask install snip

  • The Unarchiver
    https://itunes.apple.com/cn/app/the-unarchiver/id425424353?mt=12
    brew cask install the-unarchiver

NodeJS

brew install nodejs
NodeJS Packages

  • n : Node version management
    npm install -g n

  • change nodejs to LTS version

    mkdir /usr/local/n
    sudo mkdir /usr/local/n
    sudo chown -R $(whoami) /usr/local/n
    n lts
    

Java

  • install java 8 instead of java 9
    brew tap caskroom/versions
    brew cask install java8
    
  • Maven
    brew install maven

IDE

  • XCode
    https://itunes.apple.com/cn/app/xcode/id497799835?mt=12

    • CocoaPods
      sudo gem install cocoapods

  • Android Studio
    brew cask install android-studio

  • IntelliJ Idea
    brew cask install intellij-idea

  • WebStorm

    brew cask install webstorm

git remote url 从https到ssh,从ssh到https

git remote set-url 命令可以改变一个代码库的url.
git remote set-url 命令可以接受两个参数:
The git remote set-url command takes two arguments:

  • 一个远程名字,比如: origin
  • 远程的url,比如
    • https://github.com/USERNAME/REPOSITORY_2.git 如果你想改为使用 HTTPS
    • git@github.com:USER/REPOSITORY_2.git 如果你想改为使用SSH

远端url从ssh改成https

  1. 打开终端 (Mac 和 Linux) 或者命令行 (Windows).
  2. cd到你的目录里.
  3. 显示现在的远程url.
    git remote -v
    origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
    origin  git@github.com:USERNAME/REPOSITORY.git (push)
    
  4. 使用remote set-url 命令切换url.
    git remote set-url origin https://github.com/USERNAME/REPOSITORY_2.git
    
  5. 验证一下是不是已经改变.
    git remote -v
    origin  https://github.com/USERNAME/REPOSITORY2.git (fetch)
    origin  https://github.com/USERNAME/REPOSITORY2.git (push)
    

    下一次你使用 git fetch, git pull, 或者 git push 命令的时候,会提示你输入用户名和密码。

Switching remote URLs from HTTPS to SSH

  1. 打开终端 (Mac 和 Linux) 或者命令行 (Windows).
  2. cd到你的目录里.
  3. 显示现在的远程url.

    git remote -v
    origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
    origin  https://github.com/USERNAME/REPOSITORY.git (push)
    
  4. 使用remote set-url 命令切换url.
    git remote set-url origin git@github.com:USERNAME/REPOSITORY2.git
    
  5. 验证一下是不是已经改变.
    git remote -v
    origin  git@github.com:USERNAME/REPOSITORY2.git (fetch)
    origin  git@github.com:USERNAME/REPOSITORY2.git (push)
    

Git 设置代理

可以使用命令行设置,也可以通过配置文件设置。

使用命令行

设置代理

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
git config --global https.proxy https://proxyuser:proxypwd@proxy.server.com:8080
  • proxyuser 是你代理服务器的用户名
  • proxypwd 是你代理服务器用户名的密码
  • proxy.server.com 是你代理服务器的地址,直接写ip也可以
  • 8080 代理服务器的端口

删除代理

git config --global --unset http.proxy
git config --global --unset https.proxy

使用配置文件

在你的用户的根目录下,有个文件.gitconfig,可以通过更改这个文件来设置代理
增加以下代码:

[http]
    proxy = http://username:password@proxy.at.your.org:8080

mac

mac.gitconfig

ubuntu

ubuntu.gitconfig

windows

image 1420765034

使用git在多台机器上同步sublime text的设置和插件

package文件夹位置

windows: C:\Users\[YourName]\AppData\Roaming\Sublime Text 3\Packages
mac: /Library/Application\ Support/Sublime\ Text\ 3/Packages/
linux:

有些文件/文件夹不需要同步,加入到.gitignore

Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/

在第一台电脑上

cd [package folder]/User/
git init
git add
git commit -m "Initial"
git remote add origin [your git repo]
git push origin master

这样就可以在其他电脑上clone这个repo了

cd [package folder]
mv User User.old
git clone [your git repo] User

如果设置有了改变,再同步到repo里

cd [package folder]/User
git add -A
git commit -m "Update settings"
git push

在其他电脑上同步

cd [package folder]/User
git pull

"git add -A" 和 "git add ." 的区别

git add -A” 相当于 “git add .; git add -u“.
git add .“虽然看起来像是把目录下所有文件都添加,但是其实并没有,它只会添加新建和更改过的文件。
git add -u” 中-u代表的是update,只会记录已有文件的update,不会记录新建的文件。
git add -A” 可以做上面两件事的.
你可以按照下面的命令去测试这些区别:

git init
echo Change me > change-me
echo Delete me > delete-me
git add change-me delete-me
git commit -m initial
echo OK >> change-me
rm delete-me
echo Add me > add-me
git status
# Changed but not updated:
#   modified:   change-me
#   deleted:    delete-me
# Untracked files:
#   add-me
git add .
git status
# Changes to be committed:
#   new file:   add-me
#   modified:   change-me
# Changed but not updated:
#   deleted:    delete-me
git reset
git add -u
git status
# Changes to be committed:
#   modified:   change-me
#   deleted:    delete-me
# Untracked files:
#   add-me
git reset
git add -A
git status
# Changes to be committed:
#   new file:   add-me
#   modified:   change-me
#   deleted:    delete-me

总结:

  • git add -A?添加所有
  • git add .?添加新文件和修改的文件,?不包括删除的
  • git add -u?添加修改和和删除的文件,?不包括新增的

Create a Personal VPN Server with Amazon EC2 Cloud


# sudo apt-get install pptpd
# sudo vi /etc/pptpd.conf : uncomnt remote put on local put private IP > local
# sudo vi /etc/ppp/pptpd-options : uncomnt ms-dns add google
# sudo vi /etc/sysctl.conf : uncomnt net.ipv4.ip_forward=1
# sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# sudo vi /etc/rc.local : paste iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# sudo vi /etc/ppp/chap-secrets

How to read VOD files from Amazon S3 on Standalone Wowza Server

From http://www.wmconsulting.info/read-vod-files-amazon-s3-standalone-wowza-server/
 
I’ll explain how to is possible read the files from Amazon S3 Storage but without using a EC2 instance.
For example your “localhost” or your Standalone Wowza server running on your own datacenter.
I did this for working on my local development environment, I’ll describe the steps for a Linux environment.
1- Download from this URL the 2 Jars, and copy this in /lib directories.
[download id=”5″]
[download id=”6″]
2- Create the MediaCache folder:

mkdir /mnt/mediacache

3- Insert into the conf/Server.xml this lines:

<ServerListeners>
<ServerListener>
<BaseClass>com.wowza.wms.plugin.amazonaws.ec2.mediacache.MediaCacheServerListenerAmazonEC2</BaseClass>
</ServerListener>
</ServerListeners>

4- Insert into the conf/vods3/Application.xml (create this first) this lines:

<MediaReader>
<Properties>
<Property>
<Name>randomAccessReaderClass</Name>
<Value>com.wowza.wms.plugin.amazonaws.ec2.mediacache.MediaCacheRandomAccessReaderAmazonEC2</Value>
</Property>
<Property>
<Name>bufferSeekIO</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
</Properties>
</MediaReader>

And in the end of the file, add this properties (I don’t know is needed this for read Public content):

<Properties>
<!-- Set these two properties to do S3 authentication -->
<Property>
<Name>awsAccessKeyId</Name>
<Value>KEY</Value>
</Property>
<Property>
<Name>awsSecretAccessKey</Name>
<Value>KEY</Value>
</Property>
</Properties>

5- Restart the Wowza Server and try reading from S3 Bucket.
The URL can be like this:
rtmp://localhost/vods3/_definst_/mp4:amazons3/wmconsulting.content/Extremists.m4v