(六)docker安装本地仓库(root用户)

参考:
安装docker

创建使用仓库,并设置https 及安全访问

1下载镜像

1
> docker pull registry

2 创建目录

1
> mkdir -p ~/certs

3 进入目录

1
> cd ~/certs

4 创建域名证书

1
> openssl genrsa -out rep.itmuch.com.key 2048

5 创建证书

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
> openssl req -newkey rsa:4096 -nodes -sha256 -keyout \ rep.itmuch.com.key -x509 -days 365 -out \ rep.itmuch.com.crt  

Country Name (2 letter code) [XX]: # 你的国家名称

CN State or Province Name (full name) []:GD # 省份

Locality Name (eg, city) [Default City]:GZ # 所在城市

Organization Name (eg, company) [DefaultCompany Ltd]:test # 组织名称

Organizational Unit Name (eg, section)[]:test # 组织单元名称

Common Name (eg, your name or your server'shostname) []:rep.itmuch.com # 域名

Email Address []: # 邮箱

3 复制证书至docker

3.1创建目录

1
> mkdir -p /etc/docker/certs.d/rep.itmuch.com

3.2 复制证书至docker目录

1
> cp ~/certs/rep.itmuch.com.crt /etc/docker/certs.d/rep.itmuch.com/

3.3 重启docker

1
> systemctl restart docker

4 设置用户名和密码

4.1 安装 httpd-tools

1
> yum install httpd-tools

4.2 当前登录用户

1
> cd~

4.3 创建目录

1
>mkdir auth

4.4创建用户名和密码

1
htpasswd -Bbn testuser testpassword > auth/htpasswd

5 运行

1
docker run -d -p 443:5000   \-v /root/certs:/certs \ -v/root/auth:/auth \-v /opt/docker-image:/var/lib/registry \-e STORAGE_PATH=/opt/docker-image \-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/rep.itmuch.com.crt\-e REGISTRY_HTTP_TLS_KEY=/certs/rep.itmuch.com.key\ -e"REGISTRY_AUTH=htpasswd" \  -e"REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \  -eREGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \registry

host主机名

1
echo '192.168.137.8 rep.itmuch.com'>> /etc/hosts

登录私有库

1
docker login rep.itmuch.com

push或pull需要登录否则不能报错

push到私有库

1
2
3
docker tag alpine rep.itmuch.com/alpine

docker push rep.itmuch.com/alpine

查看镜像目录

1
https://rep.itmuch.com/v2/_catalog

查看镜像 版本列表

1
https://rep.itmuch.com/v2/alpine/tags/list

(五)更新docker 版本(root用户)

参考:安装docker 操作

1 删除旧版本(以下操作都是使用root用户)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
yum remove docker \

docker-client \

docker-client-latest\

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine

2 确保docker-ce-edge最新版本

1
yum-config-manager--enable docker-ce-edge

3 安装docker

1
yum install docker-ce

4 设置集群功能

1
2
3
vi /etc/systemd/system/multi-user.target.wants/docker.service 

ExecStart=/usr/bin/dockerd 添加 --experimental=true 表示启用集群功能

5 重新加载配置

1
systemctl daemon-reload

6 启动服务

1
sysctemctl start docker

7 查看版本:

1
docker version

(四)安装docker(root用户)

链接:
oracle VM安装red hat liunx

升级RPM和YUM 包

1 安装docker(以下操作都是使用root用户)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--安装驱动(red-hat为例,不同操作系统,驱动不同详细看官网教程)
> yum install -y yum-utils device-mapper-persistent-data lvm2

--添加docker仓库
> yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

--清除缓存
> yum clean all

--重新更新缓存
> yum makecache

--确保docker engine最新
> yum-config-manager --enable docker-ce-edge

--安装docker
> yum install docker-ce

开机启动
> systemctl enable docker

开启集群权限
>vi /etc/systemd/system/multi-user.target.wants/docker.service

ExecStart=/usr/bin/dockerd
添加
--experimental=true

重新加载配置
>systemctl daemon-reload

--启动docker
>systemctl start docker

参考:docker官网

docker 常用命令 参考docker 命令官网

2 查看docker 版本

1
docker version --目前最新版本是 17.12.1-ce

3 查看docker 信息

1
docker info

4 运行镜像

1
docker run hello-word --本地没有会找镜像库

关于run 一些参数详细参考docker官网

5 下载镜像

1
docker pull alpine

6 制作java环境镜像:

使用DockerFile 进行编写 ,参考dockerFile官网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FROM alpine
MAINTAINER killko <killko@qq.com>
ENV TIME_ZONE Asiz/Shanghai
RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories && \
echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add ca-certificates openjdk8-jre-base@community && \
apk del ca-certificates && \
apk add --no-cache tzdata && \
echo "${TIME_ZONE}" > /etc/timezone && \
ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime && \
rm -rf /tmp/* /var/cache/apk/*
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

编写完成进行build

1
2
3
>docker build  -t openjre:latest . --表示在当前目录进行制作镜像
>docker images --查看镜像
>docker run -it openjre sh --进行查看java是否安装成功

7 导入镜像

1
docker load < openjre.tar

8 导出镜像:

1
docker save openjre:latest  openjre.tar

9 查看镜像

1
docker images

10 查看正在运行容器

1
docker ps -a --查看容器id 运行状态 映射端口

11 查看容器日志

1
docker logs -f 容器id --容器id从docker ps -a获取

12 停止容器

1
docker stop 容器id ----容器id从docker ps -a获取

13 删除容器

1
docker rm 容器id --容器id从docker ps -a获取

14 删除镜像

1
docker rmi imagename:tag --imagename:tag imagename表示镜像名称 tag表示版本 这些信息可以从docker images进行获取

15 进入容器 运行sh命令:

docker exec -it 容器id sh –容器id从docker ps -a获取

16 添加普通用户操作docker

1
2
3
4
5
6
7
8
9
vi etc/systemd/system/multi-user.target.wants/docker.service (操作服务)

ExecStart=/usr/bin/dockerd -G jenkins #表示jenkins用户组可以操作docker命令

保存后

systemctl daemon-reload --重新加载服务

systemctl restart docker --重启服务

(三)linux 安装 GIT(root用户)

链接:
oracle VM安装red hat liunx

升级RPM和YUM 包

安装GIT(root用户)

yum install git

1 创建用户

1
>useradd test

2 设置密码

1
>passwd test

3 创建目录

1
>mkdir -p /repo

4 初始化git 库

1
>git init --shared /repo/code

5 进入目录:

1
>cd /repo/code

6 git 忽略设置

1
>git config receive.denyCurrentBranch"ignore"

7 设置 邮件

1
>git config --global user.email  123@126.com

8 设置 用户名

1
>git config --global user.name "test"

9 添加README.md

1
>touch ./Readme.md

10 git add文件

1
>git add ./Readme.md

11 提交代码

1
>git commit -m "init"./Readme.md

12 设置权限

1
> chmod -R og+w /repoE

13 下载代码

1
git clone ssh://test@192.168.137.8/repo/code

14 添加文件

1
git add

15 提交文件

1
git commit

16 推送代码

1
git push origin master

(二)Red-Hat-升级-rpm软件、YUM软件(root用户)

以下操作是root用户

1 oracle VM安装red hat liunx

rpm 下载链接:http://mirrors.163.com/centos/7/os/x86_64/Packages/

查看版本

1
> rpm version

logo

升级rpm

1
>rpm -Uvh rpm-4.11.3-25.el7.x86_64.rpm  rpm-build-libs-4.11.3-25.el7.x86_64.rpm rpm-libs-4.11.3-25.el7.x86_64.rpm rpm-python-4.11.3-25.el7.x86_64.rpm --force -i

logo

删除旧的yum

1
> rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64 yum-3.4.3-125.el7.noarch yum-rhn-plugin-2.0.1-5.el7.noarch --nodeps

安装yum

1
> rpm -Uvh yum-3.4.3-154.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm python-urlgrabber-3.10-8.el7.noarch.rpm yum-plugin-fastestmirror-1.1.31-42.el7.noarch.rpm yum-utils-1.1.31-42.el7.noarch.rpm  python-kitchen-1.1.1-5.el7.noarch.rpm python-chardet-2.2.1-1.el7_1.noarch.rpm

编辑 CentOS6-Base.repo

1
vi CentOS6-Base.repo 文件

CentOS-Base.repo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-7 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
http://mirrors.aliyuncs.com/centos/7/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-7 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/updates/$basearch/
http://mirrors.aliyuncs.com/centos/7/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-7 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/extras/$basearch/
http://mirrors.aliyuncs.com/centos/7/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/7/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-7 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/7/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

复制资源库文件至yum目录

1
> cp CentOS6-Base.repo /etc/yum.repos.d/

清除缓存

1
>yum clean all

建立yum 缓存

1
>yum makecache

logo

再次更新yum

1
yum update yum

yum install yum-rhn*

yum update redhat*

(一)oracle VM安装red hat liunx

软件:Oracle VM VirtualBox

网络桥接物流网卡:

1打开Oracle VMVirtualBox 点击新建按钮

logo

2 点击 下一步 按钮

名称 输入:jenkins

类型:Linux

操作系统:Red Rat(64 bit)
logo

3 内存 默认1G,点击 下一步

logo

4 选择 现在创建虚拟硬盘 ,点击 创建 按钮

logo

5 默认选项,点击 下一步

logo

6 选择 动态分配 ,点击 下一步 按钮

logo

7 设置硬盘大小:40G ,后点击创建按钮

logo

8 点击设置按钮

logo

9 选择 网卡 选项,选择 桥接网卡 方式,选择存储选项

logo

10 进行选择ISO镜像,点击图中 红色部分

logo

11 点击选择 磁盘

logo

12 在弹出窗口 选择 系统镜像,选择完成 ,点击打开按钮镜像可以从https://www.linuxprobe.com/tools下载

logo

13 点击OK 按钮后

logo

14 虚拟机设置完成,点击启动

logo

15 点击 启动按钮,选择InstallRed Hat Enterprise Linux 7.1–>enter

logo

16 选择语言 界面 ,点击continue

logo

17 点击network& host name

logo

18 OFF 改为ON后,点击DONE

logo

logo

19 选择INSTALLATIONDESTINATION

logo

20 点击Done,默认设置

logo

21 点击DATE&TIME

logo

22 Region 改为Asia ,City:上海,networkTime=ON,后点击Done

logo
logo

23 点击BeginInstallation

logo

24 点击ROOT PASSWORD 进行设置ROOT 密码

logo

25 输入ROOT 密码点击Done

logo

26 耐心等候安装完成 如下图,点击REBOOT

logo

27 重启完成,如下图,表示安装成功,使用ROOT用户进行登录

logo

28 输入ip addr 查看当前虚拟机的ip

正常:

logo

不正常:
logo

解决办法:

cd/etc/sysconfig/network-scripts/

打开网卡文件进行设置静态IP vi ifcfg-enp0s3

首先把BOOTPROTO=”dhcp”改成BOOTPROTO=”static”表示静态获取,

然后在最后追加比如下面的配置:

IPADDR=192.168.1.33

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=202.96.134.33

保存后,

运行systemctl restart network

再次查看ip addr
logo

29 使用SecureCRT 进行连接虚拟机

logo

thymeleaf学习的坑

引入css和js文件

1
2
<link th:href="@{/resources/admin/css/common.css}" rel="stylesheet" type="text/css" />
<script type="text/javascript" th:src="@{/resources/admin/js/jquery.js}"></script>

网页标题(多语言)

使用#{key}

1
2
3
4
5
6
7
8
  <title th:text="#{system.name}"></title>
# thymeleaf结合js
<script th:inline="javascript">
//controller 使用Model设置属性
var error=[[${error}]];
//多语言
var usernameRequired=[[#{admin.login.usernameRequired}]]
</script>

thymeleaf结合js 冲突

1
2
3
4
5
6
//使用<![CDATA[ ]]>
<script th:inline="javascript">
//<![CDATA[
js code
// ]]>
</script>

th:include

compontent/commonJs.html

1
2
3
4
5
<div th:fragment="commonJs">
<script th:inline="javascript">
js代码(国际化语言)
</script>
</div>

引用

1
<div th:include="compontent/commonJs::commonJs"></div>

th:href

1
<a th:href="@{/admin/publicInfo/info(id=${publicInfo.id})}" target="iframe" th:text="#{admin.menu.publicManage.name}"></a>

th:each

1
2
3
<tr th:each="admin:${page.content}">
<td th:text="${admin.username}"></td>
</tr>

格式化日期

1
<td th:text="${#calendars.format(admin.createDate,'yyyy年MM月dd日')}"></td>

th:if

• 单个条件

1
<td th:if="${admin.username}=='admin'"><input type="checkbox" name="ids" th:value="${admin.id}" disabled="disabled"/></td>

• 并且条件

1
2
3
4
<td th:if="${session.username}!='admin' and ${admin.username}==${session.username}">
<a th:href="@{initEdit(id=${admin.id})}" th:text="#{admin.menu.admin.edit}">
</a>
</td>

那些提升开发人员工作效率的在线工具

作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的。

Hollis偏爱使用在线工具,因为个人觉得这样比较方便。本文就总结了一下我常用的在线工具。欢迎纠正及补充。

Java源代码搜索

http://grepcode.com/

Grepcode是一个面向于Java开发人员的网站,在这里你可以通过Java的projects、classes等各种关键字在线查看它对应的源码,知道对应的project、classes等信息。 更方便的是,能提供非常多不同版本的源码在线查看、jar包、源码jar包、doc的下载。 同样,你也可以之间使用xxx-1.1.1.jar类似这样的名字直接找到对应的jar包,从而下载。

开源代码及文档搜索

https://searchcode.com/

SearchCode 是一个源码搜索引擎,目前支持从 Github、Bitbucket、Google Code、CodePlex、SourceForge 和 Fedora Project 平台搜索公开的源码。

电子书搜索

https://www.jiumodiary.com/

鸠摩搜书是一个比较不错的电子书搜索网站。内容也比较全。

网盘资源搜索

http://pansou.com/

这个大家都懂的,可以通过这个网站搜索百度网盘上面的各种资源。

无版权图片搜索

https://unsplash.com

不知道有没有人和我一样,经常需要一些无版权的图片,比如公众号配图。

unsplash是我用过的最好的网站,不需要登录,图片很高请,也比较全。唯一的缺点就是需要英文搜搜。

在线UML制图

https://www.processon.com/

ProcessOn是一个在线协作绘图平台,为用户提供最强大、易用的作图工具!支持在线创作流程图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。

Json在线验证及格式化

https://www.json.cn/

我用过很多json在线格式化的工具,经过实践,json.cn是比较不错的,不仅支持json格式的验证及格式化,还可以将json格式压缩成普通文本等好用功能。

Diff Check
https://www.diffchecker.com/

使用过svn或者git的人对diffcheck肯定不陌生,但有时候我们修改的文本内容并没有被版本控制,那么就可以使用在线的网站查看文件的修改情况。diffchecker很不错。

MarkDown编辑器

MaHua :http://mahua.jser.me/

马克飞象 :https://maxiang.io/

Cmd :https://www.zybuluo.com/mdeditor

以上这几个我都用过,都还好吧,因为我一般都喜欢把自己写过的东西保存下来,所以就用了客户端的,我是用的是MacDown

Maven依赖查询

http://mvnrepository.com/

mvnrepository这个不用详细解释了,就是查询maven的gav信息一类的。因为我们公司有内部的Nexus仓库,所以很少用这个。

在线代码运行

https://tool.lu/coderunner/

coderunner可以在线运行php,c,c++,go,python,java,groovy等代码。当我们在外面,没有IDE又想执行个小程序的时候是个不错的选择。

在线翻译

Google翻译 :https://translate.google.cn/

百度翻译 :http://fanyi.baidu.com/

有道翻译 :http://fanyi.youdao.com/

说不出具体哪个好,其实都不太准确,还是需要自己根据语境进行翻译。

不过忍不住吐槽一句国内的这几个翻译网站,既然是做翻译的,域名竟然用拼音,我也是醉了。

SQL自动生成Java代码

http://www.autojcode.com/code/sql2class.jsp

AutoJCode可以从sql的建表语句中生成一个DO类。

json生成java类

http://www.bejson.com/json2javapojo

json是目前JavaWeb中数据传输的主要格式,很多时候会有把json转成Java对象的需求。有时候合作方会提供一个json的样例,需要我们自己定义Java类,这时候这个工具就派上用场了。

SQL美化/格式化/压缩

https://tool.lu/sql/

sql在线美化,格式化,压缩:

编码转换

http://tool.chinaz.com/tools/unicode.aspx

站长工具的编码转换比较全面,提供了Unicode编码、UFT8编码、URL编码/解码等功能。

Corn表达式生成

http://www.pdtools.net/tools/becron.jsp

Cron 一般用于配置定时任务的执行。

正则验证

http://tool.chinaz.com/regex

Java开发对正则表达式肯定不陌生。站长工具提供的正则验证还不错。

正则代码生成

http://tool.chinaz.com/tools/regexgenerate

站长工具提供的正则代码生成。可以一键生成身份证号、邮箱、手机号等验证的正则表达式。

时间戳转换

http://tool.chinaz.com/Tools/unixtime.aspx

时间戳(英语:Timestamp)是指在一连串的资料中加入辨识文字,如时间或日期,用以保障本地端(local)资料更新顺序与远端(remote)一致。

Java中很多地方都会用到时间戳,也经常会使用这种转换工具。

世界时间转换

http://www.timebie.com/cn/easternbeijing.php

世界各地时间转换,我之前做国际业务的时候,比较常用的是北京时间转纽约时间,北京时间转洛杉矶时间。 timebie提供了世界时间相互转换的功能。

加密解密

http://tool.chinaz.com/tools/textencrypt.aspx

加密解密也是JavaWeb可能会经常遇到的,有的时候我们需要验证加密算法是否正确,或者要解密等场景,就需要一个在线工具。

查看网页源代码

http://s.tool.chinaz.com/tools/pagecode.aspx

这个工具,可以输入一个网站,直接查看网站的源码。具体有什么用,大家可以发挥各种想象。

单位换算

https://www.convertworld.com/zh-hans/

convertworld是一个比较全的单位换算的网站。我经常用它进行时间单位和货币单位的换算。

在线调色板

http://tool.chinaz.com/Tools/OnlineColor.aspx

这个对前端开发比较有用,可以在线调色。

ASCII ART生成

http://patorjk.com/software/taag/

常用对照表

ASCII对照表 : http://tool.oschina.net/commons?type=4

HTTP状态码 : http://tool.oschina.net/commons?type=5

HTTP Content-type : http://tool.oschina.net/commons

TCP/UDP常见端口参考 :http://tool.oschina.net/commons?type=7

HTML转义字符 : http://tool.oschina.net/commons?type=2

RGB颜色参考 : http://tool.oschina.net/commons?type=3

网页字体参考 : http://tool.oschina.net/commons?type=8

提升工作效率

1 时间常有,时间在于优先。

2 时间总会有的:每天只计划 4~5 小时真正的工作。

3 当你在状态时,就多干点;不然就好好休息:有时候会连着几天不是工作状态,有时在工作状态时却又能天天忙活 12 小时,这都很正常的。

4 重视你的时间,并使其值得重视:你的时间值 1000 美元/小时,你得动起来。

5 不要多任务,这只会消耗注意力;保持专注,一心一用。

6、养成工作习惯,并持之以恒,你的身体会适应的。

7.在有限的时间内,我们总是非常专注并且有效率。

8.进入工作状态的最佳方式就是工作,从小任务开始做起,让工作运转起来。

9、迭代工作,期待完美收工会令人窒息:“做完事情,要胜于完美收工” Facebook 办公室墙壁上贴的箴言。动手做,胜过任何完美的想象。

10、工作时间越长,并不等于效率越高

11、按重要性工作,提高效率。

12 有会议就尽早安排,用于准备会议

的时间往往都浪费掉了。

13、把会议和沟通 (邮件或电话) 结合,创造不间断工作时间:一个小会,也会毁了一个下午,因为它会把下午撕成两个较小的时间段,以至于啥也干不成。PS:当看到一个程序员冥思苦想时,不要过去打扰,甚至一句问候都是多余的。

14、一整天保持相同的工作环境。在项目/客户之间切换,会效率低。

15 工作—放松—工作=高效(番茄工作法)

16、把不切实际的任务分割成合理的小任务,只要每天都完成小任务,你就会越来越接近那个大目标了。

17 从来没有两个任务会有相同的优先级,总会有个更重要,仔细考虑待办事情列表。

18 必须清楚白天必须完成的那件事,是什么。“Only ever work on the thing that will have the biggest impact” 只去做那件有着最大影响的事情。

19 把任务按时间分段,就能感觉它快被搞定了。

20 授权并擅用他人的力量。—君子善假于物(人)也,如果某件事其他人也可以做到八成,那就给他做!

21 把昨天翻过去,只考虑今天和明天。昨天的全垒打赢不了今天的比赛。—好汉不提当年勇。

22 给所有事情都设定一个期限。不要让工作无期限地进行下去。

23 针对时间紧或有压力的任务,设置结束时间,万事皆可终结

24 多记,多做笔记

25 进入高效状态后,记下任何分散你注意力的东西比如Google搜索词、灵光乍现的想法、新点子等等。如果你把它们记下来,它就不会再蹦来蹦去了。

26 休息,休息一下~

Notepad++文本比较插件:Compare


对程序员来说,文本比较就是代码的比较,对比新老两个版本的代码的差异是经常需要做的事情,尤其是多人开发的代码尤甚,今天,一个转给了同事,然后同事请小长假,代码又回来了,首先就是要了解代码已经修改了哪些地方。

|