「CEPH」- 运维管理:OSD

问题描述
该笔记将记录:在 Ceph Cluster 中,如何对 OSD 进行管理,以及相关问题的解决方案;
解决方案
OSD 维护是 Ceph Cluster 维护的常见任务;
增加 OSD 实例(增)
添加 OSD 实例
Ceph Documentation/OSD Service/CREATING NEW OSDS

# Tell Ceph to consume any available and unused storage device:
ceph orch apply osd –all-available-devices

# Create an OSD from a specific device on a specific host:
ceph orch daemon add osd *<host>*:*<device-path>*

# ceph osd tree

通过标志位,控制 OSD 行为
noout:该标志位将使 Ceph 集群不会将任何 OSD 标记为 out,无论其实际状态如何。这将会把所有的 OSD 保留在 Ceph 集群中; nodown:该标志位将使得 Ceph 集群不会将任何 OSD 标记为 down,无论其实际状态如何。这将会使集群中的所有 OSD 保持 UP 状态,而不会是 DOWN 状态; noup:该标志位将使得 Ceph 集群不会将任何 DOWN OSD 标记为 UP 状态。这样,任何被标记为 DOWN 的 OSD 都将只有在该标志位被清除以后,才会被标记为 UP。该标志位也会被用于新加入集群中的 OSD; noin:该标志位将使得 Ceph 集群不允许任何新的 OSD 加入集群。这在需要一次性加入多个 OSD 到集群中而不想它们自动地被加入集群时非常有用; norecover:该标志位将使得 Ceph 集群不做集群恢复(cluster recovery); nobackfil1:该标志位将使得 Ceph 集群不做数据回填 (backfilling)。这在一次性加入多个 OSD 但是不想 Ceph 自动将数据分布到它们上时会非常有用; norebalance:该标志位将使得 Ceph 集群不做任何集群再平衡(cluster rebalancing ); noscrub:该标志位将使得 Ceph 集群不做 OSD 清理 (scrubbing); nodeep-scrub:该标志位将使得 Ceph 不做 OSD 深度清理(deep scrubbing ); notieragent:该标志位将禁用缓存分层代理 (cache pool tiering agent);

# ceph osd set noout
# ce[……]

READ MORE

「CEPH」- 集群的管理与运维

查看集群的运行状态
查看集群整体运行简况

# ceph -w
# ceph -s
# watch -n 1 ceph -s

# ceph status
cluster:
id: cf79beac-61eb-11ed-a2e0-080027d3c643
health: HEALTH_OK

services:
mon: 3 daemons, quorum ceph-node-01,ceph-node-02,ceph-node-03 (age 22h)
mgr: ceph-node-02.gktsek(active, since 22h), standbys: ceph-node-01.ymsncp
mds: 1/1 daemons up, 2 standby
osd: 6 osds: 6 up (since 22h), 6 in (since 22h)

data:
volumes: 1/1 healthy
pools: 5 pools, 113 pgs
objects: 67 objects, 107 MiB
usage: 20 GiB used, 160 GiB / 180 GiB avail
pgs: 113 active+clean

# ceph health
HEALTH_OK

// ——————————————————– // 如果集群存在问题,将显示相信信息

# ceph health detail
HEALTH_OK

查看存储空间使用情况

# ceph df
— RAW STORAGE —
CLASS SIZE AVAIL USED RAW USED %RAW USED
ssd 3.5 TiB 2.0 TiB 1.5 TiB 1.5 TiB 43.86
TOTAL 3.5 TiB 2.0 TiB 1.5 TiB 1.5 TiB 43.86

— POOLS —
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
device_health_metrics 1 1 101 MiB 31 303 MiB 0.04 223 GiB
vm-over-cephfs_data 14 32 0 B 0 0 B 0 223[……]

READ MORE

「CEPH」- 常见 PG 管理

增加 PG(增)
WIP
删除 PG(删)
WIP
修改 PG(改)

# 修复
# 需要结合当前状态使用,否则可能会影响用户数据;
ceph pg repair

# 清理
ceph pg scrub

# 深度清理
ceph deep-scrub

查看 PG(查)

# ceph pg ls

# ceph pg stat
641 pgs: 641 active+clean; 884 GiB data, 1.5 TiB used, 2.0 TiB / 3.5 TiB avail; 8.0 KiB/s rd, 3.4 MiB/s wr, 24 op/s

计算 PG 数量
Ceph: too many PGs per OSD – Stack Overflow
Total PGs Total PGs = (Total_number_of_OSD * 100) / max_replication_count This result must be rounded up to the nearest power of 2.
Total PGs per pool Calculation: Total PGs = ((Total_number_of_OSD * 100) / max_replication_count) / pool count This result must be rounded up to the nearest power of 2.
=
常见问题处理
… pg_num X size X would mean X total pgs, which exceeds max …
WIP
pg stuck in unknown state
故障:pg state unknown – 流年晕开时光 – 博客园

# ceph health detail

# ceph pg PG-ID query

// 如果数据不重要,进行强制修复

# ceph osd force-create-pg 3.1e

// 如果数据很重要,做好心里准备[……]

READ MORE

「Ceph」- 维护管理:Pool

创建存储池(增)
创建纠删码存储池

root@pc-amd64-100247:~# ceph osd dump | grep ensure
root@pc-amd64-100247:~# ceph osd erasure-code-profile set my-ec-testing rulesetfailure-domain=osd k=3 m=2
root@pc-amd64-100247:~# ceph osd erasure-code-profile ls
default
my-ec-testing
root@pc-amd64-100247:~# ceph osd pool create synology-nas-testing 16 16 erasure my-ec-testing
pool ‘synology-nas-testing’ created

删除存储池(删)
允许删除:

# ceph config set global mon_allow_pool_delete true
# ceph osd pool delete ‘pool name’ ‘pool name’ –yes-i-really-really-mean-it

// ——————————————————– // 或仅修改特定存储池,开启防止删除保护

# ceph osd pool get rbd nodelete
nodelete: false
# ceph osd pool set rbd nodelete 1
set pool 11 nodelete to 1

# ceph osd pool delete rbd rbd –yes-i-really-really-mean-it
Error EPERM: pool deletion is disabled; you must unset nodelete flag for the pool first

修改存储池(改)
修改 PG 数量

# ceph osd pool set cephfs_data pg_num 32
set pool 1 pg_num to 32

缩小副本数
[SOLVED] – change num-replicas on ceph rool online? | Proxmox Support Forum

ceph osd pool set POOL_NAME size 3
ceph osd pool set POOL_NAME min_size 2

// 缩小到 1 个副本

# ceph config set[……]

READ MORE

「CEPH」- 运维管理:RADOS

# ceph osd map rbd testfile
osdmap e595 pool ‘rbd’ (11) object ‘testfile’ -> pg
11.551a2b36 (11.6) -> up ([1,3,2], p1) acting ([1,3,2], p1)

# ceph osd primary-affinity 1 0.3 // 修改亲和属性,以将其他 OSD 作为 Primary OSD 设备
set osd.1 primary-affinity to 0.3 (8196602)
# ceph osd map rbd testfile // 再次查看,发现 osd.3 成为 testfile 的 Primary OSD 设备;
osdmap e597 pool ‘rbd’ (11) object ‘testfile’ -> pg
11.551a2b36 (11.6) -> up ([3,1,2], p3) acting ([3,1,2], p3)[……]

READ MORE

「Ceph」- 场景及方案

解决方案
操作对象
维护任务,针对 MON OSD MDS RGW 进行;
配置管理
在维护集群时,我们应该将 MON OSD MDS RGW 等等配置信息不断更新到配置文件中,这样便能够在一个节点中管理集群。
服务管理
通过 systemd 组件,来完成对 Ceph Cluster 管理
ceph daemon
ceph daemon 能够通过 .sock 连接 Ceph Cluster,并进行参数配置(临时修改);
# ceph daemon osd.0 config get osd_recovery_max_chunk
ceph tell
类似 ceph tell 命令,也能够在运行时修改配置,并且不需要登录节点(即不依赖 .sock 文件,但是需要 MON 的配置)
# ceph tell osd.0 injectargs “–osd_recovery_threads=2”
REST API
Ceph 提供 REST API 进行服务管理,默认监听 5000 端口

[client.restapi]
keyring = ‘/path/to/keyring’

# ceph-rest-api

MON
添加/删除:https://docs.ceph.com/en/latest/rados/operations/add-or-rm-mons/
删除节点,要确保集群的正常:

# ceph quorum_status –format jsno-pretty

# ceph mon stat

RGW
其添加需要额外的主机,并进行 Ceph 相关配置,该内容将在对象存储的学习过程中进一步讨论。[……]

READ MORE

「Ceph」- 配置对象存储(Object Storage,S3,Swift)

解决方案
在实际的生产环境中: 1)建立部署独立的 RGW 服务,而不要与 MON 共用主机(除非负载较小); 2)建议部署负载均衡,在负载均衡后端挂接多个 RGW 实例;
快速部署 RGW 实例

# for Ceph Octopus
# 默认 HTTP 80 访问;并自动创建 systemd 服务单元文件;
# ceph orch apply rgw myorg us-east-1 –placement=”2 myhost1 myhost2″

通过客户端访问:通过 aws 命令;或其他兼容 S3 协议的 OSS 客户端;
环境概述

Ceph Cluster (with Three Nodes)
||
Ceph RGW
||
(S3, Swift)
||
Ceph User

Ceph Cluster: ceph-node-01 172.31.252.201; ceph-node-02 172.31.252.202; ceph-node-03 172.31.252.203; Ceph RGW: ceph-rgw-01 172.31.252.209; Ceph Client: ubuntu-developing 172.31.252.100;
我们将在 ceph-rgw-01 中部署 RGW 服务,并通过 ubuntu-developing 访问对象存储;
第一步、配置网关服务
同步配置文件
on ceph-node-01

# cephadm install ceph-common
# cephadm install radosgw

# scp /etc/ceph/ceph.conf 192.168.200.9:/etc/ceph/

添加网关凭证
目标:实现 RGW 访问 Ceph Cluster 的配置;
on ceph-node-01

// 创建 Keyring 信息

ceph-authtool –create-keyring /etc/ceph/ceph.client.radosgw.keyring
chmod +r /etc/ceph/ceph.client.radosgw.keyring

ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway –gen-key
ceph-authtool -n client.radosgw.gateway –cap osd ‘allow rwx’ –cap mon ‘allow rwx’ /etc/ceph/ceph.[……]

READ MORE

「Ceph」- Region, Zone

问题描述
对象存储是 Ceph 中最重要的存储形态,如果你在生产环境下使用了 Ceph 对象存储,那么在容灾场景下需要有方案实现对象的容灾复制,保证远端包含相同的对象副本;
该笔记将记录:对象存储的容灾复制方案,以及相关问题的解决办法;
解决方案
多个 Region 场景
在生产环境下实现两个 Ceph 集群配置,实现对象的容灾复制。配置完成后的容灾对象复制将由 Ceph 自身实现;
Ceph对象存储容灾是通过Ceph多站点方式实现的。RGW多数据站点旨在实现异地双活,提供容灾备份的能力。
当有多个 Region(或一个 Region 中存在多个 Zone)时,借助 Ceph RGW Federation 特性,能够实现数据的同步,有助于维护单个命名空间;
在多个 Region 场景中,各个 RGW Instance 通过 Ceph RGW Agent 实现数据同步:
主站点在对外提供服务时,用户数据在主站点落盘后即向用户回应写成功应答,然后实时记录数据变化的相关日志信息。备站点实时比较主备份数据差异,并及时将差异数据拉回备节点。异步复制技术适用于远距离的容灾方案,对系统性能影响较小。因此,Ceph的对象多站点容灾技术是一种异步容灾方案。
单个 Region 场景
在同个 Region 场景中,属于不同 Zone 的 RGW Instance 通过 Ceph RGW Agent 实现数据同步:[……]

READ MORE

「Ceph」- S3 区域复制(Single Region, Multiple Zone)

问题描述
我们这里将学习多站复制第二种场景的配置方法,以及相关问题的解决办法;
解决方案
# 11/22/2022 该文档已废弃。我们在学习《 Ceph Cookbook 中文版,ISBN 978-7-121-29016-9》 时,按照书中内容整理该笔记,该书针对 Ceph 10 版本,其通过 radowgw-agent 实现复制。而当前最新为 Ceph 17 版本,对象存储的复制的实现也发生变化(Multisite Sync Policy),并且 GitHub/radowgw-agent 也已经归档。鉴于我们暂时不使用 Ceph 的多区域复制,所以暂时搁置相关技术的验证测试;
环境概述
Master Region: US; with Two Zone: 1)us-east; master zone; rgw instance: us-east-1; 2)us-west; secondary zone; rgw instance: us-west-1;

———————– ———————–
| Ceph RGW: us-east-1 | — sync — | Ceph RGW: us-west-1 |
———————– ———————–
| |
———————————————————-
| Ceph Cluster |
———————————————————-

Ceph Cluster: ceph-node-01 172.31.252.201; ceph-node-02 172.31.252.202; ceph-node-03 172.31.252.203;
Ceph RGW: us-east-1 172.31.252.207; us-west-1 172.31.252.208;
Ceph Client: ubuntu-developing 172.31.252.100;
第一步、配置 Ceph 集群
创建 OSD 实例,用于存储对象存储的数据
这些存储池用于存储有关对象存储数据的一些关键信息
for ceph-node-01

ceph osd pool create[……]

READ MORE

「Linux」- 家庭媒体服务,影音,媒体,视频

问题描述
BRINGS TOGETHER YOUR PERSONAL VIDEOS, MUSIC, PHOTOS, AND LIVE TELEVISION. —— 这正式我们想要寻找的解决方案。
该笔记将记录:我们是如何搭建自己的家庭影院,以及常见问题的处理方法。
解决方案
开源的组装方案
我们尝试通过很多开源软件,比如视频网站管理系统、音乐管理系统等等,来组建自己的多媒体管理方案。
集成的解决方案
在市面上已有很多集成方案,已实现家庭影音管理。
我们需要解决以下问题: 1)根据需求选择硬件。比如:应该使用那款 NAS 主机(或者自行组装)、硬盘类型、CPU MEMORY 配置参数等等; 2)寻找合适的存储管理系统,能够通过 Web 界面进行存储管理、创建网络文件系统等等。比如:FreeNAS、黑群辉等等; 3)寻找合适的多媒体服务,进行多媒体资源的管理(音频、视频、照片)。比如:Jellyfin、PLEX Media Server 等等;
硬件参数
Rack, Shelf, PDU, …、Battery, UPS, PDU
NAS (WoNiuXingJi)
操作系统
Unraid OS https://unraid.net/
Rockstor,基于 CentOS 系统; Rockstor | Linux & BTRFS powered Opensource NAS solution
Openfiler,基于 CentOS 系统;
媒体服务
PLEX Media Server Watch Free Movies & TV | Stream Smarter with Plex Plex: Free vs Paid | Plex Support
Jellyfin: The Free Software Media System Jellyfin: The Free Software Media System
以 Docker 运行,进行快速体验(但是,无法开放访问,必须有帐号密码):

docker pull jellyfin/jellyfin:latest
mkdir -p /srv/jellyfin/{config,cache}
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media –net=host jellyfin/jellyfin:latest

Emby – The open media solution(我们的选择) Emby – The open[……]

READ MORE

「STORAGE」- 性能测试:测试指标

针对磁盘性能测试,通常涉及如下指标:
Bandwidth(带宽)
吞吐量,指单位时间内可以成功传输的数据数量。在存储中,吞吐量通常是指系统每秒可以读取或写入的实际字节数,单位为 MB/s;
块的大小和数据传输速率会影响吞吐量。磁盘块容量越大,数据传输速率越高;
应用场景
如果您需要部署大量顺序读写的应用,例如Hadoop离线计算型业务等典型场景,需要关注吞吐量。
IOPS(每秒读写数)
IOPS,指每秒能处理的 I/O 个数,表示块存储处理读写(输出/输入)的能力,单位为次。
针对系统每秒处理的读写请求数,在很大程度上取决于存储设备的功能和应用程序。当应用程序发出请求时,操作系统会将请求传输到设备,并等待处理直到完成。
常用的IOPS指标
指标 描述 数据访问方式
总IOPS 每秒执行的I/O操作总次数 对硬盘存储位置的不连续访问和连续访问
随机读IOPS 每秒执行的随机读I/O操作的平均次数 对硬盘存储位置的不连续访问 随机写IOPS 每秒执行的随机写I/O操作的平均次数
顺序读IOPS 每秒执行的顺序读I/O操作的平均次数 对硬盘存储位置的连续访问 顺序写IOPS 每秒执行的顺序写I/O操作的平均次数
应用场景
如果您需要部署事务密集型应用,例如数据库类应用等典型场景,需要关注IOPS性能。
在部分厂商中,只有挂载到I/O优化的实例时,SSD云盘才能获得期望的IOPS性能。挂载到非I/O优化的实例时,SSD云盘无法获得期望的IOPS性能。
Latency(延时)
访问时延,是指块存储处理一个 I/O 需要的时间,单位为 s、ms、μs。过高的时延会导致应用性能下降或报错。
Q:磁盘延迟 vs 响应时长 是两个概念? A:磁盘延迟,其涉及设备功能;响应时长,其涉及整个服务器功能;
对于使用旋转盘片的硬盘驱动器,磁盘延迟包括两个部分:搜索时间、旋转等待时间; 1)搜索时间:驱动器磁头放置在盘片的正确轨道上所花费的时间,通常为 0.2~0.8ms; 2)旋转等待时间:该轨道上,正确的起始扇区在驱动器磁头下通过所花费的时间,该值取决于驱动速度。对于 5400 RPM 硬盘,旋转等待时间为 5.6ms;对于 7200 RPM 硬盘,旋转等待时间为 4.2ms;对于 10000 RPM 硬盘,旋转等待时间为 3ms;对于 15000RPM 硬盘,旋转等待时间为 2ms;
驱动器在定位磁头后向磁盘传输数据,数据传输速率很重要。对于固态驱动器(SSD),等效指标是存储的随机访问延迟,通常低于毫秒;
应用场景
1)如果您的应用对高时延比较敏感,例如数据库应用,建议您使用高性能类产品。 2)如果您的应用偏重数据吞吐能力,[……]

READ MORE

「Storage」- 性能指标:IOPS

问题描述
任何存储设 IOPS(I/O Operation Per Second)是一个最常用的指标。顾名思义,QPS 就是每秒 的读与操作,当然是速度越快越好。从数字来看,5w 的 IOPS 一定比 6w 的快吗?这并不是事实。而且不同厂家 SSD,相同的 IOPS 数据,在具体运行起来时,竟然会有完全不同的感觉;
IOPS 应该是当前硬盘数据中最重耍的一个值,测试方法有很多。
影响因素
测试时使用的不同因素,如 CPU、多核打幵,内存多少;CPU 的速度冇时会决定 SSD 的性能; 块的大小,诸如 4KB、8KB 等等,(这点重要); 是循序读入还是随机读入,顺序读入会快很多; 读写操作的比重,如读比与多; 读入时的任务进程有多少,越多越快 0 命令的深度,命令越深,等待时间会越少; 安装的操作系统,如 Windows 8 或 XP 就会有不同的数据; 操作系统在后台是否运行其他代码; SSD 使用历史,是否有被多次读与过; 驱动程序是否有针对操作系统或 SSD 优化;Windows 是针对 SSD 冇优化的体系
顺序读入,就是连续读数据的速度,正常 SATA3 SSD 数值 500MB/s 以上 达标的 SATA3 SSD,如果使用正常的优质颗粒,计算机的速度也正常,应该是在 500MB 以上;
顺序写入,正常 SATA3 SSD 数值 350MB/S 以上。 这个数值随着不同的控制芯片、不同的颗粒以及驱动程序优化等因素会有影响。不同的品牌也有不同的效 果。但最重要的,就是当这台 SSD 使用一段时间后,这个数值就会下降(除非重新做分区)。有趣的是,同一品 SSD,这个数值会随着容量变大而大增,如 128GB 的为 200MB, 256GB 的可能会到 350MB,而 512GB 的会到 445MB;
随机读入,块大小为 4KB,正常 SATA3 数值:30000 IOPS 以上 这个数值是业界最爱用的测试,较能贴近真正使用 SSD 时的情境。由于这个数值对控制芯片的要求很高,因此不同的产品有不同的成绩。一般来说,以 Sandforce SF2281 的产品来说,最高值都可超过 60000,而对Marvell 9174 芯片组的 SSD 来说,最高可超过 70000。我们会在梢后附上测试的完整方式。要注意的是,这个数值会随着容量的不同而改变;
随机写入,块大小为 4KB,正常 SATA3 数值:20000 IOPS 以上 随机写入也是以 4K 为主,也会随着容量改变而改变。当前最高的 Plextor M2P 256GB 可达 65000, 一般 也在 30000 以上;
性能基准
Know Your Storage Constraints: IOPS and Throughput[……]

READ MORE

「OpenNebula」- 安装部署(v6.0.0.2)

问题描述
该笔记将记录:如何部署 OpenNebula 平台,并使用其来管理虚拟机,以及常见问题的解决方案。
解决方案
参考 Installation and Configuration 文档,以获取集群安装及配置的完整方法。下面是结合我们需求的整理:
第一步、准备工作
在正式开始之前,建议阅读(并实践)以下文档的内容,以对 OpenNebula 具有整体的认识: 1)官方 Overview 文档,我们能够快速了解 OpenNebula 平台的基本概念及术语。 2)官方 Quick Start 文档,我们能够使用 GitHub – OpenNebula/minione 快速部署集群,并进行常见操作。
环境信息
1)操作系统:Ubuntu 21.04 2)软件版本:OpenNebula 6.0.2
第二步、安装 MySQL 服务
1)安装过程,参考 MySQL/on Debian 笔记;
2)进行数据库初始化设置:

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. […]

mysql> CREATE USER ‘oneadmin’ IDENTIFIED BY ‘<thepassword>’;
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON opennebula.* TO ‘oneadmin’;
Query OK, 0 rows affected (0.00 sec)

mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

# vim /etc/one/oned.conf

DB = [ BACKEND = “mysql”,
SERVER = “localhost”,
PORT = 0,
USER = “oneadmin”,
PASSWD = “<thepassword>”,
DB_NAME = “opennebula”,
CONNECTIONS = 25,
COMPARE_BINARY = “no” ]

这里创建 /etc/one/oned.conf 的目的是:在服务部署时,服务会自动启动并初始化数据库,这样就能初始化 MySQL 数据库。否则,默认使用 sqlite 数据库,而数据库迁移会是件很繁琐的事情。
第三步、添加 OpenNebula 仓库[……]

READ MORE

「Learning」- 教育经历

教育体系
教育体系_百度百科

学历 vs 学位
百度知道 / 学历和学位是什么意思? 学历证和学位证的区别是什么-问答频道-希赛网
简单说:学历是学习经历,只要有这个经历,就能拿到学历证书;学位是为了证明学生专业知识和技术水平,只有达到特定水平,或通过认证(考试),才能拿到学未证书;
学历(Education)
是受教育的经历,是时间段的概念,是接受教育的阶段,分为小学、中学、高中、中学、高中、大学、本科、研究生,因为是受教育的阶段,所以不分专业;
学历:“学历”顾名思义,有求学、学习的历史或经历的含义,是指人们在教育机构中接受科学文化教育和技能训练的学习经历;
学位(Degrees, AcademicDegrees)
学位是标志一个人学历的称号,即一个人通过学习获得知识和相应学习能力的标志,由国家授权的高校颁发。通常有学士,硕士,博士三种; 授予个人的学术称号和学术荣誉称号,表示受教育的程度和某个学科领域达到的水平,或表彰其在某个领域的杰出贡献;
由具有资格的高校、科研机构或国家授权的其他学术机构和审批机构授予。终身享有学位称号。起源于欧洲中世纪。专业技术人员有什么样的学位,表明他有什么样的学术水平和专业知识学习经历,象征着一定的身份;
学位 vs. 学历
学位是学历的象征,与学校的学习经验和学历没有关系的学历必须是学校的学习经验。因此拥有学历未必有学位,没有学历就没有学位。国外会不一样,国外是单证体系,只有学位证书。上述本科专科均为学历,具有本科学历后,再取得的相关知识和学习能力将被授予学位,本科阶段的学位称为学士;
除了初中和高中,根据大学领域,根据大致分类,可以分为本科、专科、硕士、博士,这只是指高等教育,即大学教育。目前,学位可分为学士学位、硕士学位和博士学位。这三个学位的差距也很明显,不能把学历和学位混为一谈。学历是学历,学位是学位,两者之间没有重复的名字;
学历有很多种,本科、专科、硕士、博士等,当大家听到这个名字时,大致可以归纳为教育背景。如果有人提到学士学位、硕士学位、博士学位等。我们应该知道它代表学位而不是学历。此外,许多人不知道博士后是学位还是学历。事实上,博士后不是学位,而是指获得博士学位后,在相关科研机构或高等院校从事一定的研究工作,或者在博士后流动站进行相关科研的研究人员。所以博士后既非学历,也非学位;
这里有两个概念,一个是博士学位,一个是全日制博士学位和博士学位。只讲博士学位,时间可长可短,学校可靠还是不可靠,导师是否优秀,可亲自花功夫可枪手;但如果是攻读全日制博士研究生学历和博士学位,时间基本不低于三年,一般而言,硕博连读的那种博士学位可以直接从五年到六年毕业,一般情况下,单读博士要五六年才能毕业,七八年十年不能毕[……]

READ MORE

「LEARNING MATHEMATICS」

研究工具
教育培训: Brilliant | Learn interactively 3Blue1Brown Art of Problem Solving
书籍文献:
官方文档:
博客文章:
学习路线
完整学习路线:TalalAlrawajfeh/mathematics-roadmap: A Comprehensive Roadmap to Mathematics
进阶学习(高等数学)
20本推荐必读的数学书籍 – Sunnylabh – 知乎
WIP
相关链接
深入浅出的讲解傅里叶变换(真正的通俗易懂)
补充说明
大多数人都没有建立起一个概念,就是高中数学如果仅仅从内容上来讲,基本上没有超出人类在公元前达到的最高水平。
乘法速算
0 – 9:

10 – 19:

(10 + a) * (10 + b)
= 10 * (10 + b) + a * (10 + b)
= 10 * 10 + 10 * b + a * 10 + a * b
= (10 * 10 + 10 * b + a * 10) + a * b
= (10 + a + b) * 10 + a * b

17 * 18 = (10 + 7) * (10 + 8)
= (10 + 7 + 8) * 10 + (7 * 8)
= (17 + 8) * 10 + (7 * 8)
= 306[……]

READ MORE

「MATHEMATICS」- 概念术语

数论(Number Theory)
数论(数学分支)_百度百科
数论(number theory ),是纯粹数学的分支之一,主要研究整数的性质。整数可以是方程式的解(丢番图方程)。有些解析函数(像黎曼ζ函数)中包括了一些整数、质数的性质,透过这些函数也可以了解一些数论的问题。透过数论也可以建立实数和有理数之间的关系,并且用有理数来逼近实数(丢番图逼近)。[……]

READ MORE

「Elementary Mathematics」- 初等数学(基础数学)

基础学习(初等数学)
数学书单:顶级数学人推荐的6本入门级的数学好书! – 知乎
《高观点下的初等数学,克莱因》 《An Excursion through Elementary Mathematics(初等数学之旅)》:Vol.1;Vol.2;Vol.3;
学习网站: 1)Math is Fun / 数学乐
《什么是数学:对思想和方法的基本研究(第四版)》(及《什么是数学》习题解析套装)本书是世界著名的数学科普读物,它搜集了许多经典的数学珍品,对整个数学领域中的基本概念与方法,做了精深阐述。无论是数学专业人士,或是愿意作数学思考者都可以阅读本书。特别对中学数学教师、大学生和高中生,本书是一本极好的参考书。 《学好数学并不难》则是数学方面非常专业的经典好书!本书通过数学“白痴”法布尔成功逆袭的故事,证明数学是每个人都可以掌握的能力,循序渐进地引导孩子们认识加减乘除的特征,认识变量、方程、不等式的性质,系统地介绍了数学的源起、加减乘除的性质、代数方程和不等式的历史由来和现实应用,并把这些知识点融合成一个个精彩悬疑的故事。本书通过一系列的故事和案例,深入浅出地讲解了初中数学的知识,如果孩子对数学提不起兴趣、对数学有畏难情绪,或者找不到正确的学习方法,那么,阅读本书一定受益匪浅。 《烧掉数学书》则是一本全新概念的数学科普书。抛开传统晦涩的数学符号和讲述方式,用年轻人易于接受的语言阐释高深的数学知识和概念。本书打破了数学教育界认为在讲授微积分之前必须花大量时间和精力学习微积分的严格化基础的惯例,从理解微积分本身的用途和方法着手,反过来再提出微积分基础严格化的问题,从而顺理成章地引出极限和逼近等概念。 《数学那些事》介绍了数学世界的伟大定理、难题、争论以及诸多不解之谜。书中还介绍了许多数学大师的生活轶事,例如浮夸不逊的伯特兰.罗素、聪明好斗的伯努利兄弟以及天才索菲亚.柯瓦列夫斯卡娅等,数学家栩栩如生的形象跃然于纸上。
《吉米多维奇数学分析题集》 《2025 年的数学科学》 《数学之美,吴军》
《古今数学思想》共 3 册本书是数学史的经典名著,初版以来其影响力一直长盛不衰。著作可谓博大精深,洋洋百万余言,阐述了从古代直到20世纪头几十年中的数学创造和发展,特别着重于主流数学的工作。大量一手资料的旁征博引,非常全面地提及各个历史时期的数学家特别是知名数学家的贡献,是本书的一大特色。 《普林斯顿微积分读本(修订版)》本书是作者多年来给普林斯顿大学本科一年级学生开设微积分的每周复习课。本书专注于讲述解题技巧,目的是帮助读者学习一元微积分的主要概念。深入处理一些基本内容,还复习一些主题。本书不仅可以作为参考书,也可以作为教材,定会成为任何一位需要微积分知识人学习一元微积分的非常好的指导书。
高中数学需要学习的知识
高中数[……]

READ MORE

「LEARNING MATHEMATICS」- Logarithm

Logarithm Properties
Proofs of Logarithm Properties (solutions, examples, games, videos)[……]

READ MORE

「LEARNING-PHYSICS」- 物理学习笔记

https://www.feynmanlectures.caltech.edu/[……]

READ MORE

「GCC」- GNU Compiler Collection

International System of Units(国际单位制)
国际单位制_百度百科 Wikipedia/International System of Units
—— 世界上普遍采用的标准度量衡单位系统
7 种基本单位:time,length,mass,electric current,thermodynamic temperature,amount of substance,luminous intensity
时间单位(Time Unit)
时间单位_百度百科
一分秒(decisecond) 寓言中常说的“一眨眼”的时间就是十分之一秒(英文缩写为 ds)。人类的耳朵需要十分之一秒的时间来分辨发声回声。远离太阳系飞行的飞行器旅行者 1 号,每十分之一秒飞离太阳约两公里。蜂雀在这个时间里可以拍打 7 次翅膀。为 A 到中 C 定调的调音叉振动 4 次;
一厘秒(centisecond) 即百分之一秒(英文缩写 cs)
一毫秒(millisecond) 即千分之一秒;10−3(10 的负 3 次方秒)(英文缩写 ms) 典型照相机的最短曝光时间为一毫秒。一只家蝇每三毫秒扇一次翅膀;蜜蜂则每五毫秒扇一次。由于月亮绕地球的轨道逐渐变宽,它绕一圈所需的时间每年长两毫秒。在计算机科学中,10 毫秒的间隔称为一个 jiffy;
一微秒(microsecond) 即百万分之一秒;10−6(10 的负 6 次方秒)(英文缩写 μs) 光在这个时间里可以传播 300 米,大约是 3 个足球场的长度,但是海平面上的声波只能传播 1/3 毫米。高速的商业频闪仪闪烁一次大约持续 1 微秒。一筒炸药在它的引线烧完之后大约 24 微秒开始爆炸;
一纳秒(nanosecond) 即十亿分之一秒;10−9(10 的负 9 次方秒)(英文缩写 ns) 光在真空中一纳秒仅传播 30 厘米(不足一个步长)。个人电脑的微处理器执行一道指令(如将两数相加)约需 2 至 4 纳秒。另一种罕见的亚原子粒子 K 介子的存在时间为 12 纳秒;
一皮秒(picosecond) 即万亿分之一秒;10−12(10 的负 12 次方秒)(英文缩写 ps) 最快晶体管的运行以皮秒计。一种高能加速器产生的罕见亚原子粒子 b 夸克在衰变之前可存在 1 皮秒。室温下水分子间氢键的平均存在时间是 3 皮秒;
一飞秒(femtosecond) 即千万亿分之一秒;10−15(10 的负 15 次方秒)(英文缩写 fs) 一个分子里的一个原子完成一次典型振动需要 10 到 100 飞秒。完成快速化学反应通常需要数百飞秒。光与视网膜上色素的相互作用(产生视觉的过程)约需 200 飞秒;[……]

READ MORE

「Quantum Physics」- 入门笔记

在烧脑、反直觉和毁人三观方面,没有任何学科能够和量子力学相比。如果把理工男最爱的大学比作霍格沃兹魔法学校,那么唯一和量子力学专业相提并论的,只能是黑魔法。
然而,量子理论之所以如此神秘,并不是因为物理学家的故弄玄虚。其实,在量子理论刚诞生的摇篮时期,它只是一门人畜无害的学科,专门研究电子、光子之类小玩意儿。
而「量子」这个现在看来很厉害的名字,本意不过是指微观世界中「一份一份」的不连续能量。
这一切,都源于一次物理学的灵异事件。
光,到底是波还是粒子?
20 世纪初,物理学家开始重点纠结一个纠结了上百年的问题:光,到底是波还是粒子?
粒派:所谓粒子,可以想象成一颗光滑的小球球。每当你打开手电,无数光子就像出膛的炮弹一样,笔直地射向远方。很多著名科学家(牛顿、爱因斯坦、普朗克)做了很多权威的实验,确凿无疑地证明了光是一种粒子。
波派:所谓波,就像往河里扔块石头,产生的水波纹一样。如果把光看作是一种波,可以完美解释干涉、衍射、偏振等经典光学现象。很多著名科学家(惠更斯、杨、麦克斯韦、赫兹)做了很多权威的实验,确凿无疑地证明了光是一种波,电磁波。
可问题是,波和粒子毕竟是两种截然不同的东西,在波与粒间,存在着不可调和的矛盾。 1)粒子可分成一个一个的最小单位,单个粒子不可再分;波是连续的能量分布,无所谓「一个波」或者「两个波」; 2)粒子是直线前进的,波却能同时向四面八方发射; 3)粒子可以静止在一个固定的位置上,波必须动态地在整个空间传播。
在 20 世纪初,光学的知识储备和数学理论越来越完善。大家逐渐觉得,这一块的真相总算有希望拼出来了——结果却发现,波派和粒派的理论早已背道而驰,还各自越走越远。
双方僵持不下直到 1924 年,终于有人大彻大悟:波 or 粒,为什么光不能两者都是呢?也许在某些时候,粒子看起来就像是波;在另一些时候,波看起来就像是粒子。波和粒如同阴阳一般相生相克,就像一枚硬币的正反两面(波粒二象性),只不过我们一直以来都在盲人摸象、各执一词。 

真理确实只有一个,但是真理的表现形式存在着多个版本。
双缝干涉实验
WIP[……]

READ MORE

「Learning」- 学什么(学习内容,What)

问题描述
学什么?
在回答这个问题前,我们先要知道当前文明的所有领域。然后,我们才能从中选择我们感兴趣的领域(其实我们心中已有答案,只是需要进而明确);
解决方案
然而,这个问题很好解决 —— 学科分类
专业学位 vs. 学术学位
专业学位与学术学位的关系

专业学位和学术学位的本质区别在于人才培养目标、知识结构、培养模式及人才质量标准不同。高等教育越成熟,两个体系的划分越明晰;
学术学位(面向科研)
主要面向学科专业需求、培养在高校和科研机构从事教学和研究的专业人才,其目的重在学术创新,培养具有原创精神和能力的研究型人才;
设立学术学位主要是为了满足人的发展的普遍需要和社会基础研究人才的需要,因此,学术学位所表征的主要是学位获得者在相应的学科领域中知识的掌握程度和理论的修养水平,职业能力并不被纳入其重点考虑的范畴;
专业学位(面向社会)
主要面向经济社会产业部门专业需求,培养各行各业特定职业的专业人才,其目的重在知识、技术的应用能力,培养具有较好职业道德、专业能力和素养的特定社会职业的专门人才,如工程师、医师、教师、律师等;
设立专业学位主要是为了满足特定社会职业的专业人才需求,如工程师、医师、教师、律师、会计师等,主要着力于培养受教育者应用型开发性研究与设计能力;专业学位表征的主要是其获得者具备了特定社会职业所要求的专业能力和素养,具备了从业的基本条件,能够运用专业领域已有的理论、知识和技术有效地从事专业工作,合理地解决专业问题;
学术 vs. 学科
学术与学科的区别?_百度知道 学术型_百度百科 学术学科_百度百科
学术
是指系统专门的学问,是对存在物及其规律的学科化论证,泛指高等教育和研究。当代人学家张荣寰将学术的概念界定为是对存在物及其规律的学科化论证。这个词对应的英文 Academia 更常见的意义是指进行高等教育和研究的科学与文化群体,在作这个意义用时对应于中文的学术界或学府。Academia 这个词来自于地名(Akademeia)。这个地方位于古代雅典的外围。那里的体育馆曾由于被柏拉图改为学习中心而闻名;
延伸开来,Academia 这个词也可以用来指“知识的累积”,在这个意义上通常译为学术。学术的发展和传播跨越了好几个时代。在 17 世纪,英国及法国的宗教学者常用学院(或学园)来表示高等教育机构。英语称呼为 academy 而法语称呼为 academe 及 academie
学术型
是指高等教育中相对应用型侧重于理论和学术研究的类型,涵盖学术型大学、学术型专业、学术型学位、学术型博士、学术型硕士、学术型人才等;
学科
是学术的分类。指一定科学领域或一门科学的分支。如自然科学中的化学、物理学;社[……]

READ MORE

「University」-

学术学科
现有世界所有学科有哪些?各个学科之间的包含 / 从属关系又是怎样的?有没有专门研究学科分类定义的学科? – 知乎 谈谈学术领域(上)——形式科学、自然科学 – 知乎
学科门类
Wikipedia/Outline of academic disciplines 理学(现代教育分支学科)_百度百科 学科门类有哪些(14 类名单)_大学生必备网
我国官方的标准:《中华人民共和国学科分类与代码 GB/T13745-2009》;
根据维基百科的【学科分类】词条,现在比较通用的学科大类主要有五种: 1)形式科学 2)自然科学 3)社会科学 4)人文学科 5)应用科学
我国分为 14 个学科门类:哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、军事学、管理学、艺术学;
在我国,研究生在学科门类设置上一共设置为 13 个门类,分别是 01 哲学、02 经济学、03 法学、04 教育学、05 文学、06 历史学、07 理学、08 工学、09 农学、10 医学、11 军事学、12 管理学、13 艺术学。
每一个门类下属又有很多个,一级学科专业,一级学科下属又包含若干个二级学科,也就是我们通常所说的专业,在每一个专业上又分为很多个不同的研究方向。
2021 年 1 月,国务院学位委员会、教育部印发通知,新设置「交叉学科」门类,成为中国第 14 个学科门类,下设「集成电路科学与工程」和「国家安全学」作为一级学科。
目前为止,除了新设立的交叉学科,其他飞 4 学科门类都进行了多年的研究生招生;
七大基础学科
七大基础学科是哪些?_百度知道
数学、逻辑学、物理学、天文学和天体物理学、地球科学和空间科学、化学、生命科学
专业目录
普通高等学校本科专业目录(2022 年版)_大学生必备网 电子信息工程,计算机科学与技术,电子科学与技术有什么区别,哪个较难,就业前景,薪资? – 知乎
西安翻译学院 / 普通高等学校本科专业目录(2022 年版) [教育部]普通高等学校本科专业目录
电子信息工程(Electronic and Information Engineering) 1)主要研究方向是电子信息通信,偏向于通信领域,会学习电路设计,通信网络等方面; 2)面对的专业课大致有:模拟电路,数字电路,通信电路,信号系统,通信原理,c 语言,通信网络,计算机网络,计算机原理 3)未来就业方向: 华为,思科,爱立信,中兴,移动,联通,电信[……]

READ MORE

「Learning」- Self-educated

成人自考本科怎么报名?
成人自考本科怎么报名?
登录当地的教育官网:百度直接搜索“省份+教育考试院官网”
预报名:点击“自考考试”进入下方页面选择考生入口,点击:“预报名”在网页端完成预报名信息录入获取预报名号,并牢记预报名的时候设置的密码!
新生注册点击“考生预报名”按钮填写个人信息,点击提交信息然后预报名就成功啦;
采集照片:在教育考试院官方小程序上选择相片采集“考生端”进入然后拍的照片尽量拍端正好看;
正式报考:进入考生登录页面,进入考生报考登录界面输入准考证号和密码及验证码登录个人平台(如果忘记密码要到考生入口找回密码)
填报专业+缴费:选择考生报考选择“考试县区”输入报考科目,保持报考信息确认报考信息、缴费、点击前往缴费;
报名成功:查询缴费信息,完成缴费后,进入考生报考界面,查看缴费信息,要是显示已缴费就是报名成功啦!
我们报考的专业
毕竟是自学考试,门槛相对角度,所以也不会有什么特别由深度的专业
计算机及应用,本科 计算机信息管理,本科,偏重于管理[……]

READ MORE

「Industry and Occupation」- 行业与职业

国内行业
根据中华人民共和国统计局的行业分类标准,我国现有以下行业: 01)农、林、牧、渔业 02)采矿业 03)制造业 <= (半导体行业) 04)电力、热力、燃气及水生产和供应业 05)建筑业 06)批发和零售业 07)交通运输、仓储和邮政业 08)住宿和餐饮业 09)信息传输、软件和信息技术服务业 <= (互联网行业) 10)金融业 11)房地产业 12)租赁和商务服务业 13)科学研究和技术服务业 14)水利、环境和公共设施管理业 15)居民服务、修理和其他服务业 16)教育 17)卫生和社会工作 18)文化、体育和娱乐业 19)公共管理、社会保障和社会组织 20)国际组织
兴趣职位
Java 开发工程师 Android 开发工程师 PHP 开发工程师 运维开发工程师(Operations Engineer)
嵌入式工程师
硬件工程师 半导体行业 驱动工程师
参考文献
中国现在有哪些行业-百度经验[……]

READ MORE

「Operations Engineer」- 运维工程师,技能要求

解决方案
在当前环境下,多数以业务为核心,所以学习什么技术并不是我们能决定的,而是业务、市场决定的。基于此,如果想知道我们该学习什么技术,直接去招聘网站看招聘需求即可 —— 即「用什么学什么」;
我们需要关注的技术点(20191025)
作为一名运维工程师,我们有着大堆的技术要研究。除了需要熟练数据库、网络、虚拟化、监控、服务器、备份等等常见技术,还要略懂 PHP、JVM、AWS、JIRA 等等这些环境以及调优、问题排查。总之,各种技术一大堆,都需要我们研究;
可是我们的时间和精力是有限的。有些技术,对于运维工程师来说,并不是十分重要的。这些技术的 ROI(投入产出比)是非常低的。例如 PowerShell 脚本,对于运维工程师来说,花费时间研究 PowerShell 脚本,不如花费时间研究 Linux Shell 脚本。因此,我们应该把精力放在那些,对于运维工程师,更广、更常见、更经久不衰的技术上;
我们试图从技术的海洋中,找到运维工程师更应该关注的技术;
解决方案
为了找到“那些技术”,我们从招聘网站中爬…………哦,不…………整理了所有“运维工程师”职位数据;
我们尝试从所有企业的招聘信息中,找到那些出现频率最高的技术关键词。这些技术也一定是大多数企业所需要的;
这些技术的收入不一定是最高的,关于薪资我们也会进行分析。我们也会找到各个薪资段中,对技术方向的要求;
如何处理数据呢?
首先,我们只过滤了职位描述中的英文及数字。为什么?(1)大多数中文描述内容都类似于“掌握容器技术”、“监控服务器的运行状态、系统性能”、“熟悉各云平台产品”等等,太过于笼统,没有指出具体技术要求。(2)某些任职描述偏向于品质,比如“有较强的抗压能力、沟通能力”、“较好的服务意识”等等,这些内容会影响到我们数据分析,因为我们分析的重点是技术。(3)还有一些描述,形如“高可用”、“监控”、“日志”等等,没有涉及具体技术的,都可视为干扰。例如高可用,当我们谈论它的时候,一定是某个服务的高可用,而不会说“如何搭建高可用”;
其他,我们将英文转为小写,并去除单个技术术语中的空格。比如 SQL Server 则转化为 sqlserver 形式,防止它被分解成 SQL 与 Server 两个词;
技术关键词的词云
首先让我们来看看词云图:
借助上面的词云图,我们“大致”可以得到以下几点结论:

(1)经常会有术语拼写错误的情况。比如“Rsync”写成“Rync”,这是我亲眼所见;
(2)而 Linux 则是运维工程师永恒的话题,当然这就要提一下 CentOS 发行版了;
(3)最显眼的几个词:Linux Python Shell MySQL Zabbix[……]

READ MORE

「Operations Engineer」- 工作内容

解决方案
我们日常工作偏向于业务系统运维,而非计算机科学,所以更加的倾向于应用运维、业务维护,但并不会过多涉及软件工程相关的技术;
简单说: 1)我们的运维技术基本都是围绕数据库、监控、日志、缓存、自动化等等展开的,基本上是维护用于支持业务运行的服务; 2)而诸如软件开发、项目管理工具、测试方法、持续集成相关的内容和运维的关系并不紧密,最多就是负责维护;
运维环境
其他事项 技术学习 运维规范
v0.1

v0.2[……]

READ MORE

「Operations Engineer」- 平均薪资

各薪资段的技术关键词
当然这也是大家最关心的部分。到底掌握哪些技术才能拿到高薪;
很显然,直接分析各薪资段的技术要求是没有意义的。因为每个城市的薪资水平不同。三线城市的 10K 薪资与一线城市的 10K 薪资,二者对技术能力要求是不同的;
因此,我们以城市为单位进行了统计分析,包括北京、上海、广州(深圳)、杭州。将薪资划分为五个段落,分别是 5k-10k、10k-15k、15k-25k、25k-50k、50k 以上。而薪资通常是范围,我们取了范围的中位数;
先说结论
# 要懂得多:结果非常符合运维工程师岗位特点:要懂的多,要会的多。薪资越高,技术关键字越多;
# 走向精通:当薪资没有超过 10K 时,技术要求很低。当薪资超过 10K 之后,基本上所有的关键字都冒了出来。从侧面可以推测,薪资水平越高,对技术熟练读要求越高(这一点可以通过岗位描述中的“掌握”、“熟练”、“精通”等词汇的频率进行验证);
# 关注重点:我们并没有得到薪资与技术之间的关系。对于运维工程师这个岗位来说,还是要懂的多,但是依旧要有重要的关注点。像 OpenShift、Mesos、PowerShell 等等,我们可以稍微降低关注度,将更多的精力放在 Kubernetes、Docker、ELK 等技术上;
25k-30k(05/03/2022)
复制多份招聘职位的岗位要求之后,放眼望去,技能范围似乎没有太大差别(更多是对掌握度的要求):

学历:计算机转业,本科,专科;
人际:.*(责任|抗压|沟通|协作|客户|文档).*\n
技术:.*(工作经验).*\n;
————————————————————————————————————————

熟练并灵活运用至少一种以上的程序语言:shell、python、perl、java,go 等;
具备 ansible,cobbler,kickstart 等自动化运维工具的使用经验,有虚拟化背景技术优先;
有压力测试、性能测试经验者优先
良好的英文听说读写能力
深入理解 linux 系统,精通各种服务器部署、维护及性能优化工作;
精通 Nginx,Tomcat,MySql,Redis,Opentsdb 等常用软件的部署和调优;
精通 shell 脚本,必须掌握 python\Java\go 中一种语言;
有阿里云、AWS 运维经验,了解 Kubernetes,openstack,docker 等开源技术,并有一定项目实践经验;
熟悉开源监控工具搭建、维护、二次开发,如 zabbix,prometheus,open-falc[……]

READ MORE

「Operations Engineer」- 运维工程师,经验教训

问题描述
作为运维工程师,在长期工作中,总会有些感悟(从业经验及教训);
该笔记将记录:我们在工作中获得的经验教训,以更好的引导后续工作;
解决方案
WIP
历史遗留
部分东西是历史遗留,在今天看来它们不是最优的设计,但是地基已经建完,很难再去调整整座建筑的整体形态;
研究对象,最好从它的历史开始。学科知识只是告诉你了这东西是什么和怎么用(为了解决问题),而历史告诉我们这东西是怎么来的(为了防止我们倒开车)。
Rule No. 1(知识是学不完的 ⇒ 选择方向)
希望被问题困住,而不是被知识埋住;
从问题切入,展开学习
首先,确定要解决的问题,然后再研究软件及技术方案。
有时候,如果陷入某些技术,将耗费大量精力而收效甚微(ROI)。以 Jenkins 为例,它存在很多边边角角的问题,但是如果我们的问题不涉及这些地方,就不要理会它。悬崖边确实没有护栏,但是我们不需要去那里,就不会有掉下去;
有些知识简单了解即可,比如设计模式、软件开发等等专长领域之外的知识;
并选择领域,深入学习
知识要进行分类。站在我们的角度:有些知识要熟记于心,比如网络、计算机、系统管理的基本命令等等基础知识;
我们要选择自己要深入研究的领域,并且这个领域内的知识必须是长期有效的。

选择自己要深入研究的领域,是为了以后发展,深入该领域,并有所建树;

知识必须是长期有效,也是为了使得自己投入的时间更有意义,不会快速失效;

Rule No. 2(追求确定的结果 ⇒ 制定计划)
明确的计划 ⇒ 明确行为 ⇒ 明确结果
如果重复劳动不能自动化,那它必定成为体力劳动
计算机为我带来的最大改变是自动化,让机器代替我们完成工作,不然我们还要机器干嘛呢;
# 07/09/2019 改用 Python 了,Python 3.7,使用 GitPython 库操作版本库。使用 Python 的最主要原因是:Shell 作为一个胶水语言,则某些方面性能不行,处理速度太慢了。使用 Python 实现,替换原有的 Shell 脚本;
# 12/16/2018 本页面完全由「Git Hooks」配合「Shell 脚本」自动生成;
为了快速解决问题
为了快速解决问题,我们通常会去搜索壹些“文章”(非官方文档),它们可以帮助我们快速解决问题。但是,这些文章有时会省略某些细节,出现实操过程中与文章内容不符的情况;
购买书籍是要注意的问题
官方文档:具有详细的实例;具有权威性;也是最新的内容;
工具书有时看起来太累了。有些工具书没有经过时间的考验,不建议购买;在经过时间考验之后,也差不多过[……]

READ MORE

「Learning」- 兴趣职业调研

[IGN] 片上系统(System on Chip)
soc(系统级芯片)_百度百科 soc 设计和数字 ic 设计有什么区别? – 知乎
SoC 的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来, SoC 称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软 / 硬件划分,并完成设计的整个过程;
从电子系统的结构上看,SoC 就是把系统所需要的全部功能电路,设计并制造在一个集成电路芯片中,从而实现了系统级的高度集成。正是由于这种高度集成,使得 SoC 技术与传统集成电路设计、分析和制造理论与技术之间存在着巨大的差别。同时,也使应用电子技术的理论与设计实现技术发生了重大变化;
我们理解为具有具体产品功能的芯片;
SoC vs. Sigital IC Design
逻辑设计的层次很大不同。以华为为例,得到 ARM 和高通的授权的逻辑设计,里面的逻辑不能更改,只能在各种功能连接和外部连接上下功夫,这是一种典型的 SOC 逻辑设计。而数字 IC 设计,以 Intel 为例,是从功能部件的逻辑设计开始,再把功能部件连接在一起和进行外部连接进行全逻辑设计。这是最大的设计的不同;
[IGN] 数字 IC 设计(Digital IC Design)
当你的朋友问什么是数字 IC 时… – 知乎
数字 IC 就是用来传递、加工、处理数字信号的;
模拟 IC 就是用来处理自然模拟信号的,要更难一些、门槛也更高;

设计阶段的岗位就是全员不下产线的;
你问我什么算设计阶段?
芯片在晶圆厂(台积电、中芯国际)生产之前的,都算设计环节;
你问我光刻机算哪个阶段?
光刻机属于设备,算制造阶段的上游,与 IC 设计无关;
敲不敲代码?
有的岗位要敲的,比如前端设计和功能验证,但是不是天天硬刚代码;
主要的工作重点在于芯片功能的设计和验证,其次才是代码实现;
至于大家常用的 Verilog,那是硬件描述语言,写出的 RTL 代码不叫编程,叫描述电路。换句话说,RTL 代码不是在“写代码”,而是在画电路结构;
岗位分类
架构师:统筹兼顾。站在最高处,负责整个芯片方案的制定;
前端设计:开始具体的设计部分,完成芯片功能的实现。就像建筑设计师要设计一栋大厦一样;
功能验证:给前端设计“找茬”,一个模块一个模块去验证,看设计是不是符合了功能要求;
后端设计:是最接近制造端的岗位。前面环节给出的都是代码,后端设计就要更加考虑物理实现了,比如电路的布局布线;
DFT 设计[……]

READ MORE