(Mac)PIP使用国内镜像
PIP使用国外源安装软件包,下载速度非常慢,将PIP安装源头替换为国内镜像,可以大幅提高下载速度,提高安装成功率。
前几天的几场雨下来,似乎把武汉的火炉浇灭了,晚上明显感觉到阵阵的凉意,秋天真的来了。
手上的项目,进入比较关键的时刻,开始仓储部分的设计工作。阿门,需求不要再变啦!!!
明天周日,早起干嘛去呢?跑步?
团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。
否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。

第一步:新建分支
首先,每次开发新功能,都应该新建一个单独的分支(这方面可以参考《Git分支管理策略》)。
# 获取主干最新代码
$ git checkout master
$ git pull
# 新建一个开发分支myfeature
$ git checkout -b myfeature
第二步:提交分支commit
分支修改后,就可以提交commit了。
$ git add --all
$ git status
$ git commit --verbose
git add 命令的all参数,表示保存所有变化(包括新建、修改和删除)。从Git 2.0开始,all是 git add 的默认参数,所以也可以用 git add . 代替。 git status 命令,用来查看发生变动的文件。 git commit 命令的verbose参数,会列出 diff 的结果。
第三步:撰写提交信息
提交commit时,必须给出完整扼要的提交信息,下面是一个范本。
Present-tense summary under 50 characters
* More information about commit (under 72 characters).
* More information about commit (under 72 characters).
http://project.management-system.com/ticket/123
第一行是不超过50个字的提要,然后空一行,罗列出改动原因、主要变动、以及需要注意的问题。最后,提供对应的网址(比如Bug ticket)。
SQL中的连接(JOIN)语句用于将数据库中的两个表或者多个表组合起来。有“连接”生成的集合,可以被保存为表,或者当成表来使用,JOIN语句的含义是把两张表的属性通过它们的值组合在一起。基于ANSI标准的SQL列出五种JOIN方式:
- 内连接(INNER)
- 全外连接(FULL OUTER)
- 左外连接(LEFT OUTER)
- 右外连接(RIGHT OUTER)
- 交叉连接(CROSS)
在特定的情况下,一张表(基本表,视图或连接表)可以和自身进行连接,成为自连接(self-join)。 其中, MYSQL不支持全外连接(FULL OUTER)。这里只关注Mysql的剩下的四种连接(JOIN)。
一、示例表
下面有两张表雇员表(Employee)和部门表(Department),ID是主键。
雇员表(Employee)
| ID | Name | DeptID |
|---|---|---|
| 1 | 张三 | 2 |
| 2 | 李四 | 3 |
| 3 | 王五 | 3 |
| 4 | 老李 | 5 |
部门表(Department)
| ID | Name |
|---|---|
| 2 | 研发部 |
| 3 | 测试部 |
| 4 | 运维部 |
二、内连接(INNER JOIN)
MySQL中,内连接,即等值连接。
select * from employee, department
where employee.deptID = department.id;
等效于
select * from
employee inner join department
on employee.deptID = department.id;
查询结果是:
+----+--------+--------+----+-----------+
| id | name | deptID | id | name |
+----+--------+--------+----+-----------+
| 1 | 张三 | 2 | 2 | 测试部 |
| 2 | 李四 | 3 | 3 | 运维部 |
| 3 | 王五 | 3 | 3 | 运维部 |
+----+--------+--------+----+-----------+
3 rows in set (0.00 sec)
三、左外连接(LEFT JOIN)
Mysql中, left outer join 等效于 left join。左外连接结果中将会保留“左表”中的所有记录,即使右表中没有匹配连接条件,右表中没有匹配条件的列值为NULL。
当你手中只有一把锤子的时候,你就会把所有的问题都看成钉子。
Google Chrome,Google公司开发的一款设计简单、高效的Web浏览器。Chrome不仅页面渲染速度快,Javascript执行速度快,而且更重要的是支持开发者为其编写各种各样的扩展来扩充其功能。
这里将要描述的就是为Chrome编写一个插件:使用当前网页地址生成二维码。
给chrome编写插件还是非常容易的事情,这里会使用到react.js(使用react,仅仅是因为,我最近对它很感兴趣)。
一、新建一个基本React APP
使用create-react-app来新建React应用是一个非常不错的选择。
$ create-ract-app react-qr
Creating a new React app in /Users/xiaoxiwang/Documents/demo/react-qr.
Installing packages. This might take a couple minutes.
Installing react, react-dom, and react-scripts...
yarn add v0.24.5
info No lockfile found.
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Saved lockfile.
success Saved 878 new dependencies.
...
新建完成后生成的文件目录如下:
➜ react-qr tree -L 1
.
├── README.md
├── node_modules
├── package.json
├── public
├── src
└── yarn.lock
此时,运行命令: