文档章节

学习总结(2016年10月3日 )

编走编想
 编走编想
发布于 2016/10/03 21:54
字数 673
阅读 46
收藏 0

1. Linux 中的线程

原文:http://blog.csdn.net/ctthuangcheng/article/details/8914712

长久以来,Linux 并没有线程的概念。Linux 中的线程是使用子进程模拟的。在 2.6 以前的版本,Linux 的线程是靠 pthread 库实现的,但是其只实现了 POSIX 中对线程定义的几条要求中的一条,相去甚远。

在 2.6 之后,task_struct 结构中增加了一个 tgid。这个数据结构上的变化使得 Linux 中的线程完整实现了 POSIX 的要求。

2. DDD、CQRS 与 EventSourcing

原文:http://www.uml.org.cn/zjjs/201609221.asp

DDD 中的聚合和聚合根

聚合指的是一组内聚的实体和值对象。 聚合根指的就是这一组聚合的根对象。聚合之间的交互都必须通过聚合根进行,不能绕过聚合根直接和其下面的实体进行交互。

DDD 聚合

聚合与一致性

聚合内部要保证强一致性,聚合与聚合之间要保证最终一致性。

EventSourcing 是否适合互联网

大量的 log 数据和数据预热等问题存在,我不太认为 EventSourcing 适合互联网应用。当然这也只是我现阶段的看法。

3. Spring 4 新特性

用 Groovy DSL 配置 Spring Bean

原文:http://jinnianshilongnian.iteye.com/blog/1991830

Spring 4.0 引入了 Groovy DSL,但目前看还不是很完善,不推荐大规模使用。

4. Slf4J

Logger.error(String message, Object... args) args 中如果最后一个是 Throwable,且没有匹配到 {} 的话,便会打印出异常栈

5. CORS

原文:https://spring.io/blog/2015/06/08/cors-support-in-spring-framework 简单的 demo:https://spring.io/guides/gs/rest-service-cors/

Cross-origin resource sharing (CORS) is a W3C specification implemented by most browsers that allows you to specify in a flexible way what kind of cross domain requests are authorized, instead of using some less secured and less powerful hacks like IFrame or JSONP.

Spring 4.2 中增加了完善的 CORS 支持,既可以在 Controller 类级别和方法级别上进行配置,也可以进行全局配置。

类级别配置:

@CrossOrigin(maxAge = 3600)
@RestController
@RequestMapping("/account")
public class AccountController {

	@CrossOrigin(origins = "http://domain2.com")
	@RequestMapping("/{id}")
	public Account retrieve(@PathVariable Long id) {
		// ...
	}

	@RequestMapping(method = RequestMethod.DELETE, value = "/{id}")
	public void remove(@PathVariable Long id) {
		// ...
	}
}

全局配置:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

	@Override
	public void addCorsMappings(CorsRegistry registry) {
		registry.addMapping("/api/**")
			.allowedOrigins("http://domain2.com")
			.allowedMethods("PUT", "DELETE")
			.allowedHeaders("header1", "header2", "header3")
			.exposedHeaders("header1", "header2")
			.allowCredentials(false).maxAge(3600);
	}
}

如果使用 Spring Boot,则可以使用下面的配置:

@Configuration
public class MyConfiguration {

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/api/**");
            }
        };
    }
}

当使用 Spring Security 时,为了使 Spring Security 也支持 CORS,则需要基于 Filter 支持 CORS:

@Configuration
public class MyConfiguration {

	@Bean
	public FilterRegistrationBean corsFilter() {
		UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
		CorsConfiguration config = new CorsConfiguration();
		config.setAllowCredentials(true);
		config.addAllowedOrigin("http://domain1.com");
		config.addAllowedHeader("*");
		config.addAllowedMethod("*");
		source.registerCorsConfiguration("/**", config);
		FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
		bean.setOrder(0);
		return bean;
	}
}

说实话上面这些配置还是有些复杂

© 著作权归作者所有

共有 人打赏支持
编走编想
粉丝 148
博文 126
码字总数 107958
作品 0
海淀
程序员
私信 提问
限额15人!与美国MySQL研发总监来场8.0的巅峰对话!

喜大普奔!刚参加完Percona Live Europe大会的MySQL优化器研发总监Manyi Lu将于本月造访中国,获悉这一消息的我们有幸邀请到了Manyi,与大家展开一次面对面交流,分享最新发布的MySQL 8.0优化...

DBAplus社群
2016/10/12
0
0
2016年度读书单

2016年01月01日 《HBase 管理指南》 2016年01月04日 《Hadoop技术详解》 2016年02月28日 《hive编程指南》 2016年03月13日 《Java并发编程》 2016年05月02日 《大型分布式网站架构设计与实践...

Ryan-瑞恩
2015/12/31
109
0
致敬感动的“自己”

想了许久,还是写出来,并不是让别人怎么评价我,我只是想给自己一个鼓励和信任。 ------题记 2016年不平凡的一年,从3月份到10月份,每日奋战五小时来学习linux。每周日与同学们一起学习、一...

二进制卤蛋
2017/02/22
0
0
2017 Java 工程师面试总结

面试的岗位是Java后台开发,面的公司不多,主要有美团点评-网易-网易有道-携程-华为-中兴-科大讯飞-烽火通信这些公司。从前到后简单记录了自己面试时候遇到的问题,以及对面试给了一点点小的...

u013322876
2017/04/03
0
0
这近500亿美元的单子,高通全部以现金来完成支付。

  2016年10月底,高通以470亿美元的价格收购了恩智浦半导体(以下简称NXP),按照交易合同的说法,这近500亿美元的单子,高通全部以现金来完成支付。   NXP主要业务范围是高性能混合信号...

晨晨尖端科技前沿
2017/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
11
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
9
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
8
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部