Hexo中数学公式问题
起因之前我的 Hexo 主题使用的是 Next 主题,Next 主题因为对数学公式有进行处理,所以在用 Next 主题时写数学公式是十分的顺畅的,但是最近觉得Next主题颜色太淡了,所以就换了一个颜色比较鲜艳的 Hexo 主题,但是这一换,数学公式就有了麻烦。
首先我们要明白这个麻烦是怎么产生的,因为 markdown 的语法跟 mathjax 有重叠,比如 _ 在 mathjax 中表示下标,但是在 markdown 中,被两个下划线 _ 包裹起来的内容会被转为 <em> 标签,即其间的内容会被转为斜体,这就使得数学公式渲染不出来;另一个就是 \\ 在 mathjax 表示换行,但是在解析 markdown 时却会被转义。
解决这个时候我就去网上搜了解决办法,有好几种,比如第一种是修改 marked.js(node_modules/marked/lib/marked.js),修改两个关键字为 excape 和 em 的正则表达式,这个方法我试了,但是没有用;第二个办法是卸载 hexo 默认的 markdown 解析 hexo-renderer-marked,然后安装 he ...
Spring笔记
概述Spring是一个什么东西? 简单的理解就是一个容器。既然是容器,那就是装东西的,装什么的呢? 里面装的都是对象。以前对象都是由我们自己管理,比如我们在User类中使用Student对象,那么我们会直接new,比如
// User.javaStudent student = new Student();
那如果使用Spring的话,会将Student对象放在Spring容器中,如果在User类中使用Student对象,那么就向Spring容器要。我们把这个称之为IOC(控制反转),即控制权由程序员交给了Spring容器。
所以接下来就要讲如何将对象交给Spring容器,或者说Spring容器如何创建对象,主要是在创建对象时如何为对象里面的成员变量注入值。
入门首先新建一个Maven工程,在pom.xml中导入依赖。说实话Spring框架是一个大家族,它有非常多的包,这里我们导入spring-webmvc,该包依赖了很多其他Spring的包,这样我们需要的包都会被导入,所以我们只要导入这一个包就可以,如下
<dependency> <groupId>o ...
MyBatis学习笔记
MyBatis入门新建Maven工程,在其中引入所需要的包,如mybatis, mysql-connector-java, junit。配置pom.xml如下
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>xt.mybatis</groupId> & ...
使用React搭建一个基于富文本编辑器的博客系统
本文将从0开始搭建一个基于富文本编辑器的博客系统,包括的内容有
React的基础知识
富文本编辑器组件BraftEditor的使用及扩展
React Hooks
Redux + React-Redux
antd表单的介绍及使用
登录权限控制
项目前的准备首先需要下载Node.js和npm(下载Node.js自带npm),下载完Node.js后,由于npm的速度较慢,可以考虑使用下面的命令下载cnpm
npm install cnpm -g
npm是什么,为什么会需要npm:
想要知道npm是什么,那就要先从共享代码说起,程序员自古以来就有社区文化,加入社区最大的好处之一是,你可以使用别人贡献的代码,你也可以贡献代码给别人用。
前端是怎么共享代码的呢?
在 GitHub 还没有兴起的年代,前端是通过网址来共享代码,比如你想使用 jQuery,那么你点击 jQuery 网站上提供的链接就可以下载 jQuery,放到自己的网站上使用,GItHub 兴起之后,社区中也有人使用 GitHub 的下载功能。
当一个网站依赖的代码越来越多,程序员发现这是一件很麻烦的事情,比如你要下载Boot ...
CSS3 新特性
CSS3新特性样式背景background-origin我们知道盒子的大小有三部分组成:border, padding, content,当我们设置背景图片时,图片是会以左上角对齐,但是是以border的左上角对齐还是以padding的左上角或者content的左上角对齐? border-origin正是用来设置这个的,它有三个可选值
border-box
padding-box
content-box
其中意思不必解释就可以明白。如果不进行设置的话,默认是padding-box,即以padding的左上角为原点。
background-clip该属性是用来设置背景(背景图片、背景颜色)延伸的范围,有4个值可选
border-box:背景延伸至边框外沿(但是在边框下层)
padding-box:背景延伸至内边距(padding)外沿,不会绘制到边框处
content-box:背景被裁剪至内容区(content box)外沿
text:背景被裁剪成文字的前景色
具体可以参考网站background-clip,这里演示一下上面的效果
background-sizebac ...
HTML5超详细了解
HTML5属于上一代HTML的新迭代语言,设计HTML5最主要的目的是为了在移动设备上支持多媒体,例如:video标签和audio及canvas标记。
HTML5中语义化标签在HTML5中新增了很多的语义标签,如
header
footer
nav
article
aside
section
… …
比如以前我们使用以下方式来布局
<div class="header"></div>
现在可以替换为
<header></header>
HTML5可以让很多更语义化的结构化代码标签代替大量无意义的div标签
这种语义化的特性提升了网页的质量和语义
减少了以前用于CSS 调用的class和id属性
并且对搜索引擎的友好,新的结构标签带来的是网页布局的改变及提升对搜索引擎的友好。
但是现在碰到一个问题,由于这些具有语义的标签是HTML5新增的,这就意味着在IE8及以下版本的IE浏览器中不支持,如下面的样式在IE8中就不能够正常的显示
<!DOCTYPE html><html lang=" ...
史纲
反侵略斗争鸦片战争
中英–南京条约
中英–虎门条约
中美–望厦条约
中法–黄埔条约
丧失了很多的主权(领土,领海,司法,关税),社会性质发生变化,逐步成为半殖民半封建社会。(辛丑条约,正式沦为两半社会)
两半社会
原因
已经丧失了独立的地位(殖民地),仍然维持着独立国家和政府的名义(半)
中国卷入世界资本主义经济体系,西方列强不愿中国成为独立的资本主义国家(半封建)
特征
帝国主义成为决定性力量
中国封建势力成为统治工具
封建土地所有制还保留着
民族资本主义发展缓慢,力量软弱
政治、经济和文化发展极不平衡(高度概括,单选就选这个)
广大人民水深火热
阶级关系变化
地主
农民
工人阶级(新兴阶级):最早出现的新阶级
资产阶级
官僚买办:跟封建势力勾结(官僚),跟帝国主义勾结(买办)
民族资本:本土成长起来的
(小资产阶级):不是资产阶级,是劳动人民,虽然小有资产,但是不剥削别人
主要矛盾
帝国主义和中华民族的矛盾(主要中的主要)
封建主义和人民大众的矛盾
近代以来历史任务
争取民族独立、人民解放(反帝反封建)
实现国家富强、人民富裕
时间
国情
矛盾
任务
...
思修
人生的青春之问时代新人
有崇高的理想信念
有高强的本领
有天下兴亡、匹夫有责的担当精神
有信念、有梦想
思想道德和法律的关系在调节领域、调节方式、调节目标等方面不同,但二者都是上层建筑的重要组成部分,共同服务于一定的经济基础
思想道德为法律提供思想指引和价值基础
法律为思想提供制度保障
人的本质一切社会关系的总和。
人的社会属性:是人的本质属性
人生观人生目的:为什么活着
人生态度:应当如何活着
人生价值:什么样的人生才有价值
人生目的
人生目的决定人生道路
人生目的决定人生态度
人生目的决定人生价值选择
人生态度:稳定的心理倾向和精神转态
人生价值(分析题考点):
自我价值:从社会索取了什么
社会价值:为社会做了什么,奉献了什么
自我价值的实现是为社会创造更大价值的前提,社会价值是个体自我完善、全面发展的保障。
人生观与世界观世界观:人们对生活在其中的世界以及人与世界的关系的总体看法和根本观点。
关系:
世界观决定人生观,人生观对世界观的巩固、发展和变化起着重要作用。
个人与社会的辩证关系对立统一的关系:
社会需要是个人需要的集中体现,个人利益的满足是在一定的 ...
常见排序算法
由于近期在学习排序算法,决定将自己的学习过程记录下来,一是为了自己能够方便的复习,另一个是将这个知识分享给大家。我将使用 Java 语言实现下列排序算法
选择排序
插入排序
希尔排序
归并排序
快速排序
堆排序
准备工作为了对实现的算法进行测试,我们准备一个工具类 Helper,里面包括我们由于测试算法正确与否的方法以及性能测试的代码,包括交换数组中的两个元素(这个操作在排序时经常用到,所以抽象出一个方法),还有产生一个指定容量和范围的随机数组,还有判断数组是否有序的函数以及性能测试的函数
import java.util.Arrays;import java.util.Random;public class Helper { //交换arr[i]和arr[j] public static void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } // ...
数据结构--Java描述
本篇文章是为了记录自己在学习数据结构时的笔记,会对常见的数据结构做基本的介绍以及使用Java语言进行实现。包括
动态数组
栈
队列
链表
二分搜索树
优先队列和堆
线段树
Trie
并查集
AVL 树
红黑树
哈希表
动态数组API介绍数组是一种根据下标操作的数据结构,它的查询速度很快,但是它有缺点,那就是数组的容量一旦在创建时确定,就不能进行更改,所以为了克服这一缺点,我们实现一个自己的数组,并除此以外,还会实现一些方法,包括以下
add(int index, E e)
向指定 index 添加元素 e
get(int index)
获得指定 index 的元素
remove(int index)
删除指定 index 的元素并返回该元素
set(int index, E e)
更改 index 处的元素为 e
getSize()
返回数组中元素的个数
contains(E e)
查询数组是否包含元素 e
isEmpty()
查看数组是否为空(是否有元素)
find(E e)
返回数组中元素 e 第一次出现的 index,若没有元素 e,则返回 -1 ...