纯天然绿色学渣
  • <i class="menu-item-icon fa fa-fw fa-home"></i> <br/>首页
  • <i class="menu-item-icon fa fa-fw fa-tags"></i> <br/>标签<span class="badge">28</span>
  • <i class="menu-item-icon fa fa-fw fa-th"></i> <br/>分类<span class="badge">12</span>
  • <i class="menu-item-icon fa fa-fw fa-archive"></i> <br/>归档<span class="badge">42</span>
  • <i class="menu-item-icon fa fa-fw fa-tree"></i> <br/>工具

  • 搜索

汇编的有符号数和无符号数

发表于 2019-03-08 | 分类于 汇编 | 评论数: | 阅读次数:

定义单位长度为:1 byte

1
2
3
4
5
6
7
8
9
6     
原码: 0 0 0 0 0 1 1 0 // 06
反码: 0 0 0 0 0 1 1 0 // 06
补码: 0 0 0 0 0 1 1 0 // 06

-7
原码: 1 0 0 0 0 1 1 1 // 87
反码: 1 1 1 1 1 0 0 0 // F8
补码: 1 1 1 1 1 0 0 1 // F9

¶有符号输的编码规则 总结:

1
2
3
4
5
6
7
原码:最高位为符号位,其余各位为数值的绝对值
反码:
正数:反码与原码相同
负数:符号位为1,其余位对原码去反
补码:
正数:补码与原码相同
负数:符号位为1,其余为对原码去反,将最终结果加1

通用寄存器

发表于 2019-03-08 | 分类于 汇编 | 评论数: | 阅读次数:

8位:(不能超过8位,否则超过的被丢弃)

8位
AL
BL
CL
DL
AH
BH
CH
DH

16位:(不能超过16位,否则超过的被丢弃)

16位
AX
BX
CX
DX
SP
BP
SI
DI

32位:(不能超过32位,否则超过的被丢弃)

32位
EAX
EBX
ECX
EDX
EBP
ESP
EDI
ESI

汇编指令

发表于 2019-03-08 | 分类于 汇编 | 评论数: | 阅读次数:

mov 向寄存器中赋值

mov eax,1
mov eax,ebx

¶向内存中赋值

mov byte/dword【数据宽度】 ptr ds:[内存地址],1

¶将寄存器中的值写入到内存中

mov dword ptr ds:[内存地址],eax

¶将内存中的值写到寄存器中

mov eax, dword ptr ds:[内存地址]

gateway cors 跨域配置

发表于 2019-03-08 | 评论数: | 阅读次数:

方法一:Spring Cloud Gateway中处理跨域请求

Gateway的cors配置不一样,需要增加webFilter

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
package com.yunlsp.gateway.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.web.cors.reactive.CorsUtils;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilter;
import org.springframework.web.server.WebFilterChain;
import reactor.core.publisher.Mono;
import java.util.Arrays;
import java.util.List;
/**
* gateway CORS配置
*
* @author 蒋时华
* @date 2018/10/11
*/
@Configuration
public class ServiceCorsFilter {
private final StringALL ="*";
private final StringMAX_AGE ="18000L";
private final ListURL_LIST = Arrays.asList(
// 海博充值商品列表
"/prerecordService/public/prerecord/good/passportList",
// 海博充值下单
"/prerecordService/prerecord/pay/passportOrder",
// 验证海博订单支付状态
"/prerecordService/prerecord/pay/validOrderStatus",
// pc登录
"/userService/public/user/pcLogin"
);

@Bean
public WebFiltercorsFilter() {
return (ServerWebExchange ctx, WebFilterChain chain) -> {
ServerHttpRequest request = ctx.getRequest();
if (!CorsUtils.isCorsRequest(request)) {
return chain.filter(ctx);
}
// 是否是允许跨域的接口
if(URL_LIST.contains(ctx.getRequest().getURI().getPath())){
return chain.filter(ctx);
}
HttpHeaders requestHeaders = request.getHeaders();
ServerHttpResponse response = ctx.getResponse();
HttpMethod requestMethod = requestHeaders.getAccessControlRequestMethod();
HttpHeaders headers = response.getHeaders();
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, requestHeaders.getOrigin());
headers.addAll(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders.getAccessControlRequestHeaders());
if (requestMethod !=null) {
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, requestMethod.name());
}
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, ALL); headers.add(HttpHeaders.ACCESS_CONTROL_MAX_AGE, MAX_AGE);
if (request.getMethod() == HttpMethod.OPTIONS) { response.setStatusCode(HttpStatus.OK);
return Mono.empty();
}
return chain.filter(ctx);
};
}
}

方法二:gateway.yml 配置文件【 此方式,只能使用get方式请求,问题暂时未知 】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
spring:
cloud:
gateway:
## 跨域配置,需要ServiceCorsFilter.java配置文件一起使用, 否则只能使用get请求
globalcors:
cors-configurations:
'[/prerecordService/public/prerecord/good/passportList]':
allowedOrigins:'*'
allowedMethods:
- GET
- OPTIONS
allowedHeaders:
- x-requested-with
- Content-Type
- content-type
allowCredentials: false
exposedHeaders:
- Content-Type
- content-type
maxAge: 3600
'[........]'

安装Chrome

发表于 2019-03-08 | 分类于 CentOS | 评论数: | 阅读次数:

官方网址:www.tecmint.com/install-google-chrome-on-redhat-centos-fedora-linux/

1、在 /etc/yum.repos.d/ 下创建 google-chrome.repo

1
2
3
4
5
6
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

2、检查是否有Chrome信息

yum info google-chrome-stable

3、安装Chrome

yum install google-chrome-stable --nogpg

CentOS常用的第三源

发表于 2019-03-08 | 分类于 CentOS | 评论数: | 阅读次数:

EPEL

EPEL即Extra Packages for Enterprise Linux,为CentOS提供了额外的10000多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。

sudo yum install epel-release

Nux Dextop

Nux Dextop中包含了一些与多媒体相关的软件包,作者尽量保证不覆盖base源。官方说明中说该源与EPEL兼容,实际上个别软件包存在冲突,但基本不会造成影响:

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

ELRepo

ELRepo包含了一些硬件相关的驱动程序,比如显卡、声卡驱动:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Remi

Remi源大家或许很少听说,不过Remi源GoFace强烈推荐,尤其对于不想编译最新版的linux使用者,因为Remi源中的软件几乎都是最新稳定版。或许您会怀疑稳定不?放心吧,这些都是Linux骨灰级的玩家编译好放进源里的,他们对于系统环境和软件编译参数的熟悉程度毋庸置疑。

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

RPMForge

RPMForge是CentOS系统下的软件仓库,拥有4000多种的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓库。

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

RPMFusion

如果您现在正在使用Fedora 15,对RPMFusion一定不陌生吧,各种音频软件如MPlayer在标准源中是没有的,一般先安装RPMFusion源,之后就可以放便地yum install各种需要的软件啦。

添加阿里云的RPMFusion源

sudo rpm -Uvh http://mirrors.aliyun.com/rpmfusion/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm$sudorpm -Uvh http://mirrors.aliyun.com/rpmfusion/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm

yum-axelget

yum-axelget是EPEL提供的一个yum插件。使用该插件后用yum安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间:

yum install yum-axelget

删除CentOS更新后的旧内核

发表于 2019-03-08 | 分类于 CentOS | 评论数: | 阅读次数:

在CentOS更新后,并不会自动删除旧内核。所以在启动选项中会有多个内核选项,可以手动使用以下命令删除多余的内核:

¶1.查看系统当前内核版本:

uname -a

1
Linux localhost2.6.18-274.18.1.el5#1 SMP Thu Feb 9 12:45:52 EST 2012 i686 i686 i386 GNU/Linux

¶2.查看系统中全部的内核RPM包:

rpm -qa | grep kernel

1
2
3
4
5
6
7
8
9
kernel-devel-2.6.18-194.el5

kernel-devel-2.6.18-274.18.1.el5

kernel-headers-2.6.18-274.18.1.el5

kernel-2.6.18-194.el5

kernel-2.6.18-274.18.1.el5

¶3.删除旧内核的RPM包

1
2
3
yum remove kernel-2.6.18-194.el5

yum remove kernel-devel-2.6.18-194.el5

¶4.重启系统

reboot

注意:不需要手动修改/boot/grub/menu.lst

多个事务配置,导致@Transactional失效或报错

发表于 2019-03-08 | 分类于 踩过的坑 | 评论数: | 阅读次数:
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
/**

* 默认使用jdcb的事务,jms的事务不会被默认使用,如果使用需要指定 value

*/

@Bean(name ="jdbcTXManager")

@Primary

public PlatformTransactionManagerdataSourceTransactionManager(DataSource dataSource){

DataSourceTransactionManager dataSourceTransactionManager =new DataSourceTransactionManager();

dataSourceTransactionManager.setDataSource(dataSource);

return dataSourceTransactionManager;

}



/**

* jms事务管理

*/

@Bean

public JmsTransactionManager jmsTransactionManager(){

JmsTransactionManager jmsTransactionManager =new JmsTransactionManager(activeMQConnectionFactory);

return jmsTransactionManager;

}

使用JMS事务:@Transactional(value ="jmsTransactionManager")
使用数据库事务:@Transactional(value ="jdbcTXManager")

MarkDown 语法

发表于 2019-03-08 | 更新于 2019-10-23 | 分类于 Markdown | 评论数: | 阅读次数:

* 标题

#一级标题

¶##二级标题

¶###三级标题

¶####四级标题

¶#####五级标题
¶######六级标题

# * 无序列表 #### 用法: `*` `+` `-`
# * 有序列表 #### 用法:数字 + 英文的点(.)
# * 区块引用 eg: 这是测试 > 哇哈哈 >> 啊啊啊 >>> aaaaa >>>> bbbb >>>>> cccc >>>>>> dddd >>>>>>> eeee

¶用法:符号 > (多层就用多个>)


# * 链接 [测试百度链接](https://www.baidu.com/) #### 用法: `[说明文字](链接)`
# * 图片 ![测试图片](https://images2015.cnblogs.com/blog/600165/201701/600165-20170121185054312-549083784.png) #### 用法: `![说明文字](图片链接)`
# * 代码框、注释 `这是单行代码` #### 用法:\`单行内容\` 一个单引号包裹
1
2
3
这是多行代码
1行代码
2行代码
#### 用法: \`\`\`多行内容\`\`\` 三个引号包裹 (前三个单引号后可以写注释)
# * 表格 |表头1|表头1|表头1| |:---:|:---:|:---:| |数据1|数据1|数据1| |数据2|数据2|数据2| #### 用法:
1
2
3
4
|表头1|表头1|表头1|
|:---:|:---:|:---:|
|数据1|数据1|数据1|
|数据2|数据2|数据2|

# * 强调 *字体倾斜* #### 用法:`*字体倾斜*` _字体倾斜_ #### 用法:`_字体倾斜_` **字体加粗** #### 用法:`**字体加粗**` __字体加粗__ #### 用法:`__字体加粗__`
# * 转义 * \\ * \` * \~ * \* * \_ * \- * \+ * \. * \! #### 用法:
1
2
3
4
5
6
7
8
9
* \\
* \`
* \~
* \*
* \_
* \-
* \+
* \.
* \!

# * 删除线 ~~已经删除了~~ #### 用法:`~~已经删除了~~`

其他用法

¶Markdown中如何实现内容折叠操作

1
2
3
4
5
6
7
8
<details>
<summary>展开查看</summary>
<pre><code>

System.out.println("需要包裹的东西");

</code></pre>
</details>

预览效果:

window:MySQL-5-7免绿色版安装

发表于 2019-03-07 | 更新于 2019-03-08 | 分类于 数据库 | 评论数: | 阅读次数:

1、配置环境变量

2、配置MySQL配置文件

配置图

3、初始化

    以管理员身份运行cmd,进入bin目录

    输入:mysqld -install (如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!)

    然后输入:mysqld --initialize-insecure --user=mysql (此操作会初始化data文件夹,如果不执行此操作,一般都会无法启动MySql服务)

4、更新密码

    放开 skip-grant-tables , 启动服务(net start mysql)

    执行 mysql -u root -p , 还不输入密码直接进入

        update mysql.user set authentication_string=password('root') where user='root' ;

        commit;

注意:

    MySQL报错:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

        解决办法:

            set global read_only=0;、(关掉新主库的只读属性)

            flush privileges;

    注释 skip-grant-tables,停止服务(net stop mysql),重启服务(net start mysql),使用密码正常登陆
<i class="fa fa-angle-left" aria-label="上一页"></i>1…345<i class="fa fa-angle-right" aria-label="下一页"></i>
Jeff-Eric

Jeff-Eric

42 日志
12 分类
28 标签
<i class="fa fa-fw fa-github"></i>GitHub <i class="fa fa-fw fa-envelope"></i>E-Mail
<img src="/blog/images/cc-by-nc-sa.svg" alt="Creative Commons"/>
0%
© 2019 Jeff-Eric
由 Hexo 强力驱动 v4.0.0
|
主题 – NexT.Gemini v7.0.1