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

自建对象存储服务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

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

[转]iptables详细教程:基础、架构、清空规则、追加规则、应用实例

本文出自 Lesca技术宅,转载时请注明出处及相应链接。 本文永久链接: http://lesca.me/archives/iptables-tutorial-structures-configuratios-examples.html iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工作原理,你会发现其实它很简单。 首先介绍iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而c...阅读全文

博文 2019-04-04 09:53:47 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博客

Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比较深入的理解。对这一过程的理解不仅帮助我们解决了一些Hive的bug,也有利于我们优化Hive SQL,提升我们对Hive的掌控力,同时有能力去定制一些需要的功能。MapReduce实现基本SQL操作的原理详细讲解SQL编译为MapReduce之前,我们先来看看MapReduce框架实现SQL基本操作的...阅读全文

博文 2020-08-07 07:08:10 美团技术团队

使用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 面圈网

使用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 博客园

深入理解Golang Channel

Golang使用Groutine和channels实现了CSP(Communicating Sequential Processes)模型,channles在goroutine的通信和同步中承担着重要的角色。在GopherCon 2017中,Golang专家Kavya深入介绍了 Go Channels 的内部机制,以及运行时调度器和内存管理系统是如何支持Channel的,本文根据Kavya的ppt学习和分析一下go channels的原理,希望能够对以后正确高效使用golang的并发带来一些启发。以一个简单的channel应用开始,使用goroutine和channel实现一个任务队列,并行处理多个任务。func main(){ //带缓冲的channel ch := make(chan T...阅读全文

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...阅读全文

疫情之下 | 教你远程办公高效又安全

新冠肺炎疫情防控期间可以说是我国数字化时代最大规模的一次集体远程办公。对于IT互联网企业来说,远程办公并不陌生,但对于传统行业来说,远程办公面临着诸多问题及系列隐私数据安全隐患。 不管是远程办公还是传统的办公楼集群式办公都是基于人与人之间的沟通、基于文档获取与协作完成的。对于传统企业来说,远程办公难度更大,它对企业内部及内外部的沟通效率、文件快速获取能力、文档安全性的要求更加高。 本次疫情或将进一步加快线上办公对传统办公模式的替代,它让许多不愿改变的企业主动接受线上办公,当然也暴露出诸多问题。今天,我们就围绕上述的三大核心问题进行探讨,企业到底该如何应对? [CORNERSTONE](https://www.cornerstone365.cn/)又可以做些什么? 一、企业内...阅读全文

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 腾讯云

Lucene段概念

Lucene段概念分段存储 在早期的全文检索中为整个文档集合建立了一个很大的倒排索引,并将其写入磁盘中,如果索引有更新,就需要重新全量创建一个索引来替换原来的索引。这种方式在数据量很大时效率很低,并且由于创建一次索引的成本很高,所以对数据的更新不能过于频繁,也就不能保证时效性。 现在,在搜索中引入了段的概念(将一个索引文件拆分为多个子文件,则每个子文件叫作段),每个段都是一个独立的可被搜索的数据集,并且段具有不变性,一旦索引的数据被写入硬盘,就不可再修改。 在分段的思想下,对数据写操作的过程如下。 新增。当有新的数据需要创建索引时,由于段的不变性,所以选择新建一个段来存储新增的数据。 删除。当需要删除数据时,由于数据所在的段只可读,不可写,所以Lucene在索引文件下新增了一个.del的文件...阅读全文

博文 2020-11-18 11:02:36 简书

说好了不哭 | 周杰伦是最懂青春的人,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章04节 | 常见开源OLAP技术架构对比

1. 什么是OLAP OLAP(On-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理)的区别来看一下它的特点:OLAP的优势是基于数据仓库面向主题、集成的、保留历史及不可变更的数据存储,以及多维模型多视角多层次的数据组织形式,如果脱离的这两点,OLAP将不复存在,也就没有优势可言。参考:http://webdataanalysis.net/web-data-warehouse/data-cube-and-olap/2. OLAP引擎的常见操作下面所述几种OLAP操作,是针对Kimball的星型模型(Sta...阅读全文

博文 2021-03-01 06:20:51 知乎

MongoDB运行状态、性能监控,分析 泛城科技技术博客

这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康。 mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。 它的输出有以下几列: inserts/s 每秒插入次数 query/s 每秒查询次数 update/s 每秒更新次数 delete/s 每秒删除次数 getmore/s 每秒执行getmore次数 command/s 每秒的命令数,比以上插入、查找、更新、删除的综合还多,还统计了别的命令 flushs/s 每秒执行fsync将数据写入硬盘的次数。 mapped/s 所...阅读全文

博文 2019-09-01 12:58:00 泛城科技技术博客

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

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

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

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

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

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

项目管理软件这么多,为什么我只推荐它?

在新型冠性肺炎的侵袭下,似乎那一夜之间,国内大多数企业都接受了在线办公,云端协同的理念。其中,在线项目协作需求激增,根据媒体调查报告显示,疫情在家办公期间,在线项目管理工具每天应用的平均时长达5.89小时,成为疫情期间远程办公的最热SaaS应用Top 5。 如今,企业已陆续复工,越来越多企业都意识到在线项目管理的必要性和重要性,将项目工作彻底搬上云端不再是赶潮流的事情,而是变成了硬需求。选择一个合适的云端项目管理工具成为企业线上项目开展的第一步。 之前企业开展全员在家线上办公主要围绕员工建立规律性、有作息为主,使用的大多数在线办公软件也只是完成以工作计划、文档协同、考勤为主的企业内部管理业务,在项目工作的执行方面还远远不足够,比如:任务分解,进度管理、成本控制、项目追踪等等,难以...阅读全文

Mybatis的一级缓存,二级缓存过期时间分析_ToBeWhatYouWant

Mybatis的缓存级别 Mybatis提供了查询缓存来查询数据,使在项目开发中提高性能。 Mybatis的缓存分为一级缓存和二级缓存,一级缓存是SqlSession级别的缓存,二级缓存是mapper级别的缓存,二级缓存是多个SqlSession共享的。Mybatis通过缓存机制减轻数据压力,提高数据库的性能。 一.一级缓存没有过期时间,只有生命周期 (1).Mybatis在开启一个数据库会话时,会创建一个新的SqlSession对象。SqlSession对象的缓存是Mybatis的一级缓存,在操作数据库时需要创建SqlSession对象,在对象中有hashMap用于保存缓存数据(对象的id作为key,而对象作为 value保存的)。一级缓存的作用范围是SqlSession范围的,当一个Sq...阅读全文

博文 2021-04-03 07:07:08 CSDN博客

TCP、UDP数据包大小的限制_灿哥哥的博客

1、概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}} 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 在应用程序中我们用到的Data的长度最大是多少,直接取决于底层的限制。 我们从下到上分析一下: 1.在链路层,由以太网的物理特性决定了数据帧的长度为(46+18)-(1500+...阅读全文

博文 2020-07-01 02:20:08 CSDN博客_udp包最大长度

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系统的咨询、开发、实施与培训等,这些活动都可以称为一个项目。根据美国项目管理协会定义,项目是为创造独特的产品、服务或成果而进行的临时性工作。 而项目管理是指把各种系统、方法和人员结合在一起,在规定的时间、预算和质量目标范围内完成项目的各项工作。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。...阅读全文

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

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

LMDB中的mmap、Copy On Write、MVCC深入理解——讲得非常好,常来看看! - bonelee

lmdb创建完env对象,打开时,会做data file和lock file的mmap映射: env->me_lfd = open(lpath, O_RDWR|O_CREAT|MDB_CLOEXEC, mode); void *m = mmap(NULL, rsize, PROT_READ|PROT_WRITE, MAP_SHARED, env->me_lfd, 0); env->me_txns = m; env->me_fd = open(dpath, oflags, mode); env->me_map = mmap(addr, env->me_mapsize, prot, MAP_SHARED, env->me_fd, 0); 其他时刻都直接使用内存指针,通过系统级别的缺页异常获取对应...阅读全文

博文 2020-02-19 12:49:45 博客园

图数据库基础

本文尝试以提问回答的方式来介绍笔者所理解的图数据库。包括图数据库的基本定义,图数据库如何表达数据,图数据相比关系型数据库的优势,图数据库使用场景等。Q:什么是图数据库?A:图数据库是图数据库管理系统的简称,使用图形化的模型进行查询的数据库,通过节点、边和属性等方式来表示和存储数据,支持增删改查(CRUD)等操作。图数据库一般用于OLTP系统中,提供在线事务处理能力。与图数据库对应的是图计算引擎,一般用于OLAP系统中,提供基于图的大数据分析能力。Q:图数据库如何表达数据?或者其建模方式A:图数据库使用图模型来操作数据。目前使用的图模型有3种,分别是属性图(Property Graph)、资源描述框架(RDF)三元组和超图(HyperGraph)。现在较为知名的图数据库主要是基于属性图,更确切...阅读全文

博文 2020-11-03 08:18:25 知乎

敏捷开发实践之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 掘金

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

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

Elasticsearch如何做到数十亿数据查询毫秒级响应?

如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s?后面反而就快了,可能就几百毫秒。说实话,ES 性能优化是没有银弹的。啥意思呢?就是不要期待着随手调一个参数,就可以万能的应对所有的性能慢的场景。也许有的场景是你换个参数,或者调整一下语法,就可以搞定,但是绝对不是所有场景都可以这样。Filesystem Cache你往 ES 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 Filesystem Cache 里面去。es 的...阅读全文

博文 2020-11-16 03:44:23 知乎

「竞品分析」项目协作管理平台-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) 产品经理顾名思义就是负责产品管理的岗位,是一个产品从诞生到维护的牵头人,全权负责产品的最终完成。从大体上看,产品经理的主要工作内容有五大板块:产品的前期规划、产品设计、产品的实现以及后续迭代优化、管理工具的配合。 一、产品的...阅读全文

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

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

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 简书

HTTP/2 学习笔记

Why HTTP/2HTTP/1.1 是文本协议对用户友好,但对计算机不友好 (parse 不高效)TCP 连接管理TCP 慢启动,因此尽可能的复用连接 (keep-alive)一个 TCP 连接上只能有一个 request/response,可以使用 pipeline 实现并发请求,但会有头部阻塞问题,现代浏览器默认不启用 pipeline,而是通过对一个域名同时建立多个连接 workaround头部 field 重复,造成资源浪费资源没有优先级HTTP/2 特性:HTTP/2 没有改变 HTTP/1.1 的语义 (method, status code, URI, header 均保留),其改变了数据是如何传输的。多路复用: 为了更高效地利用多路复用,另外实现了 Flow Control...阅读全文

为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 博客园

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

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

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侦探

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

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

都是 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 鸟窝