Di's Blog

Welcome to my little tiny Blog

2020 贵州之行

黔东南7日

“天无三日晴,地无三尺平。” 贵州的苗寨以黑苗为主,据说现在还保留有苗蛊,可惜并没有机会见识到。 镜头主要来源于西江千户苗寨和黄果树文凡峤山酒店,文凡峤山是建在山崖边的一家度假酒店,风景和服务都不错,推荐一下。 腾讯视频观看: Youtube观看:

Reading notes: Clean Agile

读书笔记:敏捷整洁之道

目录 第一章:敏捷的起源 铁十字,项目中必须要做的权衡 敏捷的目的 管理项目的铁十字 (The Iron Cross) 第二章:为什么要敏捷 程序员的职业素养 (Professionalism) 一些对程序员的合理的期望 (Reasonable Expectations) 权利法案 (The Bill Of Rights) 第三章:敏捷的业务方实践 ...

On Premise Deployment Solution

私有化部署方案的演进

前言 随着业务的快速发展,我们对私有化部署的流程上也发现不少可以优化改进的地方,今天主要和大家分享一下我们私有化部署方式的演进过程: 第一阶段:以脚本为核心的部署方式(docker文件 + 脚本 + 环境变量) 第二阶段:以 Jenkins 为核心的部署方式(docker文件 + jenkins + 配置文件) 第三阶段:以 Jenkins 和 docker harbor 为核心的部署方式...

Tech Team Management Note

技术管理思考笔记

整体思路 每个人需求不同,单独沟通并在管理过程中尽量满足。需求包括: 职业发展需求 经济需求(薪资、奖金、期权) 个人成就需求 社会地位需求(办公环境、公司地位、公司福利) 以激发团队的主观能动性为主,以被动监督团队成员为辅。 公平交换。每个人只要有付出就有回报,同时相互理解,公司在个人遇到困难时给予灵活...

直觉(Cover)

第一次尝试录音棚录音

“我喜欢你的眼睛你的睫毛你的侧脸,喜欢你嘟着嘴巴说教我吐烟圈。” 喜欢歌词,单曲循环了好多遍,就想试着录一下了。 第一次还是有点紧张。

On premise log and metric collection

私有化部署系统的日志和指标收集方案

前言 在私有化部署的系统中,系统可能会多次进行分布式组件的部署,而在私有化部署的环境中,可能没有完善的日志收集、指标收集和分析的工具,为了能便捷地进行日志、指标的收集和分析,这里提出一个简单的可复制的 ELK 日志、指标收集方案。 背景 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数据储存,同时利用 ansible、docker、jenkins 组合了一套...

Performance Optimization

性能优化的整体思路和常用工具方法

前言 在工作中发现关于性能优化相关的工作,大部分人都较少涉猎,也缺少相关的经验,所以把我的经验记录下来,抛砖引玉。 需求 性能需求 在一个系统运行的过程中,遇到性能上的需求无法满足是非常常见的。例如: 一个 HTTP 服务器的某个请求响应时间过长。 一个消息队列同时可以发送、储存的消息数量不足。 一个脚本的执行时间过长。 高性能往往可以具体拆解为低延迟和高吞吐量...

Weird bugs - 4

奇怪的 bug 系列 4 -- Linux 网卡混杂模式

前言 这次记录的 bug 是主要是涉及网络知识比较多,排查中主要用到了 tcpdump 以及一些运气。 问题以及排查过程 问题表象 在一台 vmware 部署的 Redhat 系统上安装 docker,使用的是阿里云的镜像源,安装命令如下 yum remove docker \ docker-client \ docker-cl...

Sync Outlook Calendar And Conference Room

将 Outlook 中的日程信息以及会议室信息同步至第三方系统

起因 由于系统A实现上的需求,我们需要将 outlook 中的会议室的使用信息,以及对应每个用户的日程信息同步至内部开发的系统A中。主要需求包括: outlook上的会议室使用情况涉及到不使用系统A的用户,所以outlook上的会议室预约信息会比系统A中的多,我们需要把这些额外的预约信息同步至系统A中,这样系统A中的用户在预约会议室时,可以考虑到其他用户的冲突。 用户已经习惯使...

Leverage Datalake cloud service in ETL

利用 Datalake 服务加速数据分析的迭代流程

起因 在数据采集和分析的流程中,目前有3个痛点不好解决: 数据采集之后是以多个小 json 文件储存在类似 AWS S3 的对象储存中的,当我们要核验数据的特征,例如最大值,数据总数之类的,需要使用 MapReduce 或者 spark 才能实现,而这个操作门槛相对较高。并且由于数据是以多个小文件的形式存在,批处理脚本的执行效率低,每次都需要较长时间才能完成一个简单的数据查询。 ...