java技术圈 为您找到相关结果 281

自建对象存储服务minio在使用nginx进行反向代理时出现对象无法正常共享的解决办法

什么是minio Minio是在Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM镜像等。对象的大小可以从几KB到最大5TB。 docker 安装示例 docker run -p 9000:9000 --name minio1 -e "MINIO_ACCESS_KEY=自己的access_key,相当于用户名" -e "MINIO_SECRET_KEY=自己的secret_key,相当于密码" -v /mnt/minio-data-v1:/data -v /mnt/minio-v1:/root/.minio -d minio/minio:RELEASE.2018-07-31T0...阅读全文

博文 2019-04-03 14:31:24 www.allocmem.com

使用Jetty的StdErrLog进行默认日志记录

StdErrLog配置如果您不执行任何操作来配置单独的日志记录框架,Jetty将默认使用内部org.eclipse.jetty.util.log.StdErrLog实施。这会将所有日志记录事件输出到STDERR(aka System.err )。只需使用Jetty和StdErrLog基于日志的日志输出到控制台。Jetty发行版中包含一个名为的日志模块console-capture能够简单捕获所有STDOUT( System.out )和STDERR( System.err )输出到每天轮换的文件。要启用此功能,只需激活console-capture命令行上的模块:[my-base]$ java -jar ../start.jar --add-to-start=console-capture ...阅读全文

博文 2021-01-28 12:13:19 xy2401.com

算法之时间复杂度简析

算法之时间复杂度简析 前言 最近准备对算法进行一些系统的总结和学习,不积跬步无以至千里,不积小流无以成江海.此文主要对时间复杂度进行简单梳理和个人总结,本人才疏学浅,有所疏漏在所难免,如有不当和错误之处,欢迎指正 时间复杂度的定义(Time Complexity) 时间复杂度,用简单地话描述为:为了大概估算程序运算时间的一种概量。那用什么来估算的呢?用简单的程序执行代码的次数,如int a = 3执行一次,一个n此的for循环表示执行n次等等。广义的T(n)表示在一个完全理想状态的计算机中程序所执行的实际指令次数,下面会提到的O(n)大O(Big Oh),Ω(omega),Θ(Theta) 都是对T(n)的一个大略估算抽象而来,这里先说明一下个人理解的精确度大小为:T(n)>Θ(Theta)...阅读全文

博文 2019-04-04 09:53:07 www.allocmem.com

java.lang.OutOfMemoryError:GC overhead limit exceeded

前言 在我们写的java service里,需要加载一个比较大的算法模型pmml文件.在此模型文件由500M+变为1G+的时候,在测试环境中出现了此问题 异常由来 GC overhead limt exceed检查是Hotspot VM 1.6定义的一个策略,通过统计GC时间来预测是否要OOM了,提前抛出异常,防止OOM发生。Sun 官方对此的定义是:“并行/并发回收器在GC回收时间过长时会抛出OutOfMemroyError。过长的定义是,超过98%的时间用来做GC并且回收了不到2%的堆内存。用来避免内存过小造成应用不能正常工作。 代码中使用静态对象的方式用来在多线程中共享此文件模型,由于加载文件过大,并且长时间的GC回收了不到2%的内存,于是抛出了这个异常 这个异常的作用: > 在应用o...阅读全文

博文 2019-04-03 14:31:02 www.allocmem.com

自己写LinkedList GoLinkedList

##前言: java GoLinkedList的简易实现,代码中注释比较详尽,通俗易懂,注意事项亦在注解中标明。 ###正文: GoLinkedList.java package com.anteoy.dataStructuresAndAlgorithm.javav2.my; import java.util.Iterator; /** * Created by zhoudazhuang on 17-3-1. * Description: 简易Linkedlist实现 */ public class GoLinkedList implements Iterable{ //当前容量 size private int currentSize; //附加的数据域 用来帮助迭代气检测集合...阅读全文

博文 2019-04-04 09:50:50 www.allocmem.com

[转]RDB和AOF持久化对比

自:http://www.cnblogs.com/rollenholt/p/3874443.html Redis提供了RDB持久化和AOF持久化,本篇文章中将会对这两种机制进行一些对比 RDB机制的优势和略施 RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。 也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb(/var/lib/redis)。 可以通过配置(/etc/redis/redis.conf)设置自动做快照持久化的方式。我们可以配置redis在n秒内如果超过m个key被修改就自动做快照,下面是默认的快照保存配置 save 900 1 #900秒内如果超过1个key被修改,则发起快照保存 save 300 10...阅读全文

博文 2019-04-04 09:46:57 www.allocmem.com

tomcat配置https

搭建环境: ubuntu 16.04 LTS apache tomcat 7 java 7 搭建过程: 1. 服务端利用jdk自带的keytool生成server.keystore,命令如下: keytool -genkey -alias tomcat -keyalg RSA -keypass anteoypasswd -storepass Envisi0n -keystore server.keystore -validity 3600 部分参数说明如下 - alias 要处理的条目的别名 - keyalg 密钥算法名称 - keysize 密钥位大小 - sigalg 签名算法名称 - destalias 目标别名 - dname 唯一判别名 - startdate 证书有效期开始日期...阅读全文

博文 2019-04-04 09:47:38 www.allocmem.com

Linux之systemd服务配置及自动重启_ZONGXP的博客

0 背景 在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方法很简单,使用linux系统的systemd即可实现 1 systemd介绍 历史上,linux的启动一直采用init进程,比如 $ sudo /etc/init.d/apache2 start # 或者 $ service apache2 start 这种方法有两个缺点。 一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。 Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动...阅读全文

博文 2021-05-30 16:25:39 CSDN博客

使用Prometheus监控服务器性能

最近一直在思考如何对线上服务做深度监控。基础的服务可用性监控很简单,定期Ping即可。但是怎样才能监控服务器的一些更加关键的数据呢?比如,每一个API Point的请求次数(QPS),最大响应时间,平均响应时间等。最终我希望实现的效果是有一个Dashboard,我可以清楚地看到各种参数曲线,对服务器的运行情况了然于胸。 绘制Dashboard不难,目前提供数据可视化的工具很多,随便选一个都能满足需要。关键问题是,怎样将整个流程打通? 服务器该以怎样的形式暴露出数据? 数据怎样被收集和存储起来? 存储起来的数据怎样提供给数据可视化工具? 怎样做到足够灵活,可以可视化自己感兴趣的任意数据? Prometheus 像QPS和响应时间这些数据,外部工具是没办法直接拿到的,必须要服务器以某种方式将数据...阅读全文

博文 2019-06-14 07:52:29 CJ Ting's Blog

mysql Innodb单表31m千万级数据count计数方案及调优

ENV 线上环境为RDS,版本5.7.15 select version() output: 5.7.15-log 测试环境为docker搭建的mysql,版本5.7.19 select version() output: 5.7.19 单表3000万+的class表以及20万+的学校表,需要使用count查询实时数量用于分页,延迟不能太高,否则影响业务 因需要使用事务功能,使用存储引擎为Innodb(MyISAM count是自动计数单独保存,Innodb需要每次扫描表进行统计) 本文使用class表进行示例表述,school同理 OPTIMIZE 出现的第一个问题是RDS线上mysql的查询速度始终没有测试库的快,相同的数据和存储结构,索引数据都相同(一开始线上使用count完全不能查询...阅读全文

博文 2019-04-04 09:55:25 www.allocmem.com

Hugepage导致进程占用物理内存过多的问题

Hugepage导致进程占用物理内存过多的问题 首页 分类 标签 留言 关于 订阅 2015-04-30 | 分类 Linux | 标签 memory 1 问题 业务同样的程序跑在TDocker、XEN,占用的内存却相差很大。 TDocker: XEN: 可以看到,虽然VIRT一样,但是程序占用的物理内存却相差6倍。 2 原因分析 经过各种分析,后来levy同学发现关闭transparent hugepage就解决了这个问题。TDocker使用的CentOS6.5的内核,默认开启了transparent hugepage。 # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled [always] madvise never 关闭tra...阅读全文

博文 2019-07-31 03:52:21 hustcat.github.io

详解Spring AOP 实现“切面式”valid校验

why: 为什么要用aop实现校验? answer: spring mvc 默认自带的校验机制 @Valid + BindingResult, 但这种默认实现都得在Controller方法的中去接收BindingResult,从而进行校验. eg: if (result.hasErrors()) { List allErrors = result.getAllErrors(); List errorlists = new ArrayList<>(); for (ObjectError objectError : allErrors) { errorlists.add(objectError.getDefaultMessage()); } } 获取er...阅读全文

博文 2022-01-04 02:44:37 面圈网

JVM1.8参数大全

前言碎语 JVM内存模型,java GC垃圾内存回收,Jvm性能调优等等是个老生常谈的话题,故将官方JVM参数详情直译(Google翻译)记录在此,以备做jvm参数调优之时方便查询,同时给大家提供便利 jvm1.8参数详情: -Xcomp 在第一次调用时强制编译方法。默认情况下,客户端VM(-client)执行1,000个已解释的方法调用,Server VM(-server)执行10,000个已解释的方法调用以收集有效编译的信息。指定该-Xcomp选项会禁用已解释的方法调用,从而以牺牲效率为代价来提高编译性能。 您还可以使用该-XX:CompileThreshold选项在编译之前更改已解释的方法调用的数量。 -Xloggc:filename 设置应将重定向的GC事件信息重定向到的文件以进行日...阅读全文

博文 2020-07-28 06:52:44 jvm性能调优速查手册 | KL博客

我理解的Linux IO模式及select,poll,epoll

前言 本文是在本人查阅部分资料,并综合了众多博客分析后,于此阐述的个人理解。若有错误,欢迎指正。 基本概念 用户空间和内核空间 操作系统核心-内核负责处理用户程序和硬件之间的驱动交互。内核是在用户程序(进程)和硬件之间一个中枢。目地:专门负责用户进程和硬件之间的交互,用户程序必须使用内核才能和计算机底层硬件进行交流。为了保证内核的安全,于是将内存划分开,比如针对linux 4G的内存空间,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。 进程切换 内核操作CPU上运行的进程,比如把正在CPU上运行的A进程切换为B进程,让另外一个进程等待...阅读全文

博文 2019-04-04 09:56:41 www.allocmem.com

Spark(五)Spark任务提交方式和执行流程 - Frankdeng

一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或者磁盘上。在Spark on Yarn模式下,其进程名称为 CoarseGrainedExecutor Backend,一个CoarseGrainedExecutor Backend进程有且仅有一个executor对象,它负责将Task包装成taskRunner,并从...阅读全文

博文 2019-11-27 06:07:44 博客园

使用Maven构建Web项目的目录结构 - xiaotou745

1.Web项目的目录结构 基于Java的Web项目,标准的打包方式是WAR。与JAR比较,包含更多的内容,比如JSP文件、Servlet、Java类、web.xml配置文件、依赖JAR包、静态web资源(HTML、CSS、JavaScript)等。 一个典型的WAR文件如下目录结构: File-system代码 —war/ + META-INF/ + WEB-INF/ | + classes/ | | + ServletA.class | | + config.properties | | + ... | + web.xml + img/ + css/ + js/ + index.html + sample.jsp 一个WAR包下至少包含两个子目录:META-INF和WEB-INF,前者包含...阅读全文

博文 2019-10-19 09:05:44 博客园

X,X11,Xorg,XServer,XClient,Xlib_混沌的博客

1.X 就是 X Window System ,1984年由MIT研发,它的设计哲学之一是:提供机制,而非策略。 主要特点:1,Server/Client网络模型。2,通过扩展使它保持”与时俱进”。 Linux内核是没有GUI图形显示的,X Window的目标就是提供GUI的显示。 为啥要命名为X呢,因为英文字母X就在W(indow)后面,戏称为下一版的新视窗之意。XFree86 『 X + Free software + x86硬件 』 @在 Unix Like 上面的圖形使用者介面 (GUI) 被稱為 X 或 X11; @X11 是一個『軟體』而不是一個作業系統; @X11 是利用网络架构来进行图形界面的执行与绘制; @較著名的 X 版本為 X11R6 這一版,目前大部分的 X 都是這一...阅读全文

博文 2020-07-13 02:31:53 CSDN博客_xorg

Elasticsearch聚合学习之五:排序结果不准的问题分析_程序员欣宸的博客

Elasticsearch上的索引如果有多个分片,那么在聚合排序后取TopN时,返回的结果可能是不准的,今天我们就通过实战来研究分析此问题,并验证解决方法; 环境信息 以下是本次实战的环境信息,请确保您的Elasticsearch可以正常运行: 操作系统:Ubuntu 18.04.2 LTSJDK:1.8.0_191Elasticsearch:6.7.1Kibana:6.7.1 系列文章列表 《Elasticsearch聚合学习之一:基本操作》;《Elasticsearch聚合学习之二:区间聚合》;《Elasticsearch聚合学习之三:范围限定》;《Elasticsearch聚合学习之四:结果排序》;《Elasticsearch聚合学习之五:排序结果不准的问题分析》; 复现问题第一步:创...阅读全文

博文 2021-05-27 14:01:01 CSDN博客

为什么说字节跳动“根本没有管理”?

就在今年的3月份,字节跳动迎来新一轮组织架构大调整。 不同于同时期崛起的创业企业,过去很长一段时间里,字节跳动的架构中极少有CXO的身影,更没有CFO、CMO和CTO。 14名高管直接向CEO张一鸣汇报,涵盖公司所有职能,这一模式让张一鸣很难有富余的时间精力去做除了团队管理和业务沟通以外的事。 ![image.png](https://img-blog.csdnimg.cn/2020063015264347.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FF...阅读全文

MySQL案例:关于JSON的一个bug - 云+社区

前言周五晚上和朋友一起去外面吃饭,本来想着不加班早点回家过周末,谁又能想到突然就接到一个电话,mysqldump逻辑备份导入时报错,具体错误为“ERROR 3144 (22032): Cannot create a JSON value from a string with CHARACTER SET 'binary'.”下面就和大家简单分享一下这个案例,由于涉及业务数据,这里将通过自己模拟场景的方式来进行分享;关于真实场景或模拟场景分享,之前也说过,能够自己模拟复现出故障场景,往往才更加证明已经完全了解清楚其中的原理和解决办法。案例分享(1)创建一张含JSON列的表,并插入一条记录mysql> select version(); +------------+ | version() | +...阅读全文

博文 2021-06-02 11:25:31 腾讯云

说好了不哭 | 周杰伦是最懂青春的人,CORNERSTONE只想成为最懂你的人

80、90后的青春,一半是周杰伦,一半是五月天。这两天朋友圈最火的莫过于周杰伦的新歌《说好不哭》,方文山作词,周杰伦作曲,歌曲中还有周董、阿信的倾情合唱,依旧是熟悉的节奏和小清新的风格,中年人的青春记忆,又回来了! ![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9wbS5pdGl0LmlvL3AvZmlsZS9nZXRfZmlsZS80NzU1MDkxNTNhYzg0ZGY1OTg0YzZhZTAxMjViZGE5ZS5wbmc?x-oss-process=image/format,png) 大家都说,周杰伦是“最懂青春的人”。因此,周杰伦本身就代表着一种青春的情怀。这种“约定”与“成全”的情歌,直接把QQ音乐搞崩的,也只有周董能做...阅读全文

特斯拉宣布降薪!开源节流,疫情之下如何提升企业管理效能

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200410151114564.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 4月7日,特斯拉给员工的一封内部信显示,4月13日起,特斯拉将采取削减开销措施,所有线上办公和职位级别较为关键的员工都将根据薪资水平的不同进行降薪。其中,在美国地区,副总裁以上级别工资削减30%,总监以上级别工资削减20%,其它所有员工工资削减10%。不能线上工作或不被视为“必要”的...阅读全文

如何做好软件项目的质量管理?

保证软件质量,是一个贯穿整个软件生存周期的重要问题。在早期,由于忽视了质量管理,导致软件项目管理的严重问题,以至于在软件开发中出现软件危机。重视软件质量管理,规范软件质量管理体系,对整个软件项目管理起到非常重用的促进作用。本文主要通过对管理策略的介绍,来达到提高软件质量的目的。 在软件开发团队中,由于质量被视为软件产品的生命。那么什么是软件质量?软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和,它反映了三个方面的问题: 1、能满足客户需求的特性之全体; 2、利用各种质量标准体系,指导软件开发人员开发软件; 3、是否满足用户隐含需求。软件质量管理的目的是建立对项目的软件产品质量的定量理解,和实现特定的质量目标;着重于确定软件产品的质量目标、制定达到这些目标的计...阅读全文

用Elasticsearch做Terms聚合计算数据不准的问题

在上一篇文章 通过某瓣真实案例看 Elasticsearch 优化 写了最近获得的一些优化 Elasticsearch (以下简称 ES) 的经验,也把这些分享给厂内使用 ES 的同事和萨 (SA)。 讨论中萨同事提了一个问题: 话说项目有 topK 这种聚合请求么?记得多分片情况下请求参数不合理可能出现不准确的聚合结果 我当时看完的第一反应是「啥?」,但是同事一提我突然隐约想起来曾经在什么地方看过这个问题。然后一顿搜索找到了官方文档的说明 (延伸阅读链接 1),我详细的说说 聚合的结果不准确的原因 我们假设要聚合符合某要求的 N 个结果 (也就是请求参数中的 size),ES 集群分片数为 S。 ES 分发聚合请求到所有的分片上单独处理,最后汇总结果。在单个分片的聚合过程中会把每个要聚合的...阅读全文

博文 2021-06-11 13:44:49 小明明s à domicile

kubernetes下用logstash代替efk中的fluentd

前言 目前我们的系统架构,从阿里云的docker compose迁移到了自建的kubernetes,而我们的日志系统也几经周折。从最开始的阿里云docker compose环境下的elk + kafka,使用了一段时间后由于老板觉得阿里云的kafka收费价格不怎么划算,并且线上服务器的资源吃紧,然后切换到了阿里云的日志服务。线上切换到kubernetes以后,又使用efk搜集了一段时间日志,后来发现fluentd搜集的日志存在一些延迟问题和准确性问题,并且变更配置搜集特定的日志时较为繁琐,于是准备把fluentd换为logstash + rabbit,期间对比了下redis,rabbit和kafka,最终选择了在用的自建的rabbit集群,由于近期事情较多,精力有限,此文只会阐述关于logs...阅读全文

博文 2019-04-04 09:55:59 www.allocmem.com

JVM 系列文章之 Full GC 和 Minor GC

Full GC Full GC 就是收集整个堆,包括新生代,老年代,永久代(在JDK 1.8及以后,永久代会被移除,换为metaspace)等收集所有部分的模式 RednaxelaFX大在Major GC和Full GC的区别是什么?触发条件呢?- 知乎这个问题有关于 GC分类的回答: 针对 HotSpot VM的实现,它里面的GC其实准确分类有两种: Partial GC(局部 GC): 并不收集整个 GC 堆的模式 Young GC: 只收集young gen的GC,Young GC还有种说法就叫做 "Minor GC" Old GC: 只收集old gen的GC。只有垃圾收集器CMS的concurrent collection 是这个模式 Mixed GC: 收集整个young gen...阅读全文

博文 2019-11-27 07:00:30 掘金

MySQL中大于小于,IN,OR,BETWEEN性能比较_听海Movie的专栏

在MySQL中经常会有朋友问关于大于小于,IN,OR,BETWEEN,哪个性能更好? 我想有很多朋友会用它们但确实不知道大于小于,IN,OR,BETWEEN性能哪个更好吧,下面总结一下关于大于小于,IN,OR,BETWEEN性能。 这里的查询条件有四种:>=和<=;between;or;in 这里id列是索引列,如果不是的话,三个查询都是全表扫描,性能差距应该不大。 1 准备环境 mysql> show create table tinG *************************** 1. row *************************** Table: tin Create Table: CREATE TABLE `tin` ( `c1` int(11) NOT NU...阅读全文

博文 2021-10-08 10:14:27 CSDN博客

如何高效的进行多项目管理?

大部分人在日常的工作当中,都或多或少的会参与项目,而项目要能顺利执行其实并不简单,如果又渉及多个单位合作,困难程度又大增。 对项目经理来说,从他们的工作日志片段可以看出每个人都有自己悲惨的故事,程度恐怕只有过之而无不及。那我们该如何做好项目管理呢? 一、什么是项目管理 在日常工作中开发一个新产品,举行一场大型国际会议,为客户做ERP系统的咨询、开发、实施与培训等,这些活动都可以称为一个项目。根据美国项目管理协会定义,项目是为创造独特的产品、服务或成果而进行的临时性工作。 而项目管理是指把各种系统、方法和人员结合在一起,在规定的时间、预算和质量目标范围内完成项目的各项工作。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。...阅读全文

java - Elasticsearch Java客户端初始化失败

我在尝试运行连接到Elasticsearch的应用程序时收到此错误消息。An attempt was made to call the method org.elasticsearch.client.RestHighLevelClient.(Lorg/elasticsearch/client/RestClientBuilder;)V but it does not exist. Its class, org.elasticsearch.client.RestHighLevelClient, is available from the following locations: jar:file:/path/application/target/application-0.0.1-S...阅读全文

博文 2020-11-24 11:12:37 IT工具网

企业如何选择适合自己的项目管理软件?

公司在选择项目管理软件时,因为不同行业和项目风格,都会有一些个性化的需求,不同的项目管理软件也各有优势;[CORNERSTONE](https://www.cornerstone365.cn) 项目管理软件经过多年的积累和完善,赢得了不少企业的信赖,那么它是如何高效的处理项目的呢?在 CORNERSTONE中集成了很多方便实用的功能,加之友好的使用体验,下面具体来了解都有哪些独到之处! 一、简洁的项目任务分配与信息全面的甘特图 ![03b3377aa22f4fe1b2889d0a56b121f1.png](https://img-blog.csdnimg.cn/20200415145717186.png?x-oss-process=image/watermark,type_ZmF...阅读全文

敏捷开发实践之Scrum方法运用

摘要:目前软件开发除了强调产品质量,同时对产品能够快速发布并且迅速适应市场变化的要求也日益强烈。为适应这种开发环境和市场需求,传统的软件开发模式已被敏捷开发模式所替代。本文介绍敏捷软件开发中的Scrum方法,并结合实际问题,分析Scrum方法在实践中的运用。 ![image.png](https://img-blog.csdnimg.cn/20200117153148745.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) ...阅读全文

基于SonarQube代码质量检查工具总结

作者 陈彩华 文章转载交流请联系 caison@aliyun.com 复制代码最近公司引入了代码自动检查平台,技术选型是选择SonarQube,总结如下: 1 概述 SonarQube(sonar)是一个开源平台,用于管理源代码的质量。 SonarQube不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQube可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。 (1) 不遵循代码标准 SonarQube可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。 (2) 潜在的...阅读全文

博文 2020-07-02 09:28:04 掘金

【协议】MQTT、CoAP、HTTP比较,MQTT协议优缺点_bandaoyu的博客

目录 MQTT、CoAP、HTTP区别 1. 协议栈: 2. 请求方式 3. 通讯消息格式: 4. 使用特点与使用场景 5.客户端平台差异 6.防火墙容错 MQTT、CoAP、HTTP介绍 CoAP协议 简介 CoAP与MQTT的区别: HTTP协议 简介 HTTP与CoAP的区别 MQTT协议 简介 特性 对于传统的HTTP和MQ协议,MQTT的优势在哪里呢? MQTT协议的缺陷以及MQTT+概念的提出 MQTT、CoAP、HTTP区别 从这几个层面进行比较与描述: 1. 协议栈: MQTT: TCP 长链接, CoAP: UDP 低功耗短连接, HTTP: TCP 2. 请求方式 MQTT: 发布订阅, CoAP: request/ response, HTTP: request/ re...阅读全文

博文 2021-08-26 08:46:26 CSDN博客

腾讯敏捷之道,实施敏捷开发,看我就够了

简单的来讲,敏捷的意思就是反应迅速,为什么要反应迅速?看看腾讯、阿里就知道了,市场变化越来越快,客户要求越来越高,为了满足用户的需求, 人家一个星期发一个版本,我们仨月才能憋出一个来 , 那还不被打的满地找牙? 问题是如何才能反应迅速? 我们先来看一个场景: 一、残酷的现实 软件开发有一大难题就是客户脑子中的需求难于描述出来, 我们通常的应对方法是这样: 先花上几个月整理需求, 天天和客户座谈, 画出几百页的流程图, 写出上千页的文档, 最后把客户都快搞晕了。 项目经理:这是您要的软件需求吗? 客户:(看到这么多的文档) : 嗯, 应该是。 项目经理:那就请您在需求确认书上签字吧 客户:(心里犯嘀咕, 但是一想,反正是...阅读全文

「竞品分析」项目协作管理平台-Teambition和CORNERSTONE--深度...

一、分析目的通过分析2B产品中的团队协作管理软件的对比分析,用于为公司团队协作软件的选型做产考。二、竞品归属市场概况2.1.目标用户群及需求主要面向企业用户,用于解决企业不同地域以及不同职能部门之间的团队协作难点。2.2.市场规模中国大概有4000万+企业,如采用人均年费制,均价200+/人/年,按平均一个企业或团队最少10人算,市场规模可在千亿左右。因此如果能培养行业使用习惯,市场价值可观。2.3.针对笔者所在团队的需求详细分析如下:1、需求管理;能够对需求池进行管理。2、迭代管理;能够对产品迭代版本进行管理。3、故事墙;能够查看所有工作任务的状态。4、缺陷管理;能够对开发中的缺陷进行管理。5、数据看板;能够查看团队中每个员工的工作动态(剩余工作量),数据看板。6、知识库管理;能够将项目开...阅读全文

博文 2019-08-14 08:36:30 CORNERSTONE

好的产品经理应具备哪些能力?

讨论产品经理的能力,要从其工作性质和内容说起。 ![image.png](https://img-blog.csdnimg.cn/20200513144959137.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 产品经理顾名思义就是负责产品管理的岗位,是一个产品从诞生到维护的牵头人,全权负责产品的最终完成。从大体上看,产品经理的主要工作内容有五大板块:产品的前期规划、产品设计、产品的实现以及后续迭代优化、管理工具的配合。 一、产品的...阅读全文

MySQL binlog格式解析

MySQL binlog格式解析 binlog想必大家都不陌生,在主从复制或者某些情况下的数据恢复会用到。由于binlog是二进制数据,要查看一般都借助mysqlbinlog工具。这篇笔记分析了binlog格式,希望能够了解下mysqlbinlog工具背后所做的事情。 1.什么时候写binlog 在说明什么时候写binlog前,先简单介绍下binlog的用途。binlog是二进制日志文件,用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在mysql主从复制中就是依靠的binlog。在mysql中开启binlog需要设置my.cnf中的log_bin参数,另外也可以通过binlog_do_db 指定要记录binlog的数据库和binlog_i...阅读全文

博文 2021-02-02 03:38:50 简书

敏捷开发流程,您缺一个这样的协作平台

近年来,在高科技行业,为了响应快速的技术迭代和产品升级,敏捷开发流程正成为越来越多企业的选择。企业希望通过敏捷开发模式,基于自身的线性发展,来获取非线性的创新与竞争优势。 敏捷开发宣言是这样重新定义研发过程: • 个体和交互胜过过程和工具 • 可以工作的软件胜过面面俱到的文档 • 客户合作胜过合同谈判 • 响应变化胜过遵循计划 敏捷开发模式的践行,并非易事。首先是团队观念的转变和组织变革,然后这些还并不足够,在敏捷流程中特别强调沟通的高效,快速而有序。要做到这样,您还需要一个协作平台。 敏捷开发有多种不同的流程变型,但其主体流程,基本都遵循如下几个过程: ![image.png](https://img-blog.csdnimg.cn/2020...阅读全文

为archlinux选择国内镜像 - lepeCoder

archlinux采用滚动更新,需要经常更新系统,因此一个快速且足够新的镜像就很重要了 获得镜像列表 选择镜像主要考虑速度和状态两方面,速度快的镜像可以让你更快的更新系统,状态新的镜像可以是你的系统一直保持最新状态. 如果你想知道知道中国大陆都有哪些镜像站可以访问Pacman镜像列表生成器或是直接下载官方镜像列表,pacman的配置文件在/etc/pacman.d/mirrorlist wget -O /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/ #或是 wget -O /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/?count...阅读全文

博文 2020-07-15 14:53:52 博客园

Linux流量监控工具 - iftop (最全面的iftop教程)

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。 一、iftop是什么? iftop是类似于top的实时流量监控工具。 官方网站:http://www.ex-parrot.com/~pdw/iftop/ 二、iftop有什么用? iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。 三、安装iftop 安装方法1、编译安装 如果采用编译安装可以到iftop官网下载最新的源码包。 安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装l...阅读全文

博文 2019-12-04 01:59:34 VPS侦探

项目经理:在家远程办公如何提高工作效率?

为了减少人群聚集、防止交叉感染,很多企业延迟复工并响应国家“停工不停业、停课不停学“的号召,通过在家办公的方式陆续复工。在家,是帮助疫情平复;办公,是维护经济稳定。在特殊时期,远程办公成为企业保障日常经营的首选方式。今天与大家分享一下,在家办公,怎么高效完成远程工作。 在家办公最大的挑战,是远程之下,管理和沟通效率会大大下降。 第一个挑战:很多人在家里进入没有他律的自律。 什么叫没有他律的自律?说人应该自律,没错,我觉得自己是很自律的人,依然觉得跟自己的懒惰作斗争。他律,在公司没人看着你,早上上班9点上班,9点15到自己觉得不好意思,他律是没人看着你,管理效率大大降低。 第二个挑战是沟通效率,没有协作的单兵。 本来在...阅读全文

都是 HBase 上的 SQL 引擎,Kylin 和 Phoenix 有什么不同?

作者 | 翟娜大数据时代,数据的价值越来越被重视,企业从海量大数据中挖掘所需要的信息,用来驱动业务决策以获得更大的商业价值。与此同时,出现了越来越多的大数据技术帮助企业进行大数据分析,例如 Apache Hadoop,Hive,Spark,Presto,Drill,以及今天我们即将介绍的 Apache Kylin 和 Apache Phoenix 项目等,都是使用 SQL 语言就可以分析大数据,极大地降低了大数据的使用门槛。这些大数据技术提供 SQL 查询接口,不只是因为 SQL 学习成本低,同时也和 SQL 拥有丰富而强大的表达能力、能满足绝大多数的分析需求的特性有关系。了解 Apache Kylin 和 Apache Phoenix 的同学都知道,它们都是使用 Apache HBase ...阅读全文

博文 2020-05-15 07:59:44 掘金

Go 生态圈的 K/V 数据库 benchmark

Go生态圈有好几个K/V数据库,我们经常用它来做我们的存储引擎,但是这些数据库引擎的性能如何呢?本文试图用性能而不是功能的数据考察这些数据库,我测试了几种场景: 并发写、并发读、单一写并发读、并发删除,得出了一些有趣的数据。 测试在两台机器上测试的,一台机械硬盘,一台固态硬盘,使用256字节作为value值的大小,9个字节作为key的大小,测试简单的读写删除操作,并没有测试批量读写操作。 每个测试case测试1分钟。 代码: kvbench K/V 数据库 Rocksdb: RocksDB是Facebook维护的高性能的嵌入式K/V数据库。它是LevelDB的克隆版,针对多核、SSD做了很多优化。 LSM tree数据结构。 badger: 一个纯Go实现的快速的嵌入式K/V数据库,针对LS...阅读全文

博文 2020-02-20 16:03:30 鸟窝

(核心机密)如何成为一名优秀的项目经理

你是否,经常遇到 需求不明确, 质量不符迟迟无法验收, 团队成员相互推诿责任, 关键节点风险预防做不好, 领导无力, 计划不当, 缺乏沟通, 无法管理百万级、千万级项目, 技术人员被迫担任项目经理 怎么办? [CORNERSTONE](https://www.cornerstone365.cn/)来帮助你 ![image.png](https://img-blog.csdnimg.cn/2019092318254771.png) 1、启动过程组 项目决定启动后,第一步就是项目组准备需求,整理出需求文档。通过建立一个公开需求池,向项目组所有成员广泛收集需求,通过分析、评审去确定排期与安排,合理并有效的把控需求生命周期管理,避免因为不明确或重复造成协作效率低下、变更等无效劳动力。 ![image...阅读全文

博文 2019-09-24 07:52:22 CORNERSTONE

如何做好软件项目需求分析?

对于软件开发团队而言,软件开发的全过程是:做什么 -> 怎么做 -> 做 -> 成果检验 -> 交付部署;其中,“做什么”对应的是需求分析过程,“怎么做”对应于软件架构设计过程,“做”对应于开发过程,“成果检验”对应于测试,部署由运维团队执行后,如果达到用户的要求,则软件上线后进入软件的运行生命周期。 在实际的软件项目开发中,“做什么”,“怎么做”和“做”是紧密结合在一起的,“做”,“成果检验”和“交付部署”通常也会是一个持续交付过程,“成果检验”的内容会受到“做什么”的影响,开展“做什么”阶段的时候,也要考虑到如何部署和交付。所以软件开发的全过程,都是紧密结合在一起的,如果刻意划分为独立的几个阶段,忽视其作为一个整理的综合影响,每个环节的实施过程必然会遇到因上一阶段考虑不周全带来的问...阅读全文

操作系统管理内存的机制——为什么要设置虚拟内存? - wj_hubei

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程...阅读全文

CORNERSTONE一站式云端DevOps平台为各企业DevOps解决方案而生

在数字化和AI时代,软件及提供在线服务的系统的战略地位越来越高;同时随着市场竞争的加剧,每个企业都在思考如何更快速地满足用户诉求,将有价值的服务提供给客户。DevOps作为一种全新的软件开发协作模式,正是在这种背景下诞生的,它强调研发组织内部不同角色的沟通、尽可能的自动化一切操作,不断地获得反馈以寻找提升效能的机会。 DevOps正在被越来越多的企业所认可和适用,例如:腾讯、阿里巴巴、百度、华为等。 [CORNERSTONE](https://www.cornerstone365.cn)一站式云端DevOps平台内部通过多年对软件工程的研究和实践,研究出了一套适用于不同业务形态、团队规模研发组织的DevOps方法论,并将其核心的理念整合进入工具链当中,形成了一套从...阅读全文

项目经理该如何辨别客户的伪需求?

作为项目经理,经常会碰到两难的情况:一边客户爸爸提了个变态的需求,说非要不可,另一边又面对技术人员无法实现的困局。 ![image.png](https://img-blog.csdnimg.cn/2020052914533876.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 这个时候,如果项目经理没有分辨出客户的“真需求”和“伪需求”,无法处理得当,在和客户、团队两边的沟通中,很容易成为受气的夹心饼。 身为上能谈业务磕技术 ,下...阅读全文

项目经理如何执行与监控项目状态?

“计划来自思考,结果来自行动”再好的计划也需要执行,再好的团队也需要监控。在项目执行和监控中,项目经理需要做两类事情,一是管项目,对项目绩效的管理;一是管人,对团队的管理。第一类事情比较容易,只要懂得必要的技术知识、制定了完整的项目计划,按计划进行即可。最难的是第二类,如何管理项目团队。 由于我们国家的发展背景,目前大多数企业中项目管理者都是技术出身,对技术很熟悉,对管理很陌生。面临的最大挑战就是如何由技术到管理、如何在思想、能力、行为方面做出转变。在此过程需要做的事情有: 1、执行计划 在完成计划编写之后,项目经理需要将计划分发给每个团队成员,然后给成员提供需要的资源,由成员开始执行计划。此过程除非项目经理还兼职技术角色,通常需要做的事情不多,假如你在此阶段非常辛苦,通常...阅读全文