Mac的环境设置
基本上是给自己使用的。可能对他人也有参考价值。
这是在进行全新安装时必须要做的事情。
最开始需要的东西
优化键盘等设备的使用体验。
Xcode可以原生地在中文环境下进行编程。
我会在AppStore上安装Xcode。
我同意使用该命令行工具并遵守相关许可证。
$ xcode-select --install
$ sudo xcodebuild -license accept
自制酿造
通过命令行安装。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
喜欢的设定
如果将自己使用的dotfile文件和通过Homebrew安装的东西存放在GitHub上进行管理,并通过运行Shell脚本,可以始终保持相同的环境,非常方便。
这个样子。
$ git clone https://github.com/ko2ic/dotfiles.git
$ cd dotfiles
$ ./dotfiles.sh
$ ./brewfile.sh
由于M1和Intel使用不同的路径,因此需要根据环境修改路径。
例如,
Intel处理器的vim安装路径是/usr/local/bin/vim。
M1处理器的vim安装路径是/opt/homebrew/opt/vim。
创建符号链接
$ sudo ln -s /opt/homebrew/opt/zplug /usr/local/bin/zplug
设置git
请根据个人需要自行更改命令。
$ git config --global user.name "ko2ic"
$ git config --global user.email ko2ic.dev@gmail.com
$ git config --global core.excludesfile ~/.gitignore
$ git config --global core.editor "/opt/homebrew/bin/vim" <- M1の場合
$ git config --global core.editor "/usr/local/bin/vim"
$ git config --global merge.tool vimdiff
SSH连接
$ ssh-keygen -t rsa -C ko2ic.dev@gmail.com
$ chmod 600 ~/.ssh/id_rsa
$ chmod 600 ~/.ssh/config
$ vim ~/.ssh/config
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
请事先更改权限
$ chmod 600 ~/.ssh/config
将以下结果粘贴到Github上
$ pbcopy < ~/.ssh/id_rsa.pub
GPG进行中文的本地化描述。
建议备份GPG的公钥和私钥,并使用它们进行操作是一个好主意。如果您尚未创建,请阅读其他文章进行创建。在这里,我们将假定您已经备份好了。
导入备份的密钥并进行确认。
$ gpg --import gpg-private.keys.backup
$ gpg --import gpg-public.keys.backup
$ gpg --import-ownertrust ownertrust.backup
$ gpg --list-secret-keys --keyid-format LONG
将GPG配置到git中。
$ git config --global user.signingkey <Key ID>
$ git config --global commit.gpgsign true
NeoBundle可以改写成「新包」。
我正在使用vim和它的插件。
在获取dot文件时,我有使用它们的设置。
$ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh
$ vim .
:NeoBundleInstall
图形用户界面
我会设置一下通过 brew 安装的应用程序的配置。
以下是Alfread的含义:
这是一个启动器。可以通过连续点击两次alt键来启动。
更好的触控工具 de
将Android Studio设置为可以通过滑动来实现“前进/后退”,就像Xcode一样。
Iterm2
使用Preference进行设置。
将背景变为透明。
为确保字体不变形并保持日语正常显示,将进行字体放大处理。
SDKMAN!(我大部分时间都在使用Java环境)
过去,我们直接安装SDK和相关工具,或者使用Homebrew。
现在,我们使用SDKMAN!
这是一个所谓的Java包管理器,类似于Ruby的rbenv。
简洁来说,可以执行以下操作。
-
- SDKやツールのバージョンを気楽に切り替えられます。
- gradleなどのツールのインストールを任せられます。
安装
和官方网站一致。
安装SDKMAN!
$ curl -s "https://get.sdkman.io" | bash
只要调用以下的bash_profile重写工具,就可以使用SDKMAN!了。
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ source ~/.bash_profile
安装Java及其相关工具。
你可以在下面找到可安装的工具。
不仅可以安装Gradle和Maven,还可以安装Scala、sbt、Kotlin、Groovy以及各种框架(如Spring Boot、Vert.x等)。
$ sdk list
Java软件开发工具包
例如,对于Java SDK的情况,您可以通过以下方式来确认可安装的Java版本。
$ sdk list java
================================================================================
Available Java Versions for macOS ARM 64bit
================================================================================
Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------
Zulu | | 17.0.2 | zulu | | 17.0.2-zulu
| | 17.0.2.fx | zulu | | 17.0.2.fx-zulu
| | 11.0.14 | zulu | | 11.0.14-zulu
| >>> | 8.0.322 | zulu | installed | 8.0.322-zulu
请使用以下步骤进行安装。
$ sdk install java 8.0.322-zulu
如果您安装了多个版本并且想要切换版本,请使用以下方法。
$ sdk default java 8.0.322-zulu
Gradle,Maven
不管怎样,这个我将其放进去。
$ sdk install gradle 3.4.1
$ sdk install maven 3.3.9
Spring Boot开发环境
作为示例,首先我们会在Kotlin中搭建Spring Boot的开发环境。然后我们会搭建Kotlin的Android开发环境。
创意集成开发环境 (IDE)
为了考虑进行Android开发,我会使用IDE工具 IntelliJ IDEA。
可以选择在Homebrew上安装,但最终还是通过IDE的更新功能进行更新,通常是从JetBrains官网下载/安装。
对于初次安装后的设置,可以根据个人喜好来进行,但就我个人而言,以下是我的偏好。
保留这个创建启动脚本。
默认的插件是
-
- Version Controlは、gitとgithubだけにする
-
- Testは、TestNGを解除する
- Swingは、Disableにする
为了提供更多广告曝光,Featured Plusings增加了一些额外的功能。
- IdeaVimをいれます
顺便提一下,卸载方法是这样的:
对于 IntelliJ IDEA 2016.3,请点击这里。
其他版本也可以在官方页面上找到相同的方法。
项目创建
如果是Ultimate版本,由于已经内置了Spring Initializr功能,所以使用它似乎是个不错的选择。(因为我没有使用过Ultimate版本,所以不太清楚)
不过,相对于Spring Initializr,使用Maven Archetype来创建可能更容易上手,所以我会选择这样做。
$ mvn archetype:generate
・・・
2324: remote -> org.springframework.boot:spring-boot-sample-actuator-archetype (Spring Boot Actuator Sample)
2325: remote -> org.springframework.boot:spring-boot-sample-actuator-log4j-archetype (Spring Boot Actuator Log4J Sample)
2326: remote -> org.springframework.boot:spring-boot-sample-actuator-noweb-archetype (Spring Boot Actuator Non-Web Sample)
2327: remote -> org.springframework.boot:spring-boot-sample-actuator-ui-archetype (Spring Boot Actuator UI Sample)
2328: remote -> org.springframework.boot:spring-boot-sample-amqp-archetype (Spring Boot AMQP Sample)
2329: remote -> org.springframework.boot:spring-boot-sample-aop-archetype (Spring Boot AOP Sample)
2330: remote -> org.springframework.boot:spring-boot-sample-batch-archetype (Spring Boot Batch Sample)
2331: remote -> org.springframework.boot:spring-boot-sample-data-jpa-archetype (Spring Boot Data JPA Sample)
2332: remote -> org.springframework.boot:spring-boot-sample-data-mongodb-archetype (Spring Boot Data MongoDB Sample)
2333: remote -> org.springframework.boot:spring-boot-sample-data-redis-archetype (Spring Boot Data Redis Sample)
2334: remote -> org.springframework.boot:spring-boot-sample-data-rest-archetype (Spring Boot Data REST Sample)
2335: remote -> org.springframework.boot:spring-boot-sample-integration-archetype (Spring Boot Integration Sample)
2336: remote -> org.springframework.boot:spring-boot-sample-jetty-archetype (Spring Boot Jetty Sample)
2337: remote -> org.springframework.boot:spring-boot-sample-profile-archetype (Spring Boot Profile Sample)
2338: remote -> org.springframework.boot:spring-boot-sample-secure-archetype (Spring Boot Security Sample)
2339: remote -> org.springframework.boot:spring-boot-sample-servlet-archetype (Spring Boot Servlet Sample)
2340: remote -> org.springframework.boot:spring-boot-sample-simple-archetype (Spring Boot Simple Sample)
2341: remote -> org.springframework.boot:spring-boot-sample-tomcat-archetype (Spring Boot Tomcat Sample)
2342: remote -> org.springframework.boot:spring-boot-sample-traditional-archetype (Spring Boot Traditional Sample)
2343: remote -> org.springframework.boot:spring-boot-sample-web-jsp-archetype (Spring Boot Web JSP Sample)
2344: remote -> org.springframework.boot:spring-boot-sample-web-method-security-archetype (Spring Boot Web Method Security Sample)
2345: remote -> org.springframework.boot:spring-boot-sample-web-secure-archetype (Spring Boot Web Secure Sample)
2346: remote -> org.springframework.boot:spring-boot-sample-web-static-archetype (Spring Boot Web Static Sample)
2347: remote -> org.springframework.boot:spring-boot-sample-web-ui-archetype (Spring Boot Web UI Sample)
2348: remote -> org.springframework.boot:spring-boot-sample-websocket-archetype (Spring Boot WebSocket Sample)
2349: remote -> org.springframework.boot:spring-boot-sample-xml-archetype (Spring Boot XML Sample)
・・・
在公式的spring-boot中,有上述的内容。
这次选择了1659的Spring Boot Jetty示例。
随便指定了以下内容。
groupId为ko2ic.spike
artifactId为spike-spring-boot-sample-jetty