Other

快捷方式”Windows+Cmd+Markdown“

Windows快捷键 Shift + 鼠标左键单击 //打开所选应用程序的新实例 Ctrl + Shift + 鼠标左键单击 //以管理员身份打开选定的应用程序 Shift + 鼠标右键单击 //打开所选应用程序的窗口菜单 Ctrl + 鼠标左键单击(在打开多个窗口的应用程序上) //循环浏览应用程序的打开窗口 Windows 键+ T //循环浏览任务栏上的应用程序 Windows 键+ Alt +(数字) //打开固定到任务栏上数字指示位置的应用程序的跳转列表 Windows 键+ Ctrl + Shift + (number) //以管理员身份打开位于任务栏上给定位置的应用程序的新实例 Windows 键 + B //将焦点设置在任务栏角落的第一个图标上。如果没有应用程序显示图标,则焦点将设置为溢出菜单图标 Windows 键+(数字) //启动固定到任务栏上数字指示位置的应用程序。如果该应用程序已在运行,请切换到该应用程序 Windows 键+ Shift + (number) //启动一个新的应用程序实例,该实例固定在任务栏上由数字指示的位置,即使一个应用程序已经打开 Windows 键+ Ctrl + (number) //切换到应用程序的最后一个活动窗口,该窗口固定到任务栏上由数字指示的位置 常见Cm d命令 cls ------------------清屏 magnify -----------打开放大镜 notepad -----------打开记事本 clac -----------------打开计算器 osk ------------------打开屏幕键盘 tasklisk --------------查询当前各个软件占用系统情况 dir ---------------------查询当前磁盘上所有文件路径 shutdown -----------显示计算机开关机帮助 Ctrl + C ------------停止任务 Alt + 回车键 -------全屏/退出全屏 上键Î ------------------之前输入过的代码 charmap ------------打开字符映射表 Markdown使用命令 标题 # + 空格 一级标题 方 法1 ## + 空格 二级标题 .

数据库

数据库相关知识 数据演变史 # 1.单独的文本文件 弊端: 没有固定的存放位置:C:\a.txt D:\aaa\c.txt F:\bbb\b.txt 没有固定的数据格式:jason|123 tony$123 kevin~123 '''程序彼此无法兼容 没有统一的标准''' # 2.软件开发目录规范 按照文件功能的不同规定了相应的位置 '''文件查找变得统一 但是没有解决格式问题(核心问题)''' # 3.数据库应用 解决了存放位置和数据格式问题 '''将数据处理部分统一了起来''' 数据库应用发展史 以游戏发展史为例 # 1.单机游戏阶段 数据各自保存在各自的计算机上 无法实现远程共享 '''无需互联网''' # 2.多机游戏阶段 数据统一基于网络保存到某个固定的服务器上 实现数据共享 '''必须要有互联网''' 集群 如果所有的数据全部存储到一台远程服务器上 那么数据的安全性降低 服务器的压力上升 所以增加远程服务器的数量 数据同步保存 任务均匀分担 具有相同功能的多个服务器组合到一起 就可以称之为是集群 数据库本质 数据库在微观层面上来说 运行在计算机上专门处理数据的进程(程序) eg:内存中的typora代码 数据库在宏观层面上来说 提供给操作者一个简单快捷的操作进程的软件 eg:屏幕上typora界面 我们平时在说数据库的时候大部分指的是操作数据库的应用软件 # 数据库软件的本质其实也是一款CS架构的软件 既然数据库本质是一款CS架构的软件 也就意味着我们每个会网络编程的程序员理论上来说都可以编写出一款数据库软件 在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 所以现在市面上其实存在很多数据库软件 数据库分类 目前市面上有很多数据库软件 大致可以分为两类 1.关系型数据库 关系型: 1.有固定的表结构(最主要的特征) eg:有固定字段的excel表格 id name gender 2.

【Redis】哨兵初始化和主观下线

在的redis启动函数main(server.c文件)中,对哨兵模式进行了检查,如果是哨兵模式,将调用initSentinelConfig和initSentinel进行初始化,initServer函数中会注册哨兵的时间事件,最后调用sentinelIsRunning运行哨兵实例, int main(int argc, char **argv) { // 省略... // 检查哨兵模式 server.sentinel_mode = checkForSentinelMode(argc,argv); initServerConfig(); // 省略... if (server.sentinel_mode) { initSentinelConfig(); // 初始化哨兵配置 initSentinel(); // 初始化哨兵 } // 省略... // 初始化服务 initServer(); // 省略... if (!server.sentinel_mode) { // 非哨兵模式 // 省略... } else { ACLLoadUsersAtStartup(); InitServerLast(); // 运行哨兵实例 sentinelIsRunning(); if (server.supervised_mode == SUPERVISED_SYSTEMD) { redisCommunicateSystemd(STATUS=Ready to accept connections\n); redisCommunicateSystemd(READY=1\n); } } // 省略... aeMain(server.el); aeDeleteEventLoop(server.el); return 0; } 哨兵初始化 哨兵模式校验 checkForSentinelMode

MySQL微讲解

MySQL微讲解 数据演变史 # 1.单独的文本文件 没有固定的存放位置和固定的数据格式,程序彼此无法兼容,没有统一的标准 # 2.软件开发目录规范 按照文件功能的不同规定了相应的位置,文件查找变得统一,但是并没有解决格式问题 # 3.数据库应用 解决了存放位置和数据格式问题,将数据处理部分统一了起来 数据库应用发展史 # 1.初始阶段 初级阶段就象单机游戏一样,数据只能各自保存在各自的计算机上,无法实现远程共享 # 2.高级阶段 高级阶段就象联网游戏一样,数据统一基于网络保存到某个固定的服务器上,实现数据共享 # 集群 如果所有的数据全部存储到一台远程服务器上,那么数据的安全性会降低,服务器的压力也会上升,所以就会增加远程服务器的数量,数据同步保存,任务均匀分担,具有相同功能的多个服务器组合到一起,就可以称之为是集群。 数据库的本质 # 数据库简介 1.微观层面:运行在计算机上专门处理数据的进程 2.宏观层面:提供给操作者一个简单快捷的操作进程的软件 数据库分类 1.关系型数据库 # 简介 1.有固定的表结构(最主要的特征) 2.表与表之间可以建立代码层面的关系 # 常见关系型数据库名称及简介 1.MySQL:关系型数据库的代表,开源免费,使用频率极高 2.Oracle:安全性极高,但是使用和维护要收费,使用成本较高 3.PostgreSQL:支持二次开发(自己嫁接、扩展功能) 4.MariaDB:与MySQL是同一个作者 5.sqlite:小型数据库,携带方便,但是功能较少,主要用于本地测试使用 6.sql server:老牌数据库,目前主流不用 2.非关系型数据库 # 简介 1.没有固定的表结构,数据采取k:v键值对的形式(最主要的特征) 2.表与表之间无法建立代码层面的关系 # 常见非关系型数据库名称及简介 1.Redis:目前最火的非关系型数据库,数据类型丰富,功能强大 2.MongoDB:最象关系型数据库的非关系型数据库,主要用于爬虫和大数据 3.Memcache:被redis取代了 SQL与NoSQL # SQL 与关系型数据库交互的语言,有时候用来表示关系型数据库,有时候表示SQL语句 # NoSQL 与非关系型数据库交互的语言,有时候用来表示非关系型数据库,有时候表示NoSQL语句 MySQL简介 # 1.版本问题 (1)5.6X:使用最为广泛的稳定版本 (2)5.7X:目前正在逐步过渡使用的版本 (3)8.0X:最新版本,暂时不投入正常生产环境使用 # 2.

数据库简介

数据库简介 什么是数据库 # 什么是数据库 1、顾名思义,数据库(DB,database)是按照数据结构来组织、存储和管理数据的“仓库”。 2、数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点的、与应用程序彼此独立的数据集合。 3、数据库可以通过统一的一些指令对数据进行增、删、改、查(Create,Retrive,Updata,Delete)等操作。 4,看作是冰箱,可以存取物品的地方 数据库作用 # 实现数据共享: 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 # 减少数据的冗余度: 同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 # 保持数据的独立性: 数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。 # 数据实现集中控制: 文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 # 数据一致性和可维护性: 以确保数据的安全性和可靠性:主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。 # 故障恢复: 由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等 数据演变史 # 1.单独的文本文件 没有固定的存放位置:C:\a.txt D:\aaa\c.txt F:\bbb\b.txt 没有固定的数据格式:jason|123 tony$123 kevin~123 '''程序彼此无法兼容 没有统一的标准''' # 2.软件开发目录规范 按照文件功能的不同规定了相应的位置 '''文件查找变得统一 但是没有解决格式问题(核心问题)''' # 3.数据库应用 解决了存放位置和数据格式问题 '''将数据处理部分统一了起来 完成数据之间的格式与存储位置统一''' 数据库应用发展史 单机模式 '只保存本地自己数据,彼此不共享(单机模式)' 优点:不需要链接网络 缺点:限制于在一台计算机玩,如果你计算机坏掉了,在换一台,那这些记录都没有。换一台电脑登录是没有记录的,还是初始化状态 联机模式 # 数据存储全部统一在相同的地方完成 不在本地保存数据。所有人基于网络把自己的数据存储到相同的位置,数据存储的格式都相同,访问的格式也相同,所以不管在那台计算机上,登录账号密码就可以访问到我们存储在数据库的信息,这样就实现了兼容问题。 集群 集群一般由两个或两个以上的服务器组建而成,每个服务器被称为一个集群节点,集群节点之间可以相互通信 集群中,同样的服务可以由多个服务实体提供。因此,当一个节点出现故障时,集群的另一个节点,可以自动接管故障节点的资源,从而保证服务持久、不间断地运行。因而集群具有故障 自动转移功能。 一个集群系统必须拥有共享的数据存储,因为集群对外提供的服务是一致的,任何一个集群节点运行一个应用时,应用的数据集中存储在节点共享空间内,而每个节点的操作系统上仅运行应用的服务,同时存储应用程序文件 '''如果所有的数据全部存储到一台远程服务器上 那么数据的安全性降低 服务器的压力上升 所以增加远程服务器的数量 数据同步保存 任务均匀分担 具有相同功能的多个服务器组合到一起 就可以称之为是集群''' 数据库的本质 数据库在微观层面上来说 运行在计算机上专门处理数据的进程(程序) eg:内存中的typora代码 数据库在宏观层面上来说 提供给操作者一个简单快捷的操作进程的软件 eg:屏幕上typora界面 我们平时在说数据库的时候大部分指的是操作数据库的应用软件 # 数据库软件的本质其实也是一款CS架构的软件 既然数据库本质是一款CS架构的软件 也就意味着我们每个会网络编程的程序员理论上来说都可以编写出一款数据库软件 在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 所以现在市面上其实存在很多数据库软件 数据库的分类 关系型数据库 # 常见数据库名称: MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server ''' 1.

MySQL-基础(一)

Mysql学习(一) 一、原理定义概念 定义 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 数据库是长期储存在计算机内、有组织的、可共享的数据集合。 分类: ​ 非结构化数据: ​ 数据相对来讲没有固定的特点,这种数据非常不便于检索 ​ 但是生活中很多都是非结构化数据 ​ 半结构化数据 : ​ 数据之间有着相同的存储结构 属性:值 ​ 每一条数据的属性可以不同 ​ 张三: ​ 三号学生 ​ 李四: ​ 结构化数据 : ​ 创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的 数据。 ​ 数据之间有着相同的存储结构 属性 值 ​ 同一个结构模型中每一条数据的属性都是相同的,但是值有可能不同,这些数据非常便于存储和管理。 ​ 于是针对这些数据,专门设计一套数据存储的软件,现在我们说的数据库主要用来存储这些数据 问题 ​ 我们所有的数据库都放在软件中 ​ 我们要获取到数据,就需要使用软件给我们提供的访问数据的接口 ​ 最痛苦的就是程序员,我们就要为存储数据学习不同的数据库 ​ 于是有人开始倡导:使用统一的操作数据库的方式 SQL(Structured Query Language)结构化查询语言 ​ 全世界所有的结构化数据库都适用 ​ 分类 ​ DDL:数据库定义语言(定义数据库的一些组件 表 索引 视图 自增序列...) ​ DML:数据库操作语言(添加 删除 修改) CRUD ​ DQL:数据库查询语言 查询

02-LINUX内核源码分析之内存管理专题(一)-- 第010讲 引导内存分配器原理

知识点:bootmem分配器memblock分配器 一、bootmem分配器--临时引导内存分配器 在内核初始化的过程中需要分配内存,内核提供临时的引导内存分配器,在页分配器和块分配器初始化完成之后,把空闲的物理页交给页分配器管理,丢弃引导内存分配器bootmem分配器定义的数据结构,内核源码如下:D:\linux-4.1.2\Linux-4.12\include\linux\bootmem.h    用来描述节点的结构体 typedef struct pglist_data { //该节点所在管理区为ZONE_HIGHMEM ZONE_NORMAL ZONE_DMA 包含了结点中各内存域的数据结构 struct zone node_zones[MAX_NR_ZONES]; /*备用结点及其内存域的列表,以便在当前结点没有可用空间时,在备用结点分配内存*/ struct zonelist node_zonelists[MAX_ZONELISTS]; /*表示该节点管理区的数目,1-3之间,并不是所有的节点都有三个管理区*/ int nr_zones; #ifdef CONFIG_FLAT_NODE_MEM_MAP /* means !SPARSEMEM */ struct page *node_mem_map; #ifdef CONFIG_PAGE_EXTENSION struct page_ext *node_page_ext; #endif #endif #ifndef CONFIG_NO_BOOTMEM struct bootmem_data *bdata;//引导内存bootmem分配器  

总结:ubuntu openssh-server 搭建SFTP服务SSH服务,支持密钥登录(免密模式)

----------ubuntu openssh-server一、openssh干净卸载sudo apt-get remove openssh-server openssh-client --purge -y卸载软件,同时清除openssh的配置文件(/etc/ssh目录下) 二、openssh安装apt-get install openssh-server openssh-client 三、修改配置vim /etc/ssh/sshd_config --1、修改端口Port 10022 --2、service restart ssh --3、客户端 ssh登录ssh -p 10022 usr@ip注:需要输入usr密码进行登录 四、win10下生成 密钥登录SSH,无需输入密码--1、openssh-client 生成key,注 -b -P -C 非必须ssh-keygen -t rsa -b 4096 -P 93642592 -C [email protected]会在用户目录下 administrator/.ssh/ 下生成一对公私密钥id_rsaid_rsa.pub --2、将本地公钥COPY到sshd 服务器上a) 在SSH服务器上/root/.ssh/下创建 authorized_keys 文件b) 将id_rsa.pub文本内容COPY到authorized_keys中,保存退出。c) service restart ssh --3、修改vim /etc/ssh/sshd_config,允许使用密钥登录PubkeyAuthentication yes # Expect .ssh/authorized_keys2 to be disregarded by default in future.AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 五、测试SSH,SFTP登录ssh -p 10022 usr@ip (注:小写P)sftp -P 10022 usr@ip (注:大写P)注:不再要要输入usr密码进行登录

Redis设计与实现2.2:数据持久化

数据持久化 这是《Redis设计与实现》系列的文章,系列导航:Redis设计与实现笔记 RDB持久化 RDB 持久化功能所生成的 RDB 文件是一个经过压缩的二进制文件,通过该文件可以还原生成 RDB 文件时的数据库状态。 基本使用 另外,由于AOF文件更新更频繁,所以: 优先使用AOF进行还原 只有AOF关闭时才会进行RDB备份 BGSAVE 虽然是非阻塞的,但是在进行时会拒绝掉 SAVE、BGSAVE命令,BGREWRITEAOF 会被推迟到执行完再执行。 而如果 BGREWRITEAOF 正在执行,则 BGSAVE 会被拒绝。 自动保存功能 设置 save 900 1 save 300 10 只要满足如下条件的一个,BGSAVE就会被执行: 900s内,对数据库至少进行了1次修改 300s内,对数据库至少进行了10次修改 原理 上述的配置信息保存的结构如下图所示:1 另外,程序还需要记录对应这两个配置在数据库中对应的信息: dirty计数器:记录距离上一次成功执行 SAVE 命令或者 BGSAVE 命令之后,服务器对数据库状态进行了多少次修改 lastsave:记录上一次成功执行备份的UNIX时间戳 Redis服务器周期性操作函数 serverCron 默认每 100 毫秒执行一次,用于对正在运行的服务器进行维护,其中一项工作就是检查 save 选项保存的条件是否满足。 RDB文件结构 这里只给出了一个简单的关系图,如果想要了解具体的内容请阅读原书。 AOF持久化 AOF 持久化是通过保存 Redis 服务器所执行的写命令来记录数据库的状态的。

通过Oracle的GateWay,访问SQLServer的数据【方法二】

1. Oracle GateWays oracle 透明网关是oracle连接异构数据库提供的一种技术。通过Gateways,可以在Oracle里透明的访问其他不同的数据库,如SQL Server, DB2, Sybase等等,就像远程Oracle数据库一样。 在官网上下载Oracle GateWays软件或者找我要,Oracle GateWays中文名字叫透明网关。 1.1. 下载 官方网址是http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html  打开后点击See All  1.2. 安装 解压后双击setup。这里只介绍透明网关和oracle11g安装在同一台电脑上的方法。   点击下一步。   点击下箭头,选择oracle的安装目录,不要去手写,然后点击下一步    这里选择SQL SERVER      这里分别是主机名(IP地址)、实例名(sqlserver可不填)、数据库名。这三个可填可不填,后面可以在文件里面做修改。   1.3. 配置 打开安装路径找到initdg4msql.ora这个文件,该文件命名规则是:init+ID.ora。一般默认的就可以,打开文件将里面的IP地址和数据库名进行修改,如果安装的时候没有填写错误,这一步可以省略。   左面是IP地址,即sqlserver的IP地址,如果端口号不是1433,则必须加,右面是数据库名    修改下面的路径中的两个文件。    (SID_DESC =  (SID_NAME = dg4msql)  (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)  (PROGRAM = dg4msql)  )   DG4MSQL =