自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

面向对象思考

天下难事必作於易。天下大事必作於细。

  • 博客(976)
  • 资源 (24)
  • 收藏
  • 关注

原创 关于C++异常,你必须知道的

本文是作者翻译过C++之父Bjarne Stroustrup的技术文章C++核心准则中有关C++中异常的文章之后的总结,希望读者通过本文可以对C++异常有一个全面,快速的了解:异常处理机制希望解决的问题为了使用错误处理系统化,健壮和不繁琐。例如下面的代码:void f2(int i) // Clumsy and error-prone: explicit release{ int* p = new int[12]; // ... if (i < 17) ..

2020-10-24 19:18:21 763

原创 使用30元开发板UNO D1 R32构筑物联网开发环境

本文介绍使用UNO D1 R32(ESP32)开发板构建嵌入式开发环境的方法。ESP32是啥?用厂家的话来讲,ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用场景和不同功耗需求。以下是ESP32的主要参数:项目 数值 核心数 2 架构 32bit Wifi Yes 蓝牙 Yes 内存 512K 闪存 16M GPIO 36 通讯协议 SPI, I.

2020-05-10 19:32:36 5714 2

原创 使用Eclipse构建树莓派远程调试环境

本文内容和前两篇文章具有连续性,请根据需要阅读。在Ubuntu主机端使用gdb-multiarch实现远程调试之后,接下来使用说明在Eclipse中实现远程调试的方法。构建远程调试配置信息通过菜单选择[Run]-[Debug Configurations...]启动调试配置信息设定画面之后,选择[C/C++ RemoteApplication]项目之后,鼠标右键选择[New Co...

2020-04-10 19:34:31 1559 1

原创 使用树莓派构建嵌入式C++调试环境

本文以使用树莓派4b为例说明构建嵌入式C++执行环境。树莓派本身可以到各大购物网站直接购买,价格大概300-500元不等。之所有选择树莓派是因为它的系统比较完善,容易上手。但是需要实现说明的是本文说明的大部分内容并不仅限于树莓派。准备树莓派下载镜像文件打开树莓派官方网站的系统镜像下载网页:https://www.raspberrypi.org/downloads...

2020-04-09 19:47:04 4668

原创 ARM C++交叉编译环境构建方法

本文说明在Linux主机上构建ARM开发用最新C++编译环境的方法。安装Ubuntu主机安装虚拟机软件从VitualBox官网下载最新的VirtualBox。https://www.virtualbox.org/wiki/Downloads具体的安装包根据正在使用的操作系统决定。安装Ubuntu操作系统下载并安装Ubuntu交叉编译环境我们选择...

2020-04-08 20:07:25 6496

原创 永远无法在游泳池里学会海战--《实战Python设计模式》新书介绍

《实战Python设计模式:实战Python设计模式:可复用面向对象软件开发实践》是本人根据自己在实际开发工作中积累的有关Python语言,设计模式的经验,想法写成的一本书,由电子工业出版社出版。谨此推荐给各位。作为可复用面向对象软件开发的基础,设计模式集合了很多软件开发领域专家的宝贵经验和良好实践,其重要性不言而喻。但是,学习设计模式的过程并不是一帆风顺的,对于缺乏面向对象开发经验的设计者...

2020-03-29 09:58:38 1736

原创 用VisualStudio2019预览版体验C++20新功能

最近的连载中有很多内容涉及到C++20中的内容,例如concept等。但是由于C++20还属于新生事物,不仅可以参考的例子少,找到一个可以体验C++20功能的开发环境都困难。本文介绍使用微软VisualStudio2019预览版体验C++20新特性的方法。下载并安装VisualStudio体验版以下是体验版和正式版的下载地址,和正式版稍有不同:https://visualstud...

2020-01-26 20:42:38 6691

原创 30分钟理解关键链--《突破项目的瓶颈--关键链 》读书笔记

每一个PMP或者是准PMP都会知道关键链这个词。但能说清楚的应该没有多少。会用的估计更不会超过1/100。希望本文能是大家不用通读原著而理解关键链的概念,只用30分钟。原著以小说的形式说明的管理学中的关键链的原理及运用方法。小说写得生动,活泼。在不知不觉间,书就读完了。但是在现在的时代快餐流行,应该有很多人希望能够有更快的方式对关键链有个大概的了解。于是按照个人的理解,总结了一下。

2013-04-12 20:43:37 22844 3

原创 Android函数计算器(含源码,Android测试工程)

1.Android环境下自己写的函数计算器的源代码,工程文件2. Android环境下的单元测试工程及源代码。http://download.csdn.net/detail/craftsman1970/39366983.已经上传到Anroid电子市场,可直接安装。https://market.android.com/details?id=calculator.xwg&feature

2011-12-18 14:41:11 7743 3

原创 Android歌词秀1.5版

功能简介:0.本软件可以在Android2.1以上(2.1,2.2,2.3测试通过)执行。1.自动读取与音乐相同位置的歌词文件。2.根据播放进度,表示当前的歌词3.按歌词语句快进,快退。5.选择不同于音乐文件名得歌词文件。(1.5版新增功能)6.选择歌词文件的编码格式,支持UTF-8和GB2312(1.5版新增功能)7.同时选择多个播放文件(1.5版新增功能

2011-11-27 19:48:51 7857 9

原创 Android小游戏-九宫格,有源码的哦!

为了学习Android,自己编了一个小游戏,就是9宫格。特点:1.自动分析可选数字。2.自动判断结果3.支持Undo功能(Command设计模式)4.支持自编题目。 功能简介主画面功能:1.点击项目选择题目2.按【Menu】键新

2011-08-10 00:18:14 9402 17

原创 2进制,8进制和16进制

2进制,8进制和16进制

2023-01-16 21:04:14 260

原创 02-字符串哈希

字符串哈希原理和用途

2022-11-20 16:20:17 278

原创 01-简单字符串题目

信息竞赛中的字符串处理,实际开发中应该也可以借鉴

2022-11-13 21:05:25 309

原创 最简单的C++程序

C++程序基本构造定义和使用变量

2022-10-30 20:41:28 144

原创 01 准备开发环境

介绍安装VS2022 C++开发环境的过程。

2022-10-23 15:04:37 210

原创 EA&UML日拱一卒 设定时间的范围和单位

本文简述在时序图中设定时间的范围和单位。

2022-10-16 15:12:37 213

原创 EA&UML日拱一卒 在时间线之间进行交互

今天继续说明多个时间线之间进行交互的方法。时间观察点相当于在时间线上打一个桩(这里是th),接下来可以以这个时间桩为参照定义时间约束(th..th+0.1S)。本例的含义就是半按快门操作启动对焦过程,对焦过程必须在半按快门0.1S之内启动。

2022-10-07 15:16:37 198

原创 EA&UML日拱一卒 为时序图指定触发事件和时间约束

我们以数码相机为例继续说明时序图的功能。

2022-09-25 19:35:22 283

原创 使用Python3.10以上执行《实战Python设计模式》示例程序时,发生Iterable导入错误

使用Python3.10以上执行《实战Python设计模式》示例程序时,发生Iterable导入错误

2022-09-18 14:05:20 415

原创 EA&UML日拱一卒 时序图入门

时序图侧重于沿线性时间轴在生命线内和生命线之间变化的条件。它描述了单个类目的行为和类目之间的交互,将注意力集中在导致生命线的建模条件发生变化的事件发生的时间。

2022-09-12 08:43:40 911 1

原创 EA&UML日拱一卒 总目录

EA&UML日拱一卒 总目录

2022-09-04 08:37:51 736

原创 EA&UML日拱一卒 历史状态

有一种情况,状态没有被进入过(即不存在之前的历史)或者已经到达了终止状态,如果存在与终止于历史伪状态上的迁移,可以使用缺省历史机制使之强制迁移到一个特定的子状态。历史状态是一个与组合状态中区域有关的便利的概念,通过这个概念一个区域可以保持自己前一次退出时的状态构成的痕迹。深历史(deepHistory)代表的是包含它的区域的完整的状态构成。其效果使终止于deepHistory历史伪状态的迁移产生的效果等同于如同迁移终止于被保存的状态构成的最里层中的某个子状态,也包括沿途遇到的所有入口行为的执行。...

2022-08-28 19:35:33 612

原创 EA&UML日拱一卒 用例扩展关系

前面到文章说明了取款和转账的用例分析,除了共同的处理之外,还分别包含了执行转账动作和执行取款动作两个用例。也有一些客户,可能希望在执行正常的转账或取款动作的同时,将执行过的动作记入动作日志中。被扩展用例的定义独立于扩展用例,其含义也独立于扩展用例。相反,扩展用例定义了一组模块化的行为增量,这些增量可以在特定条件下增强被扩展用例的执行。如果是【额外】的,就是扩展关系。扩展是从扩展用例到被扩展用例的关系,它指定扩展用例中定义的行为如何以及何时可以插入到被扩展用例。图中黄色的是扩展用例,绿色的是被扩展用例。

2022-08-21 15:47:17 907

原创 EA&UML日拱一卒 用例泛化关系

使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。给定一个类目,其指向一般类目(泛化方向)的传递闭包通常统称为泛化类目,其指向特殊类目(泛化的反方向)的传递闭包通常统称为特化类目。增加具象用例的种类在一个完全不考虑具体场景(例如可以是一个和银行完全无关的场景)的情况下进行,从而可以开发出更加通用的用例。将上述3种形式的认证进行泛化可以得到一个抽象的用户认证用例。除了密码认证,还可以有指纹认证:​​​​​​​。也可以有面部识别:​​​​​​​。...

2022-08-13 15:03:44 600

原创 EA&UML日拱一卒 用例包含关系

由于包含关系的主要用途是重用公共部分,因此基本用例中剩下的部分通常并不完整,需要和包含的部分结合才有意义。可以看到我们将一个转账用例分解为九个小的用例,而这里的取款用例和九个用例之间的关系就是包含关系也就是说转账用例包含九个小用例。包含(Include)是两个用例之间的有向关系,表示被包含的用例的行为被插入到包含用例的行为中。可以看到,除了绿色的执行去狂动作之外,所有的被包含用例都是在转账用例中出现过的。再看一下取款用例的基本路径​​​​​​​。待机显示​​​​​​​。选择语言​​​​​​​。...

2022-07-31 14:26:22 855

原创 EA&UML日拱一卒 用例图开篇

是作者去年3月份出版的技术书籍,该书利用Python的标准GUI工具包tkinter,通过可执行的示例对23个设计模式逐个进行说明。另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。这些行为涉及之间的相互作用参与者和主体,可能会导致主体状态的变化以及与其环境的通信。一个用例可以包括其基本行为的可能变化,包括异常行为和错误处理。使用Python语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。...

2022-07-27 21:23:58 555

翻译 UML2.51边译边学-组件

系统或其他上下文中的组件之间的接线可以通过使用兼容的简单端口之间的依赖关系来结构化定义,或者在使用和匹配的接口实现之间进行定义,这些接口由组件图中组件上的插座和棒棒糖(参见10.4.4)表示。组件包支持定义逻辑组件(例如,业务组件、流程组件)和物理组件(例如,EJB组件、CORBA组件、COM+和.NET组件、WSDL组件等),以及实现、部署和执行它们的节点。部署定义可以定义参数化组件执行的值。符合标准的工具可以选择支持名为“提供的接口”和“所需的接口”的隔间,按名称列出提供的和所需的接口。...

2022-07-17 16:00:46 576

翻译 UML2.51边译边学-接口

本文是UML规范2.5.1中接口相关部分中文翻译。原文可从https://www.omg.org/spec/UML/2.5.1下载。10.4 Interfaces(接口)10.4.1 Summary(总结)Interfaces declare coherent services that are implemented by BehavioredClassifiers that implement the Interfaces via InterfaceRealizations.接口声明由行为类目实现的一致

2022-07-12 20:35:46 753

翻译 UML2.51边译边学-部署图

本文是UML规范2.5.1中部署图相关部分中文翻译。原文可从https://www.omg.org/spec/UML/2.5.1下载。19.1 Summary(总结)The Deployments package specifies constructs that can be used to define the execution architecture of systems and the assignment of software artifacts to system elements. A

2022-07-03 12:46:45 697

原创 自学HarmonyOS应用开发(75)- 显示拍摄结果

照片拍摄完成接下来的动作就是确认拍照结果。我们的实现方法是对前面文章中用到的文件浏览器功能进行扩展,从而实现一个简单的照片浏览器功能。增加照片浏览器画面照片浏览器画面使用下面的布局。代码中用到的FileListContainer,LayoutSeparator都在之前的文章中有过说明,这里就不再赘述了。和这个布局文件配套的页面文件如下:​​​​​​​准备ListContainer相关类稍微需要说明的是,这个BrowserSlice类会在onStart方法中从Intent参数中获取一个浏览

2022-06-21 20:30:36 292

原创 自学HarmonyOS应用开发(74)- 拍摄照片

断更有一段时间,今天继续。相机准备好了之后,就开始实际拍摄照片。首先稍微回退一下,在打开相机时,我们设置了用于保存图像的listener(以下代码的第2行):当用户按下【拍照】按钮时,架构会触发下面的处理:代码第8行会调用cameraDevice的triggerSingleCapture方法。如果方法被成功执行,下面的saveImage方法会被执行:​​​​​​​如果一切顺利,就可以看到第10行代码显示的"Take photo succeed"提示。就像下面的视频这样:视频到目前为止的内容

2022-06-15 20:11:57 639 1

原创 自学HarmonyOS应用开发(73)- 准备相机(2)

画面布局初始化MainAbilittySlice的初始化代码如下:代码中只是调用了如下的组件初始化代码:​​​​​​​目前这段代码只是为两个按钮指派功能。其中【初始化】按钮的功能如下:​​​​​​​它的功能是初始化相机,有一点需要注意的是:构建params时使用的参数必须和前一篇文章中说明的布局文件中为id:surface_container指定的属性相同。当初始化过程结束后,下面的回调函数会被执行:​​​​​​​的那个surface被成功创建之后,就可以打开相机了:​​​​​​

2022-06-05 19:52:36 509 4

原创 自学HarmonyOS应用开发(72)- 准备相机(1)

相机是手机的常用功能,同时也是许多更高阶功能的基础。本文按步骤详细介绍Harmony应用开发中启动相机的过程。声明相机相关权限相机相关功能可能用到的权限包括:照相机权限,读写存储存储空间权限,访问麦克风权限和获取定位权限。这些权限首先需要在config.json中进行声明。{... "module": {"abilities":[ { "skills": [ { "entities": [ ...

2022-05-28 19:22:00 362

原创 自学HarmonyOS应用开发(71)- 优化目录间迁移体验

通过前面几篇文章,虽然我们实现了在各级目录之间进行切换的功能,但还是有一些不够方便的地方。例如: 返回上级目录之前必须首先当前回到目录的最顶端 退回上级目录之后,总是回到该目录的最顶端。这对于希望继续浏览目录内容的用户很不友好 针对这两个问题,我们采取如下对策: 通过画面顶端的操作区实现返回上级目录功能 每次进入下级目录时记录当前表示位置,从下级目录返回时恢复这个表示位置。 修改后的动作视频如下:演示动作返回上级目录按钮画面最上面操作区的布局文件中和

2022-05-22 20:27:31 302 1

原创 自学HarmonyOS应用开发(70)- 解决ListContainer默认优化问题

列表项布局表示问题使用FileBrowser在目录之间进行切换时,发现了一个问题:本来只应该在出现在返回上级目录列表项上面的<<按钮会按照一定的频率出现在其他列表项上。具体请参见下面的视频:经过各种尝试之后得到的结论是问题出在下面的代码:@Overridepublic Component getComponent(int i, Component component, ComponentContainer componentContainer) { HiLog.info(

2022-05-15 19:55:54 350 1

原创 自学HarmonyOS应用开发(69)- 获取并表示手机目录结构

和文件存储比较起来,一般用户更关心的是文件系统的目录结构。本文介绍获取和表示目录结构的方法。先看演示视频:演示视频File类这是一个Java中的标准类,提供跨平台的文件访问功能。本文主要使用文件类的下面几个功能:方法名 功能 listRoots 列举文件系统中根目录,Linux系统中只有一个根目录 listFiles 列举指定目录中的所有目录和文件 isDirectory 判断当前文件是否问目录 BrowserItem类目录项的基类,功能是封装

2022-05-08 19:26:06 1490 1

原创 自学HarmonyOS应用开发(68)- 获取并表示文件系统信息

接下来我们想通过一个文件浏览器应用,练习文件系统操作,文件表示等功能,本文首先说明获取并表示文件系统内容的方法。还是先看演示视频:演示视频构建FileStore表示画面首先为准备画面布局:​​​​​​​<?xml version="1.0" encoding="utf-8"?><xwg.filebrowser.DynamicLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="m

2022-04-24 19:38:55 1179

原创 自学HarmonyOS应用开发(67)- 自定义布局(2)

布局文件示例接下来使用一个实际的布局为例,介绍动态调整组件高度的实现方法。布局内容如下:<?xml version="1.0" encoding="utf-8"?><xwg.filebrowser.DynamicLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:background_

2022-04-13 19:30:12 469

原创 自学HarmonyOS应用开发(66)- 自定义布局(1)

Harmony应用开发文档中为Java开发者提供了6种UI布局,可以满足开发者的大部分需求。但是有一个问题是:这些布局一旦显示,用户便无法进行调整。我们开发一个自定义布局来解决这个问题。以下是效果演示:效果演示内容比较多,今天是第一部分,先实现一个按比例分配显示空间的布局。定义DynamicLayout类自定义布局类除了要继承ComponentContainer类的功能之外,还要实现EstimateSizeListener和ArrangeListener接口的功能。​​​​​​​

2022-04-07 20:08:24 1246

Aduino UNO D1 R32 硬件包

Aduino UNO D1 R32开发环境构筑时使用的硬件开发包,包含2020年3月的最新文件: arduino-esp32-master.zip esptool-2.6.1-windows.zip mkspiffs-0.2.3-arduino-esp32-win32.zip xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip

2020-03-15

C++11新特性文章汇总

本文件中汇集了博客中关于·C++11x新特性的所有文章。

2018-10-25

多任务编程超入门-(11) 学以致用

多任务编程超入门-(11) 学以致用的示例工程,代码

2017-07-26

多任务编程超入门-(10) 线程同步,数据交换的序列图

多任务编程超入门-(10) 线程同步,数据交换的序列图

2017-07-23

多任务编程超入门-(9) 线程同步

多任务编程超入门-(9) 线程同步 示例代码,QT工程

2017-07-19

多任务编程超入门-(8) 递归互斥量

多任务编程超入门-(8) 递归互斥量 示例工程,代码

2017-07-17

多任务编程超入门-(5) 对症下药

多任务编程超入门-(5) 对症下药 示例代码

2017-07-11

多任务编程超入门-(4) 发生了什么? 示例代码

多任务编程超入门-(4) 发生了什么? 示例代码

2017-07-10

多任务编程超入门-(4) 发生了什么?

多任务编程超入门-(4) 发生了什么? 出现的QT工程文件,示例代码

2017-07-10

多任务编程超入门-(2) 线程协作的理想和现实 示例代码

多任务编程超入门-(2) 线程协作的理想和现实 示例代码

2017-07-09

Android函数计算器(含源码,测试工程)

原创Android环境下的计算器的源代码,工程文件 Android环境下的单元测试工程及源代码。

2011-12-18

Android歌词秀源代码及工程文件

Android歌词秀源的代码及工程文件。适用Android2.1以上系统

2011-11-27

Anroid歌词秀1.5版

Anroid歌词秀1.5版的安装包,下载后可直接安装在Android(版本2.1以上)上。

2011-11-27

Qt环境下开发的计算器源码

Qt环境下开发的计算器源码 支持三角函数,反三角函数,求和,平均值,乘方,开方,对数 当然还有包含嵌套的四则运算。

2011-10-14

Qt开发的计算器(可执行文件)

利用Qt开发的计算器的可执行文件。 可以直接在Widnows环境中执行。

2011-10-14

[Android应用开发记录-字幕播放器(5)完善]附属工程,源码

[Android应用开发记录-字幕播放器(5)完善]附属工程,源码 1.将操作按钮改成图标方式 2.有电话接入时暂停播放。 3.通过线控按钮控制播放,暂停,上一句歌词,下一句歌词功能。(Android2.2以上版本) 4.拔掉耳机线时自动暂停(Android2.2以上版本) 5.在【正在进行中】画面中表示启动用快捷方式 6.改善(没有解决)定位歌词不准确(选中的歌词的前面一段时间不能播放)

2011-09-07

Android应用开发记录-字幕播放器(5)完善附带工程,源码

Android应用开发记录-字幕播放器(5)完善附带工程,源码 1.将操作按钮改成图标方式 2.有电话接入时暂停播放。 3.通过线控按钮控制播放,暂停,上一句歌词,下一句歌词功能。(Android2.2以上版本) 4.拔掉耳机线时自动暂停(Android2.2以上版本) 5.在【正在进行中】画面中表示启动用快捷方式 6.改善(没有解决)定位歌词不准确(选中的歌词的前面一段时间不能播放)

2011-09-07

LyricPlayer类图

目前内容: LyricPlayer全体类图 SaftyTimer 类图第一版,持续更新中。

2011-09-04

LyricPlayer for Android 2.1

对软件进行如下变更后生成的安装文件。 将Android版本调整为2.1 按钮换成ImageButton 通过点击直接选择歌词播放

2011-09-03

Android应用开发记录-字幕播放器(4)完成

<<Android应用开发记录-字幕播放器(4)完成>>配合的工程文件,源码,用于动作确认的歌曲及歌词 另外,工程是针对Android2.2建立的。 如果想在Android2.1运行,可以修改工程文件或从下面地址下载针对2.1做的安装包,应该可以直接安装。 http://download.csdn.net/source/3571257

2011-08-28

Android应用开发记录-字幕播放器(3)工程包

用于【博客:Android应用开发记录-字幕播放器(3)使用的Service的音频播放器的】的工程文件及源码

2011-08-18

Android学习-字幕播放器(2)先来一个音频播放器

Android学习-字幕播放器(2)的工程和源代码

2011-08-13

Android小游戏-9宫格类图类图

Android小游戏-9宫格类图类图,配合源码、 请用EA(Enterprise Architect)打开

2011-08-11

Android下的原创小游戏-九宫格

为了学习Android,自己编了一个小游戏,就是9宫格。 功能: 1.自动分析可选数字。 2.Undo(用了Command设计模式) 3.支持自编题目。 内容: Andorid工程,源码

2011-08-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除