摘要:
控制 json 序列化/反序列化 1. @JsonIgnoreProperties的用法 @JsonIgnoreProperties(value = { "prop1","prop2" }) 用来修饰Pojo类, 在序列化和反序列化的时候忽略指定的属性, 可以忽略一个或多个属性. @JsonIgno 阅读全文
摘要:
不管是单体应用还是微服务应用, 现在都流行Restful风格, 下图是一个比较典型的使用rest的应用架构, 该应用不仅使用database数据源, 而且用到了一个Weather微服务, 另一方面, 该应用也是通过rest方式为web UI 或其他微服务应用提供服务. 通过Postman 插件测试R 阅读全文
摘要:
SpringMVC 视图方法的参数, 已经在这个文章中写得非常清楚了, 链接为 https://www.cnblogs.com/morethink/p/8028664.html 这篇文章做一些补充. 被@RequestMapping 注解的方法的签名非常灵活, Spring会自动注入各种类型的实参, 阅读全文
摘要:
本文转载自 https://www.cnblogs.com/morethink/p/6525216.html SpringMVC解决跨域问题, 感谢作者! 有个朋友在写扇贝插件的时候遇到了跨域问题。于是我对解决跨域问题的方式进行了一番探讨。 问题 API:查询单词URL: https://api.s 阅读全文
摘要:
不要自称为程序员http://www.ruanyifeng.com/blog/2011/10/dont_call_yourself_a_programmer.html 面试时,如何向公司提问?http://www.ruanyifeng.com/blog/2012/08/questions_you_n 阅读全文
摘要:
本文转载自 Karibasappa G C (KB), the Founder of javainsimpleway.com, 原文链接 http://javainsimpleway.com/exception-handling-best-practices/ Exception handling 阅读全文
摘要:
本文转载自 https://www.cnblogs.com/morethink/p/8028664.html, 作者写得非常好, 致谢! SpringMVC 参数绑定注解解析 本文介绍了用于参数绑定的相关注解。 绑定:将请求中的字段按照名字匹配的原则填入模型对象。 SpringMVC就跟Struts 阅读全文
摘要:
Spring 容器中 Bean 的名称 声明 bean 有两个方式, 一个是 @Bean, 另一个是 @Component 和它的子类 (包括 @Service/@Controller/@Repository/@Configuration), Spring 容器中 bean 名生成规则分两大类, 分 阅读全文
摘要:
Spring 的依赖注入 对于 Spring 程序, Spring 框架为我们提供一个 IoC 容器, 该容器负责创建对象和维护对象之间的依赖关系. 对于普通程序, 我们是通过对象本身来创建和解决自己的依赖问题. ApplicationContext 即是 Spring 程序的 IoC 容器, 该容 阅读全文
摘要:
Vertica 性能非常好, 平时基本不会碰到性能问题, 即使碰到, 优化也很容易, 而且效果往往会很好. 优化工具 1. explain 命令. 在一个大 SQL 执行之前, 使用 profile 来查看资源的预期消耗. veritica 执行计划除了有普通文本格式, 还有 graphviz 格式 阅读全文
摘要:
分布式锁需要具备的特性1. 高可用性2. 具备防止死锁能力, 获得锁的线程或进程在网络或硬件宕机的情况下, 无法主动释放该锁, 但我们仍可以通过锁定超时的方式删除锁. 3. 可重入, 一个线程在获得该锁的情况后, 可以多次获得同一个锁, 而无需任何延迟等待. 4. 提供阻塞获取锁的函数, 即没有获得 阅读全文
摘要:
Java 双冒号 :: 语法的含义 下面的代码中有双冒号,初看上去很奇怪, list.forEach(System.out::println); 这是Java8的"方法引用", 语法是 类名::静态方法名, 一般用作简化Lamda表达式. 详见讨论: https://www.zhihu.com/qu 阅读全文
摘要:
Web项目Session管理是一个很重要的话题, 涉及到系统横向扩展, SpringBoot已经为共享Session很好的解决方案, 这篇文章关注使用Redis共享会话, 同时这也是最常用的方法. pom.xml 增加依赖 SpringBoot2 已经将Redis底层客户端从Jedis切换为Lett 阅读全文
摘要:
Redis 安装 redis 采用单线程多路复用的机制提供并发访问, 用到了 Linux 的一些独有的特性, 所以官网不提供 Windows 版本, 微软和开源界曾经将 redis 移植到 Windows, 在 github 上可以下载使用, 不过最后的 release 版本是 2016 年 7 月 阅读全文
摘要:
本文转载自 crossoverJie 的b博客 https://www.cnblogs.com/crossoverJie/p/9282065.html 前言 之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。 直到有一天你会碰到线上奇奇怪怪的问 阅读全文
摘要:
对象名称可以长到128字符 1. Vertica 中字段名/表名/视图名/projection名/schema名, 名称最长达128个字节, 所以我们不用费尽心思缩写表名和字段名. 2. Vertica中的名称在catalog系统表能区分出大小写, 但使用的时候是大小写不铭感的. 在Oracle中, 阅读全文
摘要:
我们的 SpringBoot 程序都会加 spring-boot-starter 包, 而该包一个依赖项 spring-boot-starter-logging, 所以SpringBoot 程序不需要再显式增加 spring-boot-starter-logging 包依赖. 使用 mvn depe 阅读全文
摘要:
本文主要修改自下面博客:http://www.ityouknow.com/springboot/2016/11/06/spring-boo-mybatis.htmlhttp://tengj.top/2017/04/23/springboot9/http://www.hifreud.com/2017/ 阅读全文
摘要:
摘自: http://www.ityouknow.com/springboot/2017/05/09/springboot-deploy.html 查看JVM参数的值 可以根据java自带的jinfo命令: jinfo -flags pid jinfo -flags pid 来查看jar 启动后使用 阅读全文
摘要:
SpringBoot 项目单元测试也很方便, Web项目中单元测试应该覆盖:1. Service 层2. Controller 层 本文前半部分讲解是一些测试基础配置. 对于Service和Controller测试的讲解,摘自一个博客(嘟嘟独立博客的博客, Spring Boot干货系列:(十二)S 阅读全文
摘要:
pom.xml 文件 需要在 pom.xml 文件增加 mybatis-generator-maven 插件, mybatis-generator maven 插件默认会读到 src/main/resources目录下的 generatorConfig.xml 文件, 也可以自定义 generato 阅读全文
摘要:
SpringBoot 应用启动速度往往很快, 但在某些Linux 服务器上可能会很慢, 可能超过1分钟, 有时候甚至启动不起来. 下面过程耗时太长:IdGeneratorBase: Creation of SecureRandom instance for session ID generation 阅读全文
摘要:
向java 程序传参的几种形式: 1. 使用 OS 环境变量. 这个不推荐. 2. 使用JVM变量, 最常用的是 -D 参数. -XX 和-X 参数是用来设定内存和GC参数, 不同JVM的参数设置可能不同. -D 和 -X 参数紧跟在 java 后面. java -Dfile.encoding=UT 阅读全文
摘要:
SpringBoot 标准项目创建步骤 使用 Spring IDE(Eclipse), 可以新建一个 Spring starter project项目, 是一个项目向导, 在向导提示下可以按需添加 SpringBoot的常用依赖项目, 该向导生成一个非常规范的 pom.xml, 非常规范的目录结构, 阅读全文
摘要:
本文转自微信公众号 波波微课 的文章 微服务架构~携程Apollo配置中心架构剖析 一、介绍 Apollo(阿波罗)[参考附录1]是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于 阅读全文
摘要:
本文转载自微信公众号-架构师小秘圈 负载分析及问题排查极简教程 Hollis 平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候在线上出现问题时,往往会伴随着某些指标的异常。大部分情况下,在问题发生之前,某些指标就会 阅读全文
摘要:
这个链接比我写得更全面, http://tengj.top/2018/01/01/maven/ 20190115补充: maven 的一些插件 maven-checkstyle-plugin 检查代码规范的插件jacoco-maven-plugin 测试覆盖率maven-surefire-repor 阅读全文
摘要:
Vertica 8和 Hadoop 集群的互操作性已经很不错的, 但这块肯定是Vertica研发的重点, 将来可能还有较大的变动. Vertica 集群 和 Hadoop 集群的两种布局方式 |集群布局 | 描述 | 许可证 |支持Vertica for SQL on Hadoop特性 | | | 阅读全文
摘要:
参考 在 vertica 中有三种定义 identity 字段的方法, 分别是使用 或 或 . 简单对比: AUTO_INCREMENT 同 SQL Server 的概念一样, sequence 和 Oracle 的概念是一样. AUTO_INCREMENT 或 IDENTITY 字段都是直接在表定 阅读全文
摘要:
背景 谈到负载均衡, 对于数据库集群需要区分几个概念: 1. 运算的负载均衡, Vertica 本身是 MPP 数据库, SQL 操作自动会利用多台机器来加快处理速度. 2. 数据库连接的负载均衡, Vertica 和 Teradata 一样都是无主节点的架构, 这种架构允许客户端连接任意一个节点, 阅读全文
摘要:
本文仅涉及 Vertica 导入导出本地文件, 以及两个 Vertica 集群相互导出, 不涉及 Vertica 和 hdfs/Hive 导入导出和互操作. copy 数据导入工具 copy 命令无疑是最常用的导入工具了, 它是Vertica的bulk copy工具, 性能非常好. 可以直接从文本文 阅读全文
摘要:
三、数据库索引的原理 在整个过程中,最容易称为瓶颈点的是数据的读写,往往意味着要顺序或者随机读写磁盘,而读写磁盘的速度往往是比较慢的。 如果加快这个过程呢?相信大家都猜到了就是建立索引。 为什么索引能够加快这个过程呢? 相信大家都逛过美食城,里面众多家餐馆琳琅满目,如果你不着急呢,肚子不饿,对搜索的 阅读全文
摘要:
本文转自下面两个文章: 洋码头技术公众号的<<洋码头数据仓库实践>> 随身云技术团队的 <<大数据环境数据仓库&维度建模>> 在转载之前, 先说明我认为比较合理的数仓分层: 有关ODS 层: ODS层存在的意义已经被大量证明, 加上一个ODS层, 在技术层面可以保障业务系统稳定, 同时ODS也是数据 阅读全文
摘要:
三字经开头就讲, 教之道,贵以专, 我很早就意识到我最大的问题, 那就是没有做到专, 贪念太重, 自身才智不足以支撑太广的涉猎, 知道问题归知道, 犹如抽烟上瘾的人, 明知道吸烟有害, 但仍找抽不误. 从系统研发/数据平台/研发体系都是一把抓, Delphi/C#/Java/Python都花过不少时 阅读全文
摘要:
Vertica 表发生死锁后, 通过下面3个查询即可解锁. --步骤1: 找到被锁表的 transaction_idselect transaction_id, t.* from v_monitor.locks t; --步骤2:根据 transaction_id 获得 session_id, 这一 阅读全文
摘要:
我们在作业开发中为了处理效率, 经常需要并行执行一些trans, 等它们执行完毕后, 需要执行另外一些trans, 从流程上也就是分支+汇合. 粗看起来很简单, Kettle中对接一下这些组件就搞定了, 效果如下: 这是一个错误的设计, 如果这么简单没有必要写在博客备忘了. 它的执行效果是: 只要有 阅读全文
摘要:
主控trans + sub trans 模式 针对一个具体的处理任务(比如增量加载一个表), 我认为应该最好是使用两个trans来完成这个任务,分别是主控trans 和sub trans, 其中主控trans负责流程控制(包括依赖检查+增量区间设定+异常报警), sub trans仅负责数据转换, 阅读全文
摘要:
Vertica 有两个数据分布的概念, segmentation 和 partition, 至少有下面几个区别: 1.目的方面:segmentation 解决各节点数据倾斜问题, 适用于木桶原理, 数据量大的那个节点将会拖慢整个查询. partition 主要解决的是数据删除和空间回收问题. 列式数 阅读全文
摘要:
Impala 相关 Impala的常用端口: jdbc/ODBC 端口: 21050 impala-shell 访问端口21000 web UI地址: impalad节点(一个集群多个该类节点) http://impalad_node:25000/ impala-state节点(一个集群一个该类节点 阅读全文
摘要:
本文详细介绍了在Kettle中使用 Kudu API将数据写入Kudu中, 从本文可以学习到:1. 如何编写一个简单的 Kettle 的 Used defined Java class.2. 如何读取Kettle 每个记录的字段. 需要注意的是 getInteger() 返回的是Long 对象; 而 阅读全文