Chester Bennington of Linkin Park: Three Years Later (RIP) three years onhope one everyday is a good daywithout Numb, care One More Light forever 2020-07-21 Life
解决 Hexo 在使用 Node.js 14 时的 Accessing non-existent property 'xxx' of module exports inside circular dependency 问题 今天把博客迁移到了新域名,顺便把 node.js、Hexo 和主题都升了下级。 当习惯的运行 hexo s 命令时,发现多了些 warnings,如下: 12345678$ hexo -s (node:87224) Warning: Accessing non-existent property 'lineno' of 2020-07-20 Technology #Hexo #Blog
PPT 分享:服务端安全 作为一个服务端开发,我们经常遇到的攻击类型有 XSS(Cross Site Script,跨站脚本攻击) ClickJacking(点击劫持) CSRF(Cross-site request forgery,跨站请求伪造) 文件上传漏洞、文件下载漏洞 (目录遍历攻击) 注入漏洞(SQL、Command、Code ···) 框架低版本漏洞 整数溢出 … 那么我们都该如何进行加固呢? 2019-11-29 Technology #PPT
Docker for Mac 的网络问题及解决办法(新增方法四) 用 Docker for Mac 已经很久了,用它跑本地开发环境可以说是非常方便。 但是 Docker for Mac 自诞生以来就一直有一个问题,那就是在宿主机上看不到 docker0,无法访问容器所在的网络,也就是说不能 ping 通 Docker 给 Container 所分配的 IP 地址。关于这个问题,官方文档有描述:Known limitations, use cases, and 2019-08-31 Technology #Docker
为什么“做得快”比“做的好”更重要? 前言快与好,实际上是我一直比较矛盾的。虽我不是处女座,但是也有一些些强迫症,比较追求完美。至于速度,我是个急性子,快是没的说的,这点从我的网名“逐风”也可以感觉出来。 但一直不知道如何平衡。 前两天看到阮一峰《科技爱好者周刊》上的刊首语,使我陷入了思考。 一件事“做得好”比较好,还是“做得快”比较好? 鱼和熊掌不能得兼,你怎么选择:做得好,付出的代价可能是耗时长、成本高;做得快,意味着完成度低、 2019-08-22 Life
Go 之 SortedMap 与 LinkedHashMap 前一段在关闭 IDEA 打开 GoLand 之后,深深感慨了一声 丝滑般享受 但没想到声音刚落,就发现又掉坑里了 /(ㄒoㄒ)/~~ 1234567891011121314{ "foo": "Hello, World!", "bar": { "b" 2019-03-27 Technology #Golang
Spring Cloud(二十):Gateway 动态路由(金丝雀发布/灰度发布) 为什么需要动态路由?之前说过 Gateway 的路由配置,常用的有两种方式: Fluent API 配置文件 这两者之间因为配置文件的方式修改起来比较灵活,然后通过 Stream+Bus 的方式刷新路由配置,所以大家使用的比较多。 但是如果我们在网关层需要类似于 Canary Release(金丝雀发布,也称灰度发布)这样的能力的话,那么以上两种配置路由的方式就都显得太笨拙了。 矿井中的金丝 2019-01-20 Technology > Spring #Spring Cloud #Microservices #Gateway #Spring Cloud Gateway #Canary Release #Dynamic routing
Spring Cloud(十九):Spring Cloud Gateway(读取、修改 Request Body) Spring Cloud Gateway(以下简称 SCG)做为网关服务,是其他各服务对外中转站,通过 SCG 进行请求转发。在请求到达真正的微服务之前,我们可以在这里做一些预处理,比如:来源合法性检测,权限校验,反爬虫之类… 因为业务需要,我们的服务的请求参数都是经过加密的。之前是在各个微服务的拦截器里对来解密验证的,现在既然有了网关,自然而然想把这一步骤放到网关层来统一解决。 如果是使用普通 2019-01-17 Technology > Spring #Spring Cloud #Microservices #Gateway #Filter #Spring Cloud Gateway
Spring Cloud(十八):Alibaba 之 Nacos 上个月最后一天的凌晨,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器,并在 maven 中央库发布了第一个版本。 目前 Spring Cloud Alibaba 还只能算是预览版吧,里边的坑肯定不少,不过我还是决定试试,看看 Alibaba 到底靠谱不靠谱。 2018-11-10 Technology > Spring #Spring Cloud #Alibaba #Nacos
Go 包管理解决之道 —— Modules 初试 有一段时间没有用 Go 了,今天去社区一看,发现了 Go Modules 已经面世了。 Go 的包管理是一直是为人诟病之处,从 Go 1.5 引入的 vendor 机制,到准官方工具 dep,目前为止还没一个简便的解决方案。 不过现在 go modules 随着 golang1.11 的发布而和我们见面了,这是官方提倡的新的包管理,乃至项目管理机制,可以不再需要 GOPATH 的存在。 欣喜之余 2018-11-09 Technology #Golang
Spring Cloud Finchley 正式发布 经过数个前期测试版本,Spring Cloud Finchley 终于迎来了正式版本! Spring Cloud Finchley 实战系列 2018-06-20 Technology > Spring #Spring Cloud
Sublime Text 一二事儿 作为一位开发人员,经常要编辑各种各样的文件。而在 Mac 系统中,文件名的后缀也是五花八门的,如果系统识别出这是一个文本文件,右键菜单的「Open with」可能还有点用,如果识别不出来,那么手动选择应用程序就比较麻烦了: 我经常使用 Sublime Text 来编辑,这时候就有点怀念 Windows 了,希望也能在右键菜单里增加一个「Open in Sublime Text」的选项,这样每次就 2018-06-17 Software #Sublime Text
Spring Cloud(十七):Spring Boot Admin 2.0 Spring Boot Admin 在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI,是用来管理 Spring Boot 应用程序的一个简单的界面,提供如下功能: 显示 name/id 和版本号 显示在线状态 Logging 日志级别管理 JMX beans 管理 Threads 会话和线程管理 Trace 应用请求跟踪 应用运行参数信息,如: Ja 2018-05-23 Technology > Spring #Spring Boot #Spring Cloud #Spring Boot Admin
记一个由于 IDEA 更新引发的神奇问题 上周六用 IDEA 直接 run 一个 Spring Boot 工程的 Application Bootstrap 的时候,什么错误也没有就直接退出了(从未成功运行过) 1Process finished with exit code 1 或者是这样的异常(曾经成功启动过) 123java.lang.IllegalStateException: Failed to load property s 2018-05-21 Software #Spring Boot #Maven #IDEA
将 Kindle 电子书导入 iBooks Kindle 已经用了好久了,确实极大的提升了我的阅读效率。Kindle 可谓是既实惠又方便,但是也有一些淡淡的忧伤——技术类书籍阅读不方便。 本文中我就通过将 Kindle 的电子书转为 edup 格式,然后导入 iBooks 来缓解这种不方便。(另外本文也可以解决 Amazon 因美区和中区账号不互通导致 Kindle 要来回切换账号的尴尬) 本篇文章,只供个人购买的正版书籍进行参考使用。请 2018-05-19 Life #Kindle #iBooks #DRM #Calibre #Reading
折腾:在 Hexo 的 page 中嵌入 iframe 周末没事就把之前的一键给证件照片打水印的那个小工具更新了一下。因为我平时也要用,而自从上次将博客又从 Ghost 迁回 Hexo 后,这些小工具就一直没空迁过来。这周末得空,就把这个给迁移一下,顺便又更新了一下,要不每次自己在 PS 里搞水印总是有种杀鸡用牛刀的感觉。 Hexo 跟 Ghost 的区别还是挺大的(那不废话嘛,一静一动能不大嘛)。在 Ghost 里我能直接在 page 页里写完整 H 2018-05-13 Technology #Hexo #Blog #Front-end #iframe
Spring Cloud(十六):Spring Cloud Gateway(续) 本文主要介绍 Spring Cloud Gateway 的路由熔断、路由重试和高可用。 路由熔断在前面学习 Hystrix 的时候,我们知道 Hystrix 有服务降级的能力,即如果服务调用出现了异常,则执行指定的 fallback 方法。Spring Cloud Gateway 也融合了 Hystrix,可以为我们提供路由层面服务降级。我们就来看看如何来做。 2018-05-11 Technology > Spring #Spring Cloud #Microservices #Hystrix #Gateway #Filter #Spring Cloud Gateway #Retry
Spring Cloud(十五):Spring Cloud Gateway(限流) 绝境长城(冰与火之歌) 在高并发的应用中,限流是一个绕不开的话题。限流可以保障我们的 API 服务对所有用户的可用性,也可以防止网络攻击。 一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如 Guava 的 RateLimiter、nginx 的 li 2018-05-10 Technology > Spring #Spring Cloud #Microservices #Gateway #Filter #Spring Cloud Gateway #Finchley #Rate limiting
Spring Cloud(十四):Spring Cloud Gateway(过滤器) 在上一篇文章中,我们了解了 Spring Cloud Gateway 作为网关所具备的基础功能:路由。本篇我们将关注它的另一个功能:过滤器。 Spring Cloud Gateway 已经内置了很多实用的过滤器,但并不能完全满足我们的需求。本文我们就来实现自定义过滤器。虽然现在 Spring Cloud Gateway 的文档还不完善,但是我们依旧可以照猫画虎来定制自己的过滤器。 2018-05-09 Technology > Spring #Spring Cloud #Microservices #Gateway #Filter #Spring Cloud Gateway