> For the complete documentation index, see [llms.txt](https://taseikyo.gitbook.io/arts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://taseikyo.gitbook.io/arts/wu-yue-1/202105w1.md).

# 第 27 期：广度与深度

> @Author : Lewis Tian (<taseikyo@gmail.com>)
>
> @Link : github.com/taseikyo
>
> @Range : 2021-05-02 - 2021-05-08

## Weekly #27

[readme](/arts/readme.md) | [previous](/arts/si-yue-1/202104w4.md) | [next](/arts/wu-yue-1/202105w2.md)

本文总字数 1630 个，阅读时长约：3 分 8 秒，统计数据来自：[算筹字数统计](http://www.xiqei.com/tools?p=tj)。

![](https://3093055548-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MMdedjHJjq-FX7CAnHy%2Fuploads%2Fgit-blob-dc7eb8f848a010ba33118e9fd0a286c94046fe28%2Ftran-mau-tri-tam-7QjU_u2vGDs-unsplash.jpg?alt=media)

\**Photo by* [*Tran Mau Tri Tam*](https://unsplash.dogedoge.com/@tranmautritam) *on* [*Unsplash*](https://unsplash.dogedoge.com/photos/7QjU_u2vGDs)

> 世间安得双全法，不负如来不负卿。

### Table of Contents

* [algorithm](#algorithm-)
* [review](#review-)
  * Jupyter Notebook Extensions
* [tip](#tip-)
  * 调整 jupyter 中显示字体
  * matplotlib 中 y 轴显示为百分比形式的方法
  * Bash Shell 统计当前目录下所有特定文件大小
  * Word 插入新页后页码没有接上前一页
* [share](#share-)
  * 广度与深度

### algorithm [🔝](#weekly-27)

### review [🔝](#weekly-27)

#### 1. [Jupyter Notebook Extensions](https://towardsdatascience.com/jupyter-notebook-extensions-517fa69d2231)

之前用 Jupyter Notebook 都是直接命令行输入 `jupyter notebook` 然后代码或者 markdown，不知道还有扩展，太蠢了。

这篇文章介绍了如何使用扩展：

```bash
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
```

启动之后不要急着选择一个 ipynb 文件，而是却换到 "Nbextensions" tab 页，然后可以看到很多插件（有的插件需要安装，如：autopep8）

去勾选 "disable configuration xxx"

然后勾选上所需的插件，如 markdown 目录、isort、autopep8 等等

有了这些插件好用多了 :D

### tip [🔝](#weekly-27)

#### 1. [调整 jupyter 中显示字体](https://www.zhihu.com/question/40012144/answer/363009024)

在本地 jupyter 的 cumtom.css 文件中粘贴文件内容

Windows：`%USERPROFILE%/.jupyter/custom/custom.css`

Mac/Linux：`~/.jupyter/custom/custom.css`

<details>

<summary></summary>

```css
/* Markdown */
div#notebook {
    font-family: "Fira Code", "Microsoft YaHei";
    line-height: 20px;
    -webkit-font-smoothing: antialiased !important;
}

/* Markdown - h2 */
div#notebook h2 {
    color: #007aff;
}

/* Markdown - quote */
div#notebook blockquote{
    background-color: #f8f8f8;
    color: #505050;
    padding: 8.5px;
    margin: 0.5em -0.5em 0.5em -0.4em;
}

/* Markdown - code in paragraph */
div#notebook p code, div#notebook li code {
    font-family: "Fira Code", "Microsoft YaHei";
    font-size: 1em !important;
    color: #111111;
    border: 0.5px solid #cfcfcf;
    border-radius: 2px;
    background-color: #f7f7f7;
    padding: .1em .2em;
    margin: 0px 2px;
}

/* Markdown - code */
div.text_cell_render pre {
    border: 1px solid #cfcfcf;
    border-radius: 2px;
    background: #f7f7f7;
    line-height: 1.21429em;
    padding: 8.5px;
    margin: 0.5em -0.5em 0.5em -0.4em;
}
div.text_cell_render code {
    background: #f7f7f7;
}

/* Code */
div.CodeMirror pre {
    font-family: "Microsoft Yahei mono", "Microsoft YaHei" !important;
    font-size: 11pt;
    line-height: 140%;
    -webkit-font-smoothing: antialiased !important;
}

/* Code - output */
div.output pre {
    font-family: "Fira Code", "Microsoft YaHei";
    line-height: 20px;
    -webkit-font-smoothing: antialiased !important;
}

/* Code - comment */
span.cm-comment {
    font-family: "Fira Code", "Microsoft YaHei" !important;
    font-style: normal !important;
}
```

</details>

#### 2. [matplotlib 中 y 轴显示为百分比形式的方法](https://blog.csdn.net/lfod1997/article/details/106961100)

```python
from matplotlib import pyplot as plt
from matplotlib import ticker

fig, ax = plt.subplots()
ax.plot(data)
ax.yaxis.set_major_formatter(ticker.PercentFormatter(xmax=1, decimals=1))
plt.show()
```

* xmax：指定 100% 对应原始数据的值，默认值是 100，由于我们的数据是 0 \~ 1 之间的小数，所以这里要设置为 1，即 data 中的 1 表示 100%；
* decimals：指定显示小数点后多少位，默认是由函数自动确定，这里我们设置成 1，使之仅显示小数点后 1 位。

#### 3. Bash Shell 统计当前目录下所有特定文件大小

比如统计当前目录下所有 Python 脚本（`*.py`），如下所示

```bash
#!/bin/bash

for file in $(find . -name "*.py")
do
size=$(du $file | cut -f1)
((total+=$size))
done

[[ $total -gt 1024 ]] && echo $(($total/1024)) MB || echo $total KB
```

这里有个问题，如果总和很大，大于 1G，这里需要两次除法，不知道把判断加进去，或许会只能用原本的 `if - else if - else`？

#### 4. Word 插入新页后页码没有接上前一页

感觉这个东西查了无数次，插入新页重新开始页码/插入新页继续页码等等，今天就遇到后者，查了半天，实际上很简单。

插入- 页码 - 设置页码格式 - 页码编号

这里可以选择 **续前节** 和设置 **起始页码**，在这里就可以完成到底是重新开始页码还是接上前面的页码。

### share [🔝](#weekly-27)

#### 1. [广度与深度](https://towardsdatascience.com/breadth-vs-depth-7400cc91c05d)

这是个很有趣的问题，我深有体会，正如宏内核与 Unikernel 区别。

对于找工作的我们来说，当然会更倾向于广度，因为面试时会涉及各种问题，公司更希望你是多面手，如果你只是专注于某一方面可能就无法通过面试了，虽然最后工作可能还是某一方面（面试造航母，工作拧螺丝）。

所以很多时候需要权衡，只能在中间达到一个平衡。

只是广度的话，万事都懂，但是一问细节就不知道，这肯定不行；

若只是深度，对某一方面精通，那很显然也不行。

所以需要在两者直接选择一个度，对于那些对自己影响较大的领域可做深挖（加大深度），对于一般的领域只是做了解，拓展知识领域就行（扩展广度）。

由此推广，有很多东西都是互相矛盾的，我们只能选择一个自认为一个对自己最舒服的度，根本无法兼顾。

[readme](/arts/readme.md) | [previous](/arts/si-yue-1/202104w4.md) | [next](/arts/wu-yue-1/202105w2.md)
