自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1405)
  • 资源 (64)
  • 收藏
  • 关注

原创 计算机组成原理 # 复习笔记

Ch1 计算机系统概论冯·诺依曼计算机的核心思想是: 存储程序并按地址顺序执行指令计算机工作过程-取数指令I/O设备MDR\MAR设计的时候是放在主存的,实现的时候为了方便放在了CPU里。性能指标:字长、CPI、MIPS机器字长:一次整数运算能处理的二进制数据位数如果按字长来划分,所谓32位机是指该计算机所用的CPU:能一次处理32位二进制数。(64位CPU同理)Ch2 运算方法和运算器进制转换BCD码*字符、字符串*汉字*奇偶校验

2021-12-26 04:21:42 379

原创 ProFormSelect 动态加载options的两种写法

写法一:利用request传async function <ProFormSelect width="md" name="department_id" label='部门' request={async () => { let { data: depts } = await fetchDeptLists()

2021-12-25 13:55:31 4526

转载 error: invalid command ‘bdist_wheel‘

error: invalid command 'bdist_wheel’的错解决方法:使用命令行pip3 install wheel,再去安装pyinstaller模块就行了pip install pyinstaller

2021-12-21 02:20:20 1167

原创 Flask # 部署与生产环境

Flask自带的开发服务器不适合用作生产环境。部署流程不论哪种托管方案,应用安装到生产服务器上之后都要执行一系列的任务,其中包括创建和更新数据库表。如果每次都手动操作会很麻烦,因此编写py程序来做这些工作。from flask_migrate import upgradefrom app.models import User, Follow, Role, Permission, Post, Commentfrom app import create_app, dbapp = create.

2021-12-19 01:11:21 1884

原创 SQL语句、存储过程、ORM框架概念辨析

存储过程:stored procedure, 简写为spORM框架:对象-关系映射框架,比如Hibernate、flask_sqlalchemy最初只有SQL语句,用交互模式一句一句执行, 也可以用批模式执行,多行sql语句一次提交执行。用批模式执行的一堆sql语言可以用过程的形式,事先存放到数据库里面,这就变成了存储过程。 随着面向对象技术的成熟,从程序中可以自动生成sql语句,这就是ORM。Reference谈谈如何从本质上理解sql语句, 存储过程,ORM之间的联系和取舍...

2021-12-18 21:39:38 818

原创 React Antd-Pro v5 加白名单

需求描述antd-pro默认放行的只有loginPath,由于项目需求,我们还需要放行其他页面,比如registerPath,那么我们需要修改antd-pro的代码,实现白名单功能(白名单内的页面都做放行处理)。具体细节antd-pro v5实现路由拦截器的逻辑在/src/app.tsx文件里。包括代码:export async function getInitialState(): Promise<{ settings?: Partial<LayoutSettings>;

2021-12-16 07:21:49 1362

转载 TypeScript # 问号点语法 ?.

data入参可能为null,undefined,通常我们的写法是直接上if判断啥的,然后再取data中的属性,但是有了问号点(?.)写法就简单很多了,看下面例子://1.data可能为null,undefined , row也可能为null,undefined//2.假设data完整结构 {row:{name:'aaa'}}function getData(data: any){ let name = data?.row?.name}普通写法//1.data可能为null,undefined

2021-12-16 04:58:58 842

转载 Flask # 蓝图(Blueprint)的嵌套

from flask import Flaskapp = Flask(__name__)from flask import Blueprint# 二级蓝图myapp = Blueprint('v1/myapp', __name__)@myapp.route("/test", methods=["GET"])def test(): passfrom flask import Blueprintclass NestableBlueprint(Blueprint): def

2021-12-16 03:18:40 826

原创 Flask # Flask-Login登陆组件使用介绍

pip install flask-loginflask-login使用需要有user对象。user对象必须实现下面的几个属性和方法。属性/方法说明is_authenticated如果用户提供的登陆凭据有效,返回True,否则Falseis_active如果允许用户登陆,必须返回True,否则返回Falseis_anonymous对普通用户必须返回False,如果是表示匿名登陆的特殊用户对象必须返回Trueget_id()返回用户的唯一标识符,unicod

2021-12-16 02:18:28 841

原创 TypeSciprt # *.d.ts文件解析

TypeScript 的核心在于静态类型,编写 TS 时会定义很多的类型,但是主流库都是 JavaScript写的,不支持类型系统。如何让这些第三方库也可以进行类型推导呢?将这些库里的函数和方法体去掉后只保留导出类型声明,而产生了一个描述 JavaScript 库和模块信息的声明文件。通过引用这个声明文件,就可以借用 TypeScript 的各种特性来使用库文件了。ReferenceJavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)TypeScript 声明文

2021-12-16 00:41:19 1351

原创 多智能体深度强化学习 # MADDPG

前置基础:DDPG多智能体深度强化学习 # 多智能体深度强化学习基础Multi-Agent:多智能体Deep:与DQN类似,使用目标网络+经验回放Deterministic:直接输出确定性的动作Policy Gradient: 基于策略Policy来做梯度下降从而优化模型MADDPG其实是在DDPG的基础上做的修改,而DDPG可以看作在DPG的基础之上修改而来,DPG是确定性输出的Policy Gradient;也可以把DDPG理解为让DQN可以扩展到连续控制动作空间的算法。DDPG不适

2021-12-14 07:01:42 6594

原创 多智能体深度强化学习 # 多智能体深度强化学习基础

前置基础:DDPG从这里开始就进入多智能体的领域了,另外到这里来说网上的教程一般也就木有了。感知智能->决策智能->群体决策智能Referenceopenai/maddpg的github在复现MADDPG的过程中遇到什么问题,是怎样解决的?张海峰 讲座-从博弈论到多智能体强化学习附介绍:...

2021-12-14 01:29:14 2548

原创 强化学习 # Actor-Critic

Actor-Critic算法 (演员评判家),合并了以值为基础 (比如 Q learning) 和以动作概率为基础 (比如 Policy Gradients) 两类强化学习算法。Actor-Critic 的 Actor 的前生是 Policy Gradients, 这能让它毫不费力地在连续动作中选取合适的动作, 而 Q-learning 做这件事会瘫痪。为什么不直接用 Policy Gradients 呢? 原来 Actor Critic 中的 Critic 的前生是 Q-learning 或者其他的 以值

2021-12-12 03:11:59 1756

原创 深度强化学习 # DDPG

Deep Deterministic Policy Gradient (DDPG)前置基础:policy gradientDDPG是一种Actor-Critic结构。基于PARL实现DDPGReferencehttps://www.bilibili.com/video/BV1yv411i7xd?p=18https://mofanpy.com/tutorials/machine-learning/reinforcement-learning/intro-DDPG/...

2021-12-12 01:14:08 1862

原创 强化学习 # Policy gradient

Policy Gradients:不通过分析奖励值, 直接输出行为的方法。对比起以值为基础的方法, Policy Gradients 直接输出动作的最大好处就是, 它能在一个连续区间内挑选动作, 而基于值的, 比如 Q-learning只能适用于action数量有限的情况。Policy Gradients可以结合神经网络。强化学习里面无标签,所以Policy Gradients没有误差,那要怎么进行神经网络的误差反向传递呢?(因此还是需要充分利用reward的信息)Policy Gradients的核心思

2021-12-10 22:10:55 1117

原创 强化学习 # 概述

博主在学习强化学习和深度强化学习中对RL/DRL的归纳总结。1 Introduction强化学习的关键是:exploitation(利用) 和 exploration (探索),也可以解读为trial和reward。和监督学习算法的区别是:监督学习:已知数据、标签强化学习:一开始没有标签,通过try获得data和labelRL的一些基本算法:通过行为的价值来选取特定行为的方法, 包括使用表格学习的 q learning, sarsa, 使用神经网络学习的 deep q network,.

2021-12-10 00:38:45 1339

原创 信息安全概论 # 复习笔记

Ch1 信息安全概述信息安全是指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断。P2DR2P^2DR^2P2DR2动态安全模型研究的是基于企业网对象、依时间及策略特征的(Policy, Protection, Detection,Response,Restore)动态安全模型结构,由策略、防护、检测、响应和恢复等要素构成,是一种基于闭环控制、主动防御的动态安全模型,通过区域网络的路由及安全策略分析与制定,在网络内部及

2021-12-08 00:27:26 2917

转载 Ant Design Pro 修改默认启动端口号

与vue后台系统不同,ant design pro的port不是写在config里的(是umi默认的端口),所以全局查找8000没有查到配置项。修改方式如下: 在package.json文件中添加--port参数

2021-12-07 04:53:51 1455

原创 React框架教程

Attention:本文读者需要有前端基础,非面向前端小白。适合有基础的读者快速入门React,略去了文档中的大量easy simple保留核心内容。导入React 是一个用于构建跨平台用户界面的JS库。起源于 Facebook。基于声明式和组件驱动来构建UI。采用单向响应的数据流。React 应用程序组成部分:元素和组件,React 元素是不可变对象,更新UI唯一的方式是创建一个全新的元素,并将其传入 ReactDOM.render()。。脚本推荐采用JSX(其他可选:JS\TS)。React .

2021-12-06 06:42:44 440

原创 Flask # SQLAlchemy使用详解

Flask-SQLAlchemy是Flask最常用的ORM框架,支持SQL和NoSQL数据库(key-value、图、文档)。SQLAlchemyFlask基础参考:ref数据库基础参考:refflask app的config需要配置:SQLALCHEMY_DATABASE_URI表示数据库文件地址。比如:SQLALCHEMY_DATABASE_URI='sqlite:///' + os.path.join(app.instance_path, 'flaskr.sqlite')SQLAlchemy

2021-12-05 21:21:27 606

原创 Flask:请求-响应循环与上下文

flask中view函数需要处理请求数据,一种处理方式是函数参数传递request对象。但是这样每个函数都会增加该参数,不如把他放在全局。因此利用上下文把request放到全局:from flask import request。但实际上request不可能是全局变量。在多线程环境中每个线程同时处理不同客户端请求时,每个线程看到的request对象必然不同。Flask使用上下文让特定变量可以全局访问但不会影响不同线程。进程是操作系统分配资源的基本单位,线程是CPU调度的基本单位。多线程Web服务器会创建线

2021-12-05 02:50:52 261

原创 pytest print函数无法输出

pytest直接执行的话print的中间结果无法看到解决方案如下:pytest -s xxx.py

2021-12-04 06:02:59 2873

原创 现代密码学复习笔记

现代密码学(Contemporary Cryptology)保密学【本教材为了区分这里是翻译的保密学】(Cryptology) ==》 研究信息系统安全保密的科学密码学/密码编码学 Cryptography ==》 对信息进行编码实现隐蔽信息内容的一门学问密码分析学(Cryptanalystics) ==》 研究分析和破译密码的一门学问ps:翻译问题…中文“密码学”三个字有可能对应俩个英文单词(对应不同含义),看语境了...

2021-11-28 19:56:24 377

转载 GD(梯度下降)和SGD(随机梯度下降)

GD:gradient descentSGD:Stochastic Gradient Descent相同点在GD和SGD中,都会在每次迭代中更新模型的参数,使得代价函数变小。不同点在GD中,每次迭代都要用到全部训练数据。假设线性模型(θ\thetaθ是参数)h(x)=∑i=1nθixi=θTxh(x)=\sum_{i=1}^n\theta_ix_i=\theta^Txh(x)=i=1∑n​θi​xi​=θTx代价函数:J(θ)=12∑i=1m(hθ(x(i))−y(i))2J(\theta

2021-11-26 01:40:38 1767

原创 产品思维 # 功能

产品是由多个功能模块与功能点构成的。简单的融合同类产品的所有亮点功能并不能很好的适用于自己的产品,这样做功能臃肿、研发工作量大,功能价值未知。对于【功能】的考量的唯一标准,【什么样的功能是用户想要的?】。功能设计的流程:【认知-还原-创造】三步法。【用户-场景-需求】三步法分析功能设计的初衷。1 已有功能的优化对功能点的不断优化就是【迭代】不要期望用新加功能来解决老的功能问题功能优化和功能设计有什么区别?反应速度不同:邮件、口头搞定。开发难度不同:一般是1-3人/天的工作量评判标准不同:更

2021-11-26 00:30:44 383

原创 深度强化学习 # Deep-Q-Network

前置教程: Q-learning;DQN基础传统表格学习的强化学习算法有瓶颈(比如下围棋,状态空间太大,无法存下,相当于把存储空间压缩在网络里了),融合神经网络+Q-Learning的算法。表格存储空间不够,搜索复杂度过高,用NN来得到Q value用NN的两种情形:(1)输出状态值,NN输出Q值(2)输出状态值,NN输出all Q值,然后取max(Q);后面使用第(2)种NN来进行分析。如何Train NN?需要 a1, a2 正确的Q值, 这个 Q 值我们就用之前在 Q learni

2021-11-25 19:17:14 1371

原创 编译技术复习笔记

考试70%+平时30%Ch1 编译程序概述【基础图表】高级语言的程序处理过程(库,可重定向的目标程序)【基础图表】编译过程 6+2遍(趟):对源程序或中间代码程序,从头至尾扫描一次并完成所规定的工作称为一遍(趟)词法分析:从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(Word/Token)单词:逻辑上紧密相连的一组字符,这些字符具有集体含义。如:标识符、保留字、算符、界符语法分析:在词法分析的基础上将单词序列分解成各类语法短语,如“程序”

2021-11-22 02:10:09 243

原创 基于多智能体深度强化学习的空地协同通信系统轨迹设计与访问控制

所属子方向:UAV assisted communication名词注释coordinated:协调、协同base stations 基站,公用移动通信基站,是移动设备接入互联网的接口设备,是指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间进行信息传递的无线电收发信电台。UAV-BS:无人机基站cooperative-competitive game:合作竞争博弈throughput :吞吐量,每秒比特数 bps,bits per secondDeterminis

2021-11-21 20:18:19 3680 2

原创 微机原理与汇编语言程序设计复习笔记

Ch1 绪论1Word = 2Byte = 16bit字长:处理器的二进制位数机器数:计算机中的数据(数值数据、非数值数据)真值:机器数对应的真值十进制后缀:D、八进制后缀Q、二进制B、十六进制HBCD码:2进制编码的十进制数(binary code decimal)压缩BCD码:一个字节表示两位10进制数非压缩BCD码:一个字节表示一个10进制数正数的反码同原码,负数的反码数值位与原码相反正数的补码: 同原码;负数的补码:(1)写出与该负数相对应的正数的补码(2)按位求反(3)

2021-11-19 03:08:46 574

原创 数据库系统概论复习笔记

Ch1 绪论1.1 基本概念数据Data、数据库DB、数据库管理系统DBMS、数据库系统DBS数据是数据库中存储的基本对象,是用来描述事物的符号。数据库是长期储存在计算机内的、有组织的、可共享的、大量数据的集合。数据库管理系统位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。数据库系统:计算机系统中引入数据库后的系统(基于数据库的系统=APP+DB+DBMS+DBA,即下图)数据库发展历史人工管理阶段:无磁盘、无操作系统、无数据管理软件,数据无

2021-11-17 04:11:39 539

原创 信息论复习笔记

期末70%平时30%Ch1 绪论1.1 信息论、信息科学与信息技术信息科学:研究获取信息并对其进行传输、交换、处理、检测、识别、存储、显示等操作的科学。信息论:是信息科学的理论基础,主要研究可能性和存在性问题。( 狭义信息论/一般信息论/广义信息论)信息技术:研究怎样实现。1.2 信息、消息、信号分别是什么?三者关系是什么?(基础考点)信息:信息是事物运动状态或存在方式的不确定性的描述。消息:用文字、符号、图片等能被人感觉器官感知的形式把客观物质运动和主观思维活动状态表达出来成为消息。信

2021-11-12 01:13:00 333

转载 「性质」和「特征」有什么区别?

特征用来描述事物的外在表面性(显性)的特点,性质用来表示事物的内在内置性(隐性)的特点。Ref:https://www.zhihu.com/question/20657116

2021-11-10 18:43:19 1347

原创 SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]

在使用urllib.request.Request(url)前,添加代码:import ssl # 导入证书模块ssl._create_default_https_context = ssl._create_unverified_context # 在加上这段即可解决

2021-11-06 10:00:46 712

转载 如何使用Xshell连接VMware上的Linux虚拟机

检查Linux虚拟机的网络连接模式,确保它是NAT模式。(由于只在本机进行连接,所以没有选择桥接模式。当然,桥接模式的配置会有所不同,在此不做深入分析)在VMware workstation里,点击菜单栏上的【编辑】–>【虚拟网络编辑器】,打开下方的虚拟网络编辑器。选择VMnet8(NAT模式),取消勾选【使用本地DHCP服务…】(若勾选,会设置动态IP)。在下图中,点击NAT设置。记住上图中的子网IP范围,如上图所示表示虚拟机在192.168.44.0~192.168.44.255范.

2021-11-01 19:39:03 9738 3

转载 联邦学习 # (二)FATE开发环境

前一篇:联邦学习 # (一)KubeFate:联邦学习管理平台,由VMvare中国研发中心云原生实验室开发。01 FATE集群的整体架构C/S架构,Client用户部分,Server是集群入口mysql:存放任务的元数据,任务的创建时间、状态等MetaService负责管理egg切片egg Roll:提供分布式计算和存储的支持Federation:提供多方之间进行数据交换的作用FATE Serving:联邦模型训练好后进行在线推理根据功能分:离线训练、在线推理在线推理对高可用性要求比较

2021-10-30 19:06:53 673

转载 联邦学习 # (一)

联邦学习:解决数据孤岛问题[[x]]指加密后的xe理解为第一把锁,d理解为第二把锁FATE-BOARD:联邦建模可视化Ref《联邦学习技术介绍、应用和FATE开源框架》第1课第一课PPT...

2021-10-14 01:53:20 549

原创 强化学习 # Q-Learning算法

详细教程参考REF.1,本文是根据reference的个人笔记1 Introduction和监督学习算法的区别是:监督学习:已知数据、标签强化学习:一开始没有标签,通过try获得data和labelRL的一些基本算法:通过行为的价值来选取特定行为的方法, 包括使用表格学习的 q learning, sarsa, 使用神经网络学习的 deep q network, 还有直接输出行为的 policy gradients, 又或者了解所处的环境, 想象出一个虚拟的环境并从虚拟的环境中学习 …Mo

2021-10-06 00:00:59 1553 2

转载 什么是视频编码?视频为什么需要编码?

帧:是动画中的一张图片,一帧就是一幅禁止的画面,连续的帧就形成了我们看到的动画和视频。但是!直接采集的视频是不能在互联网上直接进行传输的。原因如下:以19201080的图片传输为例,要传输这张图片需要1920108083bit,即47Mb,8代表的是8bit即1byte是rgb色彩通道,3是3通道。如果要传输一个每秒30帧,每帧像素为19201080的视频,1秒要传输3047Mb=1.4Gb的数据。因此需要1.4Gb/s的带宽(目前还不太现实)因此视频需要经过压缩后才能正常传输。压缩的过程称为视频编

2021-10-01 00:54:46 2679 2

转载 Hub, bridge, switch, router, gateway的区别

Hub一个重复转发器,就是从一个port接受到数据后,就会原样的向其他的所有端口发送刚才收到的数据。个人理解为是工作在物理层的东西。但是,后来发展中,出现了些所谓的智能hub,就是可以做简单的配置,实现端口管理。这个所谓的智能的hub,和后续的bridge/switch的差别貌似小了一步。下面参考外文网站上的介绍:A hub is a repeater, which is a OSI model device, the simplest possible. Hubs are a common conn

2021-09-18 18:58:09 1892

转载 ubuntu 小米笔记本wifi问题

缺驱动查看当前网卡版本lshw -C networkWireless interface这里是无线网卡, RTL8821CE 802.11ac PCIe Wireless Network Adapter网卡型号是RTL8821CE ,然后去github找对应驱动,注意一定不要搞错型号,不是这个型号的别按我的方法做,一般驱动安装都有对应的安装教程 *-generic DISABLED description: Wireless interface pr

2021-08-26 20:27:12 436

TCP-IP详解三卷

TCP-IP详解三卷

2016-07-27

时间触发嵌入式系统设计模式.pdf

时间触发嵌入式系统设计模式.pdf

2016-07-27

电子设计基础.pdf

电子设计基础.pdf

2016-07-27

图论基础ppt

图论基础

2016-07-27

VIM中文手册.pdf

VIM中文手册.pdf

2016-07-27

NOIP2015复赛提高组数据

全国信息学联赛 NOIP 2015 测试数据

2016-07-27

算法心得:高效算法的奥秘(原书第2版).pdf

算法心得:高效算法的奥秘(原书第2版).pdf

2016-07-27

NOIP2015 Day1试题

NOIP2015 Day1试题 全国信息学奥林匹克联赛 2015 noip day1

2016-07-26

NOIP2014 Day1试题

全国信息学奥林匹克联赛 NOIP2014 Day1试题

2016-07-25

NOIP2014 测试数据(提高组)

NOIP2014 测试数据(注意里面是Linux换行符,windows下打开可能会有些奇怪(解决措施:用notepad++打开))

2016-07-25

NOIP暑假模拟考试[题目+数据]清华爷出题 day2

NOIP暑假模拟考试[题目+数据]清华爷出题 day2 第二天题目+数据。

2016-07-22

NOIP暑假模拟考试[题目+数据]清华爷出题

NOIP暑假模拟考试[题目+数据]清华爷出题 信息学奥赛联赛备考试题

2016-07-21

字符串入门简介 以及 KMP算法

字符串入门简介 以及 KMP算法

2016-07-21

骗分导论.pdf

信息学竞赛

2016-07-10

Raspbian [树莓派官方系统BT种子]

Raspbian [树莓派官方系统BT种子]

2016-07-10

http协议.doc

http协议.doc

2016-07-08

计算几何【课件+代码】

计算几何【课件+代码】 大汇总

2016-07-08

2016数论.pptx

2016数论.pptx

2016-07-08

主席树.ppt

主席树.ppt

2016-07-08

Splay.pdf【算法与数据结构】

Splay教学课件

2016-07-08

浅谈分块思想在一类数据处理问题中的应用

浅谈分块思想在一类数据处理问题中的应用 【分块-入门讲义】

2016-10-04

资源背包动态规划

资源背包动态规划 ——朱全民

2016-08-18

区间类型动态规划

区间类型动态规划 -长沙雅礼中学著名教练 朱全民

2016-08-18

倍增与分治

倍增与分治算法

2016-08-03

莫比乌斯反演(宋新波)

莫比乌斯反演(宋新波)

2016-08-03

C++_STL使用例子大全

2016-07-30

C++_标准模板库(STL)

C++_标准模板库(STL)

2016-07-30

数据结构资料

数据结构资料 含 线段树 字典树 BIT 并查集 平衡二叉树 表达式求值

2016-07-30

国家集训队2008论文集_矩阵乘法

国家集训队2008论文集_矩阵乘法

2016-07-29

WINDOWS核心编程

WINDOWS核心编程

2016-07-29

高级数据结构串讲

高级数据结构串讲课件

2016-07-29

【算法与数据结构】 树链剖分

【算法与数据结构】 树链剖分

2016-07-29

分治算法在树的路径问题中的应用

分治算法在树的路径问题中的应用

2016-07-29

Git零基础实战

Git零基础实战

2016-07-29

国际奥赛题全解(信息学

国际奥赛题全解(信息学

2016-07-28

考研基础班高等数学讲义

考研基础班高等数学讲义

2016-07-28

福建省队集训资料

福建省队集训资料

2016-07-28

Learning the vi and Vim Editors

《学习Vi和vim编辑器(影印版)》内容为:在过去将近30年的时间里,vi已经成为Unix和Linux的标准编辑器,而从1986年开始《学习Vi和vim编辑器(影印版)》也已成为vi的主要指南。但是现在Unix已经不是三十年前的样子,这《学习Vi和vim编辑器(影印版)》也同样不会是。《学习vi和Vim 第七版》已经进行了扩展,包括了Vim这个主要vi克隆的细节。Vim作为目前绝大多数Linux系统的缺省编辑器和Mac OS X的缺省vi版本,也可以应用于很多其他操作系统。这本指南在讲解文本编辑基础知识的同时,也涵盖了高级工具,例如用交互式的宏和脚本来扩展编辑器的功能——所有这些都用易于理解的方式来传授,这种风格已经让《学习Vi和vim编辑器(影印版)》成为经典。如果你使用Unix和Linux的话,vi和Vim是必备知识,因此,《学习Vi和vim编辑器(影印版)》也是必备之书。你将学到以下内容:, · 高效使用vi, · 深入讲解vi的知识,例如使用缓存, · 使用vi的全局搜索替换功能, · 定制vi以及运行Unix命令.., · 使用Vim的扩展文本对象和强大正则表达式, · 使用多窗口编辑并且编写Vim脚本, · 发挥图形用户界面版的Vim也就是gvim的全部功能, · 使用Vim的增强功能,例如语法高亮和扩展标签, · 将Vim和其他三个vi的克隆nvi、elvis和vile进行比较

2016-07-28

NOIP2015_day2试题

全国信息学奥林匹克竞赛试题 noip 2015 二试

2016-07-28

Pollard Rho算法思想

Pollard Rho算法思想

2016-07-28

空空如也

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

TA关注的人

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