摘要: 在程序开发的过程中,相同的功能往往有不同的实现方式。对于可以实现同样功能的不同代码,复杂度是用于比较其质量优劣的重要指标。 在本文中,代码复杂度是指代码被理解/修改的难易程度。越容易被理解、修改的代码的复杂度越低;反之其复杂度越高。 复杂度低的代码比复杂度高的代码有更多好处,比如, 从代码“查逻辑”阅读全文
posted @ 2019-05-16 20:37 氢氦 阅读(460) 评论(5) 编辑
摘要: 对SAP系统而言,RFC最常见的系统间通信方式,SAP与SAP系统及SAP与非SAP系统之间的连接都可以使用它。它的使用便利,功能强大,在各种接口技术中,往往是最受(ABAP开发者)青睐的选择。 查询接口通信的日志记录,有助于排查和解决相关开发工作中遇到的问题(以及甩锅给对方系统)。对于webser阅读全文
posted @ 2019-05-23 19:52 氢氦 阅读(108) 评论(1) 编辑
摘要: 大人常常是成年人的代名词,有时候也被用来指长辈。本文将试着重新定义大人。 年龄相同的人,可能有相似的身体发展,但思想与心灵的发展水平却可能有很大差别。一个只有身体成长到十八岁的人,是不完全的大人。在我看来,一个可以被称为大人的人,需要满足以下要求, (原文发表于贴吧,因最近众所周知的事件,移到这里)阅读全文
posted @ 2019-05-22 20:08 氢氦 阅读(76) 评论(0) 编辑
摘要: 在程序开发的过程中,相同的功能往往有不同的实现方式。对于可以实现同样功能的不同代码,复杂度是用于比较其质量优劣的重要指标。 在本文中,代码复杂度是指代码被理解/修改的难易程度。越容易被理解、修改的代码的复杂度越低;反之其复杂度越高。 复杂度低的代码比复杂度高的代码有更多好处,比如, 从代码“查逻辑”阅读全文
posted @ 2019-05-16 20:37 氢氦 阅读(460) 评论(5) 编辑
摘要: Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式。 本文是对Dynamics 365 CRM编程模型的综述。 概览 下图表明了Dynamics 365 CRM的主要可编程场景。请根据整体解决方案选择合适的模型。 从扩展的角度来看,你可以在Dynamics 365中实现阅读全文
posted @ 2019-04-16 22:08 氢氦 阅读(577) 评论(2) 编辑
摘要: 类是不是越小越好?最近在读John Ousterhout的《A Philosophy of Software Design》,感到作者文笔流畅,书中内容具有启发性。这里摘要一部分内容,以供开发工作中的参考、学习。 本文链接:https://www.cnblogs.com/hhelibeb/p/107阅读全文
posted @ 2019-04-15 17:21 氢氦 阅读(312) 评论(0) 编辑
摘要: 最近加入一个Spark项目,作为临时的开发人员协助进行开发工作。该项目中不存在测试的概念,开发人员按需求进行编码工作后,直接向生产系统部署,再由需求的提出者在生产系统检验程序运行结果的正确性。在这种原始的工作方式下,产品经理和开发人员总是在生产系统验证自己的需求、代码。可以想见,各种直接交给用户的错阅读全文
posted @ 2019-03-21 15:13 氢氦 阅读(390) 评论(0) 编辑
摘要: 测试是软件开发中的基础工作,它经常被数据开发者忽视,但是它很重要。在本文中会展示如何使用Python的uniittest.mock库对一段PySpark代码进行测试。笔者会从数据科学家的视角来进行描述,这意味着本文将不会深入某些软件开发的细节。 本文链接:https://www.cnblogs.co阅读全文
posted @ 2019-03-11 11:11 氢氦 阅读(309) 评论(0) 编辑
摘要: 最近被一个库龄报表的需求折腾得不轻,这里整理一下库龄报表相关的概念和资料,希望能有所帮助。 库龄 通俗地说,库龄是指产品在售出前在仓库放置的时间长短。从库存管理的角度来看,对库龄的分析有助于管理人员对物品的存取进行规划,避免物品过期。从会计的角度看,可以根据存货库龄分析对存货周转、呆滞及存货跌价减值阅读全文
posted @ 2019-03-07 17:01 氢氦 阅读(248) 评论(0) 编辑
摘要: 如管理学学者彼得·德鲁克所说:你无法管理你不能衡量的东西( If you can't measure it, you can't manage it)。要对已有程序进行性能优化,首先要对它的运行状况做出量化分析。 将代码下推到ABAP CDS,是SAP推荐的一种优化方式。但正因逻辑从应用服务器向数据阅读全文
posted @ 2019-03-05 09:33 氢氦 阅读(287) 评论(0) 编辑
摘要: 行列之间的互相转换是ETL中的常见需求,在Spark SQL中,行转列有内建的PIVOT函数可用,没什么特别之处。而列转行要稍微麻烦点。本文整理了2种可行的列转行方法,供参考。 本文链接:https://www.cnblogs.com/hhelibeb/p/10310369.html 测试数据准备 阅读全文
posted @ 2019-01-23 18:14 氢氦 阅读(1258) 评论(0) 编辑
摘要: 最近工作用到Spark,这里记一些自己接触到的Spark基本概念和知识。 本文链接:https://www.cnblogs.com/hhelibeb/p/10288915.html 名词 RDD:在高层,每个Spark应用包含一个driver程序,它运行用户的主函数,在集群上执行不同的并行作业。Sp阅读全文
posted @ 2019-01-20 16:15 氢氦 阅读(265) 评论(0) 编辑
摘要: 长期以来,我们都使用SAP GUI进行ABAP编码工作,事务代码SE38甚至成了ABAP的代名词。 SAP GUI的代码编辑能力和一些专业的IDE比较起来难免相形见绌,为了给开发者们更好的体验,SAP推出了基于Eclipse的ABAP开发工具:ABAP Development Tools for E阅读全文
posted @ 2019-01-08 20:19 氢氦 阅读(657) 评论(2) 编辑
摘要: 做编程工作已经两年多了,回顾这过去的两年,最满意的,是学会了ABAP,教导过两位同事;最在意的,是做成的事情太少,被人批评为爱说空话,不思进取。反思这段经历,我觉得有必要改变一些习惯,确立更明确可行的目标,来改善自己的生活。 精神。无论是学习还是对工作,都需要集中注意力来进行。集中注意力就要花费精神阅读全文
posted @ 2018-12-27 19:57 氢氦 阅读(411) 评论(1) 编辑
摘要: 本文是产品与对象相关的部分SAP文档的翻译,不包含配置部分。 本文链接:https://www.cnblogs.com/hhelibeb/p/10112723.html 1,对象(Objects) 对象是全局唯一的有形或无形对象,公司销售它或为它提供服务。对象通常是继承自产品的特定单一单元。然而,不阅读全文
posted @ 2018-12-13 16:34 氢氦 阅读(408) 评论(0) 编辑
摘要: 维基百科中对于Knowledge Transfer(知识转移)的定义是: 知识转移是指分享或传播知识并为解决问题提供投入。在组织理论中,知识转移是将知识从组织的一个部分转移到另一个部分的实践问题。 与知识管理一样,知识转移旨在组织,创建,捕获或分发知识,并确保其可供未来用户使用。 它不仅仅是一个沟通阅读全文
posted @ 2018-12-09 22:18 氢氦 阅读(422) 评论(2) 编辑