Fork me on GitHub
行锋

低头走路,抬头思考


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

UML类图大全

发表于 2018-12-19 | 分类于 工具

http://www.cnblogs.com/riky/archive/2007/04/07/704298.html

UML类关系图小结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

  1. 泛化(Generalization)
    【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:PLC是设备的一种,即既有设备的属性,也有PLC的特性。
    【箭头指向】:带三角箭头的实线,箭头指向父类
  2. 实现(Realization)
    【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
    【箭头指向】:带三角箭头的虚线,箭头指向接口
  3. 关联(Association)
    【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
    【代码体现】:成员变量
    【箭头及指向】:带普通箭头的实心线,指向被拥有者
  4. 聚合(Aggregation)
    【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
    聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
    【代码体现】:成员变量
    【箭头及指向】:带空心菱形的实心线,菱形指向整体
  5. 组合(Composition)
    【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
    组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
    【代码体现】:成员变量
    【箭头及指向】:带实心菱形的实线,菱形指向整体
  6. 依赖(Dependency)
    【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
    【代码表现】:局部变量、方法的参数或者对静态方法的调用
    【箭头及指向】:带箭头的虚线,指向被使用者

各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图,比较形象地展示了各种类图关系:

image

gitbook使用

发表于 2018-12-19 | 分类于 工具

https://my.oschina.net/huangyong/blog/372491

http://www.widuu.com/chinese_docker/userguide/dockerhub.html gitbook教程

简介及安装

Gitbook是一个开源的跨平台电子书解决方案。通过Gitbook,可以使用Markdown或者AsciiDoc来编写电子书,然后生成静态网页电子书,pdf,mobi,epub格式

在使用GitBook 之前, 我们需要先安装一些必须的工具,Node.js、GitBook、GitBook Editor、Git版本控制器

  • 静态站点:GitBook默认输出该种格式
  • PDF:需要安装gitbook-pdf依赖
  • eBook:需要安装ebook-convert

itBook官方客户端编辑器,支持Win、Linux、Mac系统

https://www.gitbook.com/

在线网站,提供在线编写工具,有客户端,免费版本文章默认公开

安装:

  • npm install -g gitbook-cli //想在系统上的任何地方的gitbook命令,需要安装“gitbook CLI”
  • npm install gitbook -g
  • gitbook -V

使用gitbook

创建项目

本地命令创建

  • mkdir MyFirstBook
  • cd MyFirstBook
  • gitbook init

https://www.gitbook.com/ 创建在线版本,即托管到 GitBook.com
账号:github登陆(chetaofeng@163.com)

生成图书

输出为静态网站

在自己的电脑上编辑好图书之后,可以使用Gitbook
的命令行进行本地预览:

  • gitbook build //生成网站,此命令会生成_book目录,而这个目录中的文件,即是生成的静态网站内容
  • gitbook serve //启动服务
  • http://localhost:4000
  • gitbook build --output=/tmp/gitbook //需自己创建好目标目录

输出PDF

  • npm install gitbook-pdf -g //依赖
  • gitbook pdf【路径/文件名.pdf】

输出电子书mobi

由于 GitBook 生成 mobi 格式电子书依赖 Calibre 的 ebook-convert,所以需下载安装 Calibre

Calibre 安装完毕后,对于 Mac OS X 系统,还需要先设置一下软链接:

1
ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin
  • gitbook mobi【路径/文件名.mobi】

编辑内容

README.md

此文件是简单的电子书介绍,可以把所制作的电子书做一下简单的描述

SUMMARY.md

此为电子书的导航目录文件,每当新增一个章节文件就需要向此文件中添加一条记录。对于 Kindle 电子书来说,此文件所呈现的目录结构就是开头的目录内容和“前往”的目录导航

如果需要“子章节”可以使用 Tab 缩进来实现(最多支持三级标题),如下所示:

1
2
3
4
5
6
7
# Summary

* [第一章](section1/README.md)
* [第一节](section1/example1.md)
* [第二节](section1/example2.md)
* [第二章](section2/README.md)
* [第一节](section2/example1.md)

Glossary.md

对于电子书内容中需要解释的词汇可在此文件中定义。词汇表会被放在电子书末尾。其格式如下所示:

1
2
# 电子书
电子书是指将文字、图片、声音、影像等讯息内容数字化的出版物和植入或下载数字化文字、图片、声音、影像等讯息内容的集存储和显示终端于一体的手持阅读器。

book.json

“book.json”是电子书的配置文件,可以看作是电子书的“原数据”,比如 title、description、isbn、language、direction、styles 等,更多:https://toolchain.gitbook.com/

普通章节.md 文件

每编写一个 .md 文件,不要忘了在“SUMMARY.md”文件中添加一条记录

电子书封面图片

GitBook 帮助文档建议封面图片的尺寸为 1800*2360 像素并且遵循建议:

  • 没有边框
  • 清晰可见的书本标题
  • 任何重要的文字在小版本中应该可见
  • 图片的格式为 jpg 格式

把图片重命名为“cover.jpg”放到电子书项目文件夹即可

高级功能

想要gitBook更美观,或者更符合我们自己的需求,则通过book.json配置进行自定义、以及安装一些常用的插件等

Book.json配置

GitBook 在编译书籍的时候会读取书籍源码顶层目录中的 book.js 或者 book.json。参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{

//样式风格配置格式
"styles": {
"website": "styles/website.css",
"ebook": "styles/ebook.css",
"pdf": "styles/pdf.css",
"mobi": "styles/mobi.css",
"epub": "styles/epub.css"
},

//插件安装配置格式

"plugins": ["myplugin"],
"pluginsConfig": {
"myPlugin": {
"message": "Hello World"
}
}
}

自定义插件扩展

插件是扩展GitBook功能最好的方法。使得GitBook功能更加强大

  • 插件搜索:https://plugins.gitbook.com/
  • 插件安装:npm install 【gitbook-plugin-toggle-chapters】 --save-dev
  • 通过Book.json配置插件
1
2
3
4
5
6
"plugins": ["toggle-chapters"],
"pluginsConfig": {
"myPlugin": {
"message": "Hello World"
}
}
  • 常用插件:http://zhaoda.net/2015/11/09/gitbook-plugins/

Android的离线打包

通过Gitbook,将电子书打包成静态网站。再将静态网站放到Android APP的assets目录下,作为离线网站,打包成一个离线电子书应用(Android APP)

  1. 按照Gitbook规范,编写gitbook电子书
  2. 通过Gitbook,将电子书打包成静态网站
  3. 使用git将工程gitbook-android克隆下来,https://github.com/snowdream/gitbook-android?spm=5176.100239.blogcont31432.7.rKGSpR
  4. 将静态网站放在gitbook-android工程的assets/book目录下
  5. 在“gitbook-android\app\src\main\res\values\strings.xml”中修改app_name
  6. 在“gitbook-android\app\build.gradle”中修改包名 applicationId “com.github.snowdream.apps.gitbook”
  7. 新增以下四个keystore相关的环境变量,用于APK签名. KEYSTORE KEYSTORE_PASSWORD KEY_ALIAS KEY_PASSWORD
  8. 在gitbook-android工程目录下,运行gradle assembleRelease --info即可。

postman

发表于 2018-12-19 | 分类于 工具

https://www.cnblogs.com/haoduoyu/p/5864775.html
插件网
http://www.cnplugins.com/tool/specify-postman-methods.html
http://www.cnplugins.com/tool/specify-postman-methods.html
https://www.cnblogs.com/s380774061/p/4624326.html 推荐
https://blog.csdn.net/five3/article/details/53021084 推荐
https://blog.csdn.net/u013613428/article/details/51557804 推荐
https://blog.csdn.net/xiaosongbk/article/details/52801207 token问题
https://blog.csdn.net/u011320646/article/details/77141876 token问题

http://www.graphicsmagick.org/
http://baijiahao.baidu.com/s?id=1574259218782197&wfr=spider&for=pc

https://github.com/dmytrodanylyk/folding-plugin

面试题

发表于 2018-12-19 | 分类于 工具

java多线程并发原理

https://baijiahao.baidu.com/s?id=1611283938372470841&wfr=spider&for=pc
https://www.cnblogs.com/lyz0925/p/6734839.html

HashMap实现原理及源码分析

https://www.cnblogs.com/chengxiao/p/6059914.html

java并发编程

JVM实现synchronized的底层机制

https://www.cnblogs.com/xujian2014/p/5354340.html

闭锁

https://www.cnblogs.com/xujian2014/p/5359684.html

https://blog.csdn.net/yujin753/article/details/46125283

栅栏

https://blog.csdn.net/u012572955/article/details/54971072

  • 栅栏类似于闭锁,它能阻塞一组线程直到某个事件发生。
  • 栅栏与闭锁的关键区别在于,所有线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程,且能够重复执行

关卡

https://www.cnblogs.com/xujian2014/p/5363759.html

信号量

https://www.cnblogs.com/xujian2014/p/5367078.html

线程池

https://www.cnblogs.com/xujian2014/p/5319828.html

Java中的CAS实现原理

https://www.cnblogs.com/javalyy/p/8882172.html

Spring Cloud由众多子项目组成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分布式系统及微服务常用的工具,

分布式领域著名的CAP理论(C——数据一致性,A——服务可用性,P——服务对网络分区故障的容错性)

一个java应用程序至少有两个线程,一个是主线程,负责main方法的执行,一个是垃圾回收器线程,负责回收垃圾。

SpringBoot和SpringCloud对比

https://blog.csdn.net/u010664947/article/details/80007767

Java ExecutorService四种线程池的例子与说明

https://www.cnblogs.com/zhaoyan001/p/7049627.html
https://blog.csdn.net/fwt336/article/details/81530581

Java多线程

多线程实现和安全问题: https://www.cnblogs.com/love-Stefanie/p/6706507.html
Executor,Executors,ExecutorService比较: https://www.cnblogs.com/love-Stefanie/p/6728228.html
Future和FutureTask: https://www.cnblogs.com/love-Stefanie/p/6729346.html

待学习视频

基于 SpringCloud 微服务架构下广告系统设计与实现:https://coding.imooc.com/class/310.html
RocketMQ核心技术精讲与高并发抗压实战: https://coding.imooc.com/class/292.html
ZooKeeper分布式专题与Dubbo微服务入门: https://coding.imooc.com/class/201.html
打造仿猫眼项目 以Dubbo为核心解锁微服务: https://coding.imooc.com/class/273.html
Spring Cloud微服务实战: https://coding.imooc.com/class/package/187.html#Anchor
Thread类中方法介绍: https://www.cnblogs.com/love-Stefanie/p/6732816.html

并发编程网 http://ifeve.com/

JVM性能优化系列: http://ifeve.com/jvm-optimize/

aa

发表于 2018-12-19

https://www.cnblogs.com/god--love-you/p/6133390.html

springboot
https://blog.csdn.net/forezp/column/info/15397/1
https://blog.csdn.net/vbirdbest/article/category/7490600/3

Java 能长盛不衰,主要是命好。每当人们觉得 Java 不行了的时候,总会有英雄横刀救美。
最初Java 开发出来不知道有什么用的时候,发现可以用 Applet 在网页上做动画。后来企业级软件开发时代 JavaEE 大行其道,开源社区 Spring 桃李满天下。
等到了移动时代,人们觉得 Java 要完蛋了,Google 拍马救市,收购并开放了 Android 平台,当家语言就是 Java,于是 Java 再次焕发勃勃生机。
目前大数据领域,Java 同样是当仁不让的好手

https://github.com/lenve/vhr

netty
https://waylau.com/netty-4-user-guide/

https://github.com/doocs/advanced-java

https://blog.csdn.net/qq_38765404/article/details/78615572

http://www.cnblogs.com/felixzh/p/5869212.html

oracle
https://www.cnblogs.com/kane1990/p/OracleNetManager.html
https://blog.csdn.net/u011179993/article/details/51554324
https://www.cnblogs.com/yadongliang/p/5840203.html
http://blog.51cto.com/mazongfei/2126876
https://blog.csdn.net/weixin_37480339/article/details/81017214
https://blog.csdn.net/wangjialiang/article/details/7867791

http://blog.sina.com.cn/s/blog_13689d7d40102y3d3.html

mac系统安装

发表于 2018-12-19 | 分类于 环境搭建

U盘启动

U盘启动:目的是为了在没有装系统的情况下进行临时启动,它可以启动DOS、备份还原软件或内存中运行的PE系统。现在大部分的电脑都支持U盘启动。U盘启动在系统奔溃和快速安装系统时能起到很大的作用。

mac系统安装启动盘制作

  1. 准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料
  2. 下载好需要安装的系统。在App Store中搜索系统,如:MacOS Sierra,完成下载。
  3. 打开 “应用程序 → 实用工具 → 磁盘工具”,将U盘「抹掉」(格式化) 成「Mac OS X 扩展(日志式)」格式、GUID 分区图,并将U盘命名为「Sierra」。(注意:这个盘符名称将会与后面的命令一一对应,如果你改了这盘符的名字,必须保证后面的命令里的名称也要一致)
  4. 打开 “应用程序→实用工具→终端”,将下面的一段命令复制并粘贴进去:
1
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Sierra --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction

回车并执行该命令,这时会提示让你输入管理员密码,便会开始制作过程了:
image

如上图,这时系统已经在制作中了,请耐心等待直到屏幕最后出现 Done. 字样即表示大功告成了

mac系统U盘安装

  1. (此步骤可选:如果想格式化磁盘则进行此操作)启动时按住[command + r],进入磁盘管理工具抹掉磁盘即可
  2. 先在目标电脑上插上 U 盘,然后重启你的 Mac,然后一直按住[option」(alt)] 按键不放,直到屏幕显示多出一个 USB 启动盘的选项。
  3. 选择 U 盘的图标回车,即可通过 U 盘来安装 macOS Sierra 了!这时,你可以直接覆盖安装系统(升级),也可以在磁盘工具里面格式化抹掉整个硬盘,或者重新分区等实现全新的干净的安装
  4. 启动过程中电脑会重启,重启的时候,拔掉U盘

安装软件

  • 在登陆App Store之后,往常安装过的软件在"已购项目"列表中有,不用每次安装系统后再一一去查找安装过的程序。

非App Store安装的程序,在安装时,又是会提示app出现某些安装包已损坏、显示未激活、打开崩溃等的提示!!这种多是因为新系统屏蔽了任何来源的设置,所以需要大家打开“允许任何来源”方可安装,可按如下方式操作

  • 步骤1:Spotlight搜索(快捷键:command+空格或右上角搜索的符号):搜索 “终端”
  • 步骤2:直接复制粘贴 sudo spctl --master-disable 回车
  • 步骤3:输入你的 开机密码
  • 步骤4:回到系统偏好设置 的“安全与隐私”,勾选 “允许任何来源”完成安装.

Macbook Pro 忘记管理员名称和密码

  1. 开机启动时按“command+s”进入单一用户模式(Single user model)
  2. 在#root>下逐步输入以下命令
1
2
3
4
/sbin/fsck -fy
/sbin/mount -uw /
rm /var/db/.applesetupdone
reboo
  1. 重启开机后出现类似装机时的欢迎界面,新建一个管理员账号即可

macOS一些其他维护相关知识

官方技术支持网址:https://support.apple.com/zh-cn

  1. 关于 Mac 启动时您看到的屏幕:在从 OS X 启动 Mac 时,系统会显示不同的屏幕,以让您了解 Mac 的启动方式,或是启动可能未完成的原因。
    https://support.apple.com/zh-cn/HT204156

  2. 启动 Mac 时显示闪烁的问号
    如果启动时在 Mac 屏幕上看到闪烁的问号,这意味着您的 Mac 无法找到自身的系统软件。
    https://support.apple.com/zh-cn/HT204323

  3. 如何重新安装 macOS
    https://support.apple.com/zh-cn/HT204904

  4. 关于 macOS 恢复功能
    https://support.apple.com/zh-cn/HT201314

  5. 使用 Time Machine 备份或恢复 Mac
    https://support.apple.com/zh-cn/HT201250

  6. 如何重置 Mac 上的 NVRAM Command-Option-P-R
    https://support.apple.com/zh-cn/HT204063

  7. 重置 Mac 上的系统管理控制器 (SMC) Shift-Control-Option
    https://support.apple.com/zh-cn/HT201295

  8. 如何识别 MacBook Pro 机型
    https://support.apple.com/zh-cn/HT201300

mac虚拟机安装及设置

发表于 2018-12-19 | 分类于 环境搭建

简介

Parallels Desktop是一款运行在 Mac 电脑上的极为优秀的虚拟机软件。用户可以在 Mac OS X 下非常方便运行 Windows、Linux 等操作系统及应用。

安装

PD为收费软件,链接: https://pan.baidu.com/s/1CBa7tIghlF7JIiJTtuqdYQ 提取码: es9m,有经济能力的希望支持正版

PD安装操作系统需准备一个系统ISO镜像,虚拟机系统安装过程和普通系统安装过程基本一致。
windows10镜像下载: https://www.microsoft.com/zh-cn/software-download/windows10ISO/

系统安装完成之后,需安装Parallels Tools,否则使用时鼠标使用等方面会有很多不便,注意安装Parallels Tools时注意PD版本,防止有和系统不兼容。
如下图:
image

PD使用注意事项

  1. 虚拟机系统安装完之后在虚拟机系统的【配置】中进行系统内存、硬盘相关参数设置
  2. 虚拟机系统安装完之后在虚拟机系统的【配置】中进行系统共享文件夹设置,方便系统间数据共享
  3. 虚拟机初试安装后,再进行系统其他重要软件安装前,请先保存快照,再进行操作,操作不成功还可回退
  4. 虚拟机系统更新、相关开发环境设置完成之后,建议移动硬盘保存虚拟机,方便后期恢复和循环使用
  5. 虚拟机系统文件在右键【显示包内容】后,如下
    image
    其中.hdd文件为硬盘文件,可在虚拟机系统故障时优先保存此文件,或者将此文件复制替换到备份的虚拟机系统即可恢复

git安装配置

发表于 2018-12-19 | 分类于 环境搭建

简介

官网:https://git-scm.com/
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

详细学习,推荐:

  • http://www.runoob.com/git/git-tutorial.html
  • 廖雪峰大神的git教程
    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
  • git的前世今生: https://blog.csdn.net/csdnprogram/article/details/52155078

工作原理

本地

  • 工作区(Working Directory):就是你在电脑里能看到的目录
  • 版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库
    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

image
我们把文件往Git版本库里添加的时候,是分两步执行的:

  • 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
  • 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

远程配合

image

git安装

参考教程:https://git-scm.com/book/zh/v2/起步-安装-Git

各平台都支持安装包安装方式

mac系统

1
2
> brew install git
> git --version //验证安装

git全局设置

config 配置有system级别 global(用户级别) 和local(当前仓库)三个 设置先从system-》global-》local,底层配置会覆盖顶层配置
查看git不同级别配置信息

1
2
3
git config --system --list
git config --global --list
git config --和local --list

git安装完成后,还需要最后一步设置,在命令行输入:

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门,此用户名和邮箱是git提交代码时用来显示你身份和联系方式的,并不是github用户名和邮箱

git账号关联流程

  1. 生成SSHkey
    ssh-keygen命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥.
    ssh-keygen(选项)
1
2
3
4
5
6
7
8
9
10
-b:指定密钥长度; 
-e:读取openssh的私钥或者公钥文件;
-C:添加注释;
-f:指定用来保存密钥的文件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。
  1. 登陆git服务器,添加public key信息
  2. 测试登陆
1
2
3
4
测试是否成功,第一此输入命令,需输入yes后再次输入测试命令后出现类似"Hi...",表示配置成功
> ssh -T git@github.com
> ssh -T git@gitee.com
> ssh -T git@gitlab.com

git单账号关联

1
2
> ssh-keygen -t rsa -C "xxxxx@gmail.com"(注册github时的email)
> cat ~/.ssh/id_rsa.pub

登陆网站,如github/gitee/gitlab等,在如设置/Settings中有SSH and GPG keys中【add new keys】,将id_rsa.pub内容添加,会自动识别标题,设置完成之后测试登陆

git多账号设置关联

多账号配置是通过.ssh文件夹下config文件实现,操作如下:

1
2
3
4
5
6
> touch ~/.ssh/config 
> chmod 600 ~/.ssh/config

> ssh-keygen -f ~/.ssh/id_rsa.github -t rsa -C "chetaofeng@163.com"
> ssh-keygen -f ~/.ssh/id_rsa.gitee -t rsa -C "chetaofeng@163.com"
> ssh-keygen -f ~/.ssh/id_rsa.gitlab -t rsa -C "chetaofeng@163.com"

config文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.github

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.gitee

# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.gitlab

# gitlab-公司内网
Host gsunis.net
HostName 47.94.*.*
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.gitlab_local
  • Host: 是我们在输入命令的时候的名字 比如我这里是lab 那么我使用ssh命令的时候需要使用 ssh lab
  • HostName: 是目标主机的主机名,也就是平时我们使用ssh后面跟的地址名称。
  • Port:指定的端口号。
  • User:指定的登陆用户名。
  • IdentifyFile:指定的私钥地址。

.gitignore文件

不添加到版本库的内容记录,创建项目后一定要添加.gitignore文件

开发环境中配置

在Jetbrains系列开发工具中,【Version Control】界面中github选项默认有,进行设置即可
image
gitlab/gitee没有配置选项,需先安装相应插件,如下:
image

以前配置gitlab的时候,是通过Other Settings->GitLab Settings设置如下:

  • GitLab Server Url: https://gitlab.com/
  • GitLab API Key: https://gitlab.com/profile/account

http方式使用

git项目权限管理

Git项目一般有五种身份权限,分别是:

  • Owner 项目所有者,拥有所有的操作权限
  • Master 项目的管理者,除更改、删除项目元信息外其它操作均可
  • Developer 项目的开发人员,做一些开发工作,对受保护内容无权限
  • Reporter 项目的报告者,只有项目的读权限,可以创建代码片断
  • Guest 项目的游客,只能提交问题和评论内容

私服项目使用推荐流程

以下为项目owner需进行工作

  1. 在私服先创建项目,添加人员并设置人员权限
  2. 在本地webstorm中clone项目
  3. 在clone项目中添加.gitignore文件
  4. 添加.gitignore及相关需要版本控制的文件夹到版本控制(选中项后右键操作)
  5. 提交项目并备注为初始提交

以下为项目成员需做工作

  1. 在本地webstorm中clone项目
  2. 创建项目分支(可一人一个,也可通过项目模块进行分支创建),如果直接在master分支,则无法成功push项目提示被rejected
  3. 进行代码编写
  4. 提交需管理分支
  5. 在gitlab私服网页发起合并请求,并添加详细描述
  6. 等待相关人员进行合并
  7. 合并结束后更新master分支
  8. 创建分支继续工作

node安装配置

发表于 2018-12-19 | 分类于 环境搭建

相关概念

nodejs:在项目开发时的所需要的代码库
nvm:nodejs 版本管理工具。
npm:nodejs包管理工具,在安装的 nodejs 的时候,npm也会跟着一起安装,它是包管理工具,管理nodejs中的第三方插件
yarn:Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 , 是为了弥补 npm 的一些缺陷而出现的
即:一个nvm可以管理多个node版本和npm版本

nvm安装

官网: https://github.com/creationix/nvm
安装:curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
安装完成后的提示界面会有类似一下的提示信息:

1
2
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

在~/.bash_profile中添加以上内容(如果没有这个文件则创建)后保存;通过source ~/.bash_profile使设置生效。
安装完成后关闭终端,重新打开终端输入 nvm 验证一下是否安装成功

注:curl看系统是否已安装,如果没有安装则:sudo apt-get install curl

nvm常用命令

nvm install stable ## 安装最新稳定版 node,当前是node v9.5.0 (npm v5.6.0)
nvm install ## 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4
nvm uninstall ## 删除已安装的指定版本,语法与install类似
nvm use ## 切换使用指定的版本node
nvm ls ## 列出所有安装的版本
nvm ls-remote ## 列出所有远程服务器的版本(官方node version list)
nvm current ## 显示当前的版本
nvm alias ## 给不同的版本号添加别名
nvm unalias ## 删除已定义的别名
nvm reinstall-packages ## 在当前版本 node 环境下,重新全局安装指定版本号的 npm 包

nvm安装node

nvm install stable

yarn

快速、可靠、安全的依赖管理工具

安装

brew install yarn
brew install yarn --without-node

Yarn和npm命令对比

npm yarn
npm install yarn install
npm install react --save yarn add react
npm uninstall react --save yarn remove react
npm install react --save-dev yarn add react --dev
npm update --save yarn upgrade

JDK安装配置

发表于 2018-12-19 | 分类于 环境搭建

JDK下载

http://www.oracle.com/technetwork/java/javase/downloads/index.html
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

环境变量设置说明

(jdk 需要配置三个环境变量; 1.5之后可以不再设置classpath,但建议保留classpath设置)

  • CLASS_PATH 保证class文件能够在任意目录下运行
  • PATH 保证javac可以在任意目录下运行

mac系统

环境变量配置文件执行的顺序:
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
/etc/profile和/etc/paths是系统级别的,系统启动就会加载,剩下的是用户级别的。

下载dmg安装包后直接安装后,通过java -version;java;javac验证,个人发现最新版本中不用系统环境变量配置,重启电脑验证过,

配置环境变量的方式:

  1. 找到JDK安装目录,如:
1
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
  1. 编辑文件~/.bash_profile 文件
1
2
3
4
5
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.

export JAVA_HOME
export PATH
  1. 使配置生效:source .bash_profile
  2. 输入 echo $JAVA_HOME 显示刚才配置的路径
  3. 验证安装

Linux系统

安装前,请在终端中通过java命令查看是否系统已默认安装OpenJDK,如果有,则先卸载

  1. 下载安装包后解压,如:sudo tar -zxvf jdk-8u77-linux-x64.tar.gz,得到jdk1.8.0_77文件夹
  2. sudo mkdir /usr/java
  3. sudo cp -r jdk1.8.0_77/ /usr/java/
  4. 配置环境变量,sudo vim /etc/profile,在前面添加
1
2
3
export JAVA_HOME=/usr/java/jdk1.8.0_77
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  1. source /etc/profile 使配置立即生效
  2. 检查新安装的jdk:java -version;java;javac
1…678…50
行锋

行锋

496 日志
15 分类
74 标签
GitHub E-Mail
自古写字楼如青楼,不许楼里见白头
© 2015 — 2019 行锋
博客全站共229.9k字