文档章节

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

编走编想
 编走编想
发布于 2016/10/03 21:54
字数 673
阅读 44
收藏 0
点赞 0
评论 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;
	}
}

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

© 著作权归作者所有

共有 人打赏支持
编走编想
粉丝 133
博文 120
码字总数 107958
作品 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 ⋅ 0

致敬感动的“自己”

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

二进制卤蛋 ⋅ 2017/02/22 ⋅ 0

09年放假安排介绍

国务院办公厅关于2009年部分节假日安排的通知,由于2009年10月3日是中秋节,正处于国庆“黄金周”期间。经研究,将国庆节、中秋节放假时间合并考虑,一共放假8天。 2009年元旦、春节、清明节...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

无人店标准正式发布 鼓励发展;摩拜定制的共享汽车叫摩卡

看点:每日一早报,纵览昨夜今晨的行业大事件。 「智东西」早报第782期 2017.11.03 周五 #今日要闻# 1、无人店标准正式发布 鼓励在中国境内发展 11月3日消息,中国连锁经营协会首次对外发布社...

e848lip6r ⋅ 2017/11/04 ⋅ 0

2017 Java 工程师面试总结

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

u013322876 ⋅ 2017/04/03 ⋅ 0

岁序更新 观往知来

岁序更新 观往知来 心有猛虎,细嗅蔷薇;盛宴之后,泪流满面 | 忆2016 展2017 目录 1.见猎心喜 如梦初醒 2.折节向学 孳孳不息 3.触目如故 高瞻远瞩 1.见猎心喜 如梦初醒 萌芽:大二下学期初,...

guangcheng0312q ⋅ 2017/01/08 ⋅ 0

2016年12月3日香港SAT考试|答案2995803008准

2016年12月3日香港SAT答案《2995803008》 2016年12月3日香港SAT答案《2995803008》 2016年12月3日香港SAT答案《2995803008》 英语四级答案《2995803008》 英语四级答案建造师《2995803008》 ...

nt9473 ⋅ 2016/11/25 ⋅ 0

2016年12月3日亚洲SAT考试|答案1661219479保顺

2016年12月3日亚洲SAT答案《1661219479》 2016年12月3日亚洲SAT答案《1661219479》 2016年12月3日亚洲SAT答案《1661219479》 英语四级答案《1661219479》 英语四级答案建造师《1661219479》 ...

ni7763 ⋅ 2016/11/25 ⋅ 0

python控制台无法正常显示中文字符串解决方法

公告 encoding: utf-8 s = "哈哈"ss = u'哈哈' print s.decode('utf-8').encode('gbk')print ss.encode('gbk')...

老朱教授 ⋅ 2017/08/27 ⋅ 0

2016年12月3日SAT考试|答案1760816692稳

2016年12月3日SAT答案《1760816692》 2016年12月3日SAT答案《1760816692》 2016年12月3日SAT答案《1760816692》 英语四级答案《1760816692》 英语四级答案建造师《1760816692》 英语四级答案...

rw4754 ⋅ 2016/11/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 14分钟前 ⋅ 0

Ubuntu部署django问题汇总

使用Anaconda3的Python3.6的pip安装UWSGI报错 原因是gcc版本不兼容,安装4.7并修改gccsudo apt-get install gcc-4.7sudo mv /usr/bin/gcc /usr/bin/gcc.baksudo ln -s /usr/bin/gcc-4.......

wuyaSama ⋅ 18分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

猫耳m ⋅ 18分钟前 ⋅ 0

Docker减肥小记

如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察 如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的镜像、容器、网络和数据卷… 1、查看...

寰宇01 ⋅ 28分钟前 ⋅ 0

微信小程序中如何使用WebSocket实现长连接(含完整源码)

本文由腾讯云技术团队原创,感谢作者的分享。 1、前言 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。腾讯云研究了一...

JackJiang- ⋅ 36分钟前 ⋅ 0

定制库到Maven本地资源库

1.如果只有定制库的JAR文件 下载链接如下:pdf.jar 2.使用命令转换成Maven本地资源 mvn install:install-file -Dfile=/Users/manager/Downloads/clj-pdf-2.2.33.jar -DgroupId=clj-pdf -Dar......

年少爱追梦 ⋅ 40分钟前 ⋅ 0

高仿springmvc之xuchen-mvc

package org.mvc.framework.servlet; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.......

徐志 ⋅ 43分钟前 ⋅ 0

关于自定义URLStreamHandler的一次踩坑

关于自定义URLStreamHandler的一次踩坑 20180625 lambo init 说明 一般自定义实现url的协议解析.方案为实现URLStreamHandler.实现其 openConnection 就可以了, 如果我们执行 new URL("xx://...

林小宝 ⋅ 44分钟前 ⋅ 0

【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书

演示证书文件 链接: https://pan.baidu.com/s/1ijHNnMQJj7jzW-jXEVd6Gg 密码: vfva 所需jar包 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --> <dependenc......

小帅帅丶 ⋅ 45分钟前 ⋅ 0

用Calendar 实现 计算 一段时间的毫秒值

Calendar c=Calendar.getInstance();c.add(Calendar.MONTH, -1);int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH)......

岸芷汀兰 ⋅ 48分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部