- 博客(56)
- 收藏
- 关注
原创 数据湖仓一体化架构:探究新一代数据处理的可能性
随着大数据的快速发展,企业不断寻求高效、灵活和经济的方法来处理和管理海量数据。在这种背景下,数据湖和数据仓库这两种不同的架构模式各自展现出其独特的优势。而数据湖仓一体化架构,是对这两种模式优势的综合,为企业提供了一个全新的数据管理方案。
2023-06-13 14:03:58 1558
原创 一图看懂架构划分原则:技术划分 OR 领域划分?
架构划分原则技术划分描述: 按技术用途组织系统组件典型示例: 分层(多层)架构组件按技术层组织用户界面: 与用户直接交互的部分业务规则和核心处理: 逻辑和算法与数据库交互: 数据存取和查询数据库层: 数据存储和管理优点:当大部分更改与技术层次对齐时适用缺点:域更改可能涉及多个层示例:分层架构: 多层次的技术组织微内核架构: 核心与插件分离管道架构: 数据流驱动事件驱动架构: 响应事件变化基于空间的架构: 数据在空间中分布领域划分描
2023-08-29 13:33:54 270
原创 大语言模型高质量提示词最佳实践
本文详细介绍了如何提升其生成内容的质量和效率。首先,明确的指令和参考文本可以帮助大语言模型(例如ChatGPT)生成更相关的答案。其次,将复杂任务分解成更简单的子任务有助于模型更好地理解并执行任务。另外,给GPT-3一些“思考”时间,让其生成可能的答案或思考可能的问题可以提升其输出的深度和质量。此外,利用外部工具,如基于嵌入的搜索和代码执行,能够更大限度地提高模型的能力。最后,我们应系统地测试更改,以便评估这些优化策略是否有效。
2023-06-14 13:12:34 4021
原创 以ChatGPT辅助软件架构工作
"ChatGPT时代的软件架构全生命周期"详细探讨了ChatGPT如何革新软件架构过程。通过使用聪明的提示工程技术,ChatGPT能够在需求收集与分析、设计、实现、测试与验证、部署与持续集成,以及维护和演进等各个阶段提供强大支持。文章强调了ChatGPT在提升工作效率、优化开发流程、改进软件质量等方面的重大影响。这一切将深刻改变软件架构师的工作方式。
2023-06-07 20:08:32 1488
原创 数据中台浅析——概念、架构以及未来
"数据中台浅析"深入解析了数据中台的概念、构成、建设方法、实际案例以及未来趋势。对于希望提升数据分析能力,驱动业务创新和增长的工程师来说,这是一篇不容错过的文章。面对日益复杂的数据环境,没有数据中台的支持,你可能会在信息海洋中迷失方向。快来阅读,揭开数据中台的神秘面纱,让数据中台成为你未来技术路线图的关键组成部分吧!
2023-06-06 17:47:31 3007
原创 资管行业如何使用生成式AI打造核心竞争力
生成式AI是近年来人工智能领域的一个重要分支,其主要特点是能够生成新的、从未见过的信息,这些信息可以是图像、声音、文本等等。生成式AI通过学习和理解大量的数据,能够创造出具有创新性和逼真性的结果。本文阐述了资管行业如何拥抱生成式AI技术,以打造核心竞争力。
2023-06-06 13:06:33 407
原创 如何在Outlook 2019/Office 365中运行VBA脚本邮件规则
如果你公司的邮件系统是Microsoft Exchange Server + Outlook,能在Outlook中执行VBA邮件规则,自动化处理邮件,可以节省大把的时间。自Outlook 2016开始,运作VBA邮件规则需要费一番周折了,跟博主来看看如何做吧。
2019-12-18 10:46:15 10942 1
原创 如何使用一个老旧的CentOS 5.8系统
找运维同事要一台32位Linux服务器,只有CentOS 5.8的镜像,使用这个老旧系统的第一个挑战就是要找到Yum源,否则安装软件是个难题。[root@demo yum.repos.d]# yum -y updateLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileYumRepo Er...
2018-08-06 16:28:43 3505
原创 在Windows 10上安装TensorFlow及PyCharm开发环境
有时候在查看官方文档时,常常看到很多的分支,所以作为开发者我们都喜欢把最佳实践总结出来。下面一起来看看如何在Windows 10上安装一个TensorFlow和PyCharm开发环境。安装Anaconda 安装Anaconda以后,即可获得运行TensorFlow所需的Python运行环境。比起直接安装Python,Anaconda安装了丰富的工具,省去了不少麻烦。从http...
2018-07-31 19:11:15 4522
原创 揭秘IBM架构设计方法论 —— Solution Design II
接上篇:揭秘IBM架构设计方法论 —— Solution Design I2. 设计解决方案2.1 开发架构概览 架构概览是解决方案要构建系统的高阶抽象,开发架构概览的主要目的是和项目的干系人沟通系统的主要结构和重要特征,因为不同的干系人的关注点有所差异,系统的架构概览也有不同的展现形式,但其描述的重点都是目标系统。 第一张示例展现的是企业视角,常用于和项目发起人的业务...
2018-07-27 14:06:24 4250
原创 使用Cucumber和Spring实践行为驱动开发(BDD)
BDD简介 TBD搭建并启动被测服务 本文使用了Spring Getting Started中的Rest Service,https://spring.io/guides/gs/rest-service/,读者可以自行尝试搭建并启动。启动成功以后,在浏览器中访问http://localhost:8080/greeting?name=User,收到响应{"id":1,"cont...
2018-07-26 17:42:36 3176 2
原创 (图文)如何在Jenkins中配置CheckStyle
使用CheckStyle可以使团队开发的代码风格保持一致,是提升代码质量一个手段,本文将介绍如何在Jenkins中配置CheckStyle,以将相关的检查增加到持续集成流程中。在Jenkins中安装CheckStyle插件 Jenkins中CheckStyle插件的作用是图形化的展示CheckStyle输出的结果,可以在Jenkins > 系统管理 > 管理插件 ...
2018-07-23 19:03:56 5648
原创 2017年软件架构设计师考试磁盘读取和处理时间计算题
这个题目中含有一个假设:磁盘是单向不停的转啊转,如果上面缓存去依次排列,“使用单缓冲区”,处理完一个缓冲区,下一个要处理的缓冲区已经转过去啦!还需要3*8=24ms转过8个缓冲区才能再次转到要处理的缓冲区。最长时间为(3+6)+(24+3+6)*9=306ms假设优化为处理为一个正好转到下一个要读的数据库,则最少处理时间为(3+6)*10=90...
2018-07-17 15:05:58 882
原创 CISC和RISC的区别
CISC(Complex Instruction Set Computers,复杂指令集计算集)和RISC(Reduced Instruction Set Computers)是两大类主流的CPU指令集类型,其中CISC以Intel,AMD的X86 CPU为代表,而RISC以ARM,IBM Power为代表。RISC的设计初衷针对CISC CPU复杂的弊端,选择一些可以在单个CPU周期完成...
2018-07-15 00:08:10 76377 1
原创 Linux平台上的Java应用CPU问题定位——以WebSphere为例
Linux上使用命令top -H,即可看到使用CPU高的线程号,转换成16进制即可1. 获得最顶端输出并查找与之前启动了现占用 CPU 的 WAS 的那个用户 ID 相关联的 PID。2. 通过 kill -3 <PID> 对 WebSphere Application Server 进行若干 Thread Dump3. 将步骤 1 中的 PID 号转换为一个十六进制值。4. (用于 ...
2018-06-30 16:37:28 508
原创 IBM JDK生成Javacore的方法
根据IBM JDK的文档,有以下的方法可以选择生成Javacore:1. JVM执行异常时,自动生成Javacore1.1 发生了引起JVM停止运行的本地错误时,会自动产生Javacore文件1.2 JVM内存不足时,会自动产生Javacore文件2. 触发JVM生成JDK2.1 从命令行中发出kill -3 <pid>指令,生成Javacore2.2 在应用中调用com.ib...
2018-06-30 00:07:46 3635
原创 如何使用Jenkins将War包发布到Tomcat 8.5
使用Jenkins可以有多种方法发布一个Tomcat应用,比如把war包放到tomcate的webapps目录下,或者把应用打入一个Docker镜像。本文介绍通过Tomcat manager来发布Tomcat应用。安装所需的Jenkins插件 安装Jenkins,选择常用的组件安装,然后启动以后。进入菜单系统管理->管理插件,在可选插件中选择并安装Deploy to c...
2018-06-29 19:55:21 4425
原创 Oralce 11g客户端的配置
作为开发人员,在使用一些工具软件,如PL/SQL,TOAD for Oracle时,需要安装配置Oracle Client。如果你是个新手,不知从何下手配置Oracle Client,可参考以下的步骤:1. 使用Oracle Client安装程序,安装管理员或运行时类型2. 安装后启动Net Configuration Assitant 配置好了。重启工具,应当可以在服务列表中看到新...
2018-06-28 20:26:57 226
转载 中国太平保险集团私有云平台建设实践
何宁 青云QingCloud原文地址:https://mp.weixin.qq.com/s/1IUta4X59S1Wpw93UCvc1A 前言:本文为中国太平运营管理处副处长何宁在青云QingCloud 保险沙龙上的技术分享整理而来。文中,何宁详细分享了太平保险集团独特的信息化建设之路,以及实现太平云建设的历程和多年积累的云计算实践经验,非常值得从业者借鉴与学习。1 私有云是一个伪命题关于太...
2018-06-26 17:59:53 3790
原创 揭秘IBM架构设计方法论 —— Solution Design I
Solution Design概述 Solution Design是IBM历史上一个知名的方法论,其设计的初衷始于售前的解决方案设计,因其对庞大复杂的UMF框架做了精选,相对简单又不失完整,在项目实施过程中也广受架构师欢迎。前几年,随着用户体验的崛起,客户越来越注重体验,IBM开始大力推行Design Thinking作为解决方案设计方法论。但是架构师、开发工程师和运维工程师难以使用De...
2018-06-26 17:29:16 7863
原创 Agile、CI、CD和DevOps的区别和联系
今天看到一张图,有一种豁然开朗的感觉,赶紧分享给大家。 可以看出,敏捷开发(Agile Development)、持续集成(Continuous Integration)、持续交付(Continuous Delivery)和开发运维一体化(DevOps),所覆盖的软件生命周期的阶段不同。参考资料1.https://mp.weixin.qq.com/s/wCFM6L...
2018-06-25 16:12:58 12279
原创 Scrum精要(更新中…)
什么是Scrum? Scrum是一个用于管理复杂产品开发的流程框架,而并非一项构建产品的流程或技术,在敏捷开发方法流行起来后,Scrum成了最流行的敏捷开发流程框架。其它的敏捷开发流程框架还包括Kanban, Lean等。 Scrum的理念 Scrum是基于实证流程控制理论(Empirical process control theory)设计的。TBD 下...
2018-06-21 18:37:19 461
原创 一致性哈希算法(Consistent Hashing)
一致性哈希(Consistent Hashing)是在分布式缓存系统中的常用的一种算法。在一个大型的缓存系统中,缓存的内容通常都分布式的存储在多台缓存服务中的,如何更好的定位客户端所需的缓存?传统哈希算法 哈希是一种信息特征提取的方法,可以将长度的信息映射成固定长度的特征值,映射的过程也就是哈希算法。例如有3台缓存服务器时,可以使用对3取模作为哈希算法,按照哈希的结果0~2将缓存的请...
2018-06-15 10:43:52 477
原创 Zookeeper架构笔记
Zookeeper的需求目标 分布式应用需要组成员管理,主结点选举,元数据(配置信息)管理,分布式锁等协同服务,Zookeeper的目标是为分布式应用提供了实现这些协同服务的中心化工具。同时,Zookeeper的目标还包括:高性能 支持高吞吐、低延时,以用于大型的分布式系统 高可用 避免成为一个单点故障 Zookeeper的目标不包括大量的数据存储,在设计采用Zookeep...
2018-06-13 11:02:39 537
原创 MongDB高可用可扩展架构验证方案(附实战命令)
1. 验证目标验证MongoDB的高可用部署。高可用部署条件下,MongoDB和MySQL的性能对比。MongoDB可扩展架构的性能损耗。测试在可扩展架构下增加数据分区的影响。2. 环境定义2.1. MongoDB高可用环境 如图,MongoDB的最小高可用环境由三个节点构成一个复制集(Replica Set),三个节点可以是主、副节点和Arbiter节点。其中仅有主节点可写可读,副节点(...
2018-06-06 17:50:10 607
翻译 NOVARICA业务和技术趋势报告:寿险公司业务架构地图
(译者注:NOVARICA 2018年4月发布了业务和技术趋势报告:个人寿险行业。https://novarica.com/business-technology-trends-individual-life-insurance/,其中的保险核心系统地图可以让我们一窥人寿保险公司IT系统的架构全貌) 个人寿险公司为了在竞争性市场中寻求差异性,正在投资于分析、核心系统和服务相关的技术。...
2018-06-02 12:11:20 1223
原创 使用Rocket.Chat搭建属于自己的Slack服务和Hubot聊天机器人
如果你在企业的层层Firewall之后连接Slack之后,可以考虑为团队搭建一个Rocket.Chat服务,实现类似Slack的团队聊天功能。本文使用的方法适合于快速试用一下Rocket.Chat服务,如果是用于正式环境,还请参考官方文档。安装并启动Rocket.Chat服务器 可以使用Docker Compose在本地安装一个Rocket.Chat服务,在目录中新建一个docker...
2018-05-31 11:07:15 9917
原创 使用swagger2markup和asciidoctor生成美观的Restful API文档
目前,大家通常都是用Swagger来编写Rest API文档,使用Swagger注解和Springfox,可以方便的从源代码生成文档,保持文档和源码一致。使用Swagger-ui工具,接口的消费方可以查看接口定义并从浏览器直接调用接口。...
2018-05-30 16:13:45 9282
原创 智能(语音)对话系统架构研究
本文所谈及的架构主要指使用已有的智能对话服务来搭建一个应用系统,而不会深入的探讨智能对话服务内部的架构。智能对话系统的需求目标 智能对话系统可以提供回答问题的能力,即在理解自然语言的基础上,解答用户提出的问题。进一步的,可以提供基于任务的对话能力,及判断用户的意图,通过多轮对话收集必要的信息,完成订票,查找音乐等服务。智能对话系统的架构概览 上图是阿里云智能对话平台文档中的智能...
2018-05-30 10:51:24 11578
原创 MongoDB架构笔记
MongoDB的需求目标 MongoDB是一款知名的NoSQL数据库,其设计哲学是结合关系型数据库的核心能力和NoSQL的关键技术。 上图的左侧即MongoDB目标实现的关系型数据库的关键能力:善于表达的查询语言:用户应能够使用丰富的方法访问和操作数据,以支持联机应用和分析应用。辅助索引:索引是高效访问数据的关键,数据库系统应提供对索引的原生支持。强一致性:应用应当立即读到提交到数据库...
2018-05-02 09:47:44 7155 1
原创 分布式系统的CAP原理及其应用
什么是分布式系统的CAP原理 在分布式系统中,一致性(C)指每一次读都得到最近的写数据,或者一个异常;可用性(A)指每一个请求都得到一个非异常的响应,而不保证取得最近的写数据;分区容错性(P)是指结点间网络异常时,系统仍然可以继续运行。原理指出,一个分布式系统最多只能提供CAP中的两个保障。 值得注意的是,CAP原理指的是在分区发生时,只能在保证一致性或可用性中二选其一。而非因为分区不...
2018-04-28 09:21:45 2748
原创 Python中的列表推导(List Comprehension)
列表推导(List Comprehension)是在一些编程语言中存在的一种语法,目的是从一个存在的列表创建另一个列表。最便于理解这种语法的方法是来看看它的来源——集合的构建式表示法。请看以下的集合表达式:其中的N是自然数集合,则集合S是由平方大于3的自然数乘以2组成的,这其中N是已存在的集合,x平方大于3是过滤条件,而2乘以x是产生新元素的表达式。下面来看一下Python中列表推导的语法...
2018-04-26 11:43:14 784
原创 K8s(Kubernetes)架构笔记
K8s满足的需求 K8s的主要职责是容器编排(Container Orchestration),即在一组服务器上启动、监控、回收容器,在满足排程的同时,保证容器可以健康的运行。K8s架构的概念/术语 学习K8s架构之前,需要了解一些K8s特有的概念:Cluster 集群K8s可利用的主机、存储和网络资源的集合。Node 结点单台主机,可以是物理的或虚拟的计算机。结点分为主结点(ma...
2018-04-24 16:53:00 20711 2
原创 IBM软件架构设计方法
2015年底,一部关于IBM软件架构的秘籍流落于江湖,这就是IBM杰出工程师(Distinguished Engineer, DE,大神)蒂拉克·米特拉写得《Practical Software Architecture: Moving from System Context to Deployment》,2017年初,机械工业出版社也翻译出版为《实用软件架构:从系统环境到软件部署》。
2018-04-16 22:40:33 211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人