自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AndrewYZWang的博客

keep life simple! stupid

  • 博客(53)
  • 资源 (24)
  • 收藏
  • 关注

原创 信号-linux

andrew@andrew-Thurley:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15)...

2018-08-30 00:15:28 129

原创 system函数-linux

函数介绍: system - execute a shell commandSYNOPSIS #include <stdlib.h> int system(const char *command);DESCRIPTION The system() library function uses fork(2) to ...

2018-08-28 23:50:30 1400

原创 exec函数

  调用exec函数之后,进程就不会返回了,直接在exec执行的函数执行结束后结束进程。 测试:#include <unistd.h> #include <stdio.h>#include <sys/types.h>#include <errno.h>#include <stdio.h>#includ...

2018-08-27 23:25:54 2398

原创 安装并配置ssh服务器

安装SSHsudo apt-get install openssh-server安装好后可直接启动,成功就可不进行下面的步骤:安装好后查看SSH是否启动输入sudo ps -e |grep ssh有sshd,说明ssh服务已经启动如果没有输入sudo service ssh startssh服务就会启动使用gedit修改配置文件/etc/ssh/sshd...

2018-08-26 19:44:54 8002

原创 配置ftp服务器亲测可用

环境ubuntu16.04安装vsftpd软件sudo apt-get install vsftpd 配置vsftpd.conf文件进入etc目录并备份配置文件cd /etc/cp vsftpd.conf  ~/vsftpd.conf.bak进入编辑sudo vi vsftpd.conf确保Listen=YES anonymous_enable=NO...

2018-08-26 19:22:50 1714

原创 僵尸进程

 子进程结束但是,内存没有完全释放就会编程僵尸进程;#include <sys/types.h>#include <errno.h>#include <stdio.h>#include <fcntl.h>#include <string.h>#include <stdlib.h>#include <...

2018-08-26 11:46:47 115

原创 linux中fork()函数与vfork()函数的区别

对于fork函数:子进程只继承父进程的文件描述表,不继承但共享文件表项和i-node父进程创建一个子进程之后,文件表项中的引用计数加1变为2,当父进程作close操作之后计数器减1,子进程还是可以使用文件表项,只有计数器减到0的时候才会释放该文件表项fork函数测试:#include <unistd.h> #include <stdio.h&...

2018-08-26 10:01:23 6599 3

原创 linux创建进程fork函数和vfork函数

#include <unistd.h> pid_t fork(void); #include <sys/types.h> #include <unistd.h> pid_t vfork(void);返回:子进程中为0,父进程中为子进程ID,出错返回  -1 fork创建...

2018-08-25 22:20:46 277

原创 在ubuntu上安装samba实现与windows的文件共享

参考韦东山的samba安装过程整理的自己的安装过程sudo apt install samba记得关闭自己的防火墙sudo ufw disable最新的稳定版本是4.5.3,发布于2016年12月19日。要检查您的Samba版本,请运行sudo smbstatus或者sudo smbd --version输出格式如下: Samba version 4....

2018-08-25 17:05:51 683

原创 vim中使用split

用split可以显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文件。这一切都可以通过分割窗口实现。如下图,左边的两个窗口是mytool.h和mytool.cpp 右边的两个窗口是commonfun.h和commonfun.cpp。同样的,也可以在阅读代码的时候查看配置文件,在调试的时候新开一个窗口,这个功能给我们带来的很多方便。在vim中输入命令vsplit  ...

2018-08-25 12:44:55 724

原创 linux进程

程序:程序是存放在磁盘文件中的可执行文件;进程:程序的执行实例被称为进程; 进程具有独立的权限和职责,如果系统中一个进程崩溃它不会影响到其它的进程; 每个进程运行子啊各自独立的虚拟地址空间中,进程之间可以通过由内核控制的机制通讯;进程ID:   每个linux进程都一定有唯一一个数字标志符,成为进程ID(process ID),进程ID是一个非负的整数向内核登记终止终止进程的...

2018-08-25 11:56:30 120

原创 linux文件-link函数(文件硬链接和软连接)

创建硬链接的函数:相关函数:symlink, unlink头文件:#include <unistd.h>定义函数:int link (const char * oldpath, const char * newpath);函数说明:link函数中oldpath指定已经存在文件,newpath指定的名称建立一个新的连接(硬链接),若是newpath指定的文件已存在则不会...

2018-08-25 00:06:23 10227

原创 linux文件-access函数

 access函数:access函数主要用于在使用文件之前获取文件的属性以免错误的使用文件的权限,造成文件读写过程中出错; #include <unistd.h> int access(const char *pathname, int mode);成功返回0,出错返回-1功能:检查是否可以对某文件进行某种操作 F_OK 值为0,判断文件是否...

2018-08-24 23:24:58 2054

原创 python不确定预测神器森林算法

import numpy as npimport pylab as plx=np.random.uniform(1,100,1000)y=np.log(x)+np.random.normal(0,.3,1000)pl.scatter(x,y,s=1,label="log(x) with noise")pl.plot(np.arange(1,100),np.log(np.aran...

2018-08-24 22:54:25 309

原创 STM32寄存器与输入捕获

以下来至原子教程 输入捕获模式可以用来测量脉冲宽度或者测量频率。 STM32 的定时器,除了 TIM6 和 TIM7, 其他定时器都有输入捕获功能。STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的 边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT) 存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。

2018-08-24 22:53:59 794

原创 函 float *search(float(*pointer)[4],int n)

书本277页返回指针值的函数,调用函数输出一个学生的全部科目的成绩。 返回指针值函数的妙用#include int main() { float score[][4]={{60,70,80,90},{56,68,98,87},{34,65,87,90}}; float *search(float(*pointer)[4],int n); float *p;

2018-08-24 22:53:27 1253 2

原创 ARM Cortex-M3初探

ARM初探–aliasalias是为老函数,取一个新的名字! attribute关键字来描述函数,变量和数据类型的属性,用于编译器对源代码的优化#include <stdio.h> int __Hard_Fualt() { printf("my func = %s\n",__FUNCTION__); return 0; } int my...

2018-08-24 22:51:49 801

原创 智能指针类的编写

····································································································································· 1.指针在使用的过程中经常会遇到内存泄漏和内存多次被释放的 2.解决方案:例如使用Boost库的智能指针 在项目开发的过程中要

2018-08-24 22:51:31 304

原创 在ubuntu上安装wireshark之后提示Couldn't run /usr/bin/dumpcap in child process:权限不够

依次执行以下命令:sudo apt-get install libcap2-bin wiresharksudo chgrp xxxxxxx /usr/bin/dumpcapsudo chmod 750 /usr/bin/dumpcapsudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap将其中的   xxxxxxx   ...

2018-08-23 07:49:59 3493

原创 linux常用命令

ln 创建硬连接ln -s 创建软连接(符号连接)示例:andrew@andrew-Thurley:~/work/filedir$ date > date.txtandrew@andrew-Thurley:~/work/filedir$ ln -s date.txt l_dateandrew@andrew-Thurley:~/work/filedir$ lsa.out ...

2018-08-22 22:15:53 1032

原创 mkfifo-建立命名管道

mkfifo是一个建立实名管道的函数创建命名管道的方法为:mkfifo pipe。这样就能创建一个命名的管道pipe。表头文件    #include<sys/types.h>    #include<sys/stat.h>定义函数    int mkfifo(const char * pathname,mode_t mode);函数说明    mk...

2018-08-22 20:58:48 1609

原创 文件IO

#include <sys/types.h> #include <sys/stat.h> int stat(const char *filename //文件或者文件夹的路径, struct stat *buf //获取的信息保存在内存中); //! prototype,原型 正确返回0,错误返回-1其中使用到的结构体:...

2018-08-21 23:26:44 151

原创 sock使用UDP协议进行广播发送数据

使用ifconfig命令查看自己的广播地址:wlp3s0b1 Link encap:以太网 硬件地址 inet 地址:192.168.1.102 广播:192.168.1.255 掩码:255.255.255.0 可以看到主机的广播地址是192.168.1.255编写UDP服务器程序:#include &l...

2018-08-21 23:01:07 1805

原创 UDP高级编程广播

#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, sockle...

2018-08-20 22:21:15 323

原创 DNS域名解析

struct hostent { char *h_name; //正式主机名 char **h_aliases; //主机别名,别名,字符串数组 int h_addrtype; //协议类型:IPV4-AF_INET int h_length; //网络地址大小,对于IPv4是四字节,即32位 char **h_addr_list...

2018-08-19 23:24:25 549

原创 基于UDP客户端服务器的编程模型-linux网络编程

坚持在代码中注释,边读代码边学习Linux网络编程使用到的发送函数原型: #include <sys/types.h> #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t len, int flags); ...

2018-08-19 12:53:28 462

原创 socket中使用多线程创建并发服务器

启动服务器:bin/echo_tcp_server_th 8888启动客户端:bin/echo_tcp_client 127.0.0.1 8888使用ifconfig命令可以看到电脑的换回地址是127.0.0.1   因为服务器和客户端在一台电脑上使用换回地址进行测试;lo Link encap:本地环回 inet 地址:127.0.0....

2018-08-18 21:17:19 1048

原创 getpeername函数与getsockname函数的介绍

getpeername函数用于获取与某个套接字关联的外地协议地址getsockname函数用于获取与某个套接字关联的本地协议地址 函数定义如下:#include<sys/socket.h> int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen); int getpe...

2018-08-18 20:25:50 6738 2

原创 linux线程随笔-pthread_create函数

函数简介  pthread_create是UNIX环境创建线程函数头文件  #include<pthread.h>函数声明  int pthread_create(pthread_t  *restrict tidp, const  pthread_attr_t  *restrict_attr,   void*(*start_rtn)(void*),   void  ...

2018-08-18 20:15:16 19798

原创 socket使用多进程实现并发的服务器

服务器测试效果:andrew@andrew-Thurley:~/work/network$ bin/echo_tcp_server 8888client: 127.0.0.1(55610) connectedstart read and write!namestart read and write!namestart read and write!客户端测试效果:an...

2018-08-17 22:10:21 1214

原创 不恰当使用read会造成服务器阻塞

可正常工作的tcp服务器:#include <netdb.h>#include <sys/socket.h>#include <unistd.h>#include <string.h>#include <stdio.h>#include <stdlib.h>#include <memory.h>

2018-08-15 23:31:26 622

原创 C++练习4

引用的本质就是给同一个内存空间起不同的名字#include using namespace std;int main(){ int a =10; int &b = a; b =20; //通过引用变量b和a指向同一个内存,改变b的值 就能够改变a的值 在这里虽然只是对b进行赋值// printf("a = %d\n",a); cout

2018-08-15 22:18:33 344

原创 使用socket创建服务器进程和客户端进程

TCP客户端和服务器创建流程在上篇博文中已经说明:TCP客户端服务器模型创建流程服务器进程#include <netdb.h>#include <sys/socket.h>#include <unistd.h>#include <string.h>#include <stdio.h&a

2018-08-14 22:22:15 738

原创 bind函数详解

看看man手册:BIND(2) Linux Programmer's Manual BIND(2)NAME bind - bind a name to a socketSYNOPSIS #include <sys/types.h> /* See NOT...

2018-08-13 23:24:34 1704

原创 TCP客户端服务端编程模型

客户端调用序列调用socket函数创建套接字调用connect连接服务端调用I/O函数(read/write)与服务器端通讯调用close关闭套接字服务器端调用序列调用socket函数创建本地套接字调用bind函数绑定本地地址和端口调用listen启动监听调用accept从已经连接的队列中提出客户连接调用I/O函数(read/write)与客户端通讯调用close...

2018-08-13 23:11:34 1054

原创 inet_ntop函数和inet_pton函数

#include<arpa/inet.h>int inet_pton(int family, const char *strptr, void *addrptr); 返回:若成功则为1,若输入不是有效的表达格式则为0,若出错则为-1const char *inet_ntop(int family, const void *addrptr, char *strptr, size_...

2018-08-13 23:02:20 1117

原创 sockaddr与 sockaddr_in

留住因为很多系统调用必须使用这种结构struct sockaddr {unsigned short sa_family; /* 地址族, AF_xxx */char sa_data[14]; /* 14bytes的协议地址*/}; 上面是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类型转换struct sockaddr_in {sho...

2018-08-13 22:43:09 157

原创 htonl、ntohl、htons、ntohs函数

htonl函数,将一个32位整数,由主机字节序转换为网络字节序。htons函数,将一个16位整数,由主机字节序转化为网络字节序 ntohl函数,将一个32位整数,由网络字节序转换为主机字节序。ntohs函数,将一个16位整数,由网络字节序转化为主机字节序htonl()--"Host to Network Long"ntohl()--"Network ...

2018-08-13 22:26:13 1859

原创 socket(套接字)详解一种通讯机制

socket给提供给使用进程TCP/UDP等网络协议进行网络通讯手段。 linux中网络编程通过socket接口实现; socket既是一种特殊的IO,提供对应的文件描述符。socket都有一个相关的描述{协议,本地地址,本地端口,远程地址,远程端口}(五元组信息);每一个socket有一个本地的唯一socket,由操作系统分配。#include <sys/socket.h>...

2018-08-13 00:31:27 2065

原创 网络分层模型OSI和TCP/IP四层模型

网络分层模型OSI和TCP/IP四层模型网络分层模型OSI和TCP/IP四层模型OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。...

2018-08-12 08:17:12 20076 2

DB leveldb实现解析

DB leveldb实现解析

2023-08-15

DB redis设计与实现

DB redis设计与实现

2023-08-15

Java-Interview-超全集合github上评分最高的jiva面试题

Java-Interview-超全集合github上评分最高的jiva面试题

2023-08-15

The Robert C. Martin Clean Code Collection - Martin, Robert C-.m

The Robert C. Martin Clean Code Collection - Martin, Robert C_.mobi by The Robert C. Martin Clean Code Collection - Martin, Robert C_.mobi (z-lib.org)

2023-08-15

Technical Overview of LoRa and LoRaWAN-TÜV Rheinland

Technical Overview of LoRa and LoRaWAN_TÜV Rheinland

2023-08-15

Getting Started with LevelDB-Andy Dent

Getting Started with LevelDB_Andy Dent 使用具体实例来深入了解和学习levelDB

2023-08-15

Alice and Bob: A History Of The World’s Most Famous Couple

Alice and Bob: A History Of The World’s Most Famous Couple

2023-08-07

福昕阅读器--linux最新版

福建福昕软件开发股份有限公司(Foxit Software Incorporated)是一家国际化运营的PDF电子文档解决方案提供厂商,是国际PDF协会主要成员、中国版式文档OFD标准制定成员。福昕在亚洲、美洲、欧洲和澳洲设有多家子公司,福昕直接用户已超过5.6亿,企业客户数达10万以上,遍及世界200多个国家和地区。2020年9月8日,福昕软件正式在上交所科创板挂牌上市,股票代码:688095,证券简称:福昕软件。 福昕具有完全自主产权的PDF核心技术,提供文档的生成、转换、显示、编辑、搜索、打印、存储、签章、表单、保护、安全分发管理等涵盖文档生命周期的产品技术与解决方案。 福

2020-11-14

dbeaver-ce_7.2.4_amd64最新版本|dbeaver-ce_7.2.4_amd64.deb

已下载 28.2 MB,耗时 12秒 (2,441 kB/s) 正在选中未选择的软件包 ca-certificates-java。 (正在读取数据库 ... 系统当前共安装有 203570 个文件和目录。) 准备解压 .../ca-certificates-java_20190405ubuntu1_all.deb ... 正在解压 ca-certificates-java (20190405ubuntu1) ... 正在选中未选择的软件包 java-common。 准备解压 .../java-common_0.

2020-11-14

最新GeoLite2资源整合.zip

开源的IP地理数据库GeoLiteCity,类似于GeoIPCity,但不如后者精确。免费数据库GeoLite的格式与收费数据库GeoIP相同。任何可以读取GeoIP的代码都可以读取GeoLite。其存储是MaxMind DB格式。 里面放了 GeoLite2-City.mmdb(等同于GeoLite2-Citt.dat 该文件形式已经被wireshark弃用,使用GeoLite2-City.mmdb能完全兼容),国家字段的csv文件以及城市的csv都放到里面,可以打包下载

2020-10-03

C++基础课程讲义.pdf

面向过程的结构化程序设计方法  设计思路 – 自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。  程序结构: – 按功能划分为若干个基本模块,形成一个树状结构。 – 各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序 、 选择和循环三种基本结构组成。 – 其模块化实现的具体方法是使用子程序。  优点: 有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发 和维护。  缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件 – 把数据和处理数据的过程分离为相互独立的实体。 – 当数据结构改变时,所有相关的处理过程都要进

2020-09-26

strtok的赞歌.pdf

标记解析(`Tokenizing`)是最简单也是最常见的解析问题,也就是根据分隔符把一个字符串分割为几个部分。这个定义覆盖了所有这种类型的任务。根据空白分隔符(例如`" \t\n\r"`之一)分割单词。假设有个像`"/usr/include:/usr/local/include:."`这样的路径,在冒号处将其分开,形成单独的目录。根据一个简单的换行分隔符`"\n"`把一个字符串分割为不同的行。可以使用一个配置文件,包含`value = key`格式的行,在这种情况下分隔符就是`"="`。在数据文件中以逗号分隔的值当然是以逗号为分隔符。我们可以采取两个层次的分割来分别进行处理。例如读取一个完整的配置文件,首先根据换行符进行分割,然后在每行根据=进行分割。

2020-04-19

bsearch.zip

The bsearch() function searches an array of nmemb objects, the initial member of which is pointed to by base, for a member that matches the object pointed to by key. The size of each member of the array is specified by size. The contents of the array should be in ascending sorted order according to the comparison function refer‐ enced by compar. The compar routine is expected to have two arguments which point to the key object and to an array member, in that order, and should return an integer less than, equal to, or greater than zero if the key object is found, respectively, to be less than, to match, or be greater than the array member.

2020-04-18

2.变量和参数的介绍.md

变量是什么,变量是脚本编程中进行数据表现的一种方法,说白了,变量不过是计算机为了保留数据项,而在内存中分配的一个位置或一组位置的标识或名字。

2020-01-16

RFC2616中文翻译-有待改进.odg

- 支持客户/服务器模式。 - 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、HEAD、 POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规 模小,因而通信速度很快。 - 灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加以标记。 - 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的 应答后,即断开连接。采用这种方式可以节省传输时间。 - 无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着 如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在 服务器不需要先前信息时它的应答就较快。

2020-01-15

Sqlite3.pdf

## 使用SQLite创建数据库 **sqlite3_open(const char \*filename, sqlite3 \**ppDb)** 如果 *filename* 参数是 NULL 或 ':memory:',那么 sqlite3_open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。 如果文件名 filename 不为 NULL,那么 sqlite3_open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,sqlite3_open() 将创建一个新的命名为该名称的数据库文件并打开。 简单的来说就是会打开一个数据库文件,文件不存在就会创建一个对应名字的数据库文件

2019-06-30

GDB就该这样用

因为执行脚本的时候会自动新启用一个子 bash因此在脚本中设置的ulimit -c unlimited 并不能产生核心转存储文件,需要执行可执行文件之前手动设置一下 ulimit -c unlimited ------ DEBUG 是在linux下使用dbg的记录,一下的文件是在UBUNTU 16.04上验证通过的

2019-05-04

IPC进程间通信

- IPC对象(消息队列、共享内存和信号量)存在于内核而不是文件系统中,由用户控制释放(用户管理IPC对象的生命周期),不像管道的释放由内核控制。 - IPC对象通过其标识来引用和访问,所有的IPC对象在内核空间中唯一性标识ID,在用户空间中的唯一性标识称为Key. - IPC对象是全局对象,可以通过ipcs,ipcrm等命令来查看或删除 - 每个IPC对象都由get函数创建

2019-05-03

pycharm快捷键

python IDE常用快捷键,用于日常查看使用pycharm,包含所有pycharm上的快捷键及其使用方式

2019-05-03

ubuntu搭建ftp服务器

自己的环境是ubuntu16.04搭建的ftp环境,测试能够使用,并将相应的资源上传共享也能够方便自己日后使用

2018-08-26

在ubuntu上配置ftp服务器的说明文档,亲测可用(图片)

环境是ubuntu16.04,配置ftp服务器的文档,亲测可用,所以上传分享,也可以方便自己今后再次配置使用(图片)(图片)

2018-08-26

vim配色,用于配置viim

vim配色,让自己的vim像IDE一样工作,你想要的配置里面都有,只需要去掉自己不想要的设置就行

2018-08-25

最经典的bash资料

最经典的bash   shell编程资料因为网上买不到书本,就自己打印了一本,真的非常棒

2018-08-25

linux上的可以绘制思维导图的软件

资源是可以安装在linux上的回执思维导图的软件,非常的好用

2018-08-25

自己参考网上的资源配置的vim编译器配置文件

因为ubuntu自带的vim使用的不是很方便,于是就自己动手参考网上的教程,配置了自己的vim环境, 源文件的路径和名称是  /etc/vim/vimrc 要是用户不行执行本用户使用不影响其他用户的配置可以将该文件改名为   .vimrc并放到  ~  目录下面

2018-08-25

配置samba服务器的配置文件备份

自己使用的是ubuntu16.04与自己的windows主机在在进程资料传输的时候一直使用ftp但是这样做很不方便,于是自己就折腾了一下配置了samba服务器,为了方便以后重装系统之后还需要重新配置就将配置文件进行了copy源文件的路路径和名称是  /etc/samba/smb.conf

2018-08-25

GPS-6M-模块+DMA上传

更改的原子的GPS使用串口3+DMA进行GPS的数据接收

2017-07-28

MPU6050模块STM32驱动代码

自己移植的MPU6050程序,采用宏编译将MPU9150的寄存器也加了进去可以同时支持MPU6050和MPU9150两种模块

2017-07-28

matplotlib

Matplotlib_slides.pdf

2017-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除