LieBrother

当才华撑不起野心时,应该静下心来学习;当能力驾驭不了目标时,应该沉下心来历练。


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

从头再来

发表于 2018-12-16   |     |   阅读次数


congtouzailaijpg

有看过我的博客的小伙伴应该知道,其实很早就写博客了,从 15 年 5 月份开始,刚开始只在 CSDN 发,写的博客都是记录平常遇到的一些问题以及解决思路,说是博客,其实更像笔记。

这几天我思考了许久,发现之前写博客的一些问题,这里列举几个点:

  • 没有认真地对待每一篇文章,都是在学完一些知识点或者解决完某个问题后,潦潦草草的记录下来,发到 CSDN 博客,每一篇文章都如此,急于求成

  • 有时同学留言说遇到一些问题,没有去搭理(这里跟各位同学说句抱歉)

  • 更没有用心去站在读者的角度去思考文章的价值

还有很多很多,这种种问题都归咎于我对待博客的态度,我没有发现原来博客是需要去经营的、文字是需要去琢磨的、文章是需要带来价值的。一篇文章,没有带来价值,没有分享出来没关系,浪费的只是作者的时间,一旦分享出来,浪费读者的时间才是最可怕的,假如一篇文章需要 2 分钟阅读时间,1000 人阅读就是浪费了 2000 分钟,折算起来可是 33 多个小时。

这一次我端正了态度,重新来过。

眼锐的同学应该可以发现,公众号和博客的名字和头像都修改了。哈哈,新的开始就要有新的形象,LieBrother,很明显就是 2 个单词拼起来的,lie 就是说谎,因为我的名字拼音就是 shuohuang,brother 就是兄弟。可以称呼我说谎兄、说谎弟、lie 兄、lie 弟,都行,只要你喜欢。

接下来,认真的运营微信公众号和博客,希望每一篇文章都能让你有所收获。

最后,在这个博客的文章,我都会第一时间在微信公众号发,想第一时间看到文章的同学,拿起你的手机,点开微信,扫一波。。。


LieBrother

wechatjpg

Window 10 中 创建 VMware 虚拟机时 Hyper-V 问题

发表于 2018-01-20   |   分类于 Tool   |     |   阅读次数

摘要:本文简述了博主在 Window 10 安装用 VMware 创建 CentOS 虚拟机时,遇到的 Hyper-V 问题,以及解决方案。

问题

问题描述

  安装虚拟机的时候提示上图问题,开启 Hyper-V 也不能解决,找了一些资料,发现一篇文档的操作可以解决这个问题,所以记录下来。

解决方案

  1. 关闭掉 Virtualization Based Security,如图操作
    关闭 Virtualization Based Security

  2. 关闭 Hyper-V,如图操作
    关闭 Hyper-V

  3. 执行如下命令,提示:确认驱盘X是没在使用的,可以修改为你没使用的驱盘

    1
    2
    3
    4
    5
    6
    7
    8
    mountvol X: /s
    copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
    bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
    bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
    mountvol X: /d
  4. 然后重启电脑,就可以安装虚拟机啦。

希望本文可以帮助到你!

参考文章

Powering on a vm in VMware Workstation on Windows 10 host where Credential Guard/Device Guard is enabled fails with BSOD (2146361)

Spring Cloud 项目出现 Options Forbidden 403 问题解决

发表于 2017-11-06   |   分类于 Spring Cloud , Cors   |     |   阅读次数

摘要:本文简述了博主在开发过程中,需要跨域调试的时候,出现了 OPTIONS 请求 Forbidden 的问题,以及解决方法。

问题

options-forbidden

  在使用 Spring Cloud 的项目中,本地跨域调试发现 POST 请求转为了 OPTIONS 请求,并且服务端拒绝访问,其实是 CORS 请求的问题。

  CORS 请求分为2类: 简单请求 和 非简单请求。两者主要的区分点在于:

  • 1: 请求方法为 HEAD, GET, POST;
  • 2: HTTP 头信息为以下几个: Accept, Accept-Language,Content-Language, Last-Event-ID,Content-Type (值为 application/x-www-form-urlencoded、multipart/form-data、text/plain)。

  只要满足以上两点,则为简单请求;否则为非简单请求。

  简单请求的处理方式是浏览器直接发送 CORS 请求。非简单请求的处理方式是浏览器发送预检请求,表示询问服务器当前的域名是否可以访问正常服务器,如果可以访问,则发送正常的请求到服务器;否则报错。

  现在确定遇到的问题就是在 CORS 请求预检的时候发现域名不在服务器端的白名单里面,所以需要修改服务端的请求返回报文。

解决方案

在网关中添加下面的过滤器,在每次请求返回报文中添加报文头,即可正常访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@Component
public class CorsFilter implements Filter {

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE, PATCH");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
response.setHeader("Access-Control-Expose-Headers", "Location");
chain.doFilter(req, res);
}

@Override
public void init(FilterConfig filterConfig) {}

@Override
public void destroy() {}

}

参考文章:
跨域资源共享 CORS 详解

Angular4 中显示内容的 CSS 样式

发表于 2017-11-05   |   分类于 Angular   |     |   阅读次数

摘要:本文简单介绍在使用 Angular4 的时候,显示要内容的 CSS 样式

问题

Angular 中有 innerHTML 属性来设置要显示的内容,但是如果内容包含 CSS 样式,无法显示样式的效果。
比如:

1
2
3
public content: string = "<div style='font-size:30px'>Hello Angular</div>";

<p [innerHTML]="content"></p>

只会显示 Hello World ,字体不会是 30px,也就是 CSS 样式没有效果。

解决方案

自定义一个 Pipe 来对内容做转换。看下面代码。

写一个 HtmlPipe 类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import {Pipe, PipeTransform} from "@angular/core";
import {DomSanitizer} from "@angular/platform-browser";

@Pipe({
name: "html"
})

export class HtmlPipe implements PipeTransform{

constructor (private sanitizer: DomSanitizer) {

}

transform(style) {
return this.sanitizer.bypassSecurityTrustHtml(style);
}
}

在需要的模块里面引入管道 HtmlPipe

1
2
3
4
5
@NgModule({
declarations: [
HtmlPipe
]
})

在 innerHtml 中增加管道名字

1
<p [innerHTML]="content | html"></p>

这样就可以显示 content 的 CSS 样式。

MyBatis 在 @Select 写 IN SQL

发表于 2017-11-03   |   分类于 Mybatis   |     |   阅读次数

摘要:本文简单介绍在 MyBatis 的注解方式中,写包含 in 语法的 SQL

直接了断看下面的代码,SQL 是获取某几个 ID 的文章

1
2
3
4
5
6
7
@Select("<script>" +
"select * from article where id in " +
"<foreach item='item' index='index' collection='articleIds' open='(' separator=', ' close=')'>" +
"#{item}" +
"</foreach>" +
"</script>")
List<Article> getArticlesByIds(@Param("articleIds") List<Long> articleIds);
1…111213…24
LieBrother

LieBrother

当才华撑不起野心时,应该静下心来学习;当能力驾驭不了目标时,应该沉下心来历练。

120 日志
38 分类
138 标签
© 2016 - 2019 LieBrother
由 Hexo 强力驱动
主题 - NexT.Mist
本站访客数人次  |  本站总访问量次