自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

禅与计算机程序设计艺术

资深程序员。著有《ClickHouse入门、实战与进阶》(最新上架)《Kotlin 极简教程》《Spring Boot 开发实战》《Kotlin 从入门到进阶实战》等技术畅销书。

  • 博客(97)
  • 资源 (6)
  • 收藏
  • 关注

原创 Spring Boot集成Security使用数据库用户角色权限ROLE_问题

问题描述日志打出来的ROLE是USER,代码里调用的是@PreAuthorize("hasRole('USER')"),为什么权限却是不对?后台打印日志:username is jack, USERLoginFilter:{"accountNonExpired":true,"accountNonLocked":true,"authoritie...

2017-04-30 02:12:00 8825

原创 Spring Boot集成Security使用数据库用户角色权限用户名问题

问题描述代码package com.springboot.in.action.daoimport java.util.Listimport com.springboot.in.action.entity.Userimport org.springframework.data.jpa.repository.Queryimport org.sp...

2017-04-30 01:59:00 8625

原创 Scala混用Java的集合类调用scala的foreach遍历问题

问题描述[ERROR] /Users/jack/book/lightsword/src/main/scala/com/springboot/in/action/service/LightSwordUserDetailService.scala:31: error: value foreach is not a member of java.util.Li...

2017-04-29 23:41:00 9049

原创 Scala中使用JSON.toJSONString报错:ambiguous reference to overloaded definition

问题描述:[ERROR] /Users/jack/book/lightsword/src/main/scala/com/springboot/in/action/filter/LoginFilter.scala:28: error: ambiguous reference to overloaded definition,[INFO] both met...

2017-04-29 01:06:00 9054

原创 问题解决: java.util.ConcurrentModificationException

问题描述在H5性能测试平台系统的开发过程中,客户端调用服务端API,写入性能数据的时候,报了如下错误:java.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)错误代码: /** ...

2017-04-27 00:44:00 8553

原创 Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法

代码是无误的,在低版本的API上都可以运行的,但在3.0以上的版本就会出现NetworkOnMainThreadException出现Android.os.NetworkOnMainThreadException错误提示的原因原因:不允许在主线程中进行网络访问解决办法:将网络访问的操作单独放到一个线程中,代码如下:new Thread(){...

2017-04-26 15:48:00 8479

原创 6.2 Spring Boot集成jpa

6.2 Spring Boot集成jpaJava持久化API(JPA,Java Persistence API)是一个将对象映射为关系数据库的标准技术。JPA通过注解或XML描述ORM(Object Relationship Mapping,对象-关系表的映射关系),并将运行期的实体对象持久化到数据库中。其中,SQL(结构化查询语言, Structur...

2017-04-26 00:36:00 8516

原创 6.3 Spring Boot集成mongodb开发

6.3 Spring Boot集成mongodb开发本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统。0 mongodb简介Mongo 的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS 系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。Mongo...

2017-04-26 00:36:00 8729 1

原创 6.1 Spring Boot集成mybatis

6.1 Spring Boot集成mybatis在SpringBoot集成MyBatis时,我们将去掉和Mybatis配置相关的xml文件配置方式,用注解和属性配置来代替这些繁杂的配置。本节我们使用SpringBoot集成Mybatis开发一个简易的H5性能测试的Web后台。我们采用Java,Groovy混合编程的方式。新建gradle工程...

2017-04-26 00:35:00 8520

原创 附录C Java编程简史

附录C Java编程简史从GOTO到OOP在20世纪60年代,软件曾出现过严重危机,由软件错误而引起的信息丢失、系统报废事件屡有发生。为此,1968年,荷兰E.W.Dijkstra提出了程序设计中常用的GOTO语句的三大危害:破坏了程序的静动一致性;程序不易测试;限制了代码优化。此举引起了软件界长达数年的论战,并由此产生了结构化程序设计方法...

2017-04-25 23:44:00 8361

原创 附录A 计算机的0和1

附录A 计算机的0和11.0 一切皆是映射计算机领域中的所有问题,都可以通过向上一层进行抽象封装来解决.这里的封装的本质概念,其实就是”映射“。就好比通过的电子电路中的电平进行01逻辑映射,于是有了布尔代数,数字逻辑电路系统;对01逻辑的进一步封装抽象成CPU指令集映射,诞生了汇编语言;通过汇编语言的向上抽象一层编译解释器,于是有了pascal,...

2017-04-25 23:43:00 8625

原创 附录B 编程的本质

附录B 编程的本质编程的本质N尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—),生於于瑞士温特图尔,是瑞士计算机科学家。Pascal语言之父。让我们暂时撇开平台、框架、技术、设计模式、对象思想、敏捷开发论等。 追问程序本质。2.0 什么是编程?编程的本质是创造世界。从本质上来说, 程序就是一系列有序执行的指令集合。...

2017-04-25 23:43:00 9920 1

原创 第9章 Spring Boot开发者工具

第9章 Spring Boot开发者工具Spring Boot为Maven和Gradle提供构建工具插件。9.1 Spring Boot maven pluginSpring Boot Maven Plugin,提供了使用Maven构建Spring Boot 工程的支持。我们可以用这个插件完成打包功能。支持打可执行jar包, war包。该插件支持Ma...

2017-04-25 23:41:00 8725

原创 第12章 Spring Boot与微服务

第12章 Spring Boot与微服务随着RESTful web服务和JSON数据交换格式流行,简单快速建立一个可连接的服务已经越来越方便了。随着持续交付概念推广以及Docker容器普及,微服务将这两种理念和技术结合起来,形成新的微服务+API + 平台的开发模式,以及容器化微服务的持续交付概念。微服务(micro services)这个概念不是新概...

2017-04-25 23:40:00 8782 2

原创 第10章 Spring Boot应用部署运维

第10章 Spring Boot应用部署运维10.1 Spring Boot应用运行To create a ‘fully executable’ jar with Maven use the following plugin configuration:<plugin> <groupId>org.springframe...

2017-04-25 23:40:00 8439

原创 第13章 SpringBoot开发中的常见问题与解决方案

第13章 SpringBoot开发中的常见问题与解决方案13.1 Spring MVC 关于controller的字符编码13.2 Spring Boot启动报错:Whitelabel Error Page]13.3 javax.servlet.ServletException13.4 库依赖冲突问题:Detected both log4j-ov...

2017-04-25 23:40:00 8466

原创 附录

附录附录A 计算机的0和1附录B 编程的本质附录C Java编程简史

2017-04-25 23:40:00 8429

原创 第11章 Spring Boot应用监控

第11章 Spring Boot应用监控在实际的生产系统中,我们怎样知道我们的应用运行良好呢?我们往往需要对系统实际运行的情况(各种cpu,io,disk,db,业务功能等指标)进行监控运维。这需要耗费我们不少精力来搞这些工作。在SpringBoot中,我们完全不需要面对这样的难题。本章主要介绍使用Actuator对Spring Boot应用指标进行监...

2017-04-25 23:39:00 8792

原创 8.7 Spring Boot集成日志

8.7 Spring Boot集成日志SLF4J与Logback简介Java日志框架众多,常用的有java.util.logging, log4j, logback,commons-logging等。SLF4J (Simple Logging Facade For Java),它是一个针对于各类Java日志框架的统一Facade抽象。SLF4J定义了...

2017-04-25 23:37:00 8559 3

原创 8.8 Spring Boot静态资源处理

8.8 Spring Boot静态资源处理当使用Spring Boot来开发一个完整的系统时,我们往往需要用到前端页面,这就不可或缺地需要访问到静态资源,比如图片、css、js等文件。Spring Boot使用 WebMvcAutoConfiguration 中的配置各种属性, 默认为我们提供了静态资源处理。如果需要特殊处理的再通过配置进行修改。我...

2017-04-25 23:37:00 8617 1

原创 8.6 Spring Boot集成Spring Security

8.6 Spring Boot集成Spring Security开发Web应用,对页面的安全控制通常是必须的。比如:对于没有访问权限的用户需要转到登录表单页面。要实现访问控制的方法多种多样,可以通过Aop、拦截器实现,也可以通过框架实现,例如:Apache Shiro、Spring Security。很多成熟的大公司都会有专门针对用户管理方面有一套完整...

2017-04-25 23:37:00 8485 5

原创 8.5 Spring Boot集成Swagger2构建自动化Rest API文档

8.5 Spring Boot集成Swagger2构建自动化Rest API文档Swagger2的API文档在以往的项目中,关于API接口文档,我们一般使用wiki或者干脆就是“线下文档”。缺点是很明显的:在迭代开发过程中,API会频繁变动,这样文档需要同步修改。繁琐。如果不及时更新,就会出生调用方没有及时了解到API签名的变化,导致较大的沟通很改动成...

2017-04-25 23:37:00 8429 3

原创 8.4 Spring Boot集成Kotlin混合Java开发

8.4 Spring Boot集成Kotlin混合Java开发本章介绍Spring Boot集成Kotlin混合Java开发一个完整的spring boot应用:Restfeel,一个企业级的Rest API接口测试平台(在开源工程restfiddle[1]基础上开发而来)。系统技术框架编程语言:Java,Kotlin数据库:MongoSprin...

2017-04-25 23:36:00 8895

原创 8.3 Spring Boot集成Scala混合Java开发

8.3 Spring Boot集成Scala混合Java开发本章我们使用Spring Boot集成Scala混合Java开发一个Web性能测试平台。使用到的相关技术:后端:phantomjsscalajavaspringbootvelocityjpamavenmysql前端:jquerybootstrapadminLTE...

2017-04-25 23:35:00 8568

原创 8.2 Spring Boot集成Groovy、Grails开发

8.2 Spring Boot集成Groovy、Grails开发本章介绍Spring Boot集成Groovy,Grails开发。我们将开发一个极简版的pms(项目管理系统)。Groovy和Grails简介Groovy简介Groovy 是一种动态语言,它在 JVM 上运行,并且与 Java 语言无缝集成。Groovy 可以大大减少 Java 代码...

2017-04-25 23:35:00 8679 1

原创 8.1 Spring Boot集成Groovy混合Java开发

8.1 Spring Boot集成Groovy混合Java开发本章节我们使用SpringBoot集成Groovy混合Java开发一个极简的RestAPI。 数据库使用mysql,ORM层使用mybatis,模板引擎使用freemarker,构建工具使用Gradle。关于Groovy语言,我们在上一章已经简单介绍了。本章就不再多说。新建Gradle工程...

2017-04-25 23:34:00 8583

原创 第8章 Spring Boot集成开发

第8章 Spring Boot集成开发8.1 Spring Boot集成Groovy混合Java开发8.2 Spring Boot集成Groovy、Grails开发8.3 Spring Boot集成Scala混合Java开发8.4 Spring Boot集成Kotlin混合Java开发8.5 Spring Boot集成Swagger2构建自动化R...

2017-04-25 23:31:00 8516

原创 第7章 Spring Boot集成模板引擎

第7章 Spring Boot集成模板引擎因为Spring Boot其实是对Spring生态的封装整合打包,以简化开发中使用Spring框架。所以 Spring Boot在集成模板引擎过程中,其实就是对传统SpringMVC集成对应模板引擎的打包自动化配置。在Spring MVC架构中:“视图(View)”负责前端页面的展示。后端的数据...

2017-04-25 23:29:00 8810 1

原创 第5章 Spring Boot自动配置原理

第5章 Spring Boot自动配置原理5.1 SpringBoot的核心组件模块首先,我们来简单统计一下SpringBoot核心工程的源码java文件数量:我们cd到spring-boot-autoconfigure工程根目录下。执行$ tree | grep -c .java$模块java文件数spring-boot5...

2017-04-25 23:28:00 8390 3

原创 第6章 Spring Boot数据库集成

第6章 Spring Boot数据库层集成6.1 Spring Boot集成mybatis6.2 Spring Boot集成jpa6.3 Spring Boot集成mongodb开发参考资料:1.http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure...

2017-04-25 23:28:00 8547

原创 第4章 零XML配置的Spring Boot Application

第4章 零XML配置的Spring Boot ApplicationSpring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件、YAML 文件、环境变量和命令行参数来定义优先级不同的配置值。零XML配置的Spring Boot Application,是基于Spring JavaConfig。applic...

2017-04-25 23:27:00 8356

原创 第3章 Spring Boot快速开始Hello World

第3章 Spring Boot快速开始Hello World3.1 SpringBoot版的Restful Hello,World3.1.1 Spring Boot CLI groovy版Hello World首先安装Spring Boot CLI,参考文档:http://docs.spring.io/spring-boot/docs/current...

2017-04-25 23:25:00 8470 1

原创 第2章 Spring Boot简介

第2章 Spring Boot简史Spring Boot,简单讲就是牺牲项目的自由度来减少配置的复杂度(“契约式编程”思想,SpringBoot自动配置方案的指导思想)。约定一套规则,把这些框架都自动配置集成好,从而达到“开箱即用”。同时,也支持自由配置。这就是一个非常好的方案了。Java Web开发涉及的技术比较繁杂,涉及到很多开发框架和工具(J...

2017-04-25 23:24:00 8526

原创 第1章 Spring Boot史前简述

第1章 Spring Boot史前简述很久以前,老一代的系统都是使用EJB技术开发。到后来集成 struts, spring, hibernate等框架开发。在这些开发过程中,基本都是开发者自己手动拉jar到/lib目录地下,手动管理jar版本之间的依赖,需要编写大量的xml配置。大约20年前,程序员们使用“企业级Java Bean”(EJB)开发...

2017-04-25 23:23:00 8652

原创 《Spring Boot开发:从0到1》全书目录结构

《Spring Boot开发:从0到1》 全书目录结构第一部分Spring Boot基础第1章 Spring Boot史前简述1.1 J2EE(Java 2 Platform Enterprise Edition)简介1.2 Java企业级开发框架概述1.3 Spring生态系统1.4 Spring JavaConfig第2章 Spring...

2017-04-25 23:18:00 8545 10

原创 adb命令 - adb forward交互流程

adb命令 - adb forward交互流程命令:adb forward tcp:6100 tcp:7100 // PC上所有6100端口通信数据将被重定向到手机端7100端口server上或者adb forward tcp:6100 local:logd // PC上所有6100端口通信数据将被重定向到手机端UNIX类型socket上通过ad...

2017-04-24 15:50:00 9529

原创 移动端Web开发调试之Weinre调试教程

原文地址:http://blog.csdn.net/freshlover/article/details/42640253在设计师与前端开发人员的努力下,一个WebApp出炉了,可是测试人员说了一堆的问题:某某机型下页面表现不一致,某某系统下页面如何如何,某某系统浏览器下页面怎么怎么滴。看着满满的测试汇总文档,我们曾经在一个又一个知名或不知名的手机终端上...

2017-04-24 15:22:00 8751

原创 H5 App调试方法参考

H5调试常见方法相较于pc端,移动端调试要更加丰富一些,下面对调试的方法进行简单汇总。主要分为以下几点:chrome developer toolsandroid+chrome inspectiOS+safariGapDebugweinreweinre相关套件代理chrome developer tools除了chrome,Firef...

2017-04-24 15:20:00 9243

原创 《Spring Boot开发:从0到1》第10章 Spring Boot应用部署运维

第10章 Spring Boot应用部署运维10.1 Spring Boot应用运行10.2使用Spring Cloud部署10.3使用Docker快速部署参考资料:1.https://eacdy.gitbooks.io/spring-cloud-book/content/2.http://git.oschina.net/widuu/chine...

2017-04-24 00:46:00 8462

原创 《Spring Boot开发:从0到1》第12章 Spring Boot与微服务

第12章 Spring Boot与微服务12.1 微服务架构微服务架构是将一个系统应用拆分成多个不同的服务,每个服务独立开发、部署、扩展。服务于服务之间通过RESTful API,RPC接口或者其他方式协同工作。12.2 使用Spring Boot创建微服务参考资料:1.http://microservices.io/2.http://mart...

2017-04-24 00:40:00 8552

ClickHouse 高性能、可扩展和低成本的OLAP数据库 陈光剑 20230912

ClickHouse 设计哲学 具体问题具体分析 use good algorithms in a good context; 深入细节 dig into details; 度量指标 measure everything; 贴近生产环境 be close to production; 基准测试 do benchmarks, more of them; 不断试验、实践never stop experimenting; 大规模测试 test at scale; 大胆创新 do weird stuff; have fun! It is a database: A database has both a storage engine and a query engine. ClickHouse can efficiently ingest data from various sources and its query engine provides low-latency query responses. It is an OLAP database: An On-Line Analytic

2023-09-14

Will AI Fix Work? 工作节奏超过了我们的跟上能力 人工智能有望创造一种全新的工作方式

The pace of work is outpacing our ability to keep up. AI is poised to create a whole new way of working. 工作节奏超过了我们的跟上能力。人工智能有望创造一种全新的工作方式。 微软工作趋势指数年度报告( Work Trend Index Annual Report ) Key findings: The data points to three urgent insights business leaders must know now as they look to quickly and responsibly adopt AI. 1. Digital debt is costing us innovation: 64% of people have struggled with finding time and energy to get their work done, and those workers are 3.5x more likely to say they

2023-05-17

THE AI INDEX REPORT 人工智能指数报告 Measuring trends in Artificial Inte

THE AI INDEX REPORT 人工智能指数报告 Measuring trends in Artificial Intelligence 衡量人工智能的趋势 TOP TAKEAWAYS 最重要的要点 Industry races ahead of academia. 工业界领先于学术界。 Until 2014, most significant machine learning models were released by academia. Since then, industry has taken over. In 2022, there were 32 significant industry-produced machine learning models compared to just three produced by academia. Building state-of-the-art AI systems increasingly requires large amounts of data, compute, and money, resources

2023-04-06

四大常用限流算法原理详解:计数器固定窗口、计数器滑动窗口、漏桶、令牌桶算法.pdf

四大常用限流算法原理详解:计数器固定窗口、计数器滑动窗口、漏桶、令牌桶算法.pdf

2021-05-28

Kotlin Coroutines by Tutorials (1st Edition)

Kotlin Coroutines by Tutorials (1st Edition)

2021-04-28

Principles of programming languages by Gilles Dowek (auth.) (z-lib.org).pdf

Principles of programming languages by Gilles Dowek (auth.) (z-lib.org).pdf

2021-04-28

A Brief History of Artificial Intelligence

A Brief History of Artificial Intelligence What It Is, Where We Are, and Where We Are Going by Michael Wooldridge (z-lib.org).pdf

2021-04-28

An introduction to functional programming through lambda calculus.PDF.zip

Author: Michaelson, Greg Functional programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.

2019-09-22

《Kotlin项目实战开发》第3章+类型系统与可空类型

《Kotlin项目实战开发》 第3章 类型系统与可空类型 跟Java、C和C ++ 一样, Kotlin也是“静态类型编程语言”。 通常,编程语言中的类型系统中定义了  如何将数值和表达式归为不同的类型  如何操作这些类型  这些类型之间如何互相作用 我们在编程语言中使用类型的目的是为了让编译器能够确定类型所关联的对象需要分配多少空间。 在每一个编程语言中,都有一个特定的类型系统。静态类型在编译时期时,就能可靠地发现类型错误。因此通常能增进最终程序的可靠性。 类型系统在各种语言之间有非常大的不同,主要的差异存在于编译时期的语法,以及运行时期的操作实现方式。 本章我们简单介绍一下Kotlin的类型系统。

2017-09-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除