![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语言理解
文章平均质量分 54
王者之路001
解决问题才是王道!
展开
-
凤凰架构学习心得
最近一直没写博客,因为本人忙于申博而无暇顾及其他(最终终于上岸了)。整改完成之后,决定还是再进行一次技术总结,于是,就又学习了一遍技术方案,然后在网络上翻到了周志明博士的《凤凰架构》。学完之后,大为叹服。决定写几句有点心得体会。原创 2023-04-26 10:17:52 · 258 阅读 · 0 评论 -
EntityManagerFactory和EntityManager的一个用法探究
EntityManager是具体的操作增删改查,但EntityManagerFactory才定义了持久化存储单元的环境原创 2022-07-20 17:32:05 · 1044 阅读 · 0 评论 -
C#的partial用法
最近,在用C#做程序。在做东西之前,发现原来的C#代码;看完之后,感觉头大;因为,代码实在太长了,一个功能类写几千行,而且,全都是这么写下来。笔者牢记一个原则:好的代码,不是给机器用的,而是给人用的。看到这个现象,不觉头大。就想起一个原则:对几千行代码进行拆分;正好,C#提供了一个partial关键字,可以对class、interface进行分割。如下所示:源文件A1.cs源文件A2.cs等同于一个源文件A.cs挺理解部分工程师把一大堆功能写到一个类里面的;因为C#始终是一种面向对象的语言原创 2022-06-08 18:11:59 · 3339 阅读 · 1 评论 -
由一段语句没有return论述try-catch语句中的return
最近在写一个判定程序,发现程序运行有异常,于是,就提供了一个try-catch捕捉异常。同时,发现该程序里return失效了。当时就发生了我乍一看非常诡异的现象:一个if判定语句里的return,不运行了。我当时很诧异,以为是编译器坏了,甚至以为是缓存没有清理,还多次rebuild和清理缓存。最后,认真想了下,应该是try-catch语句的问题。果然查到如下资料:[1]【java】try-catch-finally语句中return的执行顺序思考 | iTimeTraveler[2]原创 2021-10-15 10:52:10 · 137 阅读 · 0 评论 -
Glide无法显示图片问题解决
这几天,碰到一个诡异的问题,发现原来Android上好好的图片,无法显示了。经过代码比对,也一直找不到问题。没办法,只好调试代码吧,发现让图片显示的程序为: Glide.with(mContext).load(FileDataUrl + TaskImage + mLst.get(position).getImg()).thumbnail(0.1f).into(myHolder.mimage);于是,怀疑这部分代码是不是有问题。查询相关说明:Glide的使用说明如下:Glide原创 2021-08-31 14:27:08 · 5590 阅读 · 0 评论 -
条件判断时,switch还是if
switch和if应该是两个最有名的条件判断的关键字,很多人也对何时使用这两个关键字不清楚。传统上,很多学习使用swtich和if的都是从C语言开始的,由于swtich本身bu'z原创 2021-06-17 15:42:34 · 826 阅读 · 0 评论 -
由互斥事件和独立事件谈if语句(if-else语句)的写法
if语句是软件工程师进行编程时,常用到的一种语句类型;if语句为代表的条件语句,和顺序语句、循环语句,并称程序中三大类型语句。但非常遗憾的是,很多工程师即使工作好多年,依然xie'bu'hi...原创 2021-06-03 09:59:35 · 887 阅读 · 0 评论 -
互联网服务:从单一应用到微服务
1.概述 互联网是20世纪最伟大的发明之一。1975年,美国布鲁克林的罗伯特·卡恩发明了TCP/IP协议;后来,美国国防部高研署(DARPA)将TCP/IP的软件提供给加利福尼亚大学Berkeley分校后,TCP/IP很快被集成到Unix中,同时出现了许多成熟的TCP/IP应用程序接口(API)。这个API称为Socket接口。TCP/IP协议和Socket套接字奠定了互联网的发展。 互联网的最伟大之处在于:把单一的世界通过一种叫做网络的方式连接在一起。凭这一点,信息可以互联...原创 2020-08-25 19:00:57 · 601 阅读 · 1 评论 -
CORBA、IDL、COM和Protocol Buffer
1.CORBA CORBA是一种标准,是公共对象请求代理结构(Common Object Request Broker Architecture),是由对象管理组织(Object Management Group,缩写为OMG)标准化的一种规范体系。 对象管理组织是一个国际的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范。OMG是由包...原创 2020-01-19 19:12:16 · 1692 阅读 · 0 评论 -
protocol buffer与json对比
1.JSON与XML在传统的传输中,JSON与XML是两种常见的格式。我在《由图与数的关系说起——兼谈XML语言的好处》(https://blog.csdn.net/wangzhezhilu001/article/details/51979372/)中说过,XML本质是树,可以方便处理不同层级的关系。在XML之后,JSON逐渐成为数据传输的重要形式,JSON也是一种树形结构,与XML相比,...原创 2019-06-14 13:00:24 · 2144 阅读 · 0 评论 -
Protocol buffers学习
1.protobuf是什么和作用 Protocol buffers是一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议,与XML相比,Protocol buffers序列化后的码流更小、速度更快、操作更简单。 Protocol buffers的使用方法如下: 1)使用序列化的数据结构定义(即用.proto文件定义); ...原创 2019-06-11 19:33:39 · 259 阅读 · 0 评论 -
android应用调用高德地图提示INVALID_USER_SCODE
研发部一个小伙伴制作了一个Android应用,其中调用了高德地图接口。代码上传到Git库以后, 我在我本地生成应用,发现地图无法选取,应用所获地图列表是空。于是,进行跟踪定位。首先想到的,是我本地的环境有问题。我本地的IDE,即Android Studio的版本为2020-3-1,而小伙伴的IDE为2.2.2。我以为是我本地的IDE问题,于是,进行IDE修改,安装成了Android Studio 2.2.2。然后,发现问题依旧。继续调试,发现问题依旧。继续看,发现有如下错误:“用户MD5安全码未通过原创 2021-05-07 16:13:39 · 2533 阅读 · 0 评论 -
Android10.0上传照片卡死
今日在测同事写的Android程序APP,发现APP在本人的手机上使用拍照出问题了:点击拍照,直接卡死。笔者手机由于手贱,进行升级,现在版本是Andoid10.0。于是,用Android Studio进行调试;笔者以前也学过Android,但其实对Android属于半通不通状态。因此,笔者决定把所有定位过程写一下,正好给懂研发,但不懂新项目的人提供一些解决问题的思路。首先,决定先找到业务入口。查询到相关业务的关键字符以后,在整个程序中,搜关键字符,并在可能的部分打下断点。然后,进行调试。笔者原创 2021-04-12 18:58:13 · 403 阅读 · 0 评论 -
C#匿名函数导致未将对象引用设置到对象的实例错误
匿名函数应该是由数学家阿隆佐·邱奇(Alonzo Church,1903年6月14日-1995年8月11日,美国数学家)在20世纪30年代首次发表的。匿名函数的基础是lamda演算,lambda演算作为一种广泛用途的计算模型,可以清晰地定义什么是一个可计算函数,而任何可计算函数都能以这种形式表达和求值,它能模拟单一磁带图灵机的计算过程;尽管如此,lambda演算强调的是变换规则的运用,而非实现它们的具体机器。目前,匿名函数已经广泛的运用在了多种语言上,报考LISP、C++、JAVA、C#和python。原创 2021-01-28 16:32:26 · 218 阅读 · 0 评论 -
layui之laydate组件简介
1.layui之laydate组件是什么 layui是一个编程大神贤心所作的前端框架。laydate是layui的日期组件。2.layui组件的运用1)基础参数选项通过核心方法laydate.render(options)来设置参数,也可以通过方法laydate.set(options)来设定全局基础参数。2)绑定元素类型:String,默认:无。对必填项进行绑定,值一般为选择器,或DOM对象。laydate.render({ elem: '#test' /...原创 2020-12-21 14:29:38 · 13543 阅读 · 0 评论 -
网页日志中显示The key “target-densitydpi“ is not supported.
自己运行一个网页,发现在日志里显示The key "target-densitydpi" is not supported.查了下相关资料,发现:target-densitydpi属性现已弃用。具体参考https://petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/原话是这样的“Support for target-densitydpi in the viewport meta ta原创 2020-12-18 19:14:47 · 12282 阅读 · 3 评论 -
圈复杂度及其运用
1.圈复杂度的定义 圈复杂度是由Thomas J. McCabe, Sr. 在1976年提出的概念,用于判断代码复杂度。圈复杂度(Cyclomatic complexity)又称为条件复杂度或循环复杂度,用于衡量要给模块判定结构的复杂程度;数量上表现为独立的现行的路径条数,也可理解为覆盖所有的可能情况的最少使用的测试用例数。2.圈复杂度的计算方法 圈复杂度的概念计算方法有3种。 1)控制流程图 ...原创 2020-12-01 17:01:02 · 2034 阅读 · 1 评论 -
JAVA中一个类的main函数调用另一个类的main函数
在JAVA中,同一个项目中,是允许多个类的存在main函数的。其实,想一想就明白了,JAVA是真正的面向对象语言;所有程序的运行,都基于类;而每一个类,都应该是完整的。main函数为static函数,在JAVA里,static函数可以直接使用类类型进行调用,也可以实例化一个对象进行调用。也就是说,在JAVA里,可以直接调用另一个类的main函数。当然,需要做的事情是,在运行的时候,需要给JVM指定特定的主类运行。如下图所示(Eclipse中):代码如下:class Supe原创 2020-11-24 15:52:43 · 17124 阅读 · 7 评论 -
System.Web.Mvc HTTP POST接收的数据为空
今天,对一段数据进行了处理,用的是System.Web.Mvc框架的HTTPPost方法,发现接收的数据为空。代码示例如下(示例代码,所以写的不规范):public class AController : Controller { [HttpPost] public AResponse A(ARequest data) { AResponse result = new AResponse (); return result; }原创 2020-11-16 16:15:43 · 481 阅读 · 0 评论 -
C# 常量
最近,在写C#代码,发现一个变量定义为全局的常量似乎是效率更高的一种方式。于是,按照C++的惯常写法,定义了一个const变量,并声明为const的。如下所示:public const string strTest = "Test";编译以后,发现报这个错误“CS0116 命名空间不能直接包含字段或方法之类的成员” ;这明白过来了。C#和JAVA一样,是纯面向对象语言,也就是说,C#里不允许有脱离类定义存在的类型。没办法,只好把该变量定义在一个类里面。但转念一想,如果定义到类里...原创 2020-09-24 19:02:02 · 379 阅读 · 0 评论 -
python全局变量
1.全局变量2.python的全局变量3.Python的全局变量的用法4.Python的全局变量实质原创 2020-09-01 16:32:06 · 17221 阅读 · 2 评论 -
C++ 11 枚举变量
1.枚举变量及其用法 枚举,是C语言的一种基本类型。在C语言中,枚举列举了一组基本的变量,并穷举了所有变量。枚举变量一般用于状态或者事件的穷举。一种常用的方法是:枚举变量标注状态机的状态变化。(见我本人的博客:https://blog.csdn.net/wangzhezhilu001/article/details/107342443) 同时,枚举变量还用于标注有限的变量,防止变量出错。2.C++ 98之前的枚举变量 在C系列语言中,枚举变量虽然存在,但长期...原创 2020-07-17 13:42:22 · 971 阅读 · 0 评论 -
状态机思想及其在程序设计中的运用
1.状态机及状态机思想 状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。 先来解释什么是“状态”(State)。现实事物是有不同状态的,通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个,例如一件事情有开始、运行和结束;事情由开始、运行到结束变换。 状态机,也就是 State Machine ,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。 状态机由几个元素组成: ...原创 2020-07-14 17:18:46 · 797 阅读 · 0 评论 -
由一个错误说const的用法,兼谈编译器
今日,对一个函数进行改写,发现编译错误。原程序和错误如下:std::string getResult(const std::string &strInput, const std::map<std::string, std::string> &mapResult){ return mapResult[strInput]; //错误}我本人仔细想了想,错误原因是这样的:1)map本身的[]操作,从语法上是这样的:如果存在相应key值,则返回对应value;原创 2020-06-03 20:59:02 · 194 阅读 · 0 评论 -
C++11部分新特性
C++11新特性概述 C++11标准是C++语言的重大改动。在C++11之前,C++本身更像C语言,兼容和借用了C语言的很多特性。在C++11之后,C++语言更多是借鉴了JAVA、python等所谓现代语言的特点。经过C++11的标准,C++语言长得更像现代语言,但同时,也导致了C++语言的多种特性:既不像C语言本身那么精炼,又不像真正的纯面向对象语言。C++11之后的C++语言,功能更加复杂,更加多样,也造成了C++的编译器过重(几乎在所有语言中,C++编译器是运行最慢的)。 ...原创 2020-06-03 14:45:12 · 362 阅读 · 0 评论 -
二义性和C++消除二义性
1.二义性 二义性的定义是:“如果文法G中的某个句子存在不只一棵语法树,则称该句子是二义性的。如果文法含有二义性的句子,则称该文法是二义性的。”(该定义来自于百度百科)用通俗的话讲,如果一句话或者一个符号具有两种以上的解释和含义,就说明该话或者符号具有二义性。二义性意味着含义不清和不明确。 在计算机语言中,如果语言具有二义性,必须消除二义性,才能使程序正常运行。...原创 2020-03-26 17:43:20 · 6444 阅读 · 0 评论