![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
成长
文章平均质量分 87
chenhailonghp
这个作者很懒,什么都没留下…
展开
-
Window系统bat脚本或Linux系统shell脚本处理-钉钉-邮件等报警服务
有时候线上服务器或者什么乱七八糟的服务器突然停止、中断了。就需要有个监控来做告警。最近公司在window系统上了做了个.net服务用来做图片转换,老是崩溃。所以业务使用中经常发现不明所以的问题。公司用钉钉,就利用bat脚本和钉钉的机器人通过http请求来做一个报警监控。流程如下:1. 访问对应请求2. 分析响应信息3. 如果发现包含特殊字符4. 发送钉钉消息5. 否则不处理6. 定时60s执行一次。windows系统 Bat脚本如下color 2f title http:/原创 2020-10-22 16:32:03 · 1408 阅读 · 0 评论 -
面试从处处碰壁到受宠若惊!这种feel还是不错的,来梳理一下第五次找工作的经历
这次找工作的经历其实还好,远不像第一次找工作是那样的刻骨铭心。一轮下来,感觉疫情之下,岗位及薪资相较于之前真的是有了很大的差别。面试机会还是比较少的。背景旅游行业受到疫情的冲击很大,公司因此裁掉了整个部门。2020年6月多发生的事情。给了赔偿金,所以心理还稳一点,不至于断粮、断贷、断了生活。所以,休养生息了一个多月后,开始找工作。学历:成考大专工种:JAVA后端年龄:未满31岁,差个几百天经验:9年多(JAVA-5年左右)面岗:高级/资深地点:福报城市-大杭州要求:平薪及以上 30w原创 2020-08-16 17:07:00 · 1983 阅读 · 0 评论 -
问:如果项目运行变得越来越慢了,应该从哪些方面去考虑去优化?
这个问题问的很泛,所以可以回答的点有很多。可以从前端、后端、数据等方面进行回答。前端可以通过Chrome控制台、抓包工具等分析请求情况。请求资源是不是很多。看看每次打开页面的时候,是不是会加载很多的资源文件,如xxxx.js xxxx1.jsxxxx2.jsxxxx1.cssxxxx2.cssxxxx3.cssxxxx1.jpgxxxx2.jpg....打开一个网页可能加载了几十种资源文件。这个是可以优化一下的。首先是减少资源的个数,因为每多一个资源文件就是一次http原创 2020-07-23 16:27:42 · 1231 阅读 · 0 评论 -
面试官不经意的露出微微一笑,我就知道我凉了,大神总是喜欢降维打击
都在说行业内卷,卷的是什么呢?大概就是一些我这样的一些‘劣币’吧~背景疫情之下,部门解散,又再一次的踏上了求职之旅。虽然已经工作多年,但是越发的感觉到自己的不足。没有正确方向的职业规划;没有打开自己的眼界;被自己思维方式所束缚的感觉。前奏正好坐在家里复习,突然接到了hr电话。简单沟通之后,觉得离家也比较近,是个机会。就立马约在了15分钟后面试。穿鞋、关门、下楼、骑车、出发…到达目的地后,hr简单沟通,把我引入了会议室。等待面试官的到来…过程坐了一小会儿,一个中年稍胖带着眼镜的男人拿原创 2020-07-22 09:54:05 · 470 阅读 · 0 评论 -
一个程序猿的呓语:从字里行间看到生活,你需要勇气去启程
如果说努力和拼尽全力之间有什么区别,那就是,当你努力的时候,你会觉得自己已经拼尽全力了。当你拼尽全力的时候,你会觉得自己还不够努力。人生每到一个阶段就会有当前阶段的烦恼。可能是生活的,可能是工作的,可能是家庭的。无论如何,路还是要走,生活总是要继续的。从字里行间看到生活作为一个程序猿,是少不了关注一些工作相关的公号的,当然还有一些生活相关的杂号。看到一些感兴趣的标题会点击进去看看。怎么...原创 2020-05-07 13:19:11 · 582 阅读 · 0 评论 -
Redis5.0支持的九种数据类型及使用场景整理- Redis学习
Redis简介Redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。JAVA客户端是jedis。Redis6.0已经支持多线程了(面试提问redis是单线程还是多线程问题的时候要注意了)。redis稳定版下载地址Redis数据结构(罗列)String:二进制安全的字符串Lists:安插入顺序排序的字符串元素集合。基本是链表。Sets:无序不重...原创 2020-04-08 15:28:39 · 1616 阅读 · 0 评论 -
redis sentinel的介绍,主要功能描述,如何启动运行,及多种部署方式等笔记整理
Redis Sentinelsentinel为redis提供高可用性(master-slave模式下, 多节点模式用集群)。使用故障转移请至少部署3个哨兵。每个sentinel是个独立运行的进程。sentinel水平扩容时,数据迁移是个问题(要保证redis可用且写入不丢失),所以cluster是更好的选择。当sentinel感知到master的变化会通知客户端更换节点,其实内部是用的一个...原创 2020-03-14 10:44:18 · 929 阅读 · 0 评论 -
2020年马上就到了,如何深刻地自我剖析,请看操作指南
马上就2020年了,是不是要开始做总结了?除了年终报告,更重要的是做自己的剖析,深吸一口气,然后缓缓吐出来,回顾一下2019年的点点滴滴…身体站在全身镜前看着自己,搓一搓双手,等发热以后,顺着自己的脸颊,从上到下慢慢地抚摸。观察下,头发是否依然凌乱,两鬓的轮廓中是否有翘起的白丝,眉宇间是否有一道浅浅的竖纹,眼睛镜片的厚度增加了吗?(没眼镜的跳过)那双眼睛是否依然清...原创 2019-12-31 10:47:08 · 322 阅读 · 0 评论 -
使用webSocket协议实现类论坛帖子列表的点赞实时展现功能
在开发的过程中,经常会碰到产品的这样一个要求,界面上的数据要实时展示。像一些全局性的数据,或者业务交集较少的数据可以实时去数据库查询,但是像一些列表类型的、用户访问量大的数据,不适合实时去查询。之前碰到的一个情况是这样的,如下图帖子列也要展示封面图、帖子标题、帖子标签、用户头像、用户昵称、点赞数、用户属性等等字段。其中,点赞功能的操作发生概率很大,而运营团队做活动,对实时性的要求很高,需要让用...原创 2019-12-24 09:54:26 · 864 阅读 · 0 评论 -
关于TCP协议和TCP-IP协议的理解和相关整理、扩展
之前看《how tomcat works》及《实现领域驱动设计》里面都涉及到了一些传输协议的知识点。前者是以一个简单的servlet实现开始,后者是穿插介绍了类JMS的P2P模式实现。本身都是基于socket协议接口。在理解了RPC协议,HTTP协议的基础上,对TCP协议想有一个进一步的理解。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等...原创 2019-12-18 19:07:10 · 339 阅读 · 0 评论 -
JMS学习-JAVA简单实现生产者、消费者的P2P(point-to-point)模型
个人博客地址:个人博客最近学习知识点,频繁出现消息机制相关字眼。之前只是用过一些消息队列框架,如activeMQ,rocketMQ等。也只是基于使用,偶然来了兴趣想了解下jms功能的最简化实现是什么,这里做个整理。JMS什么?JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,...原创 2019-12-09 17:59:28 · 273 阅读 · 0 评论 -
tomcat4x5x的默认连接器的多线程处理逻辑整理及代码示例、使用方式
上一篇文章整理了tomcat4.x/5.x的核心组件catalina连接器的部分实现代码,继续往下看《how tomcat works》/深入剖析tomcat,是对tomcat默认连接器的说明。这一章节的源码量比前面的示例陡然上升,主要是增加了对http多线程请求的处理、设计模式的引用、http1.1新特性的使用及返回响应信息的补充。我这里是看的 catalin-4.1.36.jar包文件。期...原创 2019-12-04 17:23:55 · 148 阅读 · 0 评论 -
《实现领域驱动设计》DDD书籍的基本介绍及章节整理
作者简介Vaughn Vernon是一个经验丰富的软件工匠,在软件设计、开发和架构方面拥有超过25年的从业经验。他提倡通过创新来简化软件的设计和实现。从20世纪80年代开始,他便开始使用面向对象语言进行编程。90年代初期,便在领域建模中应用了领域驱动设计。作者的初衷很屌本书中的绝大多数例子都是使用Java语言编写的。我本来可以使用C#的,但是我有意识地使用了JAVA。首先,我认为J...原创 2019-12-03 09:46:46 · 2579 阅读 · 0 评论 -
tomcat4.x/5.x的核心组件catalina连接器的部分实现代码
catalina简介Catalina是一个成熟的软件(也就是servlet),设计和开发的十分优雅,功能结构也是模块化的。是tomcat的核心组件。Catalina可以划分为两个模块: 连接器(connector)和容器(container)结构如下:这个连接器来增强之前的示例一个简单servlet容器源码下载地址请看:链接: https://pan.baidu.com/s/1trw...原创 2019-11-15 10:55:54 · 170 阅读 · 0 评论 -
编译java类文件后,javac启动服务器能正常访问servlet容器(基于socket和servlet编写)
最近学习tomcat的结构,书是比较早的《how tomcat works》,上一章的示例是一个简单的web服务器,这一章是在之前的基础上扩展,增加了servlet的内容。整个编码完成后用java / javac 命令运行,可以访问servlet容器。本示例总共有6个类HttpServer(一个ServerSocket服务器用来接收请求)Request (请求类,用来解释socket请...原创 2019-11-13 14:15:51 · 201 阅读 · 0 评论 -
nginx设置http跳转https、ssl证书,通过百度的https认证
做个站基本都有域名,有域名就可以做https认证。随着近几年对于网络安全的重视,很多大站都进行了http -> https的认证处理。更有一些平台宣布之后将不再支持http访问请求。(谷歌Chrome将不再允许HTTPS页面加载HTTP资源,关于公众平台接口不再支持HTTP方式调用等)可见,https的改造是大势所趋。http和https的简单区别可以点这里我这里都是阿里系列的域名...原创 2019-11-12 15:18:51 · 832 阅读 · 0 评论 -
通过socket相关接口和http的访问协议做一个简单的web服务器
对网络中的各种协议认识不足,所以学习下。在学习tomcat服务器的过程中,了解到它是基于一个简单的web服务器慢慢拓展到一个应用广泛的服务器的。所以,这里做个简单的web服务器创建一个简单的webserver类package com.chl.webserver;import java.io.File;import java.io.IOException;import java...原创 2019-11-12 15:12:12 · 597 阅读 · 0 评论 -
写一段程序,让其运行时的表现为触发5次ygc,然后3次fgc,然后3次ygc,然后1次fgc,请给出代码以及启动参数(附说明)
网上看到一道题,“写一段程序,让其运行时的表现为触发5次ygc,然后3次fgc,然后3次ygc,然后1次fgc,请给出代码以及启动参数。”,这种题对于我这种假程序猿太难了,练练手吧!这对于jvm的GC机制是有好处的。硬着头皮试下,理解下。万一有错,明眼人指出下。编写如下(参考网上示例):(这里也通过JAVA相关类,读取打印了JVM的初始化堆、内存信息)package com.chl.jvm;...原创 2019-06-25 13:32:09 · 2803 阅读 · 0 评论 -
dubbo服务框架所支持的协议列举,及特性说明(dubbo;http;hession;RMI;webservice;redis等)
dubbo是一种基于RPC实现的高性能分布式服务框架。除了默认dubbo协议外,还支持多种其他协议dubbo协议Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。Transporter: mina, netty,...原创 2019-07-12 22:53:31 · 382 阅读 · 0 评论 -
dubbo框架标签使用之直连服务提供者、只订阅、只注册、静态服务、多协议暴露、服务分组、多版本、结果缓存等
直连提供者在开发及测试环境下,经常需要绕过注册中心,只测试服务提供者,需要点对点直连将以服务接口为单位,忽略注册中心的提供者列表,A接口配置点对点,不影响B接口从注册中心获取列表。只订阅为了方便开测试同用一个注册中心时,服务提供者不注册服务,消费者订阅消息通过直连方式测试服务。<dubbo:registry address="10.20.153.10:9090" register=...转载 2019-07-10 21:53:14 · 243 阅读 · 0 评论 -
Dubbo框架的服务提供方与服务消费方的参数传递,隐式参数和上下文信息的说明
dubbo上下文信息上下文中存放的是当前调用过程中所需的环境信息。所有配置信息都将转换为URL得参数,RpcContext是一个ThreadLocal的临时状态记录器,当接收到RPC请求,或发起RPC请求时,RpcContext的状态都会变化。比如:A 调 B,B 再调 C,则 B 机器上,在 B 调 C 之前,RpcContext 记录的是 A 调 B 的信息,在 B 调 C 之后,RpcCo...原创 2019-07-15 22:45:23 · 2193 阅读 · 0 评论 -
使用dubbo的泛化调用特性实现服务调用,spring方式和api方式示例,及泛化调用的网关项目示例
泛化接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值之中的所有POJO均用Map表示,通常用于框架集成。Spring方式xml配置支持泛化<dubbo:reference id="barService" interface="com.foo.BarService" generic="true" />java实现泛化调用GenericService ba...原创 2019-07-11 23:17:07 · 732 阅读 · 0 评论 -
MAC系统中运行mysql+apache+php环境,方便快速搭建discuz,dedecms,wordpress环境等
最近要尝试一些数据导入功能,是将获取的文本内容,导入到discuz系统库表中。由于ip动态变动原因,不适合直连线上库。所以本地搭建一套方便调试与测试。根本没想到mac系统原来自带apache和php。按照以往使用windows的尿性,肯定要装一套lmnp/lmap的环境了。既然已经有了部分软件,剩下的就是配置了。程序猿感到很轻松啊启动Apache启动apache必须要用root账户,否...原创 2019-07-23 23:31:08 · 527 阅读 · 0 评论 -
JAVA中利用Docx4J组件操作word文档,进行docx格式文档的创建、写入、读取、转换html、图片处理示例、转换pdf
程序猿最近在做对文件操作的功能,搜索到docx4J的介绍,使用起来不错,所以这里整理记录下。1.pom文件增加<!-- https://mvnrepository.com/artifact/org.docx4j/docx4j --> <dependency> <groupId>org.docx4j</groupId> &...原创 2019-07-20 23:12:39 · 12909 阅读 · 1 评论 -
由java导入excel表格数据引发的一个惨案…(黑眼圈又重了,头发又白了)
背景程序猿美名曰高薪职业,现实就是码奴。最近被派到兄弟公司做支持,也就是过来加加班,赶赶工期。之前公司的架构是dubbo框架,这里的是springCloud,没有怎么接触过,但是代码学习搬运起来还是比较快的。做边角料功能的功夫逐渐了解了现有项目的使用,开始接触编码业务逻辑部分。这不是最近刚接到一个订单相关的需求,其中有个excel的导入功能,让我这种技术差的人埋了个大坑。(公司业务新启,用户暴增...原创 2019-07-26 01:59:55 · 428 阅读 · 0 评论 -
JAVA使用itextpdf文件,进行文件的创建流程、阅读加密、属性设置、中文显示处理、文档读取操作
程序猿最近要摘取pdf文件中的信息,选材用到了itextpdf工具包,整体比较简单,记录一下1.pdf操作pom设置<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency> <groupId>com.itextpdf</groupId> <...转载 2019-07-22 23:18:26 · 1301 阅读 · 0 评论 -
通过python处理解析accesslog日志文件,kettle抽取数据并做PV/UV的统计实现
处理流程记录accesslog日志切割整理accesslog日志入库数据数据抽取、分割制作报表适用场景accesslog日志记录了比较全面的访问日志。针对访问日志进行不同接口/页面/用户/终端的PV/UV统计,或者数据报表统计。业务log日志中记录了比较全面的业务节点数据,针对这些节点数据做统计处理。ps: 当然日志也可以用==ELK==这套框架进行分析,但是对于...原创 2019-08-12 14:23:29 · 1463 阅读 · 0 评论 -
JAVA利用RestHighLevelClient设计接口实现es的基本增删改查及登录认证、中文分词的结果返回
背景之前写过一篇《java使用transportClient连接elasticsearch并做接口实现增删改查ES6.4.3版本》的文章,在项目中可以作为基本的使用。但是没有权限验证及分词的处理。在资料查找中,发现TransportClien客户端工具会在之后的版本中作废。且实践中6.4.3版本无法对账密验证(可能方式不对)。遂改造成了RestHighLevelClient客户端实现之前的功...原创 2019-08-14 16:18:06 · 4105 阅读 · 0 评论 -
'技术团队的成长与提升 - 通过分享进行有效的输出' ,写个标准格式记录下...
如何通过一种简单、有效的方式能够稳健提升技术团队内部的成长 ?我作为一个程序猿,是非常希望待在一个战斗力极强的团队中成长的,但是不可能一下就出现了这样的团队,任何团队都是要磨合锻炼的。所以有了以下的构思。背景:程序猿这个群体本身是一个稍内向、话少的物种,尤其在长期面对计算机工作的环境中愈加显得高冷静谧。上班时间中,除了工作就是吃饭了。大家彼此间最多的一句话不外乎“今天吃啥”,或者瞎聊一些新闻...原创 2019-06-19 13:19:25 · 630 阅读 · 0 评论