小提琴谱子
7 Rings
The raising fighting spirit
基本乐理
乐音体系半音与全音
音高关系的最小计量单位,叫做“半音”。半音与半音相加,叫做“全音”。
半音表示相邻两个音之间的距离,如C和C#
在钢琴的键盘上,包括所有白键与黑键,相邻两个键都构成半音,隔开一个键的两个键都构成全音。所有的琴键,从左到右,由低到高,都按半音关系依次排列。
简谱中,34之间、71之间是半音,其他相邻是全音
全全半全全全半
调式
大调:C大调就是1=C,D大调就是1=D
主音:C大调主音就是C
在乐音体系的总音域中,
小字组、小字一组、小字二组被认为是中音区;
小字三组、小字 四组、小字五组被认为是高音区;
大字组、大字一组和大字二组被认为是低音区。
$c^1$叫做中央 C
$a^1$叫做标准音
等音:等音即音高完全相同,而记法和意义不同的音。如升 C、降 D、重升 B 三个音,在钢琴上 都是同一个键,所以音高也完全相同,只是记法和意义有所不同,这三个音就互为等音。
五线谱从下往上依次为一线、二线、三线、四线、五线
谱号G谱号:螺旋围绕着的线就是 $g^1$
F谱号:两个点夹着的线,就是 $f$
C谱号:两个须须夹着的线,就是$c^1$
音谱高音谱:G谱号 ...
网站迁移
建站步骤参考这里
网站迁移步骤
下载Node.js
下载Git
配置git连接github
1234567891011# 配置用户名git config --global user.name "qingshangithub"# 配置邮箱git config --global user.email "1056914402@qq.com"# 生成SSH秘钥,敲3次回车ssh-keygen -t rsa# C:\Users\SJTU_116\.ssh目录下id_rsa.pub文件里的就是秘钥# 在github个人页面的SSH子栏下创建ssh keys,粘贴上面得到的秘钥# 测试SSH配置是否成功ssh -T git@github.com
安装hexo
1npm install -g hexo-cli
同步网站
12hexo ghexo d
MyBatis
简介MyBatis 是一款优秀的持久层框架
它支持定制化 SQL、存储过程以及高级映射。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
持久化:内存的数据断电即失,需要数据库(JDBC)、IO文件等来做持久化,保证数据的持久状态。
持久层:完成持久化工作的代码。Dao层、Service层、Controller层…
demo教程笔记
视频
idea社区版没有database:安装插件Database Navigator
搭建环境配置连接数据库的属性 mybatis-config.xml文件
1234567891011121314151617181920<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...
Maven
GroupId是包名,如com.ifwant
ArtifactId是项目名
合起来就能定位到maven项目,所以称作maven坐标(coordinates)
Spring
简介优点:
Spring是一个开源免费的框架,容器
Spring是一个轻量级的框架,非侵入式的
控制反转 IOC ,面向切面 AOP
对事物的支持,对框架的支持
组成:
Spring Core:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能 , 集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP的对象。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖组件,就可以将声明性事务管理集成到应用程序中。
Spring ...
Redis
在线测试Redis
官方命令查询
Redis读的速度是10万次/s,写的速度是8万次/s。
所有操作都是原子性。单个操作是原子性的,多个操作也支持事务。
CAP定理传统数据库遵循ACID规则,Nosql(Not Only SQL)关系型数据库遵循CAP规则,一般为分布式。
一致性(Consistence)、可用性(Availability)、分区容错(Partition Tolerance),分布式系统最多满足三个中的两个。
舍弃P(选择C/A):单点的传统关系型数据库 DBMS(MySQL/Oracle),但如果采用集群就必须考虑P了;
舍弃A(选择C/P):是分布式系统要保证P,而且保证一致性,如 ZooKeeper / Redis / MongoDB / HBase;
舍弃C(选择A/P):是分布式系统要保证P,而且保证可用性,如 CoachDB / Cassandra / DynamoDB。
五种数据类型
键的类型只能为字符串,值常见有五种数据类型:字符串、散列表、列表、集合、有序集合。
redis 源码文件 src/server.h 中对于5种结构的定义:
123456 ...
动态规划代码模板
分割整数整数n分割成两个以上整数以达到某个目的(比如乘积最大,数量最少…)
思路:先拆出1个数来,剩下的不拆或者用dp数组得到最优值
下面以乘积最大为例
123456dp[] 数组保存满足题目要求的(乘积、数量...)for(i:1~n) 遍历1到n的范围,每轮求出一个dp[i]的值供后面的使用 best_var //保存每轮最优 for(a:1~i)//先拆分出1个a,a遍历1~i best_var=max(a*(i-a),a*dp[i-a],best_var) //剩下的部分看是拆更优(使用dp得到),还是不拆更优,还是都不比前一轮更优 dp[i]=best_var
343. 整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。
123456789101112131415public int integerBreak(int n) { int[]dp=new int[n+1]; dp[1]=1; dp[2]=1; for(int i=3;i<=n;i ...
java动态代理
要说动态代理,必须先聊聊静态代理。
静态代理假设现在项目经理有一个需求:在项目现有所有类的方法前后打印日志。
你如何在不修改已有代码的前提下,完成这个需求?
我首先想到的是静态代理。具体做法是:
1.为现有的每一个类都编写一个对应的代理类,并且让它实现和目标类相同的接口(假设都有)
2.在创建代理对象时,通过构造器塞入一个目标对象,然后在代理对象的方法内部调用目标对象同名方法,并在调用前后打印日志。也就是说,代理对象 = 增强代码 + 目标对象(原对象)。有了代理对象后,就不用原对象了
静态代理的缺陷
程序员要手动为每一个目标类编写对应的代理类。如果当前系统已经有成百上千个类,工作量太大了。所以,现在我们的努力方向是:如何少写或者不写代理类,却能完成代理功能?
复习对象的创建
很多初学Java的朋友眼中创建对象的过程
实际上可以换个角度,也说得通
所谓的Class对象,是Class类的实例,而Class类是描述所有类的,比如Person类,Student类
可以看出,要创建一个实例,最关键的就是得到对应的Class对象。只不过对于初学者来说,new这个关键字配合构造方法,实在 ...
java基础知识
注解
不是程序本身,可以对程序作出解释
可以被其他程序(比如:编译器等)读取,配合反射使用
内置注解
@Override : 定义在java.lang.Override中,此注释只适用于修辞方法, 表示一个方法声明打算重写超类中的另一个方法声明.
@Deprecated :定义在java.lang.Deprecated中,不推荐、废弃的方法,属性,类。
@SuppressWarnings : 定义在java.lang.SuppressWarnings中,用来抑制编译时的警告信息,需要添加参数才能使用,这些参数都是已经定义好了的,我们选择性的使用就好了.
123456789public class Demo01 extends Object{ @SuppressWarnings("all")//抑制警告 public static void test01(){ int age;//不加注解会有“从未使用”warning } public static void main(String[] arg ...