-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
93 lines (93 loc) · 15 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[微信小程序本地开发环境搭建]]></title>
<url>%2F2018%2F01%2F23%2Fweixinapp%2F</url>
<content type="text"><![CDATA[前段时间开发一个微信小程序项目,需要本地开发接口,而微信开发工具只能用HTTPS请求,所以不得不配置本地代理;开始在网上找了个教程用Charles这个代理工具,感觉用着有点麻烦,所以换成nginx; 申请AppID 这个直接在公众号平台申请就可以了; 配置域名 在公众号平台开发者设置>服务器配置中填写域名信息,这个只能填写真实域名,还需要SSL支持; 本地开发环境配置 这里主要说的是Windows环境,其他Lunix、MAC也大同小异 #####1.修改Hosts 首先找到Hosts文件: C:\Windows\System32\drivers\etc\hosts 然后添加下面这行到hosts,将域名映射到本地: 1127.0.0.1 www.yourdomain.com 2.生成自签名SSL证书首先需要安装openssl 【点击这里下载】,安装好后需要将其配置到环境变量(如果已经安装过openssl自行忽略…); 打开命令行工具 生成private.key 输入命令: 1openssl genrsa -des3 -out server.key 1024 生成CSR (Certificate Signing Request) 输入命令: 1openssl req -new -key server.key -out server.csr 这里会要求输入一些地址信息,看着写就好: 1234567891011121314151617181920Loading 'screen' into random state - doneYou are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:ZH 【国家代码】State or Province Name (full name) [Some-State]:HB【省份】Locality Name (eg, city) []:WH【城市】Organization Name (eg, company) [Internet Widgits Pty Ltd]:cxsky【组织】Organizational Unit Name (eg, section) []:cxsky【组织】Common Name (e.g. server FQDN or YOUR name) []:*.yourdomain.com 【可以填域名】Email Address []:【Enter】Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:【Enter】An optional company name []:【Enter】 移除Passphrase 输入命令: 12cp server.key server.key.orgopenssl rsa -in server.key.org -out server.key 生成自签名证书 输入命令 1openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 完成了以上4步后,将server.crt和server.key移到你想要存放证书的地方。 3.安装和配置nginx 完成上面步骤后,接下来配置nginx支持HTTPS,【下载nginx Windows版】,修改 nginx配置文件nginx-1.13.8\conf\nginx.conf, 12345678910111213141516171819202122232425server { listen 443 ssl; server_name www.yourdomain.com; ssl_certificate D:/nginx-1.13.8/ssl/server.crt; ssl_certificate_key D:/nginx-1.13.8/ssl/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.2 TLSv1.1; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8080; # 本地服务器地址及端口 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Forward-Proto https; proxy_http_version 1.1; # for websocket proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 4.测试 这个时候在微信小程序IDE,就可以直接向本地发送HTTPS请求了,请求最终指向的是http://127.0.0.1:8080 最后如果小程序IDE提示TLS版本过低,请查看nginx.conf 中server下的ssl_protocols 是否配置正确,获取直接在小程序IDE中去掉验证TLS版本的勾选]]></content>
<categories>
<category>微信小程序</category>
</categories>
<tags>
<tag>微信小程序</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Idea2017 快捷键]]></title>
<url>%2F2017%2F12%2F14%2FIdea-Keymap%2F</url>
<content type="text"><![CDATA[Idea2017 快捷键大全 Idea2017 快捷键整理 Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C 最近更改的代码 Ctrl+R 替换文本 Ctrl+F 查找文本 Ctrl+Shift+Space 自动补全代码 Ctrl+空格 代码提示 Ctrl+Alt+Space 类名或接口名提示 Ctrl+P 方法参数提示 Ctrl+Shift+Alt+N 查找类中的方法或变量 Alt+Shift+C 对比最近修改的代码 Shift+F6 重构-重命名 Ctrl+Shift+先上键 Ctrl+X 删除行 Ctrl+D 复制行 Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者 ) Ctrl+J 自动代码 Ctrl+E 最近打开的文件 Ctrl+H 显示类结构图 Ctrl+Q 显示注释文档 Alt+F1 查找代码所在位置 Alt+1 快速打开或隐藏工程面板 Ctrl+Alt+ left/right 返回至上次浏览的位置 Alt+ left/right 切换代码视图 Alt+ Up/Down 在方法间快速移动定位 Ctrl+Shift+Up/Down 代码向上/下移动。 F2 或Shift+F2 高亮错误或警告快速定位 代码标签输入完成后,按Tab,生成代码。 选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。 Ctrl+W 选中代码,连续按会有其他效果 选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。 Ctrl+Up/Down 光标跳转到第一行或最后一行下 Ctrl+B 快速打开光标处的类或方法 最常用快捷键 Ctrl+E,可以显示最近编辑的文件列表 Shift+Click可以关闭文件 Ctrl+[或]可以跳到大括号的开头结尾 Ctrl+Shift+Backspace可以跳转到上次编辑的地方 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择 Ctrl+N,可以快速打开类 Ctrl+Shift+N,可以快速打开文件 Alt+Q可以看到当前方法的声明 Ctrl+W可以选择单词继而语句继而行继而函数 Alt+F1可以将正在编辑的元素在各个面板中定位 Ctrl+P,可以显示参数信息 Ctrl+Shift+Insert可以选择剪贴板内容并插入 Alt+Insert可以生成构造器/Getter/Setter等 Ctrl+Alt+V 可以引入变量。例如把括号内的SQL赋成一个变量 Ctrl+Alt+T可以把代码包在一块内,例如try/catch Alt+Up and Alt+Down可在方法间快速移动]]></content>
<categories>
<category>工具</category>
</categories>
<tags>
<tag>editer</tag>
</tags>
</entry>
<entry>
<title><![CDATA[spring cloud学习(一)]]></title>
<url>%2F2017%2F10%2F08%2Fspring-cloud-01%2F</url>
<content type="text"><![CDATA[关于spring cloud]]></content>
<categories>
<category>spring cloud</category>
</categories>
<tags>
<tag>spring</tag>
<tag>spring cloud</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Markdown语法学习]]></title>
<url>%2F2017%2F09%2F21%2Fmarkdown%2F</url>
<content type="text"><![CDATA[概述 Markdown 是一种轻量级的「标记语言」,Markdown的常用标记符号不超过十个,非常轻量,它可以让我们专心码字; Markdown语法中文说明]]></content>
<categories>
<category>Markdown</category>
</categories>
<tags>
<tag>Markdown</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java多线程-线程池]]></title>
<url>%2F2017%2F09%2F20%2Fthread1%2F</url>
<content type="text"><![CDATA[做了多年开发,技术能力提高了,但还是有一些基础的东西被遗忘了,在技术快速更替的时代,学习新东西的同时,也要多多总结下基础的本质的东西;]]></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java</tag>
<tag>多线程</tag>
</tags>
</entry>
<entry>
<title><![CDATA[testpost]]></title>
<url>%2F2017%2F09%2F18%2Ftestpost%2F</url>
<content type="text"><![CDATA[这里啥都没有]]></content>
</entry>
<entry>
<title><![CDATA[Hello World]]></title>
<url>%2F2017%2F09%2F18%2Fhello-world%2F</url>
<content type="text"><![CDATA[Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment]]></content>
</entry>
<entry>
<title><![CDATA[java多线程-基础篇]]></title>
<url>%2F2017%2F09%2F18%2Fthread%2F</url>
<content type="text"><![CDATA[在J2EE开发中很多地方都会用到线程,这样不仅可以提高执行效率,而且还可以提高资源的利用率 线程基础线程的状态: NEW 线程刚创建,尚未启动 RUNNABLE 线程正在运行中,在这种状态下不会发生wait、sleep的等待状态 BLOCKED 在多个线程有同步操作的场景 WAITING 线程拥有了某个锁之后,调用了他的wait方法 TIMEDWAITING 有时间限制的WAITING _ TERMINATED 线程已经运行完,基本等于死了 NEW状态:直接创建一个线程然后获取状态 123456public class ThreadDemo { public static void main(String[] args) { Thread t = new Thread(); System.out.println(t.getState()); }} 执行结果:NEW RUNNABLE 状态:线程执行后获取状态 123456789101112131415public class RunnableThread { public static void main(String[] args) { Thread t = new Thread() { @Override public void run() { for(int i = 0; i < Integer.MAX_VALUE; i++){ System.out.println(i); } } }; t.start(); System.out.println(t.getState()); }} 执行结果:RUNNABLE BLOCKED状态:多个线程相互等待synchronized时,线程会出现BLOCKED状态; 1234567891011121314151617181920212223public class BlockedThread { public static void main(String[] args) { final Object lock = new Object(); Runnable r = new Runnable() { @Override public void run() { for (int i = 0; i < Integer.MIN_VALUE; i++) { synchronized (lock) { System.out.println(i); } } } }; Thread t1 = new Thread(r); t1.setName("t1"); Thread t2 = new Thread(r); t2.setName("t2"); t1.start(); t2.start(); }} 这个时候一个线程RUNNABLE,另一个就是BLOCKED WAITING 状态:这个需要用到生产者消费者模型, 当生产者生产过慢的时候, 消费者就会等待生产者的下一次notify; 1234567891011121314151617181920212223242526272829303132333435363738public class WaitingThread { public static void main(String[] args) { final Object lock = new Object(); Thread t1 = new Thread() { @Override public void run() { int i = 0; while(true) { synchronized (lock) { try { lock.wait(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(i++); } } } }; Thread t2 = new Thread() { @Override public void run() { while(true) { for (int i = 0; i < Integer.MAX_VALUE; i++) { System.out.println(i); } lock.notifyAll(); } } }; t1.setName("t1"); t2.setName("t2"); t1.start(); t2.start(); }} TIMED_WAITING状态:在上个例子的基础上wait加上时间参数就OK了; 12345678synchronized (lock) { try { lock.wait(60*1000L); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(i++);} t1现在为TIMED_WAITING (on object monitor)这里括号里还可能是sleeping等其它情况。 TERMINATED状态 :线程运行结束就是TERMINATED状态 12345678910private static void TERMINATED() { Thread t1 = new Thread(); t1.start(); System. out.println(t1.getState()); try { Thread. sleep(1000L); } catch (InterruptedException e) { } System. out.println(t1.getState());} 执行结果: RUNNABLE TERMINATED]]></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java</tag>
<tag>多线程</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Markdown编辑器Typora]]></title>
<url>%2F2017%2F09%2F15%2FTypora%2F</url>
<content type="text"><![CDATA[关于Typora 无意中找到Typora 这个编辑器,用过之后不想在换了;这是一个功能强大的Markdown编辑器,输入即输出,还可以导出PDF文件和HTLM文件。 [TOC] 下划线用HTML的语法<u>Underline</u>将产生Underline的效果 代码 使用`包裹的内容将会已代码的形式展现: 例如:function() 输入123456789例如:~~~javapublic class DemoClass{ public static void main(String[] args){ System.out.println("Hello World!"); }} 强调使用两个*或两个_包裹 例如: 12**强调内容**__强调内容__ 输出 强调内容 强调内容 斜体在标准的Markdown语法中,*和_包裹的内容会是斜体显示,但是GFM下划线一般用来分隔人名和代码变量名,因此我们推荐是用星号来包裹斜体内容。如果要显示星号,则使用转义: 插入图片我们可以通过拖拉的方式,将本地文件夹中的图片或者网络上的图片插入。 插入URL连接使用尖括号包裹的url将产生一个连接,例如:<www.baidu.com>将产生连接: http://www.baidu.com/ 目录列表Table of Contents(TOC)输入[toc]然后回车,将会产生一个目录,这个目录抽取了文章的所有标题,自动更新内容。 水平分割线使用***或者---,然后回车,来产生水平分割线。 标注我们可以对某一个词语进行标注。例如 12某些人用过了才知道[^注释][^注释]:Somebody that I used to know. 将产生: 某些人用过了才知道[^注释] [^注释]: Somebody that I used to know. 表格12345|姓名|性别|公司|薪资||:---|:---:|:---:|---:||马云|男|阿里巴巴|3200||马化腾|男|腾讯|5000||坑货|女|呵呵哒|2000| 效果: 姓名 性别 公司 薪资 马云 男 阿里巴巴 3200 马化腾 男 腾讯 5000 坑货 女 呵呵哒 2000 任务列表1234- [ ] 写代码- [ ] 写代码- [ ] 写代码- [ ] 写代码 写代码 写代码 写代码 写代码 列表输入+, -, *,创建无序的列表,使用任意数字开头,创建有序列表,例如: 1234**无序列表*** XXXXXX* XXXXXX* XXXXXXX 无序列表 XXXXXX XXXXXX XXXXXXX 1234**有序的列表**1. 苹果6. 香蕉10. 我都不喜欢 有序的列表 苹果 香蕉 我都不喜欢 块引用使用>来插入块引用。例如: 1>这是一个块引用! 这是一个块引用! 标题使用#表示一级标题,##表示二级标题,以此类推,有6个标题。 下载地址]]></content>
<categories>
<category>工具</category>
</categories>
<tags>
<tag>editer</tag>
</tags>
</entry>
</search>