0%

标注类

边界排列法

布局类

栅格化法

解决类似喷淋排布的问题

布线类

A-Star 算法

可以有效解决单线路由的问题,可以针对cost公式做一些改进适应更复杂的一些场景

参考资料:http://theory.stanford.edu/~amitp/GameProgramming/

三角剖分

可以将问题规模减少一个量级,得到拓扑结构

轮廓排序配对

适用于:起点集在集中区域,所有点都在轮廓上或者可以映射到轮廓上

最小生成树

基于实际路径及其cost构建最小生成树

照例,到年末了还是写一个年终总结.
今年,无论是对个人还是社会都存在巨大的动荡.
但是,于我而言,过得却出奇的波澜不惊,也许这种波澜不惊背后也包含着一些运气,或许值得感恩.
没有产出却是不能原谅自己的理由,基本上去年的总结今年改改就可以直接用,这是一种悲哀.

2020:

1 定向编程题刷到518,锻炼了初级逻辑/抽象/编码能力
2 单词量达到了7000左右
3 做了一个kaggle项目,失败了
4 每天半小时锻炼的flag坚持了两个月左右
5 遇到心爱的人

2021:

1 屯粮, 删减一切不在预算内的非必要开支
2 开源, 开辟非主营业务收入途径,目标是七位数
3 比赛, 继续跟进kaggle比赛,进入master并至GM,着重在NLP领域,也可以看看AOC
4 编码, 定向编程题刷到1000左右,学一下JS,打好基础,做点产出,看看能不能做点有实际价值的NLP应用
5 英语, 词汇量积累到9000左右,并有计划的增强听说能力
6 博客, 不一定要有数量,一定要有必要质量
7 数学, 继续强化数学,微分、积分、级数、矩阵、概率.有一本线性代数的几何应用读透
8 阅读, 计算机(5)/前沿(3)/人文社会历史(2) 读读论文
9 锻炼, 嗯

清晰可见,2020年初立的flag基本都倒了,但也不是没有收获
总结起来根本还是恒心不足毅力不够
当然,如果认识到这个问题却没法改变的话那也就不足以道后面的事情了,过得很惨也没必要怨天尤人满腹牢骚,可谓是竖子不足与谋

总的来说, 新的一年需要:
毅力,更好的效率,方法,成果
坚定logn对n的价值

ps:
最先放弃你的一定是你自己

pytest 上手比较简单.

环境

Python

最好在工作目录建个虚拟环境:

1
2
python -m venv venv
source venv/bin/activate

pytest

安装

1
pip install pytest

资源

文档

在线文档
PDF
想要运行示例,看在线文档第一页就行.
想要系统学习,个人感觉看PDF文档比较好.

帮助

1
pytest --help

可以看到所有的命令行参数及输入输出控制.
其中有一个比较重要的参数可以详细看看:

1
2
3
4
5
6
7
8
9
10
11
12
13
general:
-k EXPRESSION only run tests which match the given substring expression. An
expression is a python evaluatable expression where all names
are substring-matched against test names and their parent
classes. Example: -k 'test_method or test_other' matches all
test functions and classes whose name contains 'test_method'
or 'test_other', while -k 'not test_method' matches those
that don't contain 'test_method' in their names. -k 'not
test_method and not test_other' will eliminate the matches.
Additionally keywords are matched to classes and functions
containing extra names in their 'extra_keyword_matches' set,
as well as functions which have names assigned directly to
them. The matching is case-insensitive.

pytest 默认会collect test_.py 或者 _test.py module 中 以test为前缀的function 或者以Test为前缀的class中以test为前缀的function(no init),
通过这个参数可以自定义控制

示例

入门例子

在工作目录新建:test_sample.py

1
2
3
4
5
6
# test_sample.py
def inc(x):
return x + 1

def test_answer():
assert inc(3) == 5

当前目录运行:
1
pytest

便可以看到report.

Report 示例

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
(venv) ➜  ln_pytest pytest
=========================== test session starts ============================
platform darwin -- Python 3.6.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1
rootdir: ../ln_pytest
collected 5 items

test_cases1.py FF. [ 60%]
test_cases2.py F. [100%]

================================= FAILURES =================================
_______________________________ test_answer ________________________________

def test_answer():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)

test_cases1.py:10: AssertionError
_______________________________ test_answer2 _______________________________

def test_answer2():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)

test_cases1.py:14: AssertionError
_______________________________ test_answer ________________________________

def test_answer():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)

test_cases2.py:10: AssertionError
========================= short test summary info ==========================
FAILED test_cases1.py::test_answer - assert 4 == 5
FAILED test_cases1.py::test_answer2 - assert 4 == 5
FAILED test_cases2.py::test_answer - assert 4 == 5
======================= 3 failed, 2 passed in 0.39s ========================

Feature

用例(进入) 默认情况下自动发现关键词:“test”,
断言(判断) 灵活易懂

报告

依赖

1
2
pip install allure-pytest
brew install allure

生成测试结果数据

1
pytest --alluredir ./result/

将结果渲染到页面

1
allure serve result -h 127.0.0.1 -p 8080

Markdown

虽然很失败
虽然一事无成
但还是要把年终总结写了

2019:

1 开放了4个GitHub项目,有一个数据集稍有意义
2 定向编程题刷到249,锻炼了初级逻辑/抽象/编码能力
3 单卡训练了3000万样本量的语言模型并部署上线
4 单词量达到了6500左右
5 换了工作
6 博客总共写了20篇左右(含一篇英文)
7 做了一个kaggle项目,失败了
8 每天半小时锻炼的flag坚持了一个月

2020:

1 屯粮, 删减一切不在预算内的非必要开支
2 开源, 开辟非主营业务收入途径
3 比赛, 继续跟进kaggle比赛,进入master并至GM
4 编码, 定向编程题刷到800左右,学一门新的语言,打好基础,做点产出
5 英语, 词汇量积累到8000~9000左右,并有计划的增强听说能力
6 博客, 不一定要有数量,一定要有必要质量
7 数学, 继续强化数学,微分、积分、级数、矩阵、概率.有一本线性代数的几何应用读透
8 阅读, 计算机(5)/前沿(3)/人文社会历史(2) 读读论文
9 锻炼, 嗯

清晰可见,2019年初立的flag倒了一大半
总结起来根本还是恒心不足毅力不够
当然,如果认识到这个问题却没法改变的话那也就不足以道后面的事情了,过得很惨也没必要怨天尤人满腹牢骚,可谓是竖子不足与谋

总的来说, 新的一年需要:
更好的效率,方法,成果
坚定logn对n的价值
更多断舍离,建立一些新的联结,也过得更开心一些

送给自己一句:
大道艰难路险阻 即使从头又何惧

ps:

可能是年纪大了,对节日的概念不是那么敏感了
但换个角度来说,以年为单位的时间才会更有年初的概念
若是以日为单位,那么时间轮回便是日初
是否每一日都应当有反思及时间刷新呢?
让子弹飞中有一句:
“哭! 哭也算时间哟”