<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csr_monkey的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csr_monkey</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csr_monkey]]></copyright><item><title><![CDATA[Android四种点击方式]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/101645368</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/101645368</guid><author>csr_monkey</author><pubDate>Sat, 28 Sep 2019 23:01:19 +0800</pubDate><description><![CDATA[自定义显示函数
private void showMessage(String message) {
	Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show();
}


匿名内部式

Button btn_first = (Button) findViewById(R.id.btn_first); 
btn_fir...]]></description><category></category></item><item><title><![CDATA[7.2使用闭包定义私有变量 this对象（JavaScript高级程序设计总结）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/101622000</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/101622000</guid><author>csr_monkey</author><pubDate>Sat, 28 Sep 2019 21:56:51 +0800</pubDate><description><![CDATA[闭包

有权访问另一个函数作用域中的变量的函数。
当某个函数被调用时，会创建一个执行环境及相应的作用域链。当函数执行完毕后，局部活动对象就会被销毁，内存中仅保存全局作用域。但是闭包不同。
当外部函数执行完后，其执行环境的作用域链会被销毁，但它的活动对象仍然会保留在内存中。直到匿名函数被销毁后，外部函数的活动对象才会被销毁。

闭包只能取得包含函数中任何变量的最后值

const createArr...]]></description><category></category></item><item><title><![CDATA[7.1函数表达式的特征及递归（JavaScript高级程序设计总结）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/101620431</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/101620431</guid><author>csr_monkey</author><pubDate>Sat, 28 Sep 2019 16:22:35 +0800</pubDate><description><![CDATA[定义函数
函数声明
函数声明提升，可以把函数声明放在调用它的语句后面
函数表达式
创建的函数为匿名函数
函数声明与函数表达式之间的区别
let sayHello; // 如需动态定义，必须使用函数表达式
if (true) {
  sayHello = () =&gt; {
    console.log('hello')
  }
} else {
  sayHello = () =&gt; {
...]]></description><category></category></item><item><title><![CDATA[1.2信息安全保障基础]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/96031250</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/96031250</guid><author>csr_monkey</author><pubDate>Mon, 15 Jul 2019 22:32:28 +0800</pubDate><description><![CDATA[信息安全的发展

通信保密阶段
香农，“机密性”，密码学时代的到来
计算机安全阶段
信息系统资产的机密性、完整性、可用性
公钥，DES加密算法
信息安全保障阶段
PDRR：“保护——监听——响应——恢复”
WPDRRG：“预警——保护——监听——应急——恢复——反击”

信息安全定义：
ISO：对信息的机密性、完整性和可用性的保护，另外如真实性、可核查性、不可抵赖性和可靠性等属性也被包括
国内：信...]]></description><category></category></item><item><title><![CDATA[1.1信息安全保障背景]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/95934468</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/95934468</guid><author>csr_monkey</author><pubDate>Sun, 14 Jul 2019 22:30:41 +0800</pubDate><description><![CDATA[人类社会的发展与进步是由社会生产力决定的
信息的定义：
事物运动的状态和状态变化的方式
信息技术的产生和发展

电讯技术的发明（1830年）
电讯技术的出现为信息技术的出现和发展奠定了基础，利于全球化、多样化、综合化
计算机技术的发展
加快了人类本想信息时代的步伐
互联网技术的发展

信息技术的影响
积极

对社会发展的影响
对科技进步的影响
对人类生活的影响

消极

信息泛滥
信息污染
信息犯...]]></description><category></category></item><item><title><![CDATA[数组操作JS（Set）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/95930721</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/95930721</guid><author>csr_monkey</author><pubDate>Sun, 14 Jul 2019 22:07:35 +0800</pubDate><description><![CDATA[交集
/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
const intersection = (nums1, nums2) =&gt; {
  return [...new Set(nums1)].filter(item =&gt; (new Set(nums2).has(it...]]></description><category></category></item><item><title><![CDATA[iris框架(GO)]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/91352288</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/91352288</guid><author>csr_monkey</author><pubDate>Sun, 09 Jun 2019 13:18:33 +0800</pubDate><description><![CDATA[package main

import (
	"github.com/kataras/iris"
)

func main() {
	app := iris.New()
	app.RegisterView(iris.HTML("./views", ".html"))

	// Method:   GET
	// Resource: http://localhost:8080
	app.Handl...]]></description><category></category></item><item><title><![CDATA[GO学习第10天（出错处理）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/91340666</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/91340666</guid><author>csr_monkey</author><pubDate>Sat, 08 Jun 2019 13:40:57 +0800</pubDate><description><![CDATA[defer + panic + recover
package main

import (
	"./fileList"
	"github.com/gpmgo/gopm/modules/log"
	"net/http"
	"os"
)

type appHaber func(writer http.ResponseWriter,
	request *http.Request) error

fun...]]></description><category></category></item><item><title><![CDATA[C++实现闭包|斐波那契数列|mutable]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90903409</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90903409</guid><author>csr_monkey</author><pubDate>Wed, 05 Jun 2019 15:40:44 +0800</pubDate><description><![CDATA[实现斐波那契数列
#include&lt;bits/stdc++.h&gt;
using namespace std;

auto adder() {
	auto a = 0, b = 1;
	return [=]() mutable {
		b = a + b;
		a = b - a;
		return a;
	};
}

int main() {
	auto f = adder();
	co...]]></description><category></category></item><item><title><![CDATA[GO学习第九天（defer）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90750340</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90750340</guid><author>csr_monkey</author><pubDate>Mon, 03 Jun 2019 13:01:35 +0800</pubDate><description><![CDATA[defer

确保在函数结束时发生
参数在defer语句计算
defer先进后出

func writeFib(fileName string) {
	file, err := os.Create(fileName)
	if err != nil {
		panic(err)
	}
	defer file.Close()

	wartier := bufio.NewWriter(file)
	de...]]></description><category></category></item><item><title><![CDATA[专业物理与数学2（第2讲——暴力求解法 | 除法）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90739276</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90739276</guid><author>csr_monkey</author><pubDate>Sun, 02 Jun 2019 16:25:33 +0800</pubDate><description><![CDATA[学习目标

整数、字串枚举方法
排列生成递归方法
下一个排列的枚举全排列方法
会画解答树
二进制
回溯法的常见方法
会使用STL

例题1
除法
题目

输入正整数n，按从小到大的顺序输出所有形如 abcde / fghij = n的表达式，其中a～j恰好为数字0～9的一个排列（可以有前导0），2≤n≤79。

输入

62

输出

79546 / 01283 = 62
94736 / 0152...]]></description><category></category></item><item><title><![CDATA[GO学习第八天（函数闭包）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90732369</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90732369</guid><author>csr_monkey</author><pubDate>Sat, 01 Jun 2019 18:59:32 +0800</pubDate><description><![CDATA[函数实现接口
package main

import (
	"bufio"
	"fmt"
	"io"
	"strings"
)

func fibonacci() intGen {
	a, b := 0, 1
	return func() int {
		a, b = b, a+b
		return a
	}
}

type intGen func() int

func (g intGen) ...]]></description><category></category></item><item><title><![CDATA[VS fopen不安全解决]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90712703</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90712703</guid><author>csr_monkey</author><pubDate>Fri, 31 May 2019 11:05:02 +0800</pubDate><description><![CDATA[右键项目名称，属性



预处理器





输入_CRT_SECURE_NO_WARNINGS



解决
]]></description><category></category></item><item><title><![CDATA[GO学习第七天（duck typing、接口组合）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90706175</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90706175</guid><author>csr_monkey</author><pubDate>Thu, 30 May 2019 21:17:31 +0800</pubDate><description><![CDATA[duck typing

是不是真正的鸭子

接口组合
type Retriever interface {
	Get(url string) string
}

type Poster interface {
	Post(url string,
		form map[string]string) string
}

type session interface {
	Poster
	Retrie...]]></description><category></category></item><item><title><![CDATA[GO学习第六天（面对对象、包）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90669307</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90669307</guid><author>csr_monkey</author><pubDate>Wed, 29 May 2019 17:41:13 +0800</pubDate><description><![CDATA[包

为结构定义的方法必须放在包内
可以是不同文件

组合
type myNode struct {
	node *tree.Node
}

func (node *myNode) after() {
	if node == nil || node.node == nil {
		return
	}
	left := myNode{node.node.Left}
	right := myNode{...]]></description><category></category></item><item><title><![CDATA[LeetCode - 3无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90649479</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90649479</guid><author>csr_monkey</author><pubDate>Tue, 28 May 2019 23:53:57 +0800</pubDate><description><![CDATA[题目
给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”，所以其长度为 3。
示例 2:
输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”，所以其长度为 1。
示例 3:
输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke...]]></description><category></category></item><item><title><![CDATA[LeetCode -1两数之和]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90649454</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90649454</guid><author>csr_monkey</author><pubDate>Tue, 28 May 2019 23:51:42 +0800</pubDate><description><![CDATA[题目
给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
func two...]]></description><category></category></item><item><title><![CDATA[GO学习第五天（结构体）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90649093</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90649093</guid><author>csr_monkey</author><pubDate>Tue, 28 May 2019 23:49:47 +0800</pubDate><description><![CDATA[结构体创建
type treeNode struct {
	value       int
	left, right *treeNode
}

func main() {
	var tree treeNode
	fmt.Println(tree)

	tree = treeNode{5, nil, nil}

	tree.left = &amp;treeNode{}
	tree.right = &...]]></description><category></category></item><item><title><![CDATA[GO学习第四天（切片操作、map、rune）]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90609493</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90609493</guid><author>csr_monkey</author><pubDate>Mon, 27 May 2019 22:47:51 +0800</pubDate><description><![CDATA[切片的append操作
	arr := [...]int{0, 1, 2, 3, 4, 5, 6}
	s1 := arr[2:5]
	s3 := append(s1, 10)
	s4 := append(s3, 20)
	// 超过arr的cap 系统会重新分配更大数组
	// s5 no longer view arr
	s5 := append(s4, 30)
	fmt.Println("s3...]]></description><category></category></item><item><title><![CDATA[Subsequence ZOJ:3123]]></title><link>https://blog.youkuaiyun.com/csr_monkey/article/details/90599210</link><guid>https://blog.youkuaiyun.com/csr_monkey/article/details/90599210</guid><author>csr_monkey</author><pubDate>Mon, 27 May 2019 10:40:37 +0800</pubDate><description><![CDATA[Subsequence

Time Limit:1 Second Memory Limit:32768 KB

A sequence ofNpositive integers(10 &lt; N &lt; 100 000), each of them less than or equal10000, and a positive integerS (S &lt; 100 0...]]></description><category></category></item></channel></rss>