软件知识体系
墨城之左
形而上者谓之道,形而下者谓之器。
展开
-
【软件设计】深入理解日志系统的意义
每个软件都有自己的日志系统,每种语言都有自己的日志框架/模块,随着互联网和大数据的蓬勃发展,分布式的日志系统,以及日志分析系统也应用的越来越广泛,越来越成熟。这里讨论的日志设计,主要关注日志的内容,而不是日志框架/模块的实现和使用。日志的内容就是,软件应该在什么地方?使用什么等级?输出什么信息?看似简单,里面却有大学问。我看过输出信息一团乱麻、零碎混乱的日志,也看到过逻辑清晰、工整条理的日志。好的日原创 2017-09-17 14:06:46 · 7508 阅读 · 0 评论 -
大数据分析、机器学习、智能化等概念梳理
1 引言最近半年来一直在学习数据分析、机器学习等智能化相关的知识,过程中积累了不少技术和经验,收获很多,启发很大。2 统计工具的学习最初,以数据的关联性分析为切入点,展开分析工作,希望在大量、静态的数据中获取有价值的信息。在这一需求背景下,学习了 R 语言,并通过 R 语言完成了一些简单的分析工作。 图1 R语言编程环境 但 R 语言更专注和适应于统计学领域原创 2017-10-20 09:28:02 · 4108 阅读 · 0 评论 -
【编程语言】理解变量、类型绑定与作用域
冯诺伊曼结构 –> 命令式程序设计 存储器:存储命令和数据 处理器:修改存储器中的内容编程之外的世界呢?是不是也可以简单的概括为数据处理呢?世界上一切的事件和行为,都是对数据的处理! 娱乐,学习,制造,繁衍 …. 这是一个宏大的命题,值得深入思考!首先需要搞清楚的是,数据是什么?命令是什么?处理器是什么?存储器是什么?语言是什么?以下内容是对《编程语言原理》的笔记。1 名称1.1 名原创 2017-11-15 16:13:53 · 1117 阅读 · 0 评论 -
JavaScript 面向对象的继承模型
JavaScript封装、继承、多态,是面向对象语言的基本特征,js 作为一种另类的面向对象语言,它的对象模型是怎样的呢?继承prototype,constructor后续。。。。...原创 2018-05-08 13:14:49 · 267 阅读 · 0 评论 -
个人软件开发知识体系梳理
软件开发知识体系梳理1. 系统- 多个模块,在相互联系、相互作用之中形成的具有确定功能的整体,谓之系统- 系统论- 计算机系统:冯诺依曼结构(输入,输出,控制,计算,存储),数据与指令,- 操作系统:进程管理,内存管理,存储管理,网络通讯,交互界面,系统安全- 软件系统 - 存储系统:文件系统,数据库系统 - 调度系统:异步,协程,netty,gevent,....原创 2018-07-11 16:06:03 · 3177 阅读 · 0 评论 -
程序员必知必会
基础知识1、二进制数(110.11)转是十进制数6.75将十进制数转二进制数,对小数部分,连续乘2,并记录结果的整数和小数部分:0.75 * 2 = 1.5 整数部分为 1,因此小数点后一位为 1;1.5 小数部分为 0.5, 0.5 *2 整数部分为 1, 小数点后两位为 1;6.75 对应的二进制数为 110.112、3、二级制补码几乎所有的计算机都是用二进制补码表示法...原创 2019-02-15 18:36:09 · 1731 阅读 · 0 评论 -
[转] Java 技术体系
文章目录一、构成架构师的技能体系二、阅读源码,分析源码知识点总汇三、分布式架构四、微服务架构技能总汇五、并发编程六、性能优化七、Java开发必知工具原文链接Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。一、构成架构师的技能体系二、阅读源码,分析源码知识点总汇这张图详细介绍了源码中...转载 2019-06-15 22:22:00 · 252 阅读 · 0 评论 -
【软件设计】深入理解软件的需求
这里的软件,可以是个小程序、小工具,可以是个框架、组件,也可以是个系统。1 软件的理想对很多开发人员来说,需求是个比较笼统、模糊的概念。如果不在开发运维的过程中,多揣摩多思考,那么需求这个东西就会变的越来越陌生,甚至觉得不那么重要,不那么相关!那么到底需求是什么?我说——需求,是软件的理想!“做人如果没有理想,跟咸鱼有什么区别!”同样,软件也应该有软件的理想,没有理想的软件连咸鱼都不如,会成为一坨s原创 2017-09-04 13:01:50 · 3448 阅读 · 1 评论 -
个人软件知识体系构建概论——目录
软件开发质量体系CMMI,ISO9000软件开发过程体系模型与最佳实践瀑布,螺旋,迭代,敏捷(XP,Scrum),RUP模型驱动,领域驱动,测试驱动软件开发技术体系操作系统:UNIX,Linux,JVM, 高级编程:线程,网络,IO(同步/异步/阻塞),非业务系统:日志,业务跟踪,审计,异常,安全,事务,升级,配置数据库:SQL,noSQL(key-value,Column,Doc原创 2017-08-04 14:53:46 · 1654 阅读 · 0 评论 -
个人软件知识体系构建概论——目录
软件开发质量体系 CMMI,ISO9000软件开发过程体系 模型与最佳实践 瀑布,螺旋,迭代,敏捷(XP,Scrum),RUP 模型驱动,领域驱动,测试驱动软件开发技术体系 操作系统:UNIX,Linux,JVM,开发语言:语法,IDE,编译链接,调试,高级编程:线程,网络,IO(同步/异步/阻塞),原创 2017-04-01 15:46:09 · 1757 阅读 · 0 评论 -
Python科学计算——Numpy知识点
1 Python自带的list,存储的是对象指针,在进行数值运算时,比较浪费内存和CPU计算时间;2 Python的array,不支持多维数组;3 NumPy提供了两个基本的对象:ndarray,ufunc;4 help(np.array) 或者 np.array? 查看帮助;5 shape可以查看/修改数组的维度;reshape,创建新维度的数组,原创 2017-04-19 13:46:01 · 1875 阅读 · 0 评论 -
python 数据分析相关模块安装
参考了很多网友的文章,在安装的过程中,还是碰到了些问题,走了弯路,这里把简单过程总结下来,更详细的步骤可以搜索类似的博文。原创 2017-04-15 10:46:09 · 1701 阅读 · 0 评论 -
编程语言——分类
编译型 VS 解释型编译型语言,如:C、C++、Fortran、Pascal、Ada。由编译型语言编写的程序,需要经过编译,汇编和链接才能输出目标代码,然后由机器执行目标代码。解释型语言,需要一个专门的解释器来执行该程序,每条语句只有在执行是才能被翻译,这种解释型语言每执行一次就翻译一次,因而效率较低。java很特殊,java是需要编译的,但是没有直接编译成原创 2017-04-15 11:32:31 · 1525 阅读 · 0 评论 -
数据统计分析——基本概念_01
频数,定序、定类、定距数据;定性 vs 定量定量研究:通过统计调查法或实验法,建立研究假设,收集精确的数据资料,然后进行统计分析和检验的研究过程。定性研究:定性是定量的基础,定量是定性的精确化!从不同的角度,不同的层面,用不同的方法对同一事物的质进行研究!一个是发散思维创造想法,一个用数字和逻辑验证想法!统计分析:统计描述原创 2017-04-20 16:59:25 · 1643 阅读 · 0 评论 -
数据统计分析——常用统计检验方法
单变量因变量连续变量有序分类变量无序分类变量二分类变量单自变量连续样本t检验相关分析回归分析有序分类的Logistic回归无序分类的Logistic回归二分类的Logistic回归有序分类单样本秩和检验单因素方差分析,结果解释时利用有序信息秩相关分析、CMH x2可将自/因变量交换后分析可将自/因变原创 2017-04-27 15:16:47 · 16734 阅读 · 0 评论 -
Python 基础知识点 001
Python 基础知识点 001经典代码示例:# -*- coding:utf-8 -*-def build_connection_string(params): """Build a connection string from a dictionary of parameters. :param params: :return string: """ r原创 2017-05-16 14:05:36 · 1245 阅读 · 0 评论 -
通过 open falcon 的 agent 的http 接口实现远程系统命令调用
open falcon 的 agent 组件是一个比较综合的采集客户端,详情可参考官方文档,此处不一一赘述,只是介绍以下如何开启其远程命令调用接口。1 下载 open falcon 源码该项目是go语言实现,我是通过 PyCharm 安装 go 插件,来进行编译构建的。2 接口示例agent 提供了各种 http 接口,用来提供各种服务,如下图,其中 run.go 就是支持远程命令调用的接口;可以通原创 2017-06-23 10:03:45 · 2828 阅读 · 0 评论 -
软件设计风格 之 注解(Annotation)、配置文件、xml 的比较
本质上,三者都是信息的载体,或者说向程序传递信息的方式!那么说道传递,就涉及到主体、客体两方,也就是“谁”要把“什么”传递给“谁”!注解:1 开发人员把编译信息传递给编译器;比如@Override、@Deprecated 2 开发人员把类的元信息传递给Classloader,进而由注解处理器去处理;比如Spring框架中的注解,@Component,@Controller等等,在bean加载的过程原创 2017-06-26 20:30:19 · 1343 阅读 · 0 评论 -
程序设计——数据与编程
数据是什么?数据是用来度量、描述客观世界的工具,是对事实、概念或指令的一种表达形式。数据的形式多种多样,可以是数字,文本,图像,声音。对程序员来说,如何理解数据?如何看待数据?如何以数据为核心视角去思考和设计程序?非常重要!作为一个程序员,我们会接触各种各样的数据,有大有小,形式各异,有结构化的、非结构化的,有值、列表、哈希,有配置文件,参数,注解,xml,json,数据库,等等等原创 2017-08-02 13:34:37 · 1493 阅读 · 0 评论 -
个人软件知识体系构建概论——前言
人们对客观世界的认知,大体总会经过这么一个过程,信息-->知识-->理论。当我们接触一样陌生的东西时,会从“声色香味触”各个维度进行观察,捕获所需要的信息,比如,水,无色无味,冬天会结成冰,加热会沸腾形成蒸汽。经过一段时间的了解,人们对获取的信息进行概括、抽象,形成概念,比如,水这个名词就出现了,当所有人对这个概念达成共识时,水就由信息转化成知识!这是一个简单的例子,可能并原创 2017-04-01 14:33:52 · 1321 阅读 · 0 评论