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