Skip to main content

生活

自动化营销系统的一些思考和实践总结

Submitted by taotao on Fri, 09/13/2019 - 16:38

概述

我在2015年的时候,听了关于国内某一家互联网公司的技术分享,他们的技术经历了三个阶段,分别是

  1. 传统的LAMP架构
  2. 对系统基于业务边界进行垂直切分,包括对数据库进行垂直和水平切割的架构
  3. 这个阶段很神秘,没有分享

但是第3阶段,他们提到了Java开发人员不再需要去开发商城端的营销活动类的业务,开发人员的精力全部集中到了中间件、供应链、进销存等重业务软件的开发。因为这种系统架构能够帮组他们提高生产力,在市场竞争中取得优势,所以基于商业的目的考虑,他们没有分享。于是那时在心里留下了一个疑问。最近机缘巧合,公司来了一位资深的产品经理,在和他交流的过程中他多次提到了自动化营销的话题,又一次触发了我对于在2015年心中的那个疑问的思索。 经过一个月左右的调研和思考,有了一些思路和实践,因此阅读完本文,你会知道如下内容

  • 如何通过设计系统架构就能够实现将经常变化的业务需求转成规则配置,不再需要开发人员去写代码实现;
  • 上述的系统设计带来的一些问题;
  • 上述的问题的利和弊的一些思考;

 

Tags

邮件客户端神器-Mutt

Submitted by taotao on Sun, 09/01/2019 - 07:26

背景介绍

我们在日常的工作中,肯定要收取大量的邮件,你可能会说安装一个邮件客户端不就可以了吗?比如ThundBird,FoxMail等等。你这样说也没有问题,毕竟现在的电脑配置都是超高的,一个基于GUI的邮件客户端并不会消耗你多少资源,用鼠标操作下,也可以查看邮件啊,我想你肯定会遇到电脑死机,不管鼠标怎么点都没响应,然后你不得不去重启电脑,然后不得不去重新打开你重启电脑之前的所有窗口,也许这样的场景不多见,但是只要发生过一次,就要够你难受的,我做过分析,不管是什么操作系统:Windows、Mac、Fedora等,只要是基于GUI的应用,永远是资源消耗大户,所以如果要工作的流畅,就应该避免任何基于GUI的应用,日常工作中,收发邮件是一个频次很高的事件,我们有必要寻找一种邮件客户端工具,对系统资源开销最少,操作方面最高效的,所谓磨刀不误砍柴工,如果你想提高日常的办公效率,本文下面将会给你介绍一款基于命令行邮件客户端软件:Mutt,阅读完本文你会学会如下内容:

  1. 如何在 Fedora下安装 Mutt和相关的依赖;
  2. 如何配置 Mutt以及利用mutt发送和接收邮件;

全文阅读完大概需要5至8分钟。

Tags

谈谈对组织的一些认知

Submitted by taotao on Sat, 05/25/2019 - 13:58

         在原始社会,人们是以部落的形式集合在一起生活,因为在那个年代,一个人是没有办法在原始环境里生活,大家必须集合在一起,互相帮组,才能抵抗恶劣自然环境。在现代社会,好像我们不需要再像原始部落那样的方式生活了, 毕竟科技发展了,我们只需要遵循经济规律,一个人也可以独立生活的很好。但是在其他方面我们依然需要依靠集体的力量完成某些事情。

        现在的社会是把人根据目的进行了各种形式的部落划分,比如学生在学校里上学,学校就是一个部落,为了可以高效的生产出合格的工人、工程师、作家、律师等等,比如一个保洁公司,整合了社会上的闲散的劳动力,然后对外宣传可以帮任何个人组织提供保洁服务,比如一个户外登山团队,为了在登山的时候,彼此可以提供帮组,并交流分享登山的经验,他们聚合起来形成一个民间组织,例子还有很多不再一一举出,那么原始部落时期的人为了生存这个最基本的生存的目的而聚集在一起,现代的社会,我们由于各种利益,目的聚合在一起了,也是和原始部落是同一个性质的。那么这样说明了不管多少年的发展,人这个动物是离不开组织团体的。

Tags

关于真理的问题

Submitted by taotao on Thu, 05/23/2019 - 12:03

         真理这个词好像理我们每个人都很遥远,我们平常的生活中好像没有什么事情是和真理有关系的。因为我们对于真理的定义也就决定了我们是如何认知真理的,如果我们把真理定义成是学术科研中的某个发现,可能我们会倾向认为真理是和学术研究、自然科学有关系,不会认为和我们的平时生活有什么联系。

Tags

Redmine的搭建和数据备份

Submitted by taotao on Tue, 01/08/2019 - 12:27

概述

Redmine 是一个项目管理软件,对于那些付不起Jira费用的公司来讲是一个 很不错的选择。我个人用redmine来管理自己的知识体系,很多方面的知识都会记录到Redmin中。因此我这里讲解 一下如何搭建一个Redmine系统,以及如何备份和恢复。本文是基于docker-compose的方式进行安装和备份的。

步骤

  • 本地安装docker-compose

安装方式参考 TestLink的搭建过程和使用介绍

Tags

TestLink的搭建过程和使用介绍

Submitted by taotao on Mon, 01/07/2019 - 22:17

概述

继续之前的文章如何高质量交付的一些思考 讲到要用TestLink 管理测试用例,这里记录下如何快速的搭建TestLink的一个过程,以及对TestLink的一点使用方面的个人总结

安装步骤:

  • 安装docker-compose

我是用用docker-compose 来安装,因为不想配置一堆的环境参数,所以我先在服务器上安装了一个docker-compose

Tags

如何高质量交付的一些思考

Submitted by taotao on Wed, 01/02/2019 - 20:46

在2018年12月26日和2018年12月28日发布版本的时后出了两次故障: 一次是由于新旧权限兼容,基于新旧权限的数据,程序在做联合计算时,产生了一些空数据导致的问题 ,另一次是由于两个月前的一次发布,将相同的节点的数据配置了两份,导致新添加的配置在spring cloud config没有生效而引起的问题。 这两次的问题,引起自己反思,结合软件工程的方法论,反思平时的工作中有哪些不足的地方:

  • 目前公司的测试资源不足,没有专门的测试人员测试
  • 项目维护的周期超过了两年,开发人员对某些不常用的功能也生疏了,导致在做自测的时后,也不能比较全面的进行测试
  • 没有人专门的负责更新和维护文档,导致大部分的文档都过时了

如上是问题,下面就要基于这个现状进行思考如何提高交付质量

Tags

再好那么一点点

Submitted by taotao on Fri, 12/14/2018 - 22:04

 

dev

今天项目发布正式环境,在生产环境执行flyway的db migration脚本的时后,出现了如下的错误

caused by java.sql.sqlexception statement violates GTID consistency create temporary table and drop temporary table can nonly be executed outside transactional conext

经过分析这是由于mysql开启了GTID的特性导致db migration脚本中的如下开头语句都报错

CREATE TEMPORARY TABLE ....

这个语句存在的目的是为了从一个表迁移数据到另外一个表中,然后再删除该临时表。

Tags

学习方法

Submitted by taotao on Thu, 12/06/2018 - 20:48
学习

一直说要总结下自己的学习方法,因为今年这一年学习方法的认识提升最快的一年,改变很多自己之前的错误的认知。 首先说学习的过程是一个将新知识内化的一个过程,所谓的内化就是利用老的知识去理解新的知识的一个过程,然后将新的知识纳入已有的知识体系中。 然后到使用的时候,我们可以快速的根据某一个场景检索到我们需要的知识。学习的过程就是不断丰富我们这个知识体系的一个过程。

Tags