tonglin0325的个人主页

读《浪潮之巅》有感

前阵子在忙考试和论文的事,有些事情就耽搁了,所以现在补上《浪潮之巅》读后感
对于一个弄潮的年轻人来讲,最幸运的,莫过于赶上一波大潮。 ———— 《浪潮之巅》

全文 >>

ubuntu下安装gedit插件

因为gedit-plugins : 依赖: gir1.2-zeitgeist-2.0

所以首先

1
2
sudo apt-get install gir1.2-zeitgeist-2.0

 如果报错可以先

1
2
sudo apt-get update

 然后

1
2
sudo apt-get install gedit-plugins

 在gedit的插件里面选中嵌入终端、单词补全等插件就行了

Ubuntu16.04安装cuda和pytorch

1.安装cuda

参考:Ubuntu下安装CUDA

pytorch可以不依赖GPU运行,但是如果需要使用NVIDIA的GPU,则需要安装cuda

查看是否安装cuda

1
2
3
4
lintong@master:~$ nvcc -V
程序“nvcc”尚未安装。 您可以使用以下命令安装:
sudo apt install nvidia-cuda-toolkit

查看GPU型号,GPU型号是GTX1050Ti

1
2
3
4
lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

查看是否安装NVIDIA GPU的驱动,驱动的版本是430.64,最高能支持到的cuda版本是10.1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
nvidia-smi
Sun Oct 23 20:27:21 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.64 Driver Version: 430.64 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 105... Off | 00000000:01:00.0 On | N/A |
| 40% 29C P8 N/A / 100W | 370MiB / 4036MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1106 G /usr/lib/xorg/Xorg 259MiB |
| 0 28186 G compiz 106MiB |
| 0 28455 G ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files 1MiB |
+-----------------------------------------------------------------------------+

去官方下载runfile来安装cuda

1
2
https://developer.nvidia.com/cuda-toolkit-archive

全文 >>

使用JMeter进行压测

1.下载jmeter

1
2
3
4
https://jmeter.apache.org/download_jmeter.cgi
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
tar -zxvf apache-jmeter-5.4.3.tgz

2.修改配置成中文

1
2
3
➜  /Users/lintong/software/apache-jmeter-5.4.3/bin $ vim jmeter.properties
language=zh_CN

3.启动

1
2
➜  /Users/lintong/software/apache-jmeter-5.4.3/bin $ sh jmeter

 

 

MPP数据仓库简介

MPP(Massively Parallel Processor/大规模并行处理)数据仓库,其属于OLAP(Online analytical processing,联机分析处理)的范畴

其中,ROLAP指的是(Relational OLAP/关系OLAP);MOLAP指的是(Multi-dimensional OLAP/多维OLAP),参考:主流开源OLAP引擎大比拼

ROLAP 的优点和缺点

ROLAP的典型代表是:Presto,Impala,Doris,GreenPlum,Clickhouse,Elasticsearch,Hive,Spark SQL,Flink SQL

数据写入时,ROLAP并未使用像MOLAP那样的预聚合技术;ROLAP收到Query请求时,会先解析Query,生成执行计划,扫描数据,执行关系型算子,在原始数据上做过滤(Where)、聚合(Sum, Avg, Count)、关联(Join),分组(Group By)、排序(Order By)等,最后将结算结果返回给用户,整个过程都是即时计算,没有预先聚合好的数据可供优化查询速度,拼的都是资源和算力的大小。

ROLAP 不需要进行数据预处理 ( pre-processing ),因此查询灵活,可扩展性好。这类引擎使用 MPP 架构 ( 与Hadoop相似的大型并行处理架构,可以通过扩大并发来增加计算资源 ),可以高效处理大量数据。

但是当数据量较大或 query 较为复杂时,查询性能也无法像 MOLAP 那样稳定。所有计算都是即时触发 ( 没有预处理 ),因此会耗费更多的计算资源,带来潜在的重复计算。

因此,ROLAP 适用于对查询模式不固定、查询灵活性要求高的场景。如数据分析师常用的数据分析类产品,他们往往会对数据做各种预先不能确定的分析,所以需要更高的查询灵活性。

MOLAP 的优点和缺点

MOLAP的典型代表是:Druid,Kylin,MOLAP一般会根据用户定义的数据维度、度量(也可以叫指标)在数据写入时生成预聚合数据;Query查询到来时,实际上查询的是预聚合的数据而不是原始明细数据,在查询模式相对固定的场景中,这种优化提速很明显。

MOLAP 的优点和缺点都来自于其数据预处理 ( pre-processing ) 环节。数据预处理,将原始数据按照指定的计算规则预先做聚合计算,这样避免了查询过程中出现大量的即使计算,提升了查询性能。

全文 >>

ant-design-pro v5学习笔记

ant-design-pro基于ant design和umijs,v5是目前的最新版本

ant design官方文档:https://ant.design/index-cn/

umijs官方文档:https://v3.umijs.org/zh-CN/docs/directory-structure

项目demo:https://preview.pro.ant.design/dashboard/analysis

1.初始化ant-design-pro v5项目

快速创建项目,ant-design-pro v5需要node14,如果版本过低的话则需要升级

1
2
https://pro.ant.design/zh-CN/docs/getting-started/

选项我选了umi@3和simple,创建出来项目结构如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
├── config                   # umi 配置,包含路由,构建等配置
├── mock # 本地模拟数据
├── public
│ └── favicon.png # Favicon
├── src
│ ├── assets # 本地静态资源
│ ├── components # 业务通用组件
│ ├── e2e # 集成测试用例
│ ├── layouts # 通用布局
│ ├── models # 全局 dva model
│ ├── pages # 业务页面入口和常用模板
│ ├── services # 后台接口服务
│ ├── utils # 工具库
│ ├── locales # 国际化资源
│ ├── global.less # 全局样式
│ └── global.ts # 全局 JS
├── tests # 测试工具
├── README.md
└── package.json

如果需要去掉手机登录相关的,参考:修改 Antd Pro V5 登录页面

如果需要去掉国家化的代码,参考:https://pro.ant.design/zh-CN/docs/getting-started

全文 >>

ubuntu下gedit和vim输入中文和中文显示

安装和配置VIM,参考   http://jingyan.baidu.com/album/046a7b3efd165bf9c27fa915.html?picindex=4

 

在home/你的用户名 这个目录下打开.vimrc文件,由于这种文件是隐藏的,查看的时候要使用ls -al命令查看

没有就建立一个

1
2
vim .vimrc

 

然后输入以下配置

1
2
3
4
5
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936,big-5
set enc=utf-8
let &termencoding=&encoding

 

接下来esc,:w保存就能输出中文了

全文 >>

Python学习笔记——基本语法

1.程序输入和输出

raw_input()内建函数

1
2
3
4
5
>>> user = raw_input('Enter your name:')
Enter your name:root
>>> print 'Your name is:',user
Your name is: root

print语句

1
2
3
4
5
6
>>> myString = 'Hello World!'
>>> print myString
Hello World!
>>> myString
'Hello World!'

1
2
3
4
5
>>> print type(u"你")    #都能输出汉字,但是输出的类型不一样
<type 'unicode'>
>>> print type("你")
<type 'str'>

 注意:在仅用变量名的时候,输出的字符串是用单引号括起来的

2.操作符

<1>两种除法——单斜杠/用于传统的除法,双斜杠//用作浮点除法(对结果进行四舍五入)

<2>乘方操作符——双星号**

<3>标准比较操作符——< <= > >= == != <>

<4>逻辑操作符——and or not

3.变量和赋值

Python是动态类型语言,不需要预先声明变量的类型

Python不支持C语言中的自增1和自减1操作符

4.数字

<1>有符号整型 长整型 布尔值

<2>浮点值

<3>复数

5.字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> myString = "Hello"
>>> myString[0]
'H'
>>> myString[2:4]
'll'
>>> myString[1:]
'ello'
>>> myString[:4]
'Hell'
>>> myString[-1]
'o'
>>> myString * 2
'HelloHello'
>>> myString + myString
'HelloHello'

 

1
2
3
4
5
6
7
8
>>> myString = '''python
... is cool'''
>>> myString
'python\nis cool'
>>> print myString
python
is cool

6.条件语句

1
2
3
4
5
6
>>> if x>1:
... x -= 1
... print '#%d' % (x)
...
#2

条件表达式

1
2
3
4
5
>>> x = 3
>>> x = 1 if x<3 else 2
>>> x
2

 

全文 >>