From 91dd06003c371723d8aaa66e74b911b27ec61538 Mon Sep 17 00:00:00 2001 From: mafulong Date: Mon, 11 Jul 2022 18:33:32 +0800 Subject: [PATCH 001/318] add logbook --- ...b+picGo+typora\345\233\276\345\272\212.md" | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" index c067af34b9..dd5012dac6 100644 --- "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" +++ "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" @@ -9,3 +9,22 @@ tags: Tools [参考](https://blog.csdn.net/qq_36376089/article/details/107429913) + + +## picgo免费版本下载 + +### Windows用户 + +下载地址: https://github.com/iuxt/src/releases/download/2.0/typora-0-11-18.exe + +### Mac用户 + +下载地址: https://github.com/iuxt/src/releases/download/2.0/typora-0-11-18.dmg + +### Ubuntu用户 + +下载地址:https://github.com/iuxt/src/releases/download/2.0/Typora_Linux_0.11.18_amd64.deb + + + +[参考](https://zahui.fan/posts/64b52e0d/) From f2dc36a61f1e65d14ee94e11e182ef6e5bc40279 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 16 Jul 2022 08:54:52 +0800 Subject: [PATCH 002/318] add logbook --- ...35. Minimum Amount of Time to Fill Cups.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 _posts/Algorithms/leetcode/2022-07-16-2335. Minimum Amount of Time to Fill Cups.md diff --git a/_posts/Algorithms/leetcode/2022-07-16-2335. Minimum Amount of Time to Fill Cups.md b/_posts/Algorithms/leetcode/2022-07-16-2335. Minimum Amount of Time to Fill Cups.md new file mode 100644 index 0000000000..77e574190c --- /dev/null +++ b/_posts/Algorithms/leetcode/2022-07-16-2335. Minimum Amount of Time to Fill Cups.md @@ -0,0 +1,78 @@ +--- +layout: post +category: leetcode +title: 2335. Minimum Amount of Time to Fill Cups +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/minimum-amount-of-time-to-fill-cups/) + +You have a water dispenser that can dispense cold, warm, and hot water. Every second, you can either fill up `2` cups with **different** types of water, or `1` cup of any type of water. + +You are given a **0-indexed** integer array `amount` of length `3` where `amount[0]`, `amount[1]`, and `amount[2]` denote the number of cold, warm, and hot water cups you need to fill respectively. Return *the **minimum** number of seconds needed to fill up all the cups*. + + + +**Example 1:** + +``` +Input: amount = [1,4,2] +Output: 4 +Explanation: One way to fill up the cups is: +Second 1: Fill up a cold cup and a warm cup. +Second 2: Fill up a warm cup and a hot cup. +Second 3: Fill up a warm cup and a hot cup. +Second 4: Fill up a warm cup. +It can be proven that 4 is the minimum number of seconds needed. +``` + +**Example 2:** + +``` +Input: amount = [5,4,4] +Output: 7 +Explanation: One way to fill up the cups is: +Second 1: Fill up a cold cup, and a hot cup. +Second 2: Fill up a cold cup, and a warm cup. +Second 3: Fill up a cold cup, and a warm cup. +Second 4: Fill up a warm cup, and a hot cup. +Second 5: Fill up a cold cup, and a hot cup. +Second 6: Fill up a cold cup, and a warm cup. +Second 7: Fill up a hot cup. +``` + +**Example 3:** + +``` +Input: amount = [5,0,0] +Output: 5 +Explanation: Every second, we fill up a cold cup. +``` + + + +**Constraints:** + +- `amount.length == 3` +- `0 <= amount[i] <= 100` + +## solution + +We can use the technique of greedy and category discussion. + +At every step only choose the max-2 cups to be filled. + +```python +class Solution: + def fillCups(self, amount: List[int]) -> int: + a, b, c = sorted(amount, reverse=True) + if b + c < a: + return a + t = b + c - a + if t % 2 == 0: + return (t // 2) + a + # t is odd + return ((t - 1) // 2) + a + 1 +``` + From c3a666eb0a22099192493c7875ae84988bdcdd5a Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 16 Jul 2022 09:48:15 +0800 Subject: [PATCH 003/318] add logbook --- ...6-2336. Smallest Number in Infinite Set.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 _posts/Algorithms/leetcode/2022-07-16-2336. Smallest Number in Infinite Set.md diff --git a/_posts/Algorithms/leetcode/2022-07-16-2336. Smallest Number in Infinite Set.md b/_posts/Algorithms/leetcode/2022-07-16-2336. Smallest Number in Infinite Set.md new file mode 100644 index 0000000000..9ced85dc92 --- /dev/null +++ b/_posts/Algorithms/leetcode/2022-07-16-2336. Smallest Number in Infinite Set.md @@ -0,0 +1,81 @@ +--- +layout: post +category: leetcode +title: 2336. Smallest Number in Infinite Set +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/smallest-number-in-infinite-set/) + +You have a set which contains all positive integers `[1, 2, 3, 4, 5, ...]`. + +Implement the `SmallestInfiniteSet` class: + +- `SmallestInfiniteSet()` Initializes the **SmallestInfiniteSet** object to contain **all** positive integers. +- `int popSmallest()` **Removes** and returns the smallest integer contained in the infinite set. +- `void addBack(int num)` **Adds** a positive integer `num` back into the infinite set, if it is **not** already in the infinite set. + + + +**Example 1:** + +``` +Input +["SmallestInfiniteSet", "addBack", "popSmallest", "popSmallest", "popSmallest", "addBack", "popSmallest", "popSmallest", "popSmallest"] +[[], [2], [], [], [], [1], [], [], []] +Output +[null, null, 1, 2, 3, null, 1, 4, 5] + +Explanation +SmallestInfiniteSet smallestInfiniteSet = new SmallestInfiniteSet(); +smallestInfiniteSet.addBack(2); // 2 is already in the set, so no change is made. +smallestInfiniteSet.popSmallest(); // return 1, since 1 is the smallest number, and remove it from the set. +smallestInfiniteSet.popSmallest(); // return 2, and remove it from the set. +smallestInfiniteSet.popSmallest(); // return 3, and remove it from the set. +smallestInfiniteSet.addBack(1); // 1 is added back to the set. +smallestInfiniteSet.popSmallest(); // return 1, since 1 was added back to the set and + // is the smallest number, and remove it from the set. +smallestInfiniteSet.popSmallest(); // return 4, and remove it from the set. +smallestInfiniteSet.popSmallest(); // return 5, and remove it from the set. +``` + + + +**Constraints:** + +- `1 <= num <= 1000` +- At most `1000` calls will be made **in total** to `popSmallest` and `addBack`. + +## solution + +One way, we can use the heapq + set. Another way, we can divide it into two parts, maintain the smallest num and a sortedset so that no initial heap in the first. + +```python +import heapq + + +class SmallestInfiniteSet: + + def __init__(self): + self.h = list(range(1, 1001, 1)) + self.s = set(self.h) + heapq.heapify(self.h) + + def popSmallest(self) -> int: + if self.h: + r = heapq.heappop(self.h) + self.s.remove(r) + return r + return -1 + + def addBack(self, num: int) -> None: + if num in self.s: + return + self.s.add(num) + heapq.heappush(self.h, num) + +``` + + + From 78c18491ca37648571c9ce5972d69b3c7217671d Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 16 Jul 2022 15:25:28 +0800 Subject: [PATCH 004/318] add logbook --- ...15\345\205\270\351\205\215\347\275\256.md" | 30 +++++++++++++++++++ ...b+picGo+typora\345\233\276\345\272\212.md" | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 "_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" diff --git "a/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" "b/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" new file mode 100644 index 0000000000..166b2fb2d1 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" @@ -0,0 +1,30 @@ +--- +layout: post +category: TOOLS +title: 欧陆词典配置 +tags: TOOLS +--- + +## 欧陆词典配置 + +app store里下载 + +登录vip账号 + +下载词库, [下载网址](https://www.eudic.net/v4/en/home/dictionaryresource) + + + +- [词根词缀](https://static.frdic.com/extra_eudb/cigen_en_new.eudic?v=20210709) + + + +[更全的下载网址](https://www.mrfan.org/dicts) + + + +推荐 + +- 牛津 +- 柯斯林 +- 朗文 diff --git "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" index dd5012dac6..f8f637449d 100644 --- "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" +++ "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" @@ -11,7 +11,7 @@ tags: Tools -## picgo免费版本下载 +## Typora免费版本下载 ### Windows用户 From 7c79dad8e8d27f17c3bfa083987700bd9957fca4 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 17 Jul 2022 16:30:24 +0800 Subject: [PATCH 005/318] add logbook --- .../2022-07-17-Junit\345\222\214Mockito.md" | 20 ++ ...2-07-16-NodeJS\347\254\224\350\256\260.md" | 286 ++++++++++++++++++ ...b+picGo+typora\345\233\276\345\272\212.md" | 24 ++ 3 files changed, 330 insertions(+) create mode 100644 "_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" create mode 100644 "_posts/Tech/NodeJS/2022-07-16-NodeJS\347\254\224\350\256\260.md" diff --git "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" new file mode 100644 index 0000000000..0a4c0367bd --- /dev/null +++ "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" @@ -0,0 +1,20 @@ +--- +layout: post +category: Java +title: Junit和Mockito +tags: Java +--- + +## Junit和Mockito + +# Junit + +需要使用junit.jar这个包。 + + @Test 注解,表示这个方法是一个测试方法。 + +常用注解 + +![img](https://ask.qcloudimg.com/http-save/yehe-5738961/2zxe0nzcl1.jpeg?imageView2/2/w/1620) + +# Mockito diff --git "a/_posts/Tech/NodeJS/2022-07-16-NodeJS\347\254\224\350\256\260.md" "b/_posts/Tech/NodeJS/2022-07-16-NodeJS\347\254\224\350\256\260.md" new file mode 100644 index 0000000000..1cfed9d343 --- /dev/null +++ "b/_posts/Tech/NodeJS/2022-07-16-NodeJS\347\254\224\350\256\260.md" @@ -0,0 +1,286 @@ +--- +layout: post +category: NodeJS +title: NodeJS笔记 +tags: NodeJS +--- + +# NodeJS笔记 + +## Hello world + +```js +var http = require('http'); + +http.createServer(function (request, response) { + + // 发送 HTTP 头部 + // HTTP 状态值: 200 : OK + // 内容类型: text/plain + response.writeHead(200, {'Content-Type': 'text/plain'}); + + // 发送响应数据 "Hello World" + response.end('Hello World\n'); +}).listen(8888); + +// 终端打印如下信息 +console.log('Server running at http://127.0.0.1:8888/'); +``` + +## npm使用 + +```shell +npm -v +npm install express # 本地,项目的node_modules目录,会自动创建 +npm install express -g # 全局 +npm list -g # 看全局模块列表 +npm list grunt # 看版本号 +npm uninstall express # 卸载模块 +npm update express +npm search express + +# 创建模块 +npm init # 会创建package.json +npm publish # 发布到资源库 +``` + +使用package.json描述POM + +### 版本号 + +使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下。 + +语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。 + +- 如果只是修复bug,需要更新Z位。 +- 如果是新增了功能,但是向下兼容,需要更新Y位。 +- 如果有大变动,向下不兼容,需要更新X位。 + +版本号有了这个保证后,在申明第三方包依赖时,除了可依赖于一个固定版本号外,还可依赖于某个范围的版本号。例如"argv": "0.0.x"表示依赖于0.0.x系列的最新版argv。 + +## 回调函数 + +Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 + +通过回调来实现异步编程。回调函数一般作为函数的最后一个参数出现 + + + +非阻塞代码实例 + +```js +var fs = require("fs"); + +fs.readFile('input.txt', function (err, data) { + if (err) return console.error(err); + console.log(data.toString()); +}); + +console.log("程序执行结束!"); +``` + +## 事件循环 + +类似非阻塞IO, 观察者模式。 + +Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件,如下实例: + +```js +// 引入 events 模块 +var events = require('events'); +// 创建 eventEmitter 对象 +var eventEmitter = new events.EventEmitter(); + +// 创建事件处理程序 +var connectHandler = function connected() { + console.log('连接成功。'); + + // 触发 data_received 事件 + eventEmitter.emit('data_received'); +} + +// 绑定 connection 事件处理程序 +eventEmitter.on('connection', connectHandler); + +// 使用匿名函数绑定 data_received 事件 +eventEmitter.on('data_received', function(){ + console.log('数据接收成功。'); +}); + +// 触发 connection 事件 +eventEmitter.emit('connection'); + +console.log("程序执行完毕。"); +``` + +emit是触发 + +on是绑定对应处理 + + + +在 Node 应用程序中,执行异步操作的函数将回调函数作为最后一个参数, 回调函数接收错误对象作为第一个参数。 + + + +## EventEmitter + +Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。 + +这些产生事件的对象都是 events.EventEmitter 的实例。 + +events 模块只提供了一个对象: events.EventEmitter。EventEmitter 的核心就是事件触发与事件监听器功能的封装。 + + + + + +EventEmitter 的每个事件由一个事件名和若干个参数组成,事件名是一个字符串,通常表达一定的语义。对于每个事件,EventEmitter 支持 若干个事件监听器。 + +当事件触发时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。 + +```js +//event.js 文件 +var events = require('events'); +var emitter = new events.EventEmitter(); +emitter.on('someEvent', function(arg1, arg2) { + console.log('listener1', arg1, arg2); +}); +emitter.on('someEvent', function(arg1, arg2) { + console.log('listener2', arg1, arg2); +}); +emitter.emit('someEvent', 'arg1 参数', 'arg2 参数'); +``` + +大多数时候我们不会直接使用 EventEmitter,而是在对象中继承它。包括 fs、net、 http 在内的,只要是支持事件响应的核心模块都是 EventEmitter 的子类。 + + + +## Stream + +Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。 + +Node.js,Stream 有四种流类型: + +- **Readable** - 可读操作。 +- **Writable** - 可写操作。 +- **Duplex** - 可读可写操作. +- **Transform** - 操作被写入数据,然后读出结果。 + +所有的 Stream 对象都是 EventEmitter 的实例。常用的事件有: + +- **data** - 当有数据可读时触发。 +- **end** - 没有更多的数据可读时触发。 +- **error** - 在接收和写入过程中发生错误时触发。 +- **finish** - 所有数据已被写入到底层系统时触发。 + +从流中读取数据 + +```js +var fs = require("fs"); +var data = ''; + +// 创建可读流 +var readerStream = fs.createReadStream('input.txt'); + +// 设置编码为 utf8。 +readerStream.setEncoding('UTF8'); + +// 处理流事件 --> data, end, and error +readerStream.on('data', function(chunk) { + data += chunk; +}); + +readerStream.on('end',function(){ + console.log(data); +}); + +readerStream.on('error', function(err){ + console.log(err.stack); +}); + +console.log("程序执行完毕"); +``` + + + +写入流 + +```js +var fs = require("fs"); +var data = '菜鸟教程官网地址:www.runoob.com'; + +// 创建一个可以写入的流,写入到文件 output.txt 中 +var writerStream = fs.createWriteStream('output.txt'); + +// 使用 utf8 编码写入数据 +writerStream.write(data,'UTF8'); + +// 标记文件末尾 +writerStream.end(); + +// 处理流事件 --> finish、error +writerStream.on('finish', function() { + console.log("写入完成。"); +}); + +writerStream.on('error', function(err){ + console.log(err.stack); +}); + +console.log("程序执行完毕"); +``` + + + +管道流 + +可一对多 链式流 + +```js +readerStream.pipe(writerStream); + +fs.createReadStream('input.txt') + .pipe(zlib.createGzip()) + .pipe(fs.createWriteStream('input.txt.gz')); +``` + + + +## 模块系统 + +## 引入模块 + +在 Node.js 中,引入一个模块非常简单,如下我们创建一个 **main.js** 文件并引入 hello 模块,代码如下: + +```js +var hello = require('./hello'); +hello.world(); +``` + +以上实例中,代码 require('./hello') 引入了当前目录下的 hello.js 文件(./ 为当前目录,node.js 默认后缀为 js)。 + +Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。 + +接下来我们就来创建 hello.js 文件,代码如下: + +```js +exports.world = function() { + console.log('Hello World'); +} +``` + +在以上示例中,hello.js 通过 exports 对象把 world 作为模块的访问接口,在 main.js 中通过 require('./hello') 加载这个模块,然后就可以直接访 问 hello.js 中 exports 对象的成员函数了。 + + + +require方法接受以下几种参数的传递: + +- http、fs、path等,原生模块。 +- ./mod或../mod,相对路径的文件模块。 +- /pathtomodule/mod,绝对路径的文件模块。 +- mod,非原生模块的文件模块。 + +## todo + +https://www.runoob.com/nodejs/nodejs-router.html diff --git "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" index f8f637449d..f22a4afa6b 100644 --- "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" +++ "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" @@ -11,6 +11,30 @@ tags: Tools +### token生成 + +https://github.com/settings/tokens + +第一个repo勾选。 + + + +### picgo配置 + +仓库名: mafulong/mdPic + +分支v7,v8递增,需要提前创建。 + +制定存储路径 v7/, 这样 + +自定义域名如下,不用包含目录,仅包含分支名即可。 + +``` +https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6 +``` + + + ## Typora免费版本下载 ### Windows用户 From 54f39e7b99bd2fd69cb04ada69e99b866b52be62 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 17 Jul 2022 16:38:20 +0800 Subject: [PATCH 006/318] add logbook --- .../2022-07-17-Junit\345\222\214Mockito.md" | 135 +++++++++++++++++- ...b+picGo+typora\345\233\276\345\272\212.md" | 4 + 2 files changed, 138 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" index 0a4c0367bd..0b507a4116 100644 --- "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" +++ "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" @@ -9,12 +9,145 @@ tags: Java # Junit +## 例子+常用注解 + 需要使用junit.jar这个包。 @Test 注解,表示这个方法是一个测试方法。 常用注解 -![img](https://ask.qcloudimg.com/http-save/yehe-5738961/2zxe0nzcl1.jpeg?imageView2/2/w/1620) +- @Test:将一个普通方法修饰成一个测试方法 @Test(excepted=xx.class): xx.class 表示异常类,表示测试的方法抛出此异常时,认为是正常的测试通过的 @Test(timeout = 毫秒数) :测试方法执行时间是否符合预期 +- @BeforeClass: 会在所有的方法执行前被执行,static 方法 (全局只会执行一次,而且是第一个运行) +- @AfterClass:会在所有的方法执行之后进行执行,static 方法 (全局只会执行一次,而且是最后一个运行) +- @Before:会在每一个测试方法被运行前执行一次 +- @After:会在每一个测试方法运行后被执行一次 +- @Ignore:所修饰的测试方法会被测试运行器忽略 +- @RunWith:可以更改测试运行器 org.junit.runner.Runner +- Parameters:参数化注解 + +例子 + +```java +import static org.junit.Assert.*; + +import org.junit.*; + +/** + * 了解一个测试类单元测试的执行顺序为: + * @BeforeClass –> @Before –> @Test –> @After –> @AfterClass + * @author hao + * + */ +public class TestJunit1 { + @BeforeClass + public static void setUpBeforeClass() throws Exception { + System.out.println("in BeforeClass================"); + } + + @AfterClass + public static void tearDownAfterClass() throws Exception { + System.out.println("in AfterClass================="); + } + + @Before + public void before() { + System.out.println("in Before"); + } + + @After + public void after() { + System.out.println("in After"); + } + + @Test(timeout = 10000) + public void testadd() { + TestJunit2 a = new TestJunit2(); + assertEquals(6, a.add(3, 3)); + System.out.println("in Test ----Add"); + } + + @Test + public void testdivision() { + TestJunit2 a = new TestJunit2(); + assertEquals(3, a.division(6, 2)); + System.out.println("in Test ----Division"); + } + + @Ignore + @Test + public void test_ignore() { + TestJunit2 a = new TestJunit2(); + assertEquals(6, a.add(1, 5)); + System.out.println("in test_ignore"); + } + + @Test + public void teest_fail() { + fail(); + } +} +class TestJunit2 extends Thread { + + int result; + + public int add(int a, int b) { + try { + sleep(1000); + result = a + b; + } catch (InterruptedException e) { + } + return result; + } + + public int division(int a, int b) { + return result = a / b; + } +} +``` + +一个**测试类单元测试的执行顺序**为: + +**@BeforeClass –> @Before –> @Test –> @After –> @AfterClass** + +每一个**测试方法的调用顺序**为: + +@Before –> @Test –> @After + + + +## JUnit的一些注意事项 + +- 测试方法必须使用 @Test 修饰 +- 测试方法必须使用 public void 进行修饰,不能带参数 +- 一般使用单元测试会新建一个 test 目录存放测试代码,在生产部署的时候只需要将 test 目录下代码删除即可 +- 测试代码的包应该和被测试代码包结构保持一致 +- 测试单元中的每个方法必须可以独立测试,方法间不能有任何依赖 +- 测试类一般使用 Test 作为类名的后缀 +- 测试方法使一般用 test 作为方法名的前缀 + +## **Assert的用法** + +Assert就是断言,断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过。 + +Assert的核心方法: + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202207171631342.jpeg) + +## TestSuite测试套件 + +测试套件,一下执行多个测试类。 + +需要遵循以下规则: + +1. 创建一个空类作为测试套件的入口。 +2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuiteClasses 修饰这个空类。 +3. 将 org.junit.runners.Suite 作为参数传入注解 RunWith,以提示 JUnit 为此类使用套件运行器执行。 +4. 将需要放入此测试套件的测试类组成数组作为注解 SuiteClasses 的参数。 +5. 保证这个空类使用 public 修饰,而且存在公开的不带有任何参数的构造函数 + +## 异常测试、参数测试 + +[参考](https://www.w3cschool.cn/junit/1h4e1hva.html) # Mockito diff --git "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" index f22a4afa6b..1b553373b3 100644 --- "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" +++ "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" @@ -33,6 +33,10 @@ https://github.com/settings/tokens https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6 ``` +开启『时间戳重命名』 + +不要开启:『上传前重命名』 + ## Typora免费版本下载 From 1b3490a4043e038d7da04bf4350cab2f3dc0269e Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Thu, 28 Jul 2022 09:38:51 +0800 Subject: [PATCH 007/318] add logbook --- .../2022-07-17-Junit\345\222\214Mockito.md" | 78 ++++++++++++++++++- ...15\345\205\270\351\205\215\347\275\256.md" | 4 +- ...45\345\217\243\350\275\254\345\217\221.md" | 16 ++++ 3 files changed, 94 insertions(+), 4 deletions(-) create mode 100644 "_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" diff --git "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" index 0b507a4116..e5c1cd7fae 100644 --- "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" +++ "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" @@ -5,8 +5,6 @@ title: Junit和Mockito tags: Java --- -## Junit和Mockito - # Junit ## 例子+常用注解 @@ -151,3 +149,79 @@ Assert的核心方法: [参考](https://www.w3cschool.cn/junit/1h4e1hva.html) # Mockito + +[Tutorial](https://www.baeldung.com/mockito-series) + +## 添加mockito + + + +```xml + + org.mockito + mockito-all + 1.9.5 + test + + + junit + junit + 4.11 + test + + +``` + + + +```java +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; +``` + +## Spy和mock + +spy 和 mock不同,不同点是: + +- spy 的参数是对象示例,mock 的参数是 class。 +- 被 spy 的对象,调用其方法时默认会走真实方法。mock 对象不会。 + +mock默认是返回默认值的。 + + + +## 注解 + +@Mock用于代替Mockito.mock创建mock对象。 + + + +spy 对应注解 @Spy,和 @Mock 是一样用的。 + + + +对于@Spy,如果发现修饰的变量是 null,会自动调用类的无参构造函数来初始化。 + +所以下面两种写法是等价的: + +```java +// 写法1 +@Spy +private ExampleService spyExampleService; + +// 写法2 +@Spy +private ExampleService spyExampleService = new ExampleService(); +``` + +## 测试隔离 + +根据 JUnit 单测隔离 ,当 Mockito 和 JUnit 配合使用时,也会将非static变量或者非单例隔离开。 + +比如使用 @Mock 修饰的 mock 对象在不同的单测中会被隔离开。 + +## 实现原理 + +Mockito使用继承的方式实现mock的,用CGLIB生成mock对象代替真实的对象进行执行,为了mock实例的方法,你可以在subclass中覆盖它。 + +因此无法mock静态方法。 diff --git "a/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" "b/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" index 166b2fb2d1..d18f1c5eb1 100644 --- "a/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" +++ "b/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" @@ -13,12 +13,12 @@ app store里下载 下载词库, [下载网址](https://www.eudic.net/v4/en/home/dictionaryresource) - - - [词根词缀](https://static.frdic.com/extra_eudb/cigen_en_new.eudic?v=20210709) +另一个下载网址:https://mdict.org/ 都是离线版 + [更全的下载网址](https://www.mrfan.org/dicts) diff --git "a/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" "b/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" new file mode 100644 index 0000000000..732d43e304 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" @@ -0,0 +1,16 @@ +--- +layout: post +category: TOOLS +title: ssh接口转发 +tags: TOOLS +--- + +## ssh接口转发 + +[参考](https://zhuanlan.zhihu.com/p/148825449) + +``` +ssh -v -N -L ... +``` + +如何关闭,ssh关闭则这个也关闭,开发机exit后即可。 From b828c3003fdb78bbe3814adb2979a767f1222c37 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Thu, 28 Jul 2022 23:38:06 +0800 Subject: [PATCH 008/318] add logbook --- .../2022-07-17-Junit\345\222\214Mockito.md" | 504 +++++++++++++++++- _posts/Tech/java/2018-10-14-Java 8 Lambda.md | 119 ++++- 2 files changed, 611 insertions(+), 12 deletions(-) diff --git "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" index e5c1cd7fae..070a53d912 100644 --- "a/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" +++ "b/_posts/Tech/Java/2022-07-17-Junit\345\222\214Mockito.md" @@ -5,7 +5,7 @@ title: Junit和Mockito tags: Java --- -# Junit +# Junit4 ## 例子+常用注解 @@ -144,10 +144,71 @@ Assert的核心方法: 4. 将需要放入此测试套件的测试类组成数组作为注解 SuiteClasses 的参数。 5. 保证这个空类使用 public 修饰,而且存在公开的不带有任何参数的构造函数 +## 测试隔离 + +JUnit中每个测试方法都是在独立的类实例中执行的,因此只要没有使用全局变量和外部资源(如数据库和API),这些测试都将是彼此隔离的,即不管一个测试做什么,都不会影响其他测试。 + +[参考](https://www.letianbiji.com/java/java-test-junit-isolate.html) + + + +### 测试运行器 + +JUnit 中所有的测试方法都是由测试运行器负责执行的。JUnit 为单元测试提供了默认的测试运行器,但 JUnit 并没有限制您必须使用默认的运行器。相反,您不仅可以定制自己的运行器(所有的运行器都继承自 org.junit.runner.Runner),而且还可以为每一个测试类指定使用某个具体的运行器。指定方法也很简单,使用注解 `org.junit.runner.RunWith` 在测试类上显式的声明要使用的运行器即可: + +```java +@RunWith(CustomTestRunner.class) + public class TestWordDealUtil { +…… + } +``` + +显而易见,如果测试类没有显式的声明使用哪一个测试运行器,JUnit 会启动默认的测试运行器执行测试类(比如上面提及的单元测试代码)。一般情况下,默认测试运行器可以应对绝大多数的单元测试要求;当使用 JUnit 提供的一些高级特性(例如即将介绍的两个特性)或者针对特殊需求定制 JUnit 测试方式时,显式的声明测试运行器就必不可少了。 + ## 异常测试、参数测试 [参考](https://www.w3cschool.cn/junit/1h4e1hva.html) +# Junit5 + +区别: + +注解不同: + +- @Before变成了@BeforeEach。 +- @After变成了@AfterEach。 +- @BeforeClass变成了@BeforeAll。 +- @AfterClass变成了@AfterAll。 +- @Ignore变成了@Disabled。 +- @Category变成了@Tag。 +- @Rule和@ClassRule没有了,用@ExtendWith和@RegisterExtension代替。 + + + +扩展不同: + +在JUnit 4中,使用Spring框架构建测试看起来是这样的: + +```java +@RunWith(SpringJUnit4ClassRunner.class) +public class MyControllerTest { + // ... +} +``` + +在JUnit 5中,你可以用Spring扩展来代替: + +```java +@ExtendWith(SpringExtension.class) +class MyControllerTest { + // ... +} +``` + +@ExtendWith 注解是可重复的,这意味着多个扩展可以很容易地组合在一起。 + +你也可以通过创建一个类来实现org.junit.jupiter.api.extendWith中的一个或多个接口,然后用@ExtendWith将其添加到你的测试中,从而轻松定义你自己的自定义扩展。 + # Mockito [Tutorial](https://www.baeldung.com/mockito-series) @@ -179,7 +240,244 @@ import static org.mockito.Mockito.*; import static org.junit.Assert.*; ``` -## Spy和mock + + +指定包名 Mockito + + + +测试类加相关注解 + +Junit5: + +```java +@ExtendWith(MockitoExtension.class) +public class UserServiceUnitTest { + +``` + +Junit4: + +```java +@RunWith(MockitoJUnitRunner.class) + +@RunWith(PowerMockRunner.class) +``` + +## 创建 Mock 对象 + +```reasonml +@Test +public void createMockObject() { + // 使用 mock 静态方法创建 Mock 对象. + List mockedList = mock(List.class); + Assert.assertTrue(mockedList instanceof List); + + // mock 方法不仅可以 Mock 接口类, 还可以 Mock 具体的类型. + ArrayList mockedArrayList = mock(ArrayList.class); + Assert.assertTrue(mockedArrayList instanceof List); + Assert.assertTrue(mockedArrayList instanceof ArrayList); +} +``` + +如上代码所示, 我们调用了 **mock** 静态方法来创建一个 Mock 对象. mock 方法接收一个 class 类型, 即我们需要 mock 的类型. + + + +when需要在mock对象上操作!! + +包名冲突的可以用Mockito.when来操作 + +只有调用mock对象的方法才是走的mock逻辑,实际对象还不是mock的。 + +## 配置 Mock 对象 + +当我们有了一个 Mock 对象后, 我们可以定制它的具体的行为. 例如: + +```java +@Test +public void configMockObject() { + List mockedList = mock(List.class); + + // 我们定制了当调用 mockedList.add("one") 时, 返回 true + when(mockedList.add("one")).thenReturn(true); + // 当调用 mockedList.size() 时, 返回 1 + when(mockedList.size()).thenReturn(1); + + Assert.assertTrue(mockedList.add("one")); + // 因为我们没有定制 add("two"), 因此返回默认值, 即 false. + Assert.assertFalse(mockedList.add("two")); + Assert.assertEquals(mockedList.size(), 1); + + Iterator i = mock(Iterator.class); + when(i.next()).thenReturn("Hello,").thenReturn("Mockito!"); + String result = i.next() + " " + i.next(); + //assert + Assert.assertEquals("Hello, Mockito!", result); +} +``` + +我们使用 **when(...).thenReturn(...)** 方法链来定义一个行为, 例如 "when(mockedList.add("one")).thenReturn(true)" 表示: **当调用了mockedList.add("one"), 那么返回 true.**. 并且要注意的是, **when(...).thenReturn(...)** 方法链不仅仅要匹配方法的调用, 而且要方法的参数一样才行. + +而且有趣的是, **when(​...).thenReturn(​...)** 方法链可以指定多个返回值, 当这样做后, 如果多次调用指定的方法, 那么这个方法会依次返回这些值. 例如 "when(i.next()).thenReturn("Hello,").thenReturn("Mockito!");", 这句代码表示: 第一次调用 i.next() 时返回 "Hello,", 第二次调用 i.next() 时返回 "Mockito!". + +上面的例子我们展示了方法调用返回值的定制, 那么我们可以指定一个抛出异常吗? 当然可以的, 例如: + +```reasonml +@Test(expected = NoSuchElementException.class) +public void testForIOException() throws Exception { + Iterator i = mock(Iterator.class); + when(i.next()).thenReturn("Hello,").thenReturn("Mockito!"); // 1 + String result = i.next() + " " + i.next(); // 2 + Assert.assertEquals("Hello, Mockito!", result); + + doThrow(new NoSuchElementException()).when(i).next(); // 3 + i.next(); // 4 +} +``` + +上面代码的第一第二步我们已经很熟悉了, 接下来第三部我们使用了一个新语法: `doThrow(ExceptionX).when(x).methodCall`, 它的含义是: 当调用了 x.methodCall 方法后, 抛出异常 ExceptionX. +因此 doThrow(new NoSuchElementException()).when(i).next() 的含义就是: 当第三次调用 i.next() 后, 抛出异常 NoSuchElementException.(因为 i 这个迭代器只有两个元素) + + + +## 误解 注意事项 + +Mockito.mock() 并不是mock一整个类,而是根据传进去的一个类,mock出属于这个类的一个对象,并且返回这个mock对象;而传进去的这个类本身并没有改变,用这个类new出来的对象也没有受到任何改变! + + + +mock出来的对象并不会自动替换掉正式代码里面的对象,你必须要有某种方式把mock对象应用到正式代码里面 + + + +mock后直接生效 默认是无限次数 + + + +## 对于手动new而不是依赖注入的Mock + +[参考](https://stackoverflow.com/questions/5920153/test-class-with-a-new-call-in-it-with-mockito) + +```java +public class TestedClass { + public LoginContext login(String user, String password) { + LoginContext lc = new LoginContext("login", callbackHandler); + } +} +``` + +1. Mock 生成这个动作new, 改成用工厂生成,这样就可以Mock这个工厂了 + + You can use a factory to create the login context. Then you can mock the factory and return whatever you want for your test. + +```java +// 新方法 + public LoginContext login(String user, String password) { + LoginContext lc = loginContextFactory.createLoginContext(); + } + + +public interface LoginContextFactory { + public LoginContext createLoginContext(); +} +``` + + + +1. mock部分方法,改写有new的方法逻辑, 用spy + + ```java + TestedClass tc = spy(new TestedClass()); + LoginContext lcMock = mock(LoginContext.class); + when(tc.login(anyString(), anyString())).thenReturn(lcMock); + ``` + +## 校验 Mock 对象的方法调用 + +Mockito 会追踪 Mock 对象的所用方法调用和调用方法时所传递的参数. 我们可以通过 verify() 静态方法来来校验指定的方法调用是否满足断言. 语言描述有一点抽象, 下面我们仍然以代码来说明一下. + +```routeros +@Test +public void testVerify() { + List mockedList = mock(List.class); + mockedList.add("one"); + mockedList.add("two"); + mockedList.add("three times"); + mockedList.add("three times"); + mockedList.add("three times"); + when(mockedList.size()).thenReturn(5); + Assert.assertEquals(mockedList.size(), 5); + + verify(mockedList, atLeastOnce()).add("one"); + verify(mockedList, times(1)).add("two"); + verify(mockedList, times(3)).add("three times"); + verify(mockedList, never()).isEmpty(); +} +``` + +上面的例子前半部份没有什么特别的, 我们关注后面的: + +```scss +verify(mockedList, atLeastOnce()).add("one"); +verify(mockedList, times(1)).add("two"); +verify(mockedList, times(3)).add("three times"); +verify(mockedList, never()).isEmpty(); +``` + +读者根据代码也应该可以猜测出它的含义了, 很简单: + +- 第一句校验 mockedList.add("one") 至少被调用了 1 次(atLeastOnce) +- 第二句校验 mockedList.add("two") 被调用了 1 次(times(1)) +- 第三句校验 mockedList.add("three times") 被调用了 3 次(times(3)) +- 第四句校验 mockedList.isEmpty() 从未被调用(never) + + + +Mockito.verify(mockUserManager).performLogin("xiaochuang", "xiaochuang password"); + +这句话的作用是,验证 mockUserManager 的 performLogin() 得到了调用,同时参数是“xiaochuang”和"xiaochuang password"。其实更准确的说法是,这行代码验证的是, mockUserManager 的 performLogin() 方法得到了 一次 调用。因为这行代码其实是: + +Mockito.verify(mockUserManager, Mockito.times(1)).performLogin("xiaochuang", "xiaochuang password"); + +的简写,或者说重载方法,注意其中的 Mockito.times(1) 。 + +## 使用 spy() 部分模拟对象 + +对于一个mock对象,我们可以指定返回值和执行特定的动作,当然,也可以不指定,如果不指定的话,一个mock对象的所有非void方法都将返回默认值:int、long类型方法将返回0,boolean方法将返回false,对象方法将返回null等等;而void方法将什么都不做。 + +如果你想实现这样的效果:指定时执行指定的动作,不指定时调用这个对象的默认实现,同时又能拥有验证方法调用的功能。那你可以使用Mockito.spy()来创建对象。 + + + +Mockito 提供的 spy 方法可以包装一个真实的 Java 对象, 并返回一个包装后的新对象. 若没有特别配置的话, 对这个新对象的所有方法调用, 都会委派给实际的 Java 对象. 例如: + +```java +@Test +public void testSpy() { + List list = new LinkedList(); + List spy = spy(list); + + // 对 spy.size() 进行定制. + when(spy.size()).thenReturn(100); + + spy.add("one"); + spy.add("two"); + + // 因为我们没有对 get(0), get(1) 方法进行定制, + // 因此这些调用其实是调用的真实对象的方法. + Assert.assertEquals(spy.get(0), "one"); + Assert.assertEquals(spy.get(1), "two"); + + Assert.assertEquals(spy.size(), 100); +} +``` + +这个例子中我们实例化了一个 LinkedList 对象, 然后使用 spy() 方法对 list 对象进行部分模拟. 接着我们使用 **when(...).thenReturn(...)** 方法链来规定 spy.size() 方法返回值是 100. 随后我们给 spy 添加了两个元素, 然后再 调用 spy.get(0) 获取第一个元素. +这里有意思的地方是: 因为我们没有定制 add("one"), add("two"), get(0), get(1), 因此通过 spy 调用这些方法时, 实际上是委派给 list 对象来调用的. +然而我们 定义了 spy.size() 的返回值, 因此当调用 spy.size() 时, 返回 100. + +## Spy和mock 对比,Stub spy 和 mock不同,不同点是: @@ -190,6 +488,41 @@ mock默认是返回默认值的。 +**假定**调用`dao`层的某方法时它的返回值是什么,这个过程就是**Stub** + +## 执行特定动作 (替换成另一个方法) + +```java +public class LoginPresenterTest { +   LoginPresenter loginPresenter; +   @Test +   public void testLogin() { +       UserManager mockUserManager = Mockito.mock(UserManager.class); +       PasswordValidator mPasswordValidator = Mockito.mock(PasswordValidator.class); +       Mockito.when(mPasswordValidator.verifyPassword(Mockito.anyString())).thenReturn(true); +​ +       loginPresenter = new LoginPresenter(mockUserManager, mPasswordValidator); +​ +       Mockito.doAnswer(new Answer() { +           @Override +           public Object answer(InvocationOnMock invocation) throws Throwable { +               //这里可以获得传给performLogin的参数 +               Object[] arguments = invocation.getArguments(); + +               //callback是第三个参数 +               UserManager.NetCallback callback = (UserManager.NetCallback) arguments[2]; +               callback.onFailure("404 Not found"); +               return 404; +          } +      }).when(mockUserManager).performLogin(Mockito.anyString(), Mockito.anyString(), Mockito.any(UserManager.NetCallback.class)); + +       loginPresenter.login("aya", "123456"); +  } +} +``` + +通过doAnswer方法,生成替换,里面取Arguments手动转化来做某些事情。 + ## 注解 @Mock用于代替Mockito.mock创建mock对象。 @@ -220,8 +553,173 @@ private ExampleService spyExampleService = new ExampleService(); 比如使用 @Mock 修饰的 mock 对象在不同的单测中会被隔离开。 -## 实现原理 +## 实现原理-继承 Mockito使用继承的方式实现mock的,用CGLIB生成mock对象代替真实的对象进行执行,为了mock实例的方法,你可以在subclass中覆盖它。 因此无法mock静态方法。 + +**不能mock静态、final、私有方法** + +## 参考 + +[手把手教你 Mockito 的使用](https://segmentfault.com/a/1190000006746409) + + + +# Mockito 高版本特性 + +依赖上,一般是说要用 `mockito-inline` 替换 `mockito-core` 依赖。 实质上 `mockito-inline` 就是给 mockito-core 添加了两个插件配置 + + + +使用了什么技术? bytebuddy, 运行时生成Java class + + + +注意mockito mock静态只对当前线程有效, 这点不如powermock + +## Mock静态无参方法支持 + +```java +@Test +void givenStaticMethodWithNoArgs_whenMocked_thenReturnsMockSuccessfully() { + assertThat(StaticUtils.name()).isEqualTo("Baeldung"); + + try (MockedStatic utilities = Mockito.mockStatic(StaticUtils.class)) { + utilities.when(StaticUtils::name).thenReturn("Eugen"); + assertThat(StaticUtils.name()).isEqualTo("Eugen"); + } + + assertThat(StaticUtils.name()).isEqualTo("Baeldung"); +} +``` + +从 Mockito 3.4.0 开始,我们可以使用*Mockito.mockStatic(Class classToMock)*方法来模拟对静态方法调用的调用。**此方法为我们的类型返回一个\*MockedStatic\*对象,它是一个作用域模拟对象。** + +因此,在我们上面的单元测试中,*实用程序*变量表示具有线程局部显式范围的模拟。**请务必注意,作用域模拟必须由激活模拟的实体关闭。**这就是为什么我们在 try-with-resources 构造中定义我们的模拟,以便在我们完成作用域块时自动关闭模拟。 + +## Mock带参数的静态方法 + +我们通常用的 Mockito.when(T methodCall) 的参数是一个方法调用的返回值,所以当 Mock 带参数的静态方法时与 Mockito.when(obj.foo(1, 2)).thenReturn(34)) 的用法是不一样的,MockedStatic.when() 的参数需要放一个 () -> 对象.of(anyInt(), anyInt(), anyInt()) 这样的 Lambda. + + + +比如原来是函数A(b int) + +```java +theMock.when(() -> 类.A(any())).thenReturn(xxx); +``` + +theMock就是MockStatic返回的。 + +对静态方法调用的 verify 也要用 theMock 的 verify() 方法,而不是 Mockito.verify()。 + +## Mock final类和方法 + +和正常无区别 + +[参考](https://www.baeldung.com/mockito-final) + +## Mock 自己new的对象 + +``` + //mock代码中自己new的实例及“该实例的方法” + MockedConstruction newObjectMocked = Mockito.mockConstruction(NewObject.class); Mockito.when(obj.haha()).thenReturn("who am i ?"); + +``` + +[参考](https://cloud.tencent.com/developer/article/1877722) + +# PowerMockito + +## 和mockito比较 + +**Mockito、EasyMock、JMock等比较流行Mock框架有个共同的缺点,都不能mock静态、final、私有方法等,而PowerMock可以完美解决以上框架的不足** + + + +## 使用 + +[参考](https://juejin.cn/post/6850418110105649166) + +开头包是PowerMockito + +### mock对Redis的静态调用 + +我们使用PowerMock来mock对静态方法的调用,注意需要将`RedisUtils`类,加入`@PrepareForTest`注解中,我们既mock了`getArray`方法,也mock了`setArray`方法,其实`setArray`不需要mock这里显式的mock了 + +mock静态类注意 + +1. 加到PrepareForTest +2. mockStatic下 + +```java +PowerMockito.mockStatic(RedisUtils.class); +// mock掉对Redis的静态调用 +PowerMockito.when(RedisUtils.getArray(eq("tom"), eq(StudentBo.class))).thenReturn(Collections.emptyList()); +// 显式的mock掉静态的void的方法(可以不mock) +PowerMockito.doNothing().when(RedisUtils.class, "setArray", anyString(), anyList(), anyInt()); +复制代码 +``` + +### mock单例类 + +mock单例类相对来说复杂一点,逻辑上先用Powermock mock出单例类,然后再给单例类的`getInstance`方法打桩,返回之前mock,再对mock类实际调用的方法打桩即可,代码如下 + +```scss +PowerMockito.mockStatic(SchoolManageProxy.class); +// Powermock mock出单例类 +SchoolManageProxy mockSchoolManageProxy = PowerMockito.mock(SchoolManageProxy.class); +// 给单例类的getInstance方法打桩 + +PowerMockito.when(SchoolManageProxy.getInstance()).thenReturn(mockSchoolManageProxy); +// 对mock类queryPerson的方法打桩 +when(mockSchoolManageProxy.queryPerson(anyList())).thenReturn(Collections.emptyList()); +``` + +单例类就是构造方法为private无法实例化, + + + +### mock私有方法 + +可以看到`queryStudentScoreByKeyword`方法调用了该类的私有方法`processKeyword`,如果该方法耗时过长,使用powermock也可以mock该私有方法。 这里用spy演示。 + +```csharp +// mock 实例 +// spy的标准是:如果不打桩,默认执行真实的方法,如果打桩则返回桩实现。 +studentServiceUnderTest = PowerMockito.spy(studentServiceUnderTest); +// mock私有方法processKeyword +// doReturn(...) when(...)不做真实调用,但是when(...) thenReturn(...)还是会真实调用原方法,只是返回了指定的结果 +PowerMockito.doReturn("tom").when(studentServiceUnderTest, "processKeyword", anyString()); +``` + +注意: + +1. when不能调用private方法了,所以是用字符串表示。 + + + +## 注解 @PrepareForTest + +当使用PowerMockito.whenNew方法时,必须加注解@PrepareForTest和@RunWith。注解@PrepareForTest里写的类是需要mock的new对象代码所在的类。 + + +当需要mock final方法的时候,必须加注解@PrepareForTest和@RunWith。注解@PrepareForTest里写的类是final方法所在的类。 + + +当需要mock静态方法的时候,必须加注解@PrepareForTest和@RunWith。注解@PrepareForTest里写的类是静态方法所在的类。 + + +当需要mock私有方法的时候, 只是需要加注解@PrepareForTest,注解里写的类是私有方法所在的类 + + +当需要mock系统类的静态方法的时候,必须加注解@PrepareForTest和@RunWith。注解里写的类是需要调用系统方法所在的类 + + + + + + +# diff --git a/_posts/Tech/java/2018-10-14-Java 8 Lambda.md b/_posts/Tech/java/2018-10-14-Java 8 Lambda.md index eece484e98..903e904b9b 100644 --- a/_posts/Tech/java/2018-10-14-Java 8 Lambda.md +++ b/_posts/Tech/java/2018-10-14-Java 8 Lambda.md @@ -5,8 +5,8 @@ title: Java 8 Lambda tags: Java --- -## Lambda表达式的组成及使用 -### Lambda表达式是什么? +# Lambda表达式的组成及使用 +## Lambda表达式是什么? 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 - 匿名——我们说匿名,是因为它不像普通的方法那样有一个明确的名称:写得少而想得多! @@ -14,15 +14,18 @@ tags: Java - 传递——Lambda表达式可以作为参数传递给方法或存储在变量中。 - 简洁——无需像匿名类那样写很多模板代码。 -### Lambda表达式的语法与组成 +## Lambda表达式的语法与组成 -Lambda表达式由参数、箭头、主体组成。如下图: +Lambda表达式由参数、箭头、主体组成。 -![](http://img.hao124.net/c25961a4a7f8330c30c9774689d32bce.PNG) +```ruby +(lambda paramters) -> lambda expression; -- 参数列表——这里它采用了Comparator中compare方法的参数,两个Apple。 -- 箭头——箭头->把参数列表与Lambda主体分隔开。 -- Lambda主体——比较两个Apple的重量。表达式就是Lambda的返回值了。 +小括号():代表方法签名,当只有一个参数的时候,()可以省略 +lambda paramters:代表具体形参,参数可以指定类型也可以省略类型,因为Lambda表达式会自动推断出参数类型 +->:代表lambda操作符 +lambda expression:代表lambda表达式body体,具体的函数式接口唯一方法实现逻辑。当body体只有一行代码的时候,{}和return都可以省略 +``` 所以,Lambda表达式的基本语法可以总结为: ```(parameters) -> expression 或 (parameters) -> { statements; }``` @@ -50,6 +53,14 @@ BinaryOperator add = (Long x, Long y) -> x + y;// 4 BinaryOperator addImplicit = (x, y) -> x + y;// 5 类型推断 ``` + + +错误示例 + +- 参数类型要么全部省略,不能省略部分,如 (x, int y) -> x+y; +- 参数不能使用final修饰,如(final a)->a; +- 函数表达式接口不能返回一个Object对象,如Object obj = () -> "lambda"; + ## 1.替代匿名内部类 毫无疑问,lambda表达式用得最多的场合就是替代匿名内部类,而实现Runnable接口是匿名内部类的经典例子。lambda表达式的功能相当强大,用()->就可以代替整个匿名内部类! @@ -148,4 +159,94 @@ filter也是我们经常使用的一个操作。在操作集合的时候,经 System.out.println("\nLanguage length bigger three: "); filterTest(languages,x -> x.length() > 4); } -``` \ No newline at end of file +``` + + + +# 进阶 + +## 函数式接口 + + +有且只有一个抽象方法(可以包含default或static方法,但Object类除外)的接口是函数式接口。@FunctionlInterface就是用来指定某个接口必须是函数式接口。@FunctionalInterface不是必须的,只是告诉编译器检查这个接口,保证该接口只能包含一个抽象方法,否则就会编译出错。@FunctionalInterface主要是帮助程序员避免一些低级错误,比如多个抽象方法。 + + + +例子 + +![image.png](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202207282325504.png) + +常用函数式接口 + +![image.png](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202207282324717.png) + +![image.png](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202207282324583.png) + + + +## 方法引用 + +**什么是方法引用?** +Lambda还有一个非常重要的功能,就是方法引用。方法引用可以理解为lambda表达式的简便写法。方法引用是用来直接访问类或者实例的已经存在的方法或构造方法(函数),它比lambda表达式更加的简洁,更高的可读性,更好的复用性。 + + + +**方法引用的语法** + +```autohotkey +类名(或实例)::方法名 +``` + +------ + +**方法引用的分类** + +| 方法引用类型 | 语法 | Lambda表达式 | +| ------------ | -------------------- | --------------------------------------- | +| 静态方法引用 | 类名::staticMethod | (args)->类名.staticMethod(args) | +| 实例方法引用 | instance::instMethod | (args)->instance::instMethod(args) | +| 对象方法引用 | 类名::instMethod | (instance,args)->类名::instMethod(args) | +| 构造方法引用 | 类名::new | (args)->new 类名(args) | + + + +学会了lambda后已经会了如下写法 + +```java + Consumer c1 = (name) -> LambdaStaticMethodTest.setName(name); + Consumer c2 = name -> LambdaStaticMethodTest.setName(name); + Consumer c3 = (name) -> LambdaStaticMethodTest.queryName(name); + Consumer c4 = name -> LambdaStaticMethodTest.queryName(name); + +``` + +但还可以再见过做替代,可用如下替代 + +```java + Consumer c5 = LambdaStaticMethodTest::setName; + Consumer c6 = LambdaStaticMethodTest::queryName; +``` + +原理在于就一个函数,已经知道参数是啥了,反正也是自己新起的名字,这样直接不如不起了。 + +```java + Function f1 = name -> LambdaStaticMethodTest.length(name); + /** + * 将f1改写为静态方法引用,只需要写类名和方法名即可,简洁了很多 + */ + Function f2 = LambdaStaticMethodTest::length; +``` + +有参数的话,可自动识别,不用管。 + +有返回值的话,可自动识别,不用管。 + +[各种情况参考,实际就是不用管](https://segmentfault.com/a/1190000039404435) + +# 参考 + +https://segmentfault.com/a/1190000039393723 + + + +https://segmentfault.com/a/1190000039404435 \ No newline at end of file From 84cf4470a0c2edb94c1526318673c9c22ae79fcb Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 30 Jul 2022 00:15:19 +0800 Subject: [PATCH 009/318] add logbook --- ...0\265\226\346\263\250\345\205\245Guice.md" | 359 ++++++++++++++++++ 1 file changed, 359 insertions(+) create mode 100644 "_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" diff --git "a/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" "b/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" new file mode 100644 index 0000000000..2e7bf2c2cb --- /dev/null +++ "b/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" @@ -0,0 +1,359 @@ +--- +layout: post +category: Java +title: 依赖注入Guice +tags: Java +--- + + + +## 依赖注入Guice + +Spring框架的依赖注入是家喻户晓的,但是在实际的开发中我们想使用便捷的依赖注入功能, 可以使用Google Guice,首先在你的maven项目里引入 + +```text + + com.google.inject + guice + 4.0 + +``` + + + +Guice是一个非常干净的依赖注入框架,框架除了依赖注入功能之外,没有任何其它非相关模块功能。 + + + +## 注解 @Inject,@Singleton,@Implementedby + +最常用的两个注解就是@Singleton和@Inject,Singleton表示构建的对象是单例的,Inject表示被标注的字段将使用Guice自动注入。在一般的项目中这两个注解一般可以完成90%以上的装配工作。 + +Guice需要实例化对象,请确保相应被实例化的对象有默认构造器。 + + + +当某个接口有多个实现时,我们使用@ImplementedBy注解在接口定义上,指定接口的具体实现类 + + + +```java +import javax.inject.Singleton; + +import com.google.inject.Guice; +import com.google.inject.ImplementedBy; +import com.google.inject.Inject; +import com.google.inject.Injector; + +@ImplementedBy(SimpleHelloPrinter.class) +interface IHelloPrinter { + void print(); +} + +@Singleton +class SimpleHelloPrinter implements IHelloPrinter { + + public void print() { + System.out.println("Hello, Simple World"); + } + +} + +@Singleton +class ComplexHelloPrinter implements IHelloPrinter { + + public void print() { + System.out.println("Hello, Complex World"); + } + +} + +@Singleton +public class Sample { + + @Inject + private IHelloPrinter printer; + + public void hello() { + printer.print(); + } + + public static void main(String[] args) { + Injector injector = Guice.createInjector(); + Sample sample = injector.getInstance(Sample.class); + sample.hello(); + } + +} +``` + + + +如果我们不用Singleton标注,每次获取实例时,Guice会重新构造一个,这个会有反射构造器的性能损耗,在高性能场景下,请谨慎。 + + + +## 用Module定义装配规则 + +我们可以不使用@ImplementedBy注解,因为这样不优雅,谁会在定义接口的时候就能预知实现类的名称呢。我们可以使用Guice Module定义装配规则,它相当于Spring的XML文件,只不过它的装配规则都是使用代码定义的。你可能会辩解说代码定义怎么能比得上XML定义呢,其实Guice Module在一个大型项目中也是非常的简洁,一般只会占用几十行代码,Module里面配置的仅仅是特殊的专配规则。能规则的可读性而言,代码要比XML舒服的多。 + + + +要点: + +1. 继承AbstractModule +2. 在覆盖的configure()方法里手动bind(接口).to(实现类) 效果和在实现类上@ImplementedBy一样 + + + +```java +import javax.inject.Singleton; + +import com.google.inject.AbstractModule; +import com.google.inject.Guice; +import com.google.inject.Inject; +import com.google.inject.Injector; + +interface IHelloPrinter { + void print(); +} + +@Singleton +class SimpleHelloPrinter implements IHelloPrinter { + + public void print() { + System.out.println("Hello, Simple World"); + } + +} + +@Singleton +class ComplexHelloPrinter implements IHelloPrinter { + + public void print() { + System.out.println("Hello, Complex World"); + } + +} + +class SampleModule extends AbstractModule { + + @Override + protected void configure() { + bind(IHelloPrinter.class).to(SimpleHelloPrinter.class); + } + +} + +@Singleton +public class Sample { + + @Inject + private IHelloPrinter printer; + + public void hello() { + printer.print(); + } + + public static void main(String[] args) { + Injector injector = Guice.createInjector(new SampleModule()); + Sample sample = injector.getInstance(Sample.class); + sample.hello(); + } + +} +``` + +## @Name给实现类起别名方便指定bind + +我们还可以使用@Named名称指令来指定依赖注入实现 + +要点 + +- 给要注入的实现类起别人,在configre里bind设置 +- @Name 替代@Inject 引入别名对应的注入 + +```java +import javax.inject.Named; +import javax.inject.Singleton; + +import com.google.inject.AbstractModule; +import com.google.inject.Guice; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.name.Names; + +interface IHelloPrinter { + void print(); +} + +@Singleton +class SimpleHelloPrinter implements IHelloPrinter { + + public void print() { + System.out.println("Hello, Simple World"); + } + +} + +@Singleton +class ComplexHelloPrinter implements IHelloPrinter { + + public void print() { + System.out.println("Hello, Complex World"); + } + +} + +class SampleModule extends AbstractModule { + + @Override + protected void configure() { + bind(IHelloPrinter.class).annotatedWith(Names.named("simple")).to(SimpleHelloPrinter.class); + bind(IHelloPrinter.class).annotatedWith(Names.named("complex")).to(ComplexHelloPrinter.class); + } + +} + +@Singleton +public class Sample { + + @Inject + @Named("simple") + private IHelloPrinter simplePrinter; + + @Inject + @Named("complex") + private IHelloPrinter complexPrinter; + + public void hello() { + simplePrinter.print(); + complexPrinter.print(); + } + + public static void main(String[] args) { + Injector injector = Guice.createInjector(new SampleModule()); + Sample sample = injector.getInstance(Sample.class); + sample.hello(); + } + +} +``` + +## @Inject放构造函数/set方法上注入 + +我们不使用字段注入,改用构造器注入,如果我们需要在构造器里做一些特别的初始化工作 + +其实是自动根据入参来注入, 单参数多参数都可以。 也可以根据set方法注入。 + +```java +package io.edurt.lc.guice; +import com.google.inject.Guice; +import com.google.inject.Inject; +public class TestGuiceConstructor +{ + private GuiceConstructorService service; + @Inject + public TestGuiceConstructor(GuiceConstructorService service) + { + this.service = service; + } + public GuiceConstructorService getService() + { + return service; + } + public static void main(String[] args) + { + TestGuiceConstructor test = Guice.createInjector().getInstance(TestGuiceConstructor.class); + test.getService().print("Test Case 1"); + } +} +``` + + + +## Guice 获取实例 + +```java +@Test +public void test_service() +{ + Injector injector = Guice.createInjector(new GuiceBasicModule()); + GuiceBasicService service = injector.getInstance(GuiceBasicService.class); + service.print("Hello Guice"); +} +``` + + + +## 静态方法注入 + +关键代码和方法 + +```java +Guice.createInjector(binder -> binder.requestStaticInjection(TestGuiceStatic.class)); + +``` + +其实是手动创建注入。 + +```java + +package io.edurt.lc.guice; +import com.google.inject.Guice; +import com.google.inject.Inject; +public class TestGuiceStatic +{ + @Inject + private static GuiceConstructorService service; + public static void main(String[] args) + { + Guice.createInjector(binder -> binder.requestStaticInjection(TestGuiceStatic.class)); + TestGuiceStatic.service.print("Static"); + } +} +``` + + + +## @Provides 类似Spring的@bean + +Guice provides a way to create bindings with complex objects using @Provides annotation. + +@Provides放函数上 return值就是可注入的Bean. Provides需要放在继承AbstrctModule的类函数上。 + +```java +//Binding Module +class TextEditorModule extends AbstractModule { + + @Override + protected void configure() {} + + @Provides + public SpellChecker provideSpellChecker(){ + + String dbUrl = "jdbc:mysql://localhost:5326/emp"; + String user = "user"; + int timeout = 100; + + SpellChecker SpellChecker = new SpellCheckerImpl(dbUrl, user, timeout); + return SpellChecker; + } +} +``` + + + + + +## Spring vs Guice + +[参考](https://www.zditect.com/main-advanced/java/guice-spring-dependency-injection.html) + + + +## 参考 + +https://zhuanlan.zhihu.com/p/32299568 + +[参考](https://qianmoq.com/google/guice/binder-scope.html) From 4e35c89e75cc9e2647ad67d60ebea8059d12b042 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 30 Jul 2022 12:59:17 +0800 Subject: [PATCH 010/318] add logbook --- ...05\350\243\205\346\217\222\344\273\266.md" | 22 ++++++++++++++++ ...224\275rubbish\347\275\221\347\253\231.md" | 26 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 "_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" create mode 100644 "_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" diff --git "a/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" "b/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" new file mode 100644 index 0000000000..eb352fa805 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" @@ -0,0 +1,22 @@ +--- +layout: post +category: TOOLS +title: chrome必装插件 +tags: TOOLS +--- + +## chrome必装插件 + +### Tampermonkey: 油猴 + +安装脚本 + +1. **Open the F\**king URL Right Now** 知乎自动跳转 + +### uBlacklist:google, bing屏蔽 + +参考个人另一个 + +## 主题背景 + +- [Game of Thrones: Stark](https://chrome.google.com/webstore/category/themes) diff --git "a/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" "b/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" new file mode 100644 index 0000000000..f73ac29d58 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" @@ -0,0 +1,26 @@ +--- +layout: post +category: TOOLS +title: 搜索引擎屏蔽rubbish网站 +tags: TOOLS +--- + +## 搜索引擎屏蔽rubbish网站 + + + +实在想屏蔽一些网站, + +找到个google search屏蔽插件PersonalBlockList,但只能屏蔽google的一些结果。 + + + +后来发现了uBlackList,支持更多搜索引擎,包括bing等,就是没有百度。 推荐直接安装这个 + + + +[uBlackList主页](https://github.com/iorate/uBlacklist/blob/master/README.md) + + + +[订阅的垃圾网址](https://raw.githubusercontent.com/cobaltdisco/Google-Chinese-Results-Blocklist/master/uBlacklist_subscription.txt) From e6dceb531e9e3e3806013ff32092ece77b82e3c5 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 30 Jul 2022 13:00:52 +0800 Subject: [PATCH 011/318] add logbook --- ...rome\345\277\205\350\243\205\346\217\222\344\273\266.md" | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" "b/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" index eb352fa805..77d32aefa1 100644 --- "a/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" +++ "b/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" @@ -15,7 +15,11 @@ tags: TOOLS ### uBlacklist:google, bing屏蔽 -参考个人另一个 +参考个人博客 搜索引擎屏蔽rubbish网站 + +### Dark Reader: 护眼 + +护眼,背景颜色改变 ## 主题背景 From 89ee0eb371b5683466e7de8de717fe4fb4fa4510 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 30 Jul 2022 15:09:19 +0800 Subject: [PATCH 012/318] add logbook --- ...0\265\226\346\263\250\345\205\245Guice.md" | 152 +++++++++++++++++- 1 file changed, 149 insertions(+), 3 deletions(-) diff --git "a/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" "b/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" index 2e7bf2c2cb..d1e017b924 100644 --- "a/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" +++ "b/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" @@ -164,14 +164,14 @@ public class Sample { } ``` -## @Name给实现类起别名方便指定bind +## @Name给实现类起别名指定bind 我们还可以使用@Named名称指令来指定依赖注入实现 要点 -- 给要注入的实现类起别人,在configre里bind设置 -- @Name 替代@Inject 引入别名对应的注入 +- 给要注入的实现类起别名,在configre里bind设置 +- @Name 辅助@Inject 引入别名对应的注入,还是需要@Inject ```java import javax.inject.Named; @@ -344,7 +344,153 @@ class TextEditorModule extends AbstractModule { +## @BindingAnnotation 指定bind +[参考](https://www.tutorialspoint.com/guice/guice_binding_annotations.htm) + +通过自定义一个注解,然后注解上再加一个注解@BindingAnnotation就可以让@Inject注入时再指定这个自定义注解对应的实现类了,方便一个接口对应多个实现类,通过自定义注解区分对应到哪个实现类,和@Name类似。 + +As we can bind a type with its implementation. In case we want to map a type with multiple implmentations, we can create custom annotation as well. See the below example to understand the concept. + +**Create a binding annotation** + +```java +@BindingAnnotation @Target({ FIELD, PARAMETER, METHOD }) @Retention(RUNTIME) +@interface WinWord {} +``` + +- **@BindingAnnotation** - Marks annotation as binding annotation. + +**Mapping using binding annotation** + +```java +bind(SpellChecker.class).annotatedWith(WinWord.class).to(WinWordSpellCheckerImpl.class); +``` + +以上代码写在binding module里,对一个接口通过一直注解关联到对应实现类。 + +```java +//Binding Module +class TextEditorModule extends AbstractModule { + + @Override + protected void configure() { + bind(SpellChecker.class).annotatedWith(WinWord.class) + .to(WinWordSpellCheckerImpl.class); + } +} +``` + + + +**Inject using binding annotation** + +用的时候和@Name类似,指定注解来指定了实现类。 + +```java +@Inject +public TextEditor(@WinWord SpellChecker spellChecker) { + this.spellChecker = spellChecker; +} +``` + + + +## Guice AOP + +[details](https://www.tutorialspoint.com/guice/guice_aop.htm) + +**Important Classes** + +- **Matcher** - Matcher is an interface to either accept or reject a value. In Guice AOP, we need two matchers: one to define which classes participate, and another for the methods of those classes. +- **MethodInterceptor** - MethodInterceptors are executed when a matching method is called. They can inspect the call: the method, its arguments, and the receiving instance. We can perform cross-cutting logic and then delegate to the underlying method. Finally, we may inspect the return value or exception and return. + + + +指定类和指定方法,再加个拦截器。 + +- 重要方法: bindInterceptor, 写在Module里。 + +- 拦截器需继承MethodInterceptor + + + +```java +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.aopalliance.intercept.MethodInterceptor; +import org.aopalliance.intercept.MethodInvocation; + +import com.google.inject.AbstractModule; +import com.google.inject.Guice; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.matcher.Matchers; + +public class GuiceTester { + public static void main(String[] args) { + Injector injector = Guice.createInjector(new TextEditorModule()); + TextEditor editor = injector.getInstance(TextEditor.class); + editor.makeSpellCheck(); + } +} + +class TextEditor { + private SpellChecker spellChecker; + + @Inject + public TextEditor(SpellChecker spellChecker) { + this.spellChecker = spellChecker; + } + + public void makeSpellCheck(){ + spellChecker.checkSpelling(); + } +} + +//Binding Module +class TextEditorModule extends AbstractModule { + + @Override + protected void configure() { + bind(SpellChecker.class).to(SpellCheckerImpl.class); + bindInterceptor(Matchers.any(), + Matchers.annotatedWith(CallTracker.class), + new CallTrackerService()); + } +} + +//spell checker interface +interface SpellChecker { + public void checkSpelling(); +} + +//spell checker implementation +class SpellCheckerImpl implements SpellChecker { + + @Override @CallTracker + public void checkSpelling() { + System.out.println("Inside checkSpelling." ); + } +} + +@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) +@interface CallTracker {} + +class CallTrackerService implements MethodInterceptor { + + @Override + public Object invoke(MethodInvocation invocation) throws Throwable { + System.out.println("Before " + invocation.getMethod().getName()); + Object result = invocation.proceed(); + System.out.println("After " + invocation.getMethod().getName()); + return result; + } +} +``` ## Spring vs Guice From db08967d0c92c44dc2ccaad4f4770bb4f65f1aa6 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 30 Jul 2022 15:36:22 +0800 Subject: [PATCH 013/318] add logbook --- ...2-02-java\350\277\236\346\216\245mysql.md" | 79 ---- ...66\351\227\264\351\224\231\350\257\257.md" | 15 - .../Tech/Java/2018-05-28-Object.md | 93 +++- ...at\346\240\274\345\274\217\345\214\226.md" | 46 ++ ...7\232\204redis\346\223\215\344\275\234.md" | 251 ----------- ...ava\346\263\250\350\247\243 Annotation.md" | 4 +- ...05\345\255\230\345\261\217\351\232\234.md" | 28 -- ...36\350\260\203\345\207\275\346\225\260.md" | 8 - ...va\345\244\232\347\272\277\347\250\213.md" | 400 +++++++++++++----- ...ns\345\267\245\345\205\267\347\261\273.md" | 48 --- ...ys\345\267\245\345\205\267\347\261\273.md" | 118 ------ ...18-02-09-JUnit\346\265\213\350\257\225.md" | 115 ----- ...77\347\224\250\347\254\224\350\256\260.md" | 2 - ...05\350\243\205\347\261\273\345\236\213.md" | 104 ----- ...2-\346\240\210\345\256\236\347\216\260.md" | 123 ------ ...05\345\255\230\347\256\241\347\220\206.md" | 84 ---- ...31\350\241\250\350\276\276\345\274\217.md" | 46 -- ...arraycopy()\345\222\214Arrays.copyOf().md" | 62 --- ...va\347\272\277\347\250\213\346\261\240.md" | 139 ------ .../Tech/java/2018-10-23-java.util.Objects.md | 90 ---- 20 files changed, 428 insertions(+), 1427 deletions(-) delete mode 100644 "_posts/Tech/Java/2018-02-02-java\350\277\236\346\216\245mysql.md" delete mode 100644 "_posts/Tech/Java/2018-03-26-jdbc\346\227\266\351\227\264\351\224\231\350\257\257.md" rename "_posts/Tech/java/2018-05-28-Object\351\200\232\347\224\250\346\226\271\346\263\225.md" => _posts/Tech/Java/2018-05-28-Object.md (73%) rename _posts/Tech/java/2018-05-31-java String.md => "_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" (77%) delete mode 100644 "_posts/Tech/Java/2018-08-13-java\347\232\204redis\346\223\215\344\275\234.md" rename "_posts/Tech/java/2018-10-11-java\346\263\250\350\247\243\345\216\237\347\220\206.md" => "_posts/Tech/Java/2018-10-11-java\346\263\250\350\247\243 Annotation.md" (86%) delete mode 100644 "_posts/Tech/Java/2021-04-12-\345\206\205\345\255\230\345\261\217\351\232\234.md" delete mode 100644 "_posts/Tech/java/2018-02-03-java\345\233\236\350\260\203\345\207\275\346\225\260.md" delete mode 100644 "_posts/Tech/java/2018-02-05-Collections\345\267\245\345\205\267\347\261\273.md" delete mode 100644 "_posts/Tech/java/2018-02-05-java Arrays\345\267\245\345\205\267\347\261\273.md" delete mode 100644 "_posts/Tech/java/2018-02-09-JUnit\346\265\213\350\257\225.md" delete mode 100644 "_posts/Tech/java/2018-06-01-\345\214\205\350\243\205\347\261\273\345\236\213.md" delete mode 100644 "_posts/Tech/java/2018-06-02-\346\240\210\345\256\236\347\216\260.md" delete mode 100644 "_posts/Tech/java/2018-08-10-jvm\350\207\252\345\212\250\345\206\205\345\255\230\347\256\241\347\220\206.md" delete mode 100644 "_posts/Tech/java/2018-08-25-java\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" delete mode 100644 "_posts/Tech/java/2018-10-12-Java\344\270\255System.arraycopy()\345\222\214Arrays.copyOf().md" delete mode 100644 "_posts/Tech/java/2018-10-16-java\347\272\277\347\250\213\346\261\240.md" delete mode 100644 _posts/Tech/java/2018-10-23-java.util.Objects.md diff --git "a/_posts/Tech/Java/2018-02-02-java\350\277\236\346\216\245mysql.md" "b/_posts/Tech/Java/2018-02-02-java\350\277\236\346\216\245mysql.md" deleted file mode 100644 index 8fb9a72bc6..0000000000 --- "a/_posts/Tech/Java/2018-02-02-java\350\277\236\346\216\245mysql.md" +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -category: Java -title: java连接Mysql例子 -tags: Database ---- - -intellij idea添加jar,参考学习中blog - -## 连接 -```java -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -public class DBHelper { - public static final String url = "jdbc:mysql://127.0.0.1/testdb"; - public static final String name = "com.mysql.jdbc.Driver"; - public static final String user = "root"; - public static final String password = "123456"; - - public Connection conn = null; - public PreparedStatement pst = null; - - public DBHelper(String sql) { - try { - Class.forName(name);//指定连接类型 - conn = DriverManager.getConnection(url, user, password);//获取连接 - pst = conn.prepareStatement(sql);//准备执行语句 - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void close() { - try { - this.conn.close(); - this.pst.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } -} -``` - -## 查询(主类) -```java -import java.sql.ResultSet; -import java.sql.SQLException; - -public class Demo { - - static String sql = null; - static DBHelper db1 = null; - static ResultSet ret = null; - - public static void main(String[] args) { - sql = "select * from employee";//SQL语句 - db1 = new DBHelper(sql);//创建DBHelper对象 - - try { - ret = db1.pst.executeQuery();//执行语句,得到结果集 - while (ret.next()) { - String uid=ret.getString(1); - String ufname = ret.getString(2); - String ulname = ret.getString(3); - String udate = ret.getString(4); - System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate ); - }//显示数据 - ret.close(); - db1.close();//关闭连接 - } catch (SQLException e) { - e.printStackTrace(); - } - } - -} -``` \ No newline at end of file diff --git "a/_posts/Tech/Java/2018-03-26-jdbc\346\227\266\351\227\264\351\224\231\350\257\257.md" "b/_posts/Tech/Java/2018-03-26-jdbc\346\227\266\351\227\264\351\224\231\350\257\257.md" deleted file mode 100644 index df3fdc5bf1..0000000000 --- "a/_posts/Tech/Java/2018-03-26-jdbc\346\227\266\351\227\264\351\224\231\350\257\257.md" +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: post -category: Java -title: jdbc时间错误 -tags: Database ---- - -## 错误 -com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ - -## 解决 -```java - public static final String URL="jdbc:mysql://localhost:3306/new?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"; - -``` \ No newline at end of file diff --git "a/_posts/Tech/java/2018-05-28-Object\351\200\232\347\224\250\346\226\271\346\263\225.md" b/_posts/Tech/Java/2018-05-28-Object.md similarity index 73% rename from "_posts/Tech/java/2018-05-28-Object\351\200\232\347\224\250\346\226\271\346\263\225.md" rename to _posts/Tech/Java/2018-05-28-Object.md index 62ffbce160..7bd9a9924a 100644 --- "a/_posts/Tech/java/2018-05-28-Object\351\200\232\347\224\250\346\226\271\346\263\225.md" +++ b/_posts/Tech/Java/2018-05-28-Object.md @@ -1,7 +1,7 @@ --- layout: post category: Java -title: Object通用方法 +title: Object tags: Java --- @@ -363,4 +363,95 @@ CloneConstructorExample e1 = new CloneConstructorExample(); CloneConstructorExample e2 = new CloneConstructorExample(e1); e1.set(2, 222); System.out.println(e2.get(2)); // 2 +``` + +# Ojbects util + + + +## Objects 与 Object 区别 + +Object 是 Java 中所有类的基类,位于java.lang包。 + +Objects 是 Object 的工具类,位于java.util包。它从jdk1.7开始才出现,被final修饰不能被继承,拥有私有的构造函数。 它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。 + +## Objects 各方法介绍与分析 + +### equals + +equals方法是判断两个对象是否相等。 + +在比较两个对象的时候,Object.equals方法容易抛出空指针异常。 + +——我刚上班的时候,有位老员工教我“字符串常量与变量对象比较的时候,常量要写在equals外边,变量放在equals()括号里边。” 就是这个原因。 + +如果是两个变量比较的时候,就都需要加非空判断。 + +Object.equals方法内调用的是return (this == obj)。String类中是依据字符串内容是否相等来重定义了equals方法。 + +现在,Objects.equals方法中已经做了非空判断,所以不会抛出空指针异常,它是null-save空指针安全的,而且也可以简化代码。 + +``` + public static boolean equals(Object a, Object b) { + return (a == b) || (a != null && a.equals(b)); + } +``` + +### deepEquals + +顾名思义,深度比较两个对象。 + +当参数是数组对象,其方法内部采用的是Arrays.deepEquals()方法的算法。 + +使用Objects.deepEquals方法有个好处,当我们在写业务代码时,可以直接使用此方法来判断两个复杂类型, + +比如使用了泛型的列表对象`List`、或者通过反射得到的对象,不清楚对象的具体类型。 + +``` +public static boolean deepEquals(Object a, Object b) { + if (a == b) + return true; + else if (a == null || b == null) + return false; + else + return Arrays.deepEquals0(a, b); + } +``` + +简短的说明下Arrays.deepEquals0方法: + +- 如果参数是Object类型的数组,则调用Arrays.deepEquals方法,在参数数组的循环中,递归调用deepEquals0,直到出现不相同的元素,或者循环结束; +- 如果参数是基本类型的数组,则根据该类型调用Arrays.equals方法。Arrays工具类依照八种基本类型对equals方法做了重载。 + +### hashCode + +``` + public static int hashCode(Object o) { + return o != null ? o.hashCode() : 0; + } +``` + +### hash + +为一系列的输入值生成哈希码,该方法的参数是可变参数。 源码如下: + +``` + public static int hash(Object... values) { + return Arrays.hashCode(values); + } +``` + +它是将所有的输入值都放到一个数组,然后调用Arrays.hashCode(Object[])方法来实现哈希码的生成。 + +对于当一个对象包含多个成员,重写Object.hashCode方法时,hash方法非常有用。 举个Java源码中的例子: + +java.lang.invoke.MemberName 类,该类有Class clazz、String name、Object type、int flags、Object resoulution这几个成员变量, + +该类的hashCode方法如下: + +``` + @Override + public int hashCode() { + return Objects.hash(clazz, getReferenceKind(), name, getType()); + } ``` \ No newline at end of file diff --git a/_posts/Tech/java/2018-05-31-java String.md "b/_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" similarity index 77% rename from _posts/Tech/java/2018-05-31-java String.md rename to "_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" index e5899f4ae4..8c46969be5 100644 --- a/_posts/Tech/java/2018-05-31-java String.md +++ "b/_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" @@ -12,6 +12,52 @@ String fs; fs=String.format("%d is 3",3); ``` +String format()方法的语法为: + +``` +String.format(String format, Object... args) +``` + +### 格式说明符 + +以下是常用的格式说明符: + +| 说明符 | 描述 | +| :----- | :-------------------------- | +| %b, %B | 根据参数为“ true”或“ false” | +| %s, %S | 一个字符串, 也可以是其他,万能匹配 | +| %c, %C | Unicode字符 | +| %d | 十进制整数(仅用于整数) | +| %f | 用于十进制数字(用于浮点数) | + +不知道用啥就用%s + + + +### 十进制数的格式 + +示例 + +```java +class Main { + public static void main(String[] args) { + + float n1 = -452.534f; + double n2 = -345.766d; + + //按原样格式化浮点数 + System.out.println(String.format("n1 = %f", n1)); // -452.533997 + System.out.println(String.format("n2 = %f", n2)); // -345.766000 + + //显示到小数点后两位 + System.out.println(String.format("n1 = %.2f", n1)); // -452.53 + System.out.println(String.format("n2 = %.2f", n2)); // -345.77 + } +} +``` + + + ## String, StringBuffer and StringBuilder **1. 是否可变** diff --git "a/_posts/Tech/Java/2018-08-13-java\347\232\204redis\346\223\215\344\275\234.md" "b/_posts/Tech/Java/2018-08-13-java\347\232\204redis\346\223\215\344\275\234.md" deleted file mode 100644 index 68ade915ff..0000000000 --- "a/_posts/Tech/Java/2018-08-13-java\347\232\204redis\346\223\215\344\275\234.md" +++ /dev/null @@ -1,251 +0,0 @@ ---- -layout: post -category: Java -title: java的redis操作 ---- - -## 安装 -### win10 -[下载地址](https://github.com/MicrosoftArchive/redis/releases) - -安装目录下运行 redis-server.exe redis.windows.conf 。 - -redis-cli.exe -h 127.0.0.1 -p 6379 - -设置键值对 set myKey abc - -取出键值对 get myKey - - -server是服务器启动,cli是客户端 - -## Jedis - -### Related jars -```xml - - - junit - junit - 4.12 - - - redis.clients - jedis - 2.9.0 - - - org.apache.commons - commons-pool2 - 2.6.0 - - -``` - -### connection and test -```java -package com.mfl; - -import org.junit.Test; -import redis.clients.jedis.Jedis; -import redis.clients.jedis.JedisPool; -import redis.clients.jedis.JedisPoolConfig; - -/** - * jedis - */ -public class Demo1 { - @Test - /** - * connection test1 - */ - public void t1(){ - //1. 设置ip和端口 - Jedis jedis=new Jedis("127.0.0.1",6379); - //2. 保存数据 - jedis.set("name","mafulong"); - //3. get the data - String value=jedis.get("name"); - System.out.println(value); - jedis.close(); - } - @Test - /** - * pool test - */ - public void t2(){ - JedisPoolConfig config=new JedisPoolConfig(); - //设置最大连接数 - config.setMaxTotal(30); - //最大空闲连接数 - config.setMaxIdle(10); - //获得连接池 - JedisPool jedisPool=new JedisPool(config,"127.0.0.1",6379); - //获得核心对象 - Jedis jedis=null; - try{ - jedis=jedisPool.getResource(); - jedis.set("name","mafulong2"); - System.out.println(jedis.get("name")); - }catch (Exception e){ - e.printStackTrace(); - }finally { - if(jedis!=null){ - jedis.close(); - } - if(jedisPool!=null){ - jedisPool.close(); - } - } - } - -} - -``` - -## Data structure - -1. String -2. hash -3. list -4. set -5. sorted list - -**Note for Key definition:** - -1. not too long -2. not too short -3. unifed naming - -### String -Assignment and get: - - set key value - get key - getset key newvalue //get value and reassign - del key - -nil: it means value doesn't exist - -incr num: if no value exists, create 0 and incr; Or add 1 - -decr num: initial value is 0 - -incrby num 5: add 5 every time - -decrby num 3: reduce 3 every time - -append num 5: append 5 if num exists, or create a key 0 and assigned to 5 - --1: represents the last element in the list. Like this,-2 represents the second to last. - -### hash - - //set - hset hashname field-key value - hmset myhash2 name mafulong age 18 - hget myhash name - - //get - hmget myhash2 name age - hgetall myhash - //get all the values - - //delete - hdel myhash2 name - del myhash2 - - //incr - hincrby myhash age 5 - - //if exist - hexists myhash - - hgetall myhash - - hlen myhash - - hkeys myhash - - hvals myhash - -### list -Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) - -左边插入,就是从左边头插,因此a在最右边 - - lpush mylist a b c - //add a b c - -右边插入 - - rpush mylist a b c - -查看链表 - - lrange mylist - -弹出 - - lpop mylist - - rop mylist - -获取元素个数 - - llen mylist - -### set - - sadd set-key item - sismember set-key item4 - smembers set-key - //del - srem myset 1 2 - //diff - sdiff myset1 myset2 - //inter - sinter myset1 myset2 - //union - sunion myset1 myset2 - //get the size - scard myset - - -``` - -redis re 127.0.0.1:6379> sadd runoob redis -(integer) 1 -redis 127.0.0.1:6379> sadd runoob mongodb -(integer) 1 -redis 127.0.0.1:6379> sadd runoob rabitmq -(integer) 1 -redis 127.0.0.1:6379> sadd runoob rabitmq -(integer) 0 -redis 127.0.0.1:6379> smembers runoob -1) "redis" -2) "rabitmq" -3) "mongodb" -``` - -### sorted set -Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 - -不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 - -zset的成员是唯一的,但分数(score)却可以重复。 - -``` -redis 127.0.0.1:6379> zadd runoob 0 redis -(integer) 1 -redis 127.0.0.1:6379> zadd runoob 0 mongodb -(integer) 1 -redis 127.0.0.1:6379> zadd runoob 0 rabitmq -(integer) 1 -redis 127.0.0.1:6379> zadd runoob 0 rabitmq -(integer) 0 -redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000 -1) "mongodb" -2) "rabitmq" -3) "redis" -``` diff --git "a/_posts/Tech/java/2018-10-11-java\346\263\250\350\247\243\345\216\237\347\220\206.md" "b/_posts/Tech/Java/2018-10-11-java\346\263\250\350\247\243 Annotation.md" similarity index 86% rename from "_posts/Tech/java/2018-10-11-java\346\263\250\350\247\243\345\216\237\347\220\206.md" rename to "_posts/Tech/Java/2018-10-11-java\346\263\250\350\247\243 Annotation.md" index 7fdd3c1fa9..394ac022d3 100644 --- "a/_posts/Tech/java/2018-10-11-java\346\263\250\350\247\243\345\216\237\347\220\206.md" +++ "b/_posts/Tech/Java/2018-10-11-java\346\263\250\350\247\243 Annotation.md" @@ -1,13 +1,13 @@ --- layout: post category: Java -title: java注解原理 +title: java注解 Annotation tags: Java --- ## 注解 -Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。 +Annotation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。 Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。 diff --git "a/_posts/Tech/Java/2021-04-12-\345\206\205\345\255\230\345\261\217\351\232\234.md" "b/_posts/Tech/Java/2021-04-12-\345\206\205\345\255\230\345\261\217\351\232\234.md" deleted file mode 100644 index 3ffd9003a5..0000000000 --- "a/_posts/Tech/Java/2021-04-12-\345\206\205\345\255\230\345\261\217\351\232\234.md" +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -category: Java -title: Java内存屏障 -tags: SystemDesign ---- - -## 内存屏障 - -[参考](https://monkeysayhi.github.io/2017/12/28/%E4%B8%80%E6%96%87%E8%A7%A3%E5%86%B3%E5%86%85%E5%AD%98%E5%B1%8F%E9%9A%9C/) - -内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采用不同的实现。 - - - -内存屏障的实现涉及大量硬件架构层面的知识,又需要操作系统或JVM的配合才能发挥威力,单纯从任何一个层面都无法理解。 - - - -volatile变量规则:**对volatile变量的写入操作必须在对该变量的读操作之前执行**。 - -volatile变量规则只是一种标准,要求JVM实现保证volatile变量的偏序语义。**结合程序顺序规则、传递性**,该偏序语义通常表现为两个作用: - -- 保持可见性 -- 禁用重排序(读操作禁止重排序之后的操作,写操作禁止重排序之前的操作) - -通过**volatile标记,可以解决编译器层面的可见性与重排序问题**。而**内存屏障则解决了硬件层面的可见性与重排序问题**。 - diff --git "a/_posts/Tech/java/2018-02-03-java\345\233\236\350\260\203\345\207\275\346\225\260.md" "b/_posts/Tech/java/2018-02-03-java\345\233\236\350\260\203\345\207\275\346\225\260.md" deleted file mode 100644 index 3667a3a472..0000000000 --- "a/_posts/Tech/java/2018-02-03-java\345\233\236\350\260\203\345\207\275\346\225\260.md" +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -category: Java -title: java回调函数 -tags: Java ---- - -[回调函数](https://www.cnblogs.com/snowbook/p/5802804.html) \ No newline at end of file diff --git "a/_posts/Tech/java/2018-02-03-java\345\244\232\347\272\277\347\250\213.md" "b/_posts/Tech/java/2018-02-03-java\345\244\232\347\272\277\347\250\213.md" index c31699e393..315b992637 100644 --- "a/_posts/Tech/java/2018-02-03-java\345\244\232\347\272\277\347\250\213.md" +++ "b/_posts/Tech/java/2018-02-03-java\345\244\232\347\272\277\347\250\213.md" @@ -4,18 +4,18 @@ category: Java title: java多线程 tags: Java --- -[多线程](https://www.cnblogs.com/GarfieldEr007/p/5746362.html) - +[多线程](https://www.cnblogs.com/GarfieldEr007/p/5746362.html) 先看:http://www.cyc2018.xyz/Java/Java%20%E5%B9%B6%E5%8F%91.html#%E4%B8%80%E3%80%81%E4%BD%BF%E7%94%A8%E7%BA%BF%E7%A8%8B ## 概念 + 饥饿状态:某几个进程长久得不到运行 活锁:几个进程同时谦让对方,使得没有进程得到资源 -Java中的Long是非原子性的,前32和后32不同写入,int操作是原子性的 +Java 中的 Long 是非原子性的,前 32 和后 32 不同写入,int 操作是原子性的 编译器为了减少中断流水线的次数,所以会进行指令重排,串行中不会发生的问题并行中就出现了 @@ -23,21 +23,19 @@ Java中的Long是非原子性的,前32和后32不同写入,int操作是原 ![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/c7cca93e6dbb47e8ab3cb83bf091e2bf.jpeg) - 1、新建状态(New):新创建了一个线程对象。 -2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 - -3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 +2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的 start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取 CPU 的使用权。 -4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种: +3、运行状态(Running):就绪状态的线程获取了 CPU,执行程序代码。 -(一)、等待阻塞:运行的线程执行wait()方法,JVM会把该线程放入等待池中。(wait会释放持有的锁) +4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃 CPU 使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种: -(二)、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池中。 +(一)、等待阻塞:运行的线程执行 wait()方法,JVM 会把该线程放入等待池中。(wait 会释放持有的锁) -(三)、其他阻塞:运行的线程执行sleep()或join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。(注意,sleep是不会释放持有的锁) +(二)、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则 JVM 会把该线程放入锁池中。 +(三)、其他阻塞:运行的线程执行 sleep()或 join()方法,或者发出了 I/O 请求时,JVM 会把该线程置为阻塞状态。当 sleep()状态超时、join()等待线程终止或者超时、或者 I/O 处理完毕时,线程重新转入就绪状态。(注意,sleep 是不会释放持有的锁) 阻塞三种状态: @@ -45,7 +43,7 @@ Java中的Long是非原子性的,前32和后32不同写入,int操作是原 2. WAITING: 无限等待 3. TIMED_WAITING: 有限时间的等待 -5、死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。 +5、死亡状态(Dead):线程执行完了或者因异常退出了 run()方法,该线程结束生命周期。 ## 使用线程 @@ -101,23 +99,24 @@ public static void main(String[] args) throws ExecutionException, InterruptedExc } ``` -#### Callable接口和Runnable接口的不同之处: +#### Callable 接口和 Runnable 接口的不同之处: -1. Callable规定的方法是call,而Runnable是run -2. call方法可以抛出异常,但是run方法不行 -3. Callable对象执行后可以有返回值,运行Callable任务可以得到一个Future对象,通过Future对象可以了解任务执行情况,可以取消任务的执行,而Runnable不可有返回值 +1. Callable 规定的方法是 call,而 Runnable 是 run +2. call 方法可以抛出异常,但是 run 方法不行 +3. Callable 对象执行后可以有返回值,运行 Callable 任务可以得到一个 Future 对象,通过 Future 对象可以了解任务执行情况,可以取消任务的执行,而 Runnable 不可有返回值 -get方法会一直阻塞,直到结束,或者可以规定时间 +get 方法会一直阻塞,直到结束,或者可以规定时间 -#### 多线程的实现有以下4个步骤: +#### 多线程的实现有以下 4 个步骤: + +1.创建一个线程,创建 Callable 的实现类 Race,并且重写 call 方法 -1.创建一个线程,创建Callable的实现类Race,并且重写call方法 ```java ExecutorService ser=Executors.newFixedThreadPool(线程数目); Race tortoise = new Race(); ``` -2.得到Future对象 +2.得到 Future 对象 Future result=ser.submit(tortoise); @@ -155,48 +154,54 @@ public static void main(String[] args) { - Java 不支持多重继承,因此继承了 Thread 类就无法继承其它类,但是可以实现多个接口; - 类可能只要求可执行就行,继承整个 Thread 类开销过大。 - ## 守护线程 + 守护线程(后台线程)和非守护线程(前台线程) 垃圾回收,内存管理都是后台线程 主线程默认是前台线程,前台线程创建的子线程默认是前台线程,守护线程创建的子线程默认是守护线程。当程序中只有守护线程运行时该程序便可以结束运行。 -setDaemon(true)必须在start()前设置 +setDaemon(true)必须在 start()前设置 ## 线程的加塞运行 -t.join()使t线程加塞到当前线程之前获得CPU,当前线程进入等待状态,直到线程t结束为止,当前线程恢复为就绪状态,等待线程调度 -可以通过传入线程t2,并t2.join()使得按照一定顺序的运行t2->t +t.join()使 t 线程加塞到当前线程之前获得 CPU,当前线程进入等待状态,直到线程 t 结束为止,当前线程恢复为就绪状态,等待线程调度 + +可以通过传入线程 t2,并 t2.join()使得按照一定顺序的运行 t2->t -thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 +thread.Join 把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程 B 中调用了线程 A 的 Join()方法,直到线程 A 执行完毕后,才会继续执行线程 B。 ## 线程的礼让 -yield()让当前线程落选,让出CPU回到就绪状态,让线程调试器重新调度一次。让给优先级高或相等的线程获得执行的机会,没有相同优先级的线程是就绪状态,yield()就什么也不做,继续运行。 + +yield()让当前线程落选,让出 CPU 回到就绪状态,让线程调试器重新调度一次。让给优先级高或相等的线程获得执行的机会,没有相同优先级的线程是就绪状态,yield()就什么也不做,继续运行。 ## 线程的定时执行 -1. Timer类 -定时工具类 -cancel(),schedule(TimerTask task,Date time,long period),time时开始,period是周期 + +1. Timer 类 + 定时工具类 + cancel(),schedule(TimerTask task,Date time,long period),time 时开始,period 是周期 2. TimerTask -此类implements Runable,就是个线程 + 此类 implements Runable,就是个线程 -需要用户extends此类 +需要用户 extends 此类 ## 线程的中断 -Thread.interrupt()通知线程中断,设置中断标志位,但不是立即中断,不会发生作用,需要在run()中设置中断处理代码。比如run()中的while{},增加if(Thread.currentThread().isInterrupted()),,break,退出线程。线程的正常终止也应是这样的。当在sleep()期间中断会抛出异常,所以在catch块中重新设置中断标志位,来中断线程 + +Thread.interrupt()通知线程中断,设置中断标志位,但不是立即中断,不会发生作用,需要在 run()中设置中断处理代码。比如 run()中的 while{},增加 if(Thread.currentThread().isInterrupted()),,break,退出线程。线程的正常终止也应是这样的。当在 sleep()期间中断会抛出异常,所以在 catch 块中重新设置中断标志位,来中断线程 ## 线程的终止 + 1. 无限循环中使用退出标志 2. stop(),不推荐 -3. 如处于运行状态,对象赋值null, +3. 如处于运行状态,对象赋值 null, 4. 非运行状态,interrupt(),抛出异常,可以捕获,然后退出,也可以捕获后不退出 stop()方法回立即释放所持有的锁,会将正在写入的数据写坏,比如写坏一半 ## 线程的优先级 + 每一个 Java 线程都有一个优先级,这样有助于操作系统确定线程的调度顺序。 Java 线程的优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。 @@ -205,132 +210,138 @@ Java 线程的优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIO 具有较高优先级的线程对程序更重要,并且应该在低优先级的线程之前分配处理器资源。但是,线程优先级不能保证线程执行的顺序,而且非常依赖于平台。 - ## 常见问题 ### 错误的加锁 -对于Integer,给Integer加锁是经常出错的,因为Integer是不变对象,当对其增加时,是另外创建了一个对象并赋值 + +对于 Integer,给 Integer 加锁是经常出错的,因为 Integer 是不变对象,当对其增加时,是另外创建了一个对象并赋值 ## 线程的挂起和解挂 -不推荐使用suspend()和resume()函数,会出现状态错误,使用自定义标志位,然后在线程中检查标志,实现挂起和解挂 -挂起:while:标志为真,wait(); +不推荐使用 suspend()和 resume()函数,会出现状态错误,使用自定义标志位,然后在线程中检查标志,实现挂起和解挂 + +挂起:while:标志为真,wait(); 解挂:设置标志,notify() ## volatile + 并不能代替锁,只能让其他线程看到线程的修改,也无法保证一些复合操作的原子性。 -另外,不能真正的保证线程安全,当两个线程同时修改一个数据时,依然会发生冲突,比如两个i++,其实只加了一次 +另外,不能真正的保证线程安全,当两个线程同时修改一个数据时,依然会发生冲突,比如两个 i++,其实只加了一次 -volatile两大作用 +volatile 两大作用 -1、保证内存可见性 2、防止指令重排 +1、保证内存可见性 2、防止指令重排 -此外需注意volatile并不保证操作的原子性。保证的是load,assign,store +此外需注意 volatile 并不保证操作的原子性。保证的是 load,assign,store -volatile关键字可以保证变量的可见性,因为对volatile的操作都在Main Memory中,而Main Memory是被所有线程所共享的,这里的代价就是牺牲了性能,无法利用寄存器或Cache,因为它们都不是全局的,无法保证可见性,可能产生脏读。 +volatile 关键字可以保证变量的可见性,因为对 volatile 的操作都在 Main Memory 中,而 Main Memory 是被所有线程所共享的,这里的代价就是牺牲了性能,无法利用寄存器或 Cache,因为它们都不是全局的,无法保证可见性,可能产生脏读。 -volatile还有一个作用就是局部阻止重排序的发生,对volatile变量的操作指令都不会被重排序,因为如果重排序,又可能产生可见性问题。 -在保证可见性方面,锁(包括显式锁、对象锁)以及对原子变量的读写都可以确保变量的可见性。但是实现方式略有不同,例如同步锁保证得到锁时从内存里重新读入数据刷新缓存,释放锁时将数据写回内存以保数据可见,而volatile变量干脆都是读写内存。 +volatile 还有一个作用就是局部阻止重排序的发生,对 volatile 变量的操作指令都不会被重排序,因为如果重排序,又可能产生可见性问题。 +在保证可见性方面,锁(包括显式锁、对象锁)以及对原子变量的读写都可以确保变量的可见性。但是实现方式略有不同,例如同步锁保证得到锁时从内存里重新读入数据刷新缓存,释放锁时将数据写回内存以保数据可见,而 volatile 变量干脆都是读写内存。 注意点: 1. 不能当计数器,因为计数器要保证读取-修改-存取是一个原子性操作 -2. 可以当标志位boolean +2. 可以当标志位 boolean 3. 可以用于一次性发布,就是发布后不再修改了,比如单例模式 ## 线程的同步和互斥 -### 用synchronized实现线程的互斥 +### 用 synchronized 实现线程的互斥 + 1. 用在语句块前 2. 用在方法声明 -### 用ThreadLocal实现线程局部变量 +### 用 ThreadLocal 实现线程局部变量 + 就是线程的私有变量,线程之间互不干扰,在线程类中声明定义即可 + ```java public ThreadLocal sum=new ThreadLocal(); sum.set(0); sum.get(); ``` -### 用Object类的wait()和notify()实现线程的同步 -wait()和notify()必须与synchronized联合使用 +### 用 Object 类的 wait()和 notify()实现线程的同步 + +wait()和 notify()必须与 synchronized 联合使用 1. Synchronized 加在方法上, (同步方法,锁定类实例) 2. Synchronized 加在对象上, (同步块,锁定类实例) -3. Synchronized 锁定的是 类变量 ,即static 变量(可能是属性,可能是方法)(锁定类对象) -4. 类的方法中访问了多线程共同的资源, 且该资源是可变的,这种情况下也是需要进行同步的,比如static字符串 +3. Synchronized 锁定的是 类变量 ,即 static 变量(可能是属性,可能是方法)(锁定类对象) +4. 类的方法中访问了多线程共同的资源, 且该资源是可变的,这种情况下也是需要进行同步的,比如 static 字符串 -在JAVA中,是没有类似于PV操作、进程互斥等相关的方法的。JAVA的进程同步是通过synchronized()来实现的,需要说明的是,JAVA的synchronized()方法类似于操作系统概念中的互斥内存块,在JAVA中的Object类型中,都是带有一个内存锁的,在有线程获取该内存锁后,其它线程无法访问该内存,从而实现JAVA中简单的同步、互斥操作。明白这个原理,就能理解为什么synchronized(this)与synchronized(static XXX)的区别了,synchronized就是针对内存区块申请内存锁,this关键字代表类的一个对象,所以其内存锁是针对相同对象的互斥操作,而static成员属于类专有,其内存空间为该类所有成员共有,这就导致synchronized()对static成员加锁,相当于对类加锁,也就是在该类的所有成员间实现互斥,在同一时间只有一个线程可访问该类的实例。如果只是简单的想要实现在JAVA中的线程互斥,明白这些基本就已经够了。但如果需要在线程间相互唤醒的话就需要借助Object.wait(), Object.nofity()了。 +在 JAVA 中,是没有类似于 PV 操作、进程互斥等相关的方法的。JAVA 的进程同步是通过 synchronized()来实现的,需要说明的是,JAVA 的 synchronized()方法类似于操作系统概念中的互斥内存块,在 JAVA 中的 Object 类型中,都是带有一个内存锁的,在有线程获取该内存锁后,其它线程无法访问该内存,从而实现 JAVA 中简单的同步、互斥操作。明白这个原理,就能理解为什么 synchronized(this)与 synchronized(static XXX)的区别了,synchronized 就是针对内存区块申请内存锁,this 关键字代表类的一个对象,所以其内存锁是针对相同对象的互斥操作,而 static 成员属于类专有,其内存空间为该类所有成员共有,这就导致 synchronized()对 static 成员加锁,相当于对类加锁,也就是在该类的所有成员间实现互斥,在同一时间只有一个线程可访问该类的实例。如果只是简单的想要实现在 JAVA 中的线程互斥,明白这些基本就已经够了。但如果需要在线程间相互唤醒的话就需要借助 Object.wait(), Object.nofity()了。 -Obj.wait(),与Obj.notify()必须要与synchronized(Obj)一起使用,也就是wait,与notify是针对已经获取了Obj锁进行操作,从语法角度来说就是Obj.wait(),Obj.notify必须在synchronized(Obj){...}语句块内。从功能上来说wait就是说线程在获取对象锁后,主动释放对象锁,同时本线程休眠。直到有其它线程调用对象的notify()唤醒该线程,才能继续获取对象锁,并继续执行。相应的notify()就是对对象锁的唤醒操作。但有一点需要注意的是notify()调用后,并不是马上就释放对象锁的,而是在相应的synchronized(){}语句块执行结束,自动释放锁后,JVM会在wait()对象锁的线程中随机选取一线程,赋予其对象锁,唤醒线程,继续执行。这样就提供了在线程间同步、唤醒的操作。Thread.sleep()与Object.wait()二者都可以暂停当前线程,释放CPU控制权,主要的区别在于Object.wait()在释放CPU同时,释放了对象锁的控制。 +Obj.wait(),与 Obj.notify()必须要与 synchronized(Obj)一起使用,也就是 wait,与 notify 是针对已经获取了 Obj 锁进行操作,从语法角度来说就是 Obj.wait(),Obj.notify 必须在 synchronized(Obj){...}语句块内。从功能上来说 wait 就是说线程在获取对象锁后,主动释放对象锁,同时本线程休眠。直到有其它线程调用对象的 notify()唤醒该线程,才能继续获取对象锁,并继续执行。相应的 notify()就是对对象锁的唤醒操作。但有一点需要注意的是 notify()调用后,并不是马上就释放对象锁的,而是在相应的 synchronized(){}语句块执行结束,自动释放锁后,JVM 会在 wait()对象锁的线程中随机选取一线程,赋予其对象锁,唤醒线程,继续执行。这样就提供了在线程间同步、唤醒的操作。Thread.sleep()与 Object.wait()二者都可以暂停当前线程,释放 CPU 控制权,主要的区别在于 Object.wait()在释放 CPU 同时,释放了对象锁的控制。 [更好的理解在这呢](https://blog.csdn.net/genww/article/details/6096232) -单单在概念上理解清楚了还不够,需要在实际的例子中进行测试才能更好的理解。对Object.wait(),Object.notify()的应用最经典的例子,应该是三线程打印ABC的问题了吧,这是一道比较经典的面试题,题目要求如下: +单单在概念上理解清楚了还不够,需要在实际的例子中进行测试才能更好的理解。对 Object.wait(),Object.notify()的应用最经典的例子,应该是三线程打印 ABC 的问题了吧,这是一道比较经典的面试题,题目要求如下: -建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC。这个问题用Object的wait(),notify()就可以很方便的解决。代码如下: +建立三个线程,A 线程打印 10 次 A,B 线程打印 10 次 B,C 线程打印 10 次 C,要求线程同时运行,交替打印 10 次 ABC。这个问题用 Object 的 wait(),notify()就可以很方便的解决。代码如下: ```java -public class MyThreadPrinter2 implements Runnable { - - private String name; - private Object prev; - private Object self; - - private MyThreadPrinter2(String name, Object prev, Object self) { - this.name = name; - this.prev = prev; - this.self = self; - } - - @Override - public void run() { - int count = 10; - while (count > 0) { - synchronized (prev) { - synchronized (self) { - System.out.print(name); - count--; - +public class MyThreadPrinter2 implements Runnable { + + private String name; + private Object prev; + private Object self; + + private MyThreadPrinter2(String name, Object prev, Object self) { + this.name = name; + this.prev = prev; + this.self = self; + } + + @Override + public void run() { + int count = 10; + while (count > 0) { + synchronized (prev) { + synchronized (self) { + System.out.print(name); + count--; + self.notify(); //释放对象锁,后面的可以拿到锁 - } - try { + } + try { prev.wait();//阻塞,等待prev的notify,才能继续运行 //也就是释放了这个对象锁,暂停这个线程 //必须有个notify才可以继续运行 - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - - } - } - - public static void main(String[] args) throws Exception { - Object a = new Object(); - Object b = new Object(); - Object c = new Object(); - MyThreadPrinter2 pa = new MyThreadPrinter2("A", c, a); - MyThreadPrinter2 pb = new MyThreadPrinter2("B", a, b); - MyThreadPrinter2 pc = new MyThreadPrinter2("C", b, c); - - - new Thread(pa).start(); - Thread.sleep(100); //确保按顺序A、B、C执行 - new Thread(pb).start(); - Thread.sleep(100); - new Thread(pc).start(); - Thread.sleep(100); - } -} + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + } + } + + public static void main(String[] args) throws Exception { + Object a = new Object(); + Object b = new Object(); + Object c = new Object(); + MyThreadPrinter2 pa = new MyThreadPrinter2("A", c, a); + MyThreadPrinter2 pb = new MyThreadPrinter2("B", a, b); + MyThreadPrinter2 pc = new MyThreadPrinter2("C", b, c); + + + new Thread(pa).start(); + Thread.sleep(100); //确保按顺序A、B、C执行 + new Thread(pb).start(); + Thread.sleep(100); + new Thread(pc).start(); + Thread.sleep(100); + } +} ``` -自己理解来看,就是设置额外变量设置条件,当条件不满足时,this.wait()阻塞,可以if/while块中 +自己理解来看,就是设置额外变量设置条件,当条件不满足时,this.wait()阻塞,可以 if/while 块中 -以下代码是子进程5次,主线程3,然后循环10次的,通过一个boolean设置条件,每当条件不满足时,就阻塞下。 +以下代码是子进程 5 次,主线程 3,然后循环 10 次的,通过一个 boolean 设置条件,每当条件不满足时,就阻塞下。 ```java @@ -392,9 +403,10 @@ class T{ } ``` -## JDK并发包 +## JDK 并发包 ### 重入锁 + 几个重要方法 re-entrance-lock @@ -411,17 +423,20 @@ unlock(); //释放锁 ``` -### 重入锁的好搭档:Condition条件 -condition.await()和wait()类似 +### 重入锁的好搭档:Condition 条件 + +condition.await()和 wait()类似 -condition.signal()和notify()类似 +condition.signal()和 notify()类似 -要在lock块内 +要在 lock 块内 ### Semaphore + 信号量机制 允许多个线程同时访问 + ```java Semaphore semaphore=new semaphore(int permits);//permits是个许可证 @@ -460,13 +475,16 @@ public class SemaphoreExample { } } ``` + resutl: - 2 1 2 2 2 2 2 1 2 2 +2 1 2 2 2 2 2 1 2 2 ### ReadWriteLock + 读写分离锁,可以减少锁竞争,提升性能 ### CountdownLatch + 就是倒计数的锁存期,可以让线程等待直到倒计时结束,再开始执行 用来控制一个线程等待多个线程。 @@ -498,13 +516,14 @@ result: run..run..run..run..run..run..run..run..run..run..end ### CyclicBarrier + 允许一组线程互相等待,直到都到达某个公共屏障点 用来控制多个线程互相等待,只有当多个线程都到达时,这些线程才会继续执行。 和 CountdownLatch 相似,都是通过维护计数器来实现的。但是它的计数器是递增的,每次执行 await() 方法之后,计数器会加 1,直到计数器的值和设置的值相等,等待的所有线程才会继续执行。和 CountdownLatch 的另一个区别是,CyclicBarrier 的计数器可以循环使用,所以它才叫做循环屏障。 -这个是规定多少个线程,这一定数量的线程都到达await()时才开始都唤醒,继续执行 +这个是规定多少个线程,这一定数量的线程都到达 await()时才开始都唤醒,继续执行 ```java public class CyclicBarrierExample { @@ -531,11 +550,168 @@ public class CyclicBarrierExample { ``` result: + ``` before..before..before..before..before..before..before..before..before..before..after..after..after..after..after..after..after..after..after..after.. ``` ### Exchanger + 用于两个线程之间数据的同步交换,都准备好才交换 ## 线程池 + +[线程池的粗浅使用](https://www.jianshu.com/p/edd7cb4eafa0) + +[线程池的分析](http://ifeve.com/java-threadpool/) + +[线程池分析更好些](https://www.cnblogs.com/absfree/p/5357118.html) + +合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。 + +### 创建线程池 + +一般通过工具类 Executors 的静态方法来获取线程池或静态方法。介绍四种常用创建方法 + +单例线程,表示在任意的时间段内,线程池中只有一个线程在工作 + +```java +ExecutorService service1 = Executors.newSingleThreadExecutor(); +``` + +缓存线程池,先查看线程池中是否有当前执行线程的缓存,如果有就 resue(复用),如果没有,那么需要创建一个线程来完成当前的调用.并且这类线程池只能完成一些生存期很短的一些任务.并且这类线程池内部规定能 resue(复用)的线程,空闲的时间不能超过 60s,一旦超过了 60s,就会被移出线程池 + +```java +ExecutorService service2 = Executors.newCacheThreadPool(); +``` + +固定型线程池,和 newCacheThreadPool()差不多,也能够实现 resue(复用),但是这个池子规定了线程的最大数量,也就是说当池子有空闲时,那么新的任务将会在空闲线程中被执行,一旦线程池内的线程都在进行工作,那么新的任务就必须等待线程池有空闲的时候才能够进入线程池,其他的任务继续排队等待.这类池子没有规定其空闲的时间到底有多长.这一类的池子更适用于服务器. + +```java +ExecutorService service3 = Executors.newFixedThreadPool(10); +``` + +调度型线程池,调度型线程池会根据 Scheduled(任务列表)进行延迟执行,或者是进行周期性的执行.适用于一些周期性的工作. + +```java +public class Test { + public static void main(String[] args) { + ExecutorService service = Executors.newCachedThreadPool(); + service.submit(new Runnable() { + @Override + public void run() { + while(true){ + System.out.println("hello world !"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + }); + System.out.println(" ===> main Thread execute here ! " ); + } +} + +``` + +```java +ExecutorService service4 = Executors.newScheduledThreadPool(10); +``` + +### 线程池任务创建与提交 + +任务分为两种:一种是有返回值的( callable ),一种是没有返回值的( runnable ). Callable 与 Future 两功能是 Java 在后续版本中为了适应多并法才加入的,Callable 是类似于 Runnable 的接口,实现 Callable 接口的类和实现 Runnable 的类都是可被其他线程执行的任务。 + +1. 无返回值的任务就是一个实现了 runnable 接口的类.使用 run 方法. +1. 有返回值的任务是一个实现了 callable 接口的类.使用 call 方法. + +Callable 和 Runnable 的区别如下: + +1. Callable 定义的方法是 call,而 Runnable 定义的方法是 run。 +1. Callable 的 call 方法可以有返回值,而 Runnable 的 run 方法不能有返回值。 +1. Callable 的 call 方法可抛出异常,而 Runnable 的 run 方法不能抛出异常。 + +execute 与 submit 区别: + +1. 接收的参数不一样 +1. submit 有返回值,而 execute 没有 +1. submit 方便 Exception 处理 +1. execute 是 Executor 接口中唯一定义的方法;submit 是 ExecutorService(该接口继承 Executor)中定义的方法 + +### 线程池的关闭 + +我们可以通过调用线程池的 shutdown 或 shutdownNow 方法来关闭线程池,但是它们的实现原理不同,shutdown 的原理是只是将线程池的状态设置成 SHUTDOWN 状态,然后中断所有没有正在执行任务的线程。shutdownNow 的原理是遍历线程池中的工作线程,然后逐个调用线程的 interrupt 方法来中断线程,所以无法响应中断的任务可能永远无法终止。shutdownNow 会首先将线程池的状态设置成 STOP,然后尝试停止所有的正在执行或暂停任务的线程,并返回等待执行任务的列表。 + +只要调用了这两个关闭方法的其中一个,isShutdown 方法就会返回 true。当所有的任务都已关闭后,才表示线程池关闭成功,这时调用 isTerminaed 方法会返回 true。至于我们应该调用哪一种方法来关闭线程池,应该由提交到线程池的任务特性决定,通常调用 shutdown 来关闭线程池,如果任务不一定要执行完,则可以调用 shutdownNow。 + +### 线程池的分析 + +#### 线程池创建分析 + +```java +new ThreadPoolExecutor(corePoolSize, maximumPoolSize, +keepAliveTime, milliseconds,runnableTaskQueue, threadFactory,handler); +``` + +创建一个线程池需要输入几个参数: + +- corePoolSize(线程池的基本大小):当提交一个任务到线程池时,线程池会创建一个线程来执行任务,即使其他空闲的基本线程能够执行新任务也会创建线程,等到需要执行的任务数大于线程池基本大小时就不再创建。如果调用了线程池的 prestartAllCoreThreads 方法,线程池会提前创建并启动所有基本线程。默认情况下,在创建了线程池后,线程池中的线程数为 0,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数目达到 corePoolSize 后,就会把到达的任务放到缓存队列当中; +- runnableTaskQueue(任务队列):用于保存等待执行的任务的阻塞队列。可以选择以下几个阻塞队列。 + +1. ArrayBlockingQueue:是一个基于数组结构的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序。 +1. LinkedBlockingQueue:一个基于链表结构的阻塞队列,此队列按 FIFO (先进先出) 排序元素,吞吐量通常要高于 ArrayBlockingQueue。静态工厂方法 Executors.newFixedThreadPool()使用了这个队列。 +1. SynchronousQueue:一个不存储元素的阻塞队列。每个插入操作必须等到另一个线程调用移除操作,否则插入操作一直处于阻塞状态,吞吐量通常要高于 LinkedBlockingQueue,静态工厂方法 Executors.newCachedThreadPool 使用了这个队列。 +1. PriorityBlockingQueue:一个具有优先级得无限阻塞队列。 + +- maximumPoolSize(线程池最大大小):线程池允许创建的最大线程数。如果队列满了,并且已创建的线程数小于最大线程数,则线程池会再创建新的线程执行任务。值得注意的是如果使用了无界的任务队列这个参数就没什么效果。也就是说 corePoolSize 就是线程池大小,maximumPoolSize 在我看来是线程池的一种补救措施,即任务量突然过大时的一种补救措施。 +- ThreadFactory:用于设置创建线程的工厂,可以通过线程工厂给每个创建出来的线程设置更有意义的名字,Debug 和定位问题时非常又帮助。 +- RejectedExecutionHandler(饱和策略):当队列和线程池都满了,说明线程池处于饱和状态,那么必须采取一种策略处理提交的新任务。这个策略默认情况下是 AbortPolicy,表示无法处理新任务时抛出异常。以下是 JDK1.5 提供的四种策略。 + +1. AbortPolicy:直接抛出异常 +1. CallerRunsPolicy:只用调用者所在线程来运行任务。 +1. DiscardOldestPolicy:丢弃队列里最近的一个任务,并执行当前任务。 +1. DiscardPolicy:不处理,丢弃掉。 + +当然也可以根据应用场景需要来实现 RejectedExecutionHandler 接口自定义策略。如记录日志或持久化不能处理的任务。 + +- keepAliveTime(线程活动保持时间):线程池的工作线程空闲后,保持存活的时间。所以如果任务很多,并且每个任务执行的时间比较短,可以调大这个时间,提高线程的利用率。 +- TimeUnit(线程活动保持时间的单位):可选的单位有天(DAYS),小时(HOURS),分钟(MINUTES),毫秒(MILLISECONDS),微秒(MICROSECONDS, 千分之一毫秒)和毫微秒(NANOSECONDS, 千分之一微秒)。 + +![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/9a70374b792298b693aeafa95e1bd07d.jpeg) + +从上图我们可以看出,当提交一个新任务到线程池时,线程池的处理流程如下: + +1. 如果当前线程池中的线程数目小于 corePoolSize,则每来一个任务,就会创建一个线程去执行这个任务; +1. 如果当前线程池中的线程数目>=corePoolSize,则每来一个任务,会尝试将其添加到任务缓存队列当中,若添加成功,则该任务会等待空闲线程将其取出去执行;若添加失败(一般来说是任务缓存队列已满),则会尝试创建新的线程去执行这个任务; +1. 如果当前线程池中的线程数目达到 maximumPoolSize,则会采取任务拒绝策略进行处理; + +如果线程池中的线程数量大于 corePoolSize 时,如果某线程空闲时间超过 keepAliveTime,线程将被终止,直至线程池中的线程数目不大于 corePoolSize;如果允许为核心池中的线程设置存活时间,那么核心池中的线程空闲时间超过 keepAliveTime,线程也会被终止 + +从它们的具体实现来看,它们实际上也是调用了 ThreadPoolExecutor,只不过参数都已配置好了。 + +newFixedThreadPool 创建的线程池 corePoolSize 和 maximumPoolSize 值是相等的,它使用的 LinkedBlockingQueue; + +newSingleThreadExecutor 将 corePoolSize 和 maximumPoolSize 都设置为 1,也使用的 LinkedBlockingQueue; + +newCachedThreadPool 将 corePoolSize 设置为 0,将 maximumPoolSize 设置为 Integer.MAX_VALUE,使用的 SynchronousQueue,也就是说来了任务就创建线程运行,当线程空闲超过 60 秒,就销毁线程。 + +实际中,如果 Executors 提供的三个静态方法能满足要求,就尽量使用它提供的三个方法,因为自己去手动配置 ThreadPoolExecutor 的参数有点麻烦,要根据实际任务的类型和数量来进行配置。另外,如果 ThreadPoolExecutor 达不到要求,可以自己继承 ThreadPoolExecutor 类进行重写。 + +## 内存屏障 和 volatile + +[参考](https://monkeysayhi.github.io/2017/12/28/一文解决内存屏障/) + +内存屏障是硬件之上、操作系统或 JVM 之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或 JVM 对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采用不同的实现。 + +内存屏障的实现涉及大量硬件架构层面的知识,又需要操作系统或 JVM 的配合才能发挥威力,单纯从任何一个层面都无法理解。 + +volatile 变量规则:**对 volatile 变量的写入操作必须在对该变量的读操作之前执行**。 + +volatile 变量规则只是一种标准,要求 JVM 实现保证 volatile 变量的偏序语义。**结合程序顺序规则、传递性**,该偏序语义通常表现为两个作用: + +- 保持可见性 +- 禁用重排序(读操作禁止重排序之后的操作,写操作禁止重排序之前的操作) + +通过**volatile 标记,可以解决编译器层面的可见性与重排序问题**。而**内存屏障则解决了硬件层面的可见性与重排序问题**。 diff --git "a/_posts/Tech/java/2018-02-05-Collections\345\267\245\345\205\267\347\261\273.md" "b/_posts/Tech/java/2018-02-05-Collections\345\267\245\345\205\267\347\261\273.md" deleted file mode 100644 index ff21394017..0000000000 --- "a/_posts/Tech/java/2018-02-05-Collections\345\267\245\345\205\267\347\261\273.md" +++ /dev/null @@ -1,48 +0,0 @@ ---- -layout: post -category: Java -title: Collections工具类 -tags: Java ---- -[链接](https://www.cnblogs.com/fysola/p/6021134.html) - -## 排序 -void reverse(List list):反转 - -void shuffle(List list),随机排序 - -void sort(List list),按自然排序的升序排序 - -void sort(List list, Comparator c);定制排序,由Comparator控制排序逻辑 - -void swap(List list, int i , int j),交换两个索引位置的元素 - -void rotate(List list, int distance),旋转。当distance为正数时,将list后distance个元素整体移到前面。当distance为负数时,将 list的前distance个元素整体移到后面。 - -## 查找,替换操作 -int binarySearch(List list, Object key), 对List进行二分查找,返回索引,注意List必须是有序的 - -int max(Collection coll),根据元素的自然顺序,返回最大的元素。 类比int min(Collection coll) - -int max(Collection coll, Comparator c),根据定制排序,返回最大元素,排序规则由Comparatator类控制。类比int min(Collection coll, Comparator c) - -void fill(List list, Object obj),用元素obj填充list中所有元素 - -int frequency(Collection c, Object o),统计元素出现次数 - -int indexOfSubList(List list, List target), 统计targe在list中第一次出现的索引,找不到则返回-1,类比int lastIndexOfSubList(List source, list target). - -boolean replaceAll(List list, Object oldVal, Object newVal), 用新元素替换旧元素。 - -## 同步控制 -Collections中几乎对每个集合都定义了同步控制方法,例如 SynchronizedList(), SynchronizedSet()等方法,来将集合包装成线程安全的集合。 - -## 设置不可变(只读)集合 - -Collections提供了三类方法返回一个不可变集合, - -emptyXXX(),返回一个空的只读集合(这不知用意何在?) - -singleXXX(),返回一个只包含指定对象,只有一个元素,只读的集合。 - -unmodifiablleXXX(),返回指定集合对象的只读视图。 diff --git "a/_posts/Tech/java/2018-02-05-java Arrays\345\267\245\345\205\267\347\261\273.md" "b/_posts/Tech/java/2018-02-05-java Arrays\345\267\245\345\205\267\347\261\273.md" deleted file mode 100644 index db7ecc4d20..0000000000 --- "a/_posts/Tech/java/2018-02-05-java Arrays\345\267\245\345\205\267\347\261\273.md" +++ /dev/null @@ -1,118 +0,0 @@ ---- -layout: post -category: Java -title: Arrays工具类 -tags: Java ---- - -java.util.Arrays类:常用方法如下 - -```java -public static: - int binarySearch(Object[] a,Object key); - void fill(int[] a,int val); - void sort(Object[] a); -``` - -## equals比较 -对比两个数组是否相等 -```java - - @Test - public void equals(){ - String[] array2 = new String[]{"a","c","2","1","b"}; - - //1 对比引用是否相同 - //2 对比是否存在null - //3 对比长度是否相同 - //4 挨个元素对比 - System.out.println(Arrays.equals(array,array2)); - } -``` - -## fill -基于目标元素填充数组 -```java - - @Test - public void fill(){ - Arrays.fill(array,"test"); - System.out.println(Arrays.deepToString(array));//[test, test, test, test, test] - } -``` - -## toString -打印数组元素 -```java - - @Test - public void string(){ - System.out.println(Arrays.toString(array));//[a, c, 2, 1, b] - } -``` - -## copyOf -拷贝数组,第一种用法,如果目标长度不够,会使用0进行补位。第二种用法,支持拷贝目标起始位置到结束为止的数组。 -```java - - @Test - public void copyOf(){ - //如果位数不够,需要补位 - Integer[] result = Arrays.copyOf(ints,10); - for(int i : result){ - System.out.println(i); - } - System.out.println("----------------------------------------->"); - //如果位数够,就取最小的数组 - result = Arrays.copyOf(ints,3); - for(int i : result){ - System.out.println(i); - } - System.out.println("----------------------------------------->"); - // - result = Arrays.copyOfRange(ints,2,4); - for(int i : result){ - System.out.println(i); - } - } -``` - -## binarySearch -查找目标元素所在的位置,注意需要先进行排序。 -```java - - @Test - public void binarySearch(){ - //binarySearch需要保证是排好序的 - System.out.println(Arrays.binarySearch(array,"c"));//-6 - Arrays.sort(array); - System.out.println(Arrays.binarySearch(array,"c"));//4 - } -``` - -## asList -这个方法可以把数组转换成List,List提供了很多的操作方法,更便于使用。 -```java - - @Test - public void test1(){ - List lists = Arrays.asList(array); - } -``` - -## sort排序和parallelSort并行排序 -sort比较常用了,根据元素按照自然排序规则排序,也可以设置排序元素的起始位置。 -```java - - @Test - public void sort(){ - /* Arrays.sort(array); - for(String str : array){ - System.out.println(str); - }*/ - Arrays.sort(array,2,5); - System.out.println(Arrays.deepToString(array));//[a, c, 1, 2, b] - } -``` - -parallelSort则采用并行的排序算法排序.但是我自己测试,可能数据量太小,速度上并没有明显的变化。 \ No newline at end of file diff --git "a/_posts/Tech/java/2018-02-09-JUnit\346\265\213\350\257\225.md" "b/_posts/Tech/java/2018-02-09-JUnit\346\265\213\350\257\225.md" deleted file mode 100644 index fbf56f6367..0000000000 --- "a/_posts/Tech/java/2018-02-09-JUnit\346\265\213\350\257\225.md" +++ /dev/null @@ -1,115 +0,0 @@ ---- -layout: post -category: Java -title: JUnit单元测试 -tags: Java ---- - -[链接](https://www.yiibai.com/junit/) - -## JUnit教程列表-基础部分 -1. 单元测试介绍 -2. JUnit测试是什么? -3. Eclipse JUnit简单示例 -4. JUnit注解5.JUnit断言 -6. 使用Eclipse的JUnit实例 -7. 使用@Ignore注解 -8. 创建套件测试 -9. 创建参数测试 -10. Junit规则 -11. 在命令行中运行JUnit测试 - -## JUnit 4.x 教程实例 -1. JUnit基本使用 -介绍JUnit 4,支持基本的注解。 -2. 预期异常测试 -测试异常抛出的方法。 -3. 忽略(Ignore)测试实例 -忽略某些方法的单元测试。 -4. 测试(超时返回)时间 -以确保一定时间后,测试方法将返回。 -5. 套件测试实例 -捆绑几个单元测试用例并运行起来。 -6. 参数化测试实例 -如何通过参数值传递到单元测试。 - -## 常用注解 -@Test -@Before -@BeforeClass -@After -@AfterClass -@Ignore - -## 套件测试 -```java -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ PrepareMyBagTest.class, AddPencilsTest.class }) -public class SuitTest { - -} -``` - -## 参数化测试 -要满足下列所有要求: - -- 该类被注解为 @RunWith(Parameterized.class). -- 如前一节中所说明的, @RunWith 注解让JUnit来调用其中的注释来运行测试类,代替使用内置的JUnit运行器,Parameterized 是一个在JUnit内的运行器将运行相同的测试用例组在不同的输入。 -- 这个类有一个构造函数,存储测试数据。 -- 这个类有一个静态方法生成并返回测试数据,并注明@Parameters注解。 -- 这个类有一个测试,它需要注解@Test到方法。 -```java -import static org.junit.Assert.assertEquals; -import java.util.Arrays; -import java.util.Collection; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -@RunWith(Parameterized.class) -public class CalculateTest { - - private int expected; - private int first; - private int second; - - public CalculateTest(int expectedResult, int firstNumber, int secondNumber) { - this.expected = expectedResult; - this.first = firstNumber; - this.second = secondNumber; - } - - @Parameters - public static Collection addedNumbers() { - return Arrays.asList(new Integer[][] { { 3, 1, 2 }, { 5, 2, 3 }, - { 7, 3, 4 }, { 9, 4, 5 }, }); - } - - @Test - public void sum() { - Calculate add = new Calculate(); - System.out.println("Addition with parameters : " + first + " and " - + second); - assertEquals(expected, add.sum(first, second)); - } -} -``` - -结果如下: - - -```java -Addition with parameters : 1 and 2 -Adding values: 1 + 2 -Addition with parameters : 2 and 3 -Adding values: 2 + 3 -Addition with parameters : 3 and 4 -Adding values: 3 + 4 -Addition with parameters : 4 and 5 -Adding values: 4 + 5 -``` \ No newline at end of file diff --git "a/_posts/Tech/java/2018-05-30-\347\256\227\346\263\225\347\253\236\350\265\233\344\270\255\347\232\204JAVA\344\275\277\347\224\250\347\254\224\350\256\260.md" "b/_posts/Tech/java/2018-05-30-\347\256\227\346\263\225\347\253\236\350\265\233\344\270\255\347\232\204JAVA\344\275\277\347\224\250\347\254\224\350\256\260.md" index a9dc28e603..9aabfb75af 100644 --- "a/_posts/Tech/java/2018-05-30-\347\256\227\346\263\225\347\253\236\350\265\233\344\270\255\347\232\204JAVA\344\275\277\347\224\250\347\254\224\350\256\260.md" +++ "b/_posts/Tech/java/2018-05-30-\347\256\227\346\263\225\347\253\236\350\265\233\344\270\255\347\232\204JAVA\344\275\277\347\224\250\347\254\224\350\256\260.md" @@ -5,8 +5,6 @@ title: 算法竞赛中的JAVA使用笔记 tags: Java --- -[算法竞赛中的JAVA使用笔记](https://blog.csdn.net/hnshhslsh/article/details/53159283) - ## 输入输出 #### 常用的包 diff --git "a/_posts/Tech/java/2018-06-01-\345\214\205\350\243\205\347\261\273\345\236\213.md" "b/_posts/Tech/java/2018-06-01-\345\214\205\350\243\205\347\261\273\345\236\213.md" deleted file mode 100644 index 97a8664c8a..0000000000 --- "a/_posts/Tech/java/2018-06-01-\345\214\205\350\243\205\347\261\273\345\236\213.md" +++ /dev/null @@ -1,104 +0,0 @@ ---- -layout: post -category: Java -title: 包装类型 -tags: Java ---- - -## 基本类型与包装类类型转换 -正向:Integer i=new Integer(100); - -反向:int b=i.intValue(); - -## 包装类型 - -八个基本类型: - -- boolean/1 -- byte/8 -- char/16 -- short/16 -- int/32 -- float/32 -- long/64 -- double/64 - -基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。 - -```java -Integer x = 2; // 装箱 -int y = x; // 拆箱 -``` - -new Integer(123) 与 Integer.valueOf(123) 的区别在于,new Integer(123) 每次都会新建一个对象,而 Integer.valueOf(123) 可能会使用缓存对象,因此多次使用 Integer.valueOf(123) 会取得同一个对象的引用。 - -```java -Integer x = new Integer(123); -Integer y = new Integer(123); -System.out.println(x == y); // false -Integer z = Integer.valueOf(123); -Integer k = Integer.valueOf(123); -System.out.println(z == k); // true -``` - -编译器会在自动装箱过程调用 valueOf() 方法,因此多个 Integer 实例使用自动装箱来创建并且值相同,那么就会引用相同的对象。 - -```java -Integer m = 123; -Integer n = 123; -System.out.println(m == n); // true -``` - -valueOf() 方法的实现比较简单,就是先判断值是否在缓存池中,如果在的话就直接使用缓存池的内容。 - -```java -public static Integer valueOf(int i) { - if (i >= IntegerCache.low && i <= IntegerCache.high) - return IntegerCache.cache[i + (-IntegerCache.low)]; - return new Integer(i); -} -``` - -在 Java 8 中,Integer 缓存池的大小默认为 -128\~127。 - -```java -static final int low = -128; -static final int high; -static final Integer cache[]; - -static { - // high value may be configured by property - int h = 127; - String integerCacheHighPropValue = - sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); - if (integerCacheHighPropValue != null) { - try { - int i = parseInt(integerCacheHighPropValue); - i = Math.max(i, 127); - // Maximum array size is Integer.MAX_VALUE - h = Math.min(i, Integer.MAX_VALUE - (-low) -1); - } catch( NumberFormatException nfe) { - // If the property cannot be parsed into an int, ignore it. - } - } - high = h; - - cache = new Integer[(high - low) + 1]; - int j = low; - for(int k = 0; k < cache.length; k++) - cache[k] = new Integer(j++); - - // range [-128, 127] must be interned (JLS7 5.1.7) - assert IntegerCache.high >= 127; -} -``` - -Java 还将一些其它基本类型的值放在缓冲池中,包含以下这些: - -- boolean values true and false -- all byte values -- short values between -128 and 127 -- int values between -128 and 127 -- char in the range \u0000 to \u007F - -因此在使用这些基本类型对应的包装类型时,就可以直接使用缓冲池中的对象。 diff --git "a/_posts/Tech/java/2018-06-02-\346\240\210\345\256\236\347\216\260.md" "b/_posts/Tech/java/2018-06-02-\346\240\210\345\256\236\347\216\260.md" deleted file mode 100644 index 431a76cd06..0000000000 --- "a/_posts/Tech/java/2018-06-02-\346\240\210\345\256\236\347\216\260.md" +++ /dev/null @@ -1,123 +0,0 @@ ---- -layout: post -category: Java -title: 栈的实现 -tags: Java ---- - -## 数组实现 -```java -import javafx.beans.binding.ObjectExpression; - -import java.util.Iterator; - -public class myStack implements Iterable{ - private Item[] a=(Item[])new Object[1];//注意,这是泛型数组的唯一方法,不能有<>的泛型数组 - private int N=0; - public void push(Item item){ - check(); - a[N++]=item; - } - public boolean isEmpty(){ - return N==0; - } - public Item pop() throws Exception{ - if(isEmpty()){ - throw new Exception("stack is empty"); - } - Item item=a[--N]; - check(); - a[N]=null; - return item; - } - public int size(){ - return N; - } - public void resize(int size){ - Item[] temp=(Item[])new Object[size]; - for(int i=0;i=a.length){ - resize(2*a.length); - } - else if(N>0&&a.length iterator(){ - return new myIterator(); - } - private class myIterator implements Iterator{ - private int i=N; - @Override - public Item next() { - return (Item) a[--i]; - } - - @Override - public boolean hasNext() { - return i>0; - } - } - - public static void main(String[] args) throws Exception{ - myStack myStack1=new myStack<>(); - myStack1.push("1"); - myStack1.push("2"); - myStack1.push("3"); - System.out.println(myStack1.pop()); - Iterator iterator=myStack1.iterator(); - - while(iterator.hasNext()){ - System.out.println(iterator.next()); - } - } -} -``` - -## 链表实现 - -头插法 -```java -public class ListStack { - - private Node top = null; - private int N = 0; - - private class Node { - Item item; - Node next; - } - - public boolean isEmpty() { - return N == 0; - } - - public int size() { - return N; - } - - public void push(Item item) { - Node newTop = new Node(); - newTop.item = item; - newTop.next = top; - top = newTop; - N++; - } - - public Item pop() throws Exception { - if (isEmpty()) - throw new Exception("stack is empty"); - Item item = top.item; - top = top.next; - N--; - return item; - } -} -``` diff --git "a/_posts/Tech/java/2018-08-10-jvm\350\207\252\345\212\250\345\206\205\345\255\230\347\256\241\347\220\206.md" "b/_posts/Tech/java/2018-08-10-jvm\350\207\252\345\212\250\345\206\205\345\255\230\347\256\241\347\220\206.md" deleted file mode 100644 index 4684576e4b..0000000000 --- "a/_posts/Tech/java/2018-08-10-jvm\350\207\252\345\212\250\345\206\205\345\255\230\347\256\241\347\220\206.md" +++ /dev/null @@ -1,84 +0,0 @@ ---- -layout: post -category: Java -title: jvm自动内存管理 -tags: Java ---- - -Java虚拟机在执行Java程序的过程中会把它所管理的内存划分若干个不同的数据区域。这个区域都各自的用途,以及创建的销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域。 - -![](https://github.com/changwensir/study_document/raw/master/upload_img/JVM/%E8%BF%90%E8%A1%8C%E6%97%B6%E6%95%B0%E6%8D%AE%E5%8C%BA%E5%9F%9F.png) - - 其中程序计数器、虚拟机栈、本地方法栈3个区域会随线程线程而生,随线程而灭,所以这一块上的代码是线程安全的;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。因此这几个 区域的内存分配和回收都具备确定性,在这几个区域就不需要过多考虑回收的问题,因为方法结束或者线程时,内存自然就跟随着回收了。 - - -## 虚拟机栈(Virtual Machine Stacks) -与程序计数器一样,也是线程私有的,其生命周期和线程一样,每个Java线程有一个虚拟机栈。平常我们讲的“栈内存”就是虚拟机栈,或者说是虚拟机栈中局部变量表部分。 - -作用: 虚拟机栈描述的是Java方法执行的内存模型,即:每个方法在执行的时候都会创建一个栈帧(Stack Frame),栈帧中存储: - - 1).局部变量表 -  存放了编译期就可知的:各种基本数据类型(8个基本数据类型)、对象引用(reference类型)、returnAddress类型(指向一条字节码指令地址) -  其中64位长度的long和double类型的数据会占用2个局部变量空间(Slot),其余的数据类型只占用1个。局部变量表所需的内存大小在编译期就完成了分配,也就是说当进入一个方法时,此方法需要在栈帧中分配多大的局部变量表空间时完全确定的,运行期不会改变 - - 2).操作数栈 - - 3).动态链接 - - 4).方法出口等 - -  方法从调用到执行完成的过程,就对应了,一个栈帧在虚拟机栈中的入栈和出栈的过程 -有两种异常: - -  1).如果线程请求的栈深度大于JVM所允许的深度,将抛出StackOverflowError异常 - -  2).如果栈扩展时无法申请到足够的内存,将抛出OutOfMemoryError(OOM)异常 - -## Java堆(Java Heap) - -根据Java虚拟机规范的规定,Java堆可以处于物理上不连续的内存空间中,只在逻辑上是连续的即可。对于大多数应用来说,Java堆是虚拟机管理的内存中最大的一块。是被所有线程共享的一块区域,在虚拟机启动时创建,通过参数“-Xmx和-Xms”控制。 - -此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存(当然也有例外):对象实例以及对应的实例变量、数组。 -Java堆是垃圾回收器管理的主要区域,因此很多时候也被称做“GC堆”。 - -由于现代GC基本都采用分带收集算法,所以Java堆还可以细分为: - -   ①.新生代 -   ②.老年代 - -再细分一下还可分为: - -   ①.Eden空间 -   ②.From Survivor空间 -   ③.To Survivor空间 - -![](https://github.com/changwensir/study_document/raw/master/upload_img/JVM/%E6%96%B0%E8%80%81%E5%B9%B4%E4%BB%A3.png) - -从图中可以看出: 堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。 - -默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 ), - -默认的,Edem : from : to = 8 : 1 : 1 ( 可以通过参数 –XX:SurvivorRatio 来设定 ) - -JVM 每次只会使用 Eden 和其中的一块 Survivor 区域来为对象服务,所以无论什么时候,总是有一块 Survivor 区域是空闲着的。因此,新生代实际可用的内存空间为 9/10 ( 即90% )的新生代空间。 - -### GC回收动作 - -Java 中的堆也是 GC 收集垃圾的主要区域。GC 分为两种:Minor GC、Full GC ( 或称为 Major GC )。 - -### Minor GC -Minor GC 是发生在新生代中的垃圾收集动作,所采用的是复制算法。 - -当一个对象被判定为 “死亡” 的时候,GC 就有责任来回收掉这部分对象的内存空间。新生代是 GC 收集垃圾的频繁区域。 - -当对象在 Eden ( 包括一个 Survivor 区域,这里假设是 from 区域 ) 出生后,在经过一次 Minor GC 后,如果对象还存活,并且能够被另外一块 Survivor 区域所容纳( 上面已经假设为 from 区域,这里应为 to 区域,即 to 区域有足够的内存空间来存储 Eden 和 from 区域中存活的对象 ),则使用复制算法将这些仍然还存活的对象复制到另外一块 Survivor 区域 ( 即 to 区域 ) 中,然后清理所使用过的 Eden 以及 Survivor 区域 ( 即 from 区域 ),并且将这些对象的年龄设置为1,以后对象在 Survivor 区每熬过一次 Minor GC,就将对象的年龄 + 1,当对象的年龄达到某个值时 ( 默认是 15 岁,可以通过参数 -XX:MaxTenuringThreshold 来设定 ),这些对象就会成为老年代。 - -但这也不是一定的,对于一些较大的对象 ( 即需要分配一块较大的连续内存空间 ) 则是直接进入到老年代。 - -### Full GC -Full GC 是发生在老年代的垃圾收集动作,所采用的是标记-清除算法。 - -现实的生活中,老年代的人通常会比新生代的人 “早死”。堆内存中的老年代(Old)不同于这个,老年代里面的对象几乎个个都是在 Survivor 区域中熬过来的,它们是不会那么容易就 “死掉” 了的。因此,Full GC 发生的次数不会有 Minor GC 那么频繁,并且做一次 Full GC 要比进行一次 Minor GC 的时间更长。 - -另外,标记-清除算法收集垃圾的时候会产生许多的内存碎片 ( 即不连续的内存空间 ),此后需要为较大的对象分配内存空间时,若无法找到足够的连续的内存空间,就会提前触发一次 GC 的收集动作。 - diff --git "a/_posts/Tech/java/2018-08-25-java\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" "b/_posts/Tech/java/2018-08-25-java\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" deleted file mode 100644 index 38ab086cb2..0000000000 --- "a/_posts/Tech/java/2018-08-25-java\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -category: Java -title: java正则表达式 -tags: Java ---- - -## 关于反斜杠 -在正则表达式中的“\”表示和后面紧跟着的那个字符构成一个转义字符,代表着特殊的意义;所以如果你要在正则表达式中表示一个反斜杠\,应当写成“\\”。因为在正则要经过两次转义,因此就需要四个反斜杠才可以匹配一个反斜杠。Java先转义成“\”,在由正则进行一次转义,就结果就为“\”。 - -一句话:表示正则表达式里面的斜杠“\”,然后再用字符串表示出来。而这2个斜杠分别需要一个转义符,这样就成了4个斜杠在正则表达式里面表示一个斜杠。 - -也就是说正则表达式用的是转义后的字符串,就像sout输出那样,所以正则表达式使用转义之后的。 - -## 匹配规则 -主要如下 - -``` -[] : 字符集合 -() : 分组 -? : 重复 0 ~ 1 -+ : 重复 1 ~ n -* : 重复 0 ~ n -. : 任意字符 -\\. : 转义后的 . -\\d : 数字 -``` - -.代表任意字符,所以要用.这个本身要进行转义,所以需要两个反斜杠 - -## 比如匹配整数 -```java -public class Solution { - public boolean isNumeric(char[] str) { - return new String(str).matches("[+-]?\\d*(\\.\\d+)?([eE][+-]?\\d+)?"); - } - - public static void main(String[] args) { - Solution solution=new Solution(); - boolean res= solution.isNumeric("3.14".toCharArray()); - System.out.println(res); - System.out.println(5e+2); - } -} -``` - diff --git "a/_posts/Tech/java/2018-10-12-Java\344\270\255System.arraycopy()\345\222\214Arrays.copyOf().md" "b/_posts/Tech/java/2018-10-12-Java\344\270\255System.arraycopy()\345\222\214Arrays.copyOf().md" deleted file mode 100644 index b5ee67dd35..0000000000 --- "a/_posts/Tech/java/2018-10-12-Java\344\270\255System.arraycopy()\345\222\214Arrays.copyOf().md" +++ /dev/null @@ -1,62 +0,0 @@ ---- -layout: post -category: Java -title: Java中System.arraycopy()和Arrays.copyOf() -tags: Java ---- - -## System.arraycopy() - -```java -public static native void arraycopy(Object src,int srcPos, Object dest, int destPos,int length); - - - int[] ids = {1, 2, 3, 4, 5}; - - // 1、测试复制到别的数组上 - // 将ids数组的索引从0开始其后5个数,复制到ids2数组的索引从0开始 - int[] ids2 = new int[5]; - System.arraycopy(ids, 0, ids2, 0, 5); - - -``` - - src - 源数组。 - srcPos - 源数组中的起始位置。 - dest - 目标数组。 - destPos - 目标数据中的起始位置。 - length - 要复制的数组元素的数量。 - -该方法用了native关键字,说明调用的是其他语言写的底层函数。 - -## Arrays.copyOf() - -```java -//复杂数据类型 -public static T[] copyOf(U[] original, int newLength, Class newType) { - T[] copy = ((Object)newType == (Object)Object[].class) - ? (T[]) new Object[newLength] - : (T[]) Array.newInstance(newType.getComponentType(), newLength); - System.arraycopy(original, 0, copy, 0, - Math.min(original.length, newLength)); - return copy; - } -public static T[] copyOf(T[] original, int newLength) { - return (T[]) copyOf(original, newLength, original.getClass()); -} - -``` - - original - 要复制的数组 - newLength - 要返回的副本的长度 - newType - 要返回的副本的类型 - -仔细观察发现,copyOf()内部调用了System.arraycopy()方法 - - -区别在于: - -1. arraycopy()需要目标数组,将原数组拷贝到你自己定义的数组里,而且可以选择拷贝的起点和长度以及放入新数组中的位置 -2. copyOf()是系统自动在内部新建一个数组,调用arraycopy()将original内容复制到copy中去,并且长度为newLength。返回copy; 即将原数组拷贝到一个长度为newLength的新数组中,并返回该数组。 - -Array.copyOf()可以看作是受限的System.arraycopy(),它主要是用来将原数组全部拷贝到一个新长度的数组,适用于数组扩容。 \ No newline at end of file diff --git "a/_posts/Tech/java/2018-10-16-java\347\272\277\347\250\213\346\261\240.md" "b/_posts/Tech/java/2018-10-16-java\347\272\277\347\250\213\346\261\240.md" deleted file mode 100644 index 772f2306d7..0000000000 --- "a/_posts/Tech/java/2018-10-16-java\347\272\277\347\250\213\346\261\240.md" +++ /dev/null @@ -1,139 +0,0 @@ ---- -layout: post -category: Java -title: java线程池 -tags: Java ---- - -[线程池的粗浅使用](https://www.jianshu.com/p/edd7cb4eafa0) - -[线程池的分析](http://ifeve.com/java-threadpool/) - -[线程池分析更好些](https://www.cnblogs.com/absfree/p/5357118.html) - -合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。 - -## 创建线程池 -一般通过工具类Executors的静态方法来获取线程池或静态方法。介绍四种常用创建方法 - -单例线程,表示在任意的时间段内,线程池中只有一个线程在工作 -```java -ExecutorService service1 = Executors.newSingleThreadExecutor(); -``` - -缓存线程池,先查看线程池中是否有当前执行线程的缓存,如果有就resue(复用),如果没有,那么需要创建一个线程来完成当前的调用.并且这类线程池只能完成一些生存期很短的一些任务.并且这类线程池内部规定能resue(复用)的线程,空闲的时间不能超过60s,一旦超过了60s,就会被移出线程池 - -```java -ExecutorService service2 = Executors.newCacheThreadPool(); -``` - -固定型线程池,和newCacheThreadPool()差不多,也能够实现resue(复用),但是这个池子规定了线程的最大数量,也就是说当池子有空闲时,那么新的任务将会在空闲线程中被执行,一旦线程池内的线程都在进行工作,那么新的任务就必须等待线程池有空闲的时候才能够进入线程池,其他的任务继续排队等待.这类池子没有规定其空闲的时间到底有多长.这一类的池子更适用于服务器. -```java -ExecutorService service3 = Executors.newFixedThreadPool(10); -``` - -调度型线程池,调度型线程池会根据Scheduled(任务列表)进行延迟执行,或者是进行周期性的执行.适用于一些周期性的工作. - -```java -public class Test { - public static void main(String[] args) { - ExecutorService service = Executors.newCachedThreadPool(); - service.submit(new Runnable() { - @Override - public void run() { - while(true){ - System.out.println("hello world !"); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - }); - System.out.println(" ===> main Thread execute here ! " ); - } -} - -``` - -```java -ExecutorService service4 = Executors.newScheduledThreadPool(10); -``` - - - -## 线程池任务创建与提交 -任务分为两种:一种是有返回值的( callable ),一种是没有返回值的( runnable ). Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。 - -1. 无返回值的任务就是一个实现了runnable接口的类.使用run方法. -1. 有返回值的任务是一个实现了callable接口的类.使用call方法. - -Callable和Runnable的区别如下: - -1. Callable定义的方法是call,而Runnable定义的方法是run。 -1. Callable的call方法可以有返回值,而Runnable的run方法不能有返回值。 -1. Callable的call方法可抛出异常,而Runnable的run方法不能抛出异常。 - -execute与submit区别: - -1. 接收的参数不一样 -1. submit有返回值,而execute没有 -1. submit方便Exception处理 -1. execute是Executor接口中唯一定义的方法;submit是ExecutorService(该接口继承Executor)中定义的方法 - -## 线程池的关闭 -我们可以通过调用线程池的shutdown或shutdownNow方法来关闭线程池,但是它们的实现原理不同,shutdown的原理是只是将线程池的状态设置成SHUTDOWN状态,然后中断所有没有正在执行任务的线程。shutdownNow的原理是遍历线程池中的工作线程,然后逐个调用线程的interrupt方法来中断线程,所以无法响应中断的任务可能永远无法终止。shutdownNow会首先将线程池的状态设置成STOP,然后尝试停止所有的正在执行或暂停任务的线程,并返回等待执行任务的列表。 - -只要调用了这两个关闭方法的其中一个,isShutdown方法就会返回true。当所有的任务都已关闭后,才表示线程池关闭成功,这时调用isTerminaed方法会返回true。至于我们应该调用哪一种方法来关闭线程池,应该由提交到线程池的任务特性决定,通常调用shutdown来关闭线程池,如果任务不一定要执行完,则可以调用shutdownNow。 - -## 线程池的分析 - -### 线程池创建分析 - -```java -new ThreadPoolExecutor(corePoolSize, maximumPoolSize, -keepAliveTime, milliseconds,runnableTaskQueue, threadFactory,handler); -``` - -创建一个线程池需要输入几个参数: - -- corePoolSize(线程池的基本大小):当提交一个任务到线程池时,线程池会创建一个线程来执行任务,即使其他空闲的基本线程能够执行新任务也会创建线程,等到需要执行的任务数大于线程池基本大小时就不再创建。如果调用了线程池的prestartAllCoreThreads方法,线程池会提前创建并启动所有基本线程。默认情况下,在创建了线程池后,线程池中的线程数为0,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数目达到corePoolSize后,就会把到达的任务放到缓存队列当中; -- runnableTaskQueue(任务队列):用于保存等待执行的任务的阻塞队列。可以选择以下几个阻塞队列。 -1. ArrayBlockingQueue:是一个基于数组结构的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序。 -1. LinkedBlockingQueue:一个基于链表结构的阻塞队列,此队列按FIFO (先进先出) 排序元素,吞吐量通常要高于ArrayBlockingQueue。静态工厂方法Executors.newFixedThreadPool()使用了这个队列。 -1. SynchronousQueue:一个不存储元素的阻塞队列。每个插入操作必须等到另一个线程调用移除操作,否则插入操作一直处于阻塞状态,吞吐量通常要高于LinkedBlockingQueue,静态工厂方法Executors.newCachedThreadPool使用了这个队列。 -1. PriorityBlockingQueue:一个具有优先级得无限阻塞队列。 -- maximumPoolSize(线程池最大大小):线程池允许创建的最大线程数。如果队列满了,并且已创建的线程数小于最大线程数,则线程池会再创建新的线程执行任务。值得注意的是如果使用了无界的任务队列这个参数就没什么效果。也就是说corePoolSize就是线程池大小,maximumPoolSize在我看来是线程池的一种补救措施,即任务量突然过大时的一种补救措施。 -- ThreadFactory:用于设置创建线程的工厂,可以通过线程工厂给每个创建出来的线程设置更有意义的名字,Debug和定位问题时非常又帮助。 -- RejectedExecutionHandler(饱和策略):当队列和线程池都满了,说明线程池处于饱和状态,那么必须采取一种策略处理提交的新任务。这个策略默认情况下是AbortPolicy,表示无法处理新任务时抛出异常。以下是JDK1.5提供的四种策略。 -1. AbortPolicy:直接抛出异常 -1. CallerRunsPolicy:只用调用者所在线程来运行任务。 -1. DiscardOldestPolicy:丢弃队列里最近的一个任务,并执行当前任务。 -1. DiscardPolicy:不处理,丢弃掉。 - -当然也可以根据应用场景需要来实现RejectedExecutionHandler接口自定义策略。如记录日志或持久化不能处理的任务。 -- keepAliveTime(线程活动保持时间):线程池的工作线程空闲后,保持存活的时间。所以如果任务很多,并且每个任务执行的时间比较短,可以调大这个时间,提高线程的利用率。 -- TimeUnit(线程活动保持时间的单位):可选的单位有天(DAYS),小时(HOURS),分钟(MINUTES),毫秒(MILLISECONDS),微秒(MICROSECONDS, 千分之一毫秒)和毫微秒(NANOSECONDS, 千分之一微秒)。 - -![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/9a70374b792298b693aeafa95e1bd07d.jpeg) - -从上图我们可以看出,当提交一个新任务到线程池时,线程池的处理流程如下: - -1. 如果当前线程池中的线程数目小于corePoolSize,则每来一个任务,就会创建一个线程去执行这个任务; -1. 如果当前线程池中的线程数目>=corePoolSize,则每来一个任务,会尝试将其添加到任务缓存队列当中,若添加成功,则该任务会等待空闲线程将其取出去执行;若添加失败(一般来说是任务缓存队列已满),则会尝试创建新的线程去执行这个任务; -1. 如果当前线程池中的线程数目达到maximumPoolSize,则会采取任务拒绝策略进行处理; - -如果线程池中的线程数量大于 corePoolSize时,如果某线程空闲时间超过keepAliveTime,线程将被终止,直至线程池中的线程数目不大于corePoolSize;如果允许为核心池中的线程设置存活时间,那么核心池中的线程空闲时间超过keepAliveTime,线程也会被终止 - - -从它们的具体实现来看,它们实际上也是调用了ThreadPoolExecutor,只不过参数都已配置好了。 - -newFixedThreadPool创建的线程池corePoolSize和maximumPoolSize值是相等的,它使用的LinkedBlockingQueue; - -newSingleThreadExecutor将corePoolSize和maximumPoolSize都设置为1,也使用的LinkedBlockingQueue; - -newCachedThreadPool将corePoolSize设置为0,将maximumPoolSize设置为Integer.MAX_VALUE,使用的SynchronousQueue,也就是说来了任务就创建线程运行,当线程空闲超过60秒,就销毁线程。 - -实际中,如果Executors提供的三个静态方法能满足要求,就尽量使用它提供的三个方法,因为自己去手动配置ThreadPoolExecutor的参数有点麻烦,要根据实际任务的类型和数量来进行配置。另外,如果ThreadPoolExecutor达不到要求,可以自己继承ThreadPoolExecutor类进行重写。 - diff --git a/_posts/Tech/java/2018-10-23-java.util.Objects.md b/_posts/Tech/java/2018-10-23-java.util.Objects.md deleted file mode 100644 index e93974e7f9..0000000000 --- a/_posts/Tech/java/2018-10-23-java.util.Objects.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -layout: post -category: Java -title: java.util.Objects -tags: Java ---- - -## Objects 与 Object 区别 -Object 是 Java 中所有类的基类,位于java.lang包。 - -Objects 是 Object 的工具类,位于java.util包。它从jdk1.7开始才出现,被final修饰不能被继承,拥有私有的构造函数。 -它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。 - -## Objects 各方法介绍与分析 -### equals - -equals方法是判断两个对象是否相等。 - -在比较两个对象的时候,Object.equals方法容易抛出空指针异常。 - -——我刚上班的时候,有位老员工教我“字符串常量与变量对象比较的时候,常量要写在equals外边,变量放在equals()括号里边。” 就是这个原因。 - -如果是两个变量比较的时候,就都需要加非空判断。 - -Object.equals方法内调用的是return (this == obj)。String类中是依据字符串内容是否相等来重定义了equals方法。 - -现在,Objects.equals方法中已经做了非空判断,所以不会抛出空指针异常,它是null-save空指针安全的,而且也可以简化代码。 - -```java - public static boolean equals(Object a, Object b) { - return (a == b) || (a != null && a.equals(b)); - } -``` - -### deepEquals -顾名思义,深度比较两个对象。 - -当参数是数组对象,其方法内部采用的是Arrays.deepEquals()方法的算法。 - -使用Objects.deepEquals方法有个好处,当我们在写业务代码时,可以直接使用此方法来判断两个复杂类型, - -比如使用了泛型的列表对象```List```、或者通过反射得到的对象,不清楚对象的具体类型。 - -```java -public static boolean deepEquals(Object a, Object b) { - if (a == b) - return true; - else if (a == null || b == null) - return false; - else - return Arrays.deepEquals0(a, b); - } -``` - -简短的说明下Arrays.deepEquals0方法: - -- 如果参数是Object类型的数组,则调用Arrays.deepEquals方法,在参数数组的循环中,递归调用deepEquals0,直到出现不相同的元素,或者循环结束; -- 如果参数是基本类型的数组,则根据该类型调用Arrays.equals方法。Arrays工具类依照八种基本类型对equals方法做了重载。 - -### hashCode -```java - public static int hashCode(Object o) { - return o != null ? o.hashCode() : 0; - } -``` - -### hash -为一系列的输入值生成哈希码,该方法的参数是可变参数。 -源码如下: -```java - public static int hash(Object... values) { - return Arrays.hashCode(values); - } -``` - -它是将所有的输入值都放到一个数组,然后调用Arrays.hashCode(Object[])方法来实现哈希码的生成。 - -对于当一个对象包含多个成员,重写Object.hashCode方法时,hash方法非常有用。 -举个Java源码中的例子: - -java.lang.invoke.MemberName 类,该类有Class clazz、String name、Object type、int flags、Object resoulution这几个成员变量, - -该类的hashCode方法如下: -```java - @Override - public int hashCode() { - return Objects.hash(clazz, getReferenceKind(), name, getType()); - } -``` - From 67a2fc07e0a79b47cba12e6a0f46aaa357bc57a8 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 30 Jul 2022 15:36:51 +0800 Subject: [PATCH 014/318] add logbook --- .../Tech/Java/2018-05-31-java String.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" => _posts/Tech/Java/2018-05-31-java String.md (100%) diff --git "a/_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" b/_posts/Tech/Java/2018-05-31-java String.md similarity index 100% rename from "_posts/Tech/Java/2018-05-31-java String format\346\240\274\345\274\217\345\214\226.md" rename to _posts/Tech/Java/2018-05-31-java String.md From db2c7224b1befe510b360367538e84f9e9bb1027 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 31 Jul 2022 08:17:28 +0800 Subject: [PATCH 015/318] add logbook --- .../2022-05-01-\346\225\260\345\255\246.md" | 165 ++++++++++++------ 1 file changed, 111 insertions(+), 54 deletions(-) diff --git "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" index d776a249c9..264421fc5a 100644 --- "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" +++ "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" @@ -59,10 +59,10 @@ tags: Algorithms ## 素数 -### 判断是否素数和求1-n的素数求某数的素数 +### 判断是否素数o(sqrt(N)) ```python -# 判断某数是否是素数 +# 判断某数是否是素数 o(sqrt(n)) def is_prime(a): if a <= 1: return False import math @@ -71,7 +71,16 @@ def is_prime(a): return True -# 求1-n每个数的素数,以下时间复杂度O(n) 朴素筛法 +``` + +### 求1-n的所有素数 筛法o(N) + +#### 埃氏筛法 + +```python +# 求1-n每个数的素数,以下时间复杂度O(nloglogn) 接近o(n) +# 如果我们从小到大考虑每个数,然后同时把当前这个数的所有(比自己大的)倍数记为合数,那么运行结束的时候没有被标记的数就是素数了。 +# Eratosthenes 筛法(埃拉托斯特尼筛法,简称埃氏筛法) def get_all_prime(n): a = [False] * n res = [] @@ -82,16 +91,26 @@ def get_all_prime(n): for j in range(2 * i, n, i): a[j] = True return res +``` -# 求某数的质因数列表,比如8,是[(2,3)], 6是[(2,1),(3,1)] -def calcu(a): - counter = collections.Counter() - prime = get_all_prime(a + 1) - for p in prime: - while a % p == 0: - counter[p] += 1 - a /= p - return counter.items() +#### **线性筛法** 也称为 **Euler 筛法**(欧拉筛法) + +埃氏筛法仍有优化空间,它会将一个合数重复多次标记。有没有什么办法省掉无意义的步骤呢?答案是肯定的。 + +如果能让每个合数都只被标记一次,那么时间复杂度就可以降到 o(n)了。 + +```python +def get_all_prime(n): + a = [False] * n + res = [] + for i in range(2, n): + if a[i]: continue + # a[i]是素数 + res.append(i) + for j in range(2 * i, n, i): + if a[j]: break # 多了个这行 + a[j] = True + return res ``` ## 平方数 @@ -118,7 +137,7 @@ public boolean isPowerOfThree(int n) { } ``` -## 因数 +## 因数理论 ### 素数分解 @@ -132,33 +151,40 @@ public boolean isPowerOfThree(int n) { 如果 x 整除 y(y mod x == 0),则对于所有 i,mi <= ni。 -### 最大公约数最小公倍数 +### 最大公约数最小公倍数的素数表示 + +每个质因数的乘积 x 和 y 的最大公约数为:gcd(x,y) = 2min(m0,n0) * 3min(m1,n1) * 5min(m2,n2) * ... x 和 y 的最小公倍数为:lcm(x,y) = 2max(m0,n0) * 3max(m1,n1) * 5max(m2,n2) * ... -### 求质因数和对应计数 +### 约数个数和约数之和 -o(n)近似 +如果 N = p1^c1 * p2^c2 * ... *pk^ck +约数个数: (c1 + 1) * (c2 + 1) * ... * (ck + 1) +约数之和: (p1^0 + p1^1 + ... + p1^c1) * ... * (pk^0 + pk^1 + ... + pk^ck) + +## 因数相关问题 + +### 试除法求所有约数: + +#### 求一个数的因子列表 o(sqrt(n)) + +o(sqrt(n)) ```python -# 求质因数列表 -# Python Version -def breakdown(N): - result = [] - from math import sqrt - for i in range(2, int(sqrt(N)) + 1): - if N % i == 0: # 如果 i 能够整除 N,说明 i 为 N 的一个质因子。 - while N % i == 0: - N = N // i - result.append(i) - if N != 1: # 说明再经过操作之后 N 留下了一个素数 - result.append(N) - return result +divisors = [] +d = 1 +while d * d <= k: # 预处理 k 的所有因子 + if k % d == 0: + divisors.append(d) + if d * d < k: # 避免 d= k/d的情况,此时如果append会重复 + divisors.append(k / d) + d += 1 ``` -### 统计1-n每个数的因子列表 +#### 统计1-n每个数的因子列表 o(nlogn) o(nlogn) @@ -170,36 +196,49 @@ for i in range(1, MX): # 预处理每个数的所有因子,时间复杂度 O( divisors[j].append(i) ``` -### 求一个数的因子列表 +### 分解质因数 + +#### 求某数质因数列表o(sqrt(N)) + +o(sqrt(N)) + +求某数的质因数列表,比如8,是[2,2,2] -o(sqrt(n)) +枚举[2, sqrt(n)+1), 如果是质因数,就接着除,最大大于1,它本身就是质数。 + +也叫 求欧拉函数 ```python -divisors = [] -d = 1 -while d * d <= k: # 预处理 k 的所有因子 - if k % d == 0: - divisors.append(d) - if d * d < k: # 避免 d= k/d的情况,此时如果append会重复 - divisors.append(k / d) - d += 1 +# 求质因数列表 +def breakdown(N): + result = [] + from math import sqrt + for i in range(2, int(sqrt(N)) + 1): + if N % i == 0: # 如果 i 能够整除 N,说明 i 为 N 的一个质因子。 + while N % i == 0: + N = N // i + result.append(i) + if N != 1: # 说明再经过操作之后 N 留下了一个素数 + result.append(N) + return result ``` -### gcd求最大公约数: +#### 统计1-n每个数的质因数列表 -```c++ -int gcd(int a, int b) { - return b == 0 ? a : gcd(b, a%b); -} +筛法求欧拉函数 -int gcd(int a, int b) { - while (b != 0) { - int t = a%b; - a = b; - b = t; - } - return a; -} +类似,暂时不写。 + +### gcd求最大公约数 欧几里得算法 + +欧几里得算法 + +```python +class Math1: + def gcd(self, a, b): + if b == 0: + return a + return self.gcd(b, a % b) ``` 最小公倍数就是a*b/gcd(a,b) @@ -242,7 +281,25 @@ int gcd(int a, int b) { ## 幂 -### 快速幂 +### 快速幂 O(logk) + +求 m^k mod p,时间复杂度 O(logk)。 + +```c++ +int qmi(int m, int k, int p) +{ + int res = 1 % p, t = m; + while (k) + { + if (k&1) res = res * t % p; + t = t * t % p; + k >>= 1; + } + return res; +} +``` + + ### 求根号 From 10838723a3709ef4c44802c09756900788f5cb0a Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 31 Jul 2022 11:19:38 +0800 Subject: [PATCH 016/318] add logbook --- ...216\257\346\234\200\351\225\277\351\223\276.md" | 14 ++++++++++++++ ...274\210\345\211\262\350\276\271\357\274\211.md" | 5 ----- 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 "_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" diff --git "a/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" "b/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" new file mode 100644 index 0000000000..ef8542a893 --- /dev/null +++ "b/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" @@ -0,0 +1,14 @@ +--- +layout: post +category: Algorithms +title: 最大环最长链 +tags: Algorithms +--- + +## 最大环最长链 + +https://www.cnblogs.com/lfri/p/15758120.html + + + +todo diff --git "a/_posts/Tech/algorithms/2019-01-12-Tarjan\347\256\227\346\263\225\357\274\232\346\261\202\350\247\243\345\233\276\347\232\204\345\211\262\347\202\271\344\270\216\346\241\245\357\274\210\345\211\262\350\276\271\357\274\211.md" "b/_posts/Tech/algorithms/2019-01-12-Tarjan\347\256\227\346\263\225\357\274\232\346\261\202\350\247\243\345\233\276\347\232\204\345\211\262\347\202\271\344\270\216\346\241\245\357\274\210\345\211\262\350\276\271\357\274\211.md" index d5c0f9947e..56aee555d0 100644 --- "a/_posts/Tech/algorithms/2019-01-12-Tarjan\347\256\227\346\263\225\357\274\232\346\261\202\350\247\243\345\233\276\347\232\204\345\211\262\347\202\271\344\270\216\346\241\245\357\274\210\345\211\262\350\276\271\357\274\211.md" +++ "b/_posts/Tech/algorithms/2019-01-12-Tarjan\347\256\227\346\263\225\357\274\232\346\261\202\350\247\243\345\233\276\347\232\204\345\211\262\347\202\271\344\270\216\346\241\245\357\274\210\345\211\262\350\276\271\357\274\211.md" @@ -86,10 +86,5 @@ def tarjan(u): if cur[-1] == u: break scc.append(cur) - -作者:承志 -链接:https://juejin.cn/post/6875498612537851918 -来源:掘金 -著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 ``` From bb58eb857099e7178d48a40705fe5b6477a0b62f Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 6 Aug 2022 01:10:16 +0800 Subject: [PATCH 017/318] add logbook --- ...018-02-01-java\346\263\233\345\236\213.md" | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" index f58cea1463..0774ed8f7b 100644 --- "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" +++ "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" @@ -7,6 +7,8 @@ tags: Java Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 +其实就是一种编译检查的工具,类似某些注解一样。 + ## 泛型的使用 ### 泛型方法 @@ -61,6 +63,8 @@ public interface Generator { 后者表示该通配符所代表的类型是T类型的父类。 + 是无界通配符。 + ### PECS原则 “Producer Extends” – 如果你需要一个只读List,用它来produce T,那么使用? extends @@ -77,24 +81,38 @@ public class Collections { } ``` -## 类型擦除 -[Java类型擦除机制](https://www.cnblogs.com/chenpi/p/5508177.html) -记住:Java的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。 -不能给形参为```List```的函数传入实参```List```类型,会编译出错,在编译期间就出现错误,它们是不同的类型。 +### List -正确理解泛型概念的首要前提是理解类型擦除(type erasure)。Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会被编译器在编译的时候去掉。这个过程就称为类型擦除。比如在代码中定义的List和List等类型,在编译之后都会变成List。JVM看到的只是List,而由泛型附加的类型信息对JVM来说是不可见的。Java编译器会在编译时尽可能的发现可能出错的地方,但是仍然无法避免在运行时刻出现类型转换异常的情况。 +> [参考](https://stackoverflow.com/questions/1844770/what-does-list-mean-in-java-generics) -```java - ArrayList a1 = new ArrayList<>(); - ArrayList a2 =new ArrayList<>(); +The `?`, or unbounded wildcard, means that the type of the object is not specified. It could be unknown, could be meant for multiple possible values or might be just plain irrelevant. `List`, is pronounced "List of unknown." - Class c1 =a1.getClass(); - Class c2 = a2.getClass(); - System.out.println(c1.equals(c2)); //Output: true -``` + +Unbounded Wildcards + +> The unbounded wildcard type is specified using the wildcard character (`?`), for example, `List`. This is called a list of unknown type. There are two scenarios where an unbounded wildcard is a useful approach: +> +> - If you are writing a method that can be implemented using functionality provided in the Object class. +> - When the code is using methods in the generic class that don't depend on the type parameter. For example, `List.size` or `List.clear`. In fact, `Class` is so often used because most of the methods in `Class` do not depend on `T`. + +? 表示一种特定的未知类型,所以List 不能add 因为类型绑定错误,会出现错误capture xx of ?之类的。 + +- `List`: There is no type restriction and assignment restriction at all. +- `List`: It seems to be used the same as `List`, but a compilation error will occur when accepting other generic assignments. +- `List`: It is a generic type. Before assignment, it means that it can accept any type of set assignment, but after assignment, you can't `add` elements to it, but you can `remove` and `clear`, not an `immutable set`. `List` is generally used as a parameter to receive an external collection, or return a collection of specific element types, also known as a `wildcard collection`. + + + +## 类型擦除 + +[Java类型擦除机制](https://www.cnblogs.com/chenpi/p/5508177.html) + +记住:Java的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。 + +不能给形参为```List```的函数传入实参```List```类型,会编译出错,在编译期间就出现错误,它们是不同的类型。 ### 一,数组的协变性(covariant array type)及集合的非协变性 设有Circle类和Square类继承自Shape类。 @@ -373,6 +391,7 @@ public static void rtti(List list) { ``` **不能创建泛型对象数组** + ```java GenericMethod[] o=null;//ok o=new GenericMethod[10];//error @@ -519,3 +538,5 @@ class MyNode extends Node { 这也就是为什么上面会报错的原因了,setData((Integer) data);的时候String无法转换成Integer。所以上面第2行编译器提示unchecked warning的时候,我们不能选择忽略,不然要等到运行期间才能发现异常。如果我们一开始加上Node n = mn就好了,这样编译器就可以提前帮我们发现错误。 + + From 2e4941418763875dcaba0fd63159de38ecfcb37e Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 6 Aug 2022 14:45:19 +0800 Subject: [PATCH 018/318] add logbook --- ...018-02-01-java\346\263\233\345\236\213.md" | 394 ++++-------------- 1 file changed, 76 insertions(+), 318 deletions(-) diff --git "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" index 0774ed8f7b..3595a7581a 100644 --- "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" +++ "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" @@ -4,6 +4,7 @@ category: Java title: java泛型 tags: Java --- + Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 @@ -13,11 +14,11 @@ Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了 ### 泛型方法 -```java +```java public static < E > void printArray( E[] inputArray ) { - // 输出数组元素 - for ( E element : inputArray ){ + // 输出数组元素 + for ( E element : inputArray ){ System.out.printf( "%s ", element ); } System.out.println(); @@ -25,6 +26,7 @@ Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了 ``` ### 泛型类 + 泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分。 ```java @@ -38,6 +40,7 @@ public class Box { ``` ### 泛型接口 + ```java public interface Generator { public T next(); @@ -46,323 +49,119 @@ public interface Generator { 在实现类实现泛型接口时,如已将泛型类型传入实参类型,则所有使用泛型的地方都要替换成传入的实参类型 -### 泛型的好处 +## 泛型的好处 -①类型安全。类型错误现在在编译期间就被捕获到了,而不是在运行时当作java.lang.ClassCastException展示出来,将类型检查从运行时挪到编译时有助于开发者更容易找到错误,并提高程序的可靠性。 +① 类型安全。类型错误现在在编译期间就被捕获到了,而不是在运行时当作 java.lang.ClassCastException 展示出来,将类型检查从运行时挪到编译时有助于开发者更容易找到错误,并提高程序的可靠性。 -②消除了代码中许多的强制类型转换,增强了代码的可读性。 +② 消除了代码中许多的强制类型转换,增强了代码的可读性。 -③为较大的优化带来了可能。 +③ 为较大的优化带来了可能。 ## 类型通配符 -类型通配符一般是使用?代替具体的类型参数。 - -**``````和``````的区别** - -前者表示该通配符所代表的类型是T类型的子类。 - -后者表示该通配符所代表的类型是T类型的父类。 - - 是无界通配符。 - -### PECS原则 -“Producer Extends” – 如果你需要一个只读List,用它来produce T,那么使用? extends - -“Consumer Super” – 如果你需要一个只写List,用它来consume T,那么使用? super - -如果阅读过一些Java集合类的源码,可以发现通常我们会将两者结合起来一起用,比如像下面这样: - -```java -public class Collections { - public static void copy(List dest, List src) { - for (int i=0; i - -> [参考](https://stackoverflow.com/questions/1844770/what-does-list-mean-in-java-generics) - -The `?`, or unbounded wildcard, means that the type of the object is not specified. It could be unknown, could be meant for multiple possible values or might be just plain irrelevant. `List`, is pronounced "List of unknown." - - - -Unbounded Wildcards - -> The unbounded wildcard type is specified using the wildcard character (`?`), for example, `List`. This is called a list of unknown type. There are two scenarios where an unbounded wildcard is a useful approach: -> -> - If you are writing a method that can be implemented using functionality provided in the Object class. -> - When the code is using methods in the generic class that don't depend on the type parameter. For example, `List.size` or `List.clear`. In fact, `Class` is so often used because most of the methods in `Class` do not depend on `T`. -? 表示一种特定的未知类型,所以List 不能add 因为类型绑定错误,会出现错误capture xx of ?之类的。 +### 为什么需要类型通配符 -- `List`: There is no type restriction and assignment restriction at all. -- `List`: It seems to be used the same as `List`, but a compilation error will occur when accepting other generic assignments. -- `List`: It is a generic type. Before assignment, it means that it can accept any type of set assignment, but after assignment, you can't `add` elements to it, but you can `remove` and `clear`, not an `immutable set`. `List` is generally used as a parameter to receive an external collection, or return a collection of specific element types, also known as a `wildcard collection`. - - - -## 类型擦除 +java 数组具有协变性: -[Java类型擦除机制](https://www.cnblogs.com/chenpi/p/5508177.html) +- class Circle implements Shape, 如果给 某方法(Shape[] arr) 传递一个 Circle[] 类型的数组,这是可以的,编译通过,也能正常运行。也就是说:Circle[] IS-A Shape[] -记住:Java的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。 +集合无协变性: -不能给形参为```List```的函数传入实参```List```类型,会编译出错,在编译期间就出现错误,它们是不同的类型。 +- 给`totalArea(Collection arr)`传递一个 `Collection`类型的集合,这是不可以的。编译器就会报如下的错误: -### 一,数组的协变性(covariant array type)及集合的非协变性 -设有Circle类和Square类继承自Shape类。 + - `The method totalArea(Collection) in the type Demo is not applicable for the arguments (Collection)` -关于数组的协变性,看代码: -```java -public static double totalArea(Shape[] arr){ - double total = 0; - for (Shape shape : arr) { - if(shape != null) - total += shape.area(); - } - return total; - } -``` +- 也就是说,形参是`List`,你无法传入`List`,`List`,`ArrayList`等,在编译期间就出现错误,它们是不同的类型。 -如果给 totalArray(Shape[] arr) 传递一个Circle[] 类型的数组,这是可以的,编译通过,也能正常运行。也就是说:Circle[] IS-A Shape[] +有了类型通配符后,就可以约束泛型的父类或者子类,然后就可以让带有类型通配符泛型的 List 有数组一样的协变性,比如 -关于集合的协变性,看代码: ```java -public static double totalArea(Collection arr){ - double total = 0; - for (Shape shape : arr) { - if(shape != null) - total += shape.area(); - } - return total; - } -``` - -给```totalArea(Collection arr)```传递一个 ```Collection```类型的集合,这是不可以的。编译器就会报如下的错误: - -```The method totalArea(Collection) in the type Demo is not applicable for the arguments (Collection)``` - -也就是说,形参是```List```,你无法传入```List```,```List```,```ArrayList```等 - -### 二,如果解决集合的非协变性带来的不灵活? -```java -public static double totalArea(Collection arr){ - double total = 0; - for (Shape shape : arr) { - if(shape != null) - total += shape.area(); - } - return total; - } -``` - -这样,就可以给totalArea(Collection arr) - -传递Collection、Collection、Collection类型的参数了。 - -假如B继承A - -```java -List与List一样 -List可以赋值给List //假如B继承A List可以赋值给List List也可以赋值给List ``` -链接:https://www.nowcoder.com/questionTerminal/9bc2d446173147b3b28b31568a6c4706?toCommentId=2215648 - +注意如下是不可以的 -对的只有A C D G ``` -class A {} -class B extends A {} -class C extends A {} -class D extends B {} -Which four statements are true ? -The type Listis assignable to List. -The type Listis assignable to List. -The type Listis assignable to List. -The type Listis assignable to List. The type Listis assignable to List. -The type Listis assignable to any List reference. -The type Listis assignable to List. -``` - -### 三,泛型的类型擦除及类型擦除带来的ClassCastException异常 -JAVA的泛型只存在于编译层,到了运行时,是看不到泛型的。 - -还是拿数组来做对比: - -```java - String[] str = new String[10]; - Object[] obj = str;//向上转型 - - //Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer - obj[0] = new Integer(2); ``` -第5行代码在运行时会抛第4行中表示的异常。 +### 类型通配符 -再来看泛型: - -```java -ArrayList intList = new ArrayList(); - intList.add(2); - Object obj = intList; - - //Type safety: Unchecked cast from Object to ArrayList - ArrayList strList = (ArrayList)obj; - - //Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String - String str = strList.get(0); - str.trim();//do something with str -``` - -编译器会对第6行提示第5行所示的警告。程序运行到第9行时抛出ClassCastException异常。因为ArrayList存储的本质上是一个Integer。 +类型通配符一般是使用?代替具体的类型参数。 -现在分析下第6行代码: +**``和``的区别** -obj是Object类型的引用,strList是一个ArrayList类型的引用,因此,向下转型时编译器给出了警告,在运行时,由于类型擦除,相当于 +前者表示该通配符所代表的类型是 T 类型的子类。 -ArrayList strList = (ArrayList)obj; -因此,代码运行到第6行也能通过。 +后者表示该通配符所代表的类型是 T 类型的父类。 -对于第9行代码: + 是无界通配符。 -strList但是一个ArrayList类型的引用,当然可以调用 ArrayList的get方法。因此,编译时没问题。在运行时, +#### PECS 原则 -由于,String str = strList.get(0);会编译成String str = (String)strList.get(0); +“Producer Extends” – 如果你需要一个只读 List,用它来 produce T,那么使用? extends -而strList.get(0)得到 的是一个Integer对象,然后把它赋值给 String str,由于Integer IS-NOT-A String。故抛出ClassCastException。 +“Consumer Super” – 如果你需要一个只写 List,用它来 consume T,那么使用? super -### 四,为什么不支持泛型数组 -现在我们假设在 Java 中可以创建泛型数组,看看可能会发生什么情况: +如果阅读过一些 Java 集合类的源码,可以发现通常我们会将两者结合起来一起用,比如像下面这样: ```java -// 假设可以创建泛型数组 -List[] stringLists = new ArrayList[1]; -List intList = Arrays.asList(42); -// 泛型擦除,List 继承自 Object,所以可以如此赋值 -// 在数组中,子类数组 是 父类数组 的子类,Object[] o = new ArrayList[1]; -Object[] objects = stringLists; -// 同理,泛型擦除后,List 类型变量赋值给 Object 类型变量 -// 但此时出现问题了,**** List 实例添加到了声明为 List[] 类型的数组中了 ****** -objects[0] = intList; -String s = stringLists[0].get(0); +public class Collections { + public static void copy(List dest, List src) { + for (int i=0; i -### 解决方案 +> [参考](https://stackoverflow.com/questions/1844770/what-does-list-mean-in-java-generics) -#### 泛型数组包装器 -用ArrayList收集泛型数组对象的对象元素,如ArrayList、ArrayList> +The `?`, or unbounded wildcard, means that the type of the object is not specified. It could be unknown, could be meant for multiple possible values or might be just plain irrelevant. `List`, is pronounced "List of unknown." -将获得数组的行为,以及由泛型提供的编译期的类型安全 +Unbounded Wildcards ? -#### 反射 -通过反射在运行时构出实际类型为type[]的对象数组,避免了类型擦除,从而转换成功,无ClassCastException +> The unbounded wildcard type is specified using the wildcard character (`?`), for example, `List`. This is called a list of unknown type. There are two scenarios where an unbounded wildcard is a useful approach: +> +> - If you are writing a method that can be implemented using functionality provided in the Object class. +> - When the code is using methods in the generic class that don't depend on the type parameter. For example, `List.size` or `List.clear`. In fact, `Class` is so often used because most of the methods in `Class` do not depend on `T`. -```java -import java.lang.reflect.*; +? 表示一种特定的未知类型,所以 List 不能 add 因为会类型绑定错误,会出现错误 capture xx of ?之类的。 -public class GenericArrayWithTypeToken { - private T[] array; - @SuppressWarning("unchecked") - public GenericArrayWithTypeToken(Class type, int sz) { - array = (T[]) Array.newInstance(type, sz);//通过反射在运行时构出实际类型为type[]的对象数组,避免了类型擦除,从而转换成功,无ClassCastException - } - public void put(int index, T item){ - array[index] = item; - } - public T get(int index) { return array[index]; } - public T[] rep() { return array; } //能成功返回了~ - public static void main(String[] args) { - GenericArrayWithTypeToken gawtt = new GenericArrayWithTypeToken<>(Integer.class, 10); - Integer[] ia = gawtt.rep(); //能成功返回了! - } -} -``` - -#### 通配符 -[The Java™ Tutorials: Generics](https://docs.oracle.com/javase/tutorial/extra/generics/fineprint.html) -给出的解决方案如下: +- `List`: There is no type restriction and assignment restriction at all. +- `List`: It seems to be used the same as `List`, but a compilation error will occur when accepting other generic assignments. 不能`List list = a, where a is List` +- `List`: It is a generic type. Before assignment, it means that it can accept any type of set assignment, but after assignment, you can't `add` elements to it, but you can `remove` and `clear`, not an `immutable set`. `List` is generally used as a parameter to receive an external collection, or return a collection of specific element types, also known as a `wildcard collection`. ```java -// OK, array of unbounded wildcard type. -List[] lsa = new List[10]; -Object o = lsa; -Object[] oa = (Object[]) o; -List li = new ArrayList(); -li.add(new Integer(3)); -// Correct. -oa[1] = li; -// Run time error, but cast is explicit. -String s = (String) lsa[1].get(0); +The type Listis assignable to List. +The type Listis assignable to List. ``` -一定要用List或者List后面那块,前面得无所谓了 +## 类型擦除 -比如 -```java - List[] graphic = new List[numCourses]; -for (int i = 0; i < numCourses; i++) { - graphic[i] = new ArrayList<>(); -} -``` +Java 的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。到了运行时,是看不到泛型的。 -## 泛型的约束和限制 - -### 原始类型变量的赋值分析 -[参考网址](https://blog.csdn.net/never_blue/article/details/70652659) +因此可能会带来一些问题,比如如下代码运行到最后一行时会产生异常 ClassCastException ```java + ArrayList intList = new ArrayList(); + intList.add(2); + Object obj = intList; - public static void main(String[] args) { - List list=new ArrayList(); - list.add("abc"); - list.add(33); - List list1=list; - for(int i=0;iInteger的ClassCastException异常 - //是运行错误,编译通过哦 - System.out.println(t); - } - - for (int i = 0; i < list1.size(); i++) { - String t=list1.get(i); - //编译通过不了,因为编译器认为list1里都是Integer,按照声明时的类型来, - // 因此直接编译错误,不管实际类型,即使都是String - System.out.println(t); - } + //just warnning: Type safety: Unchecked cast from Object to ArrayList + ArrayList strList = (ArrayList) obj; + // 这里会ClassCastException,因为类型擦除 + //Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String + String str = strList.get(0); ``` -总结: - -- 当程序把一个原始类型的变量赋给一个带泛型信息的变量时,总是可以通过编译,只是会提示一些警告信息。 -- 当程序试图访问带有泛型声明的集合的集合元素时,编译器总是把集合元素当成泛型类型处理,并不关心集合里元素的实际类型。 -- 当程序试图访问带有泛型声明的集合的集合元素时,JVM会遍历每个集合元素自动执行强制类型转化,如果集合元素的实际类型与集合所带的泛型信息不匹配,运行时将引发ClassCastException异常。 - -### 泛型的约束和限制 -**不能使用8个基本类型实例化类型参数** +## 泛型的约束和限制 -**类型检查不可使用泛型** +### **类型检查不可使用泛型** ```java if(aaa instanceof Pair){}//error @@ -390,7 +189,7 @@ public static void rtti(List list) { } ``` -**不能创建泛型对象数组** +### **不能创建泛型对象数组** ```java GenericMethod[] o=null;//ok @@ -405,25 +204,9 @@ o=new GenericMethod[10];//error o=(GenericMethod[]) new GenericMethod[10]; ``` -不可以创建的原因是:因为类型擦除的原因无法在为元素赋值时类型检查,因此jdk强制不允许。 - -有一个特例是方法的可变参数,虽然本质上是数组,却可以使用泛型。 - -安全的方法是使用List。 - -**Varargs警告** - -java不支持泛型类型的对象数组,可变参数是可以的。它也正是利用了强制类型转换,因此同样是类型不安全的。所以这种代码编译器会给一个警告。 - -```java -public static T getMiddle(T... a){ - return a[a.length/2]; -} -``` - -去除警告有两种途径:一种是在定义可变参数方法上(本例中的getMiddle())加上@SafeVarargs注解,另一种是在调用该方法时添加@SuppressWarnings("unchecked")注解。 +不可以创建的原因是:因为类型擦除的原因无法在为元素赋值时类型检查,因此 jdk 强制不允许。 -**不能实例化泛型对象** +### **不能实例化泛型对象** ```java T t= new T();//error @@ -445,7 +228,8 @@ append(ls, String.class); ``` -**不能在泛型类的静态域中使用泛型类型** +### **不能在泛型类的静态域中使用泛型类型** + ```java public class Singleton{ private static T singleton; //error @@ -455,6 +239,7 @@ public class Singleton{ ``` 但是,静态的泛型方法可以使用泛型类型: + ```java public static T getInstance(){return null;} //ok public static void print(T t){} //ok @@ -462,13 +247,14 @@ public static void print(T t){} //ok 这个原因很多资料中都没说的太明白,说一下个人理解,仅供参考: -1. 泛型类中,称为类型变量,实际上就相当于在类中隐形的定义了一个不可见的成员变量:`private T t;`,这是对象级别的,对于泛型类型变量来说是在对象初始化时才知道其具体类型的。而在静态域中,不需要对象初始化就可以调用,这是矛盾的。 +1. 泛型类中,``称为类型变量,实际上就相当于在类中隐形的定义了一个不可见的成员变量:`private T t;`,这是对象级别的,对于泛型类型变量来说是在对象初始化时才知道其具体类型的。而在静态域中,不需要对象初始化就可以调用,这是矛盾的。 +2. 静态的泛型方法,是在方法层面定义的,就是说在调用方法时,T 所指的具体类型已经明确了。 -2. 静态的泛型方法,是在方法层面定义的,就是说在调用方法时,T所指的具体类型已经明确了。 +### 继承泛型类时自动重写 -**擦除的冲突 重载与重写** +对于泛型代码,Java 编译器实际上还会偷偷帮我们实现一个 Bridge method。 -对于泛型代码,Java编译器实际上还会偷偷帮我们实现一个Bridge method。 +在继承一个泛型类时,会自动加对泛型类的方法的调用时的类型强制转换。 ```java public class Node { @@ -488,7 +274,7 @@ public class MyNode extends Node { } ``` -看完上面的分析之后,你可能会认为在类型擦除后,编译器会将Node和MyNode变成下面这样: +类型擦除后: ```java public class Node { @@ -499,33 +285,10 @@ public class Node { this.data = data; } } -public class MyNode extends Node { - public MyNode(Integer data) { super(data); } - public void setData(Integer data) { - System.out.println("MyNode.setData"); - super.setData(data); - } -} -``` - -实际上不是这样的,我们先来看一下下面这段代码,这段代码运行的时候会抛出ClassCastException异常,提示String无法转换成Integer: - -```java -MyNode mn = new MyNode(5); -Node n = mn; // A raw type - compiler throws an unchecked warning -n.setData("Hello"); // Causes a ClassCastException to be thrown. -// Integer x = mn.data; -``` - - -如果按照我们上面生成的代码,运行到第3行的时候不应该报错(注意我注释掉了第4行),因为MyNode中不存在setData(String data)方法,所以只能调用父类Node的setData(Object data)方法,既然这样上面的第3行代码不应该报错,因为String当然可以转换成Object了,那ClassCastException到底是怎么抛出的? - -实际上Java编译器对上面代码自动还做了一个处理: - -```java class MyNode extends Node { // Bridge method generated by the compiler - public void setData(Object data) { + public void setData(Object data) {、 + // 这个是关键!!!!,有个强制类型转化。 setData((Integer) data); } public void setData(Integer data) { @@ -535,8 +298,3 @@ class MyNode extends Node { // ... } ``` - -这也就是为什么上面会报错的原因了,setData((Integer) data);的时候String无法转换成Integer。所以上面第2行编译器提示unchecked warning的时候,我们不能选择忽略,不然要等到运行期间才能发现异常。如果我们一开始加上Node n = mn就好了,这样编译器就可以提前帮我们发现错误。 - - - From 025a65350fdf66179c94db574f93a2040b3e639b Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 6 Aug 2022 15:26:37 +0800 Subject: [PATCH 019/318] add logbook --- "_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" index 3595a7581a..075ecfeabf 100644 --- "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" +++ "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" @@ -140,6 +140,10 @@ The type Listis assignable to List. The type Listis assignable to List. ``` + + +注意,**优先使用带?的泛型**,这样做的好处是告诉编译器,我们是确实是采用任意类型的泛型,而非忘记使用泛型约束,并且**在编译器检查时不会产生警告信息。** + ## 类型擦除 Java 的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。到了运行时,是看不到泛型的。 From f3d8391c03a6c30841ebe18f91d9a3e303634cbd Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 6 Aug 2022 17:53:42 +0800 Subject: [PATCH 020/318] add logbook --- ...-\345\217\221\351\237\263\350\247\204\345\210\231.md" | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" index 03912e5f8b..be08c119c3 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" @@ -181,3 +181,12 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 - + + + + + + +# 100个最常见的英语单词发音 + +[参考](https://www.zhihu.com/zvideo/1390373231258382336) , 包含了常见单词的弱读,比如him, to, do, of等。 From 51d28a72430125c1b4798d7e3c438b97e1704202 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 6 Aug 2022 18:53:42 +0800 Subject: [PATCH 021/318] add logbook --- ...21\351\237\263\350\247\204\345\210\231.md" | 2 - ...41\345\217\212\345\217\215\345\260\204.md" | 87 +++- ...5\205\245\346\241\206\346\236\266Guice.md" | 2 +- ...0\247\243Class\345\257\271\350\261\241.md" | 416 ------------------ 4 files changed, 83 insertions(+), 424 deletions(-) rename "_posts/Tech/java/2018-02-04-java\345\217\215\345\260\204.md" => "_posts/Tech/Java/2018-02-04-java Class\345\257\271\350\261\241\345\217\212\345\217\215\345\260\204.md" (70%) rename "_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" => "_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245\346\241\206\346\236\266Guice.md" (99%) delete mode 100644 "_posts/Tech/java/2018-10-23-\346\267\261\345\205\245\347\220\206\350\247\243Class\345\257\271\350\261\241.md" diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" index be08c119c3..de6ee8681a 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" @@ -185,8 +185,6 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 - - # 100个最常见的英语单词发音 [参考](https://www.zhihu.com/zvideo/1390373231258382336) , 包含了常见单词的弱读,比如him, to, do, of等。 diff --git "a/_posts/Tech/java/2018-02-04-java\345\217\215\345\260\204.md" "b/_posts/Tech/Java/2018-02-04-java Class\345\257\271\350\261\241\345\217\212\345\217\215\345\260\204.md" similarity index 70% rename from "_posts/Tech/java/2018-02-04-java\345\217\215\345\260\204.md" rename to "_posts/Tech/Java/2018-02-04-java Class\345\257\271\350\261\241\345\217\212\345\217\215\345\260\204.md" index 4e1c7c5aba..0c3cbfee90 100644 --- "a/_posts/Tech/java/2018-02-04-java\345\217\215\345\260\204.md" +++ "b/_posts/Tech/Java/2018-02-04-java Class\345\257\271\350\261\241\345\217\212\345\217\215\345\260\204.md" @@ -1,13 +1,11 @@ --- layout: post category: Java -title: java反射 +title: java Class对象及反射 tags: Java --- -[链接](http://blog.csdn.net/javazejian/article/details/70768369?utm_source=gold_browser_extension) - -## 反射 +# 反射 每个类都有一个 **Class** 对象,包含了与类有关的信息。当编译一个新类时,会产生一个同名的 .class 文件,该文件内容保存着 Class 对象。 @@ -39,11 +37,90 @@ Reflection is powerful, but should not be used indiscriminately. If it is possib > [Trail: The Reflection API](https://docs.oracle.com/javase/tutorial/reflect/index.html)
[深入解析 Java 反射(1)- 基础](http://www.sczyh30.com/posts/Java/java-reflection-1/) -## Class对象 +# Class对象 + +获取Class的方法有三种: + +1.Class.forName("类名"); 通过类名字符串获取Class对象。 + +2.通过类的对象调用getClass() 获取该类型的Class对象 + +3.通过类型直接获取Class对象。 类名.class (类字面常量) + + + +Example: + +```java +// Class支持泛型 +Class integerClass = Integer.class; +// 注意这里能拿到的是Class, 和Class.forName返回的一样 +Class c1 = Integer.valueOf(3).getClass(); +``` + + + +Class类是什么? + +1. Class类也是类的一种,与class关键字是不一样的。 +2. 手动编写的类被编译后会产生一个Class对象,其表示的是创建的类的类型信息,而且这个Class对象保存在同名.class的文件中(字节码文件),比如创建一个Shapes类,编译Shapes类后就会创建其包含Shapes类相关类型信息的Class对象,并保存在Shapes.class字节码文件中。 +3. 每个通过关键字class标识的类,在内存中有且只有一个与之对应的Class对象来描述其类型信息,无论创建多少个实例对象,其依据的都是用一个Class对象。 +4. Class类只存私有构造函数,因此对应Class对象只能有JVM创建和加载 +5. Class类的对象作用是运行时提供或获得某个对象的类型信息,这点对于反射技术很重要(关于反射稍后分析)。 + + + +类加载的过程,如下: + +1. 加载:类加载过程的一个阶段:通过一个类的完全限定查找此类字节码文件,并利用字节码文件创建一个Class对象 + +2. 链接:验证字节码的安全性和完整性,准备阶段正式为静态域分配存储空间,注意此时只是分配静态成员变量的存储空间,不包含实例1. 成员变量,如果必要的话,解析这个类创建的对其他类的所有引用。 + +3. 初始化:类加载最后阶段,若该类具有超类,则对其进行初始化,执行静态初始化器和静态初始化成员变量。 + + + +Note: + +- 使用字面常量的方式获取Class对象的引用不会触发类的初始化。 我们获取字面常量的Class引用时,触发的应该是加载阶段,因为在这个阶段Class对象已创建完成,获取其引用并不困难,而无需触发类的最后阶段初始化。 +- 实例类的getClass方法和Class类的静态方法forName都将会触发类的初始化阶段 + + + +关于类加载的初始化阶段,在虚拟机规范严格规定了有且只有5种场景必须对类进行初始化: + +1. 使用new关键字实例化对象时、读取或者设置一个类的静态字段(不包含编译期常量)以及调用静态方法的时候,必须触发类加载的初始化过程(类加载过程最终阶段)。 +2. 使用反射包(java.lang.reflect)的方法对类进行反射调用时,如果类还没有被初始化,则需先进行初始化,这点对反射很重要。 +3. 当初始化一个类的时候,如果其父类还没进行初始化则需先触发其父类的初始化。 +4. 当Java虚拟机启动时,用户需要指定一个要执行的主类(包含main方法的类),虚拟机会先初始化这个主类 [参考我的另一个博客:深入理解Class对象](https://mafulong.github.io/java/2018/10/23/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Class%E5%AF%B9%E8%B1%A1.html) + + +# 类型转换 + +在许多需要强制类型转换的场景,我们更多的做法是直接强制转换类型 + +之所可以强制转换,这得归功于RTTI(Run-Time Type Identification)运行时类型识别,要知道在Java中,所有类型转换都是在运行时进行正确性检查的,利用RRTI进行判断类型是否正确从而确保强制转换的完成,如果类型转换失败,将会抛出类型转换异常ClassCastException。 + + + +关于instanceof 关键字,它返回一个boolean类型的值,意在告诉我们对象是不是某个特定的类型实例。如下,在强制转换前利用instanceof检测obj是不是Animal类型的实例对象,如果返回true再进行类型转换,这样可以避免抛出类型转换的异常(ClassCastException)。 注意子类对象也是父类类型的一个实例,返回true. + +```java +//判断这个对象是不是这种类型 +obj.instanceof(class) +//判断这个对象能不能被转化为这个类 +class.inInstance(obj) +``` + +功能上它们是等价的。 + +# 反射用法 + ## Constructor类及其用法 + ```java //获取Class对象的引用 Class clazz = Class.forName("reflect.User"); diff --git "a/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" "b/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245\346\241\206\346\236\266Guice.md" similarity index 99% rename from "_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" rename to "_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245\346\241\206\346\236\266Guice.md" index d1e017b924..b6ab56a573 100644 --- "a/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245Guice.md" +++ "b/_posts/Tech/Java/2022-07-28-\344\276\235\350\265\226\346\263\250\345\205\245\346\241\206\346\236\266Guice.md" @@ -1,7 +1,7 @@ --- layout: post category: Java -title: 依赖注入Guice +title: 依赖注入框架Guice tags: Java --- diff --git "a/_posts/Tech/java/2018-10-23-\346\267\261\345\205\245\347\220\206\350\247\243Class\345\257\271\350\261\241.md" "b/_posts/Tech/java/2018-10-23-\346\267\261\345\205\245\347\220\206\350\247\243Class\345\257\271\350\261\241.md" deleted file mode 100644 index 1c9b016ff0..0000000000 --- "a/_posts/Tech/java/2018-10-23-\346\267\261\345\205\245\347\220\206\350\247\243Class\345\257\271\350\261\241.md" +++ /dev/null @@ -1,416 +0,0 @@ ---- -layout: post -category: Java -title: 深入理解Class对象 -tags: Java ---- - -## RRTI的概念以及Class对象作用 -认识Class对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是 C++ 中的概念,至于Java中出现RRTI的说法则是源于《Thinking in Java》一书,其作用是在运行时识别一个对象的类型和类的信息,这里分两种:传统的”RRTI”,它假定我们在编译期已知道了所有类型(在没有反射机制创建和使用类对象时,一般都是编译期已确定其类型,如new对象时该类必须已定义好),另外一种是反射机制,它允许我们在运行时发现和使用类型的信息。在Java中用来表示运行时类型信息的对应类就是Class类,Class类也是一个实实在在的类,存在于JDK的java.lang包中,其部分源码如下: - -```java -public final class Class implements java.io.Serializable,GenericDeclaration,Type, AnnotatedElement { - private static final int ANNOTATION= 0x00002000; - private static final int ENUM = 0x00004000; - private static final int SYNTHETIC = 0x00001000; - - private static native void registerNatives(); - static { - registerNatives(); - } - - /* - * Private constructor. Only the Java Virtual Machine creates Class objects.(私有构造,只能由JVM创建该类) - * This constructor is not used and prevents the default constructor being - * generated. - */ - private Class(ClassLoader loader) { - // Initialize final field for classLoader. The initialization value of non-null - // prevents future JIT optimizations from assuming this final field is null. - classLoader = loader; - } -``` - -Class类被创建后的对象就是Class对象,注意,Class对象表示的是自己手动编写类的类型信息,比如创建一个Shapes类,那么,JVM就会创建一个Shapes对应Class类的Class对象,该Class对象保存了Shapes类相关的类型信息。实际上在Java中每个类都有一个Class对象,每当我们编写并且编译一个新创建的类就会产生一个对应Class对象并且这个Class对象会被保存在同名.class文件里(编译后的字节码文件保存的就是Class对象),那为什么需要这样一个Class对象呢?是这样的,当我们new一个新对象或者引用静态成员变量时,Java虚拟机(JVM)中的类加载器子系统会将对应Class对象加载到JVM中,然后JVM再根据这个类型信息相关的Class对象创建我们需要实例对象或者提供静态变量的引用值。需要特别注意的是,手动编写的每个class类,无论创建多少个实例对象,在JVM中都只有一个Class对象,即在内存中每个类有且只有一个相对应的Class对象,挺拗口,通过下图理解(内存中的简易现象图): - -到这我们也就可以得出以下几点信息: - -1. Class类也是类的一种,与class关键字是不一样的。 -2. 手动编写的类被编译后会产生一个Class对象,其表示的是创建的类的类型信息,而且这个Class对象保存在同名.class的文件中(字节码文件),比如创建一个Shapes类,编译Shapes类后就会创建其包含Shapes类相关类型信息的Class对象,并保存在Shapes.class字节码文件中。 -3. 每个通过关键字class标识的类,在内存中有且只有一个与之对应的Class对象来描述其类型信息,无论创建多少个实例对象,其依据的都是用一个Class对象。 -4. Class类只存私有构造函数,因此对应Class对象只能有JVM创建和加载 -5. Class类的对象作用是运行时提供或获得某个对象的类型信息,这点对于反射技术很重要(关于反射稍后分析)。 - -## Class对象的加载及其获取方式 -### Class对象的加载 -前面我们已提到过,Class对象是由JVM加载的,那么其加载时机是?实际上所有的类都是在对其第一次使用时动态加载到JVM中的,当程序创建第一个对类的静态成员引用时,就会加载这个被使用的类(实际上加载的就是这个类的字节码文件),注意,使用new操作符创建类的新实例对象也会被当作对类的静态成员的引用(构造函数也是类的静态方法),由此看来Java程序在它们开始运行之前并非被完全加载到内存的,其各个部分是按需加载,所以在使用该类时,类加载器首先会检查这个类的Class对象是否已被加载(类的实例对象创建时依据Class对象中类型信息完成的),如果还没有加载,默认的类加载器就会先根据类名查找.class文件(编译后Class对象被保存在同名的.class文件中),在这个类的字节码文件被加载时,它们必须接受相关验证,以确保其没有被破坏并且不包含不良Java代码(这是java的安全机制检测),完全没有问题后就会被动态加载到内存中,此时相当于Class对象也就被载入内存了(毕竟.class字节码文件保存的就是Class对象),同时也就可以被用来创建这个类的所有实例对象。下面通过一个简单例子来说明Class对象被加载的时机问题(例子引用自Thinking in Java): -```java -package com.zejian; - -class Candy { - static { System.out.println("Loading Candy"); } -} - -class Gum { - static { System.out.println("Loading Gum"); } -} - -class Cookie { - static { System.out.println("Loading Cookie"); } -} - -public class SweetShop { - public static void print(Object obj) { - System.out.println(obj); - } - public static void main(String[] args) { - print("inside main"); - new Candy(); - print("After creating Candy"); - try { - Class.forName("com.zejian.Gum"); - } catch(ClassNotFoundException e) { - print("Couldn't find Gum"); - } - print("After Class.forName(\"com.zejian.Gum\")"); - new Cookie(); - print("After creating Cookie"); - } -} -``` - -在上述代码中,每个类Candy、Gum、Cookie都存在一个static语句,这个语句会在类第一次被加载时执行,这个语句的作用就是告诉我们该类在什么时候被加载,执行结果: - -``` -inside main -Loading Candy -After creating Candy -Loading Gum -After Class.forName("com.zejian.Gum") -Loading Cookie -After creating Cookie - -Process finished with exit code 0 -``` - -从结果来看,new一个Candy对象和Cookie对象,构造函数将被调用,属于静态方法的引用,Candy类的Class对象和Cookie的Class对象肯定会被加载,毕竟Candy实例对象的创建依据其Class对象。比较有意思的是 -```java -Class.forName("com.zejian.Gum"); -``` - -其中forName方法是Class类的一个static成员方法,记住所有的Class对象都源于这个Class类,因此Class类中定义的方法将适应所有Class对象。这里通过forName方法,我们可以获取到Gum类对应的Class对象引用。从打印结果来看,调用forName方法将会导致Gum类被加载(前提是Gum类从来没有被加载过)。 - -### Class.forName方法 -通过上述的案例,我们也就知道Class.forName()方法的调用将会返回一个对应类的Class对象,因此如果我们想获取一个类的运行时类型信息并加以使用时,可以调用Class.forName()方法获取Class对象的引用,这样做的好处是无需通过持有该类的实例对象引用而去获取Class对象,如下的第2种方式是通过一个实例对象获取一个类的Class对象,其中的getClass()是从顶级类Object继承而来的,它将返回表示该对象的实际类型的Class对象引用。 - -```java -public static void main(String[] args) { - - try{ - //通过Class.forName获取Gum类的Class对象 - Class clazz=Class.forName("com.zejian.Gum"); - System.out.println("forName=clazz:"+clazz.getName()); - }catch (ClassNotFoundException e){ - e.printStackTrace(); - } - - //通过实例对象获取Gum的Class对象 - Gum gum = new Gum(); - Class clazz2=gum.getClass(); - System.out.println("new=clazz2:"+clazz2.getName()); - - } -``` -注意调用forName方法时需要捕获一个名称为ClassNotFoundException的异常,因为forName方法在编译器是无法检测到其传递的字符串对应的类是否存在的,只能在程序运行时进行检查,如果不存在就会抛出ClassNotFoundException异常。 - -### Class字面常量 -在Java中存在另一种方式来生成Class对象的引用,它就是Class字面常量,如下: - -```java -//字面常量的方式获取Class对象 -Class clazz = Gum.class; -``` - -这种方式相对前面两种方法更加简单,更安全。因为它在编译器就会受到编译器的检查同时由于无需调用forName方法效率也会更高,因为通过字面量的方法获取Class对象的引用不会自动初始化该类。更加有趣的是字面常量的获取Class对象引用方式不仅可以应用于普通的类,也可以应用用接口,数组以及基本数据类型,这点在反射技术应用传递参数时很有帮助,关于反射技术稍后会分析,由于基本数据类型还有对应的基本包装类型,其包装类型有一个标准字段TYPE,而这个TYPE就是一个引用,指向基本数据类型的Class对象,其等价转换如下,一般情况下更倾向使用.class的形式,这样可以保持与普通类的形式统一。 -```java -boolean.class = Boolean.TYPE; -char.class = Character.TYPE; -byte.class = Byte.TYPE; -short.class = Short.TYPE; -int.class = Integer.TYPE; -long.class = Long.TYPE; -float.class = Float.TYPE; -double.class = Double.TYPE; -void.class = Void.TYPE; -``` - -前面提到过,使用字面常量的方式获取Class对象的引用不会触发类的初始化,这里我们可能需要简单了解一下类加载的过程,如下: - -1. 加载:类加载过程的一个阶段:通过一个类的完全限定查找此类字节码文件,并利用字节码文件创建一个Class对象 -1. 链接:验证字节码的安全性和完整性,准备阶段正式为静态域分配存储空间,注意此时只是分配静态成员变量的存储空间,不包含实例1. 成员变量,如果必要的话,解析这个类创建的对其他类的所有引用。 -1. 初始化:类加载最后阶段,若该类具有超类,则对其进行初始化,执行静态初始化器和静态初始化成员变量。 - -由此可知,我们获取字面常量的Class引用时,触发的应该是加载阶段,因为在这个阶段Class对象已创建完成,获取其引用并不困难,而无需触发类的最后阶段初始化。下面通过小例子来验证这个过程: - -```java -import java.util.*; - -class Initable { - //编译期静态常量 - static final int staticFinal = 47; - //非编期静态常量 - static final int staticFinal2 = - ClassInitialization.rand.nextInt(1000); - static { - System.out.println("Initializing Initable"); - } -} - -class Initable2 { - //静态成员变量 - static int staticNonFinal = 147; - static { - System.out.println("Initializing Initable2"); - } -} - -class Initable3 { - //静态成员变量 - static int staticNonFinal = 74; - static { - System.out.println("Initializing Initable3"); - } -} - -public class ClassInitialization { - public static Random rand = new Random(47); - public static void main(String[] args) throws Exception { - //字面常量获取方式获取Class对象 - Class initable = Initable.class; - System.out.println("After creating Initable ref"); - //不触发类初始化 - System.out.println(Initable.staticFinal); - //会触发类初始化 - System.out.println(Initable.staticFinal2); - //会触发类初始化 - System.out.println(Initable2.staticNonFinal); - //forName方法获取Class对象 - Class initable3 = Class.forName("Initable3"); - System.out.println("After creating Initable3 ref"); - System.out.println(Initable3.staticNonFinal); - } -} -``` -执行结果: - -``` -After creating Initable ref -47 -Initializing Initable -258 -Initializing Initable2 -147 -Initializing Initable3 -After creating Initable3 ref -74 -``` - -从输出结果来看,可以发现,通过字面常量获取方式获取Initable类的Class对象并没有触发Initable类的初始化,这点也验证了前面的分析,同时发现调用Initable.staticFinal变量时也没有触发初始化,这是因为staticFinal属于编译期静态常量,在编译阶段通过常量传播优化的方式将Initable类的常量staticFinal存储到了一个称为NotInitialization类的常量池中,在以后对Initable类常量staticFinal的引用实际都转化为对NotInitialization类对自身常量池的引用,所以在编译期后,对编译期常量的引用都将在NotInitialization类的常量池获取,这也就是引用编译期静态常量不会触发Initable类初始化的重要原因。但在之后调用了Initable.staticFinal2变量后就触发了Initable类的初始化,注意staticFinal2虽然被static和final修饰,但其值在编译期并不能确定,因此staticFinal2并不是编译期常量,使用该变量必须先初始化Initable类。Initable2和Initable3类中都是静态成员变量并非编译期常量,引用都会触发初始化。至于forName方法获取Class对象,肯定会触发初始化,这点在前面已分析过。到这几种获取Class对象的方式也都分析完,ok~,到此这里可以得出小结论: - -- 获取Class对象引用的方式3种,通过继承自Object类的getClass方法,Class类的静态方法forName以及字面常量的方式”.class”。 -- 其中实例类的getClass方法和Class类的静态方法forName都将会触发类的初始化阶段,而字面常量获取Class对象的方式则不会触发初始化。 -- 初始化是类加载的最后一个阶段,也就是说完成这个阶段后类也就加载到内存中(Class对象在加载阶段已被创建),此时可以对类进行各种必要的操作了(如new对象,调用静态成员等),注意在这个阶段,才真正开始执行类中定义的Java程序代码或者字节码。 - -1. 关于类加载的初始化阶段,在虚拟机规范严格规定了有且只有5种场景必须对类进行初始化: -1. 使用new关键字实例化对象时、读取或者设置一个类的静态字段(不包含编译期常量)以及调用静态方法的时候,必须触发类加载的初始化过程(类加载过程最终阶段)。 -1. 使用反射包(java.lang.reflect)的方法对类进行反射调用时,如果类还没有被初始化,则需先进行初始化,这点对反射很重要。 -1. 当初始化一个类的时候,如果其父类还没进行初始化则需先触发其父类的初始化。 -1. 当Java虚拟机启动时,用户需要指定一个要执行的主类(包含main方法的类),虚拟机会先初始化这个主类 - -当使用JDK 1.7 的动态语言支持时,如果一个java.lang.invoke.MethodHandle 实例最后解析结果为REF_getStatic、REF_putStatic、REF_invokeStatic的方法句柄,并且这个方法句柄对应类没有初始化时,必须触发其初始化(这点看不懂就算了,这是1.7的新增的动态语言支持,其关键特征是它的类型检查的主体过程是在运行期而不是编译期进行的,这是一个比较大点的话题,这里暂且打住) - -### 理解泛化的Class对象引用 -由于Class的引用总数指向某个类的Class对象,利用Class对象可以创建实例类,这也就足以说明Class对象的引用指向的对象确切的类型。在Java SE5引入泛型后,使用我们可以利用泛型来表示Class对象更具体的类型,即使在运行期间会被擦除,但编译期足以确保我们使用正确的对象类型。如下: - -```java -/** - * Created by zejian on 2017/4/30. - * Blog : http://blog.csdn.net/javazejian [原文地址,请尊重原创] - */ -public class ClazzDemo { - - public static void main(String[] args){ - //没有泛型 - Class intClass = int.class; - - //带泛型的Class对象 - Class integerClass = int.class; - - integerClass = Integer.class; - - //没有泛型的约束,可以随意赋值 - intClass= double.class; - - //编译期错误,无法编译通过 - //integerClass = double.class - } -} -``` - -从代码可以看出,声明普通的Class对象,在编译器并不会检查Class对象的确切类型是否符合要求,如果存在错误只有在运行时才得以暴露出来。但是通过泛型声明指明类型的Class对象,编译器在编译期将对带泛型的类进行额外的类型检查,确保在编译期就能保证类型的正确性,实际上Integer.class就是一个```Class```类的对象。面对下述语句,确实可能令人困惑,但该语句确实是无法编译通过的。 -```java -//编译无法通过 -Class numberClass=Integer.class; -``` - -我们或许会想Integer不就是Number的子类吗?然而事实并非这般简单,毕竟Integer的Class对象并非Number的Class对象的子类,前面提到过,所有的Class对象都只来源于Class类,看来事实确实如此。当然我们可以利用通配符“?”来解决问题: -```java -Class intClass = int.class; -intClass = double.class; -``` - -这样的语句并没有什么问题,毕竟通配符指明所有类型都适用,那么为什么不直接使用Class还要使用```Class```呢?这样做的好处是告诉编译器,我们是确实是采用任意类型的泛型,而非忘记使用泛型约束,因此```Class```总是优于直接使用Class,至少前者在编译器检查时不会产生警告信息。当然我们还可以使用extends关键字告诉编译器接收某个类型的子类,如解决前面Number与Integer的问题: -```java -//编译通过! -Class clazz = Integer.class; -//赋予其他类型 -clazz = double.class; -clazz = Number.class; -``` - -上述的代码是行得通的,extends关键字的作用是告诉编译器,只要是Number的子类都可以赋值。这点与前面直接使用Class是不一样的。实际上,应该时刻记住向Class引用添加泛型约束仅仅是为了提供编译期类型的检查从而避免将错误延续到运行时期。 - -### 关于类型转换的问题 -在许多需要强制类型转换的场景,我们更多的做法是直接强制转换类型: - -```java -package com.zejian; - -/** - * Created by zejian on 2017/4/30. - * Blog : http://blog.csdn.net/javazejian [原文地址,请尊重原创] - */ -public class ClassCast { - - public void cast(){ - - Animal animal= new Dog(); - //强制转换 - Dog dog = (Dog) animal; - } -} - -interface Animal{ } - -class Dog implements Animal{ } -``` - -之所可以强制转换,这得归功于RRTI,要知道在Java中,所有类型转换都是在运行时进行正确性检查的,利用RRTI进行判断类型是否正确从而确保强制转换的完成,如果类型转换失败,将会抛出类型转换异常。除了强制转换外,在Java SE5中新增一种使用Class对象进行类型转换的方式,如下: - -```java -Animal animal= new Dog(); -//这两句等同于Dog dog = (Dog) animal; -Class dogType = Dog.class; -Dog dog = dogType.cast(animal) -``` - -利用Class对象的cast方法,其参数接收一个参数对象并将其转换为Class引用的类型。这种方式似乎比之前的强制转换更麻烦些,确实如此,而且当类型不能正确转换时,仍然会抛出ClassCastException异常。源码如下: - -```java -public T cast(Object obj) { - if (obj != null && !isInstance(obj)) - throw new ClassCastException(cannotCastMsg(obj)); - return (T) obj; - } -``` - -### instanceof 关键字与isInstance方法 -关于instanceof 关键字,它返回一个boolean类型的值,意在告诉我们对象是不是某个特定的类型实例。如下,在强制转换前利用instanceof检测obj是不是Animal类型的实例对象,如果返回true再进行类型转换,这样可以避免抛出类型转换的异常(ClassCastException) -```java -public void cast2(Object obj){ - if(obj instanceof Animal){ - Animal animal= (Animal) obj; - } -} -``` - -而isInstance方法则是Class类中的一个Native方法,也是用于判断对象类型的,看个简单例子: -```java - -public void cast2(Object obj){ - //instanceof关键字 - if(obj instanceof Animal){ - Animal animal= (Animal) obj; - } - - //isInstance方法 - if(Animal.class.isInstance(obj)){ - Animal animal= (Animal) obj; - } - } -``` - -事实上instanceOf 与isInstance方法产生的结果是相同的。对于instanceOf是关键字只被用于对象引用变量,检查左边对象是不是右边类或接口的实例化。如果被测对象是null值,则测试结果总是false。一般形式: -```java -//判断这个对象是不是这种类型 -obj.instanceof(class) -``` -而isInstance方法则是Class类的Native方法,其中obj是被测试的对象或者变量,如果obj是调用这个方法的class或接口的实例,则返回true。如果被检测的对象是null或者基本类型,那么返回值是false;一般形式如下: -```java -//判断这个对象能不能被转化为这个类 -class.inInstance(obj) -``` - -最后这里给出一个简单实例,验证isInstance方法与instanceof等价性: - -```java -class A {} - -class B extends A {} - -public class C { - static void test(Object x) { - print("Testing x of type " + x.getClass()); - print("x instanceof A " + (x instanceof A)); - print("x instanceof B "+ (x instanceof B)); - print("A.isInstance(x) "+ A.class.isInstance(x)); - print("B.isInstance(x) " + - B.class.isInstance(x)); - print("x.getClass() == A.class " + - (x.getClass() == A.class)); - print("x.getClass() == B.class " + - (x.getClass() == B.class)); - print("x.getClass().equals(A.class)) "+ - (x.getClass().equals(A.class))); - print("x.getClass().equals(B.class)) " + - (x.getClass().equals(B.class))); - } - public static void main(String[] args) { - test(new A()); - test(new B()); - } -} -``` - -执行结果: -``` -Testing x of type class com.zejian.A -x instanceof A true -x instanceof B false //父类不一定是子类的某个类型 -A.isInstance(x) true -B.isInstance(x) false -x.getClass() == A.class true -x.getClass() == B.class false -x.getClass().equals(A.class)) true -x.getClass().equals(B.class)) false ---------------------------------------------- -Testing x of type class com.zejian.B -x instanceof A true -x instanceof B true -A.isInstance(x) true -B.isInstance(x) true -x.getClass() == A.class false -x.getClass() == B.class true -x.getClass().equals(A.class)) false -x.getClass().equals(B.class)) true -``` From c15e9e8ad9e59bef47a6d41da23b7b8de0c76e1e Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 7 Aug 2022 15:24:25 +0800 Subject: [PATCH 022/318] add logbook --- ...57\346\234\200\351\225\277\351\223\276.md" | 113 +++++++++++++++++- 1 file changed, 112 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" "b/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" index ef8542a893..bf11bf4ba2 100644 --- "a/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" +++ "b/_posts/Tech/Algorithms/2022-07-31-\346\234\200\345\244\247\347\216\257\346\234\200\351\225\277\351\223\276.md" @@ -9,6 +9,117 @@ tags: Algorithms https://www.cnblogs.com/lfri/p/15758120.html +针对的是出度为1的图,否则会多环重合。 -todo + +## 最大环 + +### 有向图 + +有多种方法: + +- 一种是先用拓扑排序将外链去掉,再dfs每一个环 +- DFS: 另一种是从某一点出发,记录途径的点,如果遇到已经访问过的点,说明找到了环的入口。减去起始点到入口的距离,就是环的长度。 +- 还有一种有并查集,对于`x->y`,如果`x`和`y`同属于一个集合,说明形成了一个环。 + + + +dfs代码 + +```python +class Solution: + def longestCycle(self, edges: List[int]) -> int: + n = len(edges) + vis = collections.defaultdict(bool) + ans = -1 + for i in range(n): + if vis[i]: continue + path = [] + cur = i + while not vis[cur]: + vis[cur] = True + path.append(cur) + cur = edges[cur] + if cur == -1: break + if cur == -1: continue + for j in range(len(path)): + if path[j] == cur: + t = len(path) - j + ans = max(ans, t) + break + return ans +``` + +### 无向图 + +和有向图类似,略 + +## 最长链 + +等价问题: [310. 最小高度树](https://leetcode.cn/problems/minimum-height-trees/) + +### 有向图 + +这里有一个很重要的问题,有环怎么办? +有环的情况下,求最长链是没有意义的。要么保证无环,要么是求连接到环上的链的长度。 +例如求连接到环上的链的长度,需要从入度为0的节点开始,递推计算,于是采用拓扑序。 + + + +```c++ +int TopologicalSort(vector& favorite) { + int n = favorite.size(); + vector vis(n, false); + vectorin(n, 0); + vectordp(n, 1); + queue q; + for(int i = 0;i < n;i++) in[favorite[i]]++; + for(int i = 0;i < n;i++) { + if(in[i] == 0) q.push(i); + } + while(!q.empty()) { + int cur = q.front(); + q.pop(); + // cout << cur << " "; + dp[favorite[cur]] = max(dp[favorite[cur]], dp[cur] + 1); + if(--in[favorite[cur]] == 0) q.push(favorite[cur]); + } + // dp[i] 表示到达i的最长链的长度 + int two_point_sum = 0; // 题目相关部分 + for(int i = 0;i < n;i++) { + if(i == favorite[favorite[i]]) two_point_sum += dp[i]; + } + return two_point_sum; +} +``` + +### 无向无环图 + +- 也可以和有向图一样,拓扑序+dp +- 还有一种有趣的方法,两次dfs。可以证明,从任一点出发,dfs能走到的最远点一定是"直径"的一个端点,然后从这个端点出发,dfs得到另一个端点。 参考下面【路径最长的两个叶子节点】 + +例如[Leetcode310最小树高度](https://leetcode.cn/problems/minimum-height-trees/solution/zui-xiao-gao-du-shu-by-leetcode-solution-6v6f/),等价于求树的直径 +第一次dfs找到一个端点,再从这个端点出发dfs找到另一个端点,最后在写个dfs得到路径 + + + +### DFS/BFS 求最长链 + +> [参考](https://leetcode.cn/problems/minimum-height-trees/solution/zui-xiao-gao-du-shu-by-leetcode-solution-6v6f/) + +可以利用以下算法找到图中距离最远的两个节点与它们之间的路径: + +以任意节点 pp 出现,利用广度优先搜索或者深度优先搜索找到以 pp 为起点的最长路径的终点 xx; + +以节点 xx 出发,找到以 xx 为起点的最长路径的终点 yy; + +xx 到 yy 之间的路径即为图中的最长路径,找到路径的中间节点即为根节点。 + +上述算法的证明可以参考「[算法导论习题解答 9-1](http://courses.csail.mit.edu/6.046/fall01/handouts/ps9sol.pdf)」。 + + + +## 参考 + +- [图的最大环最长链](https://www.cnblogs.com/lfri/p/15758120.html) From 7987ad0e8f39e3a420bff48c906588a215ef9d44 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 7 Aug 2022 21:31:25 +0800 Subject: [PATCH 023/318] add logbook --- ...-@NotNull @NonNull\345\222\214@Nonnull.md" | 42 +++++++++++++++++++ _posts/Tech/Java/2022-08-07-java Lombok.md | 12 ++++++ 2 files changed, 54 insertions(+) create mode 100644 "_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" create mode 100644 _posts/Tech/Java/2022-08-07-java Lombok.md diff --git "a/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" "b/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" new file mode 100644 index 0000000000..851b9bf5bd --- /dev/null +++ "b/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" @@ -0,0 +1,42 @@ +--- +layout: post +category: Java +title: @NotNull @NonNull和@Nonnull +tags: Java +--- + +## @NotNull @NonNull和@Nonnull + + + +[参考](https://github.com/giantray/stackoverflow-java-top-qa/blob/master/contents/which-notnull-java-annotation-should-i-use.md) + + + +看着懵逼吧 + + + +lombok.NonNull + +``` +适用Lombok项目中代码生成器。不是一个标准的占位符注解. +``` + +会生成检查是否为空的code, 如果为空就抛出NPE异常。 + + + +javax.annotation.Nonnull + +``` +只适用FindBugs,JSR-305不适用 +``` + +一个占位符,不生成code,但是代码分析里可以用到,如果是可空然后又直接引用属性,会发现这样。 + +其中@Nullable也是这样的,只是一个占位符,不生成code。 + + + +NotNull倒没用过这个注解。 diff --git a/_posts/Tech/Java/2022-08-07-java Lombok.md b/_posts/Tech/Java/2022-08-07-java Lombok.md new file mode 100644 index 0000000000..320af03505 --- /dev/null +++ b/_posts/Tech/Java/2022-08-07-java Lombok.md @@ -0,0 +1,12 @@ +--- +layout: post +category: Java +title: java Lombok +tags: Java +--- + +## java Lombok + + + +[参考](https://juejin.cn/post/6844903557016076302) From 1da3f49ae973f270535fda99859ade4db7d11a45 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 12 Aug 2022 21:32:16 +0800 Subject: [PATCH 024/318] add logbook --- ...63\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) rename "_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" => "_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" (92%) diff --git "a/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" "b/_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" similarity index 92% rename from "_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" rename to "_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" index 851b9bf5bd..54972a97a9 100644 --- "a/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" +++ "b/_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" @@ -1,7 +1,7 @@ --- layout: post category: Java -title: @NotNull @NonNull和@Nonnull +title: 注解NotNull NonNull和Nonnull tags: Java --- @@ -13,10 +13,6 @@ tags: Java -看着懵逼吧 - - - lombok.NonNull ``` From a01e707869eb5de435d4c2cd05fc5977a6a8be0b Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 12 Aug 2022 21:32:16 +0800 Subject: [PATCH 025/318] add logbook 1 --- ...63\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) rename "_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" => "_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" (92%) diff --git "a/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" "b/_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" similarity index 92% rename from "_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" rename to "_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" index 851b9bf5bd..54972a97a9 100644 --- "a/_posts/Tech/Java/2022-08-07-@NotNull @NonNull\345\222\214@Nonnull.md" +++ "b/_posts/Tech/Java/2022-08-07-\346\263\250\350\247\243NotNull NonNull\345\222\214Nonnull.md" @@ -1,7 +1,7 @@ --- layout: post category: Java -title: @NotNull @NonNull和@Nonnull +title: 注解NotNull NonNull和Nonnull tags: Java --- @@ -13,10 +13,6 @@ tags: Java -看着懵逼吧 - - - lombok.NonNull ``` From a024e6886c13f564feda8af3952ef7c0c5834e43 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 14 Aug 2022 02:11:24 +0800 Subject: [PATCH 026/318] add logbook --- ...21\351\237\263\350\247\204\345\210\231.md" | 148 +++++++++++++++++- ...1\351\237\263-\351\237\263\346\240\207.md" | 35 ++++- 2 files changed, 174 insertions(+), 9 deletions(-) diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" index de6ee8681a..a564fd971c 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" @@ -185,6 +185,150 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 -# 100个最常见的英语单词发音 +## 100个最常见的英语单词发音 -[参考](https://www.zhihu.com/zvideo/1390373231258382336) , 包含了常见单词的弱读,比如him, to, do, of等。 +> [参考](https://www.zhihu.com/zvideo/1390373231258382336) , 包含了常见单词的弱读,比如him, to, do, of等。 + +笔记 + +1期: + +- the: the发音后面的/ə/ 当the后面接元音时可变成/i/ +- I am: I'm 有时只有一个音/m/, I'm sorry / m_ 'sorry/ +- you are: yer. +- It is: /its/ 有时可省略元音 /ts/ ts cool +- we are: /wər/ +- they are: /ðər/ +- to: tə, go to时, t变d +- Of: /əv/ 在kind of, sort of里省略/v/, kanda +- and: no /d/ or just /n/, ex: And I +- a, an, that: 正常schewa就行 + +1期: + +- + +1期: + +- + +1期: + +- + +1期: + +- + +1期: + +- + +1期: + +- + +1期: + +- + +10期下: + +- give是实词,但give me时弱读, give me that: gimme 省略v +- us: əs + + + + + +## /t/发音 + +[参考](https://rachelsenglish.com/podcast/004-t-pronunciations-flap-t-stop-t-true-t/) + +### True T + +开头或者重音节,或者后面接r。 + +- True T Rule 1: At the beginning of a word + - Exception #1: in the TR cluster (train, try) – then it can sound like a CH + - Exception #2: the words to, today, tomorrow. These may begin with a Flap T. +- True T Rule 2: At the beginning of a stressed syllable (attain, until). This includes secondary stress. In a dictionary, secondary stress is marked with this: ˌ Primary stress is marked with this: ˈ + - Exception: when it’s followed by R (attribute, attract) + +### stop T + +- How to make a Stop sound: Stop T vs. No T: Buy vs. bite +- Stop T Rule 1: When the T is followed by a consonant sound (definitely, bluntly) 后面接辅音 + - Exception: when the sound before the T is an R. Then it’s a Stop T (partly) : r+t+辅音 ,t不变 +- Stop T Rule 2: Make the T a Stop T when it’s the last sound in a thought group. :意群结尾 + - Exception: when the T is in a cluster, then we usually pronounce it (fact, best) : + + + +如果后面 是元音或者双元音 或者是意群的结尾,t就发音。可能是flap T, stop T + +### Flap T + +> [参考](https://www.goalsenglish.com/lessons/flap-t-sound-american-english-accent) + +- 类似d的发音 +- 发生flap T情况 + - Flap T Rule 1: a T is a Flap T between two vowels or diphthongs (beautiful, city) 元音间 If a ‘t’ is between two vowels, whether in a word or between two words, it will be pronounced as a ‘soft d.’ + - Exception: If the T begins a stressed syllable. Then it’s a True T (attain, attack) 重音上 + - Flap T Rule 2: a T is a Flap T after an R before a vowel or diphthong (party, dirty). Applies to linked phrase: (a lot of, about it) + - Exception: if the T begins a stressed syllable. Then it’s a True T (partake) + +flap T, that是这样 + +### Drop T + +- Dropped T Rule 1: T can be dropped after N (center, internet) nt的t会省略 + - Exception: when there is a syllable split between N and T (until, intense) +- Dropped T Rule 2: Americans often drop the T between two other consonants (exactly, perfectly). This applies to phrases where two words link (just because) + - Exception: Not when the consonant before the T is an R (partly) + + + +### 总结 + +t前面是n? drop T + +t前面是辅音? + +- 后面是辅音? drop T +- 后面是元音? stop T + +t前面是元音? + +- 后面是元音? flap T +- 后面是辅音? drop T + +t是意群结尾? Stop T + +只有两个元音间的t是d,否则stop / drop + + + +杂记: + +t+辅音里的t省略, 其实是停顿,但和省略差不多 + +nt比较特殊: nt+元的t省略, nd+辅的d省略 + +## /d/发音 + +/nd/后面接元音时,省略/d/ + + + +## 重读 + +**一般来讲我们应该重读content words, 就是有实际内容、实际意义的词**,例如:名词,实义动词,形容词,副词,数量词。名词方面,比如像mountain, history等;实义动词就是真正发出动作的词,比如像establish, jump等;形容词比如像stunning, terrifying这样的词;副词方面比如quickly, extremely等。这些词都是有实际意义的,也就是我所说的内容词,来表达句子意义的词,所以我们应该把它们做重读的处理。 + + + +**一般来讲哪些单词不重读,就是function words功能词,即那些起到语法功能作用的词,**比如像代词,介词,限定词,连词以及助动词等等,都是语法结构会运用到的词,这些词对句子的意义并不构成直接的影响。什么样的词属于限定词,比如像冠词the, a/an; some, few, my都是限定词;助动词像be动词,be, do, must这些都属于助动词;介词after, of, above, opposite, out of, on behalf of这些有介词意义的短语也包括在内。还有像连词,比如and, so, 还有代词this, him, our, you, it, 这些词在句子当中是起到语法意义的词。 + + + +总结: 重读的只有副词、名词、形容词、动词。但content words有时也不会重读,如果还有其他的重读的词的话。 diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" index 3db6572c3d..0743919a0b 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" @@ -7,6 +7,8 @@ tags: English ## 发音-音标 +### 音标分类 + 分类1 ![音标分类表1](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv1/v1/123.png) @@ -17,14 +19,14 @@ tags: English -æ : ai, such as trap. - - +### BBC经典发音教程 [可学习的bilibili视频: BBC经典发音教程](https://www.bilibili.com/video/BV1Y4411M7Ac?p=2) +### 音标发音文字注解 + 元音: - /ɪ/ 舌抵下齿,双唇扁平分开,牙床近于全舌,发短促之“一”音。 是字母i或y在单词中的发音,发此音要短促而轻快。 **bit, hit, minute/minit/** @@ -84,6 +86,8 @@ tags: English +### 音标区分 + **长元音和短元音区别:不是长短,是松和紧。松元音只动舌头和声带,不动嘴唇。** **双元音和单元音区别:[e]是单元音,发声短促:dead [ded] , [ai]是双元音,有从[a]到[i]的一个过渡过程:die [dai] (双元音过渡在汉语里是没有的)** @@ -92,11 +96,22 @@ tags: English 常见区别: -- [辅音/m/、/n/与/ŋ/](https://www.bilibili.com/video/BV1Ae41147Ng/?spm_id_from=trigger_reload) -- [/æ/ 和 /e/](/æ/ 和 /e/) -- [/u:/和/u/](/u:/和/u/) +- [辅音/m/、/n/与/ŋ/](https://www.bilibili.com/video/BV1Ae41147Ng/?spm_id_from=trigger_reload) m是闭口,n嘴唇微张但牙齿闭合,最后那个是中度张嘴。 +- [/æ/ 和 /e/](https://www.bilibili.com/video/BV1o7411M7cV?spm_id_from=333.999.0.0&vd_source=4c51dba622ffb91bed5205311847907b) ae和/e/的区别,前者两指宽,像绵羊叫,后者一指宽。 +- [双元音/aɪ/与 单元音/æ/](https://www.bilibili.com/video/BV1xg4y187CT?spm_id_from=333.999.0.0&vd_source=4c51dba622ffb91bed5205311847907b) 前者双元音后者单元音 但语速快了就无法区分了 +- [/u:/和/u/](https://www.bilibili.com/video/BV1d7411M7i1?spm_id_from=333.999.0.0) - [清辅音θ与s](https://www.bilibili.com/video/BV1X7411S7V8?spm_id_from=333.337.search-card.all.click) + + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202208131030725.jpg) + +注意: 红色是汉语拼音,黄色是美国英语。 + + + +这有两一个看和听发音的[网站](https://tfcs.baruch.cuny.edu/consonants-vowels/) + ## 音节 **音节组成: [辅音]+元音+[辅音]** @@ -241,4 +256,10 @@ z [ z ] -![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20220112133608.jpg) \ No newline at end of file +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20220112133608.jpg) + + + +## 常见单词音标 + +who when where why what whom which \ No newline at end of file From 1a74c73105567405c6286f8aa06f9d5136dc20ee Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 14 Aug 2022 02:21:02 +0800 Subject: [PATCH 027/318] add logbook --- ...21\351\237\263\350\247\204\345\210\231.md" | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" index a564fd971c..f4317817c1 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" @@ -191,6 +191,12 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 笔记 + + +正常schewa就行 + +- a,an,that, for, as( he's as tall as me), do, at + 1期: - the: the发音后面的/ə/ 当the后面接元音时可变成/i/ @@ -202,21 +208,22 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 - to: tə, go to时, t变d - Of: /əv/ 在kind of, sort of里省略/v/, kanda - and: no /d/ or just /n/, ex: And I -- a, an, that: 正常schewa就行 -1期: +2期: -- +- With: 后面轻音化, /θ/ +- he, him, 省略/h/, ex: what does he want +- You: /jə/ -1期: +3期: - -1期: +4期: - -1期: +期: - @@ -278,7 +285,9 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 - Flap T Rule 2: a T is a Flap T after an R before a vowel or diphthong (party, dirty). Applies to linked phrase: (a lot of, about it) - Exception: if the T begins a stressed syllable. Then it’s a True T (partake) -flap T, that是这样 +例子 + +- it always ### Drop T @@ -287,7 +296,9 @@ flap T, that是这样 - Dropped T Rule 2: Americans often drop the T between two other consonants (exactly, perfectly). This applies to phrases where two words link (just because) - Exception: Not when the consonant before the T is an R (partly) +例子 +- shouldn't, didn't,won't ### 总结 From 0bfc9410690184b28cc25e1a8f5b8d3f69cee11c Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 18 Aug 2022 22:36:06 +0800 Subject: [PATCH 028/318] add logbook --- ...21\351\237\263\350\247\204\345\210\231.md" | 53 +++++++++++++++++-- ...22-08-16-scala\350\257\255\346\263\225.md" | 12 +++++ 2 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 "_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" index f4317817c1..43e07ef8ba 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" @@ -193,9 +193,13 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 -正常schewa就行 +正常schewa: -- a,an,that, for, as( he's as tall as me), do, at +- a,an,that, for, as( he's as tall as me), do, at, but, from, or, an, one, should, could + +不弱读的: + +- This, by, they, we, say, 1期: @@ -262,7 +266,7 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 - True T Rule 2: At the beginning of a stressed syllable (attain, until). This includes secondary stress. In a dictionary, secondary stress is marked with this: ˌ Primary stress is marked with this: ˈ - Exception: when it’s followed by R (attribute, attract) -### stop T +### Stop T - How to make a Stop sound: Stop T vs. No T: Buy vs. bite - Stop T Rule 1: When the T is followed by a consonant sound (definitely, bluntly) 后面接辅音 @@ -332,7 +336,9 @@ nt比较特殊: nt+元的t省略, nd+辅的d省略 -## 重读 +## 重读和弱读 + +### 重读 **一般来讲我们应该重读content words, 就是有实际内容、实际意义的词**,例如:名词,实义动词,形容词,副词,数量词。名词方面,比如像mountain, history等;实义动词就是真正发出动作的词,比如像establish, jump等;形容词比如像stunning, terrifying这样的词;副词方面比如quickly, extremely等。这些词都是有实际意义的,也就是我所说的内容词,来表达句子意义的词,所以我们应该把它们做重读的处理。 @@ -343,3 +349,42 @@ nt比较特殊: nt+元的t省略, nd+辅的d省略 总结: 重读的只有副词、名词、形容词、动词。但content words有时也不会重读,如果还有其他的重读的词的话。 + + + +### 弱读 + +1、重读的单词不会出现弱读现象,要读的响亮 + +这些词一般是表示句子含义的词,如名词,动词,副词,形容词 (today 今天, apple 苹果) + + + +2、非重读的部分的单词要读轻 + +这些词一般起到语法功能,如介词、连词、助动词等 (and 和, but但是,for为了) + + + + + +弱读现象存在于句子的非重读单词部分 + +对于句子非重读部分的单词 + +1、如果有弱读发音,就可以进行弱读 + +2、如果没有弱读发音,发本来的音即可 + + + +不能弱读情况 + +1、句子最后一个单词不能弱读 + +2、特意强调的单词不能弱读,要重读 + + + +## 英音美音区别 + diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" new file mode 100644 index 0000000000..98fed7a9ca --- /dev/null +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -0,0 +1,12 @@ +--- +layout: post +category: Scala +title: scala语法 +tags: Scala +--- + +## scala语法 + + + +## return From cb525a4bc55fecb4f0d90fc5f88cd67e28d5a760 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 18 Aug 2022 22:42:50 +0800 Subject: [PATCH 029/318] add logbook --- ...00\345\260\217\346\225\260\345\255\227.md" | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-08-18-2375. \346\240\271\346\215\256\346\250\241\345\274\217\344\270\262\346\236\204\351\200\240\346\234\200\345\260\217\346\225\260\345\255\227.md" diff --git "a/_posts/Algorithms/leetcode/2022-08-18-2375. \346\240\271\346\215\256\346\250\241\345\274\217\344\270\262\346\236\204\351\200\240\346\234\200\345\260\217\346\225\260\345\255\227.md" "b/_posts/Algorithms/leetcode/2022-08-18-2375. \346\240\271\346\215\256\346\250\241\345\274\217\344\270\262\346\236\204\351\200\240\346\234\200\345\260\217\346\225\260\345\255\227.md" new file mode 100644 index 0000000000..d918b09610 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-08-18-2375. \346\240\271\346\215\256\346\250\241\345\274\217\344\270\262\346\236\204\351\200\240\346\234\200\345\260\217\346\225\260\345\255\227.md" @@ -0,0 +1,79 @@ +--- +layout: post +category: leetcode +title: 2375. 根据模式串构造最小数字 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/construct-smallest-number-from-di-string/) + +给你下标从 **0** 开始、长度为 `n` 的字符串 `pattern` ,它包含两种字符,`'I'` 表示 **上升** ,`'D'` 表示 **下降** 。 + +你需要构造一个下标从 **0** 开始长度为 `n + 1` 的字符串,且它要满足以下条件: + +- `num` 包含数字 `'1'` 到 `'9'` ,其中每个数字 **至多** 使用一次。 +- 如果 `pattern[i] == 'I'` ,那么 `num[i] < num[i + 1]` 。 +- 如果 `pattern[i] == 'D'` ,那么 `num[i] > num[i + 1]` 。 + +请你返回满足上述条件字典序 **最小** 的字符串 `num`。 + + + +**示例 1:** + +``` +输入:pattern = "IIIDIDDD" +输出:"123549876" +解释: +下标 0 ,1 ,2 和 4 处,我们需要使 num[i] < num[i+1] 。 +下标 3 ,5 ,6 和 7 处,我们需要使 num[i] > num[i+1] 。 +一些可能的 num 的值为 "245639871" ,"135749862" 和 "123849765" 。 +"123549876" 是满足条件最小的数字。 +注意,"123414321" 不是可行解因为数字 '1' 使用次数超过 1 次。 +``` + +**示例 2:** + +``` +输入:pattern = "DDD" +输出:"4321" +解释: +一些可能的 num 的值为 "9876" ,"7321" 和 "8742" 。 +"4321" 是满足条件最小的数字。 +``` + + + +**提示:** + +- `1 <= pattern.length <= 8` +- `pattern` 只包含字符 `'I'` 和 `'D'` 。 + + +## solution + +```python +''' +贪心: 数字其实就是123456789,遇到连续的D,就将连续的数字reverse, 其实就是找连续的I,连续的D,然后分段。 +''' +class Solution: + def smallestNumber(self, pattern: str) -> str: + n = len(pattern) + i = 0 + ans = [] + while i < n: + if i and pattern[i] == "I": + i += 1 + while i < n and pattern[i] == "I": + i += 1 + ans.append(i) + i0 = i + while i < n and pattern[i] == "D": + i += 1 + for x in range(i + 1, i0, -1): + ans.append(x) + return "".join(map(str, ans)) + +``` + From 036c0bf811cffdac29dc8772de517c48b6fb645a Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 19 Aug 2022 21:40:59 +0800 Subject: [PATCH 030/318] add logbook --- .../2022-08-19-\346\225\260\344\275\215DP.md" | 91 +++++++++++++++++++ ...351\205\215KMP\347\256\227\346\263\225.md" | 4 + 2 files changed, 95 insertions(+) create mode 100644 "_posts/Tech/Algorithms/2022-08-19-\346\225\260\344\275\215DP.md" diff --git "a/_posts/Tech/Algorithms/2022-08-19-\346\225\260\344\275\215DP.md" "b/_posts/Tech/Algorithms/2022-08-19-\346\225\260\344\275\215DP.md" new file mode 100644 index 0000000000..ffdd366c48 --- /dev/null +++ "b/_posts/Tech/Algorithms/2022-08-19-\346\225\260\344\275\215DP.md" @@ -0,0 +1,91 @@ +--- +layout: post +category: Algorithms +title: 数位DP +tags: Algorithms +--- + +## 数位DP + +数位:把一个数字按照个、十、百、千等等一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制。 + +数位 DP:用来解决一类特定问题,这种问题比较好辨认,一般具有这几个特征: + +1. 要求统计满足一定条件的数的数量(即,最终目的为计数); +2. 这些条件经过转化后可以使用「数位」的思想去理解和判断; +3. 输入会提供一个数字区间(有时也只提供上界)来作为统计的限制; +4. 上界很大(比如 ),暴力枚举验证会超时。 + + + +比如统计[a,b] 之间的满足某个条件的数,这个b可能是1e15这样。 注定无法枚举。此类就可以数位DP, 然后a到b形式也可以变成f(b) -f(a)差分来统一处理。记得a这个本身单个可能要额外减去。 + +## 模板 + +1. 记忆化搜索 +2. 关键参数: 数位i, 用过数字mask, is_limit是否是受限,is_num前面是否填了数字.后面两个参数可适用于其它数位 DP 题目。 + +该模板对应[视频](https://www.bilibili.com/video/BV1rS4y1s721?vd_source=9d3646ab1738010f91f766880db9c1c6) + +题目: [2376. 统计特殊整数](https://leetcode.cn/problems/count-special-integers/) + +> 如果一个正整数每一个数位都是 **互不相同** 的,我们称它是 **特殊整数** 。 +> +> 给你一个 **正** 整数 `n` ,请你返回区间 `[1, n]` 之间特殊整数的数目。 + +```python +class Solution: + def countSpecialNumbers(self, n: int) -> int: + # 数位dp + s = str(n) + import functools + ''' + 记忆化搜索,i表示计算数位i, mark表示用过的数字 + 返回从数位i开始填数字,前面填数字的集合为mask, 能构造出整数的数量 + is_limit表示是否前i-1位是s对应位上的,即最大受限值max了,如果是则当前数字上线是s[i],而不是'9' + is_num表示前面是否填了数字,如果为True,则当前可从0开始,否则只能从1开始,后续会有个数位变成True, 从该数位开始是真实数字 + ''' + @functools.lru_cache(None) + def f(i: int, mask: int, is_limit: bool, is_num: bool): + if i == len(s): + # 最后一位了,合法则return 1 + return int(is_num) + res = 0 + if not is_num: + # 此时已经有前缀0了,因此不受限 + res += f(i + 1, mask, False, False) + # 数位i的上限 + up = int(s[i]) if is_limit else 9 + # 如果是is_num, 则可以从0开始,否则只能从1开始,毕竟是第一位数字 + for d in range(1 - int(is_num), up + 1): + if (mask >> d) & 1 == 0: + # 没用过该数字 + res += f(i + 1, mask | (1 << d), is_limit and d == up, True) + return res + + # 第一位就受限,因此is_limit = True + return f(0, 0, True, False) + +``` + +## 应用 + +- [902. 最大为 N 的数字组合](https://leetcode.cn/problems/numbers-at-most-n-given-digit-set/) 求1-N的使用了digits里数字的数量,没有0, f(i: int, is_limit: bool, is_num: bool) + +- [233. 数字 1 的个数](https://leetcode.cn/problems/number-of-digit-one/) 给定一个整数 `n`,计算所有小于等于 `n` 的非负整数中数字 `1` 出现的个数。def f(i: int, ones: int, is_limit: bool, is_num: bool): ones是当前已用ones的数量。 + +- [面试题 17.06. 2出现的次数](https://leetcode.cn/problems/number-of-2s-in-range-lcci/) 和数字1的个数类似。 + +- [600. 不含连续1的非负整数](https://leetcode.cn/problems/non-negative-integers-without-consecutive-ones/) 给定一个正整数 `n` ,返回范围在 `[0, n]` 都非负整数中,其二进制表示不包含 **连续的 1** 的个数。def f(i: int, last_is_one: bool, is_limit: bool) + +- [1012. 至少有 1 位重复的数字](https://leetcode.cn/problems/numbers-with-repeated-digits/) 等价为n-完全不重复个数 + +- [1397. 找到所有好字符串](https://leetcode.cn/problems/find-all-good-strings/) + +- 给你两个长度为 n 的字符串 s1 和 s2 ,以及一个字符串 evil 。请你返回 好字符串 的数目。好字符串 的定义为:它的长度为 n ,字典序大于等于 s1 ,字典序小于等于 s2 ,且不包含 evil 为子字符串。 难点在于要动态维护kmp,先求evil的next数组,然后把匹配j当dp参数传递下去。 + + + +## 参考 + +https://leetcode.cn/problems/count-special-integers/solution/shu-wei-dp-mo-ban-by-endlesscheng-xtgx/ diff --git "a/_posts/Tech/algorithms/2018-02-19-\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215KMP\347\256\227\346\263\225.md" "b/_posts/Tech/algorithms/2018-02-19-\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215KMP\347\256\227\346\263\225.md" index 5fad5af33a..f1117bc18c 100644 --- "a/_posts/Tech/algorithms/2018-02-19-\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215KMP\347\256\227\346\263\225.md" +++ "b/_posts/Tech/algorithms/2018-02-19-\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215KMP\347\256\227\346\263\225.md" @@ -16,6 +16,10 @@ tags: Algorithms next数组的意思就是 next[i] = len; 长度为i的数组的前缀和后缀相等的最大长度。 例如abcdabc就是 next[7] = 3; 相等的前缀和后缀最长是abc长度为3 + + +next理解: KMP中的next数组,有的也称fail失败数组,存的到底是什么。是首子串和尾子串能匹配的最大长度 + ## kmp 特意设置next[0] = -1, 因为当next[0]=0地时候会死循环,无限地j=next[j], j=0. From 0732e5ac73593c36c3dbaccdea0373af6b819c6e Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 22 Aug 2022 13:52:38 +0800 Subject: [PATCH 031/318] add logbook --- ...21\351\237\263\350\247\204\345\210\231.md" | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" index 43e07ef8ba..9ea058d29b 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\345\217\221\351\237\263\350\247\204\345\210\231.md" @@ -195,11 +195,13 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 正常schewa: -- a,an,that, for, as( he's as tall as me), do, at, but, from, or, an, one, should, could +- a,an,that, for, as( he's as tall as me), do, at, but, from, or, an, one, should, could, so, some, than 不弱读的: -- This, by, they, we, say, +- This, by, they, we, say, out, also. + +意群结尾p不发音,what's up 1期: @@ -219,29 +221,22 @@ i经常弱读为e,所以give hime读为后面的,这个经常用后面的 - he, him, 省略/h/, ex: what does he want - You: /jə/ -3期: - -- - -4期: - -- - -期: +5期: -- +- Who /u/, ex: Anyone who wants to come can come. -1期: +6期: -- +- Can /cən/ +- Him /əm/. Give him: /givem/ -1期: +7期: -- +- into /ində/. 这里的t不遵循t发音规则。 -1期: +8期下: -- +- Its: /ts/ 没有前面/i/了。 10期下: @@ -318,7 +313,7 @@ t前面是元音? - 后面是元音? flap T - 后面是辅音? drop T -t是意群结尾? Stop T +t是意群结尾? Stop T. p也类似。 只有两个元音间的t是d,否则stop / drop From e824c5838c47af54352aabbbf3bb46ab82289f15 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 22 Aug 2022 15:19:06 +0800 Subject: [PATCH 032/318] add logbook --- ...22-08-16-scala\350\257\255\346\263\225.md" | 751 +++++++++++++++++- 1 file changed, 750 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index 98fed7a9ca..117aa11ec1 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -7,6 +7,755 @@ tags: Scala ## scala语法 +## hello world +创建一个 HelloWorld.scala 的文件 + +```scala +object HelloWorld { + /* 这是我的第一个 Scala 程序 + * 以下程序将输出'Hello World!' + */ + def main(args: Array[String]) { + println("Hello, world!") // 输出 Hello World + } +} +``` + +运行 + +```scala +$ scalac HelloWorld.scala +$ ls +HelloWorld$.class HelloWorld.scala +HelloWorld.class + +运行 +$ scala HelloWorld +Hello, world! +``` + +- **类名** - 对于所有的类名的第一个字母要大写。如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。 + +- **方法名称** - 所有的方法名称的第一个字母用小写。如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。 + +- **def main(args: Array[String])** - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。 + +## Scala 包 + +### 定义包 + +Scala 使用 package 关键字定义包,在Scala将代码定义到某个包中有两种方式: + +第一种方法和 Java 一样,在文件的头定义包名,这种方法就后续所有代码都放在该包中。 比如: + +``` +package com.runoob +class HelloWorld +``` + +第二种方法有些类似 C#,如: + +``` +package com.runoob { + class HelloWorld +} +``` + +第二种方法,可以在一个文件中定义多个包。 + +### 引用 + +Scala 使用 import 关键字引用包。 + +```scala +import java.awt.Color // 引入Color + +import java.awt._ // 引入包内所有成员 + +def handler(evt: event.ActionEvent) { // java.awt.event.ActionEvent + ... // 因为引入了java.awt,所以可以省去前面的部分 +} +``` + +import语句可以出现在任何地方,而不是只能在文件顶部。import的效果从开始延伸到语句块的结束。这可以大幅减少名称冲突的可能性。 + +如果想要引入包中的几个成员,可以使用selector(选取器): + +```scala +import java.awt.{Color, Font} + +// 重命名成员 +import java.util.{HashMap => JavaHashMap} + +// 隐藏成员 +import java.util.{HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了 +``` + +> **注意:**默认情况下,Scala 总会引入 java.lang._ 、 scala._ 和 Predef._,这里也能解释,为什么以scala开头的包,在使用时都是省去scala.的。 + + + +## 数据类型 + +### 数据类型 + +和Java一致 + +| 数据类型 | 描述 | +| :------- | :----------------------------------------------------------- | +| Byte | 8位有符号补码整数。数值区间为 -128 到 127 | +| Short | 16位有符号补码整数。数值区间为 -32768 到 32767 | +| Int | 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 | +| Long | 64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807 | +| Float | 32 位, IEEE 754 标准的单精度浮点数 | +| Double | 64 位 IEEE 754 标准的双精度浮点数 | +| Char | 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF | +| String | 字符序列 | +| Boolean | true或false | +| Unit | 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。 | +| Null | null 或空引用 | +| Nothing | Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。 | +| Any | Any是所有其他类的超类 | +| AnyRef | AnyRef类是Scala里所有引用类(reference class)的基类 | + + + +### 字符字面量 + +在 Scala 字符变量使用单引号 **'** 来定义,如下: + +``` +'a' +'\u0041' +'\n' +'\t' +``` + +其中 **\** 表示转义字符,其后可以跟 **u0041** 数字或者 **\r\n** 等固定的转义字符。 + +### 字符串字面量 + +在 Scala 字符串字面量使用双引号 **"** 来定义,如下: + +``` +"Hello,\nWorld!" +"菜鸟教程官网:www.runoob.com" +``` + +## 变量声明 + +声明变量实例如下: + +```scala +var myVar : String = "Foo" +var myVar : String = "Too" +``` + +在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。 + +所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。 + +```scala +var myVar = 10; +val myVal = "Hello, Scala!"; +``` + +## 访问修饰符 + +Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。 + +如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。 + +Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。 + + + +```scala +class Outer{ + class Inner{ + private def f(){ + println("f") + } + class InnerMost{ + f() // 正确 + } + } + (new Inner).f() //错误 +} +``` + + + +## if else 循环 + +```scala +object Test { + def main(args: Array[String]) { + var x = 30; + + if( x < 20 ){ + println("x 小于 20"); + }else{ + println("x 大于等于 20"); + } + } +} +``` + + + +```scala +object Test { + def main(args: Array[String]) { + var a = 10; + // 无限循环 + while( true ){ + println( "a 的值为 : " + a ); + } + } +} +``` + +Scala 语言中默认是没有 break 语句,但是你在 Scala 2.8 版本后可以使用另外一种方式来实现 *break* 语句。当在循环中使用 **break** 语句,在执行到该语句时,就会中断循环并执行循环体之后的代码块。 + +```scala +// 导入以下包 +import scala.util.control._ + +// 创建 Breaks 对象 +val loop = new Breaks; + +// 在 breakable 中循环 +loop.breakable{ + // 循环 + for(...){ + .... + // 循环中断 + loop.break; + } +} +``` + + + +## 方法和函数 + +cala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。 + +```scala +object add{ + def addInt( a:Int, b:Int ) : Int = { + var sum:Int = 0 + sum = a + b + + return sum + } +} +``` + +如果方法没有返回值,可以返回为 **Unit**,这个类似于 Java 的 **void**, 实例如下: + +```scala +object Hello{ + def printMe( ) : Unit = { + println("Hello, Scala!") + } +} +``` + + + +### 函数传名调用(call-by-name) + +- 传名调用(call-by-name):将未计算的参数表达式直接应用到函数内部 + +在进入函数内部前,传值调用方式就已经将参数表达式的值计算完毕,而传名调用是在函数内部进行参数表达式的值计算的。 + +这就造成了一种现象,每次使用传名调用时,解释器都会计算一次表达式的值。 + +```scala +object Test { + def main(args: Array[String]) { + delayed(time()); + } + + def time() = { + println("获取时间,单位为纳秒") + System.nanoTime + } + def delayed( t: => Long ) = { + println("在 delayed 方法内") + println("参数: " + t) + t + } +} +``` + +以上实例中我们声明了 delayed 方法, 该方法在变量名和变量类型使用 => 符号来设置传名调用。执行以上代码,输出结果如下: + +``` +$ scalac Test.scala +$ scala Test +在 delayed 方法内 +获取时间,单位为纳秒 +参数: 241550840475831 +获取时间,单位为纳秒 +``` + +实例中 delay 方法打印了一条信息表示进入了该方法,接着 delay 方法打印接收到的值,最后再返回 t。 + + + + + +函数也可以传递 + +```scala +object Test { + def main(args: Array[String]) { + + println( apply( layout, 10) ) + + } + // 函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v + def apply(f: Int => String, v: Int) = f(v) + + def layout[A](x: A) = "[" + x.toString() + "]" + +} +``` + +也像python支持内嵌。 + +### 指定函数参数名 + +一般情况下函数调用参数,就按照函数定义时的参数顺序一个个传递。但是我们也可以通过指定函数参数名,并且不需要按照顺序向函数传递参数,实例如下: + +```scala +object Test { + def main(args: Array[String]) { + printInt(b=5, a=7); + } + def printInt( a:Int, b:Int ) = { + println("Value of a : " + a ); + println("Value of b : " + b ); + } +} +``` + +### 可变参数 + +```scala +object Test { + def main(args: Array[String]) { + printStrings("Runoob", "Scala", "Python"); + } + def printStrings( args:String* ) = { + var i : Int = 0; + for( arg <- args ){ + println("Arg value[" + i + "] = " + arg ); + i = i + 1; + } + } +} +``` + +### 默认参数值 + +```scala +object Test { + def main(args: Array[String]) { + println( "返回值 : " + addInt() ); + } + def addInt( a:Int=5, b:Int=7 ) : Int = { + var sum:Int = 0 + sum = a + b + + return sum + } +} +``` + + + +### 匿名函数 类似lambda + +下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数: + +``` +var inc = (x:Int) => x+1 +``` + +上述定义的匿名函数,其实是下面这种写法的简写: + +```scala +def add2 = new Function1[Int,Int]{ + def apply(x:Int):Int = x+1; +} +``` + +以上实例的 inc 现在可作为一个函数,使用方式如下: + +``` +var x = inc(7)-1 +``` + +## 数组 + +以下是 Scala 数组声明的语法格式: + +```scala +var z:Array[String] = new Array[String](3) + +或 + +var z = new Array[String](3) +``` + +以上语法中,z 声明一个字符串类型的数组,数组长度为 3 ,可存储 3 个元素。我们可以为每个元素设置值,并通过索引来访问每个元素,如下所示: + +```scala +z(0) = "Runoob"; z(1) = "Baidu"; z(4/2) = "Google" +``` + +最后一个元素的索引使用了表达式 **4/2** 作为索引,类似于 **z(2) = "Google"**。 + +我们也可以使用以下方式来定义一个数组: + +```scala +var z = Array("Runoob", "Baidu", "Google") +``` + + + + + +```scala + // 输出所有数组元素 + for ( x <- myList ) { + println( x ) + } + + // 计算数组所有元素的总和 + var total = 0.0; + for ( i <- 0 to (myList.length - 1)) { + total += myList(i); + } + println("总和为 " + total); +``` + +## 集合Collection + +```scala +// 定义整型 List +val x = List(1,2,3,4) + +// 定义 Set +val x = Set(1,3,5,7) + +// 定义 Map +val x = Map("one" -> 1, "two" -> 2, "three" -> 3) + +// 创建两个不同类型元素的元组 +val x = (10, "Runoob") + +// 定义 Option +val x:Option[Int] = Some(5) +``` + +| 序号 | 集合及描述 | +| :--- | :----------------------------------------------------------- | +| 1 | [Scala List(列表)](https://www.runoob.com/scala/scala-lists.html)List的特征是其元素以线性方式存储,集合中可以存放重复对象。参考 [API文档](http://www.scala-lang.org/api/current/scala/collection/immutable/List.html) | +| 2 | [Scala Set(集合)](https://www.runoob.com/scala/scala-sets.html)Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。参考 [API文档](http://www.scala-lang.org/api/current/scala/collection/immutable/Set.html) | +| 3 | [Scala Map(映射)](https://www.runoob.com/scala/scala-maps.html)Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。参考 [API文档](http://www.scala-lang.org/api/current/scala/collection/immutable/Map.html) | +| 4 | [Scala 元组](https://www.runoob.com/scala/scala-tuples.html)元组是不同类型的值的集合 | +| 5 | [Scala Option](https://www.runoob.com/scala/scala-options.html)Option[T] 表示有可能包含值的容器,也可能不包含值。 | +| 6 | [Scala Iterator(迭代器)](https://www.runoob.com/scala/scala-iterators.html)迭代器不是一个容器,更确切的说是逐一访问容器内元素的方法。 | + + + +## 语法符号对比 + +<- 类似go的:= + +=》函数返回值 + +scala 可以不用显示return,最后的变量就默认return. + +## 类和对象 + +```scala +class Point(xc: Int, yc: Int) { + var x: Int = xc + var y: Int = yc + + def move(dx: Int, dy: Int) { + x = x + dx + y = y + dy + println ("x 的坐标点: " + x); + println ("y 的坐标点: " + y); + } +} + +val pt = new Point(10, 20); + +// 移到一个新的位置 +pt.move(10, 10); +``` + + + +### 继承 + +Scala继承一个基类跟Java很相似, 但我们需要注意以下几点: + +1、重写一个非抽象方法必须使用override修饰符。 + +2、只有主构造函数才可以往基类的构造函数里写参数。 + +3、在子类中重写超类的抽象方法时,你不需要使用override关键字。 + + + +Scala 使用 extends 关键字来继承一个类。实例中 Location 类继承了 Point 类。Point 称为父类(基类),Location 称为子类。 + +**override val xc** 为重写了父类的字段。 + +继承会继承父类的所有属性和方法,Scala 只允许继承一个父类。 + + + +默认都是抽象的? 用override声明表示非抽象? + +```scala +import java.io._ + +class Point(val xc: Int, val yc: Int) { + var x: Int = xc + var y: Int = yc + def move(dx: Int, dy: Int) { + x = x + dx + y = y + dy + println ("x 的坐标点 : " + x); + println ("y 的坐标点 : " + y); + } +} + +class Location(override val xc: Int, override val yc: Int, + val zc :Int) extends Point(xc, yc){ + var z: Int = zc + + def move(dx: Int, dy: Int, dz: Int) { + x = x + dx + y = y + dy + z = z + dz + println ("x 的坐标点 : " + x); + println ("y 的坐标点 : " + y); + println ("z 的坐标点 : " + z); + } +} + +object Test { + def main(args: Array[String]) { + val loc = new Location(10, 20, 15); + + // 移到一个新的位置 + loc.move(10, 10, 5); + } +} + +``` + + + +### Scala 单例对象 + +在 Scala 中,是没有 static 这个东西的,但是它也为我们提供了单例模式的实现方法,那就是使用关键字 object。 + +Scala 中使用单例模式时,除了定义的类之外,还要定义一个同名的 object 对象,它和类的区别是,object对象不能带参数。 + +当单例对象与某个类共享同一个名称时,他被称作是这个类的伴生对象:companion object。你必须在同一个源文件里定义类和它的伴生对象。类被称为是这个单例对象的伴生类:companion class。类和它的伴生对象可以互相访问其私有成员。 + + + +```scala +/ 私有构造方法 +class Marker private(val color:String) { + + println("创建" + this) + + override def toString(): String = "颜色标记:"+ color + +} + +// 伴生对象,与类名字相同,可以访问类的私有属性和方法 +object Marker{ + + private val markers: Map[String, Marker] = Map( + "red" -> new Marker("red"), + "blue" -> new Marker("blue"), + "green" -> new Marker("green") + ) + + def apply(color:String) = { + if(markers.contains(color)) markers(color) else null + } + + + def getMarker(color:String) = { + if(markers.contains(color)) markers(color) else null + } + def main(args: Array[String]) { + println(Marker("red")) + // 单例函数调用,省略了.(点)符号 + println(Marker getMarker "blue") + } +} + +``` + + + +### apply函数 + +可以把对象当函数使用。 + +```scala +class MyAdder(x: Int) { + def apply(y: Int) = x + y +} + +val adder = new MyAdder(2) +val result = adder(4) // equivalent to x.apply(4) +``` + + + +### Trait(特征) + +Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。 + +与接口不同的是,它还可以定义属性和方法的实现。 + +一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。 + +Trait(特征) 定义的方式与类类似,但它使用的关键字是 **trait**,如下所示: + +```scala +trait Equal { + def isEqual(x: Any): Boolean + def isNotEqual(x: Any): Boolean = !isEqual(x) +}trait Equal { + def isEqual(x: Any): Boolean + def isNotEqual(x: Any): Boolean = !isEqual(x) +} + +class Point(xc: Int, yc: Int) extends Equal { + var x: Int = xc + var y: Int = yc + def isEqual(obj: Any) = + obj.isInstanceOf[Point] && + obj.asInstanceOf[Point].x == x +} + +object Test { + def main(args: Array[String]) { + val p1 = new Point(2, 3) + val p2 = new Point(2, 4) + val p3 = new Point(3, 3) + + println(p1.isNotEqual(p2)) + println(p1.isNotEqual(p3)) + println(p1.isNotEqual(2)) + } +} +``` + + + +**特征构造顺序** + +特征也可以有构造器,由字段的初始化和其他特征体中的语句构成。这些语句在任何混入该特征的对象在构造时都会被执行。 + +构造器的执行顺序: + +- 调用超类的构造器; +- 特征构造器在超类构造器之后、类构造器之前执行; +- 特征由左到右被构造; +- 每个特征当中,父特征先被构造; +- 如果多个特征共有一个父特征,父特征不会被重复构造 +- 所有特征被构造完毕,子类被构造。 + +构造器的顺序是类的线性化的反向。线性化是描述某个类型的所有超类型的一种技术规格。 + + + +## 模式匹配 + +Scala 提供了强大的模式匹配机制,应用也非常广泛。 + +一个模式匹配包含了一系列备选项,每个都开始于关键字 **case**。每个备选项都包含了一个模式及一到多个表达式。箭头符号 **=>** 隔开了模式和表达式。 + +以下是一个简单的整型值模式匹配实例: + + + +```scala +object Test { + def main(args: Array[String]) { + println(matchTest(3)) + + } + def matchTest(x: Int): String = x match { + case 1 => "one" + case 2 => "two" + case _ => "many" + } +} + + +object Test { + def main(args: Array[String]) { + println(matchTest("two")) + println(matchTest("test")) + println(matchTest(1)) + println(matchTest(6)) + + } + def matchTest(x: Any): Any = x match { + case 1 => "one" + case "two" => 2 + case y: Int => "scala.Int" + case _ => "many" + } +} +``` + + + +## 异常处理 + +```scala +import java.io.FileReader +import java.io.FileNotFoundException +import java.io.IOException + +object Test { + def main(args: Array[String]) { + try { + val f = new FileReader("input.txt") + } catch { + case ex: FileNotFoundException => { + println("Missing file exception") + } + case ex: IOException => { + println("IO Exception") + } + } finally { + println("Exiting finally...") + } + } +} +``` -## return From 1c1e842782310bba394c091562d678f270089b62 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 22 Aug 2022 23:18:01 +0800 Subject: [PATCH 033/318] add logbook --- ...22-08-16-scala\350\257\255\346\263\225.md" | 202 +++++++++++++++++- 1 file changed, 200 insertions(+), 2 deletions(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index 117aa11ec1..c07ae5c3ad 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -5,7 +5,7 @@ title: scala语法 tags: Scala --- -## scala语法 +# scala语法 ## hello world @@ -237,7 +237,13 @@ loop.breakable{ } ``` +## implicit +类似java final 不可变 + +``` +implicit +``` ## 方法和函数 @@ -401,6 +407,139 @@ def add2 = new Function1[Int,Int]{ var x = inc(7)-1 ``` + + +### 柯里化 + +柯里化的函数被应用于多个参数列表,而不仅仅是一个。 例如 + +``` +def plainOldSum(x: Int, y: Int) = x + y +``` + + + +被柯里化为 + +``` +def curriedSum(x: Int)(y: Int) = x + y +``` + + + +也可以这样用 + +``` +val onePlus = curriedSum(1)_ +``` + + + +curriedSum(1)_里的下划线是第二个参数列表的占位符,结果就是指向一个函数的参考,这函数在被调用时,对它唯一的Int参数加1并返回结果。 + + + +### 花括号和小括号 + +对于小括号来说,必须的场景是,多参数函数调用的时候。举个例子: + +```scala +def foo(n: Int) = n * 2 +def foo1(a: Int, b: Int) = (a + b) * 2 +``` + +那么以下三种方式调用`foo`是等效的: + +```scala +foo(1) +foo{1} +foo 1 +``` + +但是,调用`foo1`就必须使用`()`,即 + +```scala +foo1(1, 2) +``` + +也就是说,单参数函数可以使用花括号代替小括号。其实,这里本质上 + +一个经典的例子: + +```scala +package example + +object MyExample { + + def greet(name: => String): Unit = { + println(s"Hello $name") + } + + def main(args: Array[String]): Unit = { + val foo = "Foo" + greet(foo) + + greet { + println("In greet args pass") + "foo" + } + } +} +``` + +代码输出: + +```python +Hello Foo +In greet args pass +Hello foo +``` + +其实,这里本上是第二个`greet`传入了一个表达式,表达式返回了一个`String`类型,这相当于是表达式是一个参数,本质上是无括号调用,然后跟了一个表达式作为参数。当然,单纯的一个`String`本身也是表达式。 + + +参考链接:https://juejin.cn/post/7083041458558599176 + +### 内建控制结构 + +让客户代码看上去更像内建控制结构的一种方式是使用花括号代替小括号包围参数列表。Scala的任何方法调用,如果你确实只传入一个参数,就能可选地使用花括号替代小括号包围参数。例如如果一个函数有两个参数,你可以使用柯里化把第一个参数,拖入分离的参数列表,这将使函数仅剩下列表的第二个参数作为唯一的参数,在调用方法时可将第二个参数用花括号括起来。 例如 + +```scala +def withPrintWriter(file: File)(op: PrintWriter => Unit): Unit = { + val writer = new PrintWriter(file) + try { + op(writer) + } finally { + writer.close() + } + } + + val file = new File("date.txt") + withPrintWriter(file){ + writer => writer.println(new java.util.Date) + } +``` + +### 偏应用函数 + +这种一个下划线代表全部参数列表的表达式的另一种用途,就是把它当做转换def为函数值的方式。例如, + +```scala +val b = sum(1, _:Int, 3) //调用b(2)生成6 +``` + +也叫偏函数,这个名字来源于函数未被应用于它的所有参数。 如果你正在写一个省略所有参数的偏程序表达式,如println _ 或sum _,而且在代码的那个地方正好需要一个函数,你可以去掉下环线从而表达的更简明,例如 + +```scala +examples.foreach(println) +``` + + + +### 无参方法 + +Scala里,方法调用的空括号可以省掉,惯例是如果方法带有副作用就加上括号,如println();如果没有副作用就去掉括号,如String的toLowerCase方法。 + ## 数组 以下是 Scala 数组声明的语法格式: @@ -567,9 +706,11 @@ object Test { ``` +### 抽象方法 +Scala里一个方法只要没有没有实现(即没有括号或方法体),它就是抽象的,并不需要像Java里的abstract修饰符。 -### Scala 单例对象 +### Scala 单例对象 伴生 在 Scala 中,是没有 static 这个东西的,但是它也为我们提供了单例模式的实现方法,那就是使用关键字 object。 @@ -630,7 +771,17 @@ val adder = new MyAdder(2) val result = adder(4) // equivalent to x.apply(4) ``` +对象当factory. 只要apply = new XXX. + +``` +scala> object FooMaker { + | def apply() = new Foo + | } +defined module FooMaker +scala> val newFoo = FooMaker() +newFoo: Foo = Foo@5b83f762 +``` ### Trait(特征) @@ -691,6 +842,52 @@ object Test { + + +### 命名空间 + +Scala一般来说仅有两个命名空间 + +- 值(字段,方法,包,单例对象) +- 类型(类,特质名) + +所以字段可以重写无参数方法,而且Scala里禁止在同一个类里用同样的名称定义字段和方法。 + +### override + +Scala要求,若子类成员重写了父类的具体成员则必须带有override修饰符,若成员实现的是同名的抽象成员时,则这个修饰符是可选的。 + +### 样本类case class + +- 它会添加与类名一致的工厂方法。 +- 样本类参数列表的所有参数隐式获得了val前缀,因此它被当做字段维护。 +- 编译器为你的类添加了方法toString、hashcode、equals的“自然”实现。 +- 样本类支持模式匹配。 + +### 类实例当函数 + +类也可以扩展Function,这些类的实例可以使用()调用。 + +``` +scala> class AddOne extends Function1[Int, Int] { + | def apply(m: Int): Int = m + 1 + | } +defined class AddOne + +scala> val plusOne = new AddOne() +plusOne: AddOne = + +scala> plusOne(1) +res0: Int = 2 +``` + +可以使用更直观快捷的`extends (Int => Int)`代替`extends Function1[Int, Int]` + +``` +class AddOne extends (Int => Int) { + def apply(m: Int): Int = m + 1 +``` + ## 模式匹配 Scala 提供了强大的模式匹配机制,应用也非常广泛。 @@ -759,3 +956,4 @@ object Test { } ``` +## 花括号和小括号 From 23179fb1241c527711e6d06f0c4fc4f53bdc7195 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Wed, 24 Aug 2022 23:08:42 +0800 Subject: [PATCH 034/318] add logbook --- ...01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" index 0743919a0b..4ea448d44a 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" @@ -70,6 +70,7 @@ tags: English - /r/ 唇形稍圆,舌身略凹,舌尖上卷,振动声带。 - /w/ 双唇突出,呈尖圆形,舌后升向软腭,气息流过,须振动声带。 - /j/ 双唇微开,舌抵下齿贴近硬腭,气流摩擦而出。 +- /dz/ 类似汉语里资。对比/ts/ @@ -100,7 +101,7 @@ tags: English - [/æ/ 和 /e/](https://www.bilibili.com/video/BV1o7411M7cV?spm_id_from=333.999.0.0&vd_source=4c51dba622ffb91bed5205311847907b) ae和/e/的区别,前者两指宽,像绵羊叫,后者一指宽。 - [双元音/aɪ/与 单元音/æ/](https://www.bilibili.com/video/BV1xg4y187CT?spm_id_from=333.999.0.0&vd_source=4c51dba622ffb91bed5205311847907b) 前者双元音后者单元音 但语速快了就无法区分了 - [/u:/和/u/](https://www.bilibili.com/video/BV1d7411M7i1?spm_id_from=333.999.0.0) -- [清辅音θ与s](https://www.bilibili.com/video/BV1X7411S7V8?spm_id_from=333.337.search-card.all.click) +- [清辅音θ与s](https://www.bilibili.com/video/BV1X7411S7V8?spm_id_from=333.337.search-card.all.click) 前者 上下齿咬舌尖。 后者双唇微开,上下齿接近于合拢状态 From c9f2776ce2b0d7e45cb4fcdd3d7bb2edf9ae57dc Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 25 Aug 2022 10:32:55 +0800 Subject: [PATCH 035/318] add logbook --- ...1\351\237\263-\351\237\263\346\240\207.md" | 50 ++++++++++++++++--- ...22-08-16-scala\350\257\255\346\263\225.md" | 10 ++++ 2 files changed, 54 insertions(+), 6 deletions(-) diff --git "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" index 4ea448d44a..6e3d15b764 100644 --- "a/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" +++ "b/_posts/English/2021-01-02-\345\217\221\351\237\263-\351\237\263\346\240\207.md" @@ -133,7 +133,33 @@ tags: English 比如单词later和latter。我们把这两个词按照这种原理分开,分别就是la/ter和lat/ter。 -那么这样分完有什么意义呢,当然有意义,而且意义重大,因为它能让你正确判断单词的发音。不用看音标。看下面 +那么这样分完有什么意义呢,当然有意义,而且意义重大,因为它能让你正确判断单词的发音。不用看音标。 + + + +另外 辅音+l/e结尾,也可以构成音节 apple/pl/ bicycle/baskl/ + +### 重读音节 + +什么是重读音节呢?首先普及一下单音节的单词是没有重读符号的,但是要重读。比如:get,let,must.say等。 + +1. 一个音节就重读:(没有重读符号)me/mi/ lake/lek/ bread/bred/ + +2. 双音节重读 + + 1. 一般第一个音节重读 举例: sister/'sst/ tiger/tag/ + + 2. \1. a开头+辅音 + + 举例:away/ we/ ago/gu/ + + \2. be/re开头 + + 举例:begin/bgn/ reply/rpla/ + + \3. de/es/im/mis开头 + + 举例:delay/dle/ improve/mpruv/ @@ -149,22 +175,26 @@ tags: English 2、**闭音节**:英语中以一个或几个辅音字母(r w y 除外)结尾而中间只有一个元音字母的音节,称为**闭音节**。闭音节的元音字母不发它字母本身的音。 -如果这个音节在单词中是重读,那就是**重读闭音节**了。 +总结: 开音节:only元 或 者元+辅+不发音e; 闭音节: 剩下的 + +### 重读闭音节 + +如果这个音节在单词中是闭音节并且重读,那就是**重读闭音节**了。 重读闭音节即两个辅音中间夹一个短元音(即**“辅元辅”结尾**。) -重读闭音节结尾,且词尾只有一个辅音字母,要**双写**。 +重读闭音节结尾,且词尾只有一个辅音字母,变ing要**双写**。 重读闭音节三要素 1.必须是重读音节; -2.最后只有一个辅音字母;只有一个元音; +2.最后只有一个辅音字母 3.只有一个元音,元音字母发短元音 -总结: 开音节:only元 或 者元+辅+不发音e; 闭音节: 剩下的 + ## 字母发音规则 @@ -174,6 +204,8 @@ tags: English +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202208242353490.png) + aeiou在非重读闭音节里,一般发/ə/, 比如doctor后面的o @@ -263,4 +295,10 @@ z [ z ] ## 常见单词音标 -who when where why what whom which \ No newline at end of file +who when where why what whom which + +[/waɪl/](cmd://Speak/_us_/while) + +[ /waɪ/](cmd://Speak/_us_/why) + +[/wɛn/](cmd://Speak/_us_/when) \ No newline at end of file diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index c07ae5c3ad..39e1910a2c 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -842,7 +842,17 @@ object Test { +### extends 和 with +[参考](https://stackoverflow.com/questions/41031166/scala-extends-vs-with) + +If you have multiple `class`es or `trait`s to inherit, the first one is always `extends`, and the following >=0 `class`/`trait` to be `with`s. + +But remember that you can only *inherit* <=1 (abstract) class, which means if you need to inherit a parent class (`Parent`), it should always comes at first of the form `... extends Parent ...`, and no more classes can be inherited to the derived class. + +scala一个类最多可以继承一个实体/抽象类,但对trait继承数量没有限制。 在java中,trait叫interface,对应叫实现implements. + +Extends 表示第一个集成的class/abstract class/trait, 如果trait和class都有,那就extends class with trait. 当只有trait就可以extends trait. ### 命名空间 From e07ec28b3a12f2b1c08e5fa783803081c766b671 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 25 Aug 2022 20:55:54 +0800 Subject: [PATCH 036/318] add logbook --- ...22-08-16-scala\350\257\255\346\263\225.md" | 175 +++++++++++++++++- 1 file changed, 170 insertions(+), 5 deletions(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index 39e1910a2c..2c1101b323 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -441,6 +441,8 @@ curriedSum(1)_里的下划线是第二个参数列表的占位符,结果就是 ### 花括号和小括号 +[参考](https://juejin.cn/post/7083041458558599176) + 对于小括号来说,必须的场景是,多参数函数调用的时候。举个例子: ```scala @@ -497,9 +499,6 @@ Hello foo 其实,这里本上是第二个`greet`传入了一个表达式,表达式返回了一个`String`类型,这相当于是表达式是一个参数,本质上是无括号调用,然后跟了一个表达式作为参数。当然,单纯的一个`String`本身也是表达式。 - -参考链接:https://juejin.cn/post/7083041458558599176 - ### 内建控制结构 让客户代码看上去更像内建控制结构的一种方式是使用花括号代替小括号包围参数列表。Scala的任何方法调用,如果你确实只传入一个参数,就能可选地使用花括号替代小括号包围参数。例如如果一个函数有两个参数,你可以使用柯里化把第一个参数,拖入分离的参数列表,这将使函数仅剩下列表的第二个参数作为唯一的参数,在调用方法时可将第二个参数用花括号括起来。 例如 @@ -874,6 +873,33 @@ Scala要求,若子类成员重写了父类的具体成员则必须带有overri - 编译器为你的类添加了方法toString、hashcode、equals的“自然”实现。 - 样本类支持模式匹配。 + + +比如这样 + +```scala +object Test { + def main(args: Array[String]) { + val alice = new Person("Alice", 25) + val bob = new Person("Bob", 32) + val charlie = new Person("Charlie", 32) + + for (person <- List(alice, bob, charlie)) { + person match { + case Person("Alice", 25) => println("Hi Alice!") + case Person("Bob", 32) => println("Hi Bob!") + case Person(name, age) => + println("Age: " + age + " year, name: " + name + "?") + } + } + } + // 样例类 + case class Person(name: String, age: Int) +} +``` + + + ### 类实例当函数 类也可以扩展Function,这些类的实例可以使用()调用。 @@ -898,7 +924,11 @@ class AddOne extends (Int => Int) { def apply(m: Int): Int = m + 1 ``` -## 模式匹配 +## 模式匹配case match + +模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。它是Java中的`switch`语句的升级版,同样可以用于替代一系列的 if/else 语句。 + +### 语法 Scala 提供了强大的模式匹配机制,应用也非常广泛。 @@ -918,6 +948,7 @@ object Test { case 1 => "one" case 2 => "two" case _ => "many" + // 其中最后一个case _表示匹配其余所有情况,在这里就是其他可能的整型值。 } } @@ -939,7 +970,73 @@ object Test { } ``` +### 样例类(case classes)的匹配 + +样例类非常适合用于模式匹配。 + +```scala +abstract class Notification + +case class Email(sender: String, title: String, body: String) extends Notification + +case class SMS(caller: String, message: String) extends Notification + +case class VoiceRecording(contactName: String, link: String) extends Notification +``` + +`Notification` 是一个虚基类,它有三个具体的子类`Email`, `SMS`和`VoiceRecording`,我们可以在这些样例类(Case Class)上像这样使用模式匹配: + +```scala +def showNotification(notification: Notification): String = { + notification match { + case Email(sender, title, _) => + s"You got an email from $sender with title: $title" + case SMS(number, message) => + s"You got an SMS from $number! Message: $message" + case VoiceRecording(name, link) => + s"you received a Voice Recording from $name! Click the link to hear it: $link" + } +} +val someSms = SMS("12345", "Are you there?") +val someVoiceRecording = VoiceRecording("Tom", "voicerecording.org/id/123") + +println(showNotification(someSms)) // prints You got an SMS from 12345! Message: Are you there? + +println(showNotification(someVoiceRecording)) // you received a Voice Recording from Tom! Click the link to hear it: voicerecording.org/id/123 +``` + +`showNotification`函数接受一个抽象类`Notification`对象作为输入参数,然后匹配其具体类型。(也就是判断它是一个`Email`,`SMS`,还是`VoiceRecording`)。在`case Email(sender, title, _)`中,对象的`sender`和`title`属性在返回值中被使用,而`body`属性则被忽略,故使用`_`代替。 +### 模式守卫(Pattern guards) + +为了让匹配更加具体,可以使用模式守卫,也就是在模式后面加上`if `。 + +```scala +def showImportantNotification(notification: Notification, importantPeopleInfo: Seq[String]): String = { + notification match { + case Email(sender, _, _) if importantPeopleInfo.contains(sender) => + "You got an email from special someone!" + case SMS(number, _) if importantPeopleInfo.contains(number) => + "You got an SMS from special someone!" + case other => + showNotification(other) // nothing special, delegate to our original showNotification function + } +} + +val importantPeopleInfo = Seq("867-5309", "jenny@gmail.com") + +val someSms = SMS("867-5309", "Are you there?") +val someVoiceRecording = VoiceRecording("Tom", "voicerecording.org/id/123") +val importantEmail = Email("jenny@gmail.com", "Drinks tonight?", "I'm free after 5!") +val importantSms = SMS("867-5309", "I'm here! Where are you?") + +println(showImportantNotification(someSms, importantPeopleInfo)) +println(showImportantNotification(someVoiceRecording, importantPeopleInfo)) +println(showImportantNotification(importantEmail, importantPeopleInfo)) +println(showImportantNotification(importantSms, importantPeopleInfo)) +``` + +在`case Email(sender, _, _) if importantPeopleInfo.contains(sender)`中,除了要求`notification`是`Email`类型外,还需要`sender`在重要人物列表`importantPeopleInfo`中,才会匹配到该模式。 ## 异常处理 @@ -966,4 +1063,72 @@ object Test { } ``` -## 花括号和小括号 +## _ 下划线的一些魔法 + +[参考](https://liam.page/2019/10/24/underscore-magic-in-Scala/) + +在 Scala 导入模块包时,`_` 的作用类似于 Java 导入模块包时的 `*`。 + +在 Scala 中的模式匹配中,下划线 `_` 是匹配任意内容的通配符。最基本的用法时,`_` 相当于 C/C++ 中的 `default`。 + + + +**匿名函数的参数** + +Scala 和 Python、C++ 等语言一样,也有匿名函数的设定。下划线 `_` 可用作是匿名函数的参数的占位符,但对于每一个参数,只能用下划线占位一次。例如,在 Scala 中 `2 * _` 相当于 Python 中的 `lambda x: 2 * x` 或者 C++ 中的 `[](auto x) { return 2 * x; }`;但对于 Python 中的 `lambda x: x * x` 不能写成 Scala 中的 `_ * _`——因为在 Scala 中,`_ * _` 表示匿名函数接受 2 个参数,函数返回值是两个参数的乘积。又例如,下列 Scala 代码中的 `print(_)` 相当于 `x => print(x)`: + +``` +List(1, 2, 3, 4, 5).foreach(print(_)) +``` + +下列 Scala 代码中的 `_ + _` 相当于 `(x, y) => x + y`: + +``` +List(1, 2, 3, 4, 5).reduceLeft(_ + _) +``` + + + +**阻止函数意外调用** + +众所周知,Scala 是函数式语言。在 Scala 中,函数是一等公民,和普通变量一样可以赋值。但由于在 Scala 中函数调用时可省略括号,如果你打算将一个函数赋值给一个新的变量,则函数可能会被意外地调用而后将函数的返回值赋值。这种时候,我们需要在函数名之后加上 `_` 来阻止函数调用——类似 TeX 中的 `\relax` 阻止继续执行的作用。 + +``` +class Test { + def foo = { + // some code + } + val bar = foo _ +} +``` + + + + + +# Scala Option和Some + +### Scala 的 Option类型 + +为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯,Scala 鼓励你在变量和函数返回值可能不会引用任何值的时候使用 Option 类型。在没有值的时候,使用 None,这是 Option 的一个子类。如果有值可以引用,就使用 Some 来包含这个值。Some 也是 Option 的子类。 None 被声明为一个对象,而不是一个类,因为我们只需要它的一个实例。这样,它多少有点像 null 关键字,但它却是一个实实在在的,有方法的对象。 + +### 应用例子 + +Option 类型的值通常作为 Scala 集合类型(List, Map 等)操作的返回类型。比如 Map 的 get 方法: + +```scala +scala> val capitals = Map("France"->"Paris", "Japan"->"Tokyo", "China"->"Beijing") +capitals: scala.collection.immutable.Map[String,String] = Map(France -> Paris, Japan -> Tokyo, China -> Beijing) + +scala> capitals get "France" +res0: Option[String] = Some(Paris) + +scala> capitals get "North Pole" +res1: Option[String] = None +``` + + + +# 参考教程 + +[参考1](https://docs.scala-lang.org/zh-cn/tour/generic-classes.html) From e9337b0700db121366be3aadfeaee964ceb2dcaa Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 25 Aug 2022 21:05:48 +0800 Subject: [PATCH 037/318] add logbook --- ...22-08-16-scala\350\257\255\346\263\225.md" | 54 ++++++++++++++++++- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index 2c1101b323..543a6094b7 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -868,10 +868,14 @@ Scala要求,若子类成员重写了父类的具体成员则必须带有overri ### 样本类case class +case class最重要的功能,支持模式匹配,这也是定义case class的重要原因。 + - 它会添加与类名一致的工厂方法。 - 样本类参数列表的所有参数隐式获得了val前缀,因此它被当做字段维护。 - 编译器为你的类添加了方法toString、hashcode、equals的“自然”实现。 - 样本类支持模式匹配。 +- 自动创建伴生对象,同时在里面给我们实现子apply方法,使得我们在使用的时候可以不直接显示地new对象 +- 伴生对象中同样会帮我们实现unapply方法,从而可以将case class应用于模式匹配,关于unapply方法我们在后面的“提取器”那一节会重点讲解 @@ -900,6 +904,12 @@ object Test { +case class 和 case object 区别:类中有参和无参,当类有参数的时候,用case class ,当类没有参数的时候那么用case object。 + + + + + ### 类实例当函数 类也可以扩展Function,这些类的实例可以使用()调用。 @@ -1108,9 +1118,49 @@ class Test { # Scala Option和Some -### Scala 的 Option类型 +### Option + +Option[A] (sealed trait) 有两个取值: + + 1. Some[A] 有类型A的值 + + 2. None 没有值 + + + +Option一般有两种用法: + +1. 模式匹配 + +```scala +Option[A] option + +option match { + case Some(a) => a + case None => "?" +} + +``` + + + +2. map + +```scala +option map( o => "?" ).getOrElse("默认值") +``` + + + +### Some + +Some是一个继承了Option的case class。 而None是一个继承了Option[Nothing]的case object。 + +**Some的解释**: Class `Some[A]` represents existing values of type `A`. + +Some[A] some是一定有值的, some.get获取值,如果没有值, 会报异常. Predef.NoSuchElementException if the option is empty. + -为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯,Scala 鼓励你在变量和函数返回值可能不会引用任何值的时候使用 Option 类型。在没有值的时候,使用 None,这是 Option 的一个子类。如果有值可以引用,就使用 Some 来包含这个值。Some 也是 Option 的子类。 None 被声明为一个对象,而不是一个类,因为我们只需要它的一个实例。这样,它多少有点像 null 关键字,但它却是一个实实在在的,有方法的对象。 ### 应用例子 From 47d1ad703af634da90f6e3bcc532e4c44305a428 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 25 Aug 2022 21:09:46 +0800 Subject: [PATCH 038/318] add logbook --- "_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index 543a6094b7..b5e3df27fd 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -1091,7 +1091,7 @@ Scala 和 Python、C++ 等语言一样,也有匿名函数的设定。下划线 List(1, 2, 3, 4, 5).foreach(print(_)) ``` -下列 Scala 代码中的 `_ + _` 相当于 `(x, y) => x + y`: +下列 Scala 代码中的 `_ + _` 相当于 `(x, y) => x + y`: 记住这里是匿名函数里只使用一次情况下才可以,否则就乱了 ``` List(1, 2, 3, 4, 5).reduceLeft(_ + _) From 4265205d8a4e58a73ee7c21042dbb63248547dc8 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 26 Aug 2022 08:50:54 +0800 Subject: [PATCH 039/318] add logbook --- ...5\346\263\225-\350\277\236\350\257\215.md" | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 "_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" diff --git "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" new file mode 100644 index 0000000000..66cca95365 --- /dev/null +++ "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" @@ -0,0 +1,102 @@ +--- +layout: post +category: English +title: 连词 +tags: English +--- + +## 连词 + +## 不仅而且Not only but also + +[参考](https://en-grammar.xiao84.com/201612/27635.html) + +比较自由。also可省略, but also之间也可以加词。 + +可连接主语、谓语动词... + +The Americans and the British **not only** speak the same language **but also** share a large number of social customs. + + + +Note: + +- ”not only A but also B”结构中的A和B通常是同等成分。因此这句话是错误的“He not only plays the piano, but also the violin.” 可以改成“He plays **not only** the piano, but also the violin” + +## 也(too, as well, also, either) + +too和as well两者都可用在肯定句或疑问句的句末。两者通常可以换用。 + +She likes pizza as well. + +=She likes pizza too. + + + +-also:常在**肯定句句中** +-too:常在**肯定句句末**,前面常有逗号 +-either:常在**否定句句末** + + + +He isn't a singer either. + + + +也不nor + +He can't speak english, **nor** can I. + +## 除了 + +I did **nothing but** watch it + +## 然而 + +whereas + +Some praise him, **whereas** others condemn him + + + +## 尽管 + +Although she's young, she knows a lot. + +## 只要 + +As long as I'm free, I will help you. + + + +## 以免 + +in case + +You should be careful **in case** there's a fire. + +## 为了 + +We study hard in order that we can pass the team. + + + +## 刚一。。。就。 + +**Hardly** I entered the room **when** the bell rang. + +**No sooner** had I come home **than** it began to rain. + + + +## 由于 + +**Now that** you are on duty, you should clean the classroom. + +## 无论 + +**Whether** you are sick **or** not, I'll help you. + + + +Todo: https://www.sohu.com/a/330378162_100219060 From 3e4a172312245ee6992300937aa2dd26f36a2fa1 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 26 Aug 2022 23:09:39 +0800 Subject: [PATCH 040/318] add logbook --- ...2-08-26-chrome\350\260\203\350\257\225.md" | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 "_posts/Tech/FrontEnd/2022-08-26-chrome\350\260\203\350\257\225.md" diff --git "a/_posts/Tech/FrontEnd/2022-08-26-chrome\350\260\203\350\257\225.md" "b/_posts/Tech/FrontEnd/2022-08-26-chrome\350\260\203\350\257\225.md" new file mode 100644 index 0000000000..0f71c76863 --- /dev/null +++ "b/_posts/Tech/FrontEnd/2022-08-26-chrome\350\260\203\350\257\225.md" @@ -0,0 +1,54 @@ +--- +layout: post +category: FrontEnd +title: chrome调试 +tags: FrontEnd +--- + +## chrome调试 + + + +## 控制台打印对象 + +console.log + +console.table: 如果你要打印的变量是一个数组,每一个元素都是一个对象。我建议你使用`console.table`来打印,其表格化的呈现更加美观易读。 + + + +## 选择元素 + +**\$ 和 \$\$** + +如果你在 console 下没有任何库使用`$`和`$$`,那么你可以使用它们分别作为`document.querySelector()` 和 `document.querySelectorAll()`的快捷键。 + +**$0** + +如果你想引用某个 DOM 元素,使用`$0`。`$0`指向你当前在 Element 中选中的元素。如果指定了`$0`,`$1`指向之前选中的元素。以此类推,直到`$4`都可以使用。 + +## **getEventListeners()** + +`getEventListeners(domElement)` 返回在 DOM 元素上注册的所有的事件 + + + +## 函数断点**debug(fn)** + +如果你想在点击按钮后的执行过程中暂停,你可以使用`debug`函数。`debug(fn)`接收一个函数作为参数,当每次该函数被调用时,Debugger 就会在该函数的第一行中断执行。 + +想象一下你要 debug 一个按钮的问题,但是你不知道这个按钮对应的事件函数在代码中什么位置。除了去大量的源代码中慢慢寻找之外,还有一个巧妙的方法。使用`getEventListeners`函数,然后将`debug`方法注入进去。这样,当你点击按钮的时候,就会在该函数的第一行停下来。 + + + +## 监听dom元素断点 + +可以找到改dom元素属性的js位置。 + +elements上右键break on, 选attribute. + + + +## 参考 + +[参考](https://blog.fundebug.com/2018/08/22/art-of-debugging-with-chrome-devtools/) From 04cdfc93e7cb82f48a83fb60f070f6928ce172f0 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 27 Aug 2022 12:10:18 +0800 Subject: [PATCH 041/318] add logbook --- ...5\346\263\225-\350\277\236\350\257\215.md" | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" index 66cca95365..2f40a7861b 100644 --- "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" +++ "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" @@ -1,12 +1,14 @@ --- layout: post category: English -title: 连词 +title: 语法-连词 tags: English --- ## 连词 + + ## 不仅而且Not only but also [参考](https://en-grammar.xiao84.com/201612/27635.html) @@ -61,13 +63,19 @@ Some praise him, **whereas** others condemn him ## 尽管 -Although she's young, she knows a lot. +**Although** she's young, she knows a lot. ## 只要 As long as I'm free, I will help you. +**only if (连词)只有** + +The lawyer is paid only if he wins. +## **if only 要是xx就好了,有虚拟语气** + +There had to be an answer — he was sure he could tease it out if only he had time. ## 以免 @@ -83,11 +91,19 @@ We study hard in order that we can pass the team. ## 刚一。。。就。 +推荐as soon as. + +**As soon as** I stepped inside,my glasses misted over. + +The stars came out **as soon as** darkness fell. + + + **Hardly** I entered the room **when** the bell rang. **No sooner** had I come home **than** it began to rain. - +**Scarcely** had she entered the room **when** the phone rang. ## 由于 @@ -97,6 +113,28 @@ We study hard in order that we can pass the team. **Whether** you are sick **or** not, I'll help you. +## 而不是 + +They relied on brains **rather than** brawn + +He preferred to die **instead of** stealing. + +## 尽可能地快 + +as soon as possible, soon: *adv.* 不久;即刻,马上 + +We must correct our defects **as soon as possible.** + +as quickly as possible. + +## 如果...将会怎么样? + +**What if** the car breaks down? + + + + + Todo: https://www.sohu.com/a/330378162_100219060 From da5900cb0949d5454296ce3f6671ab299478e86f Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 27 Aug 2022 12:12:31 +0800 Subject: [PATCH 042/318] add logbook --- ...8-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" index 2f40a7861b..f9525c3dc7 100644 --- "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" +++ "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" @@ -73,7 +73,9 @@ As long as I'm free, I will help you. The lawyer is paid only if he wins. -## **if only 要是xx就好了,有虚拟语气** +## **要是xx就好了** + +if only There had to be an answer — he was sure he could tease it out if only he had time. From e5c4d46cc79198ddedfd8f981e8cbb2410d7ea87 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 28 Aug 2022 16:18:30 +0800 Subject: [PATCH 043/318] add logbook --- ...347\254\254 K \345\244\247\345\222\214.md" | 136 ++++++++++++++++++ ...8-05-19-python\347\254\224\350\256\260.md" | 4 + 2 files changed, 140 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-08-27-2386. \346\211\276\345\207\272\346\225\260\347\273\204\347\232\204\347\254\254 K \345\244\247\345\222\214.md" diff --git "a/_posts/Algorithms/leetcode/2022-08-27-2386. \346\211\276\345\207\272\346\225\260\347\273\204\347\232\204\347\254\254 K \345\244\247\345\222\214.md" "b/_posts/Algorithms/leetcode/2022-08-27-2386. \346\211\276\345\207\272\346\225\260\347\273\204\347\232\204\347\254\254 K \345\244\247\345\222\214.md" new file mode 100644 index 0000000000..3184ef4b94 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-08-27-2386. \346\211\276\345\207\272\346\225\260\347\273\204\347\232\204\347\254\254 K \345\244\247\345\222\214.md" @@ -0,0 +1,136 @@ +--- +layout: post +category: leetcode +title: 2386. 找出数组的第 K 大和 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/find-the-k-sum-of-an-array/) + +给你一个整数数组 `nums` 和一个 **正** 整数 `k` 。你可以选择数组的任一 **子序列** 并且对其全部元素求和。 + +数组的 **第 k 大和** 定义为:可以获得的第 `k` 个 **最大** 子序列和(子序列和允许出现重复) + +返回数组的 **第 k 大和** 。 + +子序列是一个可以由其他数组删除某些或不删除元素排生而来的数组,且派生过程不改变剩余元素的顺序。 + +**注意:**空子序列的和视作 `0` 。 + + + +**示例 1:** + +``` +输入:nums = [2,4,-2], k = 5 +输出:2 +解释:所有可能获得的子序列和列出如下,按递减顺序排列: +- 6、4、4、2、2、0、0、-2 +数组的第 5 大和是 2 。 +``` + +**示例 2:** + +``` +输入:nums = [1,-2,3,4,-10,12], k = 16 +输出:10 +解释:数组的第 16 大和是 10 。 +``` + + + +**提示:** + +- `n == nums.length` +- `1 <= n <= 105` +- `-109 <= nums[i] <= 109` +- `1 <= k <= min(2000, 2n)` + +## solution + +[参考](https://leetcode.cn/problems/find-the-k-sum-of-an-array/solution/zhuan-huan-dui-by-endlesscheng-8yiq/) + +要记住 + +- 数组有序后,可以用堆动态生成子序列的和,按递增顺序,每取一个后便加下一个,同时当前也可减掉。 +- 回溯只要控制深度复杂度也可观,可用于二分等 + + + +优先队列做法 + +```python + +class Solution: + def kSum(self, nums: List[int], k: int) -> int: + s = 0 + for i, x in enumerate(nums): + if x >= 0: + s += x + else: + nums[i] = -x + import heapq + h = [(-s, 0)] + nums.sort() + for _ in range(k - 1): + l, i = heapq.heappop(h) + if i < len(nums): + heapq.heappush(h, (l + nums[i], i + 1)) + if i: + heapq.heappush(h, (l + nums[i] - nums[i - 1], i + 1)) + return - h[0][0] +``` + + + +二分做法 + +```python +class BinarySearch: + # If you wanna binary search big integer, plz set data range, which can be used as same as big integer low and high + # find the first index that value >= val + def bisect_left(data, val, key=None): + l, r = 0, len(data) - 1 + if key is None: + key = lambda x: data[mid] + while l <= r: + mid = (l + r) // 2 + if key(mid) >= val: + r = mid - 1 + else: + l = mid + 1 + return l +class Solution: + def kSum(self, nums: List[int], k: int) -> int: + s = 0 + for i, x in enumerate(nums): + if x >= 0: + s += x + else: + nums[i] = -x + total = sum(nums) + nums.sort() + + # 不超过limit的子序列数量 + def count(limit): + cnt = 0 + + # 算i之后的子序列数量,不包括空序列 + def f(cur, i): + nonlocal cnt + if cnt >= k - 1 or i >= len(nums) or cur + nums[i] > limit: + return + cnt += 1 + f(cur + nums[i], i + 1) + f(cur, i + 1) + + f(0, 0) + return cnt + + j = BinarySearch.bisect_left(range(total), k - 1, key=count) + + return s - j + +``` + diff --git "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" index 5ad4af4e09..21a5d775d8 100644 --- "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" +++ "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" @@ -998,6 +998,10 @@ b | 10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) | | 1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 | +### range + +Range(10**9) 也没关系,因为range的时间复杂度是1,可以o(1)时间复杂度计算出对应的值。如果是list(range(xx))这复杂度就是O(xx)了。 + ### python负数补码 > [参考](https://www.runoob.com/w3cnote/python-negative-storage.html) From c755d43e2b0437f5b7da0a6dc4c2e66c62451238 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 28 Aug 2022 18:09:15 +0800 Subject: [PATCH 044/318] add logbook --- ...5\346\263\225-\350\277\236\350\257\215.md" | 454 +++++++++++++++++- 1 file changed, 453 insertions(+), 1 deletion(-) diff --git "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" index f9525c3dc7..3cdf11deaf 100644 --- "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" +++ "b/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" @@ -135,8 +135,460 @@ as quickly as possible. +## 15类英语连接词 +https://zhuanlan.zhihu.com/p/277394043 +整理分享15类英语连接词,超级全。 +### 表示强调 -Todo: https://www.sohu.com/a/330378162_100219060 +still 然而,仍然 + +indeed 事实上 + +apparently 显然 + +oddly enough 奇怪的是 + +of course 当然 + +after all 毕竟 + +significantly 明显地;显著地 + +interestingly 有趣的是 + +also 并且,另外 + +surely 肯定/必定地 + +certainly 当然 + +undoubtedly 毫无疑问地 + +in any case 在任何情况下;无论如何 + +anyway 反正;不管怎样;总之 + +above all 首先,尤其是;最重要的是 + +in fact 事实上 + +especially 特别是 + +obviously 很明显 [ /'ɑbvɪəsli/](cmd://Speak/_us_/obviously) + +clearly 无疑的 + +例:In fact, he is not an honest man. + +事实上,他不是个诚实的人。 + + + +### 表示比较 + +like 就像 + +similarly 类似的 be similar to + +likewise 同样的;照样的 副词。 + +in the same way 以同样的方式 + +in the same manner 以类似的方式 + +equally 同样地;相等程度地 + +例:I will help you solve this problem, but equally you need to give me some reward. + +我会帮你们解决这个问题,但是同样地,你们需要付出一些回报。 + + + +### 表示对比 + +by contrast 相比之下 + +on the contrary 相反 + +while 而;虽然,尽管 + +whereas 而 + +on the other hand 另一方面 + +unlike 不像 + +instead 而不是;而;相反 + +but 但 + +conversely 相反 + +different from 不同于 + +however 然而 + +nevertheless 不过 + +otherwise 否则 + +yet 然而, 但是 + +in contrast 与此相反;比较起来 + +例:On the other hand, they are also unwilling to adopt our advice. + +另一方面,他们也不愿意采纳我们的建议。 + + + +### 表示列举 + +for example 例如 + +for instance 例如 + +such as 如 + +take …for example 以……为例 + +except (for) 要不是由于 *except for* 除了…以外;要不是由于 + +to illustrate 为了说明(举例说明) + +例:We bought some fruits such as apples, oranges and pears. + +我们买了一些水果,有苹果橘子还有梨。 + + + +\5. 表示时间 + +later 后来;稍后;随后 + +next 然后;其次;接下来;下一... + +then 然后 + +finally 最终终于 + +at last 最后 + +eventually 最终 [ɪ'vɛntʃuəli/](cmd://Speak/_us_/eventually) + +meanwhile 与此同时 + +from now on 从现在开始 I have made up my mind not to go skating from now on. 我决心从此不再去滑冰. + +at the same time 同时 + +for the time being 暂时 adv + +in the end 最后 + +immediately 立即 + +in the meantime 在此期间;于此际;与此同时 + +in the meanwhile 同时;在此期间 + +recently 最近 + +soon 很快 + +now and then 偶尔;有时;不时 occasionally + +during 在…...的期间;在......期间的某个时候 The pond iced over during the night. + +nowadays 如今 + +since 自……以后;自……以来;此后;之前 + +lately 最近 + +as soon as 一旦 + +afterwards 后来 + +temporarily 暂时 + +earlier 早些时候 + +now 现在 + +after a while 不久;过了一会儿 + +例:She answered the question immediately. + +她迅速回答了这个问题。 + + + +### 表示顺序 + +first 首先,第一 + +second 第二 + +third 第三 + +then 然后 + +finally 最后 + +to begin with 首先,本来,一方面 To begin with, we must consider the faculties of the staff all-sidedly. + +first of all 首先 + +in the first place 首先 + +last 最后 + +next 下一个 + +above all 最重要的是 + +last but not the least 最后一点,也是非常重要的一点 + +first and most important 第一点也是最重要的一点 + +例:First of all, you should obey rules as a student. + +作为一个学生,首先你要遵守学校里的规章制度。 + + + +### 表示可能 + +presumably 大概 + +probably 可能 + +perhaps 也许 + +例:Perhaps he will not show up today. + +他今天可能不会露面了。 + + + +### 表示解释 + +in other words 换句话说 + +in fact 事实上 + +as a matter of fact 事实上 + +that is 即;就是说;换言之 + +namely 也就是;即是;换句话说 Namely, a return to white supremacy and institutional slavery. + +in simpler terms 简单来说 **To put it simply**, everything happens instantaneously. **In short,** the building would consist of two floors. + +例:He departed from his hometown, namely, London. + +他离开了自己的故乡,也就是伦敦。 + + + +### 表示递进 + +What is more 更重要的是;此外,而且 + +in addition 另外,此外 + +and 并且,以及 + +besides 况且,再说;此外,以及 + +also 而且;同样;还有 + +furthermore 此外 + +too 也;还 + +moreover 此外;而且 + +furthermore 此外 + +as well as 以及 + +additionally 另外 + +again 再说;又 + +例:Susan is a beautiful girl, what is more, she works hard all the time. + +苏珊是个漂亮的女孩,而且,她也一直努力工作。 + + + +### 表示让步 + +although 虽然 + +after all 毕竟 + +in spite of …尽管…… + +despite 尽管 + +even if 即使 + +even though 尽管 + +though 虽然 + +admittedly 不可否认 + +whatever may happen 不管三七二十一 + +例:Although you told a lie before, we believe in you now. + +虽然你以前说过谎,但我们现在相信你。 + + + +### 表示转折 + +however 然而 + +rather than 而不是;宁可…也不愿 + +instead of 而不是... + +but 但 + +yet 然而 + +on the other hand 另一方面 + +unfortunately 不幸的是 + +whereas 然而;鉴于; 反之 + +例:However, he did not pass the exam. + +然而,他没有通过考试。 + + + +### 表示原因 + +for this reason 因为这个原因 + +due to 由于 + +thanks to 多亏了 + +because 因为 + +because of 由于 + +as 因为,由于 + +since 因为,由于 + +owing to 由于 + +例:She broke up with her boyfriend because of a terrible quarrel. + +因为大吵了一架,她和男友分手了。 + + + +### 表示结果 + +as a result 结果.... + +thus 因此 + +hence 因此 + +so 所以 + +therefore 因此 + +accordingly 因此,于是 + +consequently 因此;结果;所以; 从而 + +as a consequence 因此,结果 + +例:Therefore, I decide to make an apology to him. + +因此,我决定向他道歉。 + + + +### 表示总结 + +on the whole 基本上,大体上;总的来说 + +in conclusion 总之;最后 + +in a word 总之 + +to sum up 总而言之;概括地说 + +in brief 简言之 + +in summary 总之 + +to conclude 最后;总之 + +to summarize 简而言之 + +in short 总之;简言之 + +例:In conclusion, we d better take measures as soon as possible. + +总之,我们最好尽可能快采取措施。 + + + +### 其他连接词 + +mostly 主要是;通常;多半地 + +occasionally 偶尔;有时 + +currently 目前 + +naturally 自然而然地 + +mainly 主要是 + +exactly 恰好地;正是 + +evidently 毫无疑问地; 显然 + +frankly 坦率地说;老实说 to be honest + +commonly 一般;通常;普遍 + +for this purpose 为此;有鉴于此 + +to a large extent 在很大程度上 + +for most of us 对我们大多数人来说 + +in many cases 在许多情况下 + +in this case 在这种情况下 + +例:Frankly, I do not mind her opinions at all. + +坦白说,我一点都不在乎她的看法。 + + + +according to 根据 + +## 参考 + +- https://www.sohu.com/a/330378162_100219060 From 7c35f5e9b00454be781b164715f1b43eec087016 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 28 Aug 2022 18:17:30 +0800 Subject: [PATCH 045/318] add logbook --- ...-08-26-\350\213\261\350\257\255-\350\277\236\350\257\215.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename "_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" => "_posts/English/2022-08-26-\350\213\261\350\257\255-\350\277\236\350\257\215.md" (99%) diff --git "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" "b/_posts/English/2022-08-26-\350\213\261\350\257\255-\350\277\236\350\257\215.md" similarity index 99% rename from "_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" rename to "_posts/English/2022-08-26-\350\213\261\350\257\255-\350\277\236\350\257\215.md" index 3cdf11deaf..995140fb1b 100644 --- "a/_posts/English/2022-08-26-\350\257\255\346\263\225-\350\277\236\350\257\215.md" +++ "b/_posts/English/2022-08-26-\350\213\261\350\257\255-\350\277\236\350\257\215.md" @@ -1,7 +1,7 @@ --- layout: post category: English -title: 语法-连词 +title: 英语-连词 tags: English --- From 8e91ac6a5d69155dc099ffd8a62ba5e97e04de2c Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Mon, 29 Aug 2022 22:00:57 +0800 Subject: [PATCH 046/318] add logbook --- ...ab\345\277\253\346\215\267\351\224\256.md" | 118 +++--- ...10\345\277\253\346\215\267\351\224\256.md" | 12 +- ...54\345\274\217\350\276\223\345\205\245.md" | 6 - _posts/Tech/TOOLS/2018-03-17-markdown.md | 12 - ...18-03-24-excel\346\212\200\345\267\247.md" | 17 +- ...it\347\232\204\351\205\215\347\275\256.md" | 20 +- ...01\345\217\257\350\257\273\346\200\247.md" | 141 +++---- ...31\350\241\250\350\276\276\345\274\217.md" | 240 ++++++------ ...\256\242\346\267\273\345\212\240Live2d.md" | 66 ++-- ...44\347\234\274\346\250\241\345\274\217.md" | 5 +- ...2018-11-25-git\344\275\277\347\224\250.md" | 353 +++++++++++------- ...32\345\256\242\351\207\215\346\236\204.md" | 57 ++- _posts/Tech/TOOLS/2019-03-29-zsh.md | 12 +- ...17\345\233\276\347\224\273\346\263\225.md" | 60 ++- _posts/Tech/TOOLS/2020-11-29-vpn.md | 18 +- ...21\347\273\234\351\200\237\345\272\246.md" | 37 +- ...03-22-\345\217\221\345\270\203gomodule.md" | 12 - ...8-chrome\346\217\222\344\273\266vimium.md" | 5 +- ...1\350\256\276\347\275\2561\344\275\215.md" | 6 +- ...34\345\203\217\345\212\240\351\200\237.md" | 24 +- ...15\345\205\270\351\205\215\347\275\256.md" | 12 +- ...45\345\217\243\350\275\254\345\217\221.md" | 8 +- ...05\350\243\205\346\217\222\344\273\266.md" | 12 +- ...224\275rubbish\347\275\221\347\253\231.md" | 20 +- ...b+picGo+typora\345\233\276\345\272\212.md" | 26 +- ...60\345\255\246\345\205\254\345\274\217.md" | 25 -- ...04\346\272\220\344\270\213\350\275\275.md" | 35 +- ...df\347\251\272\347\231\275\351\241\265.md" | 10 +- 28 files changed, 670 insertions(+), 699 deletions(-) delete mode 100644 "_posts/Tech/TOOLS/2018-01-15-word\345\205\254\345\274\217\350\276\223\345\205\245.md" delete mode 100644 _posts/Tech/TOOLS/2018-03-17-markdown.md delete mode 100644 "_posts/Tech/TOOLS/2021-03-22-\345\217\221\345\270\203gomodule.md" delete mode 100644 "_posts/Tech/Tools/2021-01-24-\345\270\270\347\224\250\346\225\260\345\255\246\345\205\254\345\274\217.md" diff --git "a/_posts/Tech/TOOLS/2017-12-07-matlab\345\277\253\346\215\267\351\224\256.md" "b/_posts/Tech/TOOLS/2017-12-07-matlab\345\277\253\346\215\267\351\224\256.md" index d4ea689f3b..8328587eb7 100644 --- "a/_posts/Tech/TOOLS/2017-12-07-matlab\345\277\253\346\215\267\351\224\256.md" +++ "b/_posts/Tech/TOOLS/2017-12-07-matlab\345\277\253\346\215\267\351\224\256.md" @@ -1,9 +1,10 @@ --- layout: post -category: Tools +category: Tools title: matlab快捷键 tags: Tools --- + 最大化及还原 ctrl+shift+m @@ -18,67 +19,62 @@ tags: Tools 设置标签 - ctrl+F2 f2和shift+f2跳转 - -快捷键ctrl+pageup和ctrl+pagedown之间可以实现在editor中所打开文件之间的切换 + ctrl+F2 f2和shift+f2跳转 -F1帮助 +快捷键 ctrl+pageup 和 ctrl+pagedown 之间可以实现在 editor 中所打开文件之间的切换 -F2改名 +F1 帮助 -F3搜索 +F2 改名 -F4地址 +F3 搜索 -F5刷新 +F4 地址 -F6切换 +F5 刷新 -F10菜单 +F6 切换 -CTRL+A全选 +F10 菜单 -CTRL+C复制 +CTRL+A 全选 -CTRL+X剪切 +CTRL+C 复制 -CTRL+V粘贴 +CTRL+X 剪切 -CTRL+Z撤消 +CTRL+V 粘贴 -CTRL+O打开 +CTRL+Z 撤消 +CTRL+O 打开 -SHIFT+DELETE永久删除 +SHIFT+DELETE 永久删除 -DELETE删除 +DELETE 删除 -ALT+ENTER属性 +ALT+ENTER 属性 -ALT+F4关闭 +ALT+F4 关闭 -CTRL+F4关闭 +CTRL+F4 关闭 -ALT+TAB切换 - -ALT+ESC切换 +ALT+TAB 切换 +ALT+ESC 切换 ALT+空格键窗口菜单 -CTRL+ESC开始菜单 - +CTRL+ESC 开始菜单 -拖动某一项时按CTRL复制所选项目 +拖动某一项时按 CTRL 复制所选项目 +拖动某一项时按 CTRL+SHIFT 创建快捷方式 -拖动某一项时按CTRL+SHIFT创建快捷方式 - - -将光盘插入到CD-ROM驱动器时按SHIFT键阻止光盘自动播放 +将光盘插入到 CD-ROM 驱动器时按 SHIFT 键阻止光盘自动播放 Ctrl+1,2,3... -切换到从左边数起第1,2,3...个标签 +切换到从左边数起第 1,2,3...个标签 Ctrl+A 全部选中当前页面内容 @@ -86,7 +82,6 @@ Ctrl+A Ctrl+C 复制当前选中内容 - Ctrl+D 打开“添加收藏”面版(把当前页面添加到收藏夹中) @@ -96,57 +91,48 @@ Ctrl+E Ctrl+F 打开“查找”面版 - Ctrl+G 打开或关闭“简易收集”面板 Ctrl+H 打开“历史”侧边栏 - Ctrl+I 打开“收藏夹”侧边栏/另:将所有垂直平铺或水平平铺或层叠的窗口恢复 Ctrl+K 关闭除当前和锁定标签外的所有标签 - Ctrl+L -打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...) +打开“打开”面版(可以在当前页面打开 Iternet 地址或其他文件...) Ctrl+N -新建一个空白窗口(可更改,Maxthon选项→标签→新建) - +新建一个空白窗口(可更改,Maxthon 选项 → 标签 → 新建) Ctrl+O -打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...) +打开“打开”面版(可以在当前页面打开 Iternet 地址或其他文件...) Ctrl+P 打开“打印”面板(可以打印网页,图片什么的...) - Ctrl+Q 打开“添加到过滤列表”面板(将当前页面地址发送到过滤列表) Ctrl+R 刷新当前页面 - Ctrl+S 打开“保存网页”面板(可以将当前页面所有内容保存下来) Ctrl+T 垂直平铺所有窗口 - Ctrl+V 粘贴当前剪贴板内的内容 - Ctrl+W 关闭当前标签(窗口) - Ctrl+X 剪切当前选中内容(一般只用于文本操作) @@ -162,45 +148,38 @@ Ctrl+F4 Ctrl+F5 刷新当前页面 - Ctrl+F6 按页面打开的先后时间顺序向前切换标签(窗口) Ctrl+F11 隐藏或显示菜单栏 - Ctrl+Tab 以小菜单方式向下切换标签(窗口) - Ctrl+Enter 域名自动完成[url=]http://www.**.com[/url](内容可更改,Maxthon选项→地址栏→常规)/另:当输入焦点在搜索栏中时,为高亮关键字 - Ctrl+拖曳 -保存该链接的地址或已选中的文本或指定的图片到一个文件夹中(保存目录可更改,Maxthon选项→保存) - +保存该链接的地址或已选中的文本或指定的图片到一个文件夹中(保存目录可更改,Maxthon 选项 → 保存) Ctrl+小键盘'+' -当前页面放大20% +当前页面放大 20% Ctrl+小键盘'-' -当前页面缩小20% - +当前页面缩小 20% -Ctrl+小键盘'*' +Ctrl+小键盘'\*' 恢复当前页面的缩放为原始大小 - Ctrl+Alt+S -自动保存当前页面所有内容到指定文件夹(保存路径可更改,Maxthon选项→保存) +自动保存当前页面所有内容到指定文件夹(保存路径可更改,Maxthon 选项 → 保存) Ctrl+Shift+小键盘'+' -所有页面放大20% +所有页面放大 20% Ctrl+Shift+小键盘'-' -所有页面缩小20% +所有页面缩小 20% Ctrl+Shift+F 输入焦点移到搜索栏 @@ -208,23 +187,18 @@ Ctrl+Shift+F Ctrl+Shift+G 关闭“简易收集”面板 - Ctrl+Shift+H 打开并激活到你设置的主页 - Ctrl+Shift+N -在新窗口中打开剪贴板中的地址,如果剪贴板中为文字,则调用搜索引擎搜索该文字(搜索引擎可选择,Maxthon选项→搜索) - +在新窗口中打开剪贴板中的地址,如果剪贴板中为文字,则调用搜索引擎搜索该文字(搜索引擎可选择,Maxthon 选项 → 搜索) Ctrl+Shift+S -打开“保存网页”面板(可以将当前页面所有内容保存下来,等同于Ctrl+S) - +打开“保存网页”面板(可以将当前页面所有内容保存下来,等同于 Ctrl+S) Ctrl+Shift+W 关闭除锁定标签外的全部标签(窗口) - Ctrl+Shift+F6 按页面打开的先后时间顺序向后切换标签(窗口) @@ -245,19 +219,15 @@ Alt+A 资源管理器 +END 显示当前窗口的底端 -END显示当前窗口的底端 - -HOME显示当前窗口的顶端 - +HOME 显示当前窗口的顶端 NUMLOCK+数字键盘的减号(-)折叠所选的文件夹 - NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容 - -NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹 +NUMLOCK+数字键盘的星号(\*)显示所选文件夹的所有子文件夹 向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹 diff --git "a/_posts/Tech/TOOLS/2017-12-22-win10\345\277\253\346\215\267\351\224\256.md" "b/_posts/Tech/TOOLS/2017-12-22-win10\345\277\253\346\215\267\351\224\256.md" index 6a9c0d580f..f920ad24d1 100644 --- "a/_posts/Tech/TOOLS/2017-12-22-win10\345\277\253\346\215\267\351\224\256.md" +++ "b/_posts/Tech/TOOLS/2017-12-22-win10\345\277\253\346\215\267\351\224\256.md" @@ -1,17 +1,19 @@ --- layout: post -category: Tools +category: Tools title: win10快捷键 tags: Tools --- -## win10快捷键 + +## win10 快捷键 + win+shift+s 划矩形截图!!! Win + I:打开设置应用; Win + M:最小化所有窗口 -Win + S:打开Cortana +Win + S:打开 Cortana Win + T:将焦点切换到任务栏图标,并在图标之间进行切换 @@ -21,6 +23,6 @@ Win + 数字键:打开或切换到任务栏上对应位置的应用或程序 Win + Pause:打开系统属性 -Win + Home:相当于拖动活动窗口摇晃,即Aero Shake,除了当前窗口,将其他窗口最小化 +Win + Home:相当于拖动活动窗口摇晃,即 Aero Shake,除了当前窗口,将其他窗口最小化 -Win + W:打开Windows Ink \ No newline at end of file +Win + W:打开 Windows Ink diff --git "a/_posts/Tech/TOOLS/2018-01-15-word\345\205\254\345\274\217\350\276\223\345\205\245.md" "b/_posts/Tech/TOOLS/2018-01-15-word\345\205\254\345\274\217\350\276\223\345\205\245.md" deleted file mode 100644 index 28e84c1d2d..0000000000 --- "a/_posts/Tech/TOOLS/2018-01-15-word\345\205\254\345\274\217\350\276\223\345\205\245.md" +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: post -category: Tools -title: word数学符号输入 -tags: Tools ---- diff --git a/_posts/Tech/TOOLS/2018-03-17-markdown.md b/_posts/Tech/TOOLS/2018-03-17-markdown.md deleted file mode 100644 index 75c14c432a..0000000000 --- a/_posts/Tech/TOOLS/2018-03-17-markdown.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -category: Tools -title: markdown安装 -tags: Tools ---- - -## 邮箱 -Soar360@live.com - -## 密钥 -GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6bnxn2kSE8qHqNY5QaaRxmO3YSMHxlv2EYpjdwLcPwfeTG7kUdnhKE0vVy4RidP6Y2wZ0q74f47fzsZo45JE2hfQBFi2O9Jldjp1mW8HUpTtLA2a5/sQytXJUQl/QKO0jUQY4pa5CCx20sV1ClOTZtAGngSOJtIOFXK599sBr5aIEFyH0K7H4BoNMiiDMnxt1rD8Vb/ikJdhGMMQr0R4B+L3nWU97eaVPTRKfWGDE8/eAgKzpGwrQQoDh+nzX1xoVQ8NAuH+s4UcSeQ== \ No newline at end of file diff --git "a/_posts/Tech/TOOLS/2018-03-24-excel\346\212\200\345\267\247.md" "b/_posts/Tech/TOOLS/2018-03-24-excel\346\212\200\345\267\247.md" index 854817679e..3db3f22dd1 100644 --- "a/_posts/Tech/TOOLS/2018-03-24-excel\346\212\200\345\267\247.md" +++ "b/_posts/Tech/TOOLS/2018-03-24-excel\346\212\200\345\267\247.md" @@ -1,26 +1,29 @@ --- layout: post -category: Tools +category: Tools title: excel技巧 tags: Tools --- -## vlookup函数使用 +## vlookup 函数使用 ### 用处 + 用来根据某些信息匹配自动输入,免得自己查找 ### 使用方法 -在要输入信息的框中输入=vlook,然后tab会输入=vlookup(,此时按ctrl+a,弹出输入参数框,第一个参数选择匹配字段,一个就行, -第二个参数选择数据来源,自己画方框就行,其中这个方框的首列是匹配字段列,然后按F4,让每个参数前面都有个$,改成绝对地址, -第三个参数输入要输入的字段在以匹配字段为首列的第二个参数选择框中的第几列,比如是2,第一列就是匹配字段,第二列就是查找字段 -第三个参数输入0就好了 + +在要输入信息的框中输入=vlook,然后 tab 会输入=vlookup(,此时按 ctrl+a,弹出输入参数框,第一个参数选择匹配字段,一个就行, +第二个参数选择数据来源,自己画方框就行,其中这个方框的首列是匹配字段列,然后按 F4,让每个参数前面都有个$,改成绝对地址, +第三个参数输入要输入的字段在以匹配字段为首列的第二个参数选择框中的第几列,比如是 2,第一列就是匹配字段,第二列就是查找字段 +第三个参数输入 0 就好了 这是一个框的,下面的框,直接双击的+下拉就好了 [参考视频](http://haokan.baidu.com/v?pd=wisenatural&vid=8614654180070298635) ## 除法 + 输入=,选择参数框,输入符号,回车,双击+下来,挺好用的 -除法就是输入=。。。。。然后下来,下面的会智能的选择同一行 \ No newline at end of file +除法就是输入=。。。。。然后下来,下面的会智能的选择同一行 diff --git "a/_posts/Tech/TOOLS/2018-07-01-git\347\232\204\351\205\215\347\275\256.md" "b/_posts/Tech/TOOLS/2018-07-01-git\347\232\204\351\205\215\347\275\256.md" index 057eb66834..97edc91dfe 100644 --- "a/_posts/Tech/TOOLS/2018-07-01-git\347\232\204\351\205\215\347\275\256.md" +++ "b/_posts/Tech/TOOLS/2018-07-01-git\347\232\204\351\205\215\347\275\256.md" @@ -6,17 +6,19 @@ tags: Tools --- ## 本地配置 + ``` git config --global user.email "846897373@qq.com" (该邮箱地址必须和github上邮箱一样) -git config --global user.name "mafulong" +git config --global user.name "mafulong" (名字和github上的用户名一样) ``` 查看命令: + ``` git config -global user.name git config -global user.email @@ -25,29 +27,35 @@ git config -global user.email ## 远程配置 ### 生成密钥 + ``` ssh-keygen -t rsa -C "846897373@qq.com" ``` ### 提交密钥 -文件,win10的在用户目录下的.ssh下 + +文件,win10 的在用户目录下的.ssh 下 + ``` id_rsa.pub ``` -使用命令(win10及linux公用) +使用命令(win10 及 linux 公用) + ``` -cat ~/.ssh/id_rsa.pub +cat ~/.ssh/id_rsa.pub ``` -### 检验是否链接上github +### 检验是否链接上 github + ``` ssh git@github.com ``` result: + ``` PTY allocation request failed on channel 0 Hi mafulong! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed. -``` \ No newline at end of file +``` diff --git "a/_posts/Tech/TOOLS/2018-07-22-\344\273\243\347\240\201\345\217\257\350\257\273\346\200\247.md" "b/_posts/Tech/TOOLS/2018-07-22-\344\273\243\347\240\201\345\217\257\350\257\273\346\200\247.md" index 6d9be9c817..7f16cf446c 100644 --- "a/_posts/Tech/TOOLS/2018-07-22-\344\273\243\347\240\201\345\217\257\350\257\273\346\200\247.md" +++ "b/_posts/Tech/TOOLS/2018-07-22-\344\273\243\347\240\201\345\217\257\350\257\273\346\200\247.md" @@ -6,22 +6,22 @@ tags: Tools --- -* [一、可读性的重要性](#一可读性的重要性) -* [二、用名字表达代码含义](#二用名字表达代码含义) -* [三、名字不能带来歧义](#三名字不能带来歧义) -* [四、良好的代码风格](#四良好的代码风格) -* [五、为何编写注释](#五为何编写注释) -* [六、如何编写注释](#六如何编写注释) -* [七、提高控制流的可读性](#七提高控制流的可读性) -* [八、拆分长表达式](#八拆分长表达式) -* [九、变量与可读性](#九变量与可读性) -* [十、抽取函数](#十抽取函数) -* [十一、一次只做一件事](#十一一次只做一件事) -* [十二、用自然语言表述代码](#十二用自然语言表述代码) -* [十三、减少代码量](#十三减少代码量) -* [参考资料](#参考资料) - +- [一、可读性的重要性](#一可读性的重要性) +- [二、用名字表达代码含义](#二用名字表达代码含义) +- [三、名字不能带来歧义](#三名字不能带来歧义) +- [四、良好的代码风格](#四良好的代码风格) +- [五、为何编写注释](#五为何编写注释) +- [六、如何编写注释](#六如何编写注释) +- [七、提高控制流的可读性](#七提高控制流的可读性) +- [八、拆分长表达式](#八拆分长表达式) +- [九、变量与可读性](#九变量与可读性) +- [十、抽取函数](#十抽取函数) +- [十一、一次只做一件事](#十一一次只做一件事) +- [十二、用自然语言表述代码](#十二用自然语言表述代码) +- [十三、减少代码量](#十三减少代码量) +- [参考资料](#参考资料) + ## 一、可读性的重要性 @@ -35,12 +35,12 @@ tags: Tools 一些比较有表达力的单词: -| 单词 | 可替代单词 | -| :---: | --- | -| send | deliver、dispatch、announce、distribute、route | -| find | search、extract、locate、recover | -| start| launch、create、begin、open| -| make | create、set up、build、generate、compose、add、new | +| 单词 | 可替代单词 | +| :---: | -------------------------------------------------- | +| send | deliver、dispatch、announce、distribute、route | +| find | search、extract、locate、recover | +| start | launch、create、begin、open | +| make | create、set up、build、generate、compose、add、new | 使用 i、j、k 作为循环迭代器的名字过于简单,user_i、member_i 这种名字会更有表达力。因为循环层次越多,代码越难理解,有表达力的迭代器名字可读性会更高。 @@ -56,7 +56,6 @@ tags: Tools - 用 first、last 表示访问空间的包含范围; - begin、end 表示访问空间的排除范围,即 end 不包含尾部。 - ## 四、良好的代码风格 适当的空行和缩进。 @@ -83,12 +82,12 @@ int c = 111; // 注释 用 TODO 等做标记: -| 标记 | 用法 | -|---|---| -|TODO| 待做 | -|FIXME| 待修复 | -|HACK| 粗糙的解决方案 | -|XXX| 危险!这里有重要的问题 | +| 标记 | 用法 | +| ----- | ---------------------- | +| TODO | 待做 | +| FIXME | 待修复 | +| HACK | 粗糙的解决方案 | +| XXX | 危险!这里有重要的问题 | ## 六、如何编写注释 @@ -142,6 +141,7 @@ do / while 的条件放在后面,不够简单明了,并且会有一些迷惑 if line.split(':')[0].strip() == "root": ... ``` + ```python username = line.split(':')[0].strip() if username == "root": @@ -155,6 +155,7 @@ if (!a && !b) { ... } ``` + ```java if (!(a || b)) { ... @@ -191,59 +192,59 @@ JavaScript 可以用闭包减小作用域。以下代码中 submit_form 是函 ```js submitted = false; -var submit_form = function(form_name) { - if (submitted) { - return; - } - submitted = true; +var submit_form = function (form_name) { + if (submitted) { + return; + } + submitted = true; }; ``` ```js -var submit_form = (function() { - var submitted = false; - return function(form_name) { - if(submitted) { - return; - } - submitted = true; +var submit_form = (function () { + var submitted = false; + return function (form_name) { + if (submitted) { + return; } -}()); // () 使得外层匿名函数立即执行 + submitted = true; + }; +})(); // () 使得外层匿名函数立即执行 ``` JavaScript 中没有用 var 声明的变量都是全局变量,而全局变量很容易造成迷惑,因此应当总是用 var 来声明变量。 变量定义的位置应当离它使用的位置最近。 -**实例解析** +**实例解析** 在一个网页中有以下文本输入字段: ```html - - - - + + + + ``` 现在要接受一个字符串并把它放到第一个空的 input 字段中,初始实现如下: ```js -var setFirstEmptyInput = function(new_alue) { - var found = false; - var i = 1; - var elem = document.getElementById('input' + i); - while (elem != null) { - if (elem.value === '') { - found = true; - break; - } - i++; - elem = document.getElementById('input' + i); +var setFirstEmptyInput = function (new_alue) { + var found = false; + var i = 1; + var elem = document.getElementById("input" + i); + while (elem != null) { + if (elem.value === "") { + found = true; + break; } - if (found) elem.value = new_value; - return elem; -} + i++; + elem = document.getElementById("input" + i); + } + if (found) elem.value = new_value; + return elem; +}; ``` 以上实现有以下问题: @@ -253,17 +254,17 @@ var setFirstEmptyInput = function(new_alue) { - 可以用 for 循环代替 while 循环; ```js -var setFirstEmptyInput = function(new_value) { - for (var i = 1; true; i++) { - var elem = document.getElementById('input' + i); - if (elem === null) { - return null; - } - if (elem.value === '') { - elem.value = new_value; - return elem; - } +var setFirstEmptyInput = function (new_value) { + for (var i = 1; true; i++) { + var elem = document.getElementById("input" + i); + if (elem === null) { + return null; + } + if (elem.value === "") { + elem.value = new_value; + return elem; } + } }; ``` diff --git "a/_posts/Tech/TOOLS/2018-07-22-\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" "b/_posts/Tech/TOOLS/2018-07-22-\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" index 7c55d762d5..80f2d405ce 100644 --- "a/_posts/Tech/TOOLS/2018-07-22-\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" +++ "b/_posts/Tech/TOOLS/2018-07-22-\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217.md" @@ -6,19 +6,19 @@ tags: Tools --- -* [一、概述](#一概述) -* [二、匹配单个字符](#二匹配单个字符) -* [三、匹配一组字符](#三匹配一组字符) -* [四、使用元字符](#四使用元字符) -* [五、重复匹配](#五重复匹配) -* [六、位置匹配](#六位置匹配) -* [七、使用子表达式](#七使用子表达式) -* [八、回溯引用](#八回溯引用) -* [九、前后查找](#九前后查找) -* [十、嵌入条件](#十嵌入条件) -* [参考资料](#参考资料) - +- [一、概述](#一概述) +- [二、匹配单个字符](#二匹配单个字符) +- [三、匹配一组字符](#三匹配一组字符) +- [四、使用元字符](#四使用元字符) +- [五、重复匹配](#五重复匹配) +- [六、位置匹配](#六位置匹配) +- [七、使用子表达式](#七使用子表达式) +- [八、回溯引用](#八回溯引用) +- [九、前后查找](#九前后查找) +- [十、嵌入条件](#十嵌入条件) +- [参考资料](#参考资料) + # 一、概述 @@ -32,58 +32,58 @@ tags: Tools 正则表达式一般是区分大小写的,但是也有些实现是不区分。 -**.** 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; +**.** 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; -**\\** 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。 +**\\** 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。 -**正则表达式** +**正则表达式** ``` nam. ``` -**匹配结果** +**匹配结果** -My **name** is Zheng. +My **name** is Zheng. # 三、匹配一组字符 -**[ ]** 定义一个字符集合; +**[ ]** 定义一个字符集合; 0-9、a-z 定义了一个字符区间,区间使用 ASCII 码来确定,字符区间只能用在 [ ] 之间。 -**-** 元字符只有在 [ ] 之间才是元字符,在 [ ] 之外就是一个普通字符; +**-** 元字符只有在 [ ] 之间才是元字符,在 [ ] 之外就是一个普通字符; -**^** 在 [ ] 字符集合中是取非操作。 +**^** 在 [ ] 字符集合中是取非操作。 -**应用** +**应用** 匹配以 abc 为开头,并且最后一个字母不为数字的字符串: -**正则表达式** +**正则表达式** ``` abc[^0-9] ``` -**匹配结果** +**匹配结果** -1. **abcd** -2. abc1 -3. abc2 +1. **abcd** +2. abc1 +3. abc2 # 四、使用元字符 ## 匹配空白字符 -| 元字符 | 说明 | -| :---: | :---: | -| [\b] | 回退(删除)一个字符 | -| \f | 换页符 | -| \n | 换行符 | -| \r | 回车符 | -| \t | 制表符 | -| \v | 垂直制表符 | +| 元字符 | 说明 | +| :----: | :------------------: | +| [\b] | 回退(删除)一个字符 | +| \f | 换页符 | +| \n | 换行符 | +| \r | 回车符 | +| \t | 制表符 | +| \v | 垂直制表符 | \r\n 是 Windows 中的文本行结束标签,在 Unix/Linux 则是 \n ;\r\n\r\n 可以匹配 Windows 下的空白行,因为它将匹配两个连续的行尾标签,而这正是两条记录之间的空白行; @@ -93,36 +93,36 @@ abc[^0-9] ### 1. 数字元字符 -| 元字符 | 说明 | -| :---: | :---: | -| \d | 数字字符,等价于 [0-9] | -| \D | 非数字字符,等价于 [^0-9] | +| 元字符 | 说明 | +| :----: | :-----------------------: | +| \d | 数字字符,等价于 [0-9] | +| \D | 非数字字符,等价于 [^0-9] | ### 2. 字母数字元字符 -| 元字符 | 说明 | -| :---: | :---: | -| \w | 大小写字母,下划线和数字,等价于 [a-zA-Z0-9\_] | -| \W | 对 \w 取非 | +| 元字符 | 说明 | +| :----: | :--------------------------------------------: | +| \w | 大小写字母,下划线和数字,等价于 [a-zA-Z0-9\_] | +| \W | 对 \w 取非 | ### 3. 空白字符元字符 -| 元字符 | 说明 | -| :---: | :---: | -| \s | 任何一个空白字符,等价于 [\f\n\r\t\v] | -| \S | 对 \s 取非 | +| 元字符 | 说明 | +| :----: | :-----------------------------------: | +| \s | 任何一个空白字符,等价于 [\f\n\r\t\v] | +| \S | 对 \s 取非 | \x 匹配十六进制字符,\0 匹配八进制,例如 \x0A 对应 ASCII 字符 10 ,等价于 \n,也就是它会匹配 \n 。 # 五、重复匹配 -**\+** 匹配 1 个或者多个字符, **\*** 匹配 0 个或者多个,**?** 匹配 0 个或者 1 个。 +**\+** 匹配 1 个或者多个字符, **\*** 匹配 0 个或者多个,**?** 匹配 0 个或者 1 个。 -**应用** +**应用** 匹配邮箱地址。 -**正则表达式** +**正则表达式** ``` [\w.]+@\w+\.\w+ @@ -130,9 +130,9 @@ abc[^0-9] [\w.] 匹配的是字母数字或者 . ,在其后面加上 + ,表示匹配多次。在字符集合 [ ] 里,. 不是元字符; -**匹配结果** +**匹配结果** -**abc.def@qq.com** +**abc.def@qq.com** 为了可读性,常常把转义的字符放到字符集合 [ ] 中,但是含义是相同的。 @@ -141,11 +141,11 @@ abc[^0-9] [\w.]+@[\w]+[\.][\w]+ ``` -**{n}** 匹配 n 个字符,**{m, n}** 匹配 m\~n 个字符,**{m,}** 至少匹配 m 个字符; +**{n}** 匹配 n 个字符,**{m, n}** 匹配 m\~n 个字符,**{m,}** 至少匹配 m 个字符; \* 和 + 都是贪婪型元字符,会匹配最多的内容,在元字符后面加 ? 可以转换为懒惰型元字符,例如 \*?、+? 和 {m, n}? 。 -**正则表达式** +**正则表达式** ``` a.+c @@ -153,77 +153,77 @@ a.+c 由于 + 是贪婪型的,因此 .+ 会匹配更可能多的内容,所以会把整个 abcabcabc 文本都匹配,而不是只匹配前面的 abc 文本。用懒惰型可以实现匹配前面的。 -**匹配结果** +**匹配结果** -**abcabcabc** +**abcabcabc** # 六、位置匹配 ## 单词边界 -**\b** 可以匹配一个单词的边界,边界是指位于 \w 和 \W 之间的位置;**\B** 匹配一个不是单词边界的位置。 +**\b** 可以匹配一个单词的边界,边界是指位于 \w 和 \W 之间的位置;**\B** 匹配一个不是单词边界的位置。 \b 只匹配位置,不匹配字符,因此 \babc\b 匹配出来的结果为 3 个字符。 ## 字符串边界 -**^** 匹配整个字符串的开头,**$** 匹配结尾。 +**^** 匹配整个字符串的开头,**$** 匹配结尾。 ^ 元字符在字符集合中用作求非,在字符集合外用作匹配字符串的开头。 分行匹配模式(multiline)下,换行被当做字符串的边界。 -**应用** +**应用** 匹配代码中以 // 开始的注释行 -**正则表达式** +**正则表达式** ``` ^\s*\/\/.*$ ``` -**匹配结果** +**匹配结果** 1. public void fun() { -2.      **// 注释 1** -3.      int a = 1; -4.      int b = 2; -5.      **// 注释 2** -6.      int c = a + b; +2.      **// 注释 1** +3.      int a = 1; +4.      int b = 2; +5.      **// 注释 2** +6.      int c = a + b; 7. } # 七、使用子表达式 -使用 **( )** 定义一个子表达式。子表达式的内容可以当成一个独立元素,即可以将它看成一个字符,并且使用 * 等元字符。 +使用 **( )** 定义一个子表达式。子表达式的内容可以当成一个独立元素,即可以将它看成一个字符,并且使用 \* 等元字符。 子表达式可以嵌套,但是嵌套层次过深会变得很难理解。 -**正则表达式** +**正则表达式** ``` (ab){2,} ``` -**匹配结果** +**匹配结果** -**ababab** +**ababab** -**|** 是或元字符,它把左边和右边所有的部分都看成单独的两个部分,两个部分只要有一个匹配就行。 +**|** 是或元字符,它把左边和右边所有的部分都看成单独的两个部分,两个部分只要有一个匹配就行。 -**正则表达式** +**正则表达式** ``` (19|20)\d{2} ``` -**匹配结果** +**匹配结果** -1. **1900** -2. **2010** -3. 1020 +1. **1900** +2. **2010** +3. 1020 -**应用** +**应用** 匹配 IP 地址。IP 地址中每部分都是 0-255 的数字,用正则表达式匹配时以下情况是合法的: @@ -233,27 +233,27 @@ a.+c - 2 开头,第 2 位是 0-4 的三位数 - 25 开头,第 3 位是 0-5 的三位数 -**正则表达式** +**正则表达式** ``` ((25[0-5]|(2[0-4]\d)|(1\d{2})|([1-9]\d)|(\d))\.){3}(25[0-5]|(2[0-4]\d)|(1\d{2})|([1-9]\d)|(\d)) ``` -**匹配结果** +**匹配结果** -1. **192.168.0.1** -2. 00.00.00.00 -3. 555.555.555.555 +1. **192.168.0.1** +2. 00.00.00.00 +3. 555.555.555.555 # 八、回溯引用 -回溯引用使用 **\n** 来引用某个子表达式,其中 n 代表的是子表达式的序号,从 1 开始。它和子表达式匹配的内容一致,比如子表达式匹配到 abc,那么回溯引用部分也需要匹配 abc 。 +回溯引用使用 **\n** 来引用某个子表达式,其中 n 代表的是子表达式的序号,从 1 开始。它和子表达式匹配的内容一致,比如子表达式匹配到 abc,那么回溯引用部分也需要匹配 abc 。 -**应用** +**应用** 匹配 HTML 中合法的标题元素。 -**正则表达式** +**正则表达式** \1 将回溯引用子表达式 (h[1-6]) 匹配的内容,也就是说必须和子表达式匹配的内容一致。 @@ -261,31 +261,31 @@ a.+c <(h[1-6])>\w*?<\/\1> ``` -**匹配结果** +**匹配结果** -1. **<h1>x</h1>** -2. **<h2>x</h2>** -3. <h3>x</h1> +1. **<h1>x</h1>** +2. **<h2>x</h2>** +3. <h3>x</h1> ## 替换 需要用到两个正则表达式。 -**应用** +**应用** 修改电话号码格式。 -**文本** +**文本** 313-555-1234 -**查找正则表达式** +**查找正则表达式** ``` (\d{3})(-)(\d{3})(-)(\d{4}) ``` -**替换正则表达式** +**替换正则表达式** 在第一个子表达式查找的结果加上 () ,然后加一个空格,在第三个和第五个字表达式查找的结果中间加上 - 进行分隔。 @@ -293,59 +293,59 @@ a.+c ($1) $3-$5 ``` -**结果** +**结果** (313) 555-1234 ## 大小写转换 -| 元字符 | 说明 | -| :---: | :---: | -| \l | 把下个字符转换为小写 | -| \u| 把下个字符转换为大写 | -| \L | 把\L 和\E 之间的字符全部转换为小写 | -| \U | 把\U 和\E 之间的字符全部转换为大写 | -| \E | 结束\L 或者\U | +| 元字符 | 说明 | +| :----: | :--------------------------------: | +| \l | 把下个字符转换为小写 | +| \u | 把下个字符转换为大写 | +| \L | 把\L 和\E 之间的字符全部转换为小写 | +| \U | 把\U 和\E 之间的字符全部转换为大写 | +| \E | 结束\L 或者\U | -**应用** +**应用** 把文本的第二个和第三个字符转换为大写。 -**文本** +**文本** abcd -**查找** +**查找** ``` (\w)(\w{2})(\w) ``` -**替换** +**替换** ``` $1\U$2\E$3 ``` -**结果** +**结果** aBCd # 九、前后查找 -前后查找规定了匹配的内容首尾应该匹配的内容,但是又不包含首尾匹配的内容。向前查找用 **?=** 来定义,它规定了尾部匹配的内容,这个匹配的内容在 ?= 之后定义。所谓向前查找,就是规定了一个匹配的内容,然后以这个内容为尾部向前面查找需要匹配的内容。向后匹配用 ?<= 定义(注: javaScript 不支持向后匹配, java 对其支持也不完善)。 +前后查找规定了匹配的内容首尾应该匹配的内容,但是又不包含首尾匹配的内容。向前查找用 **?=** 来定义,它规定了尾部匹配的内容,这个匹配的内容在 ?= 之后定义。所谓向前查找,就是规定了一个匹配的内容,然后以这个内容为尾部向前面查找需要匹配的内容。向后匹配用 ?<= 定义(注: javaScript 不支持向后匹配, java 对其支持也不完善)。 -**应用** +**应用** 查找出邮件地址 @ 字符前面的部分。 -**正则表达式** +**正则表达式** ``` \w+(?=@) ``` -**结果** +**结果** **abc** @qq.com @@ -357,7 +357,7 @@ aBCd 条件判断为某个子表达式是否匹配,如果匹配则需要继续匹配条件表达式后面的内容。 -**正则表达式** +**正则表达式** 子表达式 (\\() 匹配一个左括号,其后的 ? 表示匹配 0 个或者 1 个。 ?(1) 为条件,当子表达式 1 匹配时条件成立,需要执行 \) 匹配,也就是匹配右括号。 @@ -365,29 +365,29 @@ aBCd (\()?abc(?(1)\)) ``` -**结果** +**结果** -1. **(abc)** -2. **abc** -3. (abc +1. **(abc)** +2. **abc** +3. (abc ## 前后查找条件 条件为定义的首尾是否匹配,如果匹配,则继续执行后面的匹配。注意,首尾不包含在匹配的内容中。 -**正则表达式** +**正则表达式** - ?(?=-) 为前向查找条件,只有在以 - 为前向查找的结尾能匹配 \d{5} ,才继续匹配 -\d{4} 。 +?(?=-) 为前向查找条件,只有在以 - 为前向查找的结尾能匹配 \d{5} ,才继续匹配 -\d{4} 。 ``` \d{5}(?(?=-)-\d{4}) ``` -**结果** +**结果** -1. **11111** -2. 22222- -3. **33333-4444** +1. **11111** +2. 22222- +3. **33333-4444** # 参考资料 diff --git "a/_posts/Tech/TOOLS/2018-08-26-\345\215\232\345\256\242\346\267\273\345\212\240Live2d.md" "b/_posts/Tech/TOOLS/2018-08-26-\345\215\232\345\256\242\346\267\273\345\212\240Live2d.md" index c0e3e9a26c..9fb111c824 100644 --- "a/_posts/Tech/TOOLS/2018-08-26-\345\215\232\345\256\242\346\267\273\345\212\240Live2d.md" +++ "b/_posts/Tech/TOOLS/2018-08-26-\345\215\232\345\256\242\346\267\273\345\212\240Live2d.md" @@ -10,54 +10,66 @@ tags: Tools [下载及参考链接](https://github.com/galnetwen/Live2D) ## 正式开工 + 在你博客程序头部文件(header)引入界面样式,在 head 标签内插入如下代码: + ```html ``` 在 body 标签内合适的位置插入 Live2D 看板娘的元素,按照 Html 书写规范写 ~ + ```html
-
- -
隐藏
+
+ +
隐藏
``` 在你博客程序页脚文件(footer)引入脚本,在 body 标签结束前插入如下代码: + ```html ``` 鼠标放在页面某个元素上时,需要 Live2D 看板娘提示的请修改 message.json 文件。 **示例:** + ```json { - "mouseover": [ - { - "selector": ".title a", //此处修改为你页面元素的标签名 - "text": ["要看看 {text} 么?"] //此处修改为你需要提示的文字 - }, - { - "selector": "#searchbox", - "text": ["在找什么东西呢,需要帮忙吗?"] - } - ], - "click": [ //此处是 Live2D 看板娘的触摸事件提示 - { - "selector": "#landlord #live2d", - "text": ["不要动手动脚的!快把手拿开~~", "真…真的是不知羞耻!","Hentai!", "再摸的话我可要报警了!⌇●﹏●⌇", "110吗,这里有个变态一直在摸我(ó﹏ò。)"] - } - ] + "mouseover": [ + { + "selector": ".title a", //此处修改为你页面元素的标签名 + "text": ["要看看 {text} 么?"] //此处修改为你需要提示的文字 + }, + { + "selector": "#searchbox", + "text": ["在找什么东西呢,需要帮忙吗?"] + } + ], + "click": [ + //此处是 Live2D 看板娘的触摸事件提示 + { + "selector": "#landlord #live2d", + "text": [ + "不要动手动脚的!快把手拿开~~", + "真…真的是不知羞耻!", + "Hentai!", + "再摸的话我可要报警了!⌇●﹏●⌇", + "110吗,这里有个变态一直在摸我(ó﹏ò。)" + ] + } + ] } ``` @@ -68,18 +80,20 @@ PHP 程序推荐使用主题函数获取绝对路径。 **问:“为什么这个 Live2D 没有换装功能哎?”** **答:“自己研究去。”** - + ~~其实,就是动态改变 model.json 内的服装字段,达到随机服装的效果……~~ ## 模型欣赏 + ![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/9fe2b98062e87d05a66daf0565115b4b.png) ![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/c38bf3e8cc64d6cb4780d049527d3464.png) ## 模型说明 + > Live2D 并不是一种先进的技术,它产生的效果,都是用基本的平移、旋转、透明、曲面变形等操作实现的。 -最终的效果与贴图关系很大,而每一个动作,都需要制作师的精细调整。 -这是一个需要消耗大量时间精力的过程,因此质量好的模型并不多,质量好的也一般是在游戏中,版权受到保护,**不能随意使用**。 +> 最终的效果与贴图关系很大,而每一个动作,都需要制作师的精细调整。 +> 这是一个需要消耗大量时间精力的过程,因此质量好的模型并不多,质量好的也一般是在游戏中,版权受到保护,**不能随意使用**。 本文章中所用模型解包自 [药水制作师](https://play.google.com/store/apps/details?id=com.sinsiroad.potionmaker&hl=zh_CN "药水制作师") 手机游戏,版权归该官方所有。 (没错,我也安利下这款 ~~萝莉控~~ 游戏。啪!) -![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/6f33e886a13443de172516f03d7f61a0.png) \ No newline at end of file +![](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/6f33e886a13443de172516f03d7f61a0.png) diff --git "a/_posts/Tech/TOOLS/2018-09-27-pdf reader\346\212\244\347\234\274\346\250\241\345\274\217.md" "b/_posts/Tech/TOOLS/2018-09-27-pdf reader\346\212\244\347\234\274\346\250\241\345\274\217.md" index 6820a56d33..2804459ad3 100644 --- "a/_posts/Tech/TOOLS/2018-09-27-pdf reader\346\212\244\347\234\274\346\250\241\345\274\217.md" +++ "b/_posts/Tech/TOOLS/2018-09-27-pdf reader\346\212\244\347\234\274\346\250\241\345\274\217.md" @@ -5,7 +5,6 @@ title: pdf reader护眼模式 tags: Tools --- -主菜单->编辑->首选项->辅助工具->替换文档颜色->自定义颜色->页面背景->其它颜色->按下列设置更改:色调:85;饱和度:123;亮度:205->添加到自定义颜色->在自定义颜色选定点确定->确定。这样PDF文档不再是刺眼的白底黑字,而是非常柔和的豆沙绿色,这个色调是眼科专家配置的,长时间使用会很有效的缓解眼睛疲劳保护眼睛。 - -改变其他文档颜色的方法:桌面->右键->属性->外观->高级->项目选择(窗口)、颜色1(L)选择(其它)将色调改为:85。饱和度:123。亮度:205->添加到自定义颜色->在自定义颜色选定点确定->确定这样所有的文档都不再是刺眼的白底黑字,而是非常柔和的豆沙绿色。 +主菜单->编辑->首选项->辅助工具->替换文档颜色->自定义颜色->页面背景->其它颜色->按下列设置更改:色调:85;饱和度:123;亮度:205->添加到自定义颜色->在自定义颜色选定点确定->确定。这样 PDF 文档不再是刺眼的白底黑字,而是非常柔和的豆沙绿色,这个色调是眼科专家配置的,长时间使用会很有效的缓解眼睛疲劳保护眼睛。 +改变其他文档颜色的方法:桌面->右键->属性->外观->高级->项目选择(窗口)、颜色 1(L)选择(其它)将色调改为:85。饱和度:123。亮度:205->添加到自定义颜色->在自定义颜色选定点确定->确定这样所有的文档都不再是刺眼的白底黑字,而是非常柔和的豆沙绿色。 diff --git "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" index ff5f280723..88bde9b47d 100644 --- "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" +++ "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" @@ -5,6 +5,58 @@ title: git使用 tags: Tools --- +## 首先要搞清楚下面几个概念 + +- `HEAD`: `HEAD`就是指向当前分支当前版本的游标 +- Index/stage: Index即为暂存区,当你修改了你的git仓库里的一个文件时,这些变化一开始是unstaged状态,为了提交这些修改,你需要使用`git add`把它加入到index,使它成为staged状态。当你提交一个commit时,index里面的修改被提交。 +- working tree: 即当前的工作目录。 + +## 工作区域转换 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202208292149111) + +```python +from index to working directory: git restore --staged xx or git reset commit/HEAD. +from head to index: git reset commit --soft 把去除的commit的changes恢复到stage了 +modifed files from index to working directory: git co +``` + +文件的四种状态 + +版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。 + +GIT不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方法就是用 + +SHA-1算法计算文件的校验和。 + +![img](https:////upload-images.jianshu.io/upload_images/16000510-ca2cf9efda090d25.png?imageMogr2/auto-orient/strip|imageView2/2/w/800/format/webp) + +**Untracked:**未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged. + +**Unmodify:**文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. + +​ 如果使用git rm移出版本库, 则成为Untracked文件 + + **Modified:** 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用**git checkout** 则丢弃修改, 返回到unmodify状态, 这个git checkout即从stage中取出文件, 覆盖当前修改 + + **Staged:** 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, + +​ 文件状态为Modified + + 下面的图很好的解释了这四种状态的转变: + +![img](https:////upload-images.jianshu.io/upload_images/16000510-2b3ec76ac612f47f.png?imageMogr2/auto-orient/strip|imageView2/2/w/1047/format/webp) + +新建文件--->Untracked + +使用add命令将新建的文件加入到暂存区--->Staged + +使用commit命令将暂存区的文件提交到本地仓库--->Unmodified + +如果对Unmodified状态的文件进行修改---> modified + +如果对Unmodified状态的文件进行remove操作--->Untracked + ## 最基本的提交代码 ``` @@ -33,10 +85,9 @@ git checkout -b dev_mfl_test origin/dev_mafulong [参考](https://www.cnblogs.com/luosongchao/p/3408365.html) - ``` 删除分支:git branch -d -查看远程分支: +查看远程分支: git branch -a 使用命令,git branch -d Chapater8 可以删除本地分支(在主分支中) @@ -45,6 +96,7 @@ git branch -a ``` ## 分支更新 + ``` gl = git pull @@ -63,7 +115,7 @@ git pull origin next:master git push --set-upstream origin dev_mafulong1 ``` -以后就可以push自己这个分支了 +以后就可以 push 自己这个分支了 ``` Git push origin 分支名 @@ -71,274 +123,282 @@ git push origin item_pack_mfl ``` 当我想从远程仓库里拉取一条本地不存在的分支时: + ``` git checkout -b 本地分支名 origin/远程分支名 ``` 这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。 -git show显示修改了啥 +git show 显示修改了啥 + ``` git show ``` ## 一、新建代码库 -在当前目录新建一个Git代码库 - $ git init -新建一个目录,将其初始化为Git代码库 - $ git init [project-name] +在当前目录新建一个 Git 代码库 +$ git init + +新建一个目录,将其初始化为 Git 代码库 +$ git init [project-name] 下载一个项目和它的整个代码历史 - $ git clone [url] +$ git clone [url] ## 二、配置 -Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。 -显示当前的Git配置 - $ git config --list +Git 的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。 -编辑Git配置文 - $ git config -e [--global] +显示当前的 Git 配置 +$ git config --list + +编辑 Git 配置文 +$ git config -e [--global] 设置提交代码时的用户信息 - $ git config [--global] user.name "[name]" - $ git config [--global] user.email "[email address]" +$ git config [--global] user.name "[name]" +$ git config [--global] user.email "[email address]" ## 三、增加/删除文件 + 添加指定文件到暂存区 - $ git add [file1] [file2] ... +$ git add [file1] [file2] ... 添加指定目录到暂存区,包括子目录 - $ git add [dir] +$ git add [dir] 添加当前目录的所有文件到暂存区 - $ git add . +$ git add . 添加每个变化前,都会要求确认 对于同一个文件的多处变化,可以实现分次提交 - $ git add -p +$ git add -p 删除工作区文件,并且将这次删除放入暂存区 - $ git rm [file1] [file2] ... +$ git rm [file1] [file2] ... 停止追踪指定文件,但该文件会保留在工作区 - $ git rm --cached [file] +$ git rm --cached [file] 改名文件,并且将这个改名放入暂存区 - $ git mv [file-original] [file-renamed] +$ git mv [file-original] [file-renamed] ## 四、代码提交 + 提交暂存区到仓库区 - $ git commit -m [message] +$ git commit -m [message] 提交暂存区的指定文件到仓库区 - $ git commit [file1] [file2] ... -m [message] +$ git commit [file1] [file2] ... -m [message] -提交工作区自上次commit之后的变化,直接到仓库区 - $ git commit -a +提交工作区自上次 commit 之后的变化,直接到仓库区 +$ git commit -a -提交时显示所有diff信息 - $ git commit -v +提交时显示所有 diff 信息 +$ git commit -v -使用一次新的commit,替代上一次提交 如果代码没有任何新变化,则用来改写上一次commit的提交信息 - $ git commit --amend -m [message] +使用一次新的 commit,替代上一次提交 如果代码没有任何新变化,则用来改写上一次 commit 的提交信息 +$ git commit --amend -m [message] -重做上一次commit,并包括指定文件的新变化 - $ git commit --amend [file1] [file2] ... +重做上一次 commit,并包括指定文件的新变化 +$ git commit --amend [file1] [file2] ... ## 五、分支 + 列出所有本地分支 - $ git branch +$ git branch 列出所有远程分支 - $ git branch -r +$ git branch -r 列出所有本地分支和远程分支 - $ git branch -a +$ git branch -a 新建一个分支,但依然停留在当前分支 - $ git branch [branch-name] +$ git branch [branch-name] 新建一个分支,并切换到该分支 - $ git checkout -b [branch] +$ git checkout -b [branch] -新建一个分支,指向指定commit - $ git branch [branch] [commit] +新建一个分支,指向指定 commit +$ git branch [branch] [commit] 新建一个分支,与指定的远程分支建立追踪关系 - $ git branch --track [branch] [remote-branch] +$ git branch --track [branch] [remote-branch] 切换到指定分支,并更新工作区 - $ git checkout [branch-name] +$ git checkout [branch-name] 切换到上一个分支 - $ git checkout - +$ git checkout - 建立追踪关系,在现有分支与指定的远程分支之间 - $ git branch --set-upstream [branch] [remote-branch] +$ git branch --set-upstream [branch] [remote-branch] 合并指定分支到当前分支 - $ git merge [branch] +$ git merge [branch] -选择一个commit,合并进当前分支 - $ git cherry-pick [commit] +选择一个 commit,合并进当前分支 +$ git cherry-pick [commit] 删除分支 - $ git branch -d [branch-name] +$ git branch -d [branch-name] 删除远程分支 - $ git push origin --delete [branch-name] - $ git branch -dr [remote/branch] +$ git push origin --delete [branch-name] +$ git branch -dr [remote/branch] ## 六、标签 -列出所有tag + +列出所有 tag $ git tag -新建一个tag在当前commit - $ git tag [tag] +新建一个 tag 在当前 commit +$ git tag [tag] -新建一个tag在指定commit - $ git tag [tag] [commit] +新建一个 tag 在指定 commit +$ git tag [tag] [commit] -删除本地tag - $ git tag -d [tag] +删除本地 tag +$ git tag -d [tag] -删除远程tag - $ git push origin :refs/tags/[tagName] +删除远程 tag +$ git push origin :refs/tags/[tagName] -查看tag信息 - $ git show [tag] +查看 tag 信息 +$ git show [tag] -提交指定tag - $ git push [remote] [tag] +提交指定 tag +$ git push [remote] [tag] -提交所有tag - $ git push [remote] --tags +提交所有 tag +$ git push [remote] --tags -新建一个分支,指向某个tag - $ git checkout -b [branch] [tag] +新建一个分支,指向某个 tag +$ git checkout -b [branch] [tag] ## 七、查看信息 + 显示有变更的文件 - $ git status +$ git status 显示当前分支的版本历史 - $ git log +$ git log -显示commit历史,以及每次commit发生变更的文件 - $ git log --stat +显示 commit 历史,以及每次 commit 发生变更的文件 +$ git log --stat 搜索提交历史,根据关键词 - $ git log -S [keyword] +$ git log -S [keyword] -显示某个commit之后的所有变动,每个commit占据一行 - $ git log [tag] HEAD --pretty=format:%s +显示某个 commit 之后的所有变动,每个 commit 占据一行 +$ git log [tag] HEAD --pretty=format:%s -显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 - $ git log [tag] HEAD --grep feature +显示某个 commit 之后的所有变动,其"提交说明"必须符合搜索条件 +$ git log [tag] HEAD --grep feature 显示某个文件的版本历史,包括文件改名 - $ git log --follow [file] - $ git whatchanged [file] +$ git log --follow [file] +$ git whatchanged [file] -显示指定文件相关的每一次diff - $ git log -p [file] +显示指定文件相关的每一次 diff +$ git log -p [file] -显示过去5次提交 - $ git log -5 --pretty --oneline +显示过去 5 次提交 +$ git log -5 --pretty --oneline 显示所有提交过的用户,按提交次数排序 - $ git shortlog -sn +$ git shortlog -sn 显示指定文件是什么人在什么时间修改过 - $ git blame [file] +$ git blame [file] 显示暂存区和工作区的差异 - $ git diff +$ git diff -显示暂存区和上一个commit的差异 - $ git diff --cached [file] +显示暂存区和上一个 commit 的差异 +$ git diff --cached [file] -显示工作区与当前分支最新commit之间的差异 - $ git diff HEAD +显示工作区与当前分支最新 commit 之间的差异 +$ git diff HEAD 显示两次提交之间的差异 - $ git diff [first-branch]...[second-branch] +$ git diff [first-branch]...[second-branch] 显示今天你写了多少行代码 - $ git diff --shortstat "@{0 day ago}" +$ git diff --shortstat "@{0 day ago}" 显示某次提交的元数据和内容变化 - $ git show [commit] +$ git show [commit] 显示某次提交发生变化的文件 - $ git show --name-only [commit] +$ git show --name-only [commit] 显示某次提交时,某个文件的内容 - $ git show [commit]:[filename] +$ git show [commit]:[filename] 显示当前分支的最近几次提交 - $ git reflog +$ git reflog 八、远程同步 下载远程仓库的所有变动 - $ git fetch [remote] +$ git fetch [remote] 显示所有远程仓库 - $ git remote -v +$ git remote -v 显示某个远程仓库的信息 - $ git remote show [remote] +$ git remote show [remote] 增加一个新的远程仓库,并命名 - $ git remote add [shortname] [url] +$ git remote add [shortname] [url] 取回远程仓库的变化,并与本地分支合并 - $ git pull [remote] [branch] +$ git pull [remote] [branch] 上传本地指定分支到远程仓库 - $ git push [remote] [branch] +$ git push [remote] [branch] 强行推送当前分支到远程仓库,即使有冲突 - $ git push [remote] --force +$ git push [remote] --force 推送所有分支到远程仓库 - $ git push [remote] --all +$ git push [remote] --all 九、撤销 恢复暂存区的指定文件到工作区 - $ git checkout [file] +$ git checkout [file] -恢复某个commit的指定文件到暂存区和工作区 - $ git checkout [commit] [file] +恢复某个 commit 的指定文件到暂存区和工作区 +$ git checkout [commit] [file] 恢复暂存区的所有文件到工作区 - $ git checkout . +$ git checkout . + +重置暂存区的指定文件,与上一次 commit 保持一致,但工作区不变 +$ git reset [file] -重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 - $ git reset [file] +重置暂存区与工作区,与上一次 commit 保持一致 +$ git reset --hard -重置暂存区与工作区,与上一次commit保持一致 - $ git reset --hard +重置当前分支的指针为指定 commit,同时重置暂存区,但工作区不变 +$ git reset [commit] -重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 - $ git reset [commit] +重置当前分支的 HEAD 为指定 commit,同时重置暂存区和工作区,与指定 commit 一致 +$ git reset --hard [commit] -重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 - $ git reset --hard [commit] +重置当前 HEAD 为指定 commit,但保持暂存区和工作区不变 +$ git reset --keep [commit] -重置当前HEAD为指定commit,但保持暂存区和工作区不变 - $ git reset --keep [commit] +新建一个 commit,用来撤销指定 commit 后者的所有变化都将被前者抵消,并且应用到当前分支 +$ git revert [commit] -新建一个commit,用来撤销指定commit 后者的所有变化都将被前者抵消,并且应用到当前分支 - $ git revert [commit] - 暂时将未提交的变化移除,稍后再移入 - $ git stash - $ git stash pop - +$ git stash +$ git stash pop -## 其他 -**commit合并** + +## commit 合并 ``` git rebase -i head~2 //合并最近的2个commit @@ -371,16 +431,47 @@ H = D^2 = B^^2 = A^^^2 = A~2^2 I = F^ = B^3^ = A^^3^ J = F^2 = B^3^2 = A^^3^2 ``` -G-D-B-A可以认为是主干,其他都是merge进来的其他分支节点。 -A^表示A的第一个父提交,A^2表示A的第二个父提交 +G-D-B-A 可以认为是主干,其他都是 merge 进来的其他分支节点。 + +A^表示 A 的第一个父提交,A^2 表示 A 的第二个父提交 + +A~1 表示 A 的父提交,A~2 表示 A 的父提交的父提交,相当于 A^^和 A^1^1 + +A~2^2 表示 A 的父提交的父提交的第二个父提交,即为 H + +1. “^”代表父提交,当一个提交有多个父提交时,可以通过在”^”后面跟上一个数字,表示第几个父提交,”^”相当于”^1”. -A~1表示A的父提交,A~2表示A的父提交的父提交,相当于A^^和A^1^1 +2. `~n` -A~2^2表示A的父提交的父提交的第二个父提交,即为H + 相当于连续的n个”^”. + + + +## git reset + +Reset一词是指撤销修改。git reset 命令被用来重置更改。git reset 命令有三种核心调用形式。这些形式如下。 + +- Soft +- Mixed +- Hard + +![Git Reset](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202208292119556.png) + +``` +git reset [--soft | --mixed | --hard] [HEAD] +``` + +**--mixed** 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。 + +``` +git reset [HEAD] +``` -1.“^”代表父提交,当一个提交有多个父提交时,可以通过在”^”后面跟上一个数字,表示第几个父提交,”^”相当于”^1”. -2. ~相当于连续的个”^”. + --mixed reset HEAD and index 被抹去的commit的changes以及work directory的changes都会保留到work directory. 不会丢,只不过commit信息没了,修改都在。 + --soft reset only HEAD 被抹去的commit的changes会保留到stage, unstage的还是unstage,不会丢,commit信息没了 + --hard reset HEAD, index and working tree 被抹去的commit的changes没了,stage没看,unstage的还在,还是unstage +Soft: 会把head reset到commit, 然后 diff --git "a/_posts/Tech/TOOLS/2019-02-04-jekyll\345\215\232\345\256\242\351\207\215\346\236\204.md" "b/_posts/Tech/TOOLS/2019-02-04-jekyll\345\215\232\345\256\242\351\207\215\346\236\204.md" index f873e68b3f..10b5960556 100644 --- "a/_posts/Tech/TOOLS/2019-02-04-jekyll\345\215\232\345\256\242\351\207\215\346\236\204.md" +++ "b/_posts/Tech/TOOLS/2019-02-04-jekyll\345\215\232\345\256\242\351\207\215\346\236\204.md" @@ -7,15 +7,15 @@ tags: Tools ## 前言 -本想迁移到hugo的,是一个go的静态生成框架,正好也了解go,同时编译速度更快,问题更少 +本想迁移到 hugo 的,是一个 go 的静态生成框架,正好也了解 go,同时编译速度更快,问题更少 -奈何一时之间没有找到好的theme,遂重构jekyll,以此留作日后theme迁移 +奈何一时之间没有找到好的 theme,遂重构 jekyll,以此留作日后 theme 迁移 -## 搭建jekyll本地调试环境 +## 搭建 jekyll 本地调试环境 -**以下是mac上搭建环境流程** +**以下是 mac 上搭建环境流程** -需要事先有ruby和python环境,而这恰恰mac已经有了,windows就糟糕了 +需要事先有 ruby 和 python 环境,而这恰恰 mac 已经有了,windows 就糟糕了 ``` @@ -33,39 +33,38 @@ tags: Tools $ jekyll s ``` -这步就出错了,遗留bug。。。 +这步就出错了,遗留 bug。。。 你就可以在 http://127.0.0.1:4000/ 看到你的博客 -## jekyll目录 - -我们来看看Jekyll 网站的基础结构,当然我们的网站比这个复杂。 -├── _config.yml -├── _drafts -| ├── begin-with-the-crazy-ideas.textile -| └── on-simplicity-in-technology.markdown -├── _includes -| ├── footer.html -| └── header.html -├── _layouts -| ├── default.html -| └── post.html -├── _posts -| ├── 2007-10-29-why-every-programmer-should-play-nethack.textile -| └── 2009-04-26-barcamp-boston-4-roundup.textile -├── _data -| └── members.yml -├── _site +## jekyll 目录 + +我们来看看 Jekyll 网站的基础结构,当然我们的网站比这个复杂。 +├── \_config.yml +├── \_drafts +| ├── begin-with-the-crazy-ideas.textile +| └── on-simplicity-in-technology.markdown +├── \_includes +| ├── footer.html +| └── header.html +├── \_layouts +| ├── default.html +| └── post.html +├── \_posts +| ├── 2007-10-29-why-every-programmer-should-play-nethack.textile +| └── 2009-04-26-barcamp-boston-4-roundup.textile +├── \_data +| └── members.yml +├── \_site ├── img └── index.html -很复杂看不懂是不是,不要紧,你只要记住其中几个OK了 +很复杂看不懂是不是,不要紧,你只要记住其中几个 OK 了 -_config.yml 全局配置文件 +\_config.yml 全局配置文件 -_posts 放置博客文章的文件夹 +\_posts 放置博客文章的文件夹 img 存放图片的文件夹 具体参考这里https://www.jekyll.com.cn/docs/structure/ - diff --git a/_posts/Tech/TOOLS/2019-03-29-zsh.md b/_posts/Tech/TOOLS/2019-03-29-zsh.md index e0080b988d..8cd06924b4 100644 --- a/_posts/Tech/TOOLS/2019-03-29-zsh.md +++ b/_posts/Tech/TOOLS/2019-03-29-zsh.md @@ -5,16 +5,17 @@ title: zsh tags: Tools --- -## 安装vim -apt安装vim以及git +## 安装 vim -Bash替代工具Zsh +apt 安装 vim 以及 git + +Bash 替代工具 Zsh ``` -sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" +sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/Tools/install.sh -O -)" ``` -## 设置默认zsh +## 设置默认 zsh [参考](https://askubuntu.com/questions/131823/how-to-make-zsh-the-default-shell) @@ -27,4 +28,3 @@ open your bashrc file in your favourite editor then add the line below top of the file exec zsh - diff --git "a/_posts/Tech/TOOLS/2020-11-09-\346\227\266\345\272\217\345\233\276\347\224\273\346\263\225.md" "b/_posts/Tech/TOOLS/2020-11-09-\346\227\266\345\272\217\345\233\276\347\224\273\346\263\225.md" index 8412039221..28ac0522e1 100644 --- "a/_posts/Tech/TOOLS/2020-11-09-\346\227\266\345\272\217\345\233\276\347\224\273\346\263\225.md" +++ "b/_posts/Tech/TOOLS/2020-11-09-\346\227\266\345\272\217\345\233\276\347\224\273\346\263\225.md" @@ -7,14 +7,13 @@ tags: Tools ## 时序图画法 -### markdown画时序图 -本地上可以使用typora, typora是一个markdown软件. [typora.io](https://typora.io/) +### markdown 画时序图 -typora简单语法 [Draw-Diagrams-With-Markdown](https://support.typora.io/Draw-Diagrams-With-Markdown/) - -typora画时序图时机上使用的是mermaid,一个js引擎。meramaid高级语法 [https://mermaid-js.github.io/mermaid/#/sequenceDiagram](https://mermaid-js.github.io/mermaid/#/sequenceDiagram) +本地上可以使用 typora, typora 是一个 markdown 软件. [typora.io](https://typora.io/) +typora 简单语法 [Draw-Diagrams-With-Markdown](https://support.typora.io/Draw-Diagrams-With-Markdown/) +typora 画时序图时机上使用的是 mermaid,一个 js 引擎。meramaid 高级语法 [https://mermaid-js.github.io/mermaid/#/sequenceDiagram](https://mermaid-js.github.io/mermaid/#/sequenceDiagram) `->>`是实线 @@ -22,8 +21,6 @@ typora画时序图时机上使用的是mermaid,一个js引擎。meramaid高级 +是箭头,灰色长条 表示个一个过程 - - 举例: ```mermaid @@ -47,39 +44,38 @@ typora画时序图时机上使用的是mermaid,一个js引擎。meramaid高级 复杂一点的 - ```mermaid +```mermaid - sequenceDiagram - Title: md时序图练习 +sequenceDiagram + Title: md时序图练习 - participant 客户端 - participant 控制器 - participant 业务 - participant 数据库 + participant 客户端 + participant 控制器 + participant 业务 + participant 数据库 - 客户端->>数据库:提交数据店铺 - Note right of 客户端:提交数据进行验证 - 控制器->>控制器:验证数据完整性 - Note left of 控制器:返回错误的字段信息 - 控制器-->>客户端:数据不完整 - Note over 客户端: 用户输入通行证的账号、密码 - 控制器->>业务:保存店铺到数据库 - 业务->>业务:save店铺数据 - 业务-->>控制器:保存出现异常 - 控制器-->>客户端:保存成功 - 数据库-->>业务:success - 业务-->>控制器:success - 控制器-->>客户端:success 客户端 + 客户端->>数据库:提交数据店铺 + Note right of 客户端:提交数据进行验证 + 控制器->>控制器:验证数据完整性 + Note left of 控制器:返回错误的字段信息 + 控制器-->>客户端:数据不完整 + Note over 客户端: 用户输入通行证的账号、密码 + 控制器->>业务:保存店铺到数据库 + 业务->>业务:save店铺数据 + 业务-->>控制器:保存出现异常 + 控制器-->>客户端:保存成功 + 数据库-->>业务:success + 业务-->>控制器:success + 控制器-->>客户端:success 客户端 - ``` +``` -效果图: +效果图: -![image-20220215174704294](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20220215174709.png)planUML画时序图 +![image-20220215174704294](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20220215174709.png)planUML 画时序图 [参考](https://plantuml.com/zh/sequence-diagram) - ### 人工拖拽画时序图 -[draw.io](https://app.diagrams.net/) +[draw.io](https://app.diagrams.net/) diff --git a/_posts/Tech/TOOLS/2020-11-29-vpn.md b/_posts/Tech/TOOLS/2020-11-29-vpn.md index 8b9e44dd95..b79ec4c426 100644 --- a/_posts/Tech/TOOLS/2020-11-29-vpn.md +++ b/_posts/Tech/TOOLS/2020-11-29-vpn.md @@ -9,21 +9,13 @@ tags: Tools [http://instar.me/archives/84807ed.html](http://instar.me/archives/84807ed.html) - - -[忍者云:](https://renzhe.cloud/user) - - +[忍者云:](https://renzhe.cloud/user) clash +[clash 配置教程](https://lancellc.gitbook.io/clash/clash-config-file/an-example-configuration-file) - -[clash配置教程](https://lancellc.gitbook.io/clash/clash-config-file/an-example-configuration-file) - - - -clash配置url-test +clash 配置 url-test ``` proxy-groups: @@ -45,6 +37,4 @@ proxy-groups: interval: 30 ``` - - -[安卓上的clash](https://10101.io/2020/02/05/how-to-use-clash-for-android) \ No newline at end of file +[安卓上的 clash](https://10101.io/2020/02/05/how-to-use-clash-for-android) diff --git "a/_posts/Tech/TOOLS/2020-11-30-\344\277\256\346\224\271host\346\217\220\351\253\230\347\275\221\347\273\234\351\200\237\345\272\246.md" "b/_posts/Tech/TOOLS/2020-11-30-\344\277\256\346\224\271host\346\217\220\351\253\230\347\275\221\347\273\234\351\200\237\345\272\246.md" index 86915921e8..78c1173e0b 100644 --- "a/_posts/Tech/TOOLS/2020-11-30-\344\277\256\346\224\271host\346\217\220\351\253\230\347\275\221\347\273\234\351\200\237\345\272\246.md" +++ "b/_posts/Tech/TOOLS/2020-11-30-\344\277\256\346\224\271host\346\217\220\351\253\230\347\275\221\347\273\234\351\200\237\345\272\246.md" @@ -5,11 +5,11 @@ title: 修改host提高网络速度 tags: Tools --- -### **Hosts的概念** +### **Hosts 的概念** -Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。Hosts 的请求级别比 DNS 高。 +Hosts 是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从 Hosts 文件中寻找对应的 IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交 DNS 域名解析服务器进行 IP 地址的解析。Hosts 的请求级别比 DNS 高。 -### **Hosts文件格式** +### **Hosts 文件格式** 127.0.0.1 localhost 127.0.0.1 [http://www.baidu.com](https://link.zhihu.com/?target=http%3A//www.baidu.com) @@ -19,28 +19,25 @@ Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开 ![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@master/images/d1ea9f4f3d02f4006ea83b9dee39921b.jpeg) +根据以上流程,我们就可以从 hosts 文件上做手脚,将广告的相关域名解析为 127.0.0.1,这个地址是本机回送地址(Loopback Address),主要用于网络软件测试以及本地机**进程间通信**,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,**不进行任何网络传输** 。也就使用了 127.0.0.1 广告域名 的配置 hosts 文件,请求广告的网络请求发送,从而不能展示广告,这样就达到去广告的目的。关于去广告方案留在下篇展开。 -根据以上流程,我们就可以从hosts文件上做手脚,将广告的相关域名解析为127.0.0.1,这个地址是本机回送地址(Loopback Address),主要用于网络软件测试以及本地机**进程间通信**,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,**不进行任何网络传输** 。也就使用了 127.0.0.1 广告域名 的配置hosts文件,请求广告的网络请求发送,从而不能展示广告,这样就达到去广告的目的。关于去广告方案留在下篇展开。 +除了去广告的应用,还应用在**科学上网、断开特定连接**。修改 hosts 文件就可以避免 DNS 污染。经常看一下破解提示就是需要在 hosts 文件添加 127.0.0.1 域名来使软件无法连接网络。 -除了去广告的应用,还应用在**科学上网、断开特定连接**。修改hosts文件就可以避免DNS污染。经常看一下破解提示就是需要在hosts文件添加127.0.0.1 域名来使软件无法连接网络。 +### **修改 hosts 文件** -### **修改hosts文件** - -接下来关键问题就是如何修改hosts文件,hosts文件存放目录: - -- Window目录 C:WindowsSystem32driversetc -- Linux及其他类Unix操作系统:/etc -- Android目录/system/etc/ - -编辑修改以上目录下的hosts文件。目前实现方式有许多形式,最直接的就是使用文件管理器将获取的hosts文件覆盖系统的hosts文件。 +接下来关键问题就是如何修改 hosts 文件,hosts 文件存放目录: +- Window 目录 C:WindowsSystem32driversetc +- Linux 及其他类 Unix 操作系统:/etc +- Android 目录/system/etc/ +编辑修改以上目录下的 hosts 文件。目前实现方式有许多形式,最直接的就是使用文件管理器将获取的 hosts 文件覆盖系统的 hosts 文件。 ### 刷新 DNS 缓存 【Windows】 按下 Windows R 键,运行 cmd ,在命令提示符运行命令 ipconfig /flushdns -【OS X 10.9】【OS X 10.10.4 】在[应用程序][实用工具][终端]运行命令 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder +【OS X 10.9】【OS X 10.10.4 】在[应用程序][实用工具][终端]运行命令 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder 【OS X 10.10】 在[应用程序][实用工具][终端]运行命令 sudo discoveryutil udnsflushcaches @@ -50,16 +47,12 @@ Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开 【Android、iOS】 重新启动设备 - - -### 最新hosts文件的获取渠道 +### 最新 hosts 文件的获取渠道 github:https://github.com/racaljk/hosts或https://coding.net/u/scaffrey/p/hosts/git https://github.com/lennylxx/ipv6-hosts(ipv6) +### 找到最快的 IP - -### 找到最快的IP - -http://tool.chinaz.com/speedworld/github.com \ No newline at end of file +http://tool.chinaz.com/speedworld/github.com diff --git "a/_posts/Tech/TOOLS/2021-03-22-\345\217\221\345\270\203gomodule.md" "b/_posts/Tech/TOOLS/2021-03-22-\345\217\221\345\270\203gomodule.md" deleted file mode 100644 index 0866fb1df9..0000000000 --- "a/_posts/Tech/TOOLS/2021-03-22-\345\217\221\345\270\203gomodule.md" +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -category: Tools -title: 发布gomodule -tags: Tools ---- - -## 发布gomodule - - - -[参考](https://gocn.vip/topics/9829) \ No newline at end of file diff --git "a/_posts/Tech/TOOLS/2022-02-28-chrome\346\217\222\344\273\266vimium.md" "b/_posts/Tech/TOOLS/2022-02-28-chrome\346\217\222\344\273\266vimium.md" index 34d1c723b3..7b296ddef1 100644 --- "a/_posts/Tech/TOOLS/2022-02-28-chrome\346\217\222\344\273\266vimium.md" +++ "b/_posts/Tech/TOOLS/2022-02-28-chrome\346\217\222\344\273\266vimium.md" @@ -5,9 +5,9 @@ title: chrome插件vimium tags: Tools --- -## chrome插件vimium +## chrome 插件 vimium -安装后 键盘? 可打开如下帮助页 +安装后 键盘? 可打开如下帮助页 ![image-20220228134807860](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20220228134807.png) @@ -21,4 +21,3 @@ map << closeTabsOnLeft map >> closeTabsOnRight map cc closeOtherTabs ``` - diff --git "a/_posts/Tech/TOOLS/2022-04-09-mac\345\274\200\346\234\272\345\257\206\347\240\201\350\256\276\347\275\2561\344\275\215.md" "b/_posts/Tech/TOOLS/2022-04-09-mac\345\274\200\346\234\272\345\257\206\347\240\201\350\256\276\347\275\2561\344\275\215.md" index e5606f5b5d..59ceac3dcb 100644 --- "a/_posts/Tech/TOOLS/2022-04-09-mac\345\274\200\346\234\272\345\257\206\347\240\201\350\256\276\347\275\2561\344\275\215.md" +++ "b/_posts/Tech/TOOLS/2022-04-09-mac\345\274\200\346\234\272\345\257\206\347\240\201\350\256\276\347\275\2561\344\275\215.md" @@ -5,7 +5,7 @@ title: mac开机密码设置1位 tags: Tools --- -## mac开机密码设置1位 +## mac 开机密码设置 1 位 - 打开终端 - 输入以下命令 `pwpolicy -clearaccountpolicies` @@ -14,8 +14,4 @@ tags: Tools - 直接命令行修改 `passwd`,或者打开系统偏好设置 > 用户与群组 - 点击更改密码,输入旧密码,输入新密码,验证新密码,点击更改密码 - - - - 这样就可以输入任意位数的密码了 diff --git "a/_posts/Tech/TOOLS/2022-04-27-git\345\233\275\345\206\205\351\225\234\345\203\217\345\212\240\351\200\237.md" "b/_posts/Tech/TOOLS/2022-04-27-git\345\233\275\345\206\205\351\225\234\345\203\217\345\212\240\351\200\237.md" index 28535fb660..833ea4d6e6 100644 --- "a/_posts/Tech/TOOLS/2022-04-27-git\345\233\275\345\206\205\351\225\234\345\203\217\345\212\240\351\200\237.md" +++ "b/_posts/Tech/TOOLS/2022-04-27-git\345\233\275\345\206\205\351\225\234\345\203\217\345\212\240\351\200\237.md" @@ -5,27 +5,19 @@ title: git国内镜像加速 tags: Tools --- -## git国内镜像加速 +## git 国内镜像加速 +## 安装 cgit +cgit 可直接代替 git 命令,cgit 内部会自动把 github.com 域名替换成想要的国内镜像域名。 -## 安装cgit +[安装 cgit](https://gitee.com/killf/cgit) -cgit可直接代替git命令,cgit内部会自动把github.com域名替换成想要的国内镜像域名。 +想要的国内镜像域名可以通过 bash_profile 里加如下配置 - - -[安装cgit](https://gitee.com/killf/cgit) - - - -想要的国内镜像域名可以通过bash_profile里加如下配置 - -```` +``` export CGIT_MIRROR=https://hub.xn--gzu630h.xn--kpry57d/ -```` - - +``` -然后把脚本里的git改成cgit,或者alias直接改git -> cgit +然后把脚本里的 git 改成 cgit,或者 alias 直接改 git -> cgit diff --git "a/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" "b/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" index d18f1c5eb1..2f668a13ea 100644 --- "a/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" +++ "b/_posts/Tech/TOOLS/2022-07-16-\346\254\247\351\231\206\350\257\215\345\205\270\351\205\215\347\275\256.md" @@ -1,28 +1,24 @@ --- layout: post -category: TOOLS +category: Tools title: 欧陆词典配置 -tags: TOOLS +tags: Tools --- ## 欧陆词典配置 -app store里下载 +app store 里下载 -登录vip账号 +登录 vip 账号 下载词库, [下载网址](https://www.eudic.net/v4/en/home/dictionaryresource) - [词根词缀](https://static.frdic.com/extra_eudb/cigen_en_new.eudic?v=20210709) - - 另一个下载网址:https://mdict.org/ 都是离线版 [更全的下载网址](https://www.mrfan.org/dicts) - - 推荐 - 牛津 diff --git "a/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" "b/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" index 732d43e304..9bf97b5c12 100644 --- "a/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" +++ "b/_posts/Tech/TOOLS/2022-07-22-ssh\346\216\245\345\217\243\350\275\254\345\217\221.md" @@ -1,11 +1,11 @@ --- layout: post -category: TOOLS +category: Tools title: ssh接口转发 -tags: TOOLS +tags: Tools --- -## ssh接口转发 +## ssh 接口转发 [参考](https://zhuanlan.zhihu.com/p/148825449) @@ -13,4 +13,4 @@ tags: TOOLS ssh -v -N -L ... ``` -如何关闭,ssh关闭则这个也关闭,开发机exit后即可。 +如何关闭,ssh 关闭则这个也关闭,开发机 exit 后即可。 diff --git "a/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" "b/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" index 77d32aefa1..f7395e5e62 100644 --- "a/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" +++ "b/_posts/Tech/TOOLS/2022-07-30-chrome\345\277\205\350\243\205\346\217\222\344\273\266.md" @@ -1,21 +1,21 @@ --- layout: post -category: TOOLS +category: Tools title: chrome必装插件 -tags: TOOLS +tags: Tools --- -## chrome必装插件 +## chrome 必装插件 ### Tampermonkey: 油猴 安装脚本 -1. **Open the F\**king URL Right Now** 知乎自动跳转 +1. **Open the F\*\*king URL Right Now** 知乎自动跳转 -### uBlacklist:google, bing屏蔽 +### uBlacklist:google, bing 屏蔽 -参考个人博客 搜索引擎屏蔽rubbish网站 +参考个人博客 搜索引擎屏蔽 rubbish 网站 ### Dark Reader: 护眼 diff --git "a/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" "b/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" index f73ac29d58..963005dd8c 100644 --- "a/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" +++ "b/_posts/Tech/TOOLS/2022-07-30-\346\220\234\347\264\242\345\274\225\346\223\216\345\261\217\350\224\275rubbish\347\275\221\347\253\231.md" @@ -1,26 +1,18 @@ --- layout: post -category: TOOLS +category: Tools title: 搜索引擎屏蔽rubbish网站 -tags: TOOLS +tags: Tools --- -## 搜索引擎屏蔽rubbish网站 - - +## 搜索引擎屏蔽 rubbish 网站 实在想屏蔽一些网站, -找到个google search屏蔽插件PersonalBlockList,但只能屏蔽google的一些结果。 - - - -后来发现了uBlackList,支持更多搜索引擎,包括bing等,就是没有百度。 推荐直接安装这个 - - - -[uBlackList主页](https://github.com/iorate/uBlacklist/blob/master/README.md) +找到个 google search 屏蔽插件 PersonalBlockList,但只能屏蔽 google 的一些结果。 +后来发现了 uBlackList,支持更多搜索引擎,包括 bing 等,就是没有百度。 推荐直接安装这个 +[uBlackList 主页](https://github.com/iorate/uBlacklist/blob/master/README.md) [订阅的垃圾网址](https://raw.githubusercontent.com/cobaltdisco/Google-Chinese-Results-Blocklist/master/uBlacklist_subscription.txt) diff --git "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" index 1b553373b3..b3729c4577 100644 --- "a/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" +++ "b/_posts/Tech/Tools/2021-01-02-\344\275\277\347\224\250github+picGo+typora\345\233\276\345\272\212.md" @@ -5,25 +5,21 @@ title: 使用github+picGo+typora图床 tags: Tools --- -## 使用github+picGo+typora图床 +## 使用 github+picGo+typora 图床 [参考](https://blog.csdn.net/qq_36376089/article/details/107429913) - - -### token生成 +### token 生成 https://github.com/settings/tokens -第一个repo勾选。 - - +第一个 repo 勾选。 -### picgo配置 +### picgo 配置 仓库名: mafulong/mdPic -分支v7,v8递增,需要提前创建。 +分支 v7,v8 递增,需要提前创建。 制定存储路径 v7/, 这样 @@ -37,22 +33,18 @@ https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6 不要开启:『上传前重命名』 +## Typora 免费版本下载 - -## Typora免费版本下载 - -### Windows用户 +### Windows 用户 下载地址: https://github.com/iuxt/src/releases/download/2.0/typora-0-11-18.exe -### Mac用户 +### Mac 用户 下载地址: https://github.com/iuxt/src/releases/download/2.0/typora-0-11-18.dmg -### Ubuntu用户 +### Ubuntu 用户 下载地址:https://github.com/iuxt/src/releases/download/2.0/Typora_Linux_0.11.18_amd64.deb - - [参考](https://zahui.fan/posts/64b52e0d/) diff --git "a/_posts/Tech/Tools/2021-01-24-\345\270\270\347\224\250\346\225\260\345\255\246\345\205\254\345\274\217.md" "b/_posts/Tech/Tools/2021-01-24-\345\270\270\347\224\250\346\225\260\345\255\246\345\205\254\345\274\217.md" deleted file mode 100644 index 1d91106c81..0000000000 --- "a/_posts/Tech/Tools/2021-01-24-\345\270\270\347\224\250\346\225\260\345\255\246\345\205\254\345\274\217.md" +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: post -category: Tools -title: 常用数学公式 -tags: Tools ---- - -## 常用数学公式 - -### 等比数列前n项和 - -![image-20210124135003088](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv1/v1/1.png) - - - -### 组合数公式 - -![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv2/v2/21.png) - -(r 已翻车,很多广告 -μTorrent是BitTorrent Inc发布的一款有名的BT下载软件,支持Windows 和Mac、Linux、Android操作系统。当然,和迅雷不一样,μTorrent无视版权,敏感资源。阿虚这里提供两个版本: +μTorrent 是 BitTorrent Inc 发布的一款有名的 BT 下载软件,支持 Windows 和 Mac、Linux、Android 操作系统。当然,和迅雷不一样,μTorrent 无视版权,敏感资源。阿虚这里提供两个版本: -uTorrent.v2.21 已优化配置版(大小仅有1mb多,无广告,绿色版,没有乱七八糟的功能(可以类比迅雷精简版)) +uTorrent.v2.21 已优化配置版(大小仅有 1mb 多,无广告,绿色版,没有乱七八糟的功能(可以类比迅雷精简版)) ### Transmission -照例先介绍一下Transmission,这是一款开源的BT下载软件,支持BT下载和磁力下载,主要支持Linux和Mac OS 操作系统(很遗憾没有windows版),这款软件最大的特点就是在保证功能的同时做到了对资源占用的极小化。大多带USB的路由器挂PT就是用的他,我之前在网件6300V2上用他下PT跑满全速没压力。 +照例先介绍一下 Transmission,这是一款开源的 BT 下载软件,支持 BT 下载和磁力下载,主要支持 Linux 和 Mac OS 操作系统(很遗憾没有 windows 版),这款软件最大的特点就是在保证功能的同时做到了对资源占用的极小化。大多带 USB 的路由器挂 PT 就是用的他,我之前在网件 6300V2 上用他下 PT 跑满全速没压力。 ### FDM -FDM是Free Download Manager的名称缩写。它的两大特点:完全免费,纯净无广告。 +FDM 是 Free Download Manager 的名称缩写。它的两大特点:完全免费,纯净无广告。 > [官网](https://www.freedownloadmanager.org/zh/) -- 支持Windows及Mac OSX两大操作系统; +- 支持 Windows 及 Mac OSX 两大操作系统; - 现代化设计的友好界面; - 从热门网站下载视频; -- 支持HTTP/HTTPS/FTP/BitTorrent协议; +- 支持 HTTP/HTTPS/FTP/BitTorrent 协议; - 支持代理; - 快速、安全、高效下载。 ### persepolisdm -基于aria2 套了个外客,支持bt,磁力。 +基于 aria2 套了个外客,支持 bt,磁力。 > [官网](https://persepolisdm.github.io/) ### 其他 -Motrix:https://motrix.app/ 需要流量,流量要买,抵制 +Motrix:https://motrix.app/ 需要流量,流量要买,抵制 qBittorrent:https://www.qbittorrent.com uTorrent:https://www.utorrent.com/intl/zh_cn/ Transmission:https://www.transmissionbt.com/ - - - diff --git "a/_posts/Tech/Tools/2021-03-09-mac\345\210\240\351\231\244pdf\347\251\272\347\231\275\351\241\265.md" "b/_posts/Tech/Tools/2021-03-09-mac\345\210\240\351\231\244pdf\347\251\272\347\231\275\351\241\265.md" index 68e2e985b9..6ab36e7461 100644 --- "a/_posts/Tech/Tools/2021-03-09-mac\345\210\240\351\231\244pdf\347\251\272\347\231\275\351\241\265.md" +++ "b/_posts/Tech/Tools/2021-03-09-mac\345\210\240\351\231\244pdf\347\251\272\347\231\275\351\241\265.md" @@ -5,12 +5,8 @@ title: mac删除pdf空白页 tags: Tools --- -## mac删除pdf空白页 +## mac 删除 pdf 空白页 +使用 pdf 语言,缩略图模式,delete 就行 - -使用pdf语言,缩略图模式,delete就行 - - - -[参考](https://www.jianshu.com/p/61e83c599bf7) \ No newline at end of file +[参考](https://www.jianshu.com/p/61e83c599bf7) From 9cfed7f0d324ced662f8514d02e4510c0d51e39c Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Tue, 30 Aug 2022 09:39:53 +0800 Subject: [PATCH 047/318] add logbook --- "_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" index 88bde9b47d..1525b37208 100644 --- "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" +++ "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" @@ -29,7 +29,7 @@ GIT不关心文件两个版本之间的具体差别,而是关心文件的整 SHA-1算法计算文件的校验和。 -![img](https:////upload-images.jianshu.io/upload_images/16000510-ca2cf9efda090d25.png?imageMogr2/auto-orient/strip|imageView2/2/w/800/format/webp) +![image-20220830093905242](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202208300939275.png) **Untracked:**未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged. @@ -45,7 +45,7 @@ SHA-1算法计算文件的校验和。 下面的图很好的解释了这四种状态的转变: -![img](https:////upload-images.jianshu.io/upload_images/16000510-2b3ec76ac612f47f.png?imageMogr2/auto-orient/strip|imageView2/2/w/1047/format/webp) +![image-20220830093929218](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202208300939259.png) 新建文件--->Untracked From 0bb619449fbddcf060a70463dd0020e270d3ea76 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Thu, 1 Sep 2022 09:52:40 +0800 Subject: [PATCH 048/318] add logbook --- ...70\347\224\250\345\221\275\344\273\244.md" | 205 ++++++++++++++++-- 1 file changed, 184 insertions(+), 21 deletions(-) diff --git "a/_posts/Tech/Linux/2022-05-05-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/_posts/Tech/Linux/2022-05-05-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" index 48a301db4e..d87e536f85 100644 --- "a/_posts/Tech/Linux/2022-05-05-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" +++ "b/_posts/Tech/Linux/2022-05-05-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -9,9 +9,11 @@ tags: Linux +## 进程端口 + ### 查看进程 -#### 1. ps +#### 1. ps 非实时查看当前时间点进程 查看某个时间点的进程信息。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等 @@ -33,17 +35,23 @@ tags: Linux ## ps aux | grep threadx ``` -#### 2. pstree +#### 2. pstree 查看进程树 -查看进程树。 +显示当前所有进程的进程号和进程id -示例:查看所有进程树 +```shell +pstree -p +``` -```sh -## pstree -A +显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。 + +```shell +pstree -a ``` -#### 3. top + + +#### 3. top 实时查看进程及cpu/mem 实时显示进程信息。是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 @@ -53,36 +61,191 @@ tags: Linux ## top -d 2 ``` -#### 4. netstat - -查看占用端口的进程 +### kill 进程 -示例:查看特定端口的进程 +kill / killall -```sh -## netstat -anp | grep port +``` +kill -9 process_id +for more process: +sudo kill -9 process_id_1 process_id_2 process_id_3 ``` -### kill 进程 +If you know the name of the program, you can use the magnificent killall command and kill all the processes of that program in one single command. -#### kill / killall +``` +killall program_name +``` ### 查看IP #### 1. ifconfig 或者 ip +先inet,再inet6,再127 + +```sh +getip () { + if $ismac + then + ifconfig | grep inet | grep -v inet6 | grep -v 127 | cut -d ' ' -f2 + elif $islinux + then + ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2 + fi +} ``` + +### 通过pid查看端口/通过端口查看pid + +不知道pid可先查看进程 + +```sh +pid: ps -ef | grep 进程名 +netstat -anp | grep port +netstat -nap | grep 进程pid ``` -### 查看端口 -#### 1. netstat -查看占用端口的进程 +## 大日志查看 -示例:查看特定端口的进程 +### grep -```sh -## netstat -anp | grep port +- [grep参考](https://mafulong.github.io/2019/05/24/grep%E4%BD%BF%E7%94%A8/) + +### sed + +``` +Syntax: $ sed -n -e Xp -e Yp FILENAME +``` + +- sed : sed command, which will print all the lines by default. +- -n : Suppresses output. +- -e CMD : Command to be executed +- Xp: Print line number X +- Yp: Print line number Y +- FILENAME : name of the file to be processed. + + + +In the following example, you can view the content of var/log/cron from line number 101 to 110. + +- M – Starting line number +- N – Ending line number + +``` +Syntax: sed -n M,Np FILENAME + +$ sed -n 101,110p /var/log/cron +``` + +### more + +和cat不同是不会一次性加载大文件。 + +Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。 + +从第 20 行开始显示 testfile 之文档内容。 + +``` +more -d +20 testfile +``` + +- Ctrl+F 向下滚动一屏 +- 空格键 向下滚动一屏 +- Ctrl+B 返回上一屏 + +d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声 + + + +### Less + +和more类似,扩展更多。 + + + +``` +less [参数] 文件 +``` + +- -N 显示每行的行号 + +- /字符串:向下搜索"字符串"的功能 + +- ?字符串:向上搜索"字符串"的功能 + +- n:重复前一个搜索(与 / 或 ? 有关) + +- N:反向重复前一个搜索(与 / 或 ? 有关) + +- back,front, up, down和vim类似,比如u是向后半页。也可以加ctrl效果一样 + + - ctrl + F - 向前移动一屏 + - ctrl + B - 向后移动一屏 + - ctrl + D - 向前移动半屏 + - ctrl + U - 向后移动半屏 + - + j - 下一行 + - k - 上一行 + - G - 移动到最后一行 + - g - 移动到第一行 + - q / ZZ - 退出 less 命令 + +- v - 使用配置的编辑器编辑当前文件 + +- **标记导航** + + 当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置: + + - ma - 使用 a 标记文本的当前位置 + - 'a - 导航到标记 a 处 + +**直接定位到某个位置** + +``` +# 直接定位到第100行 +less +100g xx.log +``` + +**浏览多个文件** + +``` +less log2013.log log2014.log +``` + +说明: +输入 :n后,切换到 log2014.log +输入 :p 后,切换到log2013.log + + + +可以按 **:e** 查看下一个文件, 用 **:n** 和 **:p** 来回切换。 + + + +ps查看进程信息并通过less分页显示 + +``` +ps -ef |less +``` + + + +### tail + +``` +tail -f xxx +``` + + + +### 定位某行请用less/more + +``` +# 直接定位到第100行 +less +100g xx.log + +more -d +20 testfile ``` From 1e1d9ca27aee1d50687bd123fcac0037e6eb3c3e Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 4 Sep 2022 14:51:02 +0800 Subject: [PATCH 049/318] add logbook --- ...5\231\250\345\220\214\346\255\245rsync.md" | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 "_posts/Tech/TOOLS/2022-09-03-\345\244\232\346\234\272\345\231\250\345\220\214\346\255\245rsync.md" diff --git "a/_posts/Tech/TOOLS/2022-09-03-\345\244\232\346\234\272\345\231\250\345\220\214\346\255\245rsync.md" "b/_posts/Tech/TOOLS/2022-09-03-\345\244\232\346\234\272\345\231\250\345\220\214\346\255\245rsync.md" new file mode 100644 index 0000000000..2d42b2a3ee --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-09-03-\345\244\232\346\234\272\345\231\250\345\220\214\346\255\245rsync.md" @@ -0,0 +1,50 @@ +--- +layout: post +category: Tools +title: 多机器同步rsync +tags: Tools +--- + +## 多机器同步rsync + + + + + +```sh +tb () { + x=$(pwd) + echo $x + rsync -avz --delete --exclude='build' $x/ ${DEV_A}:/home/${x:6}/ +} + +get () { + x=$(pwd) + echo $x + rsync -avz --delete --exclude='' ${DEV_A}:/home/${x:6}/ $x/ +} +``` + + + +检测文件变化可以 + +- macOS: fswatch +- Linux: ionotify + + + +ssh可以远程执行另一台机器的命令 + +```sh +ssh ${DEV_A} "echo 'hhh'" +``` + + + +mac可以触发mac系统通知 + +```sh +osascript -e 'display notification "Notification text" with title "Title"' +``` + From 47d753e1687db9f42ef370f8842bb25e104c889c Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 4 Sep 2022 15:11:10 +0800 Subject: [PATCH 050/318] add logbook --- .../2022-05-01-\346\225\260\345\255\246.md" | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" index 264421fc5a..8acec29f39 100644 --- "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" +++ "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" @@ -21,6 +21,39 @@ tags: Algorithms +![image-20220904145610986](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209041456830.png) + +另外C(0,0) = 1, 0的为1。 + + + +组合数性质 + +![image-20220904145924154](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209041459183.png) + +大组合数求解边模,利用组合数性质 + +```python + def comb_mod(self, n, m, mod=10 ** 9 + 7): + ''' + 大组合数计算C(n,m),边求边mod, 利用组合数性质C(n,m) = 1*C(n-1,m-1) + C(n-1,m) + ''' + dp = [[0 for _ in range(n+1)] for _ in range(n+1)] + dp[0][0] = 1 + for i in range(1, n+1): + dp[i][0] = 1 + for j in range(1, i+1): + dp[i][j] = (dp[i-1][j-1] + dp[i-1][j]) % mod + return dp[n][m] + +``` + + + +组合数求和公式 + +![image-20220904150115865](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209041501896.png) + ## 等差等比数列 > [参考](https://wenku.baidu.com/view/0c5e350102020740be1e9b79.html) From c0eddae16bd87f1aafa913186a6a761f89f0214f Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 8 Sep 2022 15:59:42 +0800 Subject: [PATCH 051/318] add logbook --- ...22-08-16-scala\350\257\255\346\263\225.md" | 65 ++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index b5e3df27fd..f64c4b8249 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -237,14 +237,55 @@ loop.breakable{ } ``` -## implicit +## implicit -类似java final 不可变 +这个关键字可以方法前面,可以变量前面,它的含义:隐式参数,类似**参数默认值** ``` implicit ``` +方法可以具有 *隐式* 参数列表,由参数列表开头的 *implicit* 关键字标记。 如果参数列表中的参数没有像往常一样传递, Scala 将查看它是否可以获得正确类型的隐式值,如果可以,则自动传递。 + +Scala 将查找这些参数的位置分为两类: + +- Scala 在调用包含有隐式参数块的方法时,将首先查找可以直接访问的隐式定义和隐式参数 (无前缀)。 +- 然后,它在所有伴生对象中查找与隐式候选类型相关的有隐式标记的成员。 + + + +比如[参考](https://docs.scala-lang.org/zh-cn/tour/implicit-parameters.html) 里的例子, + +定了一个隐式定义stringMonoid 它类型是Monoid泛型String + +```scala + +object ImplicitTest { + // 隐式变量 + implicit val stringMonoid: Monoid[String] = new Monoid[String] { + def add(x: String, y: String): String = x concat y + def unit: String = "" + } + + def sum[A](xs: List[A])(implicit m: Monoid[A]): A = + if (xs.isEmpty) m.unit + else m.add(xs.head, sum(xs.tail)) + + def main(args: Array[String]): Unit = { + println(sum(List(1, 2, 3))) // uses IntMonoid implicitly + println(sum(List("a", "b", "c"))) // uses StringMonoid implicitly + } +} +``` + +然后sum里定义了隐式参数 implicit m ,当你调用该函数时可以不手动指定这个m,它会自动找对应的变量值。其实就是按类型自动匹配。 + + + +更全[参考](http://icejoywoo.github.io/2018/12/29/scala-implicit.html) + +- 还可以隐式函数,类(只能局部类) + ## 方法和函数 cala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。 @@ -705,6 +746,26 @@ object Test { ``` +### 构造函数 + +[参考](https://www.cnblogs.com/zsql/p/10952565.html) + +1、主构造器的声明直接放在类名后面 + +2、主构造器会执行所有的代码,方法定义除外 + +3、如果主构造无参数,后面的小括号可以省略(简单,不作证明) + +4、如果想让主构造器私有化,则可以在(参数)前面添加private关键字 + +5、从上面代码中我们在Person类中有三个变量 + +被val修饰,则为只读属性,会生成一个相当于get的方法(反编译看) + +被var修饰,则为读写属性,会生成一个相当于get和set的方法 + +没有被修饰,则是一个局部变量,则不会生成任何方法 + ### 抽象方法 Scala里一个方法只要没有没有实现(即没有括号或方法体),它就是抽象的,并不需要像Java里的abstract修饰符。 From f713083feda2e17670f733bf1d3d6b7f865495da Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 8 Sep 2022 18:12:51 +0800 Subject: [PATCH 052/318] add logbook --- "_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" index f64c4b8249..56a0678175 100644 --- "a/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" +++ "b/_posts/Tech/Scala/2022-08-16-scala\350\257\255\346\263\225.md" @@ -705,7 +705,7 @@ Scala 使用 extends 关键字来继承一个类。实例中 Location 类继承 -默认都是抽象的? 用override声明表示非抽象? + ```scala import java.io._ From 874a3e25fe069b0bb0adb7df34b0627ee4e47478 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 10 Sep 2022 14:08:59 +0800 Subject: [PATCH 053/318] add logbook --- ...46\344\271\240\347\254\224\350\256\260.md" | 395 +++++++++++++++++ ...40\347\254\224\350\256\260\344\270\212.md" | 94 ---- ...40\347\254\224\350\256\260\344\270\213.md" | 65 --- ...46\344\271\240\347\254\224\350\256\260.md" | 404 +++++++++++++---- ...-12-javascript\351\200\237\346\237\245.md" | 408 ------------------ ...00\345\217\221\345\267\245\345\205\267.md" | 37 ++ 6 files changed, 760 insertions(+), 643 deletions(-) create mode 100644 "_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" delete mode 100644 "_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\212.md" delete mode 100644 "_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\213.md" delete mode 100644 "_posts/Tech/FrontEnd/2018-02-12-javascript\351\200\237\346\237\245.md" create mode 100644 "_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" diff --git "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" new file mode 100644 index 0000000000..ad554c004e --- /dev/null +++ "b/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -0,0 +1,395 @@ +--- +layout: post +category: FrontEnd +title: html笔记上 +tags: FrontEnd +--- + +# 笔记 + +```html + + + + + + Title + + + + + + + + + + +

mafulong

+ +
+ + Baidu + +
+ + + +

mafulong

+ + +

mafulong

+

mafulong

+ + + mafulong + + mafulong + 引用 +
自动缩进的长引用
+ 数学变量,斜体表示 + +
斜体表示
+ +
+        
+            保持代码格式,不删除空格
+        
+    
+ + + + + + + + + + + + + + + + + + + + +
NameTelephone
12323
fjdf
+ + +
    +
  1. 1
  2. +
+ +
    +
  • +
+ +
+
Coffee
+
- black hot drink
+
Milk
+
- white cold drink
+
+ + Pulpit rock + + +

无边框的图片链接: + + HTML 教程

+ + + + + + +``` + + + + + +```html + + + + + Title + + + + + + +

我的母亲有 蓝色 的眼睛。

+ + + +
+

这是一个在 div 元素中的标题。

+

这是一个在 div 元素中的文本。

+
+ + + + + + +

人生啊

+
+ +
+ + +
+ Personal information: + Name:
+ E-mail:
+ Date of birth: +
+ First name
+ + female + male + + + + + + + + + + + + + +
+ + + +``` + + + +# 速查 + +## 参考手册 + +- [HTML 参考手册](https://www.runoob.com/tags/html-reference.html) + + + +## HTML基本文档 + +```html + + + +文档标题 + + +可见文本... + + +``` + +## 基本标签(Basic Tags) + +```html +

最大的标题

+

. . .

+

. . .

+

. . .

+
. . .
+
最小的标题
+ +

这是一个段落。

+
(换行) +
(水平线) + +``` + +## 文本格式化(Formatting) + +```html +粗体文本 +计算机代码 +强调文本 +斜体文本 +键盘输入 + H5已废弃 +
预格式化文本
+更小的文本 +重要的文本 + + (缩写) + TheWHO was founded in 1948. +
(联系信息) + 就是斜体 + (文字方向) +
(从另一个源引用的部分) + (工作的名称) + (删除的文本) + (插入的文本) + (下标文本) + (上标文本) +``` + +## 链接(Links) + +```html +普通的链接:链接文本 +图像链接: 替换文本 +邮件链接: 发送e-mail +书签: +提示部分 +跳到提示部分 +``` + + + +> [参考](https://www.runoob.com/html/html-links.html) + +可以超链接可以设置html锚点到某个元素。 + + + +## 图片(Images) + +必须有src和alt属性 + +```html +替换文本 +``` + +## 样式/区块(Styles/Sections) + +```html + +
文档中的块级元素
+文档中的内联元素 +``` + +## 无序列表 + +```html +
    +
  • 项目
  • +
  • 项目
  • +
+``` + +## 有序列表 + +```html +
    +
  1. 第一项
  2. +
  3. 第二项
  4. +
+``` + +## 定义列表 + +```html +
+
项目 1
+
描述项目 1
+
项目 2
+
描述项目 2
+
+``` + +## 表格(Tables) + +```html + + + + + + + + + +
表格标题表格标题
表格数据表格数据
+``` + +## 框架(Iframe) + +```html + +``` + +## 表单(Forms) + +每个输入元素必须有一个name属性 + +在form规定action, submit提交就执行,method规定post还是get, 默认是get + +```html +
+ + + + + + + + + + +
+``` + +> [参考](https://www.runoob.com/html/html-forms.html) + +表单是一个包含表单元素的区域。 + +表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表(select)、单选框(radio-buttons)、复选框(checkbox) 等等。 + +我们可以使用 **form** 标签来创建表单 + + + +input也可以脱离form使用,不过可能需要结合ajax等。 + + + +## 实体(Entities) + +```html +< 等同于 < +> 等同于 > +© 等同于 © +``` \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\212.md" "b/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\212.md" deleted file mode 100644 index fa20c72437..0000000000 --- "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\212.md" +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: post -category: FrontEnd -title: html笔记上 -tags: FrontEnd ---- - -## html - -```html - - - - - - Title - - - - - - - - - - -

mafulong

- -
- - Baidu - -
- - - -

mafulong

- - -

mafulong

-

mafulong

- - - mafulong - - mafulong - 引用 -
自动缩进的长引用
- 数学变量,斜体表示 - -
斜体表示
- -
-        
-            保持代码格式,不删除空格
-        
-    
- - - - - - - - - - - - - - - -
12323
fjdf
- - -
    -
  1. 1
  2. -
- -
    -
  • -
- - - - - -``` \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\213.md" "b/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\213.md" deleted file mode 100644 index c2b3556ae5..0000000000 --- "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260\344\270\213.md" +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: post -category: FrontEnd -title: html笔记下 -tags: FrontEnd ---- - -## html - -```html - - - - - Title - - - - - - - - - - - - - -

人生啊

-
- -
- - - First name
- - female - male - - - - - - - - - -
-
- - -``` diff --git "a/_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" index 9d528c3cec..c0cbae4419 100644 --- "a/_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ "b/_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -5,51 +5,83 @@ title: javascript笔记 tags: FrontEnd --- -## javascript -- 字符串转换为数字用Number(str)或则和parseInt(str)/parseFloat(str)方法 -- 数字转换为字符串用var.toString()方法 -- 获取字符串或者数组的长度,用arr.length属性 -- 数组添加头部元素: arr.unshift("a","b"....); 结尾用push()方法 -- NaN: not a number -- 将数组元素连接成字符串: arr.join("连接符") -- 可以直接使用Math.方法名,如max(...), -- document.querySelector()方法,querySelectorAll()方法选择器写法和css选择器写法一样,但效率低 -- ByName()只用于表单元素,一般是单选和复选框 -- 两个特殊方法,document.title, document.body -- 节点有三种:元素节点,属性节点,文本节点 -- 创建节点的流程:createElement(), createTextNode(),把文本节点插入元素节点 appendChild(),把组装好的节点插入到已有元素中:appendChild() -- obj.style.属性名只可以获得行内样式,是没办法获得内部样式和外部样式的。一般用getComputedStyle.属性名或者obj.style.cssText()="width:3px"等来写,后者可以写多个,css写法,前者驼峰样式,没有-了 -- html中onclick="f()", js中obj.click=f,前者是调用属性,后者是给属性赋值 -- 只执行最后一次window.onload=function(){ } -- 事件绑定: obj.addEventListener("click",funcion,false); +# 语法 -# javascript基础教程 +## js用法 -## 插入js用法 -1. 可以插入到html的任何位置 -2. 头部 -3. 头部> +外部脚本, 可以插入任何位置 ```javascript -// 内部脚本 -/*使用标签*/ -//外部脚本使用 可以插入任何位置 -//document.write()加载后使用,将覆盖,如函数中 + +``` + +内部脚本 + +```javascript + +``` + +脚本可被放置在 HTML 页面的 body和head部分中。 + +## JavaScript 输出 + +JavaScript 没有任何打印或者输出的函数。 + +document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open。每次写完关闭之后重新调用该函数,会导致页面被重写。 + + JavaScript 显示数据 + JavaScript 可以通过不同的方式来输出数据: + + 使用 window.alert() 弹出警告框。 + 使用 document.write() 方法将内容写到 HTML 文档中。 + 使用 innerHTML 写入到 HTML 元素。 + 使用 console.log() 写入到浏览器的控制台。 + +## 操作 HTML 元素 + +如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。 + +```javascript +//通过标签找html元素 +var x=document.getElementById("main");//id: main +var y=x.getElementsByTagName("p"); + +var element=document.getElementById("header"); +element.innerHTML="New Header"; + +document.getElementById(id).attribute=new value; + +document.getElementById("image").src="landscape.jpg"; + +document.getElementById("p2").style.color="blue"; -//JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型: -document.getElementById("demo").innerHTML="我的第一段 JavaScript"; -document.write("

我的第一段 JavaScript

"); ``` -## 变量声明用法 +## 变量 + +字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。 + ```javascript -对大小写敏感 -拆行用\ //声明变量 var a; var name="Gates", age=56, job="CEO"; +//JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型: + +//声明变量时可以确定其类型,如 +var carname=new String; +var x= new Number; +var y= new Boolean; +var cars= new Array; +var person= new Object; +``` -// 数组 开头为0 +## 数组 + +开头为0 + +```javascript var cars=new Array(); cars[0]="Audi"; cars[1]="BMW"; @@ -58,21 +90,21 @@ cars[2]="Volvo"; var cars=new Array("Audi","BMW","Volvo"); // 或者 var cars=["Audi","BMW","Volvo"]; +``` + +## 对象 + +对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔 + +### 对象创建 -// 对象 +```javascript var person={ firstname : "Bill", lastname : "Gates", id : 5566 }; -//声明变量时可以确定其类型,如 -var carname=new String; -var x= new Number; -var y= new Boolean; -var cars= new Array; -var person= new Object; - //创建对象 person=new Object(); person.firstname="Bill"; @@ -90,27 +122,85 @@ function person(firstname,lastname,age,eyecolor) this.eyecolor=eyecolor; } var myFather=new person("Bill","Gates",56,"blue"); -//定义对象方法 -function person(firstname,lastname,age,eyecolor) -{ - this.firstname=firstname; - this.lastname=lastname; - this.age=age; - this.eyecolor=eyecolor; +``` + +### 访问对象属性 + +对象属性有两种寻址方式: + +```javascript + name=person.lastname; + name=person["lastname"]; +``` + +### 对象方法 - this.changeName=changeName; - function changeName(name) +```javascript +var person = { + firstName: "John", + lastName : "Doe", + id : 5566, + fullName : function() + { + return this.firstName + " " + this.lastName; + } +}; +document.getElementById("demo").innerHTML = person.fullName(); +``` + +### 使用对象方法 + +对象方法通过添加 () 调用 (作为一个函数)。 + +```javascript +name = person.fullName(); +``` + +## Undefined 和 Null + +Undefined 这个值表示变量不含有值。 + +可以通过将变量的值设置为 null 来清空变量。 + +## 函数 + +```javascript +// 传统定义函数方式 +function myFunction(a,b) +{ + if (a>b) { - this.lastname=name; + return; } + x=a+b +} + +function Test () { + // +} + +const Test = function () { + // } +// 使用箭头函数定义函数时可以省略 function 关键字 +const Test = (...params) => { + // +} + +// 该函数只有一个参数时可以简写成: +const Test = param => { + return param; +} + +console.log(Test('hello')); // hello ``` -## if else用法,循环 +## if和循环 -```javascript +### if else +```javascript if (time<10) { x="Good morning"; @@ -123,7 +213,11 @@ else { x="Good evening"; } +``` + +### swith语法 +```javascript var day=new Date().getDay(); switch (day) { @@ -136,11 +230,16 @@ switch (day) default: x="Looking forward to the Weekend"; } +``` +### for循环 + +```javascript for (var i=0;i"); } + for (var i=0,len=cars.length; i"); @@ -151,12 +250,17 @@ for (x in person) { txt=txt + person[x]; } +``` + +### while循环 +```javascript while (i<5) { x=x + "The number is " + i + "
"; i++; } + do { x=x + "The number is " + i + "
"; @@ -166,17 +270,150 @@ while (i<5); //break; continue; ``` -## 函数 +## 类型转化 + +### typeof 操作符 + +你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。 +请注意: + + NaN 的数据类型是 number + 数组(Array)的数据类型是 object + 日期(Date)的数据类型为 object + null 的数据类型是 object + 未定义变量的数据类型为 undefined + +实例 + ```javascript -function myFunction(var1,var2) -{ - // 这里是要执行的代码 - return 3;//可以没有 +typeof "John" // 返回 string +typeof 3.14 // 返回 number +typeof NaN // 返回 number +typeof false // 返回 boolean +typeof [1,2,3,4] // 返回 object +typeof {name:'John', age:34} // 返回 object +typeof new Date() // 返回 object +typeof function () {} // 返回 function +typeof myCar // 返回 undefined (如果 myCar 没有声明) +typeof null // 返回 object +``` + +### constructor 属性 + +constructor 属性返回所有 JavaScript 变量的构造函数。 + +实例 + +```javascript +"John".constructor // 返回函数 String() { [native code] } +(3.14).constructor // 返回函数 Number() { [native code] } +false.constructor // 返回函数 Boolean() { [native code] } +[1,2,3,4].constructor // 返回函数 Array() { [native code] } +{name:'John', age:34}.constructor // 返回函数 Object() { [native code] } +new Date().constructor // 返回函数 Date() { [native code] } +function () {}.constructor // 返回函数 Function(){ [native code] } + +function isArray(myArray) { + return myArray.constructor.toString().indexOf("Array") > -1; } +function isDate(myDate) { + return myDate.constructor.toString().indexOf("Date") > -1; +} ``` -## try/catch -```javacript + +### 将数字转换为字符串 + +```javascript +全局方法 String() 可以将数字转换为字符串。 + +String(x) // 将变量 x 转换为字符串并返回 +String(123) // 将数字 123 转换为字符串并返回 +String(100 + 23) // 将数字表达式转换为字符串并返回 + +Number 方法 toString() 也是有同样的效果。 + +实例 +x.toString() +(123).toString() +(100 + 23).toString() + +``` + +### 将布尔值转换为字符串 + +```javascript +全局方法 String() 可以将布尔值转换为字符串。 + +String(false) // 返回 "false" +String(true) // 返回 "true" +Boolean 方法 toString() 也有相同的效果。 + +false.toString() // 返回 "false" +true.toString() // 返回 "true" +``` + +### 将日期转换为字符串 + +```javascript +Date() 返回字符串。 + +Date() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) +全局方法 String() 可以将日期对象转换为字符串。 + +String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) +Date 方法 toString() 也有相同的效果。 + +实例 +obj = new Date() +obj.toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) +``` + +### 将字符串转换为数字 + +```javascript +全局方法 Number() 可以将字符串转换为数字。 + +字符串包含数字(如 "3.14") 转换为数字 (如 3.14). + +空字符串转换为 0。 + +其他的字符串会转换为 NaN (不是个数字)。 + +Number("3.14") // 返回 3.14 +Number(" ") // 返回 0 +Number("") // 返回 0 +Number("99 88") // 返回 NaN + +一元运算符 + +Operator + 可用于将变量转换为数字: +``` + +### 将布尔值转换为数字 + +```javascript +全局方法 Number() 可将布尔值转换为数字。 + +Number(false) // 返回 0 +Number(true) // 返回 1 +``` + +### 将日期转换为数字 + +```javascript +全局方法 Number() 可将日期转换为数字。 + +d = new Date(); +Number(d) // 返回 1404568027739 +日期方法 getTime() 也有相同的效果。 + +d = new Date(); +d.getTime() // 返回 1404568027739 +``` + +## try catch + +```javascript try { throw exception; @@ -191,21 +428,9 @@ catch(err) } ``` -## 引用元素 -```javascript -//通过标签找html元素 -var x=document.getElementById("main");//id: main -var y=x.getElementsByTagName("p"); - -var element=document.getElementById("header"); -element.innerHTML="New Header"; - -document.getElementById(id).attribute=new value; - -document.getElementById("image").src="landscape.jpg"; - -document.getElementById("p2").style.color="blue"; +## 事件 +```javascript //DOM事件 //

请点击该文本

this就是自己的id //

请点击该文本

@@ -227,6 +452,29 @@ parent.removeChild(child); //正则表达式 RegExp ``` + + +## 其他 小结 + +- 字符串转换为数字用Number(str)或则和parseInt(str)/parseFloat(str)方法 +- 数字转换为字符串用var.toString()方法 +- 获取字符串或者数组的长度,用arr.length属性 +- 数组添加头部元素: arr.unshift("a","b"....); 结尾用push()方法 +- NaN: not a number +- 将数组元素连接成字符串: arr.join("连接符") +- 可以直接使用Math.方法名,如max(...), +- document.querySelector()方法,querySelectorAll()方法选择器写法和css选择器写法一样,但效率低 +- ByName()只用于表单元素,一般是单选和复选框 +- 两个特殊方法,document.title, document.body +- 节点有三种:元素节点,属性节点,文本节点 +- 创建节点的流程:createElement(), createTextNode(),把文本节点插入元素节点 appendChild(),把组装好的节点插入到已有元素中:appendChild() +- obj.style.属性名只可以获得行内样式,是没办法获得内部样式和外部样式的。一般用getComputedStyle.属性名或者obj.style.cssText()="width:3px"等来写,后者可以写多个,css写法,前者驼峰样式,没有-了 +- html中onclick="f()", js中obj.click=f,前者是调用属性,后者是给属性赋值 +- 只执行最后一次window.onload=function(){ } +- 事件绑定: obj.addEventListener("click",funcion,false); + + + # jquery教程 ## 语法 @@ -250,7 +498,7 @@ $("#test") $(".test") $("p").css("background-color","red"); $(this) 选取当前 HTML 元素 - ``` +``` ## 事件 ```javascript @@ -375,4 +623,8 @@ $("p").css("background-color"); $("p").css("background-color","yellow"); $("p").css({"background-color":"yellow","font-size":"200%"}); -``` \ No newline at end of file +``` + +## Jquery ajax淘汰 + +[参考](https://www.xiejiahe.com/blog/detail/59b35ad615c192bd11b90469) \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2018-02-12-javascript\351\200\237\346\237\245.md" "b/_posts/Tech/FrontEnd/2018-02-12-javascript\351\200\237\346\237\245.md" deleted file mode 100644 index a10a1b8753..0000000000 --- "a/_posts/Tech/FrontEnd/2018-02-12-javascript\351\200\237\346\237\245.md" +++ /dev/null @@ -1,408 +0,0 @@ ---- -layout: post -category: FrontEnd -title: javascript速查 -tags: FrontEnd ---- - -## js用法 -外部脚本, 可以插入任何位置 -```javascript - -``` -内部脚本 -```javascript - -``` -脚本可被放置在 HTML 页面的 body和head部分中。 - -## JavaScript 输出 -JavaScript 没有任何打印或者输出的函数。 - -document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open。每次写完关闭之后重新调用该函数,会导致页面被重写。 - - JavaScript 显示数据 - JavaScript 可以通过不同的方式来输出数据: - - 使用 window.alert() 弹出警告框。 - 使用 document.write() 方法将内容写到 HTML 文档中。 - 使用 innerHTML 写入到 HTML 元素。 - 使用 console.log() 写入到浏览器的控制台。 - -## 操作 HTML 元素 -如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。 -```javascript -//通过标签找html元素 -var x=document.getElementById("main");//id: main -var y=x.getElementsByTagName("p"); - -var element=document.getElementById("header"); -element.innerHTML="New Header"; - -document.getElementById(id).attribute=new value; - -document.getElementById("image").src="landscape.jpg"; - -document.getElementById("p2").style.color="blue"; - -``` -## 变量 -字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。 -```javascript -//声明变量 -var a; -var name="Gates", age=56, job="CEO"; -//JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型: - -//声明变量时可以确定其类型,如 -var carname=new String; -var x= new Number; -var y= new Boolean; -var cars= new Array; -var person= new Object; -``` - -## 数组 -开头为0 -```javascript -var cars=new Array(); -cars[0]="Audi"; -cars[1]="BMW"; -cars[2]="Volvo"; -// 或者 -var cars=new Array("Audi","BMW","Volvo"); -// 或者 -var cars=["Audi","BMW","Volvo"]; -``` - -## 对象 -对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔 - -### 对象创建 -```javascript -var person={ - firstname : "Bill", - lastname : "Gates", - id : 5566 -}; - -//创建对象 -person=new Object(); -person.firstname="Bill"; -person.lastname="Gates"; -person.age=56; -person.eyecolor="blue"; -//或者 -person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"}; -//或者对象构造器 -function person(firstname,lastname,age,eyecolor) -{ - this.firstname=firstname; - this.lastname=lastname; - this.age=age; - this.eyecolor=eyecolor; -} -var myFather=new person("Bill","Gates",56,"blue"); -``` - -### 访问对象属性 -对象属性有两种寻址方式: -```javascript - name=person.lastname; - name=person["lastname"]; -``` - -### 对象方法 -```javascript -var person = { - firstName: "John", - lastName : "Doe", - id : 5566, - fullName : function() - { - return this.firstName + " " + this.lastName; - } -}; -document.getElementById("demo").innerHTML = person.fullName(); -``` - -### 使用对象方法 -对象方法通过添加 () 调用 (作为一个函数)。 -```javascript -name = person.fullName(); -``` - -## Undefined 和 Null -Undefined 这个值表示变量不含有值。 - -可以通过将变量的值设置为 null 来清空变量。 - -## 函数 -```javascript -// 传统定义函数方式 -function myFunction(a,b) -{ - if (a>b) - { - return; - } - x=a+b -} - -function Test () { - // -} - -const Test = function () { - // -} - -// 使用箭头函数定义函数时可以省略 function 关键字 -const Test = (...params) => { - // -} - -// 该函数只有一个参数时可以简写成: -const Test = param => { - return param; -} - -console.log(Test('hello')); // hello -``` - -## 语法 -### if else -```javascript -if (time<10) -{ - x="Good morning"; -} -else if (time<20) -{ - x="Good day"; -} -else -{ - x="Good evening"; -} -``` - -### swith语法 -```javascript -var day=new Date().getDay(); -switch (day) -{ - case 6: - x="Today it's Saturday"; - break; - case 0: - x="Today it's Sunday"; - break; - default: - x="Looking forward to the Weekend"; -} -``` - -### for循环 -```javascript -for (var i=0;i"); -} -//循环遍历对象的属性 -var person={fname:"John",lname:"Doe",age:25}; -for (x in person) -{ - txt=txt + person[x]; -} -``` - -### while循环 -```javascript -while (i<5) -{ - x=x + "The number is " + i + "
"; - i++; -} - -do -{ - x=x + "The number is " + i + "
"; - i++; -} -while (i<5); -//break; continue; -``` - -## 类型转化 - -### typeof 操作符 -你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。 -请注意: - - NaN 的数据类型是 number - 数组(Array)的数据类型是 object - 日期(Date)的数据类型为 object - null 的数据类型是 object - 未定义变量的数据类型为 undefined -实例 - -```javascript -typeof "John" // 返回 string -typeof 3.14 // 返回 number -typeof NaN // 返回 number -typeof false // 返回 boolean -typeof [1,2,3,4] // 返回 object -typeof {name:'John', age:34} // 返回 object -typeof new Date() // 返回 object -typeof function () {} // 返回 function -typeof myCar // 返回 undefined (如果 myCar 没有声明) -typeof null // 返回 object -``` - -### constructor 属性 -constructor 属性返回所有 JavaScript 变量的构造函数。 - -实例 -```javascript -"John".constructor // 返回函数 String() { [native code] } -(3.14).constructor // 返回函数 Number() { [native code] } -false.constructor // 返回函数 Boolean() { [native code] } -[1,2,3,4].constructor // 返回函数 Array() { [native code] } -{name:'John', age:34}.constructor // 返回函数 Object() { [native code] } -new Date().constructor // 返回函数 Date() { [native code] } -function () {}.constructor // 返回函数 Function(){ [native code] } - -function isArray(myArray) { - return myArray.constructor.toString().indexOf("Array") > -1; -} - -function isDate(myDate) { - return myDate.constructor.toString().indexOf("Date") > -1; -} -``` - -### 将数字转换为字符串 -```javascript -全局方法 String() 可以将数字转换为字符串。 - -String(x) // 将变量 x 转换为字符串并返回 -String(123) // 将数字 123 转换为字符串并返回 -String(100 + 23) // 将数字表达式转换为字符串并返回 - -Number 方法 toString() 也是有同样的效果。 - -实例 -x.toString() -(123).toString() -(100 + 23).toString() - -``` - -### 将布尔值转换为字符串 -```javascript -全局方法 String() 可以将布尔值转换为字符串。 - -String(false) // 返回 "false" -String(true) // 返回 "true" -Boolean 方法 toString() 也有相同的效果。 - -false.toString() // 返回 "false" -true.toString() // 返回 "true" -``` - -### 将日期转换为字符串 -```javascript -Date() 返回字符串。 - -Date() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) -全局方法 String() 可以将日期对象转换为字符串。 - -String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) -Date 方法 toString() 也有相同的效果。 - -实例 -obj = new Date() -obj.toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) -``` - -### 将字符串转换为数字 -```javascript -全局方法 Number() 可以将字符串转换为数字。 - -字符串包含数字(如 "3.14") 转换为数字 (如 3.14). - -空字符串转换为 0。 - -其他的字符串会转换为 NaN (不是个数字)。 - -Number("3.14") // 返回 3.14 -Number(" ") // 返回 0 -Number("") // 返回 0 -Number("99 88") // 返回 NaN - -一元运算符 + -Operator + 可用于将变量转换为数字: -``` -### 将布尔值转换为数字 -```javascript - -全局方法 Number() 可将布尔值转换为数字。 - -Number(false) // 返回 0 -Number(true) // 返回 1 -``` - -### 将日期转换为数字 -```javascript - -全局方法 Number() 可将日期转换为数字。 - -d = new Date(); -Number(d) // 返回 1404568027739 -日期方法 getTime() 也有相同的效果。 - -d = new Date(); -d.getTime() // 返回 1404568027739 -``` - -## try catch -```javascript -try -{ - throw exception; - adddlert("Welcome guest!"); -} -catch(err) -{ - txt="There was an error on this page.\n\n"; - txt+="Error description: " + err.message + "\n\n"; - txt+="Click OK to continue.\n\n"; - alert(txt); -} -``` - -## 其他 -```javascript -//DOM事件 -//

请点击该文本

this就是自己的id -//

请点击该文本

-document.getElementById("myBtn").onclick=function(){displayDate()}; -// -//分配事件 -document.getElementById("myBtn").onclick=function(){displayDate()}; - -//创建元素 -var para=document.createElement("p"); -var node=document.createTextNode("这是新段落。"); -para.appendChild(node); -var element=document.getElementById("div1"); -element.appendChild(para); -//删除元素 -var parent=document.getElementById("div1"); -var child=document.getElementById("p1"); -parent.removeChild(child); -//正则表达式 RegExp -``` \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" "b/_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" new file mode 100644 index 0000000000..6ad9c51bf0 --- /dev/null +++ "b/_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" @@ -0,0 +1,37 @@ +--- +layout: post +category: FrontEnd +title: 前端开发工具 +tags: FrontEnd +--- + +## 前端开发工具 + +# vscode + +## 必备插件 + +#### Auto Close Tag + +自动闭合 HTML/XML 标签 + +### Auto Rename Tag + +自动重命名 HTML/XML 标签 + +### Bracket Pair Colorizer + +用于着色匹配括号,让你的代码分层更清晰 + +### Code Runner + +运行代码片段或多种语言的代码文件 + +### Code Spell Checker + +源代码拼写检查器,提示代码中单词拼写错误 + +### CSS Peek + +允许查看css,并从HTML文件定位到css文件,文件定义跳转 + From da7e476d6f0f572efa6789095dfe65a2f457831a Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 12 Sep 2022 10:27:35 +0800 Subject: [PATCH 054/318] add logbook --- ...46\344\271\240\347\254\224\350\256\260.md" | 642 +++++++++++++++++- ...46\344\271\240\347\254\224\350\256\260.md" | 15 +- 2 files changed, 655 insertions(+), 2 deletions(-) diff --git "a/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" index 1df5eb98e6..d578861427 100644 --- "a/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ "b/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -4,7 +4,10 @@ category: FrontEnd title: CSS笔记 tags: FrontEnd --- +# 基本 + ## 背景 + ```css body{ background-color: #fff; @@ -126,4 +129,641 @@ body{ /*文本*/ /*缩进*/ p {text-indent: 5em;} -``` \ No newline at end of file +``` + + + +## CSS选择器 + +> [参考](https://www.w3school.com.cn/css/css_selector_descendant.asp) + +| [类型选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Type_selectors) | `h1 { }` | [类型选择器](https://developer.mozilla.org/zh-CN/docs/user:chrisdavidmills/CSS_Learn/CSS_Selectors/Type_Class_and_ID_Selectors#Type_selectors) | +| ------------------------------------------------------------ | ------------------- | ------------------------------------------------------------ | +| [通配选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Universal_selectors) | `* { }` | [通配选择器](https://developer.mozilla.org/zh-CN/docs/user:chrisdavidmills/CSS_Learn/CSS_Selectors/Type_Class_and_ID_Selectors#The_universal_selector) | +| [类选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Class_selectors) | `.box { }` | [类选择器](https://developer.mozilla.org/zh-CN/docs/user:chrisdavidmills/CSS_Learn/CSS_Selectors/Type_Class_and_ID_Selectors#Class_selectors) | +| [ID 选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/ID_selectors) | `#unique { }` | [ID 选择器](https://developer.mozilla.org/zh-CN/docs/user:chrisdavidmills/CSS_Learn/CSS_Selectors/Type_Class_and_ID_Selectors#ID_Selectors) | +| [标签属性选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Attribute_selectors) | `a[title] { }` | [标签属性选择器](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Attribute_selectors) | +| [伪类选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-classes) | `p:first-child { }` | [伪类](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Pseuso-classes_and_Pseudo-elements#What_is_a_pseudo-class) | +| [伪元素选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements) | `p::first-line { }` | [伪元素](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Pseuso-classes_and_Pseudo-elements#What_is_a_pseudo-element) | +| [后代选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Descendant_combinator) | `article p` | [后代运算符](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Combinators#Descendant_Selector) | +| [子代选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Child_combinator) | `article > p` | [子代选择器](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Combinators#Child_combinator) | +| [相邻兄弟选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Adjacent_sibling_combinator) | `h1 + p` | [相邻兄弟](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Combinators#Adjacent_sibling) | +| [通用兄弟选择器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/General_sibling_combinator) | `h1 ~ p` | [通用兄弟](https://developer.mozilla.org/zh-CN/docs/User:chrisdavidmills/CSS_Learn/CSS_Selectors/Combinators#General_sibling) | + +### 元素选择器 + +文档的元素就是最基本的选择器。根据html元素标签,比如body, h1, p等 + +```css +html {color:black;} +h1 {color:blue;} +h2 {color:silver;} +``` + +#### 选择器分组 多选 逗号 + +**逗号相隔,表示or** + +以下的两组规则能得到同样的结果,不过可以很清楚地看出哪一个写起来更容易: + +```css +/* no grouping */ +h1 {color:blue;} +h2 {color:blue;} +h3 {color:blue;} +h4 {color:blue;} +h5 {color:blue;} +h6 {color:blue;} + +/* grouping */ +h1, h2, h3, h4, h5, h6 {color:blue;} +``` + + + +### 类选择器 + +**根据html class** + +如果您只想选择所有类名相同的元素,可以在类选择器中忽略通配选择器,这没有任何不好的影响: + +``` +

+This heading is very important. +

+ + +.important {color:red;} +``` + +也可结合通配选择器: + +``` +*.important {color:red;} +``` + +*表示文档中所有元素,是选择器分组中的 + +### ID 选择器 + +**根据html id** + +``` +

This is a paragraph of introduction.

+#intro {font-weight:bold;} +``` + + + +### 伪类与伪元素 + +这组选择器包含了伪类,用来样式化一个元素的特定状态。例如`:hover`伪类会在鼠标指针悬浮到一个元素上的时候选择这个元素: + +``` +a:hover { } +``` + +Copy to Clipboard + +它还可以包含了伪元素,选择一个元素的某个部分而不是元素自己。例如,`::first-line`是会选择一个元素(下面的情况中是`

`)中的第一行,类似``包在了第一个被格式化的行外面,然后选择这个``。 + +``` +p::first-line { } +``` + +#### 基于状态 比如超链接 + +超链接的四种状态 + +- link:链接平常的状态 +- active:链接被按下的时候 +- visited:链接被访问过之后 +- hover:鼠标放到链接上的时候 + +```css +a:link { + color: pink; +} + +a:visited { + color: green; +} + +a:hover { + text-decoration: none; +} + +``` + + + +### **属性选择器** + +**属性选择器可以根据元素的属性及属性值来选择元素。** + +如果您希望把包含标题(title)的所有元素变为红色,可以写作: + +``` +*[title] {color:red;} +``` + +与上面类似,可以只对有 href 属性的锚(a 元素)应用样式: + +``` +a[href] {color:red;} +``` + +还可以根据多个属性进行选择,只需将属性选择器链接在一起即可。 + +例如,为了将同时有 href 和 title 属性的 HTML 超链接的文本设置为红色,可以这样写: + +``` +a[href][title] {color:red;} +``` + +### **后代选择器** 空格 + +**(descendant selector)又称为包含选择器。** + +**后代选择器可以选择作为某元素后代的元素。** + +举例来说,如果您希望只对 h1 元素中的 em 元素应用样式,可以这样写: + +``` +h1 em {color:red;} +``` + +有关后代选择器有一个易被忽视的方面,即两个元素之间的层次间隔可以是无限的。 + +### 子元素选择器 > + +**与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。** + +如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。 + +例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写: + +``` +h1 > strong {color:red;} +``` + +这个规则会把第一个 h1 下面的两个 strong 元素变为红色,但是第二个 h1 中的 strong 不受影响: + +``` +

This is very very important.

+

This is really very important.

+``` + +### 相邻兄弟选择器 + + +**相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。** + +如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。 + +例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写: + +``` +h1 + p {margin-top:50px;} +``` + +注意选的是p. + + + +## @规则 + +例如,要将额外的样式表导入主 CSS 样式表,可以使用 `@import`: + +``` +@import 'styles2.css'; +``` + +在下面的 CSS 中,我们将给 `` 元素一个粉红色的背景色。但是,我们随后使用 @media 创建样式表的一个部分,该部分仅适用于视口大于 30em 的浏览器。如果浏览器的宽度大于 30em,则背景色将为蓝色。 + +``` +body { + background-color: pink; +} + +@media (min-width: 30em) { + body { + background-color: blue; + } +} +``` + +## 速记属性 + +一些属性,如 [`font`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font), [`background`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/background), [`padding`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/padding), [`border`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/border), and [`margin`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/margin) 等属性称为速记属性--这是因为它们允许您在一行中设置多个属性值,从而节省时间并使代码更整洁。 + +``` +padding: 10px 15px 15px 5px; +``` + +这四行代码是等价的: + +``` +padding-top: 10px; +padding-right: 15px; +padding-bottom: 15px; +padding-left: 5px; +``` + +Copy to Clipboard + +这一行: + +``` +background: red url(bg-graphic.png) 10px 10px repeat-x fixed; +``` + +Copy to Clipboard + +与这五行代码是等价的: + +``` +background-color: red; +background-image: url(bg-graphic.png); +background-position: 10px 10px; +background-repeat: repeat-x; +background-attachment: fixed; +``` + +## 层叠与继承 + +样式表[**层叠**](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Cascade)——简单的说,就是 CSS 规则的顺序很重要;当应用两条同级别的规则到一个元素的时候,写在后面的就是实际使用的规则。 + +### 优先级 + +浏览器是根据[优先级](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Specificity)来决定当多个规则有不同选择器对应相同的元素的时候需要使用哪个规则。它基本上是一个衡量选择器具体选择哪些区域的尺度: + +- 一个元素选择器不是很具体,则会选择页面上该类型的所有元素,所以它的优先级就会低一些。 +- 一个类选择器稍微具体点,则会选择该页面中有特定 `class` 属性值的元素,所以它的优先级就要高一点。 + +一个选择器的优先级可以说是由三个不同的值(或分量)相加,可以认为是百(ID)十(类)个(元素)——三位数的三个位数: + +- **ID**:选择器中包含 ID 选择器则百位得一分。 +- **类**:选择器中包含类选择器、属性选择器或者伪类则十位得一分。 +- **元素**:选择器中包含元素、伪元素选择器则个位得一分。 + + + +另外 + +内联样式,即 [`style`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes#attr-style) 属性内的样式声明,优先于所有普通的样式,无论其优先级如何。这样的声明没有选择器,但它们的优先级可以理解为 1-0-0-0;即无论选择器中有多少个 ID,它总是比其它任何优先级的权重都要高。 + + + +有一个特殊的 CSS 可以用来覆盖所有上面所有优先级计算,不过需要很小心的使用——`!important`。用于修改特定属性的值,能够覆盖普通规则的层叠。 + +### 继承 + +在默认情况下,一些 css 属性继承当前元素的父元素上设置的值,有些则不继承。这也可能导致一些和期望不同的结果。 + +继承也需要在上下文中去理解——一些设置在父元素上的 CSS 属性是可以被子元素继承的,有些则不能。 + +举一个例子,如果你设置一个元素的 `color` 和 `font-family`,每个在里面的元素也都会有相同的属性,除非你直接在元素上设置属性。 + +一些属性是不能继承的——举个例子如果你在一个元素上设置 [`width`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/width) 为 50% ,所有的后代不会是父元素的宽度的 50% 。如果这个也可以继承的话,CSS 就会很难使用了! + + + +CSS 为控制继承提供了五个特殊的通用属性值。每个 CSS 属性都接收这些值。 + +- [`inherit`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/inherit) + + 设置该属性会使子元素属性和父元素相同。实际上,就是“开启继承”。 + +- [`initial`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/initial) + + 将应用于选定元素的属性值设置为该属性的[初始值](https://developer.mozilla.org/zh-CN/docs/Web/CSS/initial_value)。 + +- [`revert` (en-US)](https://developer.mozilla.org/en-US/docs/Web/CSS/revert) + + 将应用于选定元素的属性值重置为浏览器的默认样式,而不是应用于该属性的默认值。在许多情况下,此值的作用类似于 [`unset`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/unset)。 + +- [`revert-layer` (en-US)](https://developer.mozilla.org/en-US/docs/Web/CSS/revert-layer) + + 将应用于选定元素的属性值重置为在上一个[层叠层](https://developer.mozilla.org/zh-CN/docs/Web/CSS/@layer)中建立的值。 + +- [`unset`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/unset) + + 将属性重置为自然值,也就是如果属性是自然继承那么就是 `inherit`,否则和 `initial` 一样 + +## 盒模型 + +### 块级盒子(Block box) 和 内联盒子(Inline box) + +在 CSS 中我们广泛地使用两种“盒子” —— **块级盒子** (**block box**) 和 **内联盒子** (**inline box**)。这两种盒子会在**页面流**(page flow)和元素之间的关系方面表现出不同的行为: + +一个被定义成块级的(block)盒子会表现出以下行为: + +- 盒子会在内联的方向上扩展并占据父容器在该方向上的所有可用空间,在绝大数情况下意味着盒子会和父容器一样宽。 **默认的,一个[块级元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Block-level_elements)的内容宽度是其父元素的 100%,其高度与其内容高度一致。[内联元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Inline_elements)的 height width 与内容一致。** +- 每个盒子都会换行 +- [`width`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/width) 和 [`height`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/height) 属性可以发挥作用 +- 内边距(padding), 外边距(margin)和 边框(border)会将其他元素从当前盒子周围“推开” + +除非特殊指定,诸如标题 (`

`等) 和段落 (`

`) 默认情况下都是块级的盒子。 + +如果一个盒子对外显示为 `inline`,那么他的行为如下: + +- 盒子不会产生换行。 +- [`width`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/width) 和 [`height`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/height) 属性将不起作用。[内联元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Inline_elements)的 height width 与内容一致。 +- 垂直方向的内边距、外边距以及边框会被应用但是不会把其他处于 `inline` 状态的盒子推开。 +- 水平方向的内边距、外边距以及边框会被应用且会把其他处于 `inline` 状态的盒子推开。 +- 排列时 只要在其父级块级元素的宽度内有足够的空间,它们与其他内联元素、相邻的文本内容(或者被包裹的)被安排在同一行。如果空间不够,溢出的文本或元素将移到新的一行。 + + + +用做链接的 `` 元素、 ``、 `` 以及 `` 都是默认处于 `inline` 状态的。 + +我们通过对盒子[`display`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/display) 属性的设置,比如 `inline` 或者 `block` ,来控制盒子的外部显示类型。**`display` 属性可以改变盒子的外部显示类型是块级还是内联,这将会改变它与布局中的其他元素的显示方式。** + + + +所以span后面再接个div,会两行,因为div会换行。后面div被个span套着也会两行。 + + + +### 块级盒子 盒模型的各个部分 + +完整的 CSS 盒模型应用于块级盒子,内联盒子只使用盒模型中定义的部分内容。模型定义了盒的每个部分 —— margin, border, padding, and content + + + +CSS 中组成一个块级盒子需要: + +- **Content box**: 这个区域是用来显示内容,大小可以通过设置 [`width`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/width) 和 [`height`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/height). +- **Padding box**: 包围在内容区域外部的空白区域; 大小通过 [`padding`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/padding) 相关属性设置。 +- **Border box**: 边框盒包裹内容和内边距。大小通过 [`border`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/border) 相关属性设置。 +- **Margin box**: 这是最外面的区域,是盒子和其他元素之间的空白区域。大小通过 [`margin`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/margin) 相关属性设置。 + +如下图: + +![Diagram of the box model](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209101902696.png) + +在标准模型中,如果你给盒设置 `width` 和 `height`,实际设置的是 *content box*。 padding 和 border 再加上设置的宽高一起决定整个盒子的大小。 + +**备注:** margin 不计入实际大小 —— 当然,它会影响盒子在页面所占空间,但是影响的是盒子外部空间。盒子的范围到边框为止 —— 不会延伸到 margin。 + +以上是标准模型的计算,也是浏览器默认规则,替代模型不常用,但如果看到 `box-sizing: border-box;` 就需要知道它是替代模型了,替代模型里长宽不算padding和border + +#### 外边距 + +外边距是盒子周围一圈看不到的空间。它会把其他元素从盒子旁边推开。外边距属性值可以为正也可以为负。设置负值会导致和其他内容重叠。无论使用标准模型还是替代模型,外边距总是在计算可见部分后额外添加。 + +#### **外边距折叠** + +理解外边距的一个关键是外边距折叠的概念。如果你有两个外边距相接的元素,这些外边距将合并为一个外边距,即最大的单个外边距的大小。 + +有许多规则规定了什么时候外边距会折叠,什么时候不会折叠。相关更多信息,请参阅[外边距重叠](https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing)。现在首先要记住的事情是,外边距会折叠这个事情。如果你用外边距创建空间而没有得到你想要的效果,那这可能就是这个原因。 + +#### 内边距 + +内边距位于边框和内容区域之间。与外边距不同,您不能有负数量的内边距,所以值必须是 0 或正的值。应用于元素的任何背景都将显示在内边距后面,内边距通常用于将内容推离边框。 + +### 内联盒子 + +记住下面就行了,效果可[参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/The_box_model#%E5%86%85%E8%BE%B9%E8%B7%9D) 推不开就代表有重叠。 + +- [`width`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/width) 和 [`height`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/height) 属性将不起作用。 +- 垂直方向的内边距、外边距以及边框会被应用但是**不会**把其他处于 `inline` 状态的盒子推开。 +- 水平方向的内边距、外边距以及边框会被应用且会把其他处于 `inline` 状态的盒子推开。 + +### 使用 display: inline-block + +display 有一个特殊的值,它在内联和块之间提供了一个中间状态。这对于以下情况非常有用:您不希望一个项切换到新行,但希望它可以设定宽度和高度,并避免上面看到的重叠。 + +一个元素使用 `display: inline-block`,实现我们需要的块级的部分效果: + +- 设置`width` 和`height` 属性会生效。 +- `padding`, `margin`, 以及`border` 会推开其他元素。 + + + +## 溢出 + +> [参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Overflowing_content) + +限制了盒子的长和宽,可能会发生文字溢出等。 + +#### overflow属性 + +针对溢出,可以设置盒子属性`overflow: hidden` 直接多余的截掉,估计也没人用。 这个是加滚动条`overflow: scroll` + + + +```css +overflow: scroll 是x和y都滚动。 +overflow-y: scroll 设置在y滚动 +``` + +如果你只是想让滚动条在有比盒子所能装下更多的内容的时候才显示,那么使用`overflow: auto`。此时由浏览器决定是否显示滚动条。桌面浏览器一般仅仅会在有足以引起溢出的内容的时候这么做。 + +### 其他解决办法 + +参考下面调整大小,设置min-height等 + +## CSS 的值与单位 + +以下都是**绝对**长度单位——它们与其他任何东西都没有关系,通常被认为总是相同的大小。 + +| `in` | 英寸 | 1in = 2.54cm = 96px | +| ---- | ---------- | ------------------- | +| `pc` | 十二点活字 | 1pc = 1/6th of 1in | +| `pt` | 点 | 1pt = 1/72th of 1in | +| `px` | 像素 | 1px = 1/96th of 1in | + +相对长度单位相对于其他一些东西,比如父元素的字体大小,或者视图端口的大小。使用相对单位的好处是,经过一些仔细的规划,您可以使文本或其他元素的大小与页面上的其他内容相对应。下表列出了 web 开发中一些最有用的单位。 + +| 单位 | 相对于 | +| :----- | :----------------------------------------------------------- | +| `em` | 在 font-size 中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如 width | +| `ex` | 字符“x”的高度 | +| `ch` | 数字“0”的宽度 | +| `rem` | 根元素的字体大小 | +| `lh` | 元素的 line-height | +| `vw` | 视窗宽度的 1% | +| `vh` | 视窗高度的 1% | +| `vmin` | 视窗较小尺寸的 1% | +| `vmax` | 视图大尺寸的 1% | + +### 分辨率 + +> [参考](https://tangjie-93.github.io/blog/articles/css/%E5%88%86%E8%BE%A8%E7%8E%87%E5%92%8C%E5%83%8F%E7%B4%A0%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB.html)   + +经常听到分辨率这个词,分辨率又是以像素为单位的。分辨率指的是宽度上和高度上最多能显示的物理像素点个数。指的是块屏幕的像素尺寸。`750X1334`指的是横向有`750`个像素,纵向有`1334`个像素。`屏幕尺寸`指的是设备对角线的长度。 + +## 调整大小 + +> [参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Sizing_items_in_CSS) + +注意使用百分比作为元素外边距(margin)或填充(padding)的单位时,值是以包含块的**内联尺寸**进行计算的,也就是元素的水平宽度。在我们的示例中,所有的外边距或填充都是宽度的 10%。请记住一个事实,当你使用百分比作为元素外边距或填充的单位时,你将得到一个相同尺寸的外边距或填充。 + +### min-和 max-尺寸 + +除了让万物都有一个确定的大小以外,我们可以让 CSS 给定一个元素的最大或最小尺寸。如果你有一个包含了变化容量的内容的盒子,而且你总是想让它**至少**有个确定的高度,你应该给它设置一个[`min-height`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/min-height)属性。盒子就会一直保持大于这个最小高度,但是如果有比这个盒子在最小高度状态下所能容纳的更多内容,那么盒子就会变大。 + +这在避免溢出的同时并处理变化容量的内容的时候是很有用的。 + + + +## 图像、媒体和表单元素 + +> [参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Images_media_form_elements) + +#### 图像 + +如果你把一张图片放在一个盒子里,而这张图片的原始长和宽比盒子的小或大,那么这张图要么缩在盒子里,要么就从盒子里面溢出。你需要决定如何处理这样的溢出。 + +强制拉伸:一个常用的方法是将一张图片的 [`max-width`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/max-width) 设为 100%。这将会使图片的尺寸小于等于盒子。这个技术也会对其他替换元素video等起作用。box有了宽度后,对内部image设置max-width=100% + +也可以设置`object-fit: contain;` 让图片裁剪可以以多种方式被调整到合乎盒子的大小。示例中我们使用了值 `cover` 来缩小图像,同时维持了图像的原始比例。这样图像就可以充满盒子。但由于比例保持不变,图像多余的一部分将会被盒子裁切掉。 + +如果我们使用值 `contain`,图像就会被缩放到足以完整地放到盒子里面的大小。如果它和盒子的比例不同,将会出现“开天窗”的结果。 + +你可能也想试试 `fill` 值,它可以让图像充满盒子,但是不会维持比例。 + + + +#### 表单 + +在一些浏览器中,表单元素默认不会继承字体样式,因此如果你想要确保你的表单填入区域使用 body 中或者一个父元素中定义的字体,你需要向你的 CSS 中加入这条规则。 + +``` +button, +input, +select, +textarea { + font-family : inherit; + font-size : 100%; +} +``` + +Copy to Clipboard + + + + + +## 文本布局 + +[`text-align`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-align) 属性用来控制文本如何和它所在的内容盒子对齐。可用值如下,并且在与常规文字处理器应用程序中的工作方式几乎相同: + +- `left`: 左对齐文本。 +- `right`: 右对齐文本。 +- `center`: 居中文字 +- `justify`: 使文本展开,改变单词之间的差距,使所有文本行的宽度相同。你需要仔细使用,它可以看起来很可怕。特别是当应用于其中有很多长单词的段落时。如果你要使用这个,你也应该考虑一起使用别的东西,比如 [`hyphens`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/hyphens),打破一些更长的词语。 + +[`line-height`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/line-height) 属性设置文本每行之间的高,可以接受大多数单位 [length and size units](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#length_and_size),不过也可以设置一个无单位的值,作为乘数,通常这种是比较好的做法。无单位的值乘以 [`font-size`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font-size) 来获得 `line-height`。当行与行之间拉开空间,正文文本通常看起来更好更容易阅读。推荐的行高大约是 1.5–2 (双倍间距。) 所以要把我们的文本行高设置为字体高度的 1.5 倍,你可以使用这个: + +``` +line-height: 1.5; +``` + + + +## CSS排版 + +> [参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Introduction) + +传统布局方式: float+position,新布局方式: flex, grid等 + +### 弹性盒子Flexbox + +Flexbox 是 CSS 弹性盒子布局模块([Flexible Box Layout](https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Flexible_Box_Layout) Module)的缩写,它被专门设计出来用于创建横向或是纵向的一维页面布局。要使用 flexbox,你只需要在想要进行 flex 布局的父元素上应用`display: flex` ,所有直接子元素都将会按照 flex 进行布局。 + +[参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Flexbox) + + + +![flex_terms.png](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209111748586.png) + +- **主轴**(main axis)是沿着 flex 元素放置的方向延伸的轴(比如页面上的横向的行、纵向的列)。该轴的开始和结束被称为 **main start** 和 **main end**。 +- **交叉轴**(cross axis)是垂直于 flex 元素放置方向的轴。该轴的开始和结束被称为 **cross start** 和 **cross end**。 +- 设置了 `display: flex` 的父元素(被称之为 **flex 容器(flex container)。** +- 在 flex 容器中表现为柔性的盒子的元素被称之为 **flex 项**(**flex item**) + + + +弹性盒子提供了 [`flex-direction`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/flex-direction) 这样一个属性,它可以指定主轴的方向(弹性盒子子类放置的地方)— 它默认值是 `row`,这使得它们在按你浏览器的默认语言方向排成一排(在英语/中文浏览器中是从左到右)。 + + + + + +[`align-items`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/align-items) 控制 flex 项在交叉轴上的位置。 + +- 默认的值是 `stretch`,其会使所有 flex 项沿着交叉轴的方向拉伸以填充父容器。如果父容器在交叉轴方向上没有固定宽度(即高度),则所有 flex 项将变得与最长的 flex 项一样长(即高度保持一致)。我们的第一个例子在默认情况下得到相等的高度的列的原因。 +- 在上面规则中我们使用的 `center` 值会使这些项保持其原有的高度,但是会在交叉轴居中。这就是那些按钮垂直居中的原因。 +- 你也可以设置诸如 `flex-start` 或 `flex-end` 这样使 flex 项在交叉轴的开始或结束处对齐所有的值。查看 [`align-items`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/align-items) 了解更多。 + + + +[`justify-content`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/justify-content) 控制 flex 项在主轴上的位置。 + +- 默认值是 `flex-start`,这会使所有 flex 项都位于主轴的开始处。 +- 你也可以用 `flex-end` 来让 flex 项到结尾处。 +- `center` 在 `justify-content` 里也是可用的,可以让 flex 项在主轴居中。 +- 而我们上面用到的值 `space-around` 是很有用的——它会使所有 flex 项沿着主轴均匀地分布,在任意一端都会留有一点空间。 +- 还有一个值是 `space-between`,它和 `space-around` 非常相似,只是它不会在两端留下任何空间。 + + + +### Grid 布局 + +Flexbox 用于设计横向或纵向的布局,而 Grid 布局则被设计用于同时在两个维度上把元素按行和列排列整齐。 + +```css +.wrapper { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-template-rows: 100px 100px; + grid-gap: 10px; +} + +``` + +`fr`这个单位可灵活地定义网格的行与列的大小。这个单位表示了可用空间的一个比例。 + +网格间隙gutter,`grid-gap: 20px;` + +### 浮动float + +> [参考](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Floats) + +浮动元素 会脱离正常的文档布局流,并吸附到其父容器的左边 。在正常布局中位于该浮动元素之下的内容,此时会围绕着浮动元素,填满其右侧的空间。 + +浮动的元素脱离了正常文档流,紧随其后的元素排布在它的“后方”。后面元素不能设置margin推开它。 + + + +#### 清除浮动 + +一个浮动元素会被移出正常文档流,且其他元素会显示在它的下方。如果我们不想让剩余元素也受到浮动元素的影响,我们需要 *停止* 它;这是通过添加 [`clear`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/clear) 属性实现的。 + +`clear` 属性接受下列值: + +- `left`:停止任何活动的左浮动 +- `right`:停止任何活动的右浮动 +- `both`:停止任何活动的左右浮动 + +### 定位技术 + +定位 (positioning) 能够让我们把一个元素从它原本在正常布局流 (normal flow) 中应该在的位置移动到另一个位置。定位 (positioning) 并不是一种用来给你做主要页面布局的方式,它更像是让你去管理和微调页面中的一个特殊项的位置。 + +有一些非常有用的技术在特定的布局下依赖于[`position`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/position)属性。同时,理解定位 (positioning) 也能够帮助你理解正常布局流 (normal flow),理解把一个元素移出正常布局流 (normal flow) 是怎么一回事。 + +有五种主要的定位类型需要我们了解: + +- **静态定位**(Static positioning)是每个元素默认的属性——它表示“将元素放在文档布局流的默认位置——没有什么特殊的地方”。 +- **相对定位**(Relative positioning)允许我们相对于元素在正常的文档流中的位置移动它——包括将两个元素叠放在页面上。这对于微调和精准设计(design pinpointing)非常有用。**相对原来位置 没移出布局流** +- **绝对定位**(Absolute positioning)将元素完全从页面的正常布局流(normal layout flow)中移出,类似将它单独放在一个图层中。我们可以将元素相对于页面的 `` 元素边缘固定,或者相对于该元素的*最近被定位祖先元素*(nearest positioned ancestor element)。绝对定位在创建复杂布局效果时非常有用,例如通过标签显示和隐藏的内容面板或者通过按钮控制滑动到屏幕中的信息面板。**相对html边缘** +- **固定定位**(Fixed positioning)与绝对定位非常类似,但是它是将一个元素相对浏览器视口固定,而不是相对另外一个元素。这在创建类似在整个页面滚动过程中总是处于屏幕的某个位置的导航菜单时非常有用。**相对屏幕** +- **粘性定位**(Sticky positioning)是一种新的定位方式,它会让元素先保持和 `position: static` 一样的定位,当它的相对视口位置(offset from the viewport)达到某一个预设值时,它就会像 `position: fixed` 一样定位。 + +# 学习 + +> [参考 全](https://developer.mozilla.org/en-US/docs/Learn/CSS) +> +> [中文](https://developer.mozilla.org/zh-CN/docs/Learn/CSS/First_steps/How_CSS_is_structured) \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" index ad554c004e..7a81f97ca1 100644 --- "a/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ "b/_posts/Tech/FrontEnd/2017-12-03-html\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -392,4 +392,17 @@ input也可以脱离form使用,不过可能需要结合ajax等。 < 等同于 < > 等同于 > © 等同于 © -``` \ No newline at end of file +``` + + + +## 事件 + +[参考](https://www.runoob.com/tags/ref-eventattributes.html) + +- `onclick`:用户点击 HTML 元素。 +- `onchange`:HTML 元素改变. `onchange` 事件会在域的内容改变时发生。`onchange` 事件也可用于单选框与复选框改变后触发的事件。 +- `onload`:浏览器已完成页面的加载。 +- `onmouseover`:用户在一个HTML元素上移动鼠标。 +- `onmouseout`:用户从一个HTML元素上移开鼠标。 +- `onkeydown`:用户按下键盘按键。 \ No newline at end of file From 37aed85fe02d92db85426204dd72db512570dbd1 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 12 Sep 2022 10:29:56 +0800 Subject: [PATCH 055/318] add logbook --- ...5\255\246\344\271\240\347\254\224\350\256\260.md" | 2 +- .../2018-06-20-css\346\265\256\345\212\250.md" | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 "_posts/Tech/FrontEnd/2018-06-20-css\346\265\256\345\212\250.md" diff --git "a/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" index d578861427..4a3efe27fd 100644 --- "a/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ "b/_posts/Tech/FrontEnd/2017-12-03-css\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -762,7 +762,7 @@ Flexbox 用于设计横向或纵向的布局,而 Grid 布局则被设计用于 - **固定定位**(Fixed positioning)与绝对定位非常类似,但是它是将一个元素相对浏览器视口固定,而不是相对另外一个元素。这在创建类似在整个页面滚动过程中总是处于屏幕的某个位置的导航菜单时非常有用。**相对屏幕** - **粘性定位**(Sticky positioning)是一种新的定位方式,它会让元素先保持和 `position: static` 一样的定位,当它的相对视口位置(offset from the viewport)达到某一个预设值时,它就会像 `position: fixed` 一样定位。 -# 学习 +# 参考 > [参考 全](https://developer.mozilla.org/en-US/docs/Learn/CSS) > diff --git "a/_posts/Tech/FrontEnd/2018-06-20-css\346\265\256\345\212\250.md" "b/_posts/Tech/FrontEnd/2018-06-20-css\346\265\256\345\212\250.md" deleted file mode 100644 index 3dd40c8e32..0000000000 --- "a/_posts/Tech/FrontEnd/2018-06-20-css\346\265\256\345\212\250.md" +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -category: FrontEnd -title: css浮动 -tags: FrontEnd ---- - - -[参考链接](https://www.cnblogs.com/smyhvae/p/7297736.html) - -[参考链接2](https://blog.csdn.net/u010297791/article/details/76718589) - From ecdac85e1254f7ff758fc220877d78e11dc237ad Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 12 Sep 2022 10:34:59 +0800 Subject: [PATCH 056/318] add logbook --- ...46\344\271\240\347\254\224\350\256\260.md" | 175 +++++++++++++++++- ...46\344\271\240\347\254\224\350\256\260.md" | 110 ----------- ...018-02-11-html\351\200\237\346\237\245.md" | 160 ---------------- _posts/Tech/FrontEnd/2018-06-15-ajax.md | 71 ------- 4 files changed, 173 insertions(+), 343 deletions(-) rename "_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" => "_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" (75%) delete mode 100644 "_posts/Tech/FrontEnd/2017-12-03-jquery\345\255\246\344\271\240\347\254\224\350\256\260.md" delete mode 100644 "_posts/Tech/FrontEnd/2018-02-11-html\351\200\237\346\237\245.md" delete mode 100644 _posts/Tech/FrontEnd/2018-06-15-ajax.md diff --git "a/_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" similarity index 75% rename from "_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" rename to "_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" index c0cbae4419..444bdd34eb 100644 --- "a/_posts/Tech/FrontEnd/2017-12-03-js\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ "b/_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -623,8 +623,179 @@ $("p").css("background-color"); $("p").css("background-color","yellow"); $("p").css({"background-color":"yellow","font-size":"200%"}); + + + +旧版本 +$("").hide() +//必须 +$(document).ready(function(){ + +--- jQuery functions go here ---- + +}); + +jQuery 语法实例 +$(this).hide() +演示 jQuery hide() 函数,隐藏当前的 HTML 元素。 +$("#test").hide() +演示 jQuery hide() 函数,隐藏 id="test" 的元素。 +$("p").hide() +演示 jQuery hide() 函数,隐藏所有

元素。 +$(".test").hide() +演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。 + +jQuery 元素选择器 +jQuery 使用 CSS 选择器来选取 HTML 元素。 +$("p") 选取

元素。 +$("p.intro") 选取所有 class="intro" 的

元素。 +$("p#demo") 选取所有 id="demo" 的

元素。 +jQuery 属性选择器 +jQuery 使用 XPath 表达式来选择带有给定属性的元素。 +$("[href]") 选取所有带有 href 属性的元素。 +$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。 +$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。 +$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。 +jQuery CSS 选择器 +jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。 +下面的例子把所有 p 元素的背景颜色更改为红色: +$("p").css("background-color","red"); + +$(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时) +$(selector).click(function) 触发或将函数绑定到被选元素的点击事件 +$(selector).dblclick(function) 触发或将函数绑定到被选元素的双击事件 +$(selector).focus(function) 触发或将函数绑定到被选元素的获得焦点事件 +$(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件 + +$("#btn1").click(function(){ + $("#test1").text("Hello world!"); +}); +$("#btn2").click(function(){ + $("#test2").html("Hello world!"); +}); +$("#btn3").click(function(){ + $("#test3").val("Dolly Duck"); +}); +//回调函数 +$("#btn1").click(function(){ + $("#test1").text(function(i,origText){ + return "Old text: " + origText + " New text: Hello world! + (index: " + i + ")"; + }); +}); + +$("button").click(function(){ + $("#w3s").attr("href","http://www.w3school.com.cn/jquery"); +}); +//同时设置多个属性 +$("button").click(function(){ + $("#w3s").attr({ + "href" : "http://www.w3school.com.cn/jquery", + "title" : "W3School jQuery Tutorial" + }); +}); + +$("p").append("Some appended text."); +$("p").prepend("Some prepended text."); + +function appendText() +{ +var txt1="

Text.

"; // 以 HTML 创建新元素 +var txt2=$("

").text("Text."); // 以 jQuery 创建新元素 +var txt3=document.createElement("p"); // 以 DOM 创建新元素 +txt3.innerHTML="Text."; +$("p").append(txt1,txt2,txt3); // 追加新元素 +} + +$("img").after("Some text after"); +$("img").before("Some text before"); + +$("#div1").remove(); +$("#div1").empty(); +$("p").remove(".italic"); + +$("button").click(function(){ + $("h1,h2,p").addClass("blue"); + $("div").addClass("important"); +}); + +$("button").click(function(){ + $("h1,h2,p").removeClass("blue"); +}); + +$("p").css("background-color","yellow"); +$("p").css({"background-color":"yellow","font-size":"200%"}); +``` + +# Jquery ajax淘汰 + +[参考](https://www.xiejiahe.com/blog/detail/59b35ad615c192bd11b90469) + + + + + +# ajax教程 + +## ajax请求数据 +### get +```javascript + var xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET","/test/GetSearchTips?sear="+thisnode.value,true); + xmlhttp.send(); +``` + +### post +```javascript + xmlhttp.open("POST","/myservlet",true); + xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); + xmlhttp.send("name=mafulong&age=14"); ``` -## Jquery ajax淘汰 +## 后台处理数据 +```java + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { +// super.doGet(req, resp); +// resp.setContentType("text/html"); + String name=req.getParameter("name"); + System.out.println(name); + resp.setContentType("application/json; charset=UTF-8"); + PrintWriter out=resp.getWriter(); +// out.print("fjdkfjdk"); +// out.println("

abc

"); + JSONObject jsonObject=new JSONObject(); + JSONArray jsonArray=new JSONArray(); + jsonArray.put(jsonObject); + jsonArray.put(jsonObject); + try{ + jsonObject.put("name","mafulong"); + jsonObject.put("age",18); + }catch (Exception e){ + e.printStackTrace(); + } +// out.print(jsonObject.toString()); + out.print(jsonArray.toString()); + + } +``` -[参考](https://www.xiejiahe.com/blog/detail/59b35ad615c192bd11b90469) \ No newline at end of file +## 前端处理后端接收得数据 +```javascript + xmlhttp.onreadystatechange=function() + { + if (xmlhttp.readyState==4 && xmlhttp.status==200) + { + // document.getElementById("myDiv").innerHTML=xmlhttp.responseText; + alert("success "); + var data=xmlhttp.responseText; + var djson=JSON.parse(data); + var str=""; + for(var i=0;i"; + str+=djson[i].age+"
"; + } + document.getElementById("myDiv").innerHTML=str; + } + } +``` \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2017-12-03-jquery\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-jquery\345\255\246\344\271\240\347\254\224\350\256\260.md" deleted file mode 100644 index bf0d9b09ad..0000000000 --- "a/_posts/Tech/FrontEnd/2017-12-03-jquery\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ /dev/null @@ -1,110 +0,0 @@ ---- -layout: post -category: FrontEnd -title: jquery笔记 -tags: FrontEnd ---- -class用. ,id用# - -## jquery - -```javascript -$("").hide() -//必须 -$(document).ready(function(){ - ---- jQuery functions go here ---- - -}); - -jQuery 语法实例 -$(this).hide() -演示 jQuery hide() 函数,隐藏当前的 HTML 元素。 -$("#test").hide() -演示 jQuery hide() 函数,隐藏 id="test" 的元素。 -$("p").hide() -演示 jQuery hide() 函数,隐藏所有

元素。 -$(".test").hide() -演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。 - -jQuery 元素选择器 -jQuery 使用 CSS 选择器来选取 HTML 元素。 -$("p") 选取

元素。 -$("p.intro") 选取所有 class="intro" 的

元素。 -$("p#demo") 选取所有 id="demo" 的

元素。 -jQuery 属性选择器 -jQuery 使用 XPath 表达式来选择带有给定属性的元素。 -$("[href]") 选取所有带有 href 属性的元素。 -$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。 -$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。 -$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。 -jQuery CSS 选择器 -jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。 -下面的例子把所有 p 元素的背景颜色更改为红色: -$("p").css("background-color","red"); - -$(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时) -$(selector).click(function) 触发或将函数绑定到被选元素的点击事件 -$(selector).dblclick(function) 触发或将函数绑定到被选元素的双击事件 -$(selector).focus(function) 触发或将函数绑定到被选元素的获得焦点事件 -$(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件 - -$("#btn1").click(function(){ - $("#test1").text("Hello world!"); -}); -$("#btn2").click(function(){ - $("#test2").html("Hello world!"); -}); -$("#btn3").click(function(){ - $("#test3").val("Dolly Duck"); -}); -//回调函数 -$("#btn1").click(function(){ - $("#test1").text(function(i,origText){ - return "Old text: " + origText + " New text: Hello world! - (index: " + i + ")"; - }); -}); - -$("button").click(function(){ - $("#w3s").attr("href","http://www.w3school.com.cn/jquery"); -}); -//同时设置多个属性 -$("button").click(function(){ - $("#w3s").attr({ - "href" : "http://www.w3school.com.cn/jquery", - "title" : "W3School jQuery Tutorial" - }); -}); - -$("p").append("Some appended text."); -$("p").prepend("Some prepended text."); - -function appendText() -{ -var txt1="

Text.

"; // 以 HTML 创建新元素 -var txt2=$("

").text("Text."); // 以 jQuery 创建新元素 -var txt3=document.createElement("p"); // 以 DOM 创建新元素 -txt3.innerHTML="Text."; -$("p").append(txt1,txt2,txt3); // 追加新元素 -} - -$("img").after("Some text after"); -$("img").before("Some text before"); - -$("#div1").remove(); -$("#div1").empty(); -$("p").remove(".italic"); - -$("button").click(function(){ - $("h1,h2,p").addClass("blue"); - $("div").addClass("important"); -}); - -$("button").click(function(){ - $("h1,h2,p").removeClass("blue"); -}); - -$("p").css("background-color","yellow"); -$("p").css({"background-color":"yellow","font-size":"200%"}); -``` \ No newline at end of file diff --git "a/_posts/Tech/FrontEnd/2018-02-11-html\351\200\237\346\237\245.md" "b/_posts/Tech/FrontEnd/2018-02-11-html\351\200\237\346\237\245.md" deleted file mode 100644 index 1db8f68d5c..0000000000 --- "a/_posts/Tech/FrontEnd/2018-02-11-html\351\200\237\346\237\245.md" +++ /dev/null @@ -1,160 +0,0 @@ ---- -layout: post -category: FrontEnd -title: html速查 -tags: FrontEnd ---- - -## HTML基本文档 -```html - - - -文档标题 - - -可见文本... - - -``` - -## 基本标签(Basic Tags) -```html -

最大的标题

-

. . .

-

. . .

-

. . .

-
. . .
-
最小的标题
- -

这是一个段落。

-
(换行) -
(水平线) - -``` - -## 文本格式化(Formatting) -```html -粗体文本 -计算机代码 -强调文本 -斜体文本 -键盘输入 - H5已废弃 -
预格式化文本
-更小的文本 -重要的文本 - - (缩写) - TheWHO was founded in 1948. -
(联系信息) - 就是斜体 - (文字方向) -
(从另一个源引用的部分) - (工作的名称) - (删除的文本) - (插入的文本) - (下标文本) - (上标文本) -``` - -## 链接(Links) -```html -普通的链接:链接文本 -图像链接: 替换文本 -邮件链接: 发送e-mail -书签: -提示部分 -跳到提示部分 -``` - -## 图片(Images) -必须有src和alt属性 -```html -替换文本 -``` - -## 样式/区块(Styles/Sections) -```html - -
文档中的块级元素
-文档中的内联元素 -``` - -## 无序列表 -```html -
    -
  • 项目
  • -
  • 项目
  • -
-``` - -## 有序列表 -```html -
    -
  1. 第一项
  2. -
  3. 第二项
  4. -
-``` - -## 定义列表 -```html -
-
项目 1
-
描述项目 1
-
项目 2
-
描述项目 2
-
-``` - -## 表格(Tables) -```html - - - - - - - - - -
表格标题表格标题
表格数据表格数据
-``` - -## 框架(Iframe) -```html - -``` - -## 表单(Forms) -每个输入元素必须有一个name属性 - -在form规定action, submit提交就,规定post还是get -```html -
- - - - - - - - - - -
-``` - -## 实体(Entities) -```html -< 等同于 < -> 等同于 > -© 等同于 © -``` \ No newline at end of file diff --git a/_posts/Tech/FrontEnd/2018-06-15-ajax.md b/_posts/Tech/FrontEnd/2018-06-15-ajax.md deleted file mode 100644 index 388f2c44ae..0000000000 --- a/_posts/Tech/FrontEnd/2018-06-15-ajax.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: post -category: FrontEnd -title: ajax -tags: FrontEnd ---- -代码链接库[my github](https://github.com/mafulong/ajaxLearning) - - -## ajax请求数据 -### get -```javascript - var xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET","/test/GetSearchTips?sear="+thisnode.value,true); - xmlhttp.send(); -``` - -### post -```javascript - xmlhttp.open("POST","/myservlet",true); - xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); - xmlhttp.send("name=mafulong&age=14"); -``` - -## 后台处理数据 -```java - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { -// super.doGet(req, resp); -// resp.setContentType("text/html"); - String name=req.getParameter("name"); - System.out.println(name); - resp.setContentType("application/json; charset=UTF-8"); - PrintWriter out=resp.getWriter(); -// out.print("fjdkfjdk"); -// out.println("

abc

"); - JSONObject jsonObject=new JSONObject(); - JSONArray jsonArray=new JSONArray(); - jsonArray.put(jsonObject); - jsonArray.put(jsonObject); - try{ - jsonObject.put("name","mafulong"); - jsonObject.put("age",18); - }catch (Exception e){ - e.printStackTrace(); - } -// out.print(jsonObject.toString()); - out.print(jsonArray.toString()); - - } -``` - -## 前端处理后端接收得数据 -```javascript - xmlhttp.onreadystatechange=function() - { - if (xmlhttp.readyState==4 && xmlhttp.status==200) - { - // document.getElementById("myDiv").innerHTML=xmlhttp.responseText; - alert("success "); - var data=xmlhttp.responseText; - var djson=JSON.parse(data); - var str=""; - for(var i=0;i"; - str+=djson[i].age+"
"; - } - document.getElementById("myDiv").innerHTML=str; - } - } -``` \ No newline at end of file From 46d39d11b14c50fb894658469634788dba14e284 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 26 Sep 2022 20:18:13 +0800 Subject: [PATCH 057/318] add logbook --- ...73\351\231\242\346\214\202\345\217\267.md" | 22 +++++++++++++++++++ ...21\346\234\272\346\226\207\344\273\266.md" | 13 +++++++++++ 2 files changed, 35 insertions(+) create mode 100644 "_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" create mode 100644 "_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" diff --git "a/_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" "b/_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" new file mode 100644 index 0000000000..97b6ec4a24 --- /dev/null +++ "b/_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" @@ -0,0 +1,22 @@ +--- +layout: post +category: DailyLife +title: 医院挂号 +tags: DailyLife +--- + +## 医院挂号 + +看病难,看病真难。 + +坐标上海,最近的三甲就是上海六院。 这里分享挂号经历和一些tips + + + +1. 先支付宝预约挂号选某个时间段,记住不用付钱! + +2. 然后过去后找台机器,插入社保卡,选挂号,就会显示你的预约,然后确定,出票。 机器一楼多,但人也最多,最好去挂号上的目标楼层找类似机器,一般都有,因为这机器也是付费用的。 +3. 医生让做任何检查时,先去付费,付费也是找这样机器,拿药前记住也是先付费。 +4. 进病房钱可以先拿个病历本。 +5. 预约时间提前个5-10分钟到正好。如果没预约,那挂号数字是很大的!所以请先预约。 + diff --git "a/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" "b/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" new file mode 100644 index 0000000000..bc19674371 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" @@ -0,0 +1,13 @@ +--- +layout: post +category: Tools +title: 本地浏览器打开开发机文件 +tags: Tools +--- + +## 本地浏览器打开开发机文件 + + + +linux可以安装一个工具 share-http + From a12b3f78d21be85f447bded8518482e574d78380 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 26 Sep 2022 20:23:56 +0800 Subject: [PATCH 058/318] add logbook --- ...200\345\217\221\346\234\272\346\226\207\344\273\266.md" | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" "b/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" index bc19674371..1c869b3366 100644 --- "a/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" +++ "b/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" @@ -7,7 +7,12 @@ tags: Tools ## 本地浏览器打开开发机文件 +可以使用如下工具实现。 +```sh +python -m http.server +``` -linux可以安装一个工具 share-http +它就会启动一个端口,然后浏览器就可以访问了。 +![image-20220926202323383](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209262023839.png) From 685f5b33f669f549d9db9a911884c0565cd0644b Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 30 Sep 2022 23:51:19 +0800 Subject: [PATCH 059/318] add logbook --- _posts/Tech/2022-09-30-AWS.md | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 _posts/Tech/2022-09-30-AWS.md diff --git a/_posts/Tech/2022-09-30-AWS.md b/_posts/Tech/2022-09-30-AWS.md new file mode 100644 index 0000000000..121ad68122 --- /dev/null +++ b/_posts/Tech/2022-09-30-AWS.md @@ -0,0 +1,39 @@ +--- +layout: post +category: Tech +title: AWS +tags: Tech +--- + +## AWS + + + +AWS介绍视频: [youtube](https://www.youtube.com/watch?v=Z3SYDTMP3ME&ab_channel=AWSTrainingCenter) + +Notes: + +- region: 包含多个AZ, named by location 用aws需要选个region + +- AZ: availability zone. 包含一主多从的cluster,多个data center, 可以有另一个AZ继续保持主从。 region分多个AZ主要是为了容灾。 + +- region ---> AZ ----> data center 都是一对多。 一般情况下,region之间不会保持同步,互相独立,除非客户允许。 + + + +![image-20220930233334175](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302333289.png) + + + +- 选择region考量: compliance, latency, price, service availability +- IAM: identify and access management. 同account也是aws account level, account每月会进行计费,可以任意region里创建资源, work globally. 像s3等存储都是region level. EC2等就是AZ level. 意味着一个ec2不能分布在两个AZ。 + + + +![image-20220930235011369](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302350393.png) + +![image-20220930234951120](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302349145.png) + +![image-20220930234939946](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302349976.png) + +![image-20220930235109632](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302351656.png) From 919fd0bea4b5a74e79d5da9cce8d58f4beefb202 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 30 Sep 2022 23:52:17 +0800 Subject: [PATCH 060/318] add logbook --- _posts/Tech/{ => AWS}/2022-09-30-AWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/Tech/{ => AWS}/2022-09-30-AWS.md (99%) diff --git a/_posts/Tech/2022-09-30-AWS.md b/_posts/Tech/AWS/2022-09-30-AWS.md similarity index 99% rename from _posts/Tech/2022-09-30-AWS.md rename to _posts/Tech/AWS/2022-09-30-AWS.md index 121ad68122..62433191c3 100644 --- a/_posts/Tech/2022-09-30-AWS.md +++ b/_posts/Tech/AWS/2022-09-30-AWS.md @@ -2,7 +2,7 @@ layout: post category: Tech title: AWS -tags: Tech +tags: AWS --- ## AWS From 155a6b86b8a3e4a6ed28de49ca2c193b2d47b9db Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 1 Oct 2022 11:10:25 +0800 Subject: [PATCH 061/318] add logbook --- _posts/Tech/AWS/2022-09-30-AWS.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/_posts/Tech/AWS/2022-09-30-AWS.md b/_posts/Tech/AWS/2022-09-30-AWS.md index 62433191c3..8a4ab051d7 100644 --- a/_posts/Tech/AWS/2022-09-30-AWS.md +++ b/_posts/Tech/AWS/2022-09-30-AWS.md @@ -37,3 +37,15 @@ Notes: ![image-20220930234939946](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302349976.png) ![image-20220930235109632](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302351656.png) + + + +## Example: build an application like facebook ,a social media app. + + + +![image-20221001104944376](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210011049445.png) + + + +![image-20221001110948079](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210011109118.png) From 8d6521a99fb7df4f1874ef8bb4877676d1d2c6ba Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 1 Oct 2022 15:10:31 +0800 Subject: [PATCH 062/318] add logbook --- _posts/Tech/AWS/2022-09-30-AWS.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/_posts/Tech/AWS/2022-09-30-AWS.md b/_posts/Tech/AWS/2022-09-30-AWS.md index 8a4ab051d7..b69e6353bb 100644 --- a/_posts/Tech/AWS/2022-09-30-AWS.md +++ b/_posts/Tech/AWS/2022-09-30-AWS.md @@ -49,3 +49,19 @@ Notes: ![image-20221001110948079](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210011109118.png) + + + +![image-20221001144122955](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210011441985.png) + + + +加一些安全组件,IAM负责每个附件是否可访问,account管理范围等。 KMS负责数据的加密。 ACM负责access certificate management, 比如https证书等,在ELB这块。 WAF是防火墙,比如防止Ddos攻击之类的,在elb之前。Inspectoer负责监控每个service的安全,类似容器里一个agent。 + + + +![image-20221001150745631](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210011507662.png) + + + +codeCommit类似github这样代码仓库。 From 0566745342eaabf3a5d5807f18dbb73c749e6a6f Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 1 Oct 2022 15:16:53 +0800 Subject: [PATCH 063/318] add logbook --- _posts/Tech/AWS/2022-09-30-AWS.md | 34 +++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/_posts/Tech/AWS/2022-09-30-AWS.md b/_posts/Tech/AWS/2022-09-30-AWS.md index b69e6353bb..c990ef16c6 100644 --- a/_posts/Tech/AWS/2022-09-30-AWS.md +++ b/_posts/Tech/AWS/2022-09-30-AWS.md @@ -5,11 +5,31 @@ title: AWS tags: AWS --- -## AWS +## AWS Overall Notes -AWS介绍视频: [youtube](https://www.youtube.com/watch?v=Z3SYDTMP3ME&ab_channel=AWSTrainingCenter) +很好overall: https://www.zhihu.com/question/22314873 + + + +云的基础是计算、存储、网络,这三部分涵盖了互联网应用的各个方面,所有的云服务也是围绕这三部分去展开。 + + + +AWS的服务是按照region来划分的,在部署自己的应用之前,需要选择region,比如美国有us-west, us-east regions, 中国有cn-north, cn-west regions。基本上按照服务用户所在的区域来选择region,服务中国的用户就选择中国的region,服务美国的用户就选择美国的region。否则这个网络传输的成本就非常高,而且中国区其独有的网络环境,导致其他地区的服务是无法访问的。一个region又划分为多个AZ (availability zone), 一般情况下,我们需要把服务器均匀分布在多个AZ,为了避免单点故障,也就是我们所说的灾备多活。 + + + +选择好region后,就需要部署自己的[VPC](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/vpc/home) (virtual private cloud),一个VPC定义了一个私有隔离的网络环境。在VPC里面,我们部署所有的计算、网络资源。计算资源就是我们的服务器,AWS最出名的就是[EC2](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/ec2) (elastic compute cloud)。在部署EC2时,我们首先预估应用需要消耗的计算资源(cpu,磁盘,带宽等等),选择EC2的型号和数量。然后将所有的EC2分割成多个[ASG](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/ec2autoscaling/home) (auto scaling group), 一个ASG就相当于一个可弹性收缩的机器群,只要定义好扩容和缩容的指标,ASG就可以自己分配机器的数量。比如我们要求在EC2 CPU升到40%就扩容一倍,在CPU降到10%就缩容一倍,这样一个ASG里面机器CPU的消耗就一直均衡地保持在20%左右。具体分割成几个ASG,一般依据这个region有几个AZ来定,比如[us-east-1 region](https://www.zhihu.com/search?q=us-east-1+region&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})有3个AZ,就分割成三个ASG,一个AZ部署一个ASG,这三个ASG在接受流量方面没有任何区别。接下来就是网络资源,每个VPC都有自己的ACL(acess control list),一个ACL定义了inbound rules和outbound rules,分别限制了访问IP的限制和访出IP的限制。VPC的网络资源被划分成多个子网subnets,一个subnet是一组IP地址的集合,前面说到的ASG就部署在[subnet](https://www.zhihu.com/search?q=subnet&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})里面。一般来说subnet的数据量跟region AZ的数据成正比,每个AZ分配一个public subnet和一个private subnet,那么us-east-1的VPC就会有6个subnets。我们将ASG部署在private subnet里面,只允许vpc内部的IP访问,用于保护机器资源。因为public subnet是对外的,所以我们在public subnet里面部署ELB (elastic load balancer),用于接受vpc外的请求。有人会问如果我们想登录到ASG的EC2上面,应该怎么做?解决办法是在public subnet里面launch一个跳板机,我们先登录到跳板机,然后从跳板机里面登录到EC2上面。 + +接下来就是存储资源,AWS提供多种选择,我们最熟悉的应该就是[S3](https://link.zhihu.com/?target=https%3A//s3.console.aws.amazon.com/s3/home) (simple storage service)。S3是面向对象存储的服务,可以用来做数据归档、备份、恢复,或者作为数据分析、AI、Machine learning的数据湖来使用。通俗的理解就是我们的磁盘,它存储的key就是一个目录路径,相当于磁盘的目录,value是一个object,相当于文件或者子目录。在线的存储根据功能的不同也有很多选择,比较出名的而且是我用过的有三个。第一个是[DynamoDB](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/dynamodb/home),它是document-based NoSQL DB。DynamoDB是Amazon内部使用最频繁的数据,几乎90%的存储都会选择DynamoDB,绝对地超过RDS。这个现象的原因在这篇文章[Dynamo: Amazon’s Highly Available Key-value Store](https://link.zhihu.com/?target=https%3A//www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf)里面有解释,同时DDIA (Design [data-intensive application](https://www.zhihu.com/search?q=data-intensive+application&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})) 这本书也给了同样的解释。总结就是:Amazon内部的存储90%以上都是单对多的关系,DynamoDB作为一个分布式的key-value DB,在可用性、扩展性方面非常适合这种单对多的存储结构。而且DynamoDB是最终一致性,进一步增加了它的可用性。关于DynamoDB我后面会单独出一篇介绍它的blog。而对于多对多的存储,我们就会用[RDS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/rds) (relational database service),RDS字面理解就是[关系型数据库](https://www.zhihu.com/search?q=关系型数据库&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})。AWS RDS上面托管了多种关系型数据库,包括mysql、oracle、MS SQL、aurora、MariaDB和PostgreSQL这六种数据库,其中我使用过mysql和aurora。在Amazon内部,[aurora](https://link.zhihu.com/?target=https%3A//docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)使用的更频繁,它是兼容mysql和PostgreSQL的结合体,具体内容可见这篇文章[Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases](https://link.zhihu.com/?target=https%3A//www.allthingsdistributed.com/files/p1041-verbitski.pdf)。我使用的最后一种存储是[AWS elasticsearch](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/esv3/home) ,当时为了实现一个搜索功能,因为涉及到模糊匹配,全文搜索,就采用了[aws es](https://www.zhihu.com/search?q=aws+es&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})。aws es跟主流的es已经分道扬镳,目前在aws上面称为openSearch service。 + +介绍完计算、网络、存储,接下来我想从应用的角度,讲讲在实际应用中,我们应该怎样使用AWS的服务。首先说消息队列,这个广泛应用的基础功能,AWS提供了[SQS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sqs/v2/home)和[SNS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sns/v3/home)。SQS是一个分布式的队列消息service,SNS是一个分布式的发布-订阅消息service。具体有人会问这两者有什么区别,这里给出了回答: [What is the difference between Amazon SNS and Amazon SQS?](https://link.zhihu.com/?target=https%3A//stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs)。 在我的实践中,SQS和SNS会结合起来使用,首先应用发布消息到SQS的queue里面,然后SNS消费这个queue的消息,放到自身的topic里面持久保存,然后其他的应用订阅这个topic,消费里面的消息。 + +建设完一个应用,然后就是DevOps。AWS在[托管代码](https://www.zhihu.com/search?q=托管代码&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})、编译代码、部署应用、监控应用方面也提供了一整套服务,从前到后,[codeCommit](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codecommit) -> [codeArtifact](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codeartifact) -> [codeBuild](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codebuild) -> [codeDeploy](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codedeploy) -> [codePipeline](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codepipeline)。这一套实现了应用的continuous integration和continuous deployment。在监控方面,AWS提供了[cloudWatch](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/cloudwatch),可以以应用维度收集日志,视图化监控指标。AWS还提供了一个服务叫cloudFormation,这个服务在应用迁移的过程中,非常有用。Amazon内部很多都是国际化业务,应用需要部署到各个region。cloudFormation以yaml文本的形式记录下一个应用涉及到的各个服务资源配置,放在一个template里面。迁移到不同的region时,只需要一键run coudFormation template, 就可以部署好所有的AWS资源。 + + Notes: @@ -28,6 +48,14 @@ Notes: - 选择region考量: compliance, latency, price, service availability - IAM: identify and access management. 同account也是aws account level, account每月会进行计费,可以任意region里创建资源, work globally. 像s3等存储都是region level. EC2等就是AZ level. 意味着一个ec2不能分布在两个AZ。 +- SQS: simple queue service + +- SNS: simple notification service. 发一些同事用的,比如发短信等。 + +- Aws route 53是 aws DNS + +- Amazon CouldFront 是CDN + ![image-20220930235011369](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302350393.png) @@ -42,6 +70,8 @@ Notes: ## Example: build an application like facebook ,a social media app. +AWS介绍视频: [youtube](https://www.youtube.com/watch?v=Z3SYDTMP3ME&ab_channel=AWSTrainingCenter) + ![image-20221001104944376](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210011049445.png) From 20a1a9168147d40538e38be42fa57d2ccf44c372 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 1 Oct 2022 16:12:49 +0800 Subject: [PATCH 064/318] add logbook --- ...2018-11-25-git\344\275\277\347\224\250.md" | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" index 1525b37208..7036905c3c 100644 --- "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" +++ "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" @@ -57,6 +57,8 @@ SHA-1算法计算文件的校验和。 如果对Unmodified状态的文件进行remove操作--->Untracked + + ## 最基本的提交代码 ``` @@ -398,7 +400,7 @@ $ git stash pop -## commit 合并 +## commit rebase多合一 ``` git rebase -i head~2 //合并最近的2个commit @@ -475,3 +477,44 @@ git reset [HEAD] --hard reset HEAD, index and working tree 被抹去的commit的changes没了,stage没看,unstage的还在,还是unstage Soft: 会把head reset到commit, 然后 + + + + + +## git 合并操作总结 + +[参考](https://sevody.github.io/2017/02/16/git-merge-command-summary/) + + + +### git merge + +`git merge` 用来合并分支 + +把 feature 分支合到 master 分支 + +``` +// 如果不设置第二个分支,默认是当前分支 +$ git merge feature [master]` +``` + +有时候`merge` 后面会加上 `--no-ff` 或者 `--ff-only` 参数 + +#### -ff + +`ff` 意思是 fast-forward, 使用 merge 时,**默认会使用 fast-forward 的方式合并代码** + +如果合并的分支(master)是被合并分支(feature)的上游分支,则合并成功,不会产生 merge log, + +如果合并的分支(master)不是被合并分支(feature)的直接上游分支(比如 master 在 checkout 出 feature 分支后,又进行了几次提交),不能使用 fast-forward 的方式合并代码,git 会进行一次三方合并(magic),如果合并成功,就会产生一个 merge log, 如果有冲突产生,则合并失败,需要解决冲突并 commit 后才能合并. + +#### –no-ff + +如果加上 `--no-ff` 参数,就是默认使用三方合并的方式合并,就算合并的分支(master)是被合并分支(feature)的上游分支,也会产生一个 merge log +这种做法的好处是,忠实地记录了实际发生过什么,关注点在真实的提交历史上面 + +#### –ff-only + +与 `--no-ff` 相反,`--ff-only` 表示只接受 fast-forward 方式的合并,如果不能直接使用 fast-forward 合并,会合并失败并报错。 + From a5a5cd9a1165e7005f614ad5ece4efec7cf2082e Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 1 Oct 2022 16:15:02 +0800 Subject: [PATCH 065/318] add logbook --- .../TOOLS/2018-11-25-git\344\275\277\347\224\250.md" | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" index 7036905c3c..62165ca0e3 100644 --- "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" +++ "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" @@ -518,3 +518,13 @@ $ git merge feature [master]` 与 `--no-ff` 相反,`--ff-only` 表示只接受 fast-forward 方式的合并,如果不能直接使用 fast-forward 合并,会合并失败并报错。 + + +可以设置每次git pull 都rebase + +```sh +git config pull.rebase true +全局: +git config --global pull.rebase true +``` + From a7e5abcecad336825873044fc2a32c68206d895d Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 1 Oct 2022 23:17:34 +0800 Subject: [PATCH 066/318] add logbook --- ...73\351\231\242\346\214\202\345\217\267.md" | 0 ...2018-11-25-git\344\275\277\347\224\250.md" | 38 +++++++++++++++++++ 2 files changed, 38 insertions(+) rename "_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" => "_posts/DailyLife/2018-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" (100%) diff --git "a/_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" "b/_posts/DailyLife/2018-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" similarity index 100% rename from "_posts/DailyLife/2022-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" rename to "_posts/DailyLife/2018-09-26-\345\214\273\351\231\242\346\214\202\345\217\267.md" diff --git "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" index 62165ca0e3..9b09b11de1 100644 --- "a/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" +++ "b/_posts/Tech/TOOLS/2018-11-25-git\344\275\277\347\224\250.md" @@ -528,3 +528,41 @@ git config pull.rebase true git config --global pull.rebase true ``` +## git pull和push默认行为 + +[参考](https://juejin.cn/post/6844903844212637709) + +设置git pull和git push默认分支,也就是设置本地分支要跟进的分支。 建立当前分支的 upstream + +```sh +$ git branch -u origin/dev +=> Branch 'dev' set up to track remote branch 'dev' from 'origin'. +``` + +也可以 + +``` +git branch --set-upstream-to=origin/one-branch one-branch` + 例如想把本地分支的 `feature-983` 跟进远程仓库的 `feature-983` 分支, 可以进行如下操作: + `git branch --set-upstream-to=origin/feature-983 feature-983 +``` + + + +查看对应关系 + +```sh +$ git branch -vv +=> dev 32cf90b [origin/dev] e23rw + master 9b04659 [origin/master] dadfa + +$ cat .git/config +=> [branch "master"] + remote = origin + merge = refs/heads/master + [branch "dev"] + remote = origin + merge = refs/heads/dev + +``` + From 7f605c48e61180a28c2b0eca6393f4448e52d763 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 2 Oct 2022 11:47:18 +0800 Subject: [PATCH 067/318] add logbook --- .../{2022-09-30-AWS.md => 2021-09-30-AWS.md} | 32 +++++++++++++++++++ ...00\345\217\221\345\267\245\345\205\267.md" | 0 ...21\346\234\272\346\226\207\344\273\266.md" | 0 3 files changed, 32 insertions(+) rename _posts/Tech/AWS/{2022-09-30-AWS.md => 2021-09-30-AWS.md} (86%) rename "_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" => "_posts/Tech/FrontEnd/2021-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" (100%) rename "_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" => "_posts/Tech/TOOLS/2021-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" (100%) diff --git a/_posts/Tech/AWS/2022-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md similarity index 86% rename from _posts/Tech/AWS/2022-09-30-AWS.md rename to _posts/Tech/AWS/2021-09-30-AWS.md index c990ef16c6..1259ad95c3 100644 --- a/_posts/Tech/AWS/2022-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -5,8 +5,28 @@ title: AWS tags: AWS --- +## Cloud Notes + +IaaS、PaaS 和SaaS 的区别: 基础设施即服务(IaaS) 为云服务提供硬件,其中包括服务器、网络和存储。 平台即服务(PaaS) 除了提供IaaS 可提供的所有硬件之外,还提供操作系统和数据库。 软件即服务(SaaS) 提供了最多的支持,即为您的最终用户提供除其数据之外的所有服务。 + +[参考](https://www.zhihu.com/question/20387284) + +如果你是一个网站站长,想要建立一个网站。不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序。 + +现在你追随潮流,采用流行的云计算, + +如果你采用IaaS服务,那么意味着你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件 + +而如果你采用PaaS的服务,那么意味着你既不需要买服务器,也不需要自己装服务器软件,只需要自己开发网站程序 + +如果你再进一步,购买某些在线论坛或者在线网店的服务,这意味着你也不用自己开发网站程序,只需要使用它们开发好的程序,而且他们会负责程序的升级、维护、增加服务器等,而你只需要专心运营即可,此即为SaaS。 + + + ## AWS Overall Notes +云从业者Note: https://github.com/Matthewow/AWS-CLF-StudyNotes + 很好overall: https://www.zhihu.com/question/22314873 @@ -95,3 +115,15 @@ AWS介绍视频: [youtube](https://www.youtube.com/watch?v=Z3SYDTMP3ME&ab_channe codeCommit类似github这样代码仓库。 + + + +## 考证 + +[参考](https://zhuanlan.zhihu.com/p/138652055) + +先考**AWS Certified Solutions Architect - Associate** AWS 认证助理级解决方案架构师考试,这门考试更注重 AWS 的架构设计。助理级解决方案架构师需要基本了解 AWS 的几个基础的组件,比如 EC2,VPC, IAM, S3, Route53 等,掌握它们分别是什么,使用场景是什么,和传统数据中心的区别和优势等等 + + + +云从业者那个可以看这个: https://github.com/Matthewow/AWS-CLF-StudyNotes diff --git "a/_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" "b/_posts/Tech/FrontEnd/2021-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" similarity index 100% rename from "_posts/Tech/FrontEnd/2022-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" rename to "_posts/Tech/FrontEnd/2021-09-10-\345\211\215\347\253\257\345\274\200\345\217\221\345\267\245\345\205\267.md" diff --git "a/_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" "b/_posts/Tech/TOOLS/2021-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" similarity index 100% rename from "_posts/Tech/TOOLS/2022-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" rename to "_posts/Tech/TOOLS/2021-09-20-\346\234\254\345\234\260\346\265\217\350\247\210\345\231\250\346\211\223\345\274\200\345\274\200\345\217\221\346\234\272\346\226\207\344\273\266.md" From 95c6f4a5d73475161e98d311a67ecb2238b41c0a Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 4 Oct 2022 11:11:57 +0800 Subject: [PATCH 068/318] add logbook --- _posts/Tech/AWS/2022-10-04-AWS network.md | 62 +++++++++ ...on\344\276\235\350\265\226requirements.md" | 56 -------- ...71\347\233\256\347\216\257\345\242\203.md" | 120 ++++++++++++++++++ ...22\344\273\266\345\274\200\345\217\221.md" | 30 +++++ _posts/Tech/python/2019-05-30-pip.md | 79 ------------ ...46\213\237\347\216\257\345\242\203venv.md" | 19 --- 6 files changed, 212 insertions(+), 154 deletions(-) create mode 100644 _posts/Tech/AWS/2022-10-04-AWS network.md delete mode 100644 "_posts/Tech/Python/2021-01-22-python\344\276\235\350\265\226requirements.md" create mode 100644 "_posts/Tech/Python/2022-10-04-python\351\241\271\347\233\256\347\216\257\345\242\203.md" create mode 100644 "_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" delete mode 100644 _posts/Tech/python/2019-05-30-pip.md delete mode 100644 "_posts/Tech/python/2020-11-11-\350\231\232\346\213\237\347\216\257\345\242\203venv.md" diff --git a/_posts/Tech/AWS/2022-10-04-AWS network.md b/_posts/Tech/AWS/2022-10-04-AWS network.md new file mode 100644 index 0000000000..8d8dbe3097 --- /dev/null +++ b/_posts/Tech/AWS/2022-10-04-AWS network.md @@ -0,0 +1,62 @@ +--- +layout: post +category: AWS +title: AWS network +tags: AWS +--- + +# AWS network + +[参考](https://docs.amazonaws.cn/vpc/latest/userguide/what-is-amazon-vpc.html) + +- **Virtual Private Cloud (VPC)** + + [VPC](https://docs.amazonaws.cn/vpc/latest/userguide/configure-your-vpc.html) 是一个虚拟网络,与您在自己的数据中心中运行的传统网络极为相似。创建 VPC 后,您可以添加子网。 + +- **子网** + + [子网](https://docs.amazonaws.cn/vpc/latest/userguide/configure-subnets.html)是您的 VPC 内的 IP 地址范围。子网必须位于单个可用区中。在添加子网后,您可以在 VPC 中部署 Amazon 资源。 + +- **IP 寻址** + + 您可以将 IPv4 地址和 IPv6 地址分配到 VPC 和子网。您还可以将您的公有 IPv4 和 IPv6 GUA 地址带到 Amazon 并将其分配到 VPC 中的资源,例如 EC2 实例、NAT 网关和网络负载均衡器。创建 VPC 时,需要为其分配一个 IPv4 CIDR 块(一系列私有 IPv4 地址)、一个 IPv6 CIDR 块或同时分配两种 CIDR 块(双堆栈)。 + + 私有 IPv4 地址无法通过 Internet 访问。IPv6 地址具有全球唯一性,可以配置为保持私有或通过互联网进行访问。 + +- **路由选择** + + 使用[路由表](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Route_Tables.html)决定将来自您的子网或网关的网络流量定向到何处。 + +- **网关和端点** + + [网关](https://docs.amazonaws.cn/vpc/latest/userguide/extend-intro.html)将您的 VPC 连到其他网络。例如,使用[互联网网关](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Internet_Gateway.html)将您的 VPC 连接到网络。使用 [VPC 端点](https://docs.amazonaws.cn/vpc/latest/privatelink/privatelink-access-aws-services.html)私下连接到 Amazon Web Services,无需使用互联网网关或 NAT 设备。 + +- **对等连接** + + 使用 [VPC 对等连接](https://docs.amazonaws.cn/vpc/latest/peering/)在两个 VPC 中的资源之间路由流量。 + +- **流量镜像** + + 从网络接口[复制网络流量](https://docs.amazonaws.cn/vpc/latest/mirroring/),然后将其发送到安全和监控设备进行深度数据包检查。 + +- **中转网关** + + 将[中转网关](https://docs.amazonaws.cn/vpc/latest/userguide/extend-tgw.html)用作中央枢纽,以在 VPC、VPN 连接和 Amazon Direct Connect 连接之间路由流量。 + +- **VPC 流日志** + + [流日志](https://docs.amazonaws.cn/vpc/latest/userguide/flow-logs.html)捕获有关在 VPC 中传入和传出网络接口的 IP 流量的信息。 + +- **VPN 连接** + + 使用 [Amazon Virtual Private Network (Amazon VPN)](https://docs.amazonaws.cn/vpc/latest/userguide/vpn-connections.html) 将 VPC 连接到您的本地网络。 + + + + + +# 工作原理 + +[参考](https://docs.amazonaws.cn/vpc/latest/userguide/how-it-works.html) + +## IP 寻址 diff --git "a/_posts/Tech/Python/2021-01-22-python\344\276\235\350\265\226requirements.md" "b/_posts/Tech/Python/2021-01-22-python\344\276\235\350\265\226requirements.md" deleted file mode 100644 index c93bd66299..0000000000 --- "a/_posts/Tech/Python/2021-01-22-python\344\276\235\350\265\226requirements.md" +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: post -category: Python -title: 依赖requirements -tags: Python ---- - -## python依赖requirements - -在虚拟环境中使用pip生成: - -``` -pip freeze >requirements.txt -``` - - - -示例: - -``` -alembic==0.8.6 -bleach==1.4.3 -click==6.6 -dominate==2.2.1 -Flask==0.11.1 -Flask-Bootstrap==3.3.6.0 -Flask-Login==0.3.2 -Flask-Migrate==1.8.1 -Flask-Moment==0.5.1 -Flask-PageDown==0.2.1 -Flask-Script==2.0.5 -Flask-SQLAlchemy==2.1 -Flask-WTF==0.12 -html5lib==0.9999999 -itsdangerous==0.24 -Jinja2==2.8 -Mako==1.0.4 -Markdown==2.6.6 -MarkupSafe==0.23 -PyMySQL==0.7.5 -python-editor==1.0.1 -six==1.10.0 -SQLAlchemy==1.0.14 -visitor==0.1.3 -Werkzeug==0.11.10 -WTForms==2.1 -``` - - - -当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令: - -``` -pip install -r requirements.txt -``` - diff --git "a/_posts/Tech/Python/2022-10-04-python\351\241\271\347\233\256\347\216\257\345\242\203.md" "b/_posts/Tech/Python/2022-10-04-python\351\241\271\347\233\256\347\216\257\345\242\203.md" new file mode 100644 index 0000000000..7dad6b1899 --- /dev/null +++ "b/_posts/Tech/Python/2022-10-04-python\351\241\271\347\233\256\347\216\257\345\242\203.md" @@ -0,0 +1,120 @@ +--- +layout: post +category: Python +title: python项目环境 +tags: Python +--- + +## python项目环境 + +## pip + +> [参考](https://www.runoob.com/w3cnote/python-pip-install-usage.html) +> +> 以下是对系统python环境修改,如果是项目级别的,记住先venv后再venv里进行pip3的操作 + +你可以通过以下命令来判断是否已安装: + +```shell +pip3 --version # Python3.x 版本命令 +# 可以alias pip=pip3 +pip install -U pip # pip升级 +``` + +指定pip也可以 + +```sh +sudo pip2 install 模块名 +``` + +pip源修改 阿里源即可 + +```sh +# 清华源 +pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple + +# 或: +# 阿里源 +pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ +# 腾讯源 +pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple +# 豆瓣源 +pip config set global.index-url http://pypi.douban.com/simple/ +``` + +### requirements + +> 适用于 **单虚拟环境的情况:为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的** +> +> 非venv请不要用这个 + + + +查看当前pip install的 + +```sh +pip3 list # 输出当前列表 +``` + +更新requirements文件,每次pip install新的后都需要执行一次 + +``` +pip freeze > requirements.txt +``` + +**使用requirements.txt安装依赖** + +``` +pip install ``-``r requirements.txt +``` + +## venv 虚拟环境 + +> [参考](https://docs.python.org/zh-cn/3/library/venv.html#creating-virtual-environments) +> +> 虚拟环境,和系统Python环境隔离,好处是互不影响,项目级别推荐。 + +创建虚拟环境 (后面venv是名字,一个项目可以多个venv,这里就叫venv,不用起其他名字了) + +```sh +python3 -m venv venv +``` + +要使用虚拟环境就必须激活 + +```bash + ➜ source venv/bin/activate +``` + +然后在命令行中就会出现 + +```scss +(venv) ➜ +``` + +说明虚拟环境已经激活,进入到venv shell了 + + + +venv里有pip和Pip3提供, python3也是venv自己的,相当于一个新的shell,然后覆盖了一些python相关命令 + + + +要取消虚拟环境,使用 + +```scss +(venv) ➜ deactivate +``` + +## pycharm结合使用 + +可通过venv命令行创建好python环境,然后使用pycharm设置里设置interpreter 来切换到venv。 + + + +## example + +1. 创建venv, 如果有就激活 +2. venv shell里pip requirement操作,安装和更新requirement文件 +3. pycharm设置interpreter + diff --git "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" new file mode 100644 index 0000000000..feea1ef60c --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" @@ -0,0 +1,30 @@ +--- +layout: post +category: Tools +title: popclip插件开发 +tags: Tools +--- + +## popclip插件开发 + +[js开发插件](https://sspai.com/post/73404) + + + +[quickref](https://quickref.me/) + +[case-anything](https://github.com/mesqueeb/case-anything) + + [The Noun Project](https://thenounproject.com/) + +[SF Symbols](https://sfsymbols.com/) + +[ICU specification](https://unicode-org.github.io/icu/userguide/strings/regexp.html) + + + +[官方教程](https://github.com/pilotmoon/PopClip-Extensions) + + + +看起来可以js, applescript, shell实现。不能python... diff --git a/_posts/Tech/python/2019-05-30-pip.md b/_posts/Tech/python/2019-05-30-pip.md deleted file mode 100644 index 6d85259733..0000000000 --- a/_posts/Tech/python/2019-05-30-pip.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -category: Python -title: pip -tags: Python ---- - -## pip -[参考](https://www.runoob.com/w3cnote/python-pip-install-usage.html) - -### 使用教程 - - -指定某个模块安装 -``` -sudo pip2 install 模块名 或 python2 -m pip install 模块名 -``` - - -``` -pip --version -pip install -U pip # pip升级 -``` - -安装Pip3: - -```shell -sudo apt install python3-pip -``` - -更新pip3 - -```shell -sudo pip3 install --upgrade pip -``` - -pip源修改 - -```bash -# 清华源 -pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple - -# 或: -# 阿里源 -pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ -# 腾讯源 -pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple -# 豆瓣源 -pip config set global.index-url http://pypi.douban.com/simple/ -``` - -### requirements - -#### 导出的的两种方式 - -第一种适用于 **单虚拟环境的情况:为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的** - -```shell -pip freeze > requirements.txt -``` - -第二种 **(推荐)** 使用 `pipreqs` - -```shell -# 安装 -pip install pipreqs -# 在当前目录生成 -pipreqs . ``-``-``encoding``=``utf8 ``-``-``force -``` - -注意 `--encoding=utf8` 为使用utf8编码,不然可能会报UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence 的错误。 - -`--force` 强制执行,当 生成目录下的requirements.txt存在时覆盖。 - -#### 使用requirements.txt安装依赖 - -``` -pip install ``-``r requirements.txt -``` \ No newline at end of file diff --git "a/_posts/Tech/python/2020-11-11-\350\231\232\346\213\237\347\216\257\345\242\203venv.md" "b/_posts/Tech/python/2020-11-11-\350\231\232\346\213\237\347\216\257\345\242\203venv.md" deleted file mode 100644 index 4f118ca09d..0000000000 --- "a/_posts/Tech/python/2020-11-11-\350\231\232\346\213\237\347\216\257\345\242\203venv.md" +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: post -category: Python -title: 虚拟环境venv -tags: Python ---- - -## 虚拟环境venv -[参考](https://docs.python.org/zh-cn/3/library/venv.html#creating-virtual-environments) - - -创建虚拟环境 - python3 -m venv abc - -激活虚拟环境: 此时对python相关命令路由了一次 - abc/bin/activate - -退出虚拟环境 - deactivate From e361539a538736ed151892c044bcb42adbf91884 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 4 Oct 2022 14:55:44 +0800 Subject: [PATCH 069/318] add logbook --- ...22\344\273\266\345\274\200\345\217\221.md" | 136 +++++++++++++++++- 1 file changed, 129 insertions(+), 7 deletions(-) diff --git "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" index feea1ef60c..bd8a58de79 100644 --- "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" +++ "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" @@ -9,22 +9,144 @@ tags: Tools [js开发插件](https://sspai.com/post/73404) +[官方教程](https://github.com/pilotmoon/PopClip-Extensions) +现有插件和其代码: https://github.com/pilotmoon/PopClip-Extensions -[quickref](https://quickref.me/) -[case-anything](https://github.com/mesqueeb/case-anything) - [The Noun Project](https://thenounproject.com/) +### Extension Snippets -[SF Symbols](https://sfsymbols.com/) +```sh +# popclip shellscript nested in an applescript +name: CopyNotes +applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H2" -[ICU specification](https://unicode-org.github.io/icu/userguide/strings/regexp.html) +"osascript -e 'display notification \"开发机通知\" with title \"开发机消息\"'" +/Users/mafulong/github/scripts/py/copy_notes/popclip_using.py +# popclip shellscript nested in an applescript +name: Say +applescript: do shell script "echo $PATH > ~/abxx1" + + +# popclip shellscript nested in an applescript +name: CopyNotes +actions: +- title: Markdown Note + icon: circle filled H2 + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H2" +- title: Markdown Note + icon: circle filled H3 + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H3" +- title: Markdown Note + icon: circle filled T + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' TXT" +- title: Markdown Note + icon: circle filled H + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' HREF" +- title: Markdown Note + icon: circle filled C + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' CODE" + +``` + +可以直接选择复制。 + + + +对应python 脚本 + +```python +# coding: utf8 +# MIT License + +import json +import uuid +import os +import subprocess +import time +import sys + +filename = "/Users/mafulong/Documents/copyNotes.md" +try: + + maction = [ + ("H2", lambda x: "\n## " + x + "\n"), + ("H3", lambda x: "\n### " + x + "\n"), + ("TXT", lambda x: x+"\n\n"), + ("HREF", lambda x: f"[{x}]({x})\n"), + ("CODE", lambda x: f'''```scala\n{x}\n```\n\n''') + ] + + with open(filename, "a+") as f: + timenow = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + if len(sys.argv) < 3: + f.write(timenow + "------" + "参数不全\n\n") + else: + selecttext = sys.argv[1] + action = sys.argv[2] + res = None + for (a, b) in maction: + if a == action: + res = b(selecttext) + break + if res: + f.write(res) +except Exception as ex: + with open(filename, "a+") as f: + f.write(ex) + + +``` + + + +但注意这种方式对长度有限制,因此长文本不可行。 + + + + + +### Extension Package + + + +多段一起复制时会丢换行,手动复制却没啥问题,可能是typora做的。 + +那就继续维持复制模式吧。 + +临时文件 + +```sh +{ + "identifier": "com.mfl.popclip.extension.md_notes", + "name": "MdNotes", + "icon": "quiver.png", + "popclipVersion": 3785, + "description": "Send the selection to Python.", + "note": "7 May 2022: Updated to clip as code block when holding ⌥.", + "captureHtml": true, + "actions":[ + { + "title": "Md note", + "icon": "circle filled H1", + "scriptInterpreter": "python3", + "shellScriptFile": "quiver.py" + } + ] +} + +``` -[官方教程](https://github.com/pilotmoon/PopClip-Extensions) +```python +filename = "/Users/mafulong/Documents/copyNotes.md" +import os +with open(filename, "a+") as f: + text = os.environ['POPCLIP_TEXT'] + f.write(text) +``` -看起来可以js, applescript, shell实现。不能python... From 5b76fa5f275dadce5433de00b516d19947217034 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 4 Oct 2022 15:21:23 +0800 Subject: [PATCH 070/318] add logbook --- _posts/Tech/AWS/2022-10-04-AWS network.md | 54 ++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/_posts/Tech/AWS/2022-10-04-AWS network.md b/_posts/Tech/AWS/2022-10-04-AWS network.md index 8d8dbe3097..76b6f2c0d4 100644 --- a/_posts/Tech/AWS/2022-10-04-AWS network.md +++ b/_posts/Tech/AWS/2022-10-04-AWS network.md @@ -11,7 +11,7 @@ tags: AWS - **Virtual Private Cloud (VPC)** - [VPC](https://docs.amazonaws.cn/vpc/latest/userguide/configure-your-vpc.html) 是一个虚拟网络,与您在自己的数据中心中运行的传统网络极为相似。创建 VPC 后,您可以添加子网。 + [VPC](https://docs.amazonaws.cn/vpc/latest/userguide/configure-your-vpc.html) 是一个虚拟网络,与您在自己的数据中心中运行的传统网络极为相似。创建 VPC 后,您可以添加子网。翻译成中文是虚拟私有云。 - **子网** @@ -60,3 +60,55 @@ tags: AWS [参考](https://docs.amazonaws.cn/vpc/latest/userguide/how-it-works.html) ## IP 寻址 +创建 VPC 时,需要为其分配一个 IPv4 CIDR 块(一系列私有 IPv4 地址)、一个 IPv6 CIDR 块或同时分配两种 CIDR 块(双堆栈)。 + +私有 IPv4 地址无法通过 Internet 访问。IPv6 地址具有全球唯一性,可以配置为保持私有或通过互联网进行访问。 + +公有 IP 地址将从 Amazon 的公有 IP 地址池分配,它不与您的账户关联。在公有 IP 地址与您的实例取消关联后,该地址即释放回该池,并且不再可供您使用。您不能手动关联或取消关联公有 IP 地址。而是在某些情况下,我们从您的实例释放该公有 IP 地址,或向其分配新地址。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南 中的公有 IP 地址。 + +## 访问 Internet + +> 私有网络不能访问互联网,需要互联网网关,私有网络内部之间可通信。 + +原定设置 VPC 包含一个互联网网关,而且每个原定设置子网都是公有子网。您在默认子网中启动的每个实例都有一个私有 IPv4 地址和一个公有 IPv4 地址。这些实例可以通过 Internet 网关与 Internet 通信。通过互联网网关,您的实例可通过 Amazon EC2 网络边界连接到 Internet。 + +默认情况下,您启动到非默认子网中的每个实例都有一个私有 IPv4 地址,但没有公有 IPv4 地址,除非您在启动时特意指定一个,或者修改子网的公有 IP 地址属性。这些实例可以相互通信,但无法访问 Internet。 + +您可以通过以下方式为在非默认子网中启动的实例启用 Internet 访问:将一个互联网网关附加到该实例的 VPC(如果其 VPC 不是默认 VPC),然后将一个弹性 IP 地址与该实例相关联。 + +或者,您还可以使用网络地址转换 (NAT) 设备,以允许 VPC 中的实例发起到互联网的出站连接,但阻止来自互联网的未经请求的入站连接。NAT 将多个私有 IPv4 地址映射到一个公有 IPv4 地址。您可以使用弹性 IP 地址配置 NAT 设备,并通过互联网网关将其与互联网相连。您可以通过 NAT 设备将私有子网中的实例连接到互联网,NAT 设备会将来自实例的流量路由到互联网网关,并将所有响应路由到该实例。 + +如果您将 IPv6 CIDR 块与 VPC 关联并为实例分配 IPv6 地址,则实例可以通过互联网网关通过 IPv6 连接到互联网。或者,实例也可以使用仅出口互联网网关经由 IPv6 发起到互联网的出站连接。IPv6 流量独立于 IPv4 流量;您的路由表必须包含单独的 IPv6 流量路由。 + +# 连接 VPC 和网络 + +您可以在两个 VPC 之间创建一个 *VPC 对等连接*,然后通过此连接不公开地在这两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。 + + + +默认情况下,默认子网为公有子网,因为主路由表会将指定发往 Internet 的子网流量发送到 Internet 网关。 + + + +# 场景 + +**带单个公有子网的 VPC**: 此场景的配置包含一个有单一公有子网的 Virtual Private Cloud (VPC),以及一个 Internet 网关以启用 Internet 通信。如果您要运行单一层级且面向公众的 Web 应用程序,如博客或简单的网站,则我们建议您使用此配置。 + +**带有公有和私有子网的 VPC (NAT)**:这个场景的配置包括一个有公有子网和私有子网的 Virtual Private Cloud (VPC)。如果您希望运行面向公众的 Web 应用程序,并同时保留不可公开访问的后端服务器,我们建议您使用此场景。常用例子是一个多层网站,其 Web 服务器位于公有子网之内,数据库服务器则位于私有子网之内。您可以设置安全性和路由,以使 Web 服务器能够与数据库服务器建立通信。 + +公有子网中的实例可直接将出站流量发往 Internet,而私有子网中的实例不能这样做。但是,私有子网中的实例可使用位于公有子网中的网络地址转换 (NAT) 网关访问 Internet。数据库服务器可以使用 NAT 网关连接到 Internet 进行软件更新,但 Internet 不能建立到数据库服务器的连接。 + +# **Security Groups(安全组)** + +[参考](https://zhuanlan.zhihu.com/p/151419823) + +VPC 网络安全组标志 VPC 中的哪些流量可以发往 EC2 实例或从 EC2 发出。安全组指定具体的入向和出向流量规则,并精确到源地址(入向)和目的地址(出向)。这些安全组是与 EC2 实例而非子网关联的。 +默认情况下,流量只允许出,不允许入。 + +# 总结 + +每个AZ都需要VPC,和一个子网,默认是公有子网。但如果有internet访问不到的实例或者数据库,则需建个私有子网,私有子网默认不能访问internet,internet也不能访问私有子网。 + +如果私有子网通过NAT走公有子网是可以访问internet的,反向不能。 + +附加一个互联网网关也可以让私有子网双向访问互联网,此时有个弹性ip地址关联。 From cd40491dcade972ec085a834ac618c54943a33c9 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 6 Oct 2022 23:06:53 +0800 Subject: [PATCH 071/318] add logbook --- _posts/Tech/AWS/2022-10-04-AWS network.md | 84 ++++++++++++++++++++++- 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/_posts/Tech/AWS/2022-10-04-AWS network.md b/_posts/Tech/AWS/2022-10-04-AWS network.md index 76b6f2c0d4..fbe377c5b2 100644 --- a/_posts/Tech/AWS/2022-10-04-AWS network.md +++ b/_posts/Tech/AWS/2022-10-04-AWS network.md @@ -105,10 +105,88 @@ tags: AWS VPC 网络安全组标志 VPC 中的哪些流量可以发往 EC2 实例或从 EC2 发出。安全组指定具体的入向和出向流量规则,并精确到源地址(入向)和目的地址(出向)。这些安全组是与 EC2 实例而非子网关联的。 默认情况下,流量只允许出,不允许入。 + + +Security Group(SG)通过控制IP和端口来控制出站入站规则,可以用于EC2,RDS及下面将要用到的VPC Endpoint。 + + + +# Difference between Internet Gateway and NAT Gateway + + + +参考 + +- Internet Gateway (IGW) allows instances with public IPs to access the internet. +- NAT Gateway (NGW) allows instances with no public IPs to access the internet. + +# 参考Note 基础概念 + +[参考](https://juejin.cn/post/6949072638145003556) + +大部分 AWS 服务都需要以 VPC 为基础进行构建,比如最常用的 EC2,ALB,及无服务器服务 ECS Fargate。 vb + +当我们在一个 VPC 中创建 Subnet 时需要给 Subnet 选择一个 AZ(Availability Zone),一个 Subnet 只能选择建在一个 AZ 中。 + + + +**选择region** + +因为国内政策法规原因,AWS 在中国的服务与 AWS Global 服务略有不同。 + +AWS Global 的 Region 之间是通过主干网相连的,AWS 中国区的服务没有通过主干网与 AWS Global 相连,只有中国区内部两个 Region,北京和宁夏是相连接的。 + +在创建 VPC 时并不需要添写 AZ(Availability Zone)信息,VPC 只与 Region 有关。 + + + +Subnet 是最终承载大部分 AWS 服务的组件,比如 EC2, ECS Fargate,RDS。 + +Subnet 分为两种 Private Subnet 和 Public Subnet。 + +简单来说,不能直接访问 internet 的 Subnet 就是 Private Subnet,能直接访问 internet 的就是 Public Subnet。 + + + +Security Group(SG)通过控制IP和端口来控制出站入站规则,可以用于EC2,RDS及下面将要用到的VPC Endpoint。 + + + +VPC Endpoint用来直接连接VPC与AWS相关服务,比如RDS AIP,S3。 + +当系统安全要求比较高时,EC2处于的Subnet可能被限制,无法访问internet,这时EC2就无法访问AWS的一些服务,比如SSM。 + +这时我们可以利用VPC Endpoint把VPC和所需要访问的服务连接起来,然后EC2就可以不经internet访问到所需的服务。 + + + +[参考](https://juejin.cn/post/6954169148318433288) + +RT(Route Table)与Subnet相关连,用来描述网络路由。IGW: Internet gateway IGW是一个独立的组件配置在VPC上,使得VPC可以访问internet + +我们给VPC加了IGW之后,需要修改Subnet相关的路由,确保访问Internet的请求发送到IGW。 + +每个VPC中有一个默认的主RT,自动关联VPC内的每一个Subnet。我们现在为Subnet “ts-public-1”单独创建一个新的RT。 + + + +- 新建的Subnet就是Private Subnet +- 在Private Subnet中配置了到IGW的路由后,就变成Public Subnet +- Public Subnet中的EC2还要再配置一个Public IP或者EIP就可以访问Internet +- 如果EC2可以访问internet,其关联的Security Group入站规则如果允许从internet访问,那么这个EC2就可以从internet中直接访问到。 + + + +1. 实践中我们把应用程序,数据库放在Private Subnet中,阻止从internet访问。把堡垒机和ALB(Application Load balancer)放在Public Subnet,允许从internet访问。 + +2. 一般我们会建两套Public Subnet和Private Subnet,分别放在不同的AZ中,防止其中一个AZ出问题。这时如果配置NAT,也需要在两个Public Subnet中各配置一个NAT。 + + + # 总结 -每个AZ都需要VPC,和一个子网,默认是公有子网。但如果有internet访问不到的实例或者数据库,则需建个私有子网,私有子网默认不能访问internet,internet也不能访问私有子网。 +VPN里多个AZ, 每个AZ都需要至少一个子网,默认是公有子网。但如果有internet访问不到的实例或者数据库,则需建个私有子网,私有子网默认不能访问internet,internet也不能访问私有子网。 -如果私有子网通过NAT走公有子网是可以访问internet的,反向不能。 +要走互联网必须走internet gateway,它对整个vpc生效, public subnet可直接通过IGW与互联网互联,私有子网再通过NAT走公有子网是可以访问internet的,反向不能。 -附加一个互联网网关也可以让私有子网双向访问互联网,此时有个弹性ip地址关联。 +和互联网连接时都需要有个公网ip,这个是从amazon分配的。 From 46d451bc9defbe54e3fb5ee6dc3d2a35425fe6a7 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 7 Oct 2022 14:13:18 +0800 Subject: [PATCH 072/318] add logbook --- ...07\344\273\266\345\255\230\345\202\250.md" | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 "_posts/Tech/OperationSystem/2022-10-06-\345\235\227\345\255\230\345\202\250\345\222\214\345\257\271\350\261\241\345\255\230\345\202\250\345\222\214\346\226\207\344\273\266\345\255\230\345\202\250.md" diff --git "a/_posts/Tech/OperationSystem/2022-10-06-\345\235\227\345\255\230\345\202\250\345\222\214\345\257\271\350\261\241\345\255\230\345\202\250\345\222\214\346\226\207\344\273\266\345\255\230\345\202\250.md" "b/_posts/Tech/OperationSystem/2022-10-06-\345\235\227\345\255\230\345\202\250\345\222\214\345\257\271\350\261\241\345\255\230\345\202\250\345\222\214\346\226\207\344\273\266\345\255\230\345\202\250.md" new file mode 100644 index 0000000000..4c78a7f612 --- /dev/null +++ "b/_posts/Tech/OperationSystem/2022-10-06-\345\235\227\345\255\230\345\202\250\345\222\214\345\257\271\350\261\241\345\255\230\345\202\250\345\222\214\346\226\207\344\273\266\345\255\230\345\202\250.md" @@ -0,0 +1,102 @@ +--- +layout: post +category: OperationSystem +title: 块存储和对象存储和文件存储 +tags: OperationSystem +--- + +# 块存储和对象存储和文件存储 + +> [参考](https://www.zhihu.com/question/21536660) + +## 块存储 + +### 它是什么? + +块存储通常意义上,可以理解为一个不带文件系统的裸磁盘,是将裸磁盘空间映射给主机使用的。比如我们日常使用的硬盘、U盘,这是最常见的形式。当然不仅仅可以直接使用物理设备,也通过虚拟化间接使用物理设备(比如VMware、VirtualBox可以创建[虚拟磁盘](https://www.zhihu.com/search?q=虚拟磁盘&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492}))。 + +### 怎么用它? + +我在这里举一个实际例子,假设我们拥有3块1T的硬盘,我们可以直接将裸设备给操作系统使用;也可以通过raid、[逻辑卷](https://www.zhihu.com/search?q=逻辑卷&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492})等方式将其映射为一个或多个逻辑盘提供给系统使用。注意前面提到块存储是不带文件系统的,我们是使用客户端的文件系统接口来访问的块存储里的数据。所以客户端的文件系统或操作系统是无法区分映射上来的磁盘是真正的物理磁盘还是[逻辑磁盘](https://www.zhihu.com/search?q=逻辑磁盘&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492}),操作系统就只是对其进行正常分区、格式化、访问等操作。 + +### 为啥选它? + +所以块存储并不是直接提供给用户(或者说自然人)使用,而是提供给专门的文件系统以及专业的备份管理软件、分区软件以及数据库使用的。针对这些特定软件而言,通过块存储直接访问存储设备,会比通过文件系统访问数据效率高。但同时,块存储并没有支持共享协议,所以无法进行共享操作,只能独占。 + +## 文件存储 + +### 它是什么? + +通常意义上,[文件存储](https://www.zhihu.com/search?q=文件存储&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492})就是提供文件系统的存储。这里通常意义上是指支持了Posix接口,并且是文件目录管理结构的存储系统。但是现在也把GFS、HDFS这种非标准Posix接口的文件存储系统算为文件存储。 + +### 怎么用它? + +由于自带文件系统,用户可以轻松的访问存储资源。[文件系统](https://www.zhihu.com/search?q=文件系统&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492})中最基本的体现形式是目录和文件,数据以文件的方式存储和访问,按照目录结构进行组织和管理。同时与偏向底层的块存储不同,文件存储上升到了应用层,可以提供更加高级的管理服务,可以很方便的共享。常见的NFS、CIFS、FTP等这些都是基于文件存储的基础上提供的[文件共享协议](https://www.zhihu.com/search?q=文件共享协议&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492})。 + +### 为啥选它? + +文件系统是非常简单易用的。不论是普通用户要查找读写文件,或者绝大部分应用软件需要存取数据文件通过文件系统操作都是非常方便的。同时文件系统对共享传输的支持也非常好。但是文件存储需要管理维护其庞大复杂的[文件目录树](https://www.zhihu.com/search?q=文件目录树&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492}),对于一个深层文件的访问需要逐层目录访问才能最终进行操作。所以在处理极其海量数据时,性能会有一定影响。 + +## 对象存储 + +### 它是什么? + +从本质上来说,大家可以把对象存储理解成为一个简单的键值访问的存储。所有被存储的文件都可以理解成为一个独立的对象,整体是一种扁平化的结构。 + +### 怎么用它? + +通常对象存储会提供一套易用的HTTP协议的API,供大多数[客户端](https://www.zhihu.com/search?q=客户端&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492})访问(不受客户端语言的限制)。对象存储会提供全局唯一的UUID来代表某一个对象文件(比如一个固定的网址https://****.***.com/***/***/***/xxx.jpg),用户可以直接对这个地址进行GET、PUT、DELETE等操作来管理这个文件。 + +### 为啥选它? + +由于对象存储是类似于键值管理的方式,所以利于客户端直接定位并操作数据,非常简单易用。同时对象存储天然适合网络存储的场景,所以非常便于在网络上共享和传输。而且因为不像文件系统拥有[目录结构](https://www.zhihu.com/search?q=目录结构&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492}),不用目录检索以及维护目录结构,在海量文件场景访问时性能和效率表现会更加优秀。 + + + +### 特点 + +[参考](https://www.zhihu.com/question/21536660) + +对象存储其实介于块存储和文件存储之间。文件存储的树状结构以及路径访问方式虽然方便人类理解、记忆和访问,但计算机需要把路径进行分解,然后逐级向下查找,最后才能查找到需要的文件,对于应用程序来说既没必要,也很浪费性能。 + + + +而块存储是排它的,服务器上的某个逻辑块被一台客户端挂载后,其它客户端就无法访问上面的数据了。而且挂载了块存储的客户端上的一个程序要访问里面的数据,不算类似数据库直接访问裸设备这种方式外,通常也需要对其进行分区、安装文件系统后才能使用。除了在网络上传输的数据包效率更高以外,并不比使用文件存储好多少,客户端的文件系统依然需要对[路径分解](https://www.zhihu.com/search?q=路径分解&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A1159036357}),然后逐级查找才能定位到某一个具体的文件。 + + + +是否可以用不排它但又类似块设备访问的方式呢?理论上是可以的,但对块设备的访问方式虽然比文件存储快,其实也很麻烦——一个文件往往是由多个块组成,并且很可能是不连续的。例如要读取一个文件,可能需要发出这样的指令: + +- 读取从编号A₁开始的N₁个块; +- 读取从编号A₂开始的N₂个块; +- 读取从编号A₃开始的N₃个块; +- ………… +- 读取从[编号Ai](https://www.zhihu.com/search?q=编号Ai&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A1159036357})开始的Ni个块。 + +最后自行把这i个连续的块自行拼接成一个文件,这才完成了一个文件的读取操作。为了发出这些指令,访问文件的软件系统需要记录下这个文件分成多少个部分,每个部分的起始块编号是多少,有多少块,顺序如何。不单是读取操作,删除、写入、修改操作也是如此,非常麻烦复杂。而且往往一个文件可能需要被多个系统访问使用,这就更麻烦了。 + + + +为了解决这中麻烦,使用一个统一的底层存储系统,管理这些文件和底层介质的组织结构,然后给每个文件一个唯一的标识,其它系统需要访问某个文件,直接提供文件的标识就可以了。存储系统可以用更高效的数据组织方式来管理这些标识以及其对应的存储介质上的块。 + +## 总结 + +简单来说,块存储直接与硬盘打交道,读写效率最高,但是不利于共享。文件存储访问简单,利于共享,但是海量数据场景下访问性能可能存在瓶颈。对象存储既天然支持网络共享,同时也适用于海量数据的场景。当然现如今,随着文件存储和对象存储的发展,涌现了越来越多的[分布式文件](https://www.zhihu.com/search?q=分布式文件&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2552351492})或对象存储,在海量数据、高并发、性能上做的越来越好。块存储、文件存储和对象存储都存在各自不同的适用场景,并不存在绝对意义上的优劣之差。 + + + +# 总结 + +这三者的本质差别是使用数据的“用户”不同:块存储的用户是可以读写块设备的软件系统,例如传统的文件系统、数据库;文件存储的用户是自然人;对象存储的用户则是一些其他软件。 + +访问协议也不同 + +先说一下文件存储,主要操作对象是文件和文件夹。以 NFS 为例,文件相关的接口包括:LOOKUP/ACCESS/READ/WRITE/CREATE/REMOVE/RENAME 等等,文件夹相关的接口包括:MKDIR/RMDIR/READDIR 等等。同时也会有 FSSTAT/FSINFO 等接口用于提供文件系统级别的信息。POSIX,SAMBA 等也是文件存储协议。协议更注重接口的灵活,以及访问权限控制。 + +块存储,主要操作对象是磁盘。以 SCSI 为例,主要接口有 Read/Write/Read Capacity/Inquiry 等等。FC,iSCSI,也是块存储协议。和文件存储相比,没有文件和目录树的概念,一般协议也不会定义磁盘的创建和删除操作。协议更注重传输控制。 + +对象存储,主要操作对象是对象(Object)。以 S3 为例,主要接口有 PUT/GET/DELETE 等。和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。 + + + +因此对象存储适合一些比如TOS, AWS S3这样的,如果要改只能重新上传。 From b300603a061814fec8517e6ebae69297fcbe8588 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 7 Oct 2022 14:20:00 +0800 Subject: [PATCH 073/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md index 1259ad95c3..3742735ba8 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -127,3 +127,15 @@ codeCommit类似github这样代码仓库。 云从业者那个可以看这个: https://github.com/Matthewow/AWS-CLF-StudyNotes + + + + + +## 对象存储: S3及S3 Glacier + +> [官网](https://aws.amazon.com/s3/storage-classes/) + +Amazon S3 is object-level storage, which means that if you want to change a part of a file, you have to make the change and then re-upload the entire modified file. 对象存储,比较像字节的TOS。 也是以bucket隔离的,然后bucket可设置是否公开,可设置每个文件多版本, 可作为一个静态博客的host。 [对象存储参考](https://mafulong.github.io/2022/10/06/%E5%9D%97%E5%AD%98%E5%82%A8%E5%92%8C%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8%E5%92%8C%E6%96%87%E4%BB%B6%E5%AD%98%E5%82%A8/) + +Amazon S3 Glacier is a great storage choice when low storage cost is paramount, your data is rarely retrieved, and retrieval latency of several hours is acceptable. If your application requires fast or frequent access to your data, consider using Amazon S3. Objects stored in Amazon S3 Glacier are called *archives*. 相比s3,价格便宜,适合平时不太访问的归档数据。 From 1ac4c14a0ad6b6f2178e9a631800f5bd517f2214 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 7 Oct 2022 17:57:57 +0800 Subject: [PATCH 074/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md index 3742735ba8..7a4913b0ee 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -66,7 +66,10 @@ Notes: - 选择region考量: compliance, latency, price, service availability -- IAM: identify and access management. 同account也是aws account level, account每月会进行计费,可以任意region里创建资源, work globally. 像s3等存储都是region level. EC2等就是AZ level. 意味着一个ec2不能分布在两个AZ。 + +## 术语 + +- IAM: identify and access management. 同account也是aws account level, account每月会进行计费,可以任意region里创建资源, work globally. 像s3等存储都是region level. EC2等就是AZ level. 意味着一个ec2不能分布在两个AZ。 IAM可以创建用户,然后授予权限给某个group - SQS: simple queue service @@ -76,6 +79,24 @@ Notes: - Amazon CouldFront 是CDN +- 对象存储 + + - S3: simple storage service + +- cloudwatch for monitoring + +- ELB: elastic load balancer + +- EC2是 virtual machines. 全称: elastic compute cloud. 一共三种compute资源: vm, container services, serverless + +- AMI: amazon machine image 就是一堆配置,比如什么系统,安装哪些附加软件。可使用AMI启动一个同配置的实例。 类似docker的image + +- AWS Elastic Beanstalk 是一个应用程序管理平台,可以帮助客户轻松部署和扩展 Web 应用程序和服务。它将构建块(例如 EC2、Amazon RDS、Elastic Load Balancing、AWS Auto Scaling 和 Amazon CloudWatch)的预置、应用程序的部署、运行状况监控从用户身上分离出来,让用户可以集中精力编写代码。您只需指定要部署的容器映像、CPU 和内存要求、端口映射和容器链接即可。 + + Elastic Beanstalk 将自动处理所有的具体事务,包括预置 Amazon ECS 集群、均衡负载、自动扩展、监控以及在集群中放置容器。如果您希望利用容器的各种优势,但只想通过上传容器映像,在开发到生产等环节部署应用程序时享受到简易性,则 Elastic Beanstalk 非常适合。如果您需要对自定义应用程序架构进行更多精细化的控制,则可以直接使用 Amazon ECS。 + +- EBS: elastic block store. EC2也需要本地存储,这就是EBS 块存储。例如SSD等。它是外部挂载形式提供的,实例关机了,数据也还在,也可以做备份。适合那种临时数据,而非长期存储。一次只能挂载到一个AZ里的一个实例。 如果想多个实例连一个存储,可以用EFS/FSx, 前者linux,后者windows。 + ![image-20220930235011369](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209302350393.png) @@ -139,3 +160,7 @@ codeCommit类似github这样代码仓库。 Amazon S3 is object-level storage, which means that if you want to change a part of a file, you have to make the change and then re-upload the entire modified file. 对象存储,比较像字节的TOS。 也是以bucket隔离的,然后bucket可设置是否公开,可设置每个文件多版本, 可作为一个静态博客的host。 [对象存储参考](https://mafulong.github.io/2022/10/06/%E5%9D%97%E5%AD%98%E5%82%A8%E5%92%8C%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8%E5%92%8C%E6%96%87%E4%BB%B6%E5%AD%98%E5%82%A8/) Amazon S3 Glacier is a great storage choice when low storage cost is paramount, your data is rarely retrieved, and retrieval latency of several hours is acceptable. If your application requires fast or frequent access to your data, consider using Amazon S3. Objects stored in Amazon S3 Glacier are called *archives*. 相比s3,价格便宜,适合平时不太访问的归档数据。 + + + +## 计算层:EC2 From 91d28f3befe420ef6d0b3ae6576de6a9d968e05a Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 8 Oct 2022 14:50:09 +0800 Subject: [PATCH 075/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md index 7a4913b0ee..a54513cae9 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -164,3 +164,21 @@ Amazon S3 Glacier is a great storage choice when low storage cost is paramount, ## 计算层:EC2 + + + +3种付费方案: + +1. on-demand, 运行时收费,按秒计费,价格固定。 +2. Reserved instances. (RIs) 预订 选定期的,有折扣。这种情况下即便选择不预付,非运行时也算收费。 它需要绑定一个instance type. +3. Spot instances. 类似出钱,然后aws自己评估这价格可以给几个实例这样。如果不够就掐掉实例。是最便宜的,但需要容忍突然停。 + +Dedicated hosts: 把物理机控制也给你,贵。和其他公司隔离开。 + + + +### 数据库 + +RDB: Amazon RDS, Redshit, Aurora. + +NoSQL: DynamoDB, Nepture, ElastiCache From 6a52ac99f52912c1664f6e19f37c927923a2b173 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 8 Oct 2022 18:24:37 +0800 Subject: [PATCH 076/318] add logbook --- ...01\347\256\241\347\220\206\345\231\250.md" | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 "_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" diff --git "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" new file mode 100644 index 0000000000..dbcf1ecdd7 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" @@ -0,0 +1,35 @@ +--- +layout: post +category: Tools +title: 密码管理器 +tags: Tools +--- + +## 密码管理器 + + + +一般使用chrome密码管理器即可。这里的网站密码通常认为不咋重要,重要的都会放到另个更安全地方。 + + + +但公司的chrome可能受组织管理,禁用了chrome密码管理器,这时就需要其他方法了。 + + + +## 使用keeweb + +keeweb是个开源免费秘密管理器。 可保存文件到onedrive上等。 + + + +首先将chrome密码导出csv,然后用keeweb打开,会让你选择导入到哪里,这时候导入到你建好或者打开的密码文件即可。 + + + +使用上,在chrome输入框,可通过右键选择keyweb plugin选择账号和密码进行填充。 + + + +keeweb 有桌面版和浏览器版,哪个都行,前者不用一直开始keeweb标签页。 + From 72b6f47d708408d52414481a6fbb6beeecc89071 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 8 Oct 2022 21:01:53 +0800 Subject: [PATCH 077/318] add logbook --- ...17\345\210\227\345\255\220\344\270\262.md" | 22 ++++++++++++++++++- ...01\347\256\241\347\220\206\345\231\250.md" | 11 ++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Algorithms/2018-03-13-\345\212\250\346\200\201\350\247\204\345\210\222\344\271\213\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\345\255\220\344\270\262.md" "b/_posts/Tech/Algorithms/2018-03-13-\345\212\250\346\200\201\350\247\204\345\210\222\344\271\213\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\345\255\220\344\270\262.md" index 4913182da9..f941661942 100644 --- "a/_posts/Tech/Algorithms/2018-03-13-\345\212\250\346\200\201\350\247\204\345\210\222\344\271\213\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\345\255\220\344\270\262.md" +++ "b/_posts/Tech/Algorithms/2018-03-13-\345\212\250\346\200\201\350\247\204\345\210\222\344\271\213\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\345\255\220\344\270\262.md" @@ -1,7 +1,7 @@ --- layout: post category: Algorithms -title: 动态规划之公共子序列子串 +title: 动态规划之公共子序列/子串/前缀 tags: Algorithms --- @@ -183,3 +183,23 @@ public class LCString { } ``` + +## 最长前缀LCP Longest common prefix + +求两个字符串任意两个位置开头的最长公共前缀。时间复杂度o(n2) 如果是暴力需要o(n3) 枚举i,j然后到头。 + + + +```scala +class Strings: + def LongestCommonPrefix(a, b): + # lcp[i][j] 表示 s[i:] 和 s[j:] 的最长公共前缀 + n, m = len(a), len(b) + lcp = [[0] * (m + 1) for _ in range(n + 1)] + for i in range(n - 1, -1, -1): + for j in range(m - 1, -1, -1): + if a[i] == b[j]: + lcp[i][j] = lcp[i + 1][j + 1] + 1 + return lcp +``` + diff --git "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" index dbcf1ecdd7..dc425397c6 100644 --- "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" +++ "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" @@ -33,3 +33,14 @@ keeweb是个开源免费秘密管理器。 可保存文件到onedrive上等。 keeweb 有桌面版和浏览器版,哪个都行,前者不用一直开始keeweb标签页。 + + + + +## firefox csv密码导入 + +chrome可以以csv形式导出密码。 + + + +[细节请参考](https://websetnet.net/zh-CN/%E5%A6%82%E4%BD%95%E5%B0%86%E5%AF%86%E7%A0%81%E4%BB%8Ecsv%E6%96%87%E4%BB%B6%E5%AF%BC%E5%85%A5%E5%88%B0firefox/) From 92c86d5eec3eccd8e3fe8806d420e0d90f754e7d Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 9 Oct 2022 14:37:33 +0800 Subject: [PATCH 078/318] add logbook --- ...47\345\210\240\351\231\244\346\225\260.md" | 68 ++++++++++ ...04\345\255\227\347\254\246\344\270\262.md" | 119 ++++++++++++++++++ 2 files changed, 187 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" create mode 100644 "_posts/Algorithms/leetcode/2022-10-09-6202. \344\275\277\347\224\250\346\234\272\345\231\250\344\272\272\346\211\223\345\215\260\345\255\227\345\205\270\345\272\217\346\234\200\345\260\217\347\232\204\345\255\227\347\254\246\344\270\262.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" "b/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" new file mode 100644 index 0000000000..1a860e3d26 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" @@ -0,0 +1,68 @@ +--- +layout: post +category: leetcode +title: 2430. 对字母串可执行的最大删除数 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/maximum-deletions-on-a-string/) + +给你一个仅由小写英文字母组成的字符串 `s` 。在一步操作中,你可以: + +- 删除 **整个字符串** `s` ,或者 +- 对于满足 `1 <= i <= s.length / 2` 的任意 `i` ,如果 `s` 中的 **前** `i` 个字母和接下来的 `i` 个字母 **相等** ,删除 **前** `i` 个字母。 + +例如,如果 `s = "ababc"` ,那么在一步操作中,你可以删除 `s` 的前两个字母得到 `"abc"` ,因为 `s` 的前两个字母和接下来的两个字母都等于 `"ab"` 。 + +返回删除 `s` 所需的最大操作数。 + + + +**示例 1:** + +``` +输入:s = "abcabcdabc" +输出:2 +解释: +- 删除前 3 个字母("abc"),因为它们和接下来 3 个字母相等。现在,s = "abcdabc"。 +- 删除全部字母。 +一共用了 2 步操作,所以返回 2 。可以证明 2 是所需的最大操作数。 +注意,在第二步操作中无法再次删除 "abc" ,因为 "abc" 的下一次出现并不是位于接下来的 3 个字母。 +``` + +**示例 2:** + +``` +输入:s = "aaabaab" +输出:4 +解释: +- 删除第一个字母("a"),因为它和接下来的字母相等。现在,s = "aabaab"。 +- 删除前 3 个字母("aab"),因为它们和接下来 3 个字母相等。现在,s = "aab"。 +- 删除第一个字母("a"),因为它和接下来的字母相等。现在,s = "ab"。 +- 删除全部字母。 +一共用了 4 步操作,所以返回 4 。可以证明 4 是所需的最大操作数。 +``` + +**示例 3:** + +``` +输入:s = "aaaaa" +输出:5 +解释:在每一步操作中,都可以仅删除 s 的第一个字母。 +``` + + + +**提示:** + +- `1 <= s.length <= 4000` +- `s` 仅由小写英文字母组成 + + +## solution + +```python + +``` + diff --git "a/_posts/Algorithms/leetcode/2022-10-09-6202. \344\275\277\347\224\250\346\234\272\345\231\250\344\272\272\346\211\223\345\215\260\345\255\227\345\205\270\345\272\217\346\234\200\345\260\217\347\232\204\345\255\227\347\254\246\344\270\262.md" "b/_posts/Algorithms/leetcode/2022-10-09-6202. \344\275\277\347\224\250\346\234\272\345\231\250\344\272\272\346\211\223\345\215\260\345\255\227\345\205\270\345\272\217\346\234\200\345\260\217\347\232\204\345\255\227\347\254\246\344\270\262.md" new file mode 100644 index 0000000000..949501f164 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-09-6202. \344\275\277\347\224\250\346\234\272\345\231\250\344\272\272\346\211\223\345\215\260\345\255\227\345\205\270\345\272\217\346\234\200\345\260\217\347\232\204\345\255\227\347\254\246\344\270\262.md" @@ -0,0 +1,119 @@ +--- +layout: post +category: leetcode +title: 6202. 使用机器人打印字典序最小的字符串 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/using-a-robot-to-print-the-lexicographically-smallest-string/) + +给你一个字符串 `s` 和一个机器人,机器人当前有一个空字符串 `t` 。执行以下操作之一,直到 `s` 和 `t` **都变成空字符串:** + +- 删除字符串 `s` 的 **第一个** 字符,并将该字符给机器人。机器人把这个字符添加到 `t` 的尾部。 +- 删除字符串 `t` 的 **最后一个** 字符,并将该字符给机器人。机器人将该字符写到纸上。 + +请你返回纸上能写出的字典序最小的字符串。 + + + +**示例 1:** + +``` +输入:s = "zza" +输出:"azz" +解释:用 p 表示写出来的字符串。 +一开始,p="" ,s="zza" ,t="" 。 +执行第一个操作三次,得到 p="" ,s="" ,t="zza" 。 +执行第二个操作三次,得到 p="azz" ,s="" ,t="" 。 +``` + +**示例 2:** + +``` +输入:s = "bac" +输出:"abc" +解释:用 p 表示写出来的字符串。 +执行第一个操作两次,得到 p="" ,s="c" ,t="ba" 。 +执行第二个操作两次,得到 p="ab" ,s="c" ,t="" 。 +执行第一个操作,得到 p="ab" ,s="" ,t="c" 。 +执行第二个操作,得到 p="abc" ,s="" ,t="" 。 +``` + +**示例 3:** + +``` +输入:s = "bdda" +输出:"addb" +解释:用 p 表示写出来的字符串。 +一开始,p="" ,s="bdda" ,t="" 。 +执行第一个操作四次,得到 p="" ,s="" ,t="bdda" 。 +执行第二个操作四次,得到 p="addb" ,s="" ,t="" 。 +``` + + + +**提示:** + +- `1 <= s.length <= 105` +- `s` 只包含小写英文字母。 + +## solution + +本题是经典贪心:求出栈序列的最小字典序。 + +我们首先将题目描述进行转化:有一个初始为空的栈,给定字符的入栈顺序,求字典序最小的出栈序列。 + +```python +class Solution: + def robotWithString(self, s: str) -> str: + stack = [] + import collections + counter = collections.Counter(s) + ans = [] + ''' + 栈模拟, 栈顶是最小的就弹出,否则就继续入栈等有更小的弹出 + ''' + for c in s: + # 判断后面是否还有比它小的 + counter[c] -= 1 + minc = c + for x in string.ascii_lowercase: + if counter[x] > 0: + minc = x + break + # print(c, minc) + stack.append(c) + while stack and stack[-1] <= minc: + ans.append(stack.pop()) + return "".join(ans + stack[::-1]) + + +class Solution: + def robotWithString(self, s: str) -> str: + stack = [] + ans = [] + minc = [None] * (len(s) + 1) + t = 'z' + for i in range(len(s) - 1, -1, -1): + t = min(t, s[i]) + minc[i] = t + minc[-1] = chr(ord('z') + 1) + ''' + 栈模拟, 栈顶是最小的就弹出,否则就继续入栈等有更小的弹出 + ''' + for i, c in enumerate(s): + # 判断后面是否还有比它小的 + stack.append(c) + while stack and stack[-1] <= minc[i + 1]: + ans.append(stack.pop()) + return "".join(ans + stack) + + +if __name__ == '__main__': + f = Solution().robotWithString + print("actual:", f("caba"), "should:", None) + print("actual:", f("bac"), "should:", None) + print("actual:", f("bdda"), "should:", None) +``` + From af06d9a63dcb891cd013f296698639bfbbbfc483 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 9 Oct 2022 15:28:47 +0800 Subject: [PATCH 079/318] add logbook --- ...51\230\237\345\210\227\345\222\214\346\240\210.md" | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Algorithms/2018-08-01-\351\230\237\345\210\227\345\222\214\346\240\210.md" "b/_posts/Tech/Algorithms/2018-08-01-\351\230\237\345\210\227\345\222\214\346\240\210.md" index af863894ef..ef2859e924 100644 --- "a/_posts/Tech/Algorithms/2018-08-01-\351\230\237\345\210\227\345\222\214\346\240\210.md" +++ "b/_posts/Tech/Algorithms/2018-08-01-\351\230\237\345\210\227\345\222\214\346\240\210.md" @@ -165,4 +165,13 @@ class Solution: -类似题目: [394. 字符串解码](https://leetcode-cn.com/problems/decode-string/) \ No newline at end of file +类似题目: [394. 字符串解码](https://leetcode-cn.com/problems/decode-string/) + + + + + +给定入栈顺序,求某个出栈顺序。 + +1. [6202. 使用机器人打印字典序最小的字符串](https://mafulong.github.io/2022/10/09/6202.-%E4%BD%BF%E7%94%A8%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%89%93%E5%8D%B0%E5%AD%97%E5%85%B8%E5%BA%8F%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/) +2. [栈的压入、弹出序列](https://mafulong.github.io/2018/10/20/%E6%A0%88%E7%9A%84%E5%8E%8B%E5%85%A5-%E5%BC%B9%E5%87%BA%E5%BA%8F%E5%88%97/) \ No newline at end of file From c5bcfbcdb5b5f7a620a659b50190821c590544a7 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 10 Oct 2022 21:43:59 +0800 Subject: [PATCH 080/318] add logbook --- ...47\345\210\240\351\231\244\346\225\260.md" | 20 ++++- ...45\255\227\347\254\246\344\270\262hash.md" | 73 +++++++++++++++++++ 2 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 "_posts/Tech/Algorithms/2022-10-10-\345\255\227\347\254\246\344\270\262hash.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" "b/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" index 1a860e3d26..2be0bf9e04 100644 --- "a/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" +++ "b/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" @@ -59,10 +59,26 @@ tags: leetcode - `1 <= s.length <= 4000` - `s` 仅由小写英文字母组成 - ## solution -```python +[参考](https://leetcode.cn/problems/maximum-deletions-on-a-string/solution/xian-xing-dppythonjavacgo-by-endlesschen-gpx9/) 不加特例判断会超时,因此使用hash string更优 +```python +class Solution: + def deleteString(self, s: str) -> int: + n = len(s) + if len(set(s)) == 1: return n # 特判全部相同的情况 + lcp = [[0] * (n + 1) for _ in range(n + 1)] # lcp[i][j] 表示 s[i:] 和 s[j:] 的最长公共前缀 + for i in range(n - 1, -1, -1): + for j in range(n - 1, i, -1): + if s[i] == s[j]: + lcp[i][j] = lcp[i + 1][j + 1] + 1 + f = [0] * n + for i in range(n - 1, -1, -1): + for j in range(1, (n - i) // 2 + 1): + if lcp[i][i + j] >= j: # 说明 s[i:i+j] == s[i+j:i+2*j] + f[i] = max(f[i], f[i + j]) + f[i] += 1 + return f[0] ``` diff --git "a/_posts/Tech/Algorithms/2022-10-10-\345\255\227\347\254\246\344\270\262hash.md" "b/_posts/Tech/Algorithms/2022-10-10-\345\255\227\347\254\246\344\270\262hash.md" new file mode 100644 index 0000000000..83d09a4b43 --- /dev/null +++ "b/_posts/Tech/Algorithms/2022-10-10-\345\255\227\347\254\246\344\270\262hash.md" @@ -0,0 +1,73 @@ +--- +layout: post +category: Algorithms +title: 字符串hash +tags: Algorithms +--- + +## 字符串hash + +字符串hash得到hash值,用于o(1)时间复杂度判断是否相等。在提前计算好整个字符串的预处理情况下,可快速比较某两子串是否相等。 + + + +[oi wiki参考](https://oi-wiki.org/string/hash/) + + + +![image-20221010130458789](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210101304818.png) + + + +## 模板 + +```python +class StringHash: + def __init__(self, s=""): + self.MOD = 998244353 + self.BASE = 131 + # 计算前缀哈希值 + n = len(s) + P = [0] * (n + 1) + P[0] = 1 + for i in range(1, n + 1, 1): + P[i] = P[i - 1] * self.BASE % self.MOD + H = [0] * (n + 1) + for i in range(1, n + 1, 1): + H[i] = (H[i - 1] * self.BASE + ord(s[i - 1])) % self.MOD + self.H = H + self.P = P + + ''' + s的[l,r]区间的hash值,闭区间, l从1开始 + ''' + + def get_hash(self, l=0, r=0): + l, r = l + 1, r + 1 + return (self.H[r] - self.H[l - 1] * self.P[r - l + 1] % self.MOD + self.MOD) % self.MOD + +示例: https://leetcode.cn/problems/maximum-deletions-on-a-string/submissions/ +class Solution: + def deleteString(self, s: str) -> int: + n = len(s) + dp = [1] * n + hash = StringHash(s) + for i in range(n - 1, -1, -1): + for j in range(i + 1, n): + if (j - i + 1) % 2 == 0: + mid = (i + j) // 2 + if hash.get_hash(i, mid) == hash.get_hash(mid+1, j): + # print(i, j, mid) + dp[i] = max(dp[i], dp[mid+1]+1) + # print(dp[i]) + # print(dp) + return dp[0] +``` + + + +## 题目 + + + +题目: https://leetcode.cn/problems/maximum-deletions-on-a-string/solution/by-tsreaper-9xkh/ From b50dfefe0cf0eff3632047e32259cf891cff9817 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 15 Oct 2022 10:39:50 +0800 Subject: [PATCH 081/318] add logbook --- ...\206\347\240\201\347\256\241\347\220\206\345\231\250.md" | 6 ++++++ 1 file changed, 6 insertions(+) diff --git "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" index dc425397c6..eb37c529d6 100644 --- "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" +++ "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" @@ -44,3 +44,9 @@ chrome可以以csv形式导出密码。 [细节请参考](https://websetnet.net/zh-CN/%E5%A6%82%E4%BD%95%E5%B0%86%E5%AF%86%E7%A0%81%E4%BB%8Ecsv%E6%96%87%E4%BB%B6%E5%AF%BC%E5%85%A5%E5%88%B0firefox/) + + + +## 微软 authenticator + +首推,还可以跨平台,微软有保障。 From 74448f2f3d917dddfd25bcb32c62a74b98d28110 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 15 Oct 2022 23:07:54 +0800 Subject: [PATCH 082/318] add logbook --- ...04\350\277\236\351\200\232\345\235\227.md" | 60 +++++++++++++++++++ ...01\347\256\241\347\220\206\345\231\250.md" | 12 +++- ...018-02-01-java\346\263\233\345\236\213.md" | 22 +++++-- 3 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 "_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" new file mode 100644 index 0000000000..7dad6831da --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" @@ -0,0 +1,60 @@ +--- +layout: post +category: leetcode +title: 创建价值相同的连通块 +tags: leetcode +--- + + + +### 6211. 创建价值相同的连通块 + +有一棵 `n` 个节点的无向树,节点编号为 `0` 到 `n - 1` 。 + +给你一个长度为 `n` 下标从 **0** 开始的整数数组 `nums` ,其中 `nums[i]` 表示第 `i` 个节点的值。同时给你一个长度为 `n - 1` 的二维整数数组 `edges` ,其中 `edges[i] = [ai, bi]` 表示节点 `ai` 与 `bi` 之间有一条边。 + +你可以 **删除** 一些边,将这棵树分成几个连通块。一个连通块的 **价值** 定义为这个连通块中 **所有** 节点 `i` 对应的 `nums[i]` 之和。 + +你需要删除一些边,删除后得到的各个连通块的价值都相等。请返回你可以删除的边数 **最多** 为多少。 + + + +**示例 1:** + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210152307629.png) + +``` +输入:nums = [6,2,2,2,6], edges = [[0,1],[1,2],[1,3],[3,4]] +输出:2 +解释:上图展示了我们可以删除边 [0,1] 和 [3,4] 。得到的连通块为 [0] ,[1,2,3] 和 [4] 。每个连通块的价值都为 6 。可以证明没有别的更好的删除方案存在了,所以答案为 2 。 +``` + +**示例 2:** + +``` +输入:nums = [2], edges = [] +输出:0 +解释:没有任何边可以删除。 +``` + + + +**提示:** + +- `1 <= n <= 2 * 104` +- `nums.length == n` +- `1 <= nums[i] <= 50` +- `edges.length == n - 1` +- `edges[i].length == 2` +- `0 <= edges[i][0], edges[i][1] <= n - 1` +- `edges` 表示一棵合法的树。 + + + + + + + +## Solution + +待更新 diff --git "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" index eb37c529d6..805edd37a6 100644 --- "a/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" +++ "b/_posts/Tech/TOOLS/2022-10-08-\345\257\206\347\240\201\347\256\241\347\220\206\345\231\250.md" @@ -31,10 +31,20 @@ keeweb是个开源免费秘密管理器。 可保存文件到onedrive上等。 -keeweb 有桌面版和浏览器版,哪个都行,前者不用一直开始keeweb标签页。 +keeweb 有桌面版和浏览器版,哪个都行,前者不用一直开始keeweb标签页。但需要个叫啥connector的插件。 +ui很丑。 + +## 使用**KeePassXC** + +另一个keepass开源版本,mac推荐。 + + + +ui更好看。 + ## firefox csv密码导入 diff --git "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" index 075ecfeabf..e6cce34afc 100644 --- "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" +++ "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" @@ -116,6 +116,8 @@ public class Collections { } ``` +记法: 子类赋值给父类。 + ### List > [参考](https://stackoverflow.com/questions/1844770/what-does-list-mean-in-java-generics) @@ -129,7 +131,7 @@ Unbounded Wildcards ? > - If you are writing a method that can be implemented using functionality provided in the Object class. > - When the code is using methods in the generic class that don't depend on the type parameter. For example, `List.size` or `List.clear`. In fact, `Class` is so often used because most of the methods in `Class` do not depend on `T`. -? 表示一种特定的未知类型,所以 List 不能 add 因为会类型绑定错误,会出现错误 capture xx of ?之类的。 +? 表示一种特定的未知类型,所以 List 不能 add 因为会类型绑定错误而出现错误 capture xx of ?之类的。 - `List`: There is no type restriction and assignment restriction at all. - `List`: It seems to be used the same as `List`, but a compilation error will occur when accepting other generic assignments. 不能`List list = a, where a is List` @@ -165,10 +167,10 @@ Java 的泛型机制是在编译级别实现的。编译器生成的字节码在 ## 泛型的约束和限制 -### **类型检查不可使用泛型** +### 类型检查不可使用泛型 ```java -if(aaa instanceof Pair){}//error +if(aaa instanceof Pair){}//compile error: Illegal generic type for instanceof Pair p = (Pair) a;//warn @@ -193,7 +195,7 @@ public static void rtti(List list) { } ``` -### **不能创建泛型对象数组** +### 不能创建泛型对象数组 ```java GenericMethod[] o=null;//ok @@ -210,7 +212,7 @@ o=(GenericMethod[]) new GenericMethod[10]; 不可以创建的原因是:因为类型擦除的原因无法在为元素赋值时类型检查,因此 jdk 强制不允许。 -### **不能实例化泛型对象** +### 不能实例化泛型对象 ```java T t= new T();//error @@ -232,7 +234,7 @@ append(ls, String.class); ``` -### **不能在泛型类的静态域中使用泛型类型** +### 不能在泛型类的静态域中使用泛型类型 ```java public class Singleton{ @@ -302,3 +304,11 @@ class MyNode extends Node { // ... } ``` + + + + + +## 参考 + +- [参考1](https://github.com/SigalHu/MyBlog/blob/master/Java/Java%E6%B3%9B%E5%9E%8B%E8%AF%A6%E8%A7%A3%5B%E8%BD%AC%5D.md) From 04697fc6f32a015a013d1783a7a6210dbd578356 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 15 Oct 2022 23:08:33 +0800 Subject: [PATCH 083/318] add logbook --- ...04\346\234\200\345\244\247\345\200\274.md" | 55 +++++++++++++++++++ ...04\350\277\236\351\200\232\345\235\227.md" | 4 -- 2 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 "_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" diff --git "a/_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" "b/_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" new file mode 100644 index 0000000000..7a10d0eb2f --- /dev/null +++ "b/_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" @@ -0,0 +1,55 @@ +--- +layout: post +category: _posts +title: 最小化数组中的最大值 +tags: _posts +--- + +## 最小化数组中的最大值 + +给你一个下标从 **0** 开始的数组 `nums` ,它含有 `n` 个非负整数。 + +每一步操作中,你需要: + +- 选择一个满足 `1 <= i < n` 的整数 `i` ,且 `nums[i] > 0` 。 +- 将 `nums[i]` 减 1 。 +- 将 `nums[i - 1]` 加 1 。 + +你可以对数组执行 **任意** 次上述操作,请你返回可以得到的 `nums` 数组中 **最大值** **最小** 为多少。 + + + +**示例 1:** + +``` +输入:nums = [3,7,1,6] +输出:5 +解释: +一串最优操作是: +1. 选择 i = 1 ,nums 变为 [4,6,1,6] 。 +2. 选择 i = 3 ,nums 变为 [4,6,2,5] 。 +3. 选择 i = 1 ,nums 变为 [5,5,2,5] 。 +nums 中最大值为 5 。无法得到比 5 更小的最大值。 +所以我们返回 5 。 +``` + +**示例 2:** + +``` +输入:nums = [10,1] +输出:10 +解释: +最优解是不改动 nums ,10 是最大值,所以返回 10 。 +``` + + + +**提示:** + +- `n == nums.length` +- `2 <= n <= 105` +- `0 <= nums[i] <= 109` + +## Solution + +待更新 diff --git "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" index 7dad6831da..9a1aed8fe9 100644 --- "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" +++ "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" @@ -51,10 +51,6 @@ tags: leetcode - - - - ## Solution 待更新 From 85f3aba5f81b842e088161f1eca92081db68b942 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 15 Oct 2022 23:22:38 +0800 Subject: [PATCH 084/318] add logbook --- ...04\350\277\236\351\200\232\345\235\227.md" | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" index 9a1aed8fe9..3b38094366 100644 --- "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" +++ "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" @@ -51,6 +51,47 @@ tags: leetcode +There is an undirected tree with `n` nodes labeled from `0` to `n - 1`. + +You are given a **0-indexed** integer array `nums` of length `n` where `nums[i]` represents the value of the `ith` node. You are also given a 2D integer array `edges` of length `n - 1` where `edges[i] = [ai, bi]` indicates that there is an edge between nodes `ai` and `bi` in the tree. + +You are allowed to **delete** some edges, splitting the tree into multiple connected components. Let the **value** of a component be the sum of **all** `nums[i]` for which node `i` is in the component. + +Return *the **maximum** number of edges you can delete, such that every connected component in the tree has the same value.* + + + +**Example 1:** + +![img](https://assets.leetcode.com/uploads/2022/08/26/diagramdrawio.png) + +``` +Input: nums = [6,2,2,2,6], edges = [[0,1],[1,2],[1,3],[3,4]] +Output: 2 +Explanation: The above figure shows how we can delete the edges [0,1] and [3,4]. The created components are nodes [0], [1,2,3] and [4]. The sum of the values in each component equals 6. It can be proven that no better deletion exists, so the answer is 2. +``` + +**Example 2:** + +``` +Input: nums = [2], edges = [] +Output: 0 +Explanation: There are no edges to be deleted. +``` + + + +**Constraints:** + +- `1 <= n <= 2 * 104` +- `nums.length == n` +- `1 <= nums[i] <= 50` +- `edges.length == n - 1` +- `edges[i].length == 2` +- `0 <= edges[i][0], edges[i][1] <= n - 1` +- `edges` represents a valid tree. + ## Solution 待更新 + From d57bc434a2af8f275da71c651c0468ecc5d27c7a Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 16 Oct 2022 13:59:00 +0800 Subject: [PATCH 085/318] add logbook --- ...04\346\234\200\345\244\247\345\200\274.md" | 55 ----------- ...04\350\277\236\351\200\232\345\235\227.md" | 97 ------------------- ...04\350\277\236\351\200\232\345\235\227.md" | 90 +++++++++++++++++ ...8-05-19-python\347\254\224\350\256\260.md" | 15 ++- 4 files changed, 104 insertions(+), 153 deletions(-) delete mode 100644 "_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" delete mode 100644 "_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" create mode 100644 "_posts/Algorithms/leetcode/2022-10-16-6211. \345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" diff --git "a/_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" "b/_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" deleted file mode 100644 index 7a10d0eb2f..0000000000 --- "a/_posts/2022-10-15-\346\234\200\345\260\217\345\214\226\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\244\247\345\200\274.md" +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: post -category: _posts -title: 最小化数组中的最大值 -tags: _posts ---- - -## 最小化数组中的最大值 - -给你一个下标从 **0** 开始的数组 `nums` ,它含有 `n` 个非负整数。 - -每一步操作中,你需要: - -- 选择一个满足 `1 <= i < n` 的整数 `i` ,且 `nums[i] > 0` 。 -- 将 `nums[i]` 减 1 。 -- 将 `nums[i - 1]` 加 1 。 - -你可以对数组执行 **任意** 次上述操作,请你返回可以得到的 `nums` 数组中 **最大值** **最小** 为多少。 - - - -**示例 1:** - -``` -输入:nums = [3,7,1,6] -输出:5 -解释: -一串最优操作是: -1. 选择 i = 1 ,nums 变为 [4,6,1,6] 。 -2. 选择 i = 3 ,nums 变为 [4,6,2,5] 。 -3. 选择 i = 1 ,nums 变为 [5,5,2,5] 。 -nums 中最大值为 5 。无法得到比 5 更小的最大值。 -所以我们返回 5 。 -``` - -**示例 2:** - -``` -输入:nums = [10,1] -输出:10 -解释: -最优解是不改动 nums ,10 是最大值,所以返回 10 。 -``` - - - -**提示:** - -- `n == nums.length` -- `2 <= n <= 105` -- `0 <= nums[i] <= 109` - -## Solution - -待更新 diff --git "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" "b/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" deleted file mode 100644 index 3b38094366..0000000000 --- "a/_posts/Algorithms/leetcode/2022-10-15-\345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" +++ /dev/null @@ -1,97 +0,0 @@ ---- -layout: post -category: leetcode -title: 创建价值相同的连通块 -tags: leetcode ---- - - - -### 6211. 创建价值相同的连通块 - -有一棵 `n` 个节点的无向树,节点编号为 `0` 到 `n - 1` 。 - -给你一个长度为 `n` 下标从 **0** 开始的整数数组 `nums` ,其中 `nums[i]` 表示第 `i` 个节点的值。同时给你一个长度为 `n - 1` 的二维整数数组 `edges` ,其中 `edges[i] = [ai, bi]` 表示节点 `ai` 与 `bi` 之间有一条边。 - -你可以 **删除** 一些边,将这棵树分成几个连通块。一个连通块的 **价值** 定义为这个连通块中 **所有** 节点 `i` 对应的 `nums[i]` 之和。 - -你需要删除一些边,删除后得到的各个连通块的价值都相等。请返回你可以删除的边数 **最多** 为多少。 - - - -**示例 1:** - -![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210152307629.png) - -``` -输入:nums = [6,2,2,2,6], edges = [[0,1],[1,2],[1,3],[3,4]] -输出:2 -解释:上图展示了我们可以删除边 [0,1] 和 [3,4] 。得到的连通块为 [0] ,[1,2,3] 和 [4] 。每个连通块的价值都为 6 。可以证明没有别的更好的删除方案存在了,所以答案为 2 。 -``` - -**示例 2:** - -``` -输入:nums = [2], edges = [] -输出:0 -解释:没有任何边可以删除。 -``` - - - -**提示:** - -- `1 <= n <= 2 * 104` -- `nums.length == n` -- `1 <= nums[i] <= 50` -- `edges.length == n - 1` -- `edges[i].length == 2` -- `0 <= edges[i][0], edges[i][1] <= n - 1` -- `edges` 表示一棵合法的树。 - - - -There is an undirected tree with `n` nodes labeled from `0` to `n - 1`. - -You are given a **0-indexed** integer array `nums` of length `n` where `nums[i]` represents the value of the `ith` node. You are also given a 2D integer array `edges` of length `n - 1` where `edges[i] = [ai, bi]` indicates that there is an edge between nodes `ai` and `bi` in the tree. - -You are allowed to **delete** some edges, splitting the tree into multiple connected components. Let the **value** of a component be the sum of **all** `nums[i]` for which node `i` is in the component. - -Return *the **maximum** number of edges you can delete, such that every connected component in the tree has the same value.* - - - -**Example 1:** - -![img](https://assets.leetcode.com/uploads/2022/08/26/diagramdrawio.png) - -``` -Input: nums = [6,2,2,2,6], edges = [[0,1],[1,2],[1,3],[3,4]] -Output: 2 -Explanation: The above figure shows how we can delete the edges [0,1] and [3,4]. The created components are nodes [0], [1,2,3] and [4]. The sum of the values in each component equals 6. It can be proven that no better deletion exists, so the answer is 2. -``` - -**Example 2:** - -``` -Input: nums = [2], edges = [] -Output: 0 -Explanation: There are no edges to be deleted. -``` - - - -**Constraints:** - -- `1 <= n <= 2 * 104` -- `nums.length == n` -- `1 <= nums[i] <= 50` -- `edges.length == n - 1` -- `edges[i].length == 2` -- `0 <= edges[i][0], edges[i][1] <= n - 1` -- `edges` represents a valid tree. - -## Solution - -待更新 - diff --git "a/_posts/Algorithms/leetcode/2022-10-16-6211. \345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" "b/_posts/Algorithms/leetcode/2022-10-16-6211. \345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" new file mode 100644 index 0000000000..e733848d31 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-16-6211. \345\210\233\345\273\272\344\273\267\345\200\274\347\233\270\345\220\214\347\232\204\350\277\236\351\200\232\345\235\227.md" @@ -0,0 +1,90 @@ +--- +layout: post +category: leetcode +title: 6211. 创建价值相同的连通块 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/create-components-with-same-value/) + +有一棵 `n` 个节点的无向树,节点编号为 `0` 到 `n - 1` 。 + +给你一个长度为 `n` 下标从 **0** 开始的整数数组 `nums` ,其中 `nums[i]` 表示第 `i` 个节点的值。同时给你一个长度为 `n - 1` 的二维整数数组 `edges` ,其中 `edges[i] = [ai, bi]` 表示节点 `ai` 与 `bi` 之间有一条边。 + +你可以 **删除** 一些边,将这棵树分成几个连通块。一个连通块的 **价值** 定义为这个连通块中 **所有** 节点 `i` 对应的 `nums[i]` 之和。 + +你需要删除一些边,删除后得到的各个连通块的价值都相等。请返回你可以删除的边数 **最多** 为多少。 + + + +**示例 1:** + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210161356949.png) + +``` +输入:nums = [6,2,2,2,6], edges = [[0,1],[1,2],[1,3],[3,4]] +输出:2 +解释:上图展示了我们可以删除边 [0,1] 和 [3,4] 。得到的连通块为 [0] ,[1,2,3] 和 [4] 。每个连通块的价值都为 6 。可以证明没有别的更好的删除方案存在了,所以答案为 2 。 +``` + +**示例 2:** + +``` +输入:nums = [2], edges = [] +输出:0 +解释:没有任何边可以删除。 +``` + + + +**提示:** + +- `1 <= n <= 2 * 104` +- `nums.length == n` +- `1 <= nums[i] <= 50` +- `edges.length == n - 1` +- `edges[i].length == 2` +- `0 <= edges[i][0], edges[i][1] <= n - 1` +- `edges` 表示一棵合法的树。 + +## solution + +[参考](https://leetcode.cn/problems/create-components-with-same-value/solution/by-endlesscheng-u03q/) + +```python +class Solution: + def componentValue(self, nums: List[int], edges: List[List[int]]) -> int: + n = len(nums) + import collections + graph = collections.defaultdict(list) + for u, v in edges: + graph[u].append(v) + graph[v].append(u) + total = sum(nums) + target = 0 + + # return the sum of subtree mod target + def dfs(u, fa=-1): + cur = nums[u] + for v in graph[u]: + if v == fa: continue + t = dfs(v, u) + if t == -1: + return -1 + cur += t + if cur == target: + return 0 + elif cur > target: + return -1 + return cur + + for k in range(min(n, total // max(nums)), 1, -1): + if total % k == 0: + target = total // k + if dfs(0, -1) == 0: + return k - 1 + return 0 + +``` + diff --git "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" index 21a5d775d8..068cf17819 100644 --- "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" +++ "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" @@ -1000,7 +1000,20 @@ b ### range -Range(10**9) 也没关系,因为range的时间复杂度是1,可以o(1)时间复杂度计算出对应的值。如果是list(range(xx))这复杂度就是O(xx)了。 +`Range(10**9) `也没关系,因为range的时间复杂度是1,可以o(1)时间复杂度计算出对应的值。如果是`list(range(xx))`这复杂度就是O(xx)了。 len(range)的时间复杂度也是o(1) + +### 二分bisect + +```python + import bisect + bisect.bisect_left + bisect.bisect_right + # range时间复杂度不用list转化的时间复杂度是o(1) 包括取任意位置的值和len + # 如果想找个某个位置为True,可以传key函数并且找True的值。 + +``` + + ### python负数补码 From 11e7d5ae1b506d02dc0cc26f72f236fe83974939 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 16 Oct 2022 14:27:15 +0800 Subject: [PATCH 086/318] add logbook --- ...04\347\232\204\346\225\260\347\233\256.md" | 71 +++++++++++++++++++ ...6-\345\217\214\346\214\207\351\222\210.md" | 28 ++++++++ 2 files changed, 99 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-10-16-6207. \347\273\237\350\256\241\345\256\232\347\225\214\345\255\220\346\225\260\347\273\204\347\232\204\346\225\260\347\233\256.md" create mode 100644 "_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-16-6207. \347\273\237\350\256\241\345\256\232\347\225\214\345\255\220\346\225\260\347\273\204\347\232\204\346\225\260\347\233\256.md" "b/_posts/Algorithms/leetcode/2022-10-16-6207. \347\273\237\350\256\241\345\256\232\347\225\214\345\255\220\346\225\260\347\273\204\347\232\204\346\225\260\347\233\256.md" new file mode 100644 index 0000000000..3b8f7268b5 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-16-6207. \347\273\237\350\256\241\345\256\232\347\225\214\345\255\220\346\225\260\347\273\204\347\232\204\346\225\260\347\233\256.md" @@ -0,0 +1,71 @@ +--- +layout: post +category: leetcode +title: 6207. 统计定界子数组的数目 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/count-subarrays-with-fixed-bounds/) + +给你一个整数数组 `nums` 和两个整数 `minK` 以及 `maxK` 。 + +`nums` 的定界子数组是满足下述条件的一个子数组: + +- 子数组中的 **最小值** 等于 `minK` 。 +- 子数组中的 **最大值** 等于 `maxK` 。 + +返回定界子数组的数目。 + +子数组是数组中的一个连续部分。 + + + +**示例 1:** + +``` +输入:nums = [1,3,5,2,7,5], minK = 1, maxK = 5 +输出:2 +解释:定界子数组是 [1,3,5] 和 [1,3,5,2] 。 +``` + +**示例 2:** + +``` +输入:nums = [1,1,1,1], minK = 1, maxK = 1 +输出:10 +解释:nums 的每个子数组都是一个定界子数组。共有 10 个子数组。 +``` + + + +**提示:** + +- `2 <= nums.length <= 105` +- `1 <= nums[i], minK, maxK <= 106` + +## solution + +双指针 + +```python +class Solution: + def countSubarrays(self, nums: List[int], minK: int, maxK: int) -> int: + left = -1 + minI, maxI = -1, -1 + ans = 0 + for i, v in enumerate(nums): + if v < minK or v > maxK: + # 清空窗口 + left = i + minI = maxI = -1 + continue + if v == minK: + minI = i + if v == maxK: + maxI = i + if maxI != -1 and minI != -1: + ans += min(minI, maxI) - left + return ans +``` + diff --git "a/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" "b/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" new file mode 100644 index 0000000000..487c34c65e --- /dev/null +++ "b/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" @@ -0,0 +1,28 @@ +--- +layout: post +category: Algorithms +title: 双指针 +tags: Algorithms +--- + +## 双指针 + + + +1. 统计子数组数目,枚举右边界,左边界视情况而定。比如求子数组数目,要求子数组包含两个值,那枚举i,j就等于有两个值的最后最小坐标,每次结果可加i-j+1, 实例题目 [6207. 统计定界子数组的数目](https://leetcode.cn/problems/count-subarrays-with-fixed-bounds/) [题解](https://leetcode.cn/problems/count-subarrays-with-fixed-bounds/solution/hua-dong-chuang-by-yi-wei-8-c7h7/) + +2. [3Sum](https://leetcode-cn.com/problems/3sum/) 排序+双指针 + +3. [Longest Repeating Character Replacement](https://leetcode-cn.com/problems/longest-repeating-character-replacement/) 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。 + + 解答: **双指针。这个双指针属于left每次只移动一次,记得看下。** + +4. [Container With Most Water](https://leetcode-cn.com/problems/container-with-most-water/) 多个柱子,挑两个柱子,统计最多能接多少水,双指针,不断缩小两边矮的那个 +5. [1438. 绝对差不超过限制的最长连续子数组](https://leetcode-cn.com/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/) 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 维护max, min的队列,同时双指针,不断移动左指针。 + +## 应用 + +- [6207. 统计定界子数组的数目](https://leetcode.cn/problems/count-subarrays-with-fixed-bounds/) [题解](https://leetcode.cn/problems/count-subarrays-with-fixed-bounds/solution/hua-dong-chuang-by-yi-wei-8-c7h7/) + + + From 2bf1e93ec32f751c410614c1b2631416397ec794 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 16 Oct 2022 17:27:38 +0800 Subject: [PATCH 087/318] add logbook --- ...018-02-01-java\346\263\233\345\236\213.md" | 128 +++++++++++++++++- 1 file changed, 121 insertions(+), 7 deletions(-) diff --git "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" index e6cce34afc..cf4d44df76 100644 --- "a/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" +++ "b/_posts/Tech/java/2018-02-01-java\346\263\233\345\236\213.md" @@ -5,10 +5,32 @@ title: java泛型 tags: Java --- + + +## 泛型 + Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 -其实就是一种编译检查的工具,类似某些注解一样。 +其实就是一种编译检查的工具,类似某些注解一样, 如Override。 + + + +为什么说编译检查,例子 + +```java +class A { + public E f(E a) { + return a; + } +} + +public class Main { + public static void main(String[] args) { + System.out.println(new A().f(123)); // compile error + } +} +``` ## 泛型的使用 @@ -99,11 +121,31 @@ The type Listis assignable to List. 是无界通配符。 + + + + +注意不能能对`List`的List进行Add. 会报错。 对于这个问题我们不妨从编译器的角度去考虑。`List` 可能有多种含义,比如是`ArrayList` 编译器无法识别所以会报错。 所以对于实现了``的集合类只能将它视为`Producer`向外提供(`get`)元素,而不能作为`Consumer`来对外获取(`add`)元素。 + +```java +class Fruit { +} +class Apple extends Fruit { +} +List flist = new ArrayList(); +flist.add(new Fruit()); // compile error: capture of ? extends Fruit +``` + + + #### PECS 原则 -“Producer Extends” – 如果你需要一个只读 List,用它来 produce T,那么使用? extends +规律 + +- “Producer Extends” – 如果你需要一个只读 List,用它来 produce T,那么使用? extends 。 如果写会编译错误 -“Consumer Super” – 如果你需要一个只写 List,用它来 consume T,那么使用? super +- “Consumer Super” – 如果你需要一个只写 List,用它来 consume T,那么使用? super 。只允许写T,可读。 +- 如果需要同时读取以及写入,那么我们就不能使用通配符了。 如果阅读过一些 Java 集合类的源码,可以发现通常我们会将两者结合起来一起用,比如像下面这样: @@ -118,6 +160,16 @@ public class Collections { 记法: 子类赋值给父类。 + + +泛型限定符有一描述:上界不存下界不取。 + +上界不存的原因:例如 List,编译器只知道容器内是 Father 及其子类,具体是什么类型并不知道,编译器在看到 extends 后面的 Father 类,只是标上一个 `CAP#1` 作为占位符,无论往里面插什么,编译器都不知道能不能和 `CAP#1` 匹配,所以就不允许插入。 + +extends的作用:可以在初始化的时候存入一个值,并且能保证数据的稳定性,只能取不能存。读取出来的数据可以存在父类或者基类里。 + +下界不取的原因:下界限定了元素的最小粒度,实际上是放松了容器元素的类型控制。例如 List, 元素是 Father 的基类,可以存入 Father 及其子类。但编译器并不知道哪个是 Father 的超类,如 Human。读取的时候,自然不知道是什么类型,只能返回 Object,这样元素信息就全部丢失了。 + ### List > [参考](https://stackoverflow.com/questions/1844770/what-does-list-mean-in-java-generics) @@ -148,7 +200,69 @@ The type Listis assignable to List. ## 类型擦除 -Java 的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。到了运行时,是看不到泛型的。 +Java 的泛型机制是在编译级别实现的。编译器生成的字节码在运行期间并不包含泛型的类型信息。到了运行时,是看不到泛型的。Java的设计者在JDK 1.5时才引入了泛型,但为了照顾以前设计上的缺陷,同时兼容非泛型的代码,不得不做出了一个折中的策略:编译时对泛型要求严格,运行时却把泛型擦除了——要兼容以前的版本,还要升级扩展新的功能,真的很不容易! + +泛型擦除到底是什么意思呢?我们先来看一下下面这个简单的例子: + +```java +public class Node { + private T data; + private Node next; + public Node(T data, Node next) { + this.data = data; + this.next = next; + } + public T getData() { return data; } + // ... +} +``` + +编译器做完相应的类型检查之后,实际上到了运行期间上面这段代码实际上将转换成: + +```java +public class Node { + private Object data; + private Node next; + public Node(Object data, Node next) { + this.data = data; + this.next = next; + } + public Object getData() { return data; } + // ... +} +``` + +这意味着不管我们声明`Node`还是`Node`,到了运行期间,`JVM`统统视为`Node`。有没有什么办法可以解决这个问题呢?这就需要我们自己重新设置`bounds`了,将上面的代码修改成下面这样: + +```java +public class Node> { + private T data; + private Node next; + public Node(T data, Node next) { + this.data = data; + this.next = next; + } + public T getData() { return data; } + // ... +} +``` + +这样编译器就会将`T`出现的地方替换成`Comparable`而不再是默认的`Object`了: + +```java +public class Node { + private Comparable data; + private Node next; + public Node(Comparable data, Node next) { + this.data = data; + this.next = next; + } + public Comparable getData() { return data; } + // ... +} +``` + + 因此可能会带来一些问题,比如如下代码运行到最后一行时会产生异常 ClassCastException @@ -210,7 +324,7 @@ o=new GenericMethod[10];//error o=(GenericMethod[]) new GenericMethod[10]; ``` -不可以创建的原因是:因为类型擦除的原因无法在为元素赋值时类型检查,因此 jdk 强制不允许。 +不可以创建的原因是:因为类型擦除的原因无法在为元素赋值时类型检查,因此 jdk 强制不允许。java对数组是有类型检查的,不论是写还是读。 ### 不能实例化泛型对象 @@ -234,7 +348,7 @@ append(ls, String.class); ``` -### 不能在泛型类的静态域中使用泛型类型 +### 不能在泛型类的静态域中使用类泛型类型 ```java public class Singleton{ @@ -256,7 +370,7 @@ public static void print(T t){} //ok 1. 泛型类中,``称为类型变量,实际上就相当于在类中隐形的定义了一个不可见的成员变量:`private T t;`,这是对象级别的,对于泛型类型变量来说是在对象初始化时才知道其具体类型的。而在静态域中,不需要对象初始化就可以调用,这是矛盾的。 2. 静态的泛型方法,是在方法层面定义的,就是说在调用方法时,T 所指的具体类型已经明确了。 -### 继承泛型类时自动重写 +### 继承泛型类时自动重写override 对于泛型代码,Java 编译器实际上还会偷偷帮我们实现一个 Bridge method。 From ec68f186a71dc6292ce15a1b6c4c2822332f24d1 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 17 Oct 2022 21:45:36 +0800 Subject: [PATCH 088/318] add logbook --- ...47\345\210\240\351\231\244\346\225\260.md" | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git "a/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" "b/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" index 2be0bf9e04..c3ee467c5d 100644 --- "a/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" +++ "b/_posts/Algorithms/leetcode/2022-10-09-2430. \345\257\271\345\255\227\346\257\215\344\270\262\345\217\257\346\211\247\350\241\214\347\232\204\346\234\200\345\244\247\345\210\240\351\231\244\346\225\260.md" @@ -82,3 +82,50 @@ class Solution: return f[0] ``` +hash string也会超时 + + + +```python +class StringHash: + def __init__(self, s=""): + self.MOD = 998244353 + self.BASE = 131 + # 计算前缀哈希值 + n = len(s) + P = [0] * (n + 1) + P[0] = 1 + for i in range(1, n + 1, 1): + P[i] = P[i - 1] * self.BASE % self.MOD + H = [0] * (n + 1) + for i in range(1, n + 1, 1): + H[i] = (H[i - 1] * self.BASE + ord(s[i - 1])) % self.MOD + self.H = H + self.P = P + + ''' + s的[l,r]区间的hash值,闭区间, l从1开始 + ''' + + def get_hash(self, l=0, r=0): + l, r = l + 1, r + 1 + return (self.H[r] - self.H[l - 1] * self.P[r - l + 1] % self.MOD + self.MOD) % self.MOD + + +class Solution: + def deleteString(self, s: str) -> int: + n = len(s) + dp = [1] * n + hash = StringHash(s) + for i in range(n - 1, -1, -1): + for j in range(i + 1, n): + if (j - i + 1) % 2 == 0: + mid = (i + j) // 2 + if hash.get_hash(i, mid) == hash.get_hash(mid+1, j): + # print(i, j, mid) + dp[i] = max(dp[i], dp[mid+1]+1) + # print(dp[i]) + # print(dp) + return dp[0] +``` + From d6796cc86e0a2dd4e63d9c6548ef742803e9d02b Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 17 Oct 2022 22:00:17 +0800 Subject: [PATCH 089/318] add logbook --- .../python/2018-05-19-python\347\254\224\350\256\260.md" | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" index 068cf17819..d6240aeaf0 100644 --- "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" +++ "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" @@ -493,11 +493,9 @@ with codecs.open('/Users/michael/gbk.txt', 'r', 'gbk') as f: 因为a//b是向下取整,这块在求%的时候也有问题,因为求模是r=a-n*[a//n] -## global和nonlocal - -https://blog.csdn.net/xCyansun/article/details/79672634?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.pc_relevant_is_cache&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.pc_relevant_is_cache - +### global和nonlocal +https://www.programiz.com/python-programming/global-local-nonlocal-variables 全局变量update需要global From 773df01a027f902997ffead87b8097b3d81dff93 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 18 Oct 2022 22:21:19 +0800 Subject: [PATCH 090/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS.md | 4 +- ...46\344\271\240\347\254\224\350\256\260.md" | 462 ++++++++++++------ 2 files changed, 312 insertions(+), 154 deletions(-) diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md index a54513cae9..6e8895940d 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -1,7 +1,7 @@ --- layout: post -category: Tech -title: AWS +category: AWS +title: AWS Overall tags: AWS --- diff --git "a/_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" index 444bdd34eb..dd3b5314e4 100644 --- "a/_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" +++ "b/_posts/Tech/FrontEnd/2017-12-03-javascript\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -7,9 +7,9 @@ tags: FrontEnd # 语法 -## js用法 +## 页面如何添加js -外部脚本, 可以插入任何位置 +外部脚本, 可以插入任何位置。 需要js后缀 ```javascript @@ -25,7 +25,79 @@ alert("我的第一个 JavaScript"); 脚本可被放置在 HTML 页面的 body和head部分中。 -## JavaScript 输出 +内联,在html里。 + +```scala + +``` + + + +## Js调用策略 + +调用顺序:HTML 元素是按其在页面中出现的次序调用的,如果用 JavaScript 来管理页面上的元素(更精确的说法是使用 [文档对象模型](https://developer.mozilla.org/zh-CN/docs/Web/API/Document_Object_Model) DOM),若 JavaScript 加载于欲操作的 HTML 元素之前,则代码将出错。 + +JavaScript 调用于文档头处,解析 HTML 文档体之前。这样做是有隐患的,需要使用一些结构来避免错误发生。 + + + +“内部”示例使用了以下结构: + +```js +document.addEventListener("DOMContentLoaded", function() { + . . . +}); +``` + +这是一个事件监听器,它监听浏览器的 "`DOMContentLoaded`" 事件,即 HTML 文档体加载、解释完毕事件。事件触发时将调用 " `. . .`" 处的代码,从而避免了错误发生([事件](https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Building_blocks/Events) 的概念稍后学习)。 + +“外部”示例中使用了 JavaScript 的一项现代技术(`async` “异步”属性)来解决这一问题,它告知浏览器在遇到 ` +``` + +上述情况下,脚本和 HTML 将一并加载,代码将顺利运行。 + +**备注:** “外部”示例中 `async` 属性可以解决调用顺序问题,因此无需使用 `DOMContentLoaded` 事件。而 `async` 只能用于外部脚本,因此不适用于“内部”示例。 + + + +另外用了async后 多个js顺序就保证不了了,需要用defer + +解决这一问题可使用 `defer` 属性,脚本将按照在页面中出现的顺序加载和运行: + +```js + + + + + +``` + + + +脚本调用策略小结: + +- 如果脚本无需等待页面解析,且无依赖独立运行,那么应使用 `async`。 +- 如果脚本需要等待页面解析,且依赖于其它脚本,调用这些脚本时应使用 `defer`,将关联的脚本按所需顺序置于 HTML 中。 + + + +## 注释 + +``` +// 我是一条注释 +``` + +``` +/* + 我也是 + 一条注释 +*/ +``` + +## JavaScript 输入输出 JavaScript 没有任何打印或者输出的函数。 @@ -39,6 +111,15 @@ document.write是直接写入到页面的内容流,如果在写之前没有调 使用 innerHTML 写入到 HTML 元素。 使用 console.log() 写入到浏览器的控制台。 +输入可以prompt + +```js +function updateName() { + let name = prompt('输入一个新的名字:'); + para.textContent = '玩家 1:' + name; +} +``` + ## 操作 HTML 元素 如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。 @@ -59,14 +140,27 @@ document.getElementById("p2").style.color="blue"; ``` -## 变量 +## 数据类型 + +### 变量和基础数据类型 字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。 + + +变量声明 + +let和var区别。 + +- var会变量提升,都是global, let不会 +- 其次,当你使用 `var` 时,可以根据需要多次声明相同名称的变量,但是 `let` 不能。 + ```javascript -//声明变量 -var a; -var name="Gates", age=56, job="CEO"; +// 声明一个变量的语法是在 var 或 let 关键字之后加上这个变量的名字: + +let myName; +let myAge; + //JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型: //声明变量时可以确定其类型,如 @@ -77,7 +171,24 @@ var cars= new Array; var person= new Object; ``` -## 数组 + + +变量初始化 + +一旦你定义了一个变量,你就能够初始化它。方法如下,在变量名之后跟上一个“=”,然后是数值: + +```scala +myName = 'Chris'; +myAge = 37; + +// 你可以像这样在声明变量的时候给变量初始化: + +let myName = 'Chris'; +``` + + + +### 数组 开头为0 @@ -90,9 +201,197 @@ cars[2]="Volvo"; var cars=new Array("Audi","BMW","Volvo"); // 或者 var cars=["Audi","BMW","Volvo"]; + +let sequence = [1, 1, 2, 3, 5, 8, 13]; +for (let i = 0; i < sequence.length; i++) { + console.log(sequence[i]); +} +sequence.length; +myArray.push('Cardiff'); +let removedItem = myArray.pop(); +``` + +### 对象 + +见面向对象 + +### Undefined 和 Null + +Undefined 这个值表示变量不含有值。 + +可以通过将变量的值设置为 null 来清空变量。 + +### 动态类型 + +JavaScript 是一种“动态类型语言”,这意味着不同于其他一些语言 (译者注:如 C、JAVA),您不需要指定变量将包含什么数据类型(例如 number 或 string) + +例如,如果你声明一个变量并给它一个带引号的值,浏览器就会知道它是一个字符串: + +``` +let myString = 'Hello'; ``` -## 对象 +## 运算符 + +### typeof 操作符 + +你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。 +请注意: + + NaN 的数据类型是 number + 数组(Array)的数据类型是 object + 日期(Date)的数据类型为 object + null 的数据类型是 object + 未定义变量的数据类型为 undefined + +实例 + +```javascript +typeof "John" // 返回 string +typeof 3.14 // 返回 number +typeof NaN // 返回 number +typeof false // 返回 boolean +typeof [1,2,3,4] // 返回 object +typeof {name:'John', age:34} // 返回 object +typeof new Date() // 返回 object +typeof function () {} // 返回 function +typeof myCar // 返回 undefined (如果 myCar 没有声明) +typeof null // 返回 object +``` + +### constructor 属性 + +constructor 属性返回所有 JavaScript 变量的构造函数。 + +实例 + +```javascript +"John".constructor // 返回函数 String() { [native code] } +(3.14).constructor // 返回函数 Number() { [native code] } +false.constructor // 返回函数 Boolean() { [native code] } +[1,2,3,4].constructor // 返回函数 Array() { [native code] } +{name:'John', age:34}.constructor // 返回函数 Object() { [native code] } +new Date().constructor // 返回函数 Date() { [native code] } +function () {}.constructor // 返回函数 Function(){ [native code] } + +function isArray(myArray) { + return myArray.constructor.toString().indexOf("Array") > -1; +} + +function isDate(myDate) { + return myDate.constructor.toString().indexOf("Date") > -1; +} +``` + +### 比较 + +| 运算符 | 名称 | 作用 | 示例 | +| :----- | :--------- | :----------------------- | :------------ | +| `===` | 严格等于 | 测试左右值是否相同 | `5 === 2 + 4` | +| `!==` | 严格不等于 | 测试左右值是否**不**相同 | `5 !== 2 + 3` | + +### 逻辑运算符 + +- `&&` — 逻辑与; 使得并列两个或者更多的表达式成为可能,只有当这些表达式每一个都返回`true`时,整个表达式才会返回`true.` +- `||` — 逻辑或; 当两个或者更多表达式当中的任何一个返回 `true` 则整个表达式将会返回 `true`. +- ! — 逻辑非; 对一个布尔值取反,非 true 返回 false,非 false 返回 true. + +## 类型转换 + +### 将数字转换为字符串 + +```javascript +全局方法 String() 可以将数字转换为字符串。 + +String(x) // 将变量 x 转换为字符串并返回 +String(123) // 将数字 123 转换为字符串并返回 +String(100 + 23) // 将数字表达式转换为字符串并返回 + +Number 方法 toString() 也是有同样的效果。 + +实例 +x.toString() +(123).toString() +(100 + 23).toString() + +``` + +### 将布尔值转换为字符串 + +```javascript +全局方法 String() 可以将布尔值转换为字符串。 + +String(false) // 返回 "false" +String(true) // 返回 "true" +Boolean 方法 toString() 也有相同的效果。 + +false.toString() // 返回 "false" +true.toString() // 返回 "true" +``` + +### 将日期转换为字符串 + +```javascript +Date() 返回字符串。 + +Date() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) +全局方法 String() 可以将日期对象转换为字符串。 + +String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) +Date 方法 toString() 也有相同的效果。 + +实例 +obj = new Date() +obj.toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) +``` + +### 将字符串转换为数字 + +```javascript +全局方法 Number() 可以将字符串转换为数字。 + +字符串包含数字(如 "3.14") 转换为数字 (如 3.14). + +空字符串转换为 0。 + +其他的字符串会转换为 NaN (不是个数字)。 + +Number("3.14") // 返回 3.14 +Number(" ") // 返回 0 +Number("") // 返回 0 +Number("99 88") // 返回 NaN + +一元运算符 + +Operator + 可用于将变量转换为数字: +``` + +### 将布尔值转换为数字 + +```javascript +全局方法 Number() 可将布尔值转换为数字。 + +Number(false) // 返回 0 +Number(true) // 返回 1 +``` + +### 将日期转换为数字 + +```javascript +全局方法 Number() 可将日期转换为数字。 + +d = new Date(); +Number(d) // 返回 1404568027739 +日期方法 getTime() 也有相同的效果。 + +d = new Date(); +d.getTime() // 返回 1404568027739 +``` + + + +## 面向对象 + +### 对象 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔 @@ -156,11 +455,7 @@ document.getElementById("demo").innerHTML = person.fullName(); name = person.fullName(); ``` -## Undefined 和 Null -Undefined 这个值表示变量不含有值。 - -可以通过将变量的值设置为 null 来清空变量。 ## 函数 @@ -196,6 +491,8 @@ const Test = param => { console.log(Test('hello')); // hello ``` + + ## if和循环 ### if else @@ -270,146 +567,7 @@ while (i<5); //break; continue; ``` -## 类型转化 - -### typeof 操作符 - -你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。 -请注意: - - NaN 的数据类型是 number - 数组(Array)的数据类型是 object - 日期(Date)的数据类型为 object - null 的数据类型是 object - 未定义变量的数据类型为 undefined - -实例 - -```javascript -typeof "John" // 返回 string -typeof 3.14 // 返回 number -typeof NaN // 返回 number -typeof false // 返回 boolean -typeof [1,2,3,4] // 返回 object -typeof {name:'John', age:34} // 返回 object -typeof new Date() // 返回 object -typeof function () {} // 返回 function -typeof myCar // 返回 undefined (如果 myCar 没有声明) -typeof null // 返回 object -``` - -### constructor 属性 - -constructor 属性返回所有 JavaScript 变量的构造函数。 - -实例 - -```javascript -"John".constructor // 返回函数 String() { [native code] } -(3.14).constructor // 返回函数 Number() { [native code] } -false.constructor // 返回函数 Boolean() { [native code] } -[1,2,3,4].constructor // 返回函数 Array() { [native code] } -{name:'John', age:34}.constructor // 返回函数 Object() { [native code] } -new Date().constructor // 返回函数 Date() { [native code] } -function () {}.constructor // 返回函数 Function(){ [native code] } - -function isArray(myArray) { - return myArray.constructor.toString().indexOf("Array") > -1; -} - -function isDate(myDate) { - return myDate.constructor.toString().indexOf("Date") > -1; -} -``` - -### 将数字转换为字符串 - -```javascript -全局方法 String() 可以将数字转换为字符串。 - -String(x) // 将变量 x 转换为字符串并返回 -String(123) // 将数字 123 转换为字符串并返回 -String(100 + 23) // 将数字表达式转换为字符串并返回 - -Number 方法 toString() 也是有同样的效果。 - -实例 -x.toString() -(123).toString() -(100 + 23).toString() - -``` - -### 将布尔值转换为字符串 - -```javascript -全局方法 String() 可以将布尔值转换为字符串。 - -String(false) // 返回 "false" -String(true) // 返回 "true" -Boolean 方法 toString() 也有相同的效果。 - -false.toString() // 返回 "false" -true.toString() // 返回 "true" -``` - -### 将日期转换为字符串 - -```javascript -Date() 返回字符串。 - -Date() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) -全局方法 String() 可以将日期对象转换为字符串。 - -String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) -Date 方法 toString() 也有相同的效果。 - -实例 -obj = new Date() -obj.toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) -``` - -### 将字符串转换为数字 - -```javascript -全局方法 Number() 可以将字符串转换为数字。 - -字符串包含数字(如 "3.14") 转换为数字 (如 3.14). - -空字符串转换为 0。 - -其他的字符串会转换为 NaN (不是个数字)。 - -Number("3.14") // 返回 3.14 -Number(" ") // 返回 0 -Number("") // 返回 0 -Number("99 88") // 返回 NaN - -一元运算符 + -Operator + 可用于将变量转换为数字: -``` - -### 将布尔值转换为数字 - -```javascript -全局方法 Number() 可将布尔值转换为数字。 - -Number(false) // 返回 0 -Number(true) // 返回 1 -``` -### 将日期转换为数字 - -```javascript -全局方法 Number() 可将日期转换为数字。 - -d = new Date(); -Number(d) // 返回 1404568027739 -日期方法 getTime() 也有相同的效果。 - -d = new Date(); -d.getTime() // 返回 1404568027739 -``` ## try catch From ee393c52f4c27be26f25aa537bd06d17f6ef7b95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Oct 2022 16:43:07 +0000 Subject: [PATCH 091/318] Bump nokogiri from 1.12.5 to 1.13.9 Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.5 to 1.13.9. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.5...v1.13.9) --- updated-dependencies: - dependency-name: nokogiri dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7650455f87..5d51d3f26f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -211,9 +211,9 @@ GEM jekyll-seo-tag (~> 2.1) minitest (5.14.4) multipart-post (2.1.1) - nokogiri (1.12.5-x86_64-darwin) + nokogiri (1.13.9-x86_64-darwin) racc (~> 1.4) - nokogiri (1.12.5-x86_64-linux) + nokogiri (1.13.9-x86_64-linux) racc (~> 1.4) octokit (4.20.0) faraday (>= 0.9) @@ -221,7 +221,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.6) - racc (1.5.2) + racc (1.6.0) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) From c8557e43471fcba0a6b77ce6b53f64567d7ffdf0 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 21 Oct 2022 21:57:55 +0800 Subject: [PATCH 092/318] add logbook --- _posts/Tech/java/2018-10-14-Java 8 Lambda.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/_posts/Tech/java/2018-10-14-Java 8 Lambda.md b/_posts/Tech/java/2018-10-14-Java 8 Lambda.md index 903e904b9b..58a858a386 100644 --- a/_posts/Tech/java/2018-10-14-Java 8 Lambda.md +++ b/_posts/Tech/java/2018-10-14-Java 8 Lambda.md @@ -167,11 +167,28 @@ filter也是我们经常使用的一个操作。在操作集合的时候,经 ## 函数式接口 - 有且只有一个抽象方法(可以包含default或static方法,但Object类除外)的接口是函数式接口。@FunctionlInterface就是用来指定某个接口必须是函数式接口。@FunctionalInterface不是必须的,只是告诉编译器检查这个接口,保证该接口只能包含一个抽象方法,否则就会编译出错。@FunctionalInterface主要是帮助程序员避免一些低级错误,比如多个抽象方法。 +如定义了一个函数式接口如下: + +``` +@FunctionalInterface +interface GreetingService +{ + void sayMessage(String message); +} +``` + +那么就可以使用Lambda表达式来表示该接口的一个实现(注:JAVA 8 之前一般是用匿名类实现的): + +``` +GreetingService greetService1 = message -> System.out.println("Hello " + message); +``` + + + 例子 ![image.png](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202207282325504.png) From ae42a9543c67095232dc5e02d3bd93eac6a40e54 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 21 Oct 2022 21:59:58 +0800 Subject: [PATCH 093/318] add logbook --- pages/bookmark.md | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/pages/bookmark.md b/pages/bookmark.md index 832a024a04..d365c70f5e 100644 --- a/pages/bookmark.md +++ b/pages/bookmark.md @@ -9,11 +9,13 @@ permalink: /bookmark/ ## 常用网站 ### 搜索引擎 + - [Bing](https://www.bing.com/?intlF=) - [Baidu](https://www.baidu.com) - [Google](https://www.google.com/ncr) ### 编程学习 + - [PAT](https://www.patest.cn/) - [菜鸟编程](http://www.runoob.com/) - [慕课网](http://www.imooc.com/) @@ -25,26 +27,32 @@ permalink: /bookmark/ - [上乘网站知乎链接](https://www.zhihu.com/question/22525413) ### 英语学习 -- [Google翻译](https://translate.google.cn/) + +- [Google 翻译](https://translate.google.cn/) - [可可英语](http://www.kekenet.com/) - [有道在线词典](http://dict.youdao.com/) ### 邮箱链接 -- [163邮箱](http://mail.163.com/#return) -- [126邮箱](http://mail.126.com/) -- [CSU邮箱](http://mail.csu.edu.cn/) + +- [163 邮箱](http://mail.163.com/#return) +- [126 邮箱](http://mail.126.com/) +- [CSU 邮箱](http://mail.csu.edu.cn/) ### 其他 + - [电影天堂](http://www.dytt8.net/) - [中南大学图书馆](http://122.207.86.18/) - [乔布简历模板](http://cv.qiaobutang.com/tpl/?order=relevance&keyword=%E7%A8%8B%E5%BA%8F%E5%91%98) - [高清壁纸](https://pixabay.com) +- [高清壁纸 2](https://wallhaven.cc/toplist?page=5) ### 工具 -- [html转markdown](https://euangoddard.github.io/clipboard2markdown/) 鼠标选择html的文字,然后copy到网页里复制就行 -- [rgb颜色表](http://www.wahart.com.hk/rgb.htm) rgb颜色表 + +- [html 转 markdown](https://euangoddard.github.io/clipboard2markdown/) 鼠标选择 html 的文字,然后 copy 到网页里复制就行 +- [rgb 颜色表](http://www.wahart.com.hk/rgb.htm) rgb 颜色表 ## 面试八股文 + - [秋招笔记](https://github.com/CyC2018/Interview-Notebook) - 准备秋招学习笔记: 算法,操作系统,网路,面向对象,数据库,Java,分布式,工具 - [LeetCode](https://books.halfrost.com/) - [力扣加加](https://leetcode-solution-leetcode-pp.gitbook.io/leetcode-solution/) @@ -52,12 +60,13 @@ permalink: /bookmark/ - [小刀面试笔记](https://wdxtub.com/interview/index.html) 包含面向对象 - [算法通关手册](https://algo.itcharge.cn/07.Tree/03.Segment-Tree/01.Segment-Tree/) - [为什么这么设计](https://draveness.me/whys-the-design/) - 为什么这么设计系列文章 -- [Go语言设计与实现](https://draveness.me/golang/) - Go语言设计与实现 -- [Java全栈知识](https://pdai.tech/md/outline/x-outline.html) +- [Go 语言设计与实现](https://draveness.me/golang/) - Go 语言设计与实现 +- [Java 全栈知识](https://pdai.tech/md/outline/x-outline.html) - [Spring](https://potoyang.gitbook.io/spring-in-action-v4/1/1.3-fu-kan-spring-feng-jing-xian/1.3.1spring-mo-kuai) -- [代码重工java&spring入门](https://www.wolai.com/nnRjHcUSv2mrRbFKZUpBMS) [这个也是,有maven等,都需要看](https://heavy_code_industry.gitee.io/code_heavy_industry/) +- [代码重工 java&spring 入门](https://www.wolai.com/nnRjHcUSv2mrRbFKZUpBMS) [这个也是,有 maven 等,都需要看](https://heavy_code_industry.gitee.io/code_heavy_industry/) ## 软件使用 + ### win10 - 控制台: cmder @@ -75,7 +84,7 @@ permalink: /bookmark/ - Sequel Pro - HyperSwitch - Spectacle -- popclip 选择文字后上面可显示快捷键。 [破解版下载网址](https://xclient.info/s/popclip.html#versions), 还可以安装插件,比如欧陆词典Eudic, 下载后双击即可,[插件下载网址](https://pilotmoon.com/popclip/extensions/) +- popclip 选择文字后上面可显示快捷键。 [破解版下载网址](https://xclient.info/s/popclip.html#versions), 还可以安装插件,比如欧陆词典 Eudic, 下载后双击即可,[插件下载网址](https://pilotmoon.com/popclip/extensions/) - betterTouchTool, 免费触控板手势软件。 ### android @@ -104,12 +113,9 @@ permalink: /bookmark/ - onenote - keep - 滴滴出行 -- 场库 -- 开眼 -- Ted ## 书签 ### 理念 -- [到底什么是技术](https://mp.weixin.qq.com/s/h8iZcL1FOabjWis4_vQVQQ) - 到底什么是技术 +- [到底什么是技术](https://mp.weixin.qq.com/s/h8iZcL1FOabjWis4_vQVQQ) - 到底什么是技术 From 6fe25ef7fdf552a96d80cdcdec1b24ec49896357 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 23 Oct 2022 12:15:08 +0800 Subject: [PATCH 094/318] add logbook --- .../2022-05-01-\346\225\260\345\255\246.md" | 82 +++++++------------ 1 file changed, 31 insertions(+), 51 deletions(-) diff --git "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" index 8acec29f39..ac52cec8ee 100644 --- "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" +++ "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" @@ -5,8 +5,6 @@ title: 数学 tags: Algorithms --- - - ## 排列组合 > [参考](https://baike.baidu.com/item/%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88/706498) @@ -19,13 +17,9 @@ tags: Algorithms ![image-20211002195906842](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20211002195912.png) - - ![image-20220904145610986](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209041456830.png) -另外C(0,0) = 1, 0的为1。 - - +另外 C(0,0) = 1, 0 的为 1。 组合数性质 @@ -48,8 +42,6 @@ tags: Algorithms ``` - - 组合数求和公式 ![image-20220904150115865](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202209041501896.png) @@ -62,14 +54,10 @@ tags: Algorithms image-20210801124109093 - - ## 复杂的复杂度计算 ### 幂函数和对数函数和指数函数对比 - - ![image-20220223194514512](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv3/v3/20220223194514.png) ### 调和级数 @@ -88,11 +76,13 @@ tags: Algorithms 在一步操作中,你可以使数组中的一个元素加 `1` 或者减 `1` ,所有数都靠近**中位数**可使所有数组元素相等时移动数最少。 相关题目: [最少移动次数使数组元素相等 II](https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii/) +即中位数到所有数距离和最小,证明: +![image-20221023121438346](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210231214395.png) ## 素数 -### 判断是否素数o(sqrt(N)) +### 判断是否素数 o(sqrt(N)) ```python # 判断某数是否是素数 o(sqrt(n)) @@ -106,7 +96,7 @@ def is_prime(a): ``` -### 求1-n的所有素数 筛法o(N) +### 求 1-n 的所有素数 筛法 o(N) #### 埃氏筛法 @@ -126,7 +116,7 @@ def get_all_prime(n): return res ``` -#### **线性筛法** 也称为 **Euler 筛法**(欧拉筛法) +#### **线性筛法** 也称为 **Euler 筛法**(欧拉筛法) 埃氏筛法仍有优化空间,它会将一个合数重复多次标记。有没有什么办法省掉无意义的步骤呢?答案是肯定的。 @@ -148,7 +138,7 @@ def get_all_prime(n): ## 平方数 -[先看Cyc2018](http://www.cyc2018.xyz/%E7%AE%97%E6%B3%95/Leetcode%20%E9%A2%98%E8%A7%A3/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E6%95%B0%E5%AD%A6.html#_1-%E5%B9%B3%E6%96%B9%E6%95%B0) +[先看 Cyc2018](http://www.cyc2018.xyz/%E7%AE%97%E6%B3%95/Leetcode%20%E9%A2%98%E8%A7%A3/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E6%95%B0%E5%AD%A6.html#_1-%E5%B9%B3%E6%96%B9%E6%95%B0) ### 生成所有平方数 @@ -158,8 +148,6 @@ def get_all_prime(n): 间隔为等差数列,使用这个特性可以得到从 1 开始的平方序列。 - - ### 3 的 n 次方 [Power of Three (Easy)](https://leetcode-cn.com/problems/power-of-three/description/) @@ -174,13 +162,13 @@ public boolean isPowerOfThree(int n) { ### 素数分解 -每一个数都可以分解成素数的乘积,例如 84 = 22 * 31 * 50 * 71 * 110 * 130 * 170 * … +每一个数都可以分解成素数的乘积,例如 84 = 22 _ 31 _ 50 _ 71 _ 110 _ 130 _ 170 \* … ### 整除 -令 x = 2m0 * 3m1 * 5m2 * 7m3 * 11m4 * … +令 x = 2m0 _ 3m1 _ 5m2 _ 7m3 _ 11m4 \* … -令 y = 2n0 * 3n1 * 5n2 * 7n3 * 11n4 * … +令 y = 2n0 _ 3n1 _ 5n2 _ 7n3 _ 11n4 \* … 如果 x 整除 y(y mod x == 0),则对于所有 i,mi <= ni。 @@ -188,26 +176,26 @@ public boolean isPowerOfThree(int n) { 每个质因数的乘积 -x 和 y 的最大公约数为:gcd(x,y) = 2min(m0,n0) * 3min(m1,n1) * 5min(m2,n2) * ... +x 和 y 的最大公约数为:gcd(x,y) = 2min(m0,n0) _ 3min(m1,n1) _ 5min(m2,n2) \* ... -x 和 y 的最小公倍数为:lcm(x,y) = 2max(m0,n0) * 3max(m1,n1) * 5max(m2,n2) * ... +x 和 y 的最小公倍数为:lcm(x,y) = 2max(m0,n0) _ 3max(m1,n1) _ 5max(m2,n2) \* ... ### 约数个数和约数之和 -如果 N = p1^c1 * p2^c2 * ... *pk^ck -约数个数: (c1 + 1) * (c2 + 1) * ... * (ck + 1) -约数之和: (p1^0 + p1^1 + ... + p1^c1) * ... * (pk^0 + pk^1 + ... + pk^ck) +如果 N = p1^c1 _ p2^c2 _ ... _pk^ck +约数个数: (c1 + 1) _ (c2 + 1) _ ... _ (ck + 1) +约数之和: (p1^0 + p1^1 + ... + p1^c1) _ ... _ (pk^0 + pk^1 + ... + pk^ck) ## 因数相关问题 -### 试除法求所有约数: +### 试除法求所有约数: #### 求一个数的因子列表 o(sqrt(n)) -o(sqrt(n)) +o(sqrt(n)) ```python -divisors = [] +divisors = [] d = 1 while d * d <= k: # 预处理 k 的所有因子 if k % d == 0: @@ -217,7 +205,7 @@ while d * d <= k: # 预处理 k 的所有因子 d += 1 ``` -#### 统计1-n每个数的因子列表 o(nlogn) +#### 统计 1-n 每个数的因子列表 o(nlogn) o(nlogn) @@ -231,13 +219,13 @@ for i in range(1, MX): # 预处理每个数的所有因子,时间复杂度 O( ### 分解质因数 -#### 求某数质因数列表o(sqrt(N)) +#### 求某数质因数列表 o(sqrt(N)) o(sqrt(N)) -求某数的质因数列表,比如8,是[2,2,2] +求某数的质因数列表,比如 8,是[2,2,2] -枚举[2, sqrt(n)+1), 如果是质因数,就接着除,最大大于1,它本身就是质数。 +枚举[2, sqrt(n)+1), 如果是质因数,就接着除,最大大于 1,它本身就是质数。 也叫 求欧拉函数 @@ -256,13 +244,13 @@ def breakdown(N): return result ``` -#### 统计1-n每个数的质因数列表 +#### 统计 1-n 每个数的质因数列表 -筛法求欧拉函数 +筛法求欧拉函数 类似,暂时不写。 -### gcd求最大公约数 欧几里得算法 +### gcd 求最大公约数 欧几里得算法 欧几里得算法 @@ -274,9 +262,7 @@ class Math1: return self.gcd(b, a % b) ``` -最小公倍数就是a*b/gcd(a,b) - - +最小公倍数就是 a\*b/gcd(a,b) ## 进制转换 @@ -294,11 +280,9 @@ class Math1: [可以参考](https://blog.csdn.net/u013349653/article/details/51367453) - 十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法) - - 例: (0.625)10= (0.101)2 - +十进制小数转二进制数:“乘以 2 取整,顺序排列”(乘 2 取整法) +例: (0.625)10= (0.101)2 image-20220603233141181 @@ -332,8 +316,6 @@ int qmi(int m, int k, int p) } ``` - - ### 求根号 [题目](https://leetcode-cn.com/problems/sqrtx/) @@ -342,7 +324,7 @@ int qmi(int m, int k, int p) ### 求根号变种 小数精度 -`while l<=r`不用变,只需要变步长即可。eps可以比期望精度再小一个量级。 +`while l<=r`不用变,只需要变步长即可。eps 可以比期望精度再小一个量级。 ```python @@ -367,8 +349,6 @@ if __name__ == '__main__': print(f(0.04, 1e-10)) ``` +## Acwing 数学 - -## Acwing数学 - -[参考](https://www.acwing.com/file_system/file/content/whole/index/content/3273/) 本文只涉及部分 +[参考](https://www.acwing.com/file_system/file/content/whole/index/content/3273/) 本文只涉及部分 From f0a31f31c6cf7a25f00edbc526446bcaa5ca185b Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 23 Oct 2022 17:34:18 +0800 Subject: [PATCH 095/318] add logbook --- ...00\345\260\217\345\274\200\351\224\200.md" | 72 +++++++++++++++++++ .../2022-05-01-\346\225\260\345\255\246.md" | 2 +- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 "_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" "b/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" new file mode 100644 index 0000000000..465dcfdc45 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" @@ -0,0 +1,72 @@ +--- +layout: post +category: leetcode +title: 6216. 使数组相等的最小开销 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/minimum-cost-to-make-array-equal/) + +给你两个下标从 **0** 开始的数组 `nums` 和 `cost` ,分别包含 `n` 个 **正** 整数。 + +你可以执行下面操作 **任意** 次: + +- 将 `nums` 中 **任意** 元素增加或者减小 `1` 。 + +对第 `i` 个元素执行一次操作的开销是 `cost[i]` 。 + +请你返回使 `nums` 中所有元素 **相等** 的 **最少** 总开销。 + + + +**示例 1:** + +``` +输入:nums = [1,3,5,2], cost = [2,3,1,14] +输出:8 +解释:我们可以执行以下操作使所有元素变为 2 : +- 增加第 0 个元素 1 次,开销为 2 。 +- 减小第 1 个元素 1 次,开销为 3 。 +- 减小第 2 个元素 3 次,开销为 1 + 1 + 1 = 3 。 +总开销为 2 + 3 + 3 = 8 。 +这是最小开销。 +``` + +**示例 2:** + +``` +输入:nums = [2,2,2,2,2], cost = [4,2,8,1,3] +输出:0 +解释:数组中所有元素已经全部相等,不需要执行额外的操作。 +``` + + + +**提示:** + +- `n == nums.length == cost.length` +- `1 <= n <= 105` +- `1 <= nums[i], cost[i] <= 106` + + +## solution + +```python +class Solution: + def minCost(self, nums: List[int], cost: List[int]) -> int: + d = list(zip(nums, cost)) + d = sorted(d) + mid = None + count = 0 + total = sum(cost) + for a, b in d: + count += b + if count >= total // 2: + mid = a + break + return sum(abs(a - mid) * c for a, c in d) + + +``` + diff --git "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" index ac52cec8ee..5a8381ab48 100644 --- "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" +++ "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" @@ -76,7 +76,7 @@ tags: Algorithms 在一步操作中,你可以使数组中的一个元素加 `1` 或者减 `1` ,所有数都靠近**中位数**可使所有数组元素相等时移动数最少。 相关题目: [最少移动次数使数组元素相等 II](https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii/) -即中位数到所有数距离和最小,证明: +即中位数到所有数距离和最小,如果是偶数,可以在中位数两侧的数据构成的区间内任意取值,对结果无影响证明: ![image-20221023121438346](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210231214395.png) From e1283233f83a57700584620f93f5cc4103c402ba Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 23 Oct 2022 18:42:32 +0800 Subject: [PATCH 096/318] add logbook --- ...00\345\260\217\345\274\200\351\224\200.md" | 5 +- ...15\344\275\234\346\254\241\346\225\260.md" | 103 ++++++++++++++++++ .../2022-05-01-\346\225\260\345\255\246.md" | 4 +- 3 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 "_posts/Algorithms/leetcode/2022-10-23-6217. \344\275\277\346\225\260\347\273\204\347\233\270\344\274\274\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" "b/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" index 465dcfdc45..140d0c7964 100644 --- "a/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" +++ "b/_posts/Algorithms/leetcode/2022-10-23-6216. \344\275\277\346\225\260\347\273\204\347\233\270\347\255\211\347\232\204\346\234\200\345\260\217\345\274\200\351\224\200.md" @@ -49,9 +49,12 @@ tags: leetcode - `1 <= n <= 105` - `1 <= nums[i], cost[i] <= 106` - ## solution +[参考](https://leetcode.cn/circle/discuss/uO4WuN/) + +![image-20221023180324838](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210231803876.png) + ```python class Solution: def minCost(self, nums: List[int], cost: List[int]) -> int: diff --git "a/_posts/Algorithms/leetcode/2022-10-23-6217. \344\275\277\346\225\260\347\273\204\347\233\270\344\274\274\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" "b/_posts/Algorithms/leetcode/2022-10-23-6217. \344\275\277\346\225\260\347\273\204\347\233\270\344\274\274\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" new file mode 100644 index 0000000000..1370155333 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-23-6217. \344\275\277\346\225\260\347\273\204\347\233\270\344\274\274\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" @@ -0,0 +1,103 @@ +--- +layout: post +category: leetcode +title: 6217. 使数组相似的最少操作次数 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/minimum-number-of-operations-to-make-arrays-similar/) + +给你两个正整数数组 `nums` 和 `target` ,两个数组长度相等。 + +在一次操作中,你可以选择两个 **不同** 的下标 `i` 和 `j` ,其中 `0 <= i, j < nums.length` ,并且: + +- 令 `nums[i] = nums[i] + 2` 且 +- 令 `nums[j] = nums[j] - 2` 。 + +如果两个数组中每个元素出现的频率相等,我们称两个数组是 **相似** 的。 + +请你返回将 `nums` 变得与 `target` 相似的最少操作次数。测试数据保证 `nums` 一定能变得与 `target` 相似。 + + + +**示例 1:** + +``` +输入:nums = [8,12,6], target = [2,14,10] +输出:2 +解释:可以用两步操作将 nums 变得与 target 相似: +- 选择 i = 0 和 j = 2 ,nums = [10,12,4] 。 +- 选择 i = 1 和 j = 2 ,nums = [10,14,2] 。 +2 次操作是最少需要的操作次数。 +``` + +**示例 2:** + +``` +输入:nums = [1,2,5], target = [4,1,3] +输出:1 +解释:一步操作可以使 nums 变得与 target 相似: +- 选择 i = 1 和 j = 2 ,nums = [1,4,3] 。 +``` + +**示例 3:** + +``` +输入:nums = [1,1,1,1,1], target = [1,1,1,1,1] +输出:0 +解释:数组 nums 已经与 target 相似。 +``` + + + +**提示:** + +- `n == nums.length == target.length` +- `1 <= n <= 105` +- `1 <= nums[i], target[i] <= 106` +- `nums` 一定可以变得与 `target` 相似。 + +## solution + +[参考](https://leetcode.cn/problems/minimum-number-of-operations-to-make-arrays-similar/solution/by-endlesscheng-lusx/) + +![image-20221023183508545](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210231835582.png) + +```python +class Solution: + def makeSimilar(self, nums: List[int], target: List[int]) -> int: + nums = sorted(nums, key=lambda x: (x % 2, x)) + target = sorted(target, key=lambda x: (x % 2, x)) + ans = 0 + for i in range(len(nums)): + ans += abs(nums[i] - target[i]) + return ans // 4 + + +class Solution: + def makeSimilar(self, nums: List[int], target: List[int]) -> int: + nums = sorted(nums) + target = sorted(target) + a = [] + b = [] + for v in nums: + if v % 2 == 1: + a.append(v) + else: + b.append(v) + c = [] + d = [] + for v in target: + if v % 2 == 1: + c.append(v) + else: + d.append(v) + ans = 0 + for i in range(len(a)): + ans += abs(a[i] - c[i]) // 2 + for i in range(len(b)): + ans += abs(b[i] - d[i]) // 2 + return ans // 2 +``` + diff --git "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" index 5a8381ab48..a917ad1b26 100644 --- "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" +++ "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" @@ -74,12 +74,14 @@ tags: Algorithms ## 中位数 -在一步操作中,你可以使数组中的一个元素加 `1` 或者减 `1` ,所有数都靠近**中位数**可使所有数组元素相等时移动数最少。 相关题目: [最少移动次数使数组元素相等 II](https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii/) +在一步操作中,你可以使数组中的一个元素加 `1` 或者减 `1` ,所有数都靠近**中位数**可使所有数组元素相等时移动数最少。 相关题目: [最少移动次数使数组元素相等 II](https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii/) 即中位数到所有数距离和最小,如果是偶数,可以在中位数两侧的数据构成的区间内任意取值,对结果无影响证明: ![image-20221023121438346](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210231214395.png) +另一个相似题目:有cost,需转化拆分,然后再算中位数,[6216. 使数组相等的最小开销](https://mafulong.github.io/2022/10/23/6216.-%E4%BD%BF%E6%95%B0%E7%BB%84%E7%9B%B8%E7%AD%89%E7%9A%84%E6%9C%80%E5%B0%8F%E5%BC%80%E9%94%80/) + ## 素数 ### 判断是否素数 o(sqrt(N)) From 774381b7b9f7906b9301936ca43a03a137b3b9db Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 23 Oct 2022 23:05:19 +0800 Subject: [PATCH 097/318] add logbook --- ...346\216\245\351\233\250\346\260\264 II.md" | 83 +++++++++++++++++++ _posts/Tech/Algorithms/2021-12-05-BFS.md | 4 + ...6-\345\217\214\346\214\207\351\222\210.md" | 3 +- 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 "_posts/Algorithms/leetcode/2022-10-23-407. \346\216\245\351\233\250\346\260\264 II.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-23-407. \346\216\245\351\233\250\346\260\264 II.md" "b/_posts/Algorithms/leetcode/2022-10-23-407. \346\216\245\351\233\250\346\260\264 II.md" new file mode 100644 index 0000000000..74c45a99b1 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-23-407. \346\216\245\351\233\250\346\260\264 II.md" @@ -0,0 +1,83 @@ +--- +layout: post +category: leetcode +title: 407. 接雨水 II +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/trapping-rain-water-ii/) + +给你一个 `m x n` 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。 + + + +**示例 1:** + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202210232302169.jpg) + +``` +输入: heightMap = [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]] +输出: 4 +解释: 下雨后,雨水将会被上图蓝色的方块中。总的接雨水量为1+2+1=4。 +``` + +**示例 2:** + +![img](https://assets.leetcode.com/uploads/2021/04/08/trap2-3d.jpg) + +``` +输入: heightMap = [[3,3,3,3,3],[3,2,2,2,3],[3,2,1,2,3],[3,2,2,2,3],[3,3,3,3,3]] +输出: 10 +``` + + + +**提示:** + +- `m == heightMap.length` +- `n == heightMap[i].length` +- `1 <= m, n <= 200` +- `0 <= heightMap[i][j] <= 2 * 104` + + + +## solution + +[参考](https://leetcode.cn/problems/trapping-rain-water-ii/solution/gong-shui-san-xie-jing-dian-dijkstra-yun-13ik/) + +Dijkstra. 从外向内扩展,路径定义为water高度。 + +```python +class Directions: + dirs = [(0, 1), (0, -1), (1, 0), (-1, 0)] + diagonal_dirs = [(1, 1), (1, -1), (-1, 1), (-1, -1)] + all_dirs = dirs + diagonal_dirs + +class Solution: + def trapRainWater(self, heightMap: List[List[int]]) -> int: + m, n = len(heightMap), len(heightMap[0]) + h = [] + import heapq + dist = {} + for i in range(m): + heapq.heappush(h, (heightMap[i][0], i, 0)) + heapq.heappush(h, (heightMap[i][n - 1], i, n - 1)) + for j in range(1, n - 1): + heapq.heappush(h, (heightMap[0][j], 0, j)) + heapq.heappush(h, (heightMap[m - 1][j], m - 1, j)) + ans = 0 + while h: + ph, x, y = heapq.heappop(h) + if (x, y) in dist: continue + dist[(x, y)] = max(heightMap[x][y], ph) + if ph > heightMap[x][y]: + ans += ph - heightMap[x][y] + for dx, dy in Directions.dirs: + nx, ny = x + dx, y + dy + if 0 <= nx < m and 0 <= ny < n and (nx, ny) not in dist: + heapq.heappush(h, (dist[(x, y)], nx, ny)) + # print(dist) + return ans +``` + diff --git a/_posts/Tech/Algorithms/2021-12-05-BFS.md b/_posts/Tech/Algorithms/2021-12-05-BFS.md index d5097a7ac7..51cb142a5e 100644 --- a/_posts/Tech/Algorithms/2021-12-05-BFS.md +++ b/_posts/Tech/Algorithms/2021-12-05-BFS.md @@ -34,6 +34,10 @@ function bfs() { - [求最少转弯的路径](https://mafulong.github.io/2018/08/27/bfs%E6%9C%80%E5%B0%8F%E8%BD%AC%E5%BC%AF%E8%B7%AF%E5%BE%84/) 每次转弯时加1 - [126. 单词接龙 II](https://leetcode.cn/problems/word-ladder-ii/) 输入所有bfs路径,层次遍历 + dfs回溯pre. +## 从外向内扩展 + + + ## 双向BFS > [双向bfs模板参考](https://leetcode-cn.com/problems/open-the-lock/solution/gong-shui-san-xie-yi-ti-shuang-jie-shuan-wyr9/) diff --git "a/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" "b/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" index 487c34c65e..d75a17134c 100644 --- "a/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" +++ "b/_posts/Tech/Algorithms/2022-10-16-\345\217\214\346\214\207\351\222\210.md" @@ -17,7 +17,8 @@ tags: Algorithms 解答: **双指针。这个双指针属于left每次只移动一次,记得看下。** -4. [Container With Most Water](https://leetcode-cn.com/problems/container-with-most-water/) 多个柱子,挑两个柱子,统计最多能接多少水,双指针,不断缩小两边矮的那个 +4. [11. 盛最多水的容器](https://leetcode.cn/problems/container-with-most-water/) 多个柱子,挑两个柱子,统计最多能接多少水,双指针,不断缩小两边矮的那个 + 5. [1438. 绝对差不超过限制的最长连续子数组](https://leetcode-cn.com/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/) 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 维护max, min的队列,同时双指针,不断移动左指针。 ## 应用 From a3c452e72acf5b9a389f0a814fa216c82bdea3ef Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 23 Oct 2022 23:06:33 +0800 Subject: [PATCH 098/318] add logbook --- _posts/Tech/Algorithms/2021-12-05-BFS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/Tech/Algorithms/2021-12-05-BFS.md b/_posts/Tech/Algorithms/2021-12-05-BFS.md index 51cb142a5e..9b8fa51044 100644 --- a/_posts/Tech/Algorithms/2021-12-05-BFS.md +++ b/_posts/Tech/Algorithms/2021-12-05-BFS.md @@ -36,7 +36,8 @@ function bfs() { ## 从外向内扩展 - +- [407. 接雨水 II](https://leetcode.cn/problems/trapping-rain-water-ii/) 从外向内dijkstra。 +- [417. 太平洋大西洋水流问题](https://leetcode.cn/problems/pacific-atlantic-water-flow/) 从外向内bfs/dfs。 ## 双向BFS From fbc6a6f996f4e45e9a4a36d4b417255591380c42 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 24 Oct 2022 16:37:48 +0800 Subject: [PATCH 099/318] add logbook --- ...46\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "_posts/Games/Xbox/2021-10-03-xbox\345\267\264\350\245\277\346\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" => "_posts/Xbox/2021-10-03-xbox\345\267\264\350\245\277\346\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" (100%) diff --git "a/_posts/Games/Xbox/2021-10-03-xbox\345\267\264\350\245\277\346\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" "b/_posts/Xbox/2021-10-03-xbox\345\267\264\350\245\277\346\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" similarity index 100% rename from "_posts/Games/Xbox/2021-10-03-xbox\345\267\264\350\245\277\346\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" rename to "_posts/Xbox/2021-10-03-xbox\345\267\264\350\245\277\346\234\215\350\264\255\344\271\260\346\225\231\347\250\213.md" From 978fbaeadf91496901dcb17f3fb98edccebaed4d Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Mon, 24 Oct 2022 20:41:23 +0800 Subject: [PATCH 100/318] add logbook --- ...06\345\211\262\346\225\260\347\273\204.md" | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-10-24-915. \345\210\206\345\211\262\346\225\260\347\273\204.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-24-915. \345\210\206\345\211\262\346\225\260\347\273\204.md" "b/_posts/Algorithms/leetcode/2022-10-24-915. \345\210\206\345\211\262\346\225\260\347\273\204.md" new file mode 100644 index 0000000000..e6de0d5396 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-24-915. \345\210\206\345\211\262\346\225\260\347\273\204.md" @@ -0,0 +1,66 @@ +--- +layout: post +category: leetcode +title: 915. 分割数组 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/partition-array-into-disjoint-intervals/) + +给定一个数组 `nums` ,将其划分为两个连续子数组 `left` 和 `right`, 使得: + +- `left` 中的每个元素都小于或等于 `right` 中的每个元素。 +- `left` 和 `right` 都是非空的。 +- `left` 的长度要尽可能小。 + +*在完成这样的分组后返回 `left` 的 **长度*** 。 + +用例可以保证存在这样的划分方法。 + + + +**示例 1:** + +``` +输入:nums = [5,0,3,8,6] +输出:3 +解释:left = [5,0,3],right = [8,6] +``` + +**示例 2:** + +``` +输入:nums = [1,1,1,0,6,12] +输出:4 +解释:left = [1,1,1,0],right = [6,12] +``` + + + +**提示:** + +- `2 <= nums.length <= 105` +- `0 <= nums[i] <= 106` +- 可以保证至少有一种方法能够按题目所描述的那样对 `nums` 进行划分。 + +## solution + +下面为一次遍历,使用后悔法。 + +```python +class Solution: + def partitionDisjoint(self, nums: List[int]) -> int: + n = len(nums) + leftpos = 0 + leftmax = nums[0] + currentmax = nums[0] + for i,v in enumerate(nums): + currentmax = max(currentmax, v) + if v < leftmax: + leftpos = i + leftmax = currentmax + return leftpos + 1 + +``` + From 42c4770748d13c6ffe17efd313daca8986b787f3 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sat, 29 Oct 2022 13:19:52 +0800 Subject: [PATCH 101/318] add logbook --- ...22\344\273\266\345\274\200\345\217\221.md" | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" index bd8a58de79..73050276b0 100644 --- "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" +++ "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" @@ -13,9 +13,37 @@ tags: Tools 现有插件和其代码: https://github.com/pilotmoon/PopClip-Extensions +### Extension Snippets + +```sh +# popclip shellscript nested in an applescript +name: CopyNotes +actions: +- title: Markdown Note + icon: circle filled H2 + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H2" + before: copy +- title: Markdown Note + icon: circle filled H3 + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H3" + before: copy +- title: Markdown Note + icon: circle filled T + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' TXT" + before: copy +- title: Markdown Note + icon: circle filled H + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' HREF" + before: copy +- title: Markdown Note + icon: circle filled C + applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' CODE" + before: copy +``` -### Extension Snippets + +### Extension Snippets with Python ```sh # popclip shellscript nested in an applescript From a4f80a97eae1908bcfe731edf88a80c93be8d92b Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 29 Oct 2022 13:42:41 +0800 Subject: [PATCH 102/318] bookmark --- pages/bookmark.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pages/bookmark.md b/pages/bookmark.md index d365c70f5e..152fdfa324 100644 --- a/pages/bookmark.md +++ b/pages/bookmark.md @@ -80,12 +80,13 @@ permalink: /bookmark/ ### mac os -- iTerm -- Sequel Pro -- HyperSwitch -- Spectacle -- popclip 选择文字后上面可显示快捷键。 [破解版下载网址](https://xclient.info/s/popclip.html#versions), 还可以安装插件,比如欧陆词典 Eudic, 下载后双击即可,[插件下载网址](https://pilotmoon.com/popclip/extensions/) -- betterTouchTool, 免费触控板手势软件。 +- iTerm 控制台必装 +- Sequel Pro 数据库工具 +- HyperSwitch 应用多窗口切换而不是应用切换,可选 +- Spectacle 多窗口必装 +- popclip 选择文字后上面可显示快捷键。 [破解版下载网址](https://xclient.info/s/popclip.html#versions), 还可以安装插件,比如欧陆词典Eudic, 下载后双击即可,[插件下载网址](https://pilotmoon.com/popclip/extensions/) +- betterTouchTool, 免费触控板手势软件, 可选。 +- [MonitorControl Lite](https://github.com/MonitorControl/MonitorControlLite#readme) mac亮度条件软件,可以状态栏就开始调屏幕亮度了,亮度下限可以更低点。 ### android From ab4b37c1202680966dea54b44c8d20fda1cfdcc5 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 29 Oct 2022 13:51:03 +0800 Subject: [PATCH 103/318] add logbook --- ...22\344\273\266\345\274\200\345\217\221.md" | 34 +++++++------------ 1 file changed, 12 insertions(+), 22 deletions(-) diff --git "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" index 73050276b0..a0cdb339c9 100644 --- "a/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" +++ "b/_posts/Tech/TOOLS/2022-10-04-popclip\346\217\222\344\273\266\345\274\200\345\217\221.md" @@ -16,29 +16,19 @@ tags: Tools ### Extension Snippets ```sh -# popclip shellscript nested in an applescript -name: CopyNotes +# popclip js + multi action example +name: Markdown Formatting +requirements: [text, paste] actions: -- title: Markdown Note - icon: circle filled H2 - applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H2" - before: copy -- title: Markdown Note - icon: circle filled H3 - applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' H3" - before: copy -- title: Markdown Note - icon: circle filled T - applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' TXT" - before: copy -- title: Markdown Note - icon: circle filled H - applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' HREF" - before: copy -- title: Markdown Note - icon: circle filled C - applescript: do shell script "python3 ~/github/scripts/py/copy_notes/popclip_using.py '{popclip text}' CODE" - before: copy +- title: MdInlineCode + icon: IC + javascript: popclip.pasteText('`' + popclip.input.text + '`') +- title: Markdown Bold # note: actions have a `title`, not a `name` + icon: circle filled B + javascript: popclip.pasteText('**' + popclip.input.text + '**') +- title: Markdown Italic + icon: circle filled I + javascript: popclip.pasteText('*' + popclip.input.text + '*') ``` From 89a412d94af58ab2f790cefcebdd047a0203d01a Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 29 Oct 2022 19:18:32 +0800 Subject: [PATCH 104/318] add logbook --- ...55\345\255\220\346\225\260\347\273\204.md" | 120 ++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-10-29-862. \345\222\214\350\207\263\345\260\221\344\270\272 K \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204.md" diff --git "a/_posts/Algorithms/leetcode/2022-10-29-862. \345\222\214\350\207\263\345\260\221\344\270\272 K \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204.md" "b/_posts/Algorithms/leetcode/2022-10-29-862. \345\222\214\350\207\263\345\260\221\344\270\272 K \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204.md" new file mode 100644 index 0000000000..6b83df161c --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-10-29-862. \345\222\214\350\207\263\345\260\221\344\270\272 K \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204.md" @@ -0,0 +1,120 @@ +--- +layout: post +category: leetcode +title: 862. 和至少为 K 的最短子数组 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k/) + +给你一个整数数组 `nums` 和一个整数 `k` ,找出 `nums` 中和至少为 `k` 的 **最短非空子数组** ,并返回该子数组的长度。如果不存在这样的 **子数组** ,返回 `-1` 。 + +**子数组** 是数组中 **连续** 的一部分。 + + + + + +**示例 1:** + +``` +输入:nums = [1], k = 1 +输出:1 +``` + +**示例 2:** + +``` +输入:nums = [1,2], k = 4 +输出:-1 +``` + +**示例 3:** + +``` +输入:nums = [2,-1,2], k = 3 +输出:3 +``` + + + +**提示:** + +- `1 <= nums.length <= 105` +- `-105 <= nums[i] <= 105` +- `1 <= k <= 109` + +## solution + +单调队列 + +```python +''' +主要是去除无用数据,维护右端点 +可以单调栈二分,也可以单调队列 +参考: https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k/solution/liang-zhang-tu-miao-dong-dan-diao-dui-li-9fvh/ +''' + +class Solution: + def shortestSubarray(self, nums: List[int], k: int) -> int: + ans = float('inf') + n = len(nums) + pre = [0] + for v in nums: + pre.append(pre[-1] + v) + import collections + q = collections.deque() + # 单调队列,j< i, 向右, 如果s[i] - s[j] >= k, j则不会再作为可作为答案的左端点了; 递增队列 对于s[j] >= s[i], 则j也可以舍弃 + for i, v in enumerate(pre): + while q and pre[q[-1]] >= v: + q.pop() + q.append(i) + while q and v - pre[q[0]] >= k: + ans = min(ans, i - q[0]) + q.popleft() + return ans if ans != float('inf') else -1 + + +``` + + + +```python +# 单调栈 + 二分 +class BinarySearch: + # If you wanna binary search big integer, plz set data range, which can be used as same as big integer low and high + # find the first index that value >= val + def bisect_left(data, val, l=None, r=None, key=None): + if l is None or r is None: + l, r = 0, len(data) - 1 + if key is None: + key = lambda x: data[mid] + while l <= r: + mid = (l + r) // 2 + if key(mid) >= val: + r = mid - 1 + else: + l = mid + 1 + return l + +class Solution: + def shortestSubarray(self, nums: List[int], k: int) -> int: + ans = float('inf') + pre = [0] + for v in nums: + pre.append(pre[-1] + v) + # print(pre) + q = [] + # 单调递增栈, 栈上二分 + for i, v in enumerate(pre): + while q and pre[q[-1]] >= v: + q.pop() + q.append(i) + t = BinarySearch.bisect_left(q, True, key=lambda x: v - pre[q[x]] < k) + if t - 1 >= 0: + ans = min(ans, i - q[t - 1]) + return ans if ans != float('inf') else -1 + +``` + From 224b38f0d30a38cf714aacdbff00782d1af1a262 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 30 Oct 2022 11:59:53 +0800 Subject: [PATCH 105/318] add logbook --- _config.yml | 2 +- _includes/sidebar-search.html | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 4c08f7ba29..bf5c9d82e8 100644 --- a/_config.yml +++ b/_config.yml @@ -146,7 +146,7 @@ simple_jekyll_search: # 是否支持全文搜索 fulltext: false # 最多显示多少条搜索结果 - limit: 16 + limit: 20 # ---------------- # # Google # diff --git a/_includes/sidebar-search.html b/_includes/sidebar-search.html index ed6c900857..c732c0d3db 100644 --- a/_includes/sidebar-search.html +++ b/_includes/sidebar-search.html @@ -9,6 +9,7 @@

Search

From 54b0212879990045db293dd92a6fd5335c907017 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Oct 2022 08:29:51 +0000 Subject: [PATCH 106/318] add logbook --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5d51d3f26f..90322a8622 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -247,7 +247,7 @@ GEM thread_safe (0.3.6) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.9) + tzinfo (1.2.10) thread_safe (~> 0.1) unf (0.1.4) unf_ext From ba846d588b33691688973abbd90225aedb80697e Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 30 Oct 2022 19:54:27 +0800 Subject: [PATCH 107/318] add logbook --- _includes/sidebar-search.html | 72 +++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/_includes/sidebar-search.html b/_includes/sidebar-search.html index c732c0d3db..f6bdf81bf5 100644 --- a/_includes/sidebar-search.html +++ b/_includes/sidebar-search.html @@ -1,44 +1,50 @@ -

Search

-
    +
      - From 669b8396651e21853d9d5059f6374736c6d39bbc Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Sun, 30 Oct 2022 21:01:34 +0800 Subject: [PATCH 108/318] add logbook --- ...-12-11-English\350\257\255\346\263\225.md" | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git "a/_posts/English/2021-12-11-English\350\257\255\346\263\225.md" "b/_posts/English/2021-12-11-English\350\257\255\346\263\225.md" index 49c0659b8b..ea55582e0c 100644 --- "a/_posts/English/2021-12-11-English\350\257\255\346\263\225.md" +++ "b/_posts/English/2021-12-11-English\350\257\255\346\263\225.md" @@ -74,3 +74,59 @@ he tells me that u have died [参考个人单独blog](https://mafulong.github.io/2021/01/02/%E8%AF%AD%E6%B3%95-%E8%99%9A%E6%8B%9F%E8%AF%AD%E6%B0%94/) +## “限制性定语从句”和“非限制性定语从句”的区别 + +> [参考](https://zhuanlan.zhihu.com/p/30548008) + +> She despised people ***who flattered her***. +> (她看不起**那些吹捧她的**人。) + +在上面的示例中,定语从句“who flattered her”起到了**限制名词**的作用(即缩小了名词的表示范围)。 + +因此,我们称这类定语从句为**限制性定语从句**。 + + + +在有些场景下,先行词的指向已经是唯一的了,此时就无法再缩小这个词的表示范围了。例如: + +> I made a card for mom ***who loves me most**.* (×) +> (我给**最爱我的**那个妈妈做了一张卡片。) + +每个人只有一个妈妈,所以“最爱我的那个妈妈”的表述明显不合逻辑,此时我们就需要用到**非限制性定语从句**。 + +所谓的非限制性定语从句,就是**使用“逗号”将定语从句与先行词隔开**,即: + +> I made a card for mom, ***who loves me most**.* +> (我给妈妈做了一张卡片,**她最爱我**。) + +因为非限制性定语从句的作用是:**不直接修饰先行词,只为先行词提供一些补充的信息。** + + + +①限定性定语从句: 从句不能省略,如果省略整个句子意思不完整。 + +非限定性定语从句: 从句可以省略,如果省略整个句子意思仍然完整 。 + +②限定性定语从句: 先行词可以用that 引导。 + +非限定性定语从句: 先行词不可以用that 引导。 + +eg. I like read the book that you lend me. + +③限定性定语从句: 引导词有时可以省略。 + +非限定性定语从句: 引导词不可以省略。 + +④限定性定语从句: 主句与从句不需要用逗号隔开。 + +非限定性定语从句: 主句与从句需要用逗号隔开。 + +⑤限定性定语从句: 从句只修饰先行词。 + +非限定性定语从句:从句既可以修饰先行词,也可以修饰整个句子或句子的一部分。 + + + +## 逗号使用 + +> [参考](https://zhuanlan.zhihu.com/p/46736877) From 0065355774c837f2f7d1654d7d669753c8c8ded5 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 4 Nov 2022 20:10:45 +0800 Subject: [PATCH 109/318] add logbook --- ...15\344\275\234\346\254\241\346\225\260.md" | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-11-04-1674. \344\275\277\346\225\260\347\273\204\344\272\222\350\241\245\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" diff --git "a/_posts/Algorithms/leetcode/2022-11-04-1674. \344\275\277\346\225\260\347\273\204\344\272\222\350\241\245\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" "b/_posts/Algorithms/leetcode/2022-11-04-1674. \344\275\277\346\225\260\347\273\204\344\272\222\350\241\245\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" new file mode 100644 index 0000000000..2d9cf05345 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-11-04-1674. \344\275\277\346\225\260\347\273\204\344\272\222\350\241\245\347\232\204\346\234\200\345\260\221\346\223\215\344\275\234\346\254\241\346\225\260.md" @@ -0,0 +1,106 @@ +--- +layout: post +category: leetcode +title: 1674. 使数组互补的最少操作次数 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/minimum-moves-to-make-array-complementary/) + +给你一个长度为 **偶数** `n` 的整数数组 `nums` 和一个整数 `limit` 。每一次操作,你可以将 `nums` 中的任何整数替换为 `1` 到 `limit` 之间的另一个整数。 + +如果对于所有下标 `i`(**下标从** `0` **开始**),`nums[i] + nums[n - 1 - i]` 都等于同一个数,则数组 `nums` 是 **互补的** 。例如,数组 `[1,2,3,4]` 是互补的,因为对于所有下标 `i` ,`nums[i] + nums[n - 1 - i] = 5` 。 + +返回使数组 **互补** 的 **最少** 操作次数。 + + + +**示例 1:** + +``` +输入:nums = [1,2,4,3], limit = 4 +输出:1 +解释:经过 1 次操作,你可以将数组 nums 变成 [1,2,2,3](加粗元素是变更的数字): +nums[0] + nums[3] = 1 + 3 = 4. +nums[1] + nums[2] = 2 + 2 = 4. +nums[2] + nums[1] = 2 + 2 = 4. +nums[3] + nums[0] = 3 + 1 = 4. +对于每个 i ,nums[i] + nums[n-1-i] = 4 ,所以 nums 是互补的。 +``` + +**示例 2:** + +``` +输入:nums = [1,2,2,1], limit = 2 +输出:2 +解释:经过 2 次操作,你可以将数组 nums 变成 [2,2,2,2] 。你不能将任何数字变更为 3 ,因为 3 > limit 。 +``` + +**示例 3:** + +``` +输入:nums = [1,2,1,2], limit = 2 +输出:0 +解释:nums 已经是互补的。 +``` + + + +**提示:** + +- `n == nums.length` +- `2 <= n <= 105` +- `1 <= nums[i] <= limit <= 105` +- `n` 是偶数。 + +## solution + +假设 `res[x]` 表示的是,`nums[i] + nums[n - 1 - i]` 为 `x` 的时候,需要多少次操作。 + +我们只需要计算出所有的 `x` 对应的 `res[x]`, 取最小值就好了。 + +根据题意,`nums[i] + nums[n - 1 - i]` 最小是 `2`,即将两个数都修改为 `1`;最大是 `2 * limit`,即将两个数都修改成 `limit`。 + +所以,`res[x]` 中 `x` 的取值范围是 `[2, 2 * limit]`。我们用一个 `res[2 * limit + 1]` 的数组就好。 + +```python +class Diff: + def __init__(self, n): + self.n = n + self.diff = [0] * (n + 1) + + # 给[l,r] + val + def add(self, l, r, val): + self.diff[l] += val + self.diff[r + 1] -= val + + # 差分数组还原成原数组 + def restore(self): + ans = [0] * self.n + ans[0] = self.diff[0] + for i in range(1, self.n): + ans[i] = ans[i - 1] + self.diff[i] + return ans + +class Solution: + def minMoves(self, nums: List[int], limit: int) -> int: + diff = Diff(2 * limit + 1) + n = len(nums) + for i in range((len(nums) + 1) // 2): + a, b = nums[i], nums[n - 1 - i] + if a > b: + a, b = b, a + ''' + 0: a+b + 2: [2, a+1) or (b+limit, 2*limit] + 1: + ''' + diff.add(2, a, 2) + diff.add(b + limit + 1, 2 * limit, 2) + diff.add(a + 1, b + limit, 1) + diff.add(a + b, a + b, -1) + # print(diff.restore()) + return min(diff.restore()[2:]) +``` + From ce07cc0f7c780e7af25d321e3f7aa32fcb047b3b Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 4 Nov 2022 20:33:54 +0800 Subject: [PATCH 110/318] add logbook --- .../python/2018-05-19-python\347\254\224\350\256\260.md" | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" index d6240aeaf0..19b4723641 100644 --- "a/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" +++ "b/_posts/Tech/python/2018-05-19-python\347\254\224\350\256\260.md" @@ -88,6 +88,15 @@ s.islower() +字符串变量拼接 f开头, {}引用变量 + +```python + f'My name is {name}, my age next year is {age+1}, my anniversary is {anniversary:%A, %B %d, %Y}.' +'My name is Fred, my age next year is 51, my anniversary is Saturday, October 12, 1991.' +``` + + + ### List(列表) 0开头,-1结尾, 也可以list[start:end:span] From 4f9778dcaaa86df291c65b2c153c30df418232d3 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 6 Nov 2022 17:47:49 +0800 Subject: [PATCH 111/318] add logbook --- ...50\346\200\273\350\267\235\347\246\273.md" | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 "_posts/Algorithms/leetcode/2022-11-06-6232. \346\234\200\345\260\217\347\247\273\345\212\250\346\200\273\350\267\235\347\246\273.md" diff --git "a/_posts/Algorithms/leetcode/2022-11-06-6232. \346\234\200\345\260\217\347\247\273\345\212\250\346\200\273\350\267\235\347\246\273.md" "b/_posts/Algorithms/leetcode/2022-11-06-6232. \346\234\200\345\260\217\347\247\273\345\212\250\346\200\273\350\267\235\347\246\273.md" new file mode 100644 index 0000000000..ddaa802f80 --- /dev/null +++ "b/_posts/Algorithms/leetcode/2022-11-06-6232. \346\234\200\345\260\217\347\247\273\345\212\250\346\200\273\350\267\235\347\246\273.md" @@ -0,0 +1,102 @@ +--- +layout: post +category: leetcode +title: 6232. 最小移动总距离 +tags: leetcode +--- + +## title +[problem link](https://leetcode.cn/problems/minimum-total-distance-traveled/) + +X 轴上有一些机器人和工厂。给你一个整数数组 `robot` ,其中 `robot[i]` 是第 `i` 个机器人的位置。再给你一个二维整数数组 `factory` ,其中 `factory[j] = [positionj, limitj]` ,表示第 `j` 个工厂的位置在 `positionj` ,且第 `j` 个工厂最多可以修理 `limitj` 个机器人。 + +每个机器人所在的位置 **互不相同** 。每个工厂所在的位置也 **互不相同** 。注意一个机器人可能一开始跟一个工厂在 **相同的位置** 。 + +所有机器人一开始都是坏的,他们会沿着设定的方向一直移动。设定的方向要么是 X 轴的正方向,要么是 X 轴的负方向。当一个机器人经过一个没达到上限的工厂时,这个工厂会维修这个机器人,且机器人停止移动。 + +**任何时刻**,你都可以设置 **部分** 机器人的移动方向。你的目标是最小化所有机器人总的移动距离。 + +请你返回所有机器人移动的最小总距离。测试数据保证所有机器人都可以被维修。 + +**注意:** + +- 所有机器人移动速度相同。 +- 如果两个机器人移动方向相同,它们永远不会碰撞。 +- 如果两个机器人迎面相遇,它们也不会碰撞,它们彼此之间会擦肩而过。 +- 如果一个机器人经过了一个已经达到上限的工厂,机器人会当作工厂不存在,继续移动。 +- 机器人从位置 `x` 到位置 `y` 的移动距离为 `|y - x|` 。 + + + +**示例 1:** + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211061747130.png) + +``` +输入:robot = [0,4,6], factory = [[2,2],[6,2]] +输出:4 +解释:如上图所示: +- 第一个机器人从位置 0 沿着正方向移动,在第一个工厂处维修。 +- 第二个机器人从位置 4 沿着负方向移动,在第一个工厂处维修。 +- 第三个机器人在位置 6 被第二个工厂维修,它不需要移动。 +第一个工厂的维修上限是 2 ,它维修了 2 个机器人。 +第二个工厂的维修上限是 2 ,它维修了 1 个机器人。 +总移动距离是 |2 - 0| + |2 - 4| + |6 - 6| = 4 。没有办法得到比 4 更少的总移动距离。 +``` + +**示例 2:** + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211061747289.png) + +``` +输入:robot = [1,-1], factory = [[-2,1],[2,1]] +输出:2 +解释:如上图所示: +- 第一个机器人从位置 1 沿着正方向移动,在第二个工厂处维修。 +- 第二个机器人在位置 -1 沿着负方向移动,在第一个工厂处维修。 +第一个工厂的维修上限是 1 ,它维修了 1 个机器人。 +第二个工厂的维修上限是 1 ,它维修了 1 个机器人。 +总移动距离是 |2 - 1| + |(-2) - (-1)| = 2 。没有办法得到比 2 更少的总移动距离。 +``` + + + +**提示:** + +- `1 <= robot.length, factory.length <= 100` +- `factory[j].length == 2` +- `-109 <= robot[i], positionj <= 109` +- `0 <= limitj <= robot.length` +- 测试数据保证所有机器人都可以被维修。 + +## solution + +动态规划 o(nnm) 一定要往局部思考,想到动态规划才行。 + +```python +class Solution: + def minimumTotalDistance(self, robot: List[int], factory: List[List[int]]) -> int: + robot = sorted(robot) + factory = sorted(factory) + n = len(robot) + + def f(i, j): + if j == 0 and i == 0: + return 0 + if j == 0 or i == 0: + return float('inf') + res = float('inf') + cost = 0 + for k in range(0, factory[j - 1][1] + 1): + if i - k < 0: break + if k > 0: + cost += abs(factory[j - 1][0] - robot[i - k]) + # print(i, j, k, cost) + res = min(res, f(i - k, j - 1) + cost) + # print(i, j, res) + return res + + ans = f(n, len(factory)) + return ans +``` + From d1b5a1e7491d30dff6659d00e186d0a23a0c6d49 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 6 Nov 2022 19:50:34 +0800 Subject: [PATCH 112/318] add logbook --- ...\256\345\272\223\345\257\271\346\257\224.md" | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Database/2021-01-09-\346\225\260\346\215\256\345\272\223\345\257\271\346\257\224.md" "b/_posts/Tech/Database/2021-01-09-\346\225\260\346\215\256\345\272\223\345\257\271\346\257\224.md" index 0f45d5872d..1d12cfacdb 100644 --- "a/_posts/Tech/Database/2021-01-09-\346\225\260\346\215\256\345\272\223\345\257\271\346\257\224.md" +++ "b/_posts/Tech/Database/2021-01-09-\346\225\260\346\215\256\345\272\223\345\257\271\346\257\224.md" @@ -270,4 +270,19 @@ Google 发布了第一个列型存储数据库 [Bigtable](http://www.read.seas.h - 排行榜或者得分数据 - 临时数据,如购物车 - 频繁访问的(“热”)表 -- 元数据/查找表 \ No newline at end of file +- 元数据/查找表 + + + +## NoSQL + +> [参考](https://aws.amazon.com/cn/nosql/) + +### 为什么应该使用 NoSQL 数据库? + +NoSQL 数据库非常适合许多现代应用程序,例如移动、Web 和游戏等应用程序,它们需要灵活、可扩展、高性能和功能强大的数据库以提供卓越的用户体验。 + +- **灵活性:**NoSQL 数据库通常提供灵活的架构,以实现更快速、更多的迭代开发。灵活的数据模型使 NoSQL 数据库成为半结构化和非结构化数据的理想之选。 +- **可扩展性:**NoSQL 数据库通常被设计为通过使用分布式硬件集群来横向扩展,而不是通过添加昂贵和强大的服务器来纵向扩展。一些云提供商在后台将这些操作处理为完全托管服务。 +- **高性能:**NoSQL 数据库针对特定的数据模型和访问模式进行了优化,这与尝试使用关系数据库完成类似功能相比可实现更高的性能。 +- **强大的功能:**NoSQL 数据库提供功能强大的 API 和数据类型,专门针对其各自的数据模型而构建。 \ No newline at end of file From 34c4417f6512ca9d2fe6106cb327d5946630e547 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 6 Nov 2022 22:47:59 +0800 Subject: [PATCH 113/318] add logbook --- _posts/Tech/AWS/2022-11-06-dynamoDB.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 _posts/Tech/AWS/2022-11-06-dynamoDB.md diff --git a/_posts/Tech/AWS/2022-11-06-dynamoDB.md b/_posts/Tech/AWS/2022-11-06-dynamoDB.md new file mode 100644 index 0000000000..c14c97f276 --- /dev/null +++ b/_posts/Tech/AWS/2022-11-06-dynamoDB.md @@ -0,0 +1,18 @@ +--- +layout: post +category: AWS +title: dynamoDB +tags: AWS +--- + +## dynamoDB + +[论文讲解](http://systemdesigns.blogspot.com/2016/01/dynamodb.html) + +[深入探讨 Amazon DynamoDB 的设计模 式、流复制和全局表](https://sides-share.s3.cn-north-1.amazonaws.com.cn/AWS+Webinar+2019/PDF/Amazon+DynamoDB+webinar.pdf) + +[官网](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors) + +[AWS 如何实现数据跨区域同步](https://techsummit.ctrip.com/pdf/songye.pdf) + +[MongoDB 与 DynamoDB 正面交锋](https://www.modb.pro/db/432414) From 5075a41df0deeeebd08cad1bd1c9dd1ee77ae34c Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 10 Nov 2022 19:51:25 +0800 Subject: [PATCH 114/318] add logbook --- ...0-\350\207\252\347\224\261\346\263\263.md" | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 "_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" diff --git "a/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" "b/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" new file mode 100644 index 0000000000..043a113f26 --- /dev/null +++ "b/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" @@ -0,0 +1,57 @@ +--- +layout: post +category: DailyLife +title: 自由泳 +tags: DailyLife +--- + +## 自由泳 + +记录些自由泳一些点睛之笔 以防忘记。 + + + + + +## 换气时机 + +> [参考](https://zhuanlan.zhihu.com/p/339980204) + +自由泳换气时机跟随前伸入水手,很多人换气跟随水下划水同侧手,划水转头换气,但是这里存在一个问题,不同交叉方式会导致换气时机的变化。 + + + +因为水下手根据不同交叉方式,时机是不确定性的,不管你是跟随划水还是推水,都会因为交叉方式的改变而变化。 + +所以跟随前伸手换气更容易掌握,入水的同时开始转头换气,随着前伸动作吸气,结束后就可以头部回转结束换气。 + + + +## 转肩转跨 + +转跨角度应该小于转肩,转肩稳胯,否则会左右扭。 + +身体转角度为45度。 + + + +## 划水 + +[自由泳赛场上的主流技术:详解「近体直划」高、低肘位](https://zhuanlan.zhihu.com/p/321906437) + + + +## 呼吸 + +> [参考](https://zhuanlan.zhihu.com/p/187132103) + +**我们要做到水下吐气,水上吸气。更详细的说应该是在水下把气吐干净,之后换气出水直接吸气。** + +留一口气换气前吐。 + +吐气用鼻子最好均匀一直吐,没法中间换闭气。 + + + + + From 75f162ec45f38b46a945f314404dba61a14e4c44 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 10 Nov 2022 22:07:56 +0800 Subject: [PATCH 115/318] add logbook --- .../2022-11-10-\350\207\252\347\224\261\346\263\263.md" | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git "a/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" "b/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" index 043a113f26..9e26a7bd1e 100644 --- "a/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" +++ "b/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" @@ -25,7 +25,7 @@ tags: DailyLife 所以跟随前伸手换气更容易掌握,入水的同时开始转头换气,随着前伸动作吸气,结束后就可以头部回转结束换气。 - + ## 转肩转跨 @@ -52,6 +52,3 @@ tags: DailyLife 吐气用鼻子最好均匀一直吐,没法中间换闭气。 - - - From 5714931eaeae128865f26af832607f17587abd9e Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 12 Nov 2022 20:45:00 +0800 Subject: [PATCH 116/318] add logbook --- .../2022-11-10-\350\207\252\347\224\261\346\263\263.md" | 6 ++++++ 1 file changed, 6 insertions(+) diff --git "a/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" "b/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" index 9e26a7bd1e..71f32851e4 100644 --- "a/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" +++ "b/_posts/DailyLife/2022-11-10-\350\207\252\347\224\261\346\263\263.md" @@ -52,3 +52,9 @@ tags: DailyLife 吐气用鼻子最好均匀一直吐,没法中间换闭气。 + +# 自由泳慢动作示范 + +[bilibili](https://www.bilibili.com/video/BV1cC4y1p7Ze/?spm_id_from=333.788.recommend_more_video.5&vd_source=4c51dba622ffb91bed5205311847907b) + +[bilibili](https://www.bilibili.com/video/BV1Gq4y1N74U/?spm_id_from=333.337.search-card.all.click&vd_source=4c51dba622ffb91bed5205311847907b) From 50b5c6d37a1a7118f5adee8b29ce4b7cb89f90af Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 12 Nov 2022 20:45:38 +0800 Subject: [PATCH 117/318] add logbook --- _posts/Tech/Algorithms/2021-12-05-BFS.md | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/_posts/Tech/Algorithms/2021-12-05-BFS.md b/_posts/Tech/Algorithms/2021-12-05-BFS.md index 9b8fa51044..4d5abffe80 100644 --- a/_posts/Tech/Algorithms/2021-12-05-BFS.md +++ b/_posts/Tech/Algorithms/2021-12-05-BFS.md @@ -11,23 +11,7 @@ tags: Algorithms - 在append时检查visit标记和设置visit标记 - 只能解决长度为1的问题 -``` -const visited = {} -function bfs() { - let q = new Queue() - q.push(初始状态) - while(q.length) { - let i = q.pop() - if (visited[i]) continue - for (i的可抵达状态j) { - if (j 合法) { - q.push(j) - } - } - } - // 找到所有合法解 -} -``` + 题目: From 8232129c7ab2c4b08bea7fc9801315a45a7ade28 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 12 Nov 2022 20:57:26 +0800 Subject: [PATCH 118/318] add logbook --- _posts/Tech/Algorithms/2021-12-05-BFS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/Tech/Algorithms/2021-12-05-BFS.md b/_posts/Tech/Algorithms/2021-12-05-BFS.md index 4d5abffe80..ffd0c10075 100644 --- a/_posts/Tech/Algorithms/2021-12-05-BFS.md +++ b/_posts/Tech/Algorithms/2021-12-05-BFS.md @@ -13,6 +13,10 @@ tags: Algorithms +也可以在queue pop时再check 是否visit和标记visit,时间复杂度加边数。 + + + 题目: - [求最少转弯的路径](https://mafulong.github.io/2018/08/27/bfs%E6%9C%80%E5%B0%8F%E8%BD%AC%E5%BC%AF%E8%B7%AF%E5%BE%84/) 每次转弯时加1 From a91655b94d48029b21536bf48df48921e9b970c9 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 13 Nov 2022 16:23:24 +0800 Subject: [PATCH 119/318] add logbook --- .../2021-08-12-\345\233\236\346\226\207.md" | 34 +++++++++- .../2022-05-01-\346\225\260\345\255\246.md" | 28 ++++++++ .../2018-06-01-\346\216\222\345\272\217.md" | 66 ++++++++++++++++++- 3 files changed, 124 insertions(+), 4 deletions(-) diff --git "a/_posts/Tech/Algorithms/2021-08-12-\345\233\236\346\226\207.md" "b/_posts/Tech/Algorithms/2021-08-12-\345\233\236\346\226\207.md" index e782af0844..ce69a52ac5 100644 --- "a/_posts/Tech/Algorithms/2021-08-12-\345\233\236\346\226\207.md" +++ "b/_posts/Tech/Algorithms/2021-08-12-\345\233\236\346\226\207.md" @@ -9,7 +9,7 @@ tags: Algorithms -#### Manacher 算法 +#### Manacher 算法 给你一个字符串 `s`,找到 `s` 中最长的回文子串。 @@ -19,8 +19,12 @@ tags: Algorithms 这里边长0表示a,边长1表示aaa -``` - n = len(s) +```python + ''' + 须先变为回文皆奇数长度, 可提前转换: s1 = '#' + '#'.join(list(s)) + '#' + ''' + + n = len(s) arm_len = [0] * n def expand(left, right): @@ -42,6 +46,23 @@ tags: Algorithms right = i + arm_len[i] ``` +时间复杂度o(n). + + + +根据以上得到的arm_len 判断某个子串是不是回文。 + +```python + def is_palindrome(s, i, j, armlen): + mid = (i + j) // 2 # 前半部分或中间 + # 找中心点,然后对应到s1上 + t = 2 * mid + 1 + if (j - i + 1) % 2 == 0: + t += 1 + return armlen[t] >= j - i + 1 + +``` + ## 回文技巧 @@ -49,3 +70,10 @@ tags: Algorithms DP: - 用 P(i,j) 表示字符串 s 的第 i到 j 个字母组成的串(下文表示成 s[i:j])是否为回文串 . 变成区间dp + + + +## 应用 + +- [647. 回文子串](https://leetcode.cn/problems/palindromic-substrings/) 给你一个字符串 `s` ,请你统计并返回这个字符串中 **回文子串** 的数目。1.中心扩展o(n2), 2. manacher o(n) +- [6236. 不重叠回文子字符串的最大数目](https://leetcode.cn/problems/maximum-number-of-non-overlapping-palindrome-substrings/) 实际是dp,判断s(i,j)是不是回文。 diff --git "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" index a917ad1b26..e22b6848d4 100644 --- "a/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" +++ "b/_posts/Tech/Algorithms/2022-05-01-\346\225\260\345\255\246.md" @@ -266,6 +266,34 @@ class Math1: 最小公倍数就是 a\*b/gcd(a,b) + + +### 多个数求最大公约数和最小公倍数 + +多个数的最大公约数: + +```python +def gcd_list(self, nums): + import math + cur = nums[0] + for i in range(1, len(nums)): + cur = math.gcd(cur, nums[i]) + return cur +``` + +多个数的最小公倍数: + +> 注意这里不是直接多个数乘积除以他们的gcd呀,而且不断一个一个加计算的。 + +```python +def lcm_list(self, nums): + import math + prod = 1 + for v in nums: + prod = prod * v / math.gcd(prod, v) + return prod +``` + ## 进制转换 ```c++ diff --git "a/_posts/Tech/algorithms/2018-06-01-\346\216\222\345\272\217.md" "b/_posts/Tech/algorithms/2018-06-01-\346\216\222\345\272\217.md" index 5d9940df0d..1de4bc1b79 100644 --- "a/_posts/Tech/algorithms/2018-06-01-\346\216\222\345\272\217.md" +++ "b/_posts/Tech/algorithms/2018-06-01-\346\216\222\345\272\217.md" @@ -801,4 +801,68 @@ class Solution: * 基数排序和桶排序可以看成是计数排序的泛化版本,使用了某些措施优化排序过程。 * 在桶排序中当桶的个数取最大值(max-min+1)的时候,就变成了计数排序,所以计数排序时桶排序的一种特例。 * 基数排序可以看做是多轮桶排序,基数排序以有效位的角度,每个有效位都进行一轮桶排序。 - * 当用最大值作为基数时,基数排序就退化成了计数排序。 \ No newline at end of file + * 当用最大值作为基数时,基数排序就退化成了计数排序。 + + + + + +## 排序问题 + +### 得到数组排序需要的最小交换次数 + +给一个序列,序列两两元素可以任意交换,求最少的交换次数使得序列有序 + +这是一个经典问题,一般有两种做法 + +![image-20221113155634380](/Users/mafulong/Library/Application Support/typora-user-images/image-20221113155634380.png) + +非置换环方法。 + +```python + def min_swaps(nums): + mp = {} + sort_nums = sorted(nums) + for i in range(len(sort_nums)): + mp[sort_nums[i]] = i + ans = 0 + for i in range(len(nums)): + while nums[i] != sort_nums[i]: + t = mp[nums[i]] + nums[i], nums[t] = nums[t], nums[i] + ans += 1 + return ans +``` + + + + + +**置换环的思想为** : 对每个节点,将其指向其排序后应该放到的位置,直到首位相接形成了一个环。 + +> [参考](https://leetcode.cn/problems/minimum-number-of-operations-to-sort-a-binary-tree-by-level/solution/by-liu-wan-qing-zjlj/) + +![QQ图片20221113152139.jpg](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211131558611.jpg) + +```python + def min_swaps(nums): + mp = {} + sort_nums = sorted(nums) + for i in range(len(sort_nums)): + mp[sort_nums[i]] = i + lops = 0 + flags = [] + for i in range(len(nums)): + flags.append(False) + for i in range(len(nums)): + if not flags[i]: + j = i + while not flags[j]: + flags[j] = True + j = mp[nums[j]] + lops += 1 + return len(nums) - lops +``` + + + From 0e793b073c088abe826058add475809656077f68 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 15 Nov 2022 16:36:03 +0800 Subject: [PATCH 120/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS.md | 75 ++++++++++++++++++++++- _posts/Tech/AWS/2022-10-04-AWS network.md | 2 +- 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md index 6e8895940d..256aaedf84 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -47,6 +47,8 @@ AWS的服务是按照region来划分的,在部署自己的应用之前,需 介绍完计算、网络、存储,接下来我想从应用的角度,讲讲在实际应用中,我们应该怎样使用AWS的服务。首先说消息队列,这个广泛应用的基础功能,AWS提供了[SQS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sqs/v2/home)和[SNS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sns/v3/home)。SQS是一个分布式的队列消息service,SNS是一个分布式的发布-订阅消息service。具体有人会问这两者有什么区别,这里给出了回答: [What is the difference between Amazon SNS and Amazon SQS?](https://link.zhihu.com/?target=https%3A//stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs)。 在我的实践中,SQS和SNS会结合起来使用,首先应用发布消息到SQS的queue里面,然后SNS消费这个queue的消息,放到自身的topic里面持久保存,然后其他的应用订阅这个topic,消费里面的消息。 + + 建设完一个应用,然后就是DevOps。AWS在[托管代码](https://www.zhihu.com/search?q=托管代码&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={"sourceType"%3A"answer"%2C"sourceId"%3A2333079486})、编译代码、部署应用、监控应用方面也提供了一整套服务,从前到后,[codeCommit](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codecommit) -> [codeArtifact](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codeartifact) -> [codeBuild](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codebuild) -> [codeDeploy](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codedeploy) -> [codePipeline](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/codesuite/codepipeline)。这一套实现了应用的continuous integration和continuous deployment。在监控方面,AWS提供了[cloudWatch](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/cloudwatch),可以以应用维度收集日志,视图化监控指标。AWS还提供了一个服务叫cloudFormation,这个服务在应用迁移的过程中,非常有用。Amazon内部很多都是国际化业务,应用需要部署到各个region。cloudFormation以yaml文本的形式记录下一个应用涉及到的各个服务资源配置,放在一个template里面。迁移到不同的region时,只需要一键run coudFormation template, 就可以部署好所有的AWS资源。 @@ -177,8 +179,79 @@ Dedicated hosts: 把物理机控制也给你,贵。和其他公司隔离开。 -### 数据库 +## 数据库 RDB: Amazon RDS, Redshit, Aurora. NoSQL: DynamoDB, Nepture, ElastiCache + + + + + +## IAM + + + +IAM (Identity Access Management) 由这些东西组成: + +- Users +- Groups 用户组 +- Roles +- Policy Documents 策略 + +``` +// An example policy: allowing any access to any resource +{ + "Version": "2012-10-17" + "Statement": [ + { + "Effect": "Allow", + "Action": "*", + "Resource": "*" + } + ] +} +``` + +IAM 是 Global的,不属于任何一个 region + +Root 账号是你第一次配置账号的时候创建的,它拥有完全的 Admin aceess + +新 User 刚创建时是没有权限的。 + + + + + +首先要知道, AWS 提供了许许多多种类的服务或者说资源供我们使用, 这些资源挂在我们的 AWS 账户下, 这个账户就是我们第一次用 AWS 时用邮箱和密码申请的, 以后我们所有的资源申请, 账单费用都会挂到这个户头. + +那么 IAM 算什么呢? IAM 不是 AWS 的专有名词, 它是一个通用概念, 全称是 Identity and Access Management, 其要解决的两个问题就是身份认证 (Authtication) 和授权 (Authorization). 为此 AWS IAM 设计了用户, 角色, 用户组, 权限策略等概念和机制 + + + +场景 + +1. 自己公司的员工想访问 AWS Console 查看所在项目组的基础设施 +2. AWS 账户里的 EC2/Lambda 实例想访问同账户下的一台 RDS +3. 公网里用户的手机想要访问我们的后端存储(借助 API Gateway) + + + +AWS IAM 并不关心你创建的 IAM User 是给人用还是给程序用 + + + +AWS 官方建议 root 用户的唯一用途, 就是[用来创建你的第一个 IAM 用户](https://link.zhihu.com/?target=https%3A//docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html%23lock-away-credentials), 把这第一个 IAM 用户设置为管理员, 然后以后的工作都用这个管理员用户来进行. + + + +## SNS vs SQS + +AWS提供了[SQS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sqs/v2/home)和[SNS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sns/v3/home)。SQS是一个分布式的队列消息service,SNS是一个分布式的发布-订阅消息service。具体有人会问这两者有什么区别,这里给出了回答: [What is the difference between Amazon SNS and Amazon SQS?](https://link.zhihu.com/?target=https%3A//stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs)。 在我的实践中,SQS和SNS会结合起来使用,首先应用发布消息到SQS的queue里面,然后SNS消费这个queue的消息,放到自身的topic里面持久保存,然后其他的应用订阅这个topic,消费里面的消息。 + + + +sqs是一对一,不能一对多,消息可持久化,不推只能等拉,拉完就删除。 + +sns可一对多,不能持久化,push模型。 diff --git a/_posts/Tech/AWS/2022-10-04-AWS network.md b/_posts/Tech/AWS/2022-10-04-AWS network.md index fbe377c5b2..05b79f9198 100644 --- a/_posts/Tech/AWS/2022-10-04-AWS network.md +++ b/_posts/Tech/AWS/2022-10-04-AWS network.md @@ -185,7 +185,7 @@ RT(Route Table)与Subnet相关连,用来描述网络路由。IGW: Internet # 总结 -VPN里多个AZ, 每个AZ都需要至少一个子网,默认是公有子网。但如果有internet访问不到的实例或者数据库,则需建个私有子网,私有子网默认不能访问internet,internet也不能访问私有子网。 +VPC里多个AZ, 每个AZ都需要至少一个子网,默认是公有子网。但如果有internet访问不到的实例或者数据库,则需建个私有子网,私有子网默认不能访问internet,internet也不能访问私有子网。 要走互联网必须走internet gateway,它对整个vpc生效, public subnet可直接通过IGW与互联网互联,私有子网再通过NAT走公有子网是可以访问internet的,反向不能。 From 3175addb1b4e6ed0560003cf1e90e6e19b156d56 Mon Sep 17 00:00:00 2001 From: fulong ma <846897373@qq.com> Date: Fri, 18 Nov 2022 15:22:23 +0800 Subject: [PATCH 121/318] Update 2021-09-30-AWS.md --- _posts/Tech/AWS/2021-09-30-AWS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS.md index 256aaedf84..a785e4cce7 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS.md @@ -255,3 +255,5 @@ AWS提供了[SQS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.co sqs是一对一,不能一对多,消息可持久化,不推只能等拉,拉完就删除。 sns可一对多,不能持久化,push模型。 + +sqs及aws笔记,更全, [link](http://www.cloudbin.cn/?p=2530) From 8424d4f5627896fd4fa1de80f91aaef0639f9a3e Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 18 Nov 2022 23:41:10 +0800 Subject: [PATCH 122/318] add logbook --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index bf5c9d82e8..da63b1599a 100644 --- a/_config.yml +++ b/_config.yml @@ -7,7 +7,7 @@ date_format: "ordinal" title: Fulongのblog subtitle: "Hi" description: "Fulongのblog" -# subtitle: "Legendary" +subtitle: "个人杂记" subtitle: "逃跑可耻但有用" keywords: logbook, mafulong timezone: Asia/Shanghai From 5eebddab97fe0287a80b4738a5774d7f778504bc Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 18 Nov 2022 23:41:36 +0800 Subject: [PATCH 123/318] add logbook --- _config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index da63b1599a..6ea856656d 100644 --- a/_config.yml +++ b/_config.yml @@ -7,8 +7,7 @@ date_format: "ordinal" title: Fulongのblog subtitle: "Hi" description: "Fulongのblog" -subtitle: "个人杂记" -subtitle: "逃跑可耻但有用" +subtitle: "随笔" keywords: logbook, mafulong timezone: Asia/Shanghai encoding: "utf-8" From 912a232e1ae49d39a9b60bdb41b5c5bf3b217f73 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 19 Nov 2022 21:43:49 +0800 Subject: [PATCH 124/318] add logbook --- ...09-30-AWS.md => 2021-09-30-AWS Overall.md} | 8 +- _posts/Tech/AWS/2022-10-04-AWS network.md | 2 +- _posts/Tech/AWS/2022-11-06-dynamoDB.md | 18 ----- _posts/Tech/AWS/2022-11-18-AWS Compute.md | 68 ++++++++++++++++ _posts/Tech/AWS/2022-11-18-AWS MQ.md | 10 +++ _posts/Tech/AWS/2022-11-18-AWS Storage.md | 79 +++++++++++++++++++ 6 files changed, 162 insertions(+), 23 deletions(-) rename _posts/Tech/AWS/{2021-09-30-AWS.md => 2021-09-30-AWS Overall.md} (97%) delete mode 100644 _posts/Tech/AWS/2022-11-06-dynamoDB.md create mode 100644 _posts/Tech/AWS/2022-11-18-AWS Compute.md create mode 100644 _posts/Tech/AWS/2022-11-18-AWS MQ.md create mode 100644 _posts/Tech/AWS/2022-11-18-AWS Storage.md diff --git a/_posts/Tech/AWS/2021-09-30-AWS.md b/_posts/Tech/AWS/2021-09-30-AWS Overall.md similarity index 97% rename from _posts/Tech/AWS/2021-09-30-AWS.md rename to _posts/Tech/AWS/2021-09-30-AWS Overall.md index a785e4cce7..cf8f874db8 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS.md +++ b/_posts/Tech/AWS/2021-09-30-AWS Overall.md @@ -197,8 +197,8 @@ IAM (Identity Access Management) 由这些东西组成: - Users - Groups 用户组 -- Roles -- Policy Documents 策略 +- Roles 角色可以分配给AWS服务,让AWS服务有访问其他AWS资源的权限。 举个例子,我们可以赋予EC2实例一个角色,让其有访问S3的读写权限(后面课程会有关于这一点的实操) +- Policy Documents 策略。 策略具体定义了能访问哪些AWS资源,并且能执行哪些操作(比如List, Read, Write等) 策略的文档以JSON的格式展现 ``` // An example policy: allowing any access to any resource @@ -214,6 +214,8 @@ IAM (Identity Access Management) 由这些东西组成: } ``` + + IAM 是 Global的,不属于任何一个 region Root 账号是你第一次配置账号的时候创建的,它拥有完全的 Admin aceess @@ -222,8 +224,6 @@ Root 账号是你第一次配置账号的时候创建的,它拥有完全的 Ad - - 首先要知道, AWS 提供了许许多多种类的服务或者说资源供我们使用, 这些资源挂在我们的 AWS 账户下, 这个账户就是我们第一次用 AWS 时用邮箱和密码申请的, 以后我们所有的资源申请, 账单费用都会挂到这个户头. 那么 IAM 算什么呢? IAM 不是 AWS 的专有名词, 它是一个通用概念, 全称是 Identity and Access Management, 其要解决的两个问题就是身份认证 (Authtication) 和授权 (Authorization). 为此 AWS IAM 设计了用户, 角色, 用户组, 权限策略等概念和机制 diff --git a/_posts/Tech/AWS/2022-10-04-AWS network.md b/_posts/Tech/AWS/2022-10-04-AWS network.md index 05b79f9198..3db9400473 100644 --- a/_posts/Tech/AWS/2022-10-04-AWS network.md +++ b/_posts/Tech/AWS/2022-10-04-AWS network.md @@ -1,7 +1,7 @@ --- layout: post category: AWS -title: AWS network +title: AWS Network tags: AWS --- diff --git a/_posts/Tech/AWS/2022-11-06-dynamoDB.md b/_posts/Tech/AWS/2022-11-06-dynamoDB.md deleted file mode 100644 index c14c97f276..0000000000 --- a/_posts/Tech/AWS/2022-11-06-dynamoDB.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: post -category: AWS -title: dynamoDB -tags: AWS ---- - -## dynamoDB - -[论文讲解](http://systemdesigns.blogspot.com/2016/01/dynamodb.html) - -[深入探讨 Amazon DynamoDB 的设计模 式、流复制和全局表](https://sides-share.s3.cn-north-1.amazonaws.com.cn/AWS+Webinar+2019/PDF/Amazon+DynamoDB+webinar.pdf) - -[官网](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors) - -[AWS 如何实现数据跨区域同步](https://techsummit.ctrip.com/pdf/songye.pdf) - -[MongoDB 与 DynamoDB 正面交锋](https://www.modb.pro/db/432414) diff --git a/_posts/Tech/AWS/2022-11-18-AWS Compute.md b/_posts/Tech/AWS/2022-11-18-AWS Compute.md new file mode 100644 index 0000000000..de192f6189 --- /dev/null +++ b/_posts/Tech/AWS/2022-11-18-AWS Compute.md @@ -0,0 +1,68 @@ +--- +layout: post +category: AWS +title: AWS Compute +tags: AWS +--- + +## AWS Compute + +## AMI + +AMI: amazon machine image 就是一堆配置,比如什么系统,安装哪些附加软件。可使用AMI启动一个同配置的实例。 类似docker的image + +**Amazon Machine Image (AMI)** 是亚马逊AWS提供的系统镜像,这个AMI包含了如下的信息: + +- 由实例的操作系统、应用程序和应用程序相关的配置组成的模板 +- 一个指定的需要在实例启动时附加到实例的卷的信息(比方说定义了使用8 GB的General Purpose SSD卷) + +下图所示的是AMI的生命周期,你可以创建并注册一个AMI,并且可以使用这个AMI来创建一个EC2实例。同时你也可以将这个AMI复制到同一个AWS区域或者不同的AWS区域。你同样也可以注销这个AMI镜像。 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211182358363.png) + +- **AMI是区域化的**,只能使用本区域的AMI来创建实例;但你可以将AMI从一个区域复制到另一个区域 + + + + + +## 弹性伸缩(Auto Scaling) + +**亚马逊弹性伸缩(Auto Scaling)**能**自动地**增加/减少EC2实例的数量,从而让你的应用程序一直能保持可用的状态。 + +你可以预定义Auto Scaling,使其在需求高峰期自动增加EC2实例,而在需求低谷自动减少EC2实例。这样不仅能让你的应用程序一直保持健康的状态,而且也节省了你为EC2实例所付出的费用。 + +Auto Scaling 适用于那些需求稳定的应用程序,同时也适用于在每小时、每天、甚至每周都有需求变化的应用程序。 + +- Auto Scaling能保证你一直拥有一定数量的EC2实例来分担应用程序的负载 +- Auto Scaling能带来更高的容错性、更好的可用性和更高的性价比 +- 你可以控制伸缩的策略来决定在什么时候终止和创建EC2实例,以处理动态变化的需求 +- 默认情况下,Auto Scaling能控制每一个可用区内所运行的实例数量尽量平均 + - 为了达到这个目标,Auto Scaling在需要启动新实例的时候,会选择一个目前拥有运行实例最少的可用区 + +Auto Scaling的构成组件: + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211190006430.png) + +### 启动配置(Launch Configuration) + +- 启动配置是弹性伸缩组用来启动EC2实例的时候所使用的模板 +- 启动配置包含了镜像文件(AMI),实例类型、密钥对、安全组和挂载的存储设备 +- 一个启动配置可以关联多个Auto Scaling组 +- **启动配置一经创建不能被更改,只能删除重建** +- 启动配置中可以使用CloudWatch的基础监控(Basic Monitoring)或者详细监控(Detail Monitoring) +- Auto Scaling automatically creates a launch configuration directly from an EC2 instance. + +### 弹性伸缩组(Auto Scaling Group) + +- 弹性伸缩组(ASG)是弹性伸缩的核心,它包含了多个拥有类似配置/类型的EC2实例,这些实例被逻辑上认为是一样的 +- 弹性伸缩组需要的几个参数: + - **启动配置(Launch Configuration)**:它决定了EC2使用什么模板,模板内容包括了镜像文件(AMI),实例类型、密钥对、安全组和挂载的存储设备 + - **最小和最大的性能**:决定了在弹性伸缩的情况下,EC2实例数量的浮动范围 + - **所需的性能**:决定了这个弹性伸缩组要保持的运作所需要的基本的EC2实例数量;如果没有填写,则默认为其数值等同于最小的性能 + - **可用区和子网**:定义EC2实例启动时候所在的可用区和子网信息 + - **参数和健康检查**:参数定义了何时启动新实例,何时终止旧实例;健康检查决定了实例的健康状态。 +- **如果一个EC2实例的健康状态变成“不健康”,那么ASG会终止这个EC2实例,并且自动启动一个新的EC2实例** +- 弹性伸缩组(ASG)只能在某一个AWS区域内运行,不能跨越多个区域 +- 如果启动配置(Launch Configuration)有更新,那么之后启动的新EC2实例会使用新的启动配置,而旧的EC2实例不受影响 +- 从AWS管理平台你可以直接删除一个弹性伸缩组(ASG);从AWS CLI你只能先将最小的性能和需求的性能两个参数设置为0,才能删除这个弹性伸缩组。 diff --git a/_posts/Tech/AWS/2022-11-18-AWS MQ.md b/_posts/Tech/AWS/2022-11-18-AWS MQ.md new file mode 100644 index 0000000000..b439e0cf6d --- /dev/null +++ b/_posts/Tech/AWS/2022-11-18-AWS MQ.md @@ -0,0 +1,10 @@ +--- +layout: post +category: AWS +title: AWS MQ +tags: AWS +--- + +## AWS MQ + + diff --git a/_posts/Tech/AWS/2022-11-18-AWS Storage.md b/_posts/Tech/AWS/2022-11-18-AWS Storage.md new file mode 100644 index 0000000000..fe24cc5ec6 --- /dev/null +++ b/_posts/Tech/AWS/2022-11-18-AWS Storage.md @@ -0,0 +1,79 @@ +--- +layout: post +category: AWS +title: AWS Storage +tags: AWS +--- + +## AWS Storage + +## dynamoDB + +[论文讲解](http://systemdesigns.blogspot.com/2016/01/dynamodb.html) + +[深入探讨 Amazon DynamoDB 的设计模 式、流复制和全局表](https://sides-share.s3.cn-north-1.amazonaws.com.cn/AWS+Webinar+2019/PDF/Amazon+DynamoDB+webinar.pdf) + +[官网](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors) + +[AWS 如何实现数据跨区域同步](https://techsummit.ctrip.com/pdf/songye.pdf) + +[MongoDB 与 DynamoDB 正面交锋](https://www.modb.pro/db/432414) + + + +## EBS + +### EBS的特点 + +- 亚马逊EBS卷提供了**高可用、可靠、持续性的块存储**,EBS可以依附到一个正在运行的EC2实例上 +- 如果你的EC2实例需要使用数据库或者文件系统,那么建议使用EBS作为首选的存储设备 +- EBS卷的存活可以脱离EC2实例的存活状态。也就是说在终止一个实例的时候,你可以选择保留该实例所绑定的EBS卷 +- EBS卷可以依附到**同一个可用区(AZ)**内的任何实例上 +- EBS卷可以被加密,如果进行了加密那么它存有的所有已有数据,传输的数据,以及制造的镜像都会被加密 +- **EBS卷可以通过快照(Snapshot)来进行(增量)备份,这个快照会保存在S3 (Simple Storage System)上** +- 你可以使用任何快照来创建一个基于该快照的EBS卷,并且随时将这个EBS卷应用到**该区域**的任何实例上 +- EBS卷创建的时候已经固定了可用区,并且**只能给该可用区的实例使用**。如果需要在其他可用区使用该EBS,那么可以创建快照,并且使用该快照创建一个在其他可用区的新的EBS卷 +- **快照还可以复制到其他的AWS区域** + +### EBS (Elastic Block Storage)小结 + +- EBS的不同类型,需要了解不同类型的EBS主要的使用场景 + - 通用型SSD – GP2 (高达10,000 IOPS),适用于启动盘,低延迟的应用程序等 + - 预配置型SSD – IO1 (超过10,000 IOPS),适用于IO密集型的数据库 + - 吞吐量优化型HDD -ST1,适用于数据仓库,日志处理 + - HDD Cold – SC1 – 适合较少使用的冷数据 + - HDD, Magnetic +- 不能将EBS挂载到多个EC2实例上,一个EBS只能挂载到1个EC2实例上。 + - 如果有共享数据盘的需求,请使用EFS (Elastic File System) +- 根EBS卷默认是不能进行加密的,但可以使用第三方的加密工具(例如BitLocker)对其进行加密 + - *除了根磁盘外的其他卷是可以加密的* + +### EBS快照(Snapshot)小结 + +- *EBS的快照会被保存到S3(Simple Storage System)上* + +- *你可以对一个EBS卷创建一个快照,这个快照会被保存到S3上* + +- 快照实际上是 + + 增量备份 + + ,只有在上次进行快照之后更改的数据才会被添加的S3上 + + - 因此第一次快照所花费的时间比较长 + - 而第二次以后的快照所花费的时间相对短很多 + +- 对加密的EBS卷创建快照,创建后的快照也会是加密的 + +- 从加密的快照恢复的EBS卷也会是加密的 + +- 你可以分享快照给其他账户或AWS市场,但仅限于这个快照是没有进行过加密的 + +- 要为一个作为根设备的EBS卷创建快照的话,建议停止这个实例再做快照 + +### 实例存储(Instance Store) + +- 实例存储也叫做**短暂性存储(Ephemeral Storage)** +- 实例存储的实例不能被停止(只能重启或终止),如果这个实例出现故障,那么在上面的所有数据将会丢失 +- 使用EBS的实例可以被停止,停止后EBS上的数据不会丢失 +- 重启使用实例存储的实例或者重启使用EBS的实例都不会导致数据丢失 From deaab7ddd29265829395af45155716e06c8e61e0 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 19 Nov 2022 23:19:42 +0800 Subject: [PATCH 125/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS Overall.md | 7 + _posts/Tech/AWS/2022-10-04-AWS network.md | 154 ++++++++++++++++++++-- _posts/Tech/AWS/2022-11-18-AWS Compute.md | 62 +++++++++ _posts/Tech/AWS/2022-11-18-AWS Storage.md | 78 +++++++++++ 4 files changed, 290 insertions(+), 11 deletions(-) diff --git a/_posts/Tech/AWS/2021-09-30-AWS Overall.md b/_posts/Tech/AWS/2021-09-30-AWS Overall.md index cf8f874db8..907d4783de 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS Overall.md +++ b/_posts/Tech/AWS/2021-09-30-AWS Overall.md @@ -257,3 +257,10 @@ sqs是一对一,不能一对多,消息可持久化,不推只能等拉, sns可一对多,不能持久化,push模型。 sqs及aws笔记,更全, [link](http://www.cloudbin.cn/?p=2530) + + + +## 参考 + +[参考](http://www.cloudbin.cn/?tag=aws) + diff --git a/_posts/Tech/AWS/2022-10-04-AWS network.md b/_posts/Tech/AWS/2022-10-04-AWS network.md index 3db9400473..a0826ac349 100644 --- a/_posts/Tech/AWS/2022-10-04-AWS network.md +++ b/_posts/Tech/AWS/2022-10-04-AWS network.md @@ -7,6 +7,8 @@ tags: AWS # AWS network +## 名词解释 + [参考](https://docs.amazonaws.cn/vpc/latest/userguide/what-is-amazon-vpc.html) - **Virtual Private Cloud (VPC)** @@ -51,22 +53,108 @@ tags: AWS 使用 [Amazon Virtual Private Network (Amazon VPN)](https://docs.amazonaws.cn/vpc/latest/userguide/vpn-connections.html) 将 VPC 连接到您的本地网络。 +## VPC + +**Amazon Virtual Private Cloud (Amazon VPC)**允许你在已定义的虚拟网络内启动AWS资源。这个虚拟网络与你在数据中心中运行的传统网络极其相似,并会为你提供使用AWS的可扩展基础设施的优势。 + +简单来说,VPC就是一个AWS用来隔离你的网络与其他客户网络的虚拟网络服务。在一个VPC里面,用户的数据会逻辑上地与其他AWS租户分离,用以保障数据安全。 + +**可以简单地理解为一个VPC就是一个虚拟的数据中心**,在这个虚拟数据中心内我们可以创建不同的子网(公有网络和私有网络),搭建我们的网页服务器,应用服务器,数据库服务器等等服务。 + +### VPC有如下特点 + +- VPC内可以创建多个子网 + +- 可以在选择的子网上启动EC2实例 + +- 在每一个子网上分配自己规划的IP地址 + +- 每一个子网配置自己的路由表 + +- 创建一个Internet Gateway并且绑定到VPC上,让EC2实例可以访问互联网 + +- VPC对你的AWS资源有更安全的保护 + +- 部署针对实例的安全组(Security Group) + +- 部署针对子网的**网络控制列表(Network Access Control List)** + +- 一个VPC可以跨越多个可用区(AZ) + +- **一个子网只能在一个可用区(AZ)内** + +- 安全组(Security Group)是 + + 有状态的 + + ,而网络控制列表(Network Access Control List)是 + + 无状态的 + + - 有状态:如果入向流量被允许,则出向的响应流量会被自动允许 + - 无状态:入向规则和出向规则需要分别单独配置,互不影响 + - 具体的区别挨踢小茶会在后续的章节详细讲解 + +- VPC的子网掩码范围是从/28到/16,不能设置在这个范围外的子网掩码 + +- VPC可以通过Virtual Private Gateway (VGW) 来与企业本地的数据中心相连 + +- VPC可以通过AWS PrivateLink访问其他AWS账户托管的服务(VPC终端节点服务) + + + +### VPC Peering + +**VPC Peering**可是两个VPC之间的网络连接,通过此连接,你可以使用IPv4地址在两个VPC之间传输流量。这两个VPC内的实例会和如果在同一个网络一样彼此通信。 + +- 可以通过AWS内网将一个VPC与另一个VPC相连 +- 同一个AWS账号内的2个VPC可以进行VPC Peering +- 不同AWS账号内的VPC也可以进行VPC Peering +- 不支持VPC Transitive Peering + - 如果VPC A和VPC B做了Peering + - 而且VPC B和VPC C做了Peering + - 那么VPC A是**不能**和VPC C进行通信的 + - 要通信,只能将VPC A和VPC C进行Peering + +### 默认VPC + +- 在每一个区域(Region),AWS都有一个默认的VPC +- 在这个VPC里面所有子网都绑定了一个路由表,其中有默认路由(目的地址 0.0.0.0/0)到互联网 +- 所有在默认VPC内启动的EC2实例都可以直接访问互联网 +- 在默认VPC内启动的EC2实例都会被分配公网地址和私有地址 +如下图所示,我们在某一个区域内有一个VPC,这个VPC的网络是172.31.0.0/16 +在这个VPC内有2个子网,分别是172.31.0.0/20 和 172.31.16.0/20。这两个子网内都有一个EC2实例,每一个实例拥有一个该子网的私有地址(172.31.x.x)以及一个AWS分配的公网IP地址(203.0.113.x)。 +这两个实例关联了一个主路由表,该路由表拥有一个访问172.31.0.0/16 VPC内流量的路由条目;还有一个目的为 0.0.0.0/0 的默认路由条目,指向Internet网关。 -# 工作原理 +因此这两个实例都可以通过Internet网关访问外网。 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211192248477.png) + +### VPC终端节点(VPC Endpoints) + +在一般的情况下,如果你需要访问S3服务,EC2实例或者DynamoDB的资源,你需要通过Internet公网来访问这些服务。有没有更快速、更安全的访问方式呢? + +**VPC终端节点(VPC Endpoints)**提供了这种可能性。 + +VPC终端节点能建立VPC和一些AWS服务之间的高速、私密的“专线”。这个专线叫做PrivateLink,使用了这个技术,你无需再使用Internet网关、NAT网关、VPN或AWS Direct Connect连接就可以访问到一些AWS资源了! + + + +## 工作原理 [参考](https://docs.amazonaws.cn/vpc/latest/userguide/how-it-works.html) -## IP 寻址 +### IP 寻址 创建 VPC 时,需要为其分配一个 IPv4 CIDR 块(一系列私有 IPv4 地址)、一个 IPv6 CIDR 块或同时分配两种 CIDR 块(双堆栈)。 私有 IPv4 地址无法通过 Internet 访问。IPv6 地址具有全球唯一性,可以配置为保持私有或通过互联网进行访问。 公有 IP 地址将从 Amazon 的公有 IP 地址池分配,它不与您的账户关联。在公有 IP 地址与您的实例取消关联后,该地址即释放回该池,并且不再可供您使用。您不能手动关联或取消关联公有 IP 地址。而是在某些情况下,我们从您的实例释放该公有 IP 地址,或向其分配新地址。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南 中的公有 IP 地址。 -## 访问 Internet +### 访问 Internet > 私有网络不能访问互联网,需要互联网网关,私有网络内部之间可通信。 @@ -80,17 +168,29 @@ tags: AWS 如果您将 IPv6 CIDR 块与 VPC 关联并为实例分配 IPv6 地址,则实例可以通过互联网网关通过 IPv6 连接到互联网。或者,实例也可以使用仅出口互联网网关经由 IPv6 发起到互联网的出站连接。IPv6 流量独立于 IPv4 流量;您的路由表必须包含单独的 IPv6 流量路由。 -# 连接 VPC 和网络 -您可以在两个 VPC 之间创建一个 *VPC 对等连接*,然后通过此连接不公开地在这两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。 +默认情况下,默认子网为公有子网,因为主路由表会将指定发往 Internet 的子网流量发送到 Internet 网关。 -默认情况下,默认子网为公有子网,因为主路由表会将指定发往 Internet 的子网流量发送到 Internet 网关。 + +### NAT + +NAT的全程是“**Network Address Translation**”,中文解释是“**网络地址转换**”,它可以让整个机构只使用一个公有的IP地址出现在Internet上。 + +NAT是一种把内部私有地址(192.168.1.x,10.x.x.x等)转换为Internet公有地址的协议,它一定程度上解决了公网地址不足的问题。 + +- NAT实例需要创建在公有子网内 + -# 场景 + +**堡垒机(Bastion Host)**又叫做跳板机(Jump Box),主要用于运维人员远程登陆服务器的集中管理。运维人员首先登陆到这台堡垒机(公网),然后再通过堡垒机管理位于内网的所有服务器。 + +堡垒机可以对运维人员的操作行为进行控制和审计,同时可以结合Token等技术达到更加安全的效果。 + +## VPC场景 **带单个公有子网的 VPC**: 此场景的配置包含一个有单一公有子网的 Virtual Private Cloud (VPC),以及一个 Internet 网关以启用 Internet 通信。如果您要运行单一层级且面向公众的 Web 应用程序,如博客或简单的网站,则我们建议您使用此配置。 @@ -98,7 +198,7 @@ tags: AWS 公有子网中的实例可直接将出站流量发往 Internet,而私有子网中的实例不能这样做。但是,私有子网中的实例可使用位于公有子网中的网络地址转换 (NAT) 网关访问 Internet。数据库服务器可以使用 NAT 网关连接到 Internet 进行软件更新,但 Internet 不能建立到数据库服务器的连接。 -# **Security Groups(安全组)** +## **Security Groups(安全组)** [参考](https://zhuanlan.zhihu.com/p/151419823) @@ -111,7 +211,24 @@ Security Group(SG)通过控制IP和端口来控制出站入站规则,可 -# Difference between Internet Gateway and NAT Gateway +## 网络ACL(NACL) + +**网络访问控制列表(NACL)**与安全组(Security Group)类似,它能在子网的层面控制所有入站和出站的流量,为VPC提供更加安全的保障。 + + + +- 在你的**默认VPC**内会有一个默认的网络ACL(NACL),它会**允许**所有入向和出向的流量 +- 你可以创建一个自定义的网络ACL,在创建之初所有的入向和出向的流量都会被**拒绝**,除非进行手动更改 +- 对于所有VPC内的子网,每一个子网都需要关联一个网络ACL。如果没有关联任何网络ACL,那么子网会关联默认的网络ACL +- 一个网络ACL可以关联多个子网,但一个子网只能关联一个网络ACL +- 网络ACL包含了一系列(允许或拒绝)的规则,网络ACL会按顺序执行,一旦匹配就结束,不会再继续往下匹配 +- 网络ACL有入向和出向的规则,每一条规则都可以配置允许或者拒绝 +- 网络ACL是无状态的(安全组是有状态的) + - 被允许的入向流量的响应流量必须被精准的出向规则所允许(反之亦然) + - 一般至少需要允许临时端口(TCP 1024-65535) + - 关于临时端口的知识,可以参见[这里](https://docs.aws.amazon.com/zh_cn/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports) + +## Difference between Internet Gateway and NAT Gateway @@ -120,7 +237,7 @@ Security Group(SG)通过控制IP和端口来控制出站入站规则,可 - Internet Gateway (IGW) allows instances with public IPs to access the internet. - NAT Gateway (NGW) allows instances with no public IPs to access the internet. -# 参考Note 基础概念 +## 参考 [参考](https://juejin.cn/post/6949072638145003556) @@ -183,10 +300,25 @@ RT(Route Table)与Subnet相关连,用来描述网络路由。IGW: Internet -# 总结 +[参考](http://www.cloudbin.cn/?tag=aws) 暂无Note + +## 总结 VPC里多个AZ, 每个AZ都需要至少一个子网,默认是公有子网。但如果有internet访问不到的实例或者数据库,则需建个私有子网,私有子网默认不能访问internet,internet也不能访问私有子网。 要走互联网必须走internet gateway,它对整个vpc生效, public subnet可直接通过IGW与互联网互联,私有子网再通过NAT走公有子网是可以访问internet的,反向不能。 和互联网连接时都需要有个公网ip,这个是从amazon分配的。 + + + +## Route 53 + +**Amazon Route 53**是一种高可用、高扩展性的云DNS服务。 + +不同的DNS记录: + +- **CNAME** – CNAME (Canonical Name)可以将一个域名指向另一个域名。比如将aws.xiaopeiqing.com指向xiaopeiqing.com +- Alias记录 – 和CNAME类似,又叫做别名记录,可以将一个域名指向另一个域名。 + - **和CNAME最大的区别是,Alias可以应用在根域(Zone Apex)。即可以为xiaopeiqing.com的根域创建Alias记录,而不能创建CNAME** + - 别名记录可以节省你的时间,因为Route53会自动识别别名记录所指的记录中的更改。例如,假设example.com的一个别名记录指向位于lb1-1234.us-east-2.elb.amazonaws.com上的一个ELB负载均衡器。如果该负载均衡器的IP地址发生更改,Route53将在example.com的DNS应答中自动反映这些更改,而无需对包含example.com的记录的托管区域做出任何更改。 弹性负载均衡器(ELB)没有固定的IPv4地址,在使用ELB的时候永远使用它的DNS名字。很多场景下我们需要绑定DNS记录到ELB的endpoint地址,而不绑定任何IP diff --git a/_posts/Tech/AWS/2022-11-18-AWS Compute.md b/_posts/Tech/AWS/2022-11-18-AWS Compute.md index de192f6189..5c602ab6fa 100644 --- a/_posts/Tech/AWS/2022-11-18-AWS Compute.md +++ b/_posts/Tech/AWS/2022-11-18-AWS Compute.md @@ -66,3 +66,65 @@ Auto Scaling的构成组件: - 弹性伸缩组(ASG)只能在某一个AWS区域内运行,不能跨越多个区域 - 如果启动配置(Launch Configuration)有更新,那么之后启动的新EC2实例会使用新的启动配置,而旧的EC2实例不受影响 - 从AWS管理平台你可以直接删除一个弹性伸缩组(ASG);从AWS CLI你只能先将最小的性能和需求的性能两个参数设置为0,才能删除这个弹性伸缩组。 + + + +## ECS + +**Amazon Elastic Container Service (ECS)**是一个有高度扩展性的**容器管理服务**。它可以轻松运行、停止和管理集群上的Docker容器,你可以将容器安装在EC2实例上,或者使用**Fargate**来启动你的服务和任务。 + +Amazon ECS可以在一个区域内的多个可用区中创建高可用的应用程序容器,你可以定义集群中运行的Docker镜像和服务。而且你可以充分利用AWS内部的**Amazon ECR (Elastic Container Registry)**或者外部的Registry(比如Docker Hub或自建的Registry)来存储和提取容器镜像。 + + + +我们可以将标准化的代码、运行环境、系统工具等等打包成一个标准的集装箱,这个集装箱叫做**Docker镜像**(Docker Image)。这个Docker镜像的概念类似于EC2中的AMI (Amazon Machine Image)。 + +这些镜像文件通常会通过Dockerfile来构建,并且最终存放到**注册表(Registry)**内。这个Registry可以理解为摆放集装箱的码头,我们在需要某个类型的集装箱的时候就到码头去取。这类Registry可以是Amazon的ECR,也可以是公网上的Docker Hub,或者自己私有的Registry。 + + + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211192204245.png) + +### ECS创建举例 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211192208630.png) + + + +## **Lambda** + +使用**AWS Lambda**,你无需配置和管理任何服务器和应用程序就能运行你的代码。只需要上传代码,Lambda就会处理运行并且根据需要自动进行横向扩展。因此Lambda也被称为**无服务(Serverless)**函数。 + +要让AWS Lambda的代码执行,需要设定一些触发器(比如CloudWatch Log,CloudWatch Event,API Gateway等),因此Lambda函数被认为是**事件驱动的(Event-Driven)**。 + +在传统的应用部署过程中,我们往往需要安装操作系统 -> 安装应用程序 -> 配置环境并部署代码,而且往往还需要不定时地为操作系统和应用程序打补丁和进行维护。使用AWS Lambda就方便很多,只需要上传代码,AWS就会在需要的时候帮你运行。我们不再需要(也无法接触)任何操作系统层面的东西,也节省了非常多的部署时间,可以更专心地编写代码。 + + + +### AWS Lambda的特点 + +- 没有服务器/无服务,或者说真实的服务器由AWS管理 +- 只需要为运行的代码付费,不需要管理服务器和操作系统 +- **持续性/自动的性能伸缩** +- 非常便宜 +- AWS只会在代码运行期间收取相应的费用,代码未运行时不产生任何费用 +- **代码的最长执行时间是15分钟,如果代码执行时间超过15分钟,则需要将1个代码细分为多个** + +### 触发器有哪些 + +- **API Gateway** +- **AWS IoT** +- **CloudWatch Events** 比如cron job定时任务 +- CloudWatch Logs +- CodeCommit +- DynamoDB +- S3 +- SNS +- Cognito Sync Trigger +- SQS应该也可以? + + + +## 参考 + +[参考](http://www.cloudbin.cn/?tag=aws) diff --git a/_posts/Tech/AWS/2022-11-18-AWS Storage.md b/_posts/Tech/AWS/2022-11-18-AWS Storage.md index fe24cc5ec6..0fcad026ae 100644 --- a/_posts/Tech/AWS/2022-11-18-AWS Storage.md +++ b/_posts/Tech/AWS/2022-11-18-AWS Storage.md @@ -77,3 +77,81 @@ tags: AWS - 实例存储的实例不能被停止(只能重启或终止),如果这个实例出现故障,那么在上面的所有数据将会丢失 - 使用EBS的实例可以被停止,停止后EBS上的数据不会丢失 - 重启使用实例存储的实例或者重启使用EBS的实例都不会导致数据丢失 + + + +## AWS EBS, S3和EFS的区别 + +- AWS S3对于静态页面的托管、多媒体分发、版本管理、大数据分析、数据存档来说都非常有用。S3可以和AWS CloudFront结合使用而达到更快的上传和下载速度。 +- AWS EBS是可以用来做数据库或托管应用程序的持续性文件系统,EBS具有很高的IO读写速度并且即插即用。 只能被单个EC2实例访问 +- 相比前面两种存储,AWS EFS是比较新的一项服务。它提供了可以在多个EC2实例之间共享的网络文件系统,功能类似于NAS设备。可以用EFS来处理大数据分析、多媒体处理和内容管理。 + +## S3 + +Amazon **Simple Storage Service (S3)** 是互联网存储解决方案,它提供了一个简单的Web接口,让其存储的数据和文件在互联网的任何地方给任何人访问。 + +文件对象存储。 + + + +### S3基本特性 + +- S3是**对象存储**,可以在S3上存储各种类型的文件,它不是**块存储**(EBS是块存储) +- 文件大小可以从0 字节到5 TB + - 使用Single Operation上传只能上传*最大5 GB*的文件 + - 使用分段上传(Multipart Upload)可以对文件进行分段上传,最大支持上传*5 TB*的文件 +- S3的总存储空间是**无限大**的 +- 文件存储在**存储桶(Bucket)**内,可以理解存储桶就是一个文件夹 +- S3的名字是需要**全球唯一**的,不能与任何区域的任何人拥有的S3重名 +- 存储桶创建之后会生成一个URL,命名类似于https://s3-ap-northeast-1.amazonaws.com/aws_xiaopeiqing_com + - **S3是以HTTPS的形式展现的,而非HTTP** + - ap-northeast-1表示了当前桶所在的区域 + - aws_xiaopeiqing_com表示了S3存储桶的名字,全球唯一 +- S3拥有99.99%(4个9)的可用性(Availability) + - 可用性可以理解为系统的uptime时间,即在一个自然年内(365天)有52.56分钟系统不可用 +- S3拥有99.999999999%(11个9)的持久性(Durability) + - 持久性可以认为是数据完整性/数据安全性,即在一千亿个存储在S3上的文件会有大概 1 个文件是不可读的 +- S3的存储桶创建的时候可以选择所在区域(Region),但不能选择可用区(AZ),AWS会负责S3的高可用、容灾问题 + - S3创建的时候可以选择某个AWS区域,一旦选择了就不能更改 + - 如果要在其他区域使用该S3的内容,可以使用**跨区域复制** +- S3拥有不同的等级(Standard, Stantard-IA, Onezone-IA, RRS, Glacier) +- 启用了**版本控制(Version Control)**你可以恢复S3内的文件到之前的版本 +- S3可以开启生命周期管理,对文件在不同的生命周期进行不同的操作 + - 比如,文件在创建30天后迁移到便宜的S3等级(S3-IA),再经过30天进行归档(迁移到Glacier),再过30天就进行删除 +- 要启用生命周期管理需要先启用版本控制功能 +- S3支持加密功能 +- 使用访问控制列表(Access Control Lists)和桶策略(Bucket Policy)可以控制S3的访问安全 +- 在S3上成功上传了文件,你将会得到一个**HTTP 200**的状态反馈 + +### 不同的S3存储类型 + +- **Standard – 默认的存储类:**如果上传对象时未注明则S3会分配这个类型的存储 +- **Standard – IA(Infrequently Accessed):**用于保存不经常访问的数据,但是需要访问的时候也能很快地访问到。存储的价格比标准S3便宜,但是读取的费用比标准的S3高,也因为如此才要把不经常访问的数据放到这种类型的S3上。并且数据跨了多个AWS地理位置。 +- **Intelligent_Tiering** 智能分层(S3 智能分层): 这种储存类别将对象存储在两个访问层中,一个是频繁访问的层,一个是不频繁访问的层;如果对象`30`天内未访问,则会被移动至不频繁访问的层,如果不频繁访问层中的对象被访问,则会被移动至频繁访问的层;频繁访问的层的存储费用与`STANDARD`一样,不频繁访问层的存储费用与`STANDARD_IA`一样,该储存类别的请求费用与`STANDARD`一样,**该储存类别有额外的监控费用**; +- **Onezone – IA:**同上,但数据只保存到一个AWS可用区内 +- **Glacier:**非常便宜,仅用于做归档。从Glacier读取数据需要花费3-5个小时。 +- **Glacier Deep Archive:** S3 Glacier Deep Archive 是 Amazon S3 成本最低的存储类,支持每年可能访问一两次的数据的长期保留和数字预留。它是为客户设计的 – 特别是那些监管严格的行业,如金融服务、医疗保健和公共部门 – 为了满足监管合规要求,将数据集保留 7-10 年或更长时间。S3 Glacier Deep Archive 还可用于备份和灾难恢复使用案例,是成本效益高、易于管理的磁带系统替代,无论磁带系统是本地库还是非本地服务都是如此。S3 Glacier Deep Archive 是 Amazon S3 Glacier 的补充,后者适合存档,其中会定期检索数据并且每隔几分钟可能需要一些数据。存储在 S3 Glacier Deep Archive 中的所有对象都将接受复制并存储在至少三个地理分散的可用区中,受 99.999999999% 的持久性保护,并且可在 12 小时内恢复。 + +## CloudFront CDN + +**Amazon CloudFront**是一种全球**内容分发网络(CDN)**服务,可以安全地以低延迟和高传输速度向浏览者分发数据、视频、应用程序和API。 + + + +- **边缘站点(Edge Location)**:边缘站点是内容缓存的地方,它存在于多个网络服务提供商的机房,它和AWS区域和可用区是完全不一样的概念。截至2018年中,AWS目前一共有100多个边缘站点。 +- **源(Origin)**:这是CDN缓存的内容所使用的源,源可以是一个S3存储桶,可以是一个EC2实例,一个弹性负载均衡器(ELB)或Route53,甚至可以是AWS之外的资源。 +- **分配(Distribution)**:AWS CloudFront创建后的名字 +- 分配分为两种类型,分别是 + - **Web Distribution**:一般的网站应用 + - **RTMP (Real-Time Messaging Protocol)**:媒体流 +- 你不只是可以从边缘站点读取数据,你还可以往边缘站点写入数据(比如上传一个文件),边缘站点会将你写入的数据同步到源上 +- 在CloudFront上的文件会被缓存在边缘节点,缓存的时间是**TTL(Time To Live)**。文件存在超过这个时间,缓存会被自动清除 +- 如果在到达TTL时间之前,你希望更新文件,那么你也可以**手动清除缓存**,但你将会被AWS**收取一定的费用** + + + + + +## 参考 + +[参考](http://www.cloudbin.cn/?p=1968) From 1553b3fcbeb1044284101a97782b23d6409d04a0 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 20 Nov 2022 22:58:33 +0800 Subject: [PATCH 126/318] add logbook --- _posts/Tech/AWS/2022-11-18-AWS Storage.md | 57 +++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/_posts/Tech/AWS/2022-11-18-AWS Storage.md b/_posts/Tech/AWS/2022-11-18-AWS Storage.md index 0fcad026ae..ed5683197f 100644 --- a/_posts/Tech/AWS/2022-11-18-AWS Storage.md +++ b/_posts/Tech/AWS/2022-11-18-AWS Storage.md @@ -150,7 +150,64 @@ Amazon **Simple Storage Service (S3)** 是互联网存储解决方案,它提 +## Multi-AZ高可用 +我们可以把AWS RDS数据库部署在多个**可用区(AZ)**内,以提供高可用性和故障转移支持。 + +使用Multi-AZ部署模式,RDS会在不同的可用区内配置和维护一个主数据库和一个备用数据库,主数据库的数据会自动复制到备用数据库中。 + +使用这种部署模式,可以为我们提供数据冗余,减少在系统备份期间的I/O冻结(上面有提到)。同时,更重要的是可以防止数据库实例的故障和单个可用区的故障。 + +如下图所示,我们可以在两个可用区内分别部署主数据库和备用数据库。 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211192338177.png) + +目前Multi-AZ支持以下数据库: + +- Oracle +- PostgreSQL +- MySQL +- MariaDB +- SQL Server + +值得注意的是,Aurora数据库本身就支持多可用区部署的高可用设置,因此不需要为Aurora数据库特别开启这个功能。 + +在上次实验中我们有讲到,创建了RDS数据库之后我们会得到一个数据库的URL Endpoint。在开启Multi-AZ的情况下,这个URL Endpoints会根据主/备数据库的健康状态自动解析到IP地址。对于应用程序来说,我们只需要连接这个URL地址即可。 + +**高可用的设置只是用来解决灾备的问题,并不能解决读取性能的问题;要提升数据库读取性能,我们需要用到Read Replicas。** + + + +### 只读副本(Read Replicas) + +我们可以在源数据库实例的基础上,复制一种新类型的数据库实例,称之为**只读副本(Read Replicas)**。我们对源数据库的任何更新,都会**异步**更新到只读副本中。 + +因此,我们可以将应用程序的数据库读取功能转移到Read Replicas上,来减轻源数据库的负载。 + +对于有大量读取需求的数据库,我们可以使用这种方式来进行灵活的数据库扩展,同时突破单个数据库实例的性能限制。 + +Read Replicas还有如下的特点: + +- Read Replicas是用来提高读取性能的,不是用来做灾备的 +- 要创建Read Replicas需要源RDS实例开启了自动备份的功能 +- 可以为数据库创建最多**5个**Read Replicas +- 可以为Read Replicas创建Read Replicas(如下图所示) +- 每一个Read Replicas都有自己的URL Endpoint +- 可以为一个启用了Multi-AZ的数据库创建Read Replicas +- Read Replicas可以提升成为独立的数据库 +- 可以创建位于另一个区域(Region)的Read Replicas + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211192340392.png) + +目前Read Replicas支持以下数据库: + +- Aurora +- PostgreSQL +- MySQL +- MariaDB +- Oracle + +https://amazonaws-china.com/cn/rds/details/read-replicas/ ## 参考 From 0e98de3d7d329486ae4b27ec3a7b74eb28da8faf Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 20 Nov 2022 23:36:25 +0800 Subject: [PATCH 127/318] add logbook --- _posts/Tech/AWS/2021-09-30-AWS Overall.md | 2 + _posts/Tech/AWS/2022-11-18-AWS MQ.md | 75 +++++++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/_posts/Tech/AWS/2021-09-30-AWS Overall.md b/_posts/Tech/AWS/2021-09-30-AWS Overall.md index 907d4783de..4ee54bd11f 100644 --- a/_posts/Tech/AWS/2021-09-30-AWS Overall.md +++ b/_posts/Tech/AWS/2021-09-30-AWS Overall.md @@ -139,7 +139,9 @@ AWS介绍视频: [youtube](https://www.youtube.com/watch?v=Z3SYDTMP3ME&ab_channe codeCommit类似github这样代码仓库。 +## Example: WordPress +[link](http://www.cloudbin.cn/?p=2647) ## 考证 diff --git a/_posts/Tech/AWS/2022-11-18-AWS MQ.md b/_posts/Tech/AWS/2022-11-18-AWS MQ.md index b439e0cf6d..d8e16b7db2 100644 --- a/_posts/Tech/AWS/2022-11-18-AWS MQ.md +++ b/_posts/Tech/AWS/2022-11-18-AWS MQ.md @@ -7,4 +7,79 @@ tags: AWS ## AWS MQ +## SQS(Simple Queue Service) + +SQS有两种不同类型的队列,它们分别是: + +- **标准队列**(Standard Queue) +- **FIFO队列**(先进先出队列) + +### 标准队列 + +标准队列拥有**无限的吞吐量**,所有消息都会**至少传递一次**,并且它会尽最大努力进行排序。 + +标准队列是默认的队列类型。 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211202300608.png) + +### FIFO队列 + +FIFO (First-in-first-out)队列在不使用批处理的情况下,**最多支持300TPS**(每秒300个发送、接受或删除操作)。 + +在队列中的消息都只会**不多不少地被处理一次**。 + +FIFO队列严格保持消息的**发送和接收顺序**。 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211202300750.png) + +更多关于标准队列和FIFO队列的区别,可以查看[我需要哪种类型的队列?](https://docs.aws.amazon.com/zh_cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html#sqs-queue-types) + +### SQS的其他特点 + +- SQS是靠应用程序去**拉取的**,而不能主动推送给应用程序,推送服务我们使用**SNS(Simple Notification Service)** +- 消息会以256 KB的大小存放 +- 消息会在队列中保存1分钟~14天,默认时间是4天 +- 可见性超时(Visibility Timeout) + - 即当SQS队列收到新的消息并且被拉取走进行处理时,会触发Visibility Timeout的时间。这个消息不会被删除,而是会被设置为不可见,用来防止该消息在处理的过程中再一次被拉取 + - 当这个消息被处理完成后,这个消息会在SQS中被删除,表示这个任务已经处理完毕 + - 如果这个消息在Visibility Timeout时间结束之后还没有被处理完,则这个消息会设置为可见状态,等待另一个程序来进行处理 + - 因此**同一个消息可能会被处理两次(或以上)** + - 这个超时时间最大可以设置为**12小时** +- 标准SQS队列保证了每一个在队列内的消息都至少会被处理一次 +- 长轮询(Long Polling) + - 默认情况下,Amazon SQS使用**短轮询(Short Polling)**,即应用程序每次去查询SQS队列,SQS都会做回应(哪怕队列一直是空的) + - 使用了长轮训,应用程序每次去查询SQS队列,SQS队列不会马上做回应。而是等到队列里有消息可处理时,或者等到设定的超时时间再做出回应。 + - 长轮询可以一定程度减少SQS的花销 + +## SNS (Simple Notification Service) + +**SNS (Simple Notification Service)** 是一种完全托管的发布/订阅消息收发和移动通知服务,用于协调向订阅终端节点和客户端的消息分发。 + +和**SQS (Simple Queue Service)**一样,SNS也可以轻松分离和扩展微服务,分布式系统和无服务应用程序,对程序进行**解耦**。 + +我们可以使用SNS将消息推送到SQS消息队列中、AWS Lambda函数或者HTTP终端节点上。 + +SNS通知还可以发送推送通知到IOS,安卓,Windows和基于百度的设备,也可以通过电子邮箱或者SMS短信的形式发送到各种不同类型的设备上。 + +![img](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211202301979.png) + +### SNS的一些特点 + +- SNS是实时的**推送服务(Push)**,有别于SQS的**拉取服务(Pull/Poll)** +- 拥有简单的API,可以和其他应用程序兼容 +- 可以通过多种不同的传输协议进行集成 +- 便宜、用多少付费多少的服务模型 +- 在AWS管理控制台上就可以进行简单的操作 + +## SNS vs SQS + +AWS提供了[SQS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sqs/v2/home)和[SNS](https://link.zhihu.com/?target=https%3A//console.aws.amazon.com/sns/v3/home)。SQS是一个分布式的队列消息service,SNS是一个分布式的发布-订阅消息service。具体有人会问这两者有什么区别,这里给出了回答: [What is the difference between Amazon SNS and Amazon SQS?](https://link.zhihu.com/?target=https%3A//stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs)。 在我的实践中,SQS和SNS会结合起来使用,首先应用发布消息到SQS的queue里面,然后SNS消费这个queue的消息,放到自身的topic里面持久保存,然后其他的应用订阅这个topic,消费里面的消息。 + + + +sqs是一对一,不能一对多,消息可持久化,不推只能等拉,拉完就删除。 + +sns可一对多,不能持久化,push模型。 + +sqs及aws笔记,更全, [link](http://www.cloudbin.cn/?p=2530) From f927f35a6056e44978818e0d9b0649aae75a9077 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 22 Nov 2022 21:49:07 +0800 Subject: [PATCH 128/318] add logbook --- .../2021-03-11-\344\270\221\346\225\260.md" | 57 -------- ...2\345\271\266 \344\270\221\346\225\260.md" | 124 ++++++++++++++++++ 2 files changed, 124 insertions(+), 57 deletions(-) delete mode 100644 "_posts/Tech/Algorithms/2021-03-11-\344\270\221\346\225\260.md" create mode 100644 "_posts/Tech/Algorithms/2021-03-11-\345\244\232\350\267\257\345\275\222\345\271\266 \344\270\221\346\225\260.md" diff --git "a/_posts/Tech/Algorithms/2021-03-11-\344\270\221\346\225\260.md" "b/_posts/Tech/Algorithms/2021-03-11-\344\270\221\346\225\260.md" deleted file mode 100644 index b28798fa3a..0000000000 --- "a/_posts/Tech/Algorithms/2021-03-11-\344\270\221\346\225\260.md" +++ /dev/null @@ -1,57 +0,0 @@ ---- -layout: post -category: Algorithms -title: 丑数 -tags: Algorithms ---- - -## 丑数 - -[[剑指 Offer 49. 丑数](https://leetcode-cn.com/problems/chou-shu-lcof/) - -[313. 超级丑数](https://leetcode-cn.com/problems/super-ugly-number/) - -### 使用优先队列 - -```python -class Solution: - def nthSuperUglyNumber(self, n: int, primes: List[int]) -> int: - import heapq - hq = [1] - res = [] - for _ in range(n): - top = heapq.heappop(hq) - res.append(top) - while hq and hq[0] == top: - heapq.heappop(hq) - for k in primes: - heapq.heappush(hq, top * k) - print(res) - return res[-1] -``` - - - -### 使用多指针 - -```c++ -//cpp: -class Solution { -public://别人的代码就是精简,惭愧啊,继续学习。 - int GetUglyNumber_Solution(int index) { - if (index < 7)return index; - vector res(index); - res[0] = 1; - int t2 = 0, t3 = 0, t5 = 0, i; - for (i = 1; i < index; ++i) - { - res[i] = min(res[t2] * 2, min(res[t3] * 3, res[t5] * 5)); - if (res[i] == res[t2] * 2)t2++; - if (res[i] == res[t3] * 3)t3++; - if (res[i] == res[t5] * 5)t5++; - } - return res[index - 1]; - } -}; -``` - diff --git "a/_posts/Tech/Algorithms/2021-03-11-\345\244\232\350\267\257\345\275\222\345\271\266 \344\270\221\346\225\260.md" "b/_posts/Tech/Algorithms/2021-03-11-\345\244\232\350\267\257\345\275\222\345\271\266 \344\270\221\346\225\260.md" new file mode 100644 index 0000000000..bbf460d84d --- /dev/null +++ "b/_posts/Tech/Algorithms/2021-03-11-\345\244\232\350\267\257\345\275\222\345\271\266 \344\270\221\346\225\260.md" @@ -0,0 +1,124 @@ +--- +layout: post +category: Algorithms +title: 多路归并 丑数 +tags: Algorithms +--- + +[找第k小及变种,个人另一篇博客,内容有重合](https://mafulong.github.io/2022/01/03/%E6%89%BE%E7%AC%ACk%E5%B0%8F%E5%8F%8A%E5%8F%98%E7%A7%8D/) + + + +## 丑数 + +[[剑指 Offer 49. 丑数](https://leetcode-cn.com/problems/chou-shu-lcof/) + + + +### 使用优先队列 + +```python +class Solution: + def nthSuperUglyNumber(self, n: int, primes: List[int]) -> int: + import heapq + hq = [1] + res = [] + for _ in range(n): + top = heapq.heappop(hq) + res.append(top) + while hq and hq[0] == top: + heapq.heappop(hq) + for k in primes: + heapq.heappush(hq, top * k) + print(res) + return res[-1] +``` + + + +### 使用多指针 + +```c++ +//cpp: +class Solution { +public:/ + int GetUglyNumber_Solution(int index) { + if (index < 7)return index; + vector res(index); + res[0] = 1; + int t2 = 0, t3 = 0, t5 = 0, i; + for (i = 1; i < index; ++i) + { + res[i] = min(res[t2] * 2, min(res[t3] * 3, res[t5] * 5)); + if (res[i] == res[t2] * 2)t2++; + if (res[i] == res[t3] * 3)t3++; + if (res[i] == res[t5] * 5)t5++; + } + return res[index - 1]; + } +}; +``` + +多路归并。 + +## 超级丑数 + +不只2,3,5 + +![image-20221122214259661](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211222143705.png) + +[313. 超级丑数](https://leetcode-cn.com/problems/super-ugly-number/) + +```python +class Solution: + def nthSuperUglyNumber(self, n: int, primes: List[int]) -> int: + import heapq + hpush, hpop = heapq.heappush,heapq.heappop + h = [] + for i in range(len(primes)): + hpush(h, (primes[i], i, 0)) + ans = [1] + for i in range(1,n): + if not h: + return -1 + val = h[0][0] + ans.append(val) + while h and h[0][0] == val: + _,j,idx = hpop(h) + # print(idx,ans) + hpush(h, (ans[idx]*primes[j], j, idx+1)) + return ans[-1] + + +``` + + + +## 其它多路归并 + +- [373. 查找和最小的K对数字](https://mafulong.github.io/2022/01/03/373.-%E6%9F%A5%E6%89%BE%E5%92%8C%E6%9C%80%E5%B0%8F%E7%9A%84K%E5%AF%B9%E6%95%B0%E5%AD%97/) 给定两个以升序排列的整数数组 `nums1` 和 `nums2` , 以及一个整数 `k` 。定义一对值 `(u,v)`,其中第一个元素来自 `nums1`,第二个元素来自 `nums2` 。请找到和最小的 `k` 个数对 `(u1,v1)`, ` (u2,v2)` ... `(uk,vk)` 。 + +```python +class Solution: + def kSmallestPairs(self, nums1: List[int], nums2: List[int], k: int) -> List[List[int]]: + # equal with 多路链表归并,用heap取最小那个,然后移动指针,也就是超级丑数 + # 性能o(klog(k)) + import heapq + h = [] + for j in range(min(len(nums2),k)): + heapq.heappush(h, (nums1[0]+nums2[j], 0, j)) + res = [] + while k > 0 and h: + _,i,j = heapq.heappop(h) + res.append([nums1[i], nums2[j]]) + if i+1 < len(nums1): + heapq.heappush(h, (nums1[i+1]+nums2[j], i+1,j)) + k-=1 + return res +``` + + + +- [有序矩阵的 Kth Element](https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/description/) + - 多路归并 + - 二分法更优。 From 9449adca780c19819e3e79c0a56ddd7a47304d6b Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Tue, 22 Nov 2022 23:13:37 +0800 Subject: [PATCH 129/318] add logbook --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1bbc36c013..e183e0bfb7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: Build and Deploy on: push: - branches: [ master ] + branches: [master] jobs: build-and-deploy: @@ -10,20 +10,20 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2.3.1 - with: + with: persist-credentials: false - - name: Set Ruby 2.7 + - name: Set Ruby 3.1 uses: actions/setup-ruby@v1 with: - ruby-version: 2.7 + ruby-version: 3.1 - name: Install and Build run: | gem install bundler bundle install bundle exec jekyll build - + - name: Deploy uses: JamesIves/github-pages-deploy-action@3.6.2 with: From 7dec7336cb95a5bcc5636a1baaf78a1623db5fc5 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 24 Nov 2022 22:58:38 +0800 Subject: [PATCH 130/318] add logbook --- ...\227\345\222\214\345\215\225\350\260\203\346\240\210.md" | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git "a/_posts/Tech/Algorithms/2021-06-21-\345\215\225\350\260\203\351\230\237\345\210\227\345\222\214\345\215\225\350\260\203\346\240\210.md" "b/_posts/Tech/Algorithms/2021-06-21-\345\215\225\350\260\203\351\230\237\345\210\227\345\222\214\345\215\225\350\260\203\346\240\210.md" index ceae6d6f9c..84eeee3fd0 100644 --- "a/_posts/Tech/Algorithms/2021-06-21-\345\215\225\350\260\203\351\230\237\345\210\227\345\222\214\345\215\225\350\260\203\346\240\210.md" +++ "b/_posts/Tech/Algorithms/2021-06-21-\345\215\225\350\260\203\351\230\237\345\210\227\345\222\214\345\215\225\350\260\203\346\240\210.md" @@ -96,6 +96,11 @@ class Solution: 求左边右边, 最小的大于等于arr[i]的位置,一种方式是sortedList, 一种方式是sorted(range(N), lambda x:arr[x]) +### 最大宽度 + +求最大坡度, 坡度定义: i < j 且 A[i] <= A[j]。这样的坡的宽度为 j - i。找每个元素比它大的最后一个位置 +可以按https://leetcode.cn/submissions/detail/208988818/ 中,按val对range(n)排序,o(nlogn),此时对排序位置i的元素最大坡度就是右边最大j +也可以单调栈o(n)求,先求递减栈,然后倒序枚举,如果比栈顶大,则栈顶元素后续就无用可pop了 ## 单调队列 @@ -146,4 +151,3 @@ class Solution: - [862. 和至少为 K 的最短子数组](https://leetcode-cn.com/problems/shortest-subarray-with-sum-at-least-k/) 求前缀和,对前缀和队列递增,求最大差值。 - From 9ac2a27d910a73e317e15139ea6b0049263e6122 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 26 Nov 2022 16:47:01 +0800 Subject: [PATCH 131/318] add logbook --- _posts/Tech/AWS/2022-11-26-AWS DynamoDB.md | 49 +++++++++++++++++++ ...44\270\200\350\207\264\346\200\247hash.md" | 44 ++++++++++++++++- 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 _posts/Tech/AWS/2022-11-26-AWS DynamoDB.md diff --git a/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md b/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md new file mode 100644 index 0000000000..8ca49301cd --- /dev/null +++ b/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md @@ -0,0 +1,49 @@ +--- +layout: post +category: AWS +title: AWS DynamoDB +tags: AWS +--- + +## AWS DynamoDB + +[论文讲解](http://systemdesigns.blogspot.com/2016/01/dynamodb.html) + +Dynamo在某些故障的场景中将牺牲一致性。 + +Dynamo的系统假设和要求: +1)query model:对数据项简单的读,写是通过一个主键唯一性标识。状态存储为一个由唯一性键确定二进制对象。没有横跨多个数据项的操作,也不需要关系方案(relational schema)。这项规定是基于观察相当一部分Amazon的服务可以使用这个简单的查询模型,并不需要任何关系模式。Dynamo的目标应用程序需要存储的对象都比较小(通常小于1MB)。 + +2)ACID属性:ACID是一种保证数据库事务可靠地处理的属性。在数据库方面的,对数据的单一的逻辑操作被称作所谓的交易。Amazon的经验表明,在保证ACID的数据存储提往往有很差的可用性。Dynamo的目标应用程序是高可用性,弱一致性(ACID“中的C”)。Dynamo不提供任何数据隔离(Isolation)保证,只允许单一的关键更新。 + +3)efficiency:系统需运作在一般的commodity hardware上。Amazon平台的服务都有着严格的延时要求, 鉴于对状态的访问在服务操作中起着至关重要的作用,存储系统必须能够满足那些严格的SLA,服务必须能够通过配置Dynamo,使他们不断达到延时和吞吐量的要求。因此,必须在成本效率,可用性和耐用性保证之间做权衡。 + + + +提供get, put操作。 + + + +最终一致性。 + + + +按key做partition, 一致性Hash。 + +replica, 复制,用了NWR,让用户做一致性的选择。读数据时如果有不同版本,会所有版本数据都返回回去。 + +多版本。Vector Clock 一个Vector Clock可以理解为一个<节点编号,计数器>对的列表。每一个版本的数据都会带上一个Vector Clock。Dynamo中,最重要的是要保证写操作的高可用性,即“Always Writeable”,这样就不可避免的牺牲掉数据的一致性。如上所述,Dynamo中并没有对数据做强一致性要求,而是采用的最终一致性(eventual consistency)。若不保证各个副本的强一致性,则用户在读取数据的时候很可能读到的不是最新的数据。Dynamo中将数据的增加或删除这种操作都视为一种增加操作,即每一次操作的结果都作为一份全新的数据保存,这样也就造成了一份数据会存在多个版本,分布在不同的节点上。这种情况类似于版本管理中的多份副本同时有多人在修改。多数情况下,系统会自动合并这些版本,一旦合并尝试失败,那么冲突的解决就交给应用层来解决。这时系统表现出来的现象就是,一个GET(KEY)操作,返回的不是单一的数据,而是一个多版本的数据列表,由用户决定如何合并。这其中的关键技术就是Vector Clock。 + + + +为防止要写入节点宕机导致操作失败,采用提示移交机制将操作相关数据写入到随机节点,宕机节点恢复后可根据这些数据进行重放,最终获得数据一致性。 + + + +[深入探讨 Amazon DynamoDB 的设计模 式、流复制和全局表](https://sides-share.s3.cn-north-1.amazonaws.com.cn/AWS+Webinar+2019/PDF/Amazon+DynamoDB+webinar.pdf) + +[官网](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors) + +[AWS 如何实现数据跨区域同步](https://techsummit.ctrip.com/pdf/songye.pdf) + +[MongoDB 与 DynamoDB 正面交锋](https://www.modb.pro/db/432414) diff --git "a/_posts/Tech/Algorithms/2021-12-23-\344\270\200\350\207\264\346\200\247hash.md" "b/_posts/Tech/Algorithms/2021-12-23-\344\270\200\350\207\264\346\200\247hash.md" index 8b0b8fa32a..cf90d17eaa 100644 --- "a/_posts/Tech/Algorithms/2021-12-23-\344\270\200\350\207\264\346\200\247hash.md" +++ "b/_posts/Tech/Algorithms/2021-12-23-\344\270\200\350\207\264\346\200\247hash.md" @@ -5,6 +5,8 @@ title: 一致性hash tags: Algorithms --- +# 一致性hash + ## 一致性hash 1. 首先,我们将hash算法的值域映射成一个具有232 次方个桶的空间中,即0~(232)-1的数字空间。现在我们可以将这些数字头尾相连,组合成一个闭合的环形。 @@ -104,4 +106,44 @@ class HashSeverMgr(object): ## 参考 - [一致性 hash 原理及实现(python 版)](https://xie.infoq.cn/article/e7182d18df48bc26eeb30b207) -- [图解一致性hash算法和实现](https://aijishu.com/a/1060000000007241) \ No newline at end of file +- [图解一致性hash算法和实现](https://aijishu.com/a/1060000000007241) + +## 补充 + +增加节点/删除节点都需要先执行挪数据这个操作,如果没这个操作,可能会读空,但读空范围因为一致性hash的存在,导致影响有限,对于缓存应该是没关系的,如果是持久化的就需要备份,不能让读空。 + + + +# hash slot + +集群: +是一个提供多个Redis(分布式)节点间共享数据的程序集。 +集群部署 +Redis 集群的键空间被分割为 16384 hash个槽(slot), 集群的最大节点数量也是 16384 个 + +分片: + Redis Cluster在设计中没有使用一致性哈希(Consistency Hashing),而是使用数据分片引入哈希槽(hash slot)来实现; + +一个 Redis Cluster包含16384(0~16383)即2^14个哈希槽,存储在Redis Cluster中的所有键都会被映射到这些slot中,集群中的每个键都属于这16384个哈希槽中的一个,集群使用公式slot=CRC16(key)/16384来计算key属于哪个槽,其中CRC16(key)语句用于计算key的CRC16 校验和。 + + + +这种结构很容易添加或者删除节点. 比如如果我想新添加个节点D, 我需要从节点 A, B, C中得部分槽到D上. 如果我像移除节点A,需要将A中得槽移到B和C节点上,然后将没有任何槽的A节点从集群中移除即可. 由于从一个节点将哈希槽移动到另一个节点并不会停止服务, 所**以无论添加删除或者改变某个节点的哈希槽的数量都不会造成集群不可用的状态.** + + + +数据迁移 +数据迁移可以理解为slot(槽)和key的迁移,这个功能很重要,极大地方便了集群做线性扩展,以及**实现平滑的扩容或缩容。** + + + + + +和一致性哈希相比 + +1. 它并不是闭合的,key的定位规则是**根据CRC-16(key)%16384的值来判断属于哪个槽区,从而判断该key属于哪个节点**,而一致性哈希是根据hash(key)的值来顺时针找第一个hash(ip)的节点,从而确定key存储在哪个节点。 +2. 一致性哈希是创建虚拟节点来实现节点宕机后的数据转移并保证数据的安全性和集群的可用性的, 当节点不可用时,分摊给多个其他节点,因为虚节点的存在。redis cluster是采用master节点有多个slave节点机制来保证数据的完整性的,master节点写入数据,slave节点同步数据。当master节点挂机后,slave节点会通过选举机制选举出一个节点变成master节点,实现高可用。但是这里有一点需要考虑,如果master节点存在热点缓存,某一个时刻某个key的访问急剧增高,这时该mater节点可能操劳过度而死,随后从节点选举为主节点后,同样宕机,一次类推,造成缓存雪崩即热点缓存问题。 + + + +两者都是要挪数据的! \ No newline at end of file From 367eb94ea5dd2a54cd4e8f54e387370cd1913e87 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 26 Nov 2022 17:49:19 +0800 Subject: [PATCH 132/318] add logbook --- _posts/Tech/AWS/2022-11-26-AWS DynamoDB.md | 94 +++++++++++++++++-- ...15\345\210\266\347\263\273\347\273\237.md" | 63 +++++++++++++ ...34\345\215\225\345\274\200\345\217\221.md" | 9 ++ 3 files changed, 160 insertions(+), 6 deletions(-) create mode 100644 "_posts/Tech/DistributedSystem/2022-11-26-\346\227\240\344\270\273\345\244\215\345\210\266\347\263\273\347\273\237.md" create mode 100644 "_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" diff --git a/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md b/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md index 8ca49301cd..306c83421e 100644 --- a/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md +++ b/_posts/Tech/AWS/2022-11-26-AWS DynamoDB.md @@ -7,7 +7,7 @@ tags: AWS ## AWS DynamoDB -[论文讲解](http://systemdesigns.blogspot.com/2016/01/dynamodb.html) +> [论文讲解](http://systemdesigns.blogspot.com/2016/01/dynamodb.html) Dynamo在某些故障的场景中将牺牲一致性。 @@ -26,24 +26,106 @@ Dynamo的系统假设和要求: 最终一致性。 - +### Partition 按key做partition, 一致性Hash。 +### Replication + replica, 复制,用了NWR,让用户做一致性的选择。读数据时如果有不同版本,会所有版本数据都返回回去。 +### Data Versioning + 多版本。Vector Clock 一个Vector Clock可以理解为一个<节点编号,计数器>对的列表。每一个版本的数据都会带上一个Vector Clock。Dynamo中,最重要的是要保证写操作的高可用性,即“Always Writeable”,这样就不可避免的牺牲掉数据的一致性。如上所述,Dynamo中并没有对数据做强一致性要求,而是采用的最终一致性(eventual consistency)。若不保证各个副本的强一致性,则用户在读取数据的时候很可能读到的不是最新的数据。Dynamo中将数据的增加或删除这种操作都视为一种增加操作,即每一次操作的结果都作为一份全新的数据保存,这样也就造成了一份数据会存在多个版本,分布在不同的节点上。这种情况类似于版本管理中的多份副本同时有多人在修改。多数情况下,系统会自动合并这些版本,一旦合并尝试失败,那么冲突的解决就交给应用层来解决。这时系统表现出来的现象就是,一个GET(KEY)操作,返回的不是单一的数据,而是一个多版本的数据列表,由用户决定如何合并。这其中的关键技术就是Vector Clock。 +其实就是读修复。 + +### Failure Detection + +临时性故障,采用Hinted Handoff提示移交机制 + 为防止要写入节点宕机导致操作失败,采用提示移交机制将操作相关数据写入到随机节点,宕机节点恢复后可根据这些数据进行重放,最终获得数据一致性。 -[深入探讨 Amazon DynamoDB 的设计模 式、流复制和全局表](https://sides-share.s3.cn-north-1.amazonaws.com.cn/AWS+Webinar+2019/PDF/Amazon+DynamoDB+webinar.pdf) + 以N=3为例,如果在一次写操作时发现节点A挂了,那么本应该存在A上的副本就会发送到D上,同时在D中会记录这个副本的元信息(MetaData)。其中有个标示,表明这份数据是本应该存在A上的,一旦节点D之后检测到A从故障中恢复了,D就会将这个本属于A的副本回传给A,之后删除这份数据。Dynamo中称这种技术为“Hinted Handoff”。 + + + +另外为了应对整个机房掉线的故障,Dynamo中应用了一个很巧妙的方案。每次读写都会从”Preference List”列表中取出R或W个节点。那么只要在这个列表生成的时候,让其中的节点是分布于不同机房的,自然数据就写到了不同机房的节点上。 + + + +对于某节点非临时性故障,利用反熵得到丢失数据进行恢复。一些数据存储有后台进程,不断查找副本之间的数据差异,将任何缺少的数据从一个副本复制到另一个副本。和基于主节点复制的复制日志不同,此反熵过程不保证任何特定的顺序复制写入,并且会引入明显的同步滞后 + + + +### 表、索引 + +> [深入探讨 Amazon DynamoDB 的设计模 式、流复制和全局表](https://sides-share.s3.cn-north-1.amazonaws.com.cn/AWS+Webinar+2019/PDF/Amazon+DynamoDB+webinar.pdf) + +![image-20221126172356212](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211261723281.png) + +分区键和排序键共同唯一的标识一条记录 + +本地二级索引 Local Secondary Index (LSI) 单表上的。可以选择与表不同的排序键。同一个分区键。强一致性更新。 + + + +全局二级索引 - Global Secondary Index (GSI) 可以选择与表不同的分区键以及排序键 每个索引分区会对应所有的表分区 + + + +![image-20221126172812498](https://cdn.jsdelivr.net/gh/mafulong/mdPic@vv6/v6/202211261728526.png) + + + +对比 + +- Global Secondary + - 索引的尺寸没有上限 + - 读写容量和表是独立的 + - 只支持最终一致性 +- Index Local Secondary Index + - 索引保存在表的分区中,因此一个表 分区的尺寸的上限是10GB + - 使用的是表上定义的RCU和WCU + - 强一致性 + + + + +## 其他 + + + +> [官网](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors) + +begin_with这个操作要记得。其他后面看。 + + + +> [AWS 如何实现数据跨区域同步](https://techsummit.ctrip.com/pdf/songye.pdf) + +没啥子东西,数据操作优先同区域内,主要靠复制。 + + + +> [MongoDB 与 DynamoDB 正面交锋](https://www.modb.pro/db/432414) + +没啥东西 + + + +> [通俗易懂之DynamoDB(一) ----分区键、排序键、GSI](https://zhuanlan.zhihu.com/p/101965292) + +**getItem、query和scan** + +这三个操作都是查询操作,效率分别是:getItem > query > scan -[官网](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors) +getItem是根据primary key进行查询,可以理解为通过primary key在hashMap上查询,速度是最快的,缺点是必须知道primary key且只能查询单个,使用情况相对较少。 -[AWS 如何实现数据跨区域同步](https://techsummit.ctrip.com/pdf/songye.pdf) +scan是全表扫描,是最慢的一个,理论上能不用就不用,只有实在走投无路才考虑全表扫描。 -[MongoDB 与 DynamoDB 正面交锋](https://www.modb.pro/db/432414) +query是最常见的方式,在dynamoDB的使用中,我们唯一的目的就是写出高效的查询query。 diff --git "a/_posts/Tech/DistributedSystem/2022-11-26-\346\227\240\344\270\273\345\244\215\345\210\266\347\263\273\347\273\237.md" "b/_posts/Tech/DistributedSystem/2022-11-26-\346\227\240\344\270\273\345\244\215\345\210\266\347\263\273\347\273\237.md" new file mode 100644 index 0000000000..ee018bc3b1 --- /dev/null +++ "b/_posts/Tech/DistributedSystem/2022-11-26-\346\227\240\344\270\273\345\244\215\345\210\266\347\263\273\347\273\237.md" @@ -0,0 +1,63 @@ +--- +layout: post +category: DistributedSystem +title: 无主复制系统 +tags: DistributedSystem +--- + +为什么需要复制数据? - 允许系统在部分节点出现故障后继续工作(增加可用性) - 地理上保持数据离用户更近(减少延迟) - 扩展可以提供查询的机器数量(增加读吞吐) + +复制算法: 1. 单主复制:所有客户端都将写入操作发送到主节点上,该节点负责将数据更改事件发送到其它副本。每个副本都可以接受读请求,但内容可能是过期值。 2. 多主复制:系统中存在多个主节点,每个都可以接受请求,客户端将写请求发送到其中一个主节点上,该节点负责将数据更改事件同步到其它主节点和自己的从节点。 3. 无主复制:客户端将写请求发送多个节点上,读取时从多个节点上并行读取,以此检测和纠正某些过期数据。 + +主从复制可参考 [link](https://iswade.github.io/database/replication/) + +## 无主复制 + +单主、多主复制思路都是:客户端向一个主节点发写请求,而DB系统负责将写请求复制到其他副本。主节点决定写顺序,从节点按相同顺序应用主节点发送的写日志。 + +某些数据存储系统采用不同设计:放弃主节点,允许任何副本直接接受客户端的写。最早的复制数据系统就是无主节点的(或称之为去中心复制、无中心复制),但后来在关系数据库主导时代,这个想法几乎被忘却。在亚马逊将其用于其内部的Dynamo系统后,它再一次成为流行的DB架构。 Riak,Cassandra和Voldemort都是由Dynamo启发的无主复制模型的开源数据存储,所以这类数据库也被称为*Dynamo风格*。 + + + +在一些无主实现中,客户端直接将写请求发到多副本,而另一些实现中,有一个协调者(coordinator)节点代表客户端进行写入,但与主节点的数据库不同,协调者不负责维护写入顺序。这种设计差异对DB使用方式有深远影响。 + + + +失效节点重新上线,而客户端开始读取它。节点失效期间发生的任何写入在该节点都尚未同步,因此读取可能得到过期数据。 + +为解决该问题,当一个客户端从DB读数据时,它不是向1个副本发送请求,而是并行发送到多副本。客户端可能会从不同节点获得不同响应,即来自一个节点的最新值和来自另一个节点的旧值。可利用版本号确定哪个值更新。 + +### 读修复和反熵 + +复制模型应确保所有数据最终复制到所有副本。在一个失效节点重新上线后,它如何赶上错过的写入呢? + +Dynamo风格的数据存储系统常机制: + +#### 读修复(Read repair) + +当客户端并行读取多副本时,可检测到过期的返回值。客户端可判断副本3是过期值,然后将新值写入该副本。适用于读密集场景 + +#### 反熵过程(Anti-entropy process) + +一些数据存储有后台进程,不断查找副本之间的数据差异,将任何缺少的数据从一个副本复制到另一个副本。和基于主节点复制的复制日志不同,此反熵过程不保证任何特定的顺序复制写入,并且会引入明显的同步滞后 + + + +并非所有系统都实现这俩方案。如Voldemort目前无反熵过程。若无反熵过程,由于【读修复】只在发生读取时才可能执行修复,那些很少访问的数据有可能在某些副本中已丢失而无法再检测到,从而降低了写的持久性。 + + + +反熵就是树形的hash,用于快速比较数据是否一致的。 + + + +## 参考 + +- [**无主复制系统(1)-节点故障时写DB**](https://blog.51cto.com/u_11440114/5550577) +- [**无主复制系统(2)-读写quorum**](https://blog.51cto.com/u_11440114/5550582) + + + + + +TODO: 需要读下ddia. diff --git "a/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" "b/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" new file mode 100644 index 0000000000..da4abfdd62 --- /dev/null +++ "b/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" @@ -0,0 +1,9 @@ +--- +layout: post +category: TOOLS +title: chrome右键菜单开发 +tags: TOOLS +--- + +## chrome右键菜单开发 + From 941c8eaccbbbebe8295a5981c8eb6e313ddbc904 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sat, 26 Nov 2022 20:19:19 +0800 Subject: [PATCH 133/318] add logbook --- ...34\345\215\225\345\274\200\345\217\221.md" | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git "a/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" "b/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" index da4abfdd62..373256e7d0 100644 --- "a/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" +++ "b/_posts/Tech/TOOLS/2022-11-26-chrome\345\217\263\351\224\256\350\217\234\345\215\225\345\274\200\345\217\221.md" @@ -7,3 +7,26 @@ tags: TOOLS ## chrome右键菜单开发 +请参考: + +- [扩展浏览器右键菜单,加个谷歌搜索](https://juejin.cn/post/6952384957360635911) + +- [Chrome开发自定义右键菜单实现快速跳转到指定页面,一次多个菜单项目](https://zhuanlan.zhihu.com/p/550500152) + +- [Chrome 插件如何完成剪切板的操作](https://blog.51cto.com/xingag/5847203) + + + + + +主要改manifest.json, index.js, content.js。 + + + +content.js运行在每个页面上,可选,除非有需要页面交互的才需要。 + +background.js是监听click事件的。 + + + +Demo code: 见个人github。 From a92ee0d1a7584755f6c3a6be76f01c9f828a4139 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Sun, 27 Nov 2022 20:56:15 +0800 Subject: [PATCH 134/318] add logbook --- ...06\345\236\213\345\272\224\347\224\250.md" | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 "_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" diff --git "a/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" "b/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" new file mode 100644 index 0000000000..90ee9e4259 --- /dev/null +++ "b/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" @@ -0,0 +1,127 @@ +--- +layout: post +category: SystemDesign +title: 设计数据密集型应用 +tags: SystemDesign +--- + +# 设计数据密集型应用 + +# 第一部分 数据系统的基石 + +现今很多应用程序都是 **数据密集型(data-intensive)** 的,而非 **计算密集型(compute-intensive)** 的。 + +数据密集型应用通常由标准组件构建而成,标准组件提供了很多通用的功能;例如,许多应用程序都需要: + +- 存储数据,以便自己或其他应用程序之后能再次找到 (数据库(database)) + +- 记住开销昂贵操作的结果,加快读取速度(缓存(cache)) +- 允许用户按关键字搜索数据,或以各种方式对数据进行过滤(搜索索引(search indexes)) +- 向其他进程发送消息,进行异步处理(流处理(stream processing)) +- 定期处理累积的大批量数据(批处理(batch processing)) + + + + + +可靠性(Reliability) + +- 系统在困境(adversity)(硬件故障、软件故障、人为错误)中仍可正常工作(正确完成功能,并能达到期望的性能水准)。 + + +可扩展性(Scalability) + +- 有合理的办法应对系统的增长(数据量、流量、复杂性) + + +可维护性(Maintainability) + +- 许多不同的人(工程师、运维)在不同的生命周期,都能高效地在系统上工作(使系统保持现有行为,并适应新的应用场景)。 + + + + + + +硬件故障: + +在拥有10000个磁盘的存储集群上,平均每天会有1个磁盘出故障。通常都是增加单个硬件的冗余度。 + + + + 人们经常讨论**纵向扩展(scaling up)**(**垂直扩展(vertical scaling)**,转向更强大的机器)和**横向扩展(scaling out)** (**水平扩展(horizontal scaling)**,将负载分布到多台小机器上)之间的对立。跨多台机器分配负载也称为“**无共享(shared-nothing)**”架构。可以在单台机器上运行的系统通常更简单,但高端机器可能非常贵,所以非常密集的负载通常无法避免地需要横向扩展。现实世界中的优秀架构需要将这两种方法务实地结合,因为使用几台足够强大的机器可能比使用大量的小型虚拟机更简单也更便宜。 + + + + 跨多台机器部署**无状态服务(stateless services)**非常简单,但将带状态的数据系统从单节点变为分布式配置则可能引入许多额外复杂度。出于这个原因,常识告诉我们应该将数据库放在单个节点上(纵向扩展),直到扩展成本或可用性需求迫使其改为分布式。 + + + +新的非关系型“NoSQL”数据存储在两个主要方向上存在分歧: + +1. **文档数据库**的应用场景是:数据通常是自我包含的,而且文档之间的关系非常稀少。 +2. **图形数据库**用于相反的场景:任意事物都可能与任何事物相关联。 + + + +两大类存储引擎:**日志结构(log-structured)** 的存储引擎,以及**面向页面(page-oriented)** 的存储引擎(例如B树)。 + + + +日志一般是直接追加,读记录时读最新最后的一个值,前面的可后续压缩合并。 + + + +**SSTable并发控制** + +由于写操作是以严格顺序的顺序附加到日志中的,所以常见的实现选择是只有一个写入器线程。数据文件段是附加的,或者是不可变的,所以它们可以被多个线程同时读取。 + +乍一看,只有追加日志看起来很浪费:为什么不更新文件,用新值覆盖旧值?但是只能追加设计的原因有几个: + +- 追加和分段合并是顺序写入操作,通常比随机写入快得多,尤其是在磁盘旋转硬盘上。在某种程度上,顺序写入在基于闪存的 **固态硬盘(SSD)** 上也是优选的【4】。我们将在第83页的“[比较B-树和LSM-树](https://vonng.gitbooks.io/ddia-cn/content/ch3.html#比较B-树和LSM-树)”中进一步讨论这个问题。 +- 如果段文件是附加的或不可变的,并发和崩溃恢复就简单多了。例如,您不必担心在覆盖值时发生崩溃的情况,而将包含旧值和新值的一部分的文件保留在一起。 +- 合并旧段可以避免数据文件随着时间的推移而分散的问题。 + + + +**B树** + +B树存储是面向页的,文件就是页组成的,磁盘是按页划分的,指针都是页的指针,页位置不会变。 + +通常,页面可以放置在磁盘上的任何位置;没有什么要求附近的键范围页面附近的磁盘上。如果查询需要按照排序顺序扫描大部分关键字范围,那么每个页面的布局可能会非常不方便,因为每个读取的页面都可能需要磁盘查找。因此,许多B树实现尝试布局树,使得叶子页面按顺序出现在磁盘上。但是,随着树的增长,维持这个顺序是很困难的。相比之下,由于LSM树在合并过程中一次又一次地重写存储的大部分,所以它们更容易使顺序键在磁盘上彼此靠近。 + +额外的指针已添加到树中。例如,每个叶子页面可以在左边和右边具有对其兄弟页面的引用,这允许不跳回父页面就能顺序扫描。 + + + +**比较B树和LSM树** + +尽管B树实现通常比LSM树实现更成熟,但LSM树由于其性能特点也非常有趣。根据经验,通常LSM树的写入速度更快,而B树的读取速度更快【23】。 LSM树上的读取通常比较慢,因为它们必须在压缩的不同阶段检查几个不同的数据结构和SSTables。 + + + +B树索引必须至少两次写入每一段数据:一次写入预先写入日志,一次写入树页面本身(也许再次分页)。即使在该页面中只有几个字节发生了变化,也需要一次编写整个页面的开销。 + + + +LSM树可以被压缩得更好,因此经常比B树在磁盘上产生更小的文件。 B树存储引擎会由于分割而留下一些未使用的磁盘空间:当页面被拆分或某行不能放入现有页面时,页面中的某些空间仍未被使用。由于LSM树不是面向页面的,并且定期重写SSTables以去除碎片,所以它们具有较低的存储开销,特别是当使用平坦压缩时 + + + +1. LSM写入快,B读快。 +2. B树写,一次要写log, 一次要更新页,页只能替换。 +3. LSM碎片少,压缩的好,存储开销小。 +4. LSM写入吞吐量大,需要合理配置压缩。 +5. LSM压缩可能会干扰读写。 +6. B树每个键只有一个位置,方便加锁。 + + + + + + + +# 参考 + +https://vonng.gitbooks.io/ddia-cn/content/part-i.html + From d1a4a39f2995b1d17c1eb80925a8d7100d1fdab1 Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Mon, 28 Nov 2022 09:19:06 +0800 Subject: [PATCH 135/318] add logbook --- ...06\345\236\213\345\272\224\347\224\250.md" | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git "a/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" "b/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" index 90ee9e4259..b8a6c11afb 100644 --- "a/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" +++ "b/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" @@ -7,6 +7,8 @@ tags: SystemDesign # 设计数据密集型应用 +相关读书笔记。 + # 第一部分 数据系统的基石 现今很多应用程序都是 **数据密集型(data-intensive)** 的,而非 **计算密集型(compute-intensive)** 的。 @@ -72,6 +74,10 @@ tags: SystemDesign +因为数据落到磁盘里,基本就两种方法,1. sstable,先内存后追加再不断合并; 2. 类似B树面向页,直接更新。 除此之外如果更新某个文件某一行,可能会导致后面的都变,因为offset变了,所以目前基本就这两种。 + + + **SSTable并发控制** 由于写操作是以严格顺序的顺序附加到日志中的,所以常见的实现选择是只有一个写入器线程。数据文件段是附加的,或者是不可变的,所以它们可以被多个线程同时读取。 @@ -117,7 +123,34 @@ LSM树可以被压缩得更好,因此经常比B树在磁盘上产生更小的 +在高层次上,我们看到存储引擎分为两大类:优化 **事务处理(OLTP)** 或 **在线分析(OLAP)** 。这些用例的访问模式之间有很大的区别: + +- OLTP系统通常面向用户,这意味着系统可能会收到大量的请求。为了处理负载,应用程序通常只访问每个查询中的少部分记录。应用程序使用某种键来请求记录,存储引擎使用索引来查找所请求的键的数据。磁盘寻道时间往往是这里的瓶颈。 +- 数据仓库和类似的分析系统会低调一些,因为它们主要由业务分析人员使用,而不是由最终用户使用。它们的查询量要比OLTP系统少得多,但通常每个查询开销高昂,需要在短时间内扫描数百万条记录。磁盘带宽(而不是查找时间)往往是瓶颈,列式存储是这种工作负载越来越流行的解决方案。 + +在OLTP方面,我们能看到两派主流的存储引擎: + +**日志结构学派** + +只允许附加到文件和删除过时的文件,但不会更新已经写入的文件。 Bitcask,SSTables,LSM树,LevelDB,Cassandra,HBase,Lucene等都属于这个类别。 + +**就地更新学派** + +将磁盘视为一组可以覆写的固定大小的页面。 B树是这种哲学的典范,用在所有主要的关系数据库中和许多非关系型数据库。 + +日志结构的存储引擎是相对较新的发展。他们的主要想法是,他们系统地将随机访问写入顺序写入磁盘,由于硬盘驱动器和固态硬盘的性能特点,可以实现更高的写入吞吐量。在完成OLTP方面,我们通过一些更复杂的索引结构和为保留所有数据而优化的数据库做了一个简短的介绍。 + +然后,我们从存储引擎的内部绕开,看看典型数据仓库的高级架构。这一背景说明了为什么分析工作负载与OLTP差别很大:当您的查询需要在大量行中顺序扫描时,索引的相关性就会降低很多。相反,非常紧凑地编码数据变得非常重要,以最大限度地减少查询需要从磁盘读取的数据量。我们讨论了列式存储如何帮助实现这一目标。 + + + +***向后兼容 (backward compatibility)\*** + + 新代码可以读旧数据。 + +***向前兼容 (forward compatibility)\*** + 旧代码可以读新数据。 From b09160c68d36b00674cacf5256cbe44bdea33c10 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 1 Dec 2022 13:12:32 +0800 Subject: [PATCH 136/318] add logbook --- ...3\206\345\236\213\345\272\224\347\224\250.md" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git "a/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" "b/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" index b8a6c11afb..fcc9ae73a1 100644 --- "a/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" +++ "b/_posts/Tech/SystemDesign/2022-11-26-\350\256\276\350\256\241\346\225\260\346\215\256\345\257\206\351\233\206\345\236\213\345\272\224\347\224\250.md" @@ -154,6 +154,22 @@ LSM树可以被压缩得更好,因此经常比B树在磁盘上产生更小的 +服务器本身可以是另一个服务的客户端(例如,典型的Web应用服务器充当数据库的客户端)。这种方法通常用于将大型应用程序按照功能区域分解为较小的服务,这样当一个服务需要来自另一个服务的某些功能或数据时,就会向另一个服务发出请求。这种构建应用程序的方式传统上被称为 **面向服务的体系结构(service-oriented architecture,SOA)** ,最近被改进和更名为 **微服务架构** + + + +REST不是一个协议,而是一个基于HTTP原则的设计哲学【34,35】。它强调简单的数据格式,使用URL来标识资源,并使用HTTP功能进行缓存控制,身份验证和内容类型协商 + + + +# 第二部分: 分布式数据 + + + + + + + # 参考 https://vonng.gitbooks.io/ddia-cn/content/part-i.html From 51895a7ae9111c2b845444b8f5facac1dd73dfe8 Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Thu, 1 Dec 2022 14:14:19 +0800 Subject: [PATCH 137/318] add logbook --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 6ea856656d..e900d0ede3 100644 --- a/_config.yml +++ b/_config.yml @@ -7,7 +7,7 @@ date_format: "ordinal" title: Fulongのblog subtitle: "Hi" description: "Fulongのblog" -subtitle: "随笔" +subtitle: "翻滚吧,牛宝宝" keywords: logbook, mafulong timezone: Asia/Shanghai encoding: "utf-8" From 7440a4e56dd9f063e01ba8042dd3eaf3b314c36a Mon Sep 17 00:00:00 2001 From: Fulong Ma <846897373@qq.com> Date: Fri, 2 Dec 2022 22:16:59 +0800 Subject: [PATCH 138/318] add logbook --- ...-01-typescript\350\257\255\346\263\225.md" | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 "_posts/Tech/FrontEnd/2022-12-01-typescript\350\257\255\346\263\225.md" diff --git "a/_posts/Tech/FrontEnd/2022-12-01-typescript\350\257\255\346\263\225.md" "b/_posts/Tech/FrontEnd/2022-12-01-typescript\350\257\255\346\263\225.md" new file mode 100644 index 0000000000..39ad8058ad --- /dev/null +++ "b/_posts/Tech/FrontEnd/2022-12-01-typescript\350\257\255\346\263\225.md" @@ -0,0 +1,67 @@ +--- +layout: post +category: FrontEnd +title: typescript语法 +tags: FrontEnd +--- + +# typescript语法 + +## JavaScript 与 TypeScript 的区别 + +TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。 + + + +TypeScript 是一种给 JavaScript 添加特性的语言扩展。增加的功能包括: + +- 类型批注和编译时类型检查 +- 类型推断 +- 类型擦除 +- 接口 +- 枚举 +- Mixin +- 泛型编程 +- 名字空间 +- 元组 +- Await + + + +支持es6标准。 + + + +## 安装 + +如果你的本地环境已经安装了 npm 工具,可以使用以下命令来安装。 + +使用国内镜像: + +``` +npm config set registry https://registry.npmmirror.com +``` + +安装 typescript: + +``` +npm install -g typescript +``` + +安装完成后我们可以使用 **tsc** 命令来执行 TypeScript 的相关代码,以下是查看版本号: + +``` +$ tsc -v +Version 3.2.2 +``` + +## helloworld + +```typescript +const hello : string = "Hello World!" +console.log(hello) +``` + + + +# 参考 From bd136fa55ace14df5fb40bf3c614397862bf146f Mon Sep 17 00:00:00 2001 From: Fulong Ma Date: Fri, 2 Dec 2022 22:29:28 +0800 Subject: [PATCH 139/318] add logbook --- favicon.ico | Bin 177320 -> 2717365 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/favicon.ico b/favicon.ico index c04e20c1f989a001cbcd00a27b44c13837a826fc..b6570038f3e9d822132aba1d651d6442d69b9c1e 100644 GIT binary patch literal 2717365 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�}wq=Di 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 z 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 t%s!kf8xit;;H% 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

      TnxzzwiZ0& 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

      gMgs_;-Zx+=*wsWcm8%yRYxWpW8nf*j! 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�{CoBUB7Eg*?`Ed{v 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

      ;P&rW_Qr8CUs0wp*8g1-WZ-;&G^1~5M@Nm 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

      F|>dU}x2W4QiXC_<3o&vZPEIzAqc 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 z

      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∈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

      v#b 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 kR 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�+E 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%0D9v3>XOG9oZ>+$i}w}iP9^!`;AvSD28$vqC1 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

      gU6KA3=NjDV?$5aKxUl2kjyPE)MGhxYOlk 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 z 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Í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 N>RlwPh8?#jP-q&zH-^Xxl%?-oe!{Ib=*W|> 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