目录

Start

@SpringBootApplication
拆分
@Configuration
允许在上下文中注册额外的bean或导入其他配置类
@EnableAutoConfiguration
启用springboot自动配置机制
@ComponentScan
扫描被@Component(@Service,@Controller)注解的bean,默认扫描该类所在的包下所有的类

@PostMapping实际上就等价于 @RequestMapping(method = RequestMethod.POST),同样的 @DeleteMapping ,@GetMapping也都一样,常用的 HTTP Action 都有一个这种形式的注解所对应。
@PathVariable :取url地址中的参数。@RequestParam url的查询参数值。
@RequestBody:可以将 HttpRequest body 中的 JSON 类型数据反序列化为合适的 Java 类型。
ResponseEntity: 表示整个HTTP Response:状态码,标头和正文内容。我们可以使用它来自定义HTTP Response 的内容。

@EnableConfigurationProperties(prefix=”前缀”)
读取主配置文件前缀相关的配置

SpringBoot异常处理

@ControllerAdvice(assignableTypes = {IndexController.class})

@ExceptionHandler(value = Exception.class)

使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常
@ExceptionHandler 处理 Controller 级别的异常
ResponseStatusException

异常收集

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

SpringBoot 2.0.0 以上都采用内置tomcat8.0以上版本,而tomcat8.0以上版本遵从RFC规范添加了对Url的特殊字符的限制,url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~四个特殊字符以及保留字符( ! ’ ( ) ; : @ & = + $ , / ? # [ ] ) (262+10+4+18=84)这84个字符,请求中出现了{}大括号或者[]


本文链接: http://kiritor.github.io/2020/07/02/springboot/

-- EOF --

Dev-faq

目录

前言

最近在研读《领域驱动设计-软件核心复杂性应对之道》,觉得是应该把设计模式抓起来了。

总纲

为了实现程序的可维护性,可扩展,灵活性更高,只是简单的封装与继承是不够的。需要通过一系列设计模式来降低程序的耦合度。以GOF设计模式为准,可分为三大类: 创建型行为型结构型(根据范围准则: 类模型对象模型)

原则

设计模式遵循如下6大原则:

  1. 单一职责原则(Simple Responsibility Principle)
  2. 里氏替换原则(Listkov Substitution Principle)
  3. 依赖倒转原则(Dependence Inversion Principle)
  4. 接口隔离原则(Interface Segregation Principle)
  5. 迪米特法则(Law of Demeter)
  6. 开闭原则(Open Close Principle)

本文链接: http://kiritor.github.io/2020/04/15/patternFaq/

-- EOF --

数据中台(转载mark)

小编有话说:日前,大数网记者专门采访了阿里巴巴集团数据技术及产品部总经理朋新宇,就数据中台的本质进行了深入的访谈。
根据IDC最近发布的《全球云计算IT基础设施市场预测报告》显示:2019年全球云上的IT基础设施占比超过传统数据中心,成市场主导者。

为了迎接这一天的到来,阿里云准备了10年。

到今天,阿里云已经拥有了飞天云操作系统、飞天大数据平台、阿里巴巴双中台(数据中台和业务中台)和智联网AIoT“四张王牌”来帮助政企客户上云。

有关基础设施、大数据、人工智能,业界已经讲了很多了,本文重点来讲讲中台,更聚焦的说是数据中台。

从去年阿里巴巴公开提出这个概念以来,中台就成了热词。日前,大数网记者专门采访了阿里巴巴集团数据技术及产品部总经理朋新宇,就数据中台的本质进行了深入的访谈。为了更好的理解数据中台,也为了更方便阅读,接下来的内容以问答形式呈现。

武汉之行~

出差,忙里偷闲到处逛逛

-- EOF --

武汉美食~

公司安排武汉出差,相对于重庆来说,武汉美食更温和,“过早”美食丰富

-- EOF --

中台的思考

中台

中台更像是一种企业架构,结合互联网技术和行业特性,将企业核心能力(技术&业务)以共享服务中心进行沉淀,形成”大中台、小前台”的组织和业务机制,使前台的一线业务会更敏捷、更快速的适应瞬息万变的市场,而中台将集合整个集团的运营数据能力,产品技术能力,对各前台业务形成强有力的支撑,所谓的中台,也就是企业互联网架构,把公共的资源共建,服务化共享,供企业快速降低成本的进行规模化创新,前台业务快速演变。

业务中台

业务角度来看,沉淀能力(技术&业务),可以支持快速创新,让研发更灵活,业务更便捷,应对未来不可预知的市场变化。业务中台即是微服务的业务平台: 用户中心、订单中心、会员中心等各种微服务集散地,基于前台业务发展,灵活快速组合。

GitLab使用自定义签名开启HTTPS

前言

公司需要搭建自己的GitLab作为代码管理平台,因为是部署到阿里云,所以使用https访问gitlab相对安全。更好的做法是购买域名,之后再去买SSL证书。在域名没有的前提下, 可以使用自签名的证书。配置方式如下:

生成CA私钥ca.key

在gitlab目录下新建ssl目录,生成私钥ca.key

1
2
3
$ mkdir ssl
$ cd ssl
$ openssl genrsa -out ca.key 2048

Dev-faq

前言

突然想把工作中和学习中遇到的开发上的疑难问题记录一下。不仅仅限于代码层面,可以是一些开发技巧,新的思维、研发工具,甚至是一些TODO。

工具集

SSH工具

虽然Mac的终端可以使用SSH命令远程登录服务器,可是每次都需要输入命令挺麻烦的,而且服务器也多不便于管理。推荐一款跨平台的SSH工具Termius

Dash

开发者必备的API文档聚合工具,随查随用,简单快捷,学会先查API,再Google/baidu