自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rain_Mic的博客

学习之旅

  • 博客(113)
  • 资源 (4)
  • 收藏
  • 关注

原创 C++并发与多线程笔记八:async、future、packaged_task、promise

本文接上文 C++并发与多线程笔记七:condition_variable、wait、notify_one/all 的内容,主要记录 async、future、packaged_task、promise 概念以及用法。

2023-04-09 15:45:12 591 1

原创 C++并发与多线程笔记七:condition_variable、wait、notify_one/all

记录条件变量std::condition_variable、wait、notify_one、notify_all 概念以及用法

2023-03-12 11:58:54 605

原创 CentOS 7.6基于Nginx静态服务器搭建个人网站

把个人网站从 GitHub Pages 迁移到腾讯云服务器,本文就针对这个过程做个笔记。

2022-09-18 17:03:18 1797

原创 建站过程中的踩坑记录:自定义域名、百度收录与备案

最近折腾了一下个人网站:https://liuyuxin.site/,主要是自定义域名、百度收录博客内容以及备案相关的事情,这里做个笔记存档。

2022-09-18 16:59:01 2393

原创 C++并发与多线程笔记六:单例模式下的数据共享

本文主要纪录单例设计模式下的数据共享以及 stb::call_once。

2022-09-18 16:42:34 711

原创 重构学习(四):代码的坏味道

之前的文章对重构的本质和基本原则做一个总结记录,今天这篇文章主要是总结一下"何时重构",即该在时候才需要去重构?什么样的代码需要重构?

2022-08-28 19:22:34 1793

原创 基于Algolia实现网站全文搜索

借助第三方提供的免费搜索服务 Algolia DocSearch 来实现个人网站的全文搜索。

2022-07-29 20:36:20 3886

原创 重构学习(三):代码重构的原则

本文接上两篇笔记,对重构的本质和基本原则做一个总结记录,梳理要点并加深印象。

2022-07-24 20:44:56 1779

原创 【学习笔记】程序的编译和链接

在开发程序的过程中,编译和链接是一定会经历但很少被重视的步骤,通常这两个步骤会被 IDE 封装,开发者只需一键构建即可,但遇到错误(尤其是链接相关的错误)时,如果不了解编译和链接的原理,就很难定位并解决问题。本文则尝试分析并记录程序编译和链接的整个过程。...

2022-07-03 16:34:34 374

原创 【学习笔记】C++并发与多线程笔记五:unique_lock详解

本文接上文 【学习笔记】C++并发与多线程笔记四:互斥量(概念、用法、死锁) 的内容,主要纪录 `unique_lock` 的使用方法以及原理。

2022-06-22 22:28:04 1073

原创 【读书笔记】从零开始了解重构(二)

上篇笔记 【读书笔记】从零开始了解重构(一)主要介绍了何为重构、重构的准备工作、以及一些拆分函数的方法,比如提炼函数、查询取代临时变量、内联变量手法。本文紧接着上一篇笔记内容,继续以戏剧演出团计算收费的例子来了解重构。...

2022-06-14 22:28:44 293

原创 AWTK绘制原理的分析总结

在学习、使用以及完善 AWTK 的过程中,我逐渐对 AWTK 的绘制流程即原理有了大致的了解,在此非常感谢领导和同事对我的指导与培训,本文对学到的东西做个记录。

2022-05-17 22:29:39 2165 1

原创 【工作笔记】将GIF拆解成序列帧给video_image控件使用

将GIF拆解成序列帧给video_image控件使用

2022-05-03 13:11:07 1204

原创 【工作笔记】IOT.js适配AWorks平台通用外设接口(6):UART

IOT.js适配AWorks平台通用外设接口(6):UART

2022-05-02 18:23:03 1104

原创 【工作笔记】IOT.js适配AWorks平台通用外设接口(5):SPI

IOT.js适配AWorks平台通用外设接口(5):SPI

2022-05-02 17:34:07 1183

原创 【工作笔记】IOT.js适配AWorks平台通用外设接口(4):PWM

IOT.js适配AWorks平台通用外设接口(4):PWM

2022-04-17 15:49:30 1971

原创 【工作笔记】IOT.js适配AWorks平台通用外设接口(3):I2C

IOT.js适配AWorks平台通用外设接口(3):I2C

2022-04-17 14:51:32 2025

原创 【工作笔记】IOT.js适配AWorks平台通用外设接口(2):GPIO

IOT.js适配AWorks平台通用外设接口(2):GPIO

2022-04-17 14:14:55 1253

原创 【工作笔记】IOT.js适配AWorks平台通用外设接口(1):ADC

IOT.js适配AWorks平台通用外设接口(1):ADC

2022-04-17 11:40:01 1892

原创 【学习笔记】C++并发与多线程笔记四:互斥量(概念、用法、死锁)

本文接上文 【学习笔记】C++并发与多线程笔记三:数据共享 的内容,主要包含互斥量的基本概念、用法、死锁演示以及解决方案。

2022-04-05 21:14:18 1595

原创 【学习笔记】C++并发与多线程笔记三:数据共享

本文接上文【学习笔记】C++并发与多线程笔记二的内容,主要包含创建多个线程、数据共享问题分析和案例代码。

2022-04-02 20:35:52 1182

原创 【学习笔记】C++并发与多线程笔记二:线程传参

本文接上文 【学习笔记】C++并发与多线程笔记一 的内容,主要包含线程传参详解,detach()的坑以及成员函数做线程函数。

2022-03-22 22:49:24 1330

原创 【读书笔记】从零开始了解重构(一)

重构读书笔记

2022-03-13 18:16:18 833

原创 【学习笔记】C++并发与多线程笔记一:基本概念和用法

并发与多线程的基本概念与C++11中的实现。

2022-03-06 00:04:50 584

原创 渐进式Web应用(PWA)的Service Worker缓存机制

目录一、前言二、渐进式 Web 应用(PWA)三、ServiceWorker四、ServiceWorker启动过程五、实现ServiceWorker5.1 注册5.2 安装六,借助VuePess的插件实现ServiceWorker一、前言近期在研究网页缓存机制的时候学习了一下渐进式 Web 应用(PWA)中了 ServiceWorkers,并在 AWTK在线帮助文档 中实践应用了一下,在此做个记录。二、渐进式 Web 应用(PWA)PWA全称 Progressive Web App,即渐进式Web应

2022-01-23 16:50:20 1283

原创 设计模式学习(二十四):访问者模式

目录一、前言二、访问者模式三、示例介绍四、结构与参与者五、协作六、简单的示例代码七、总结7.1 优缺点7.2 应用场景一、前言设计模式的基础学习进入了尾声,本周在家看了一下《设计模式:可复用面向对象软件的基础》中介绍的最后一个设计模式——访问者模式,在此写篇博客记录一下。虽然通过阅读《设计模式:可复用面向对象软件的基础》以及与同事开展研讨会学习了各种设计模式,但这还远远不够,后续需要在实践中应用这些设计模式,写出易扩展、易用、易维护的代码,提高自己的开发能力。二、访问者模式访问者模式:表示一个作用

2021-12-26 15:53:39 507

原创 Pandoc+TeXLive实现Markdown转PDF

文章目录一、前言二、Pandoc2.1 安装 Pandoc2.2 基本用法2.3 转换原理三、TeXLive3.1 TeX3.2 LaTeX3.3 TeX 发行版本3.4 安装TeXLive3.5 Latex基本语法3.6 LaTeX 相关资料分享四、转换技巧4.1 处理中文4.2 使用 YAML header 添加文档信息4.3 代码高亮4.4 超链接样式4.5 给 section 添加编号4.6 给文档添加目录4.7 修改PDF的页边距4.8 代码、引用或列表渲染失败4.9 代码加上背景色4.10 使用

2021-12-12 20:11:47 2243

原创 VuePress基本用法与踩坑记录

文章目录一、前言二、VuePress是什么?三、环境搭建四、基础配置4.1 目录结构4.2 导航栏4.3 侧边栏4.4 自动生成侧边栏五、自定义主题六、避坑指南6.1 侧边栏无法正常使用6.2 生成静态网页时出现解析错误6.3 部署站点无法使用相对路径6.4 预览或编译时内存溢出(OOM)6.5 页面刷新异常或点击前进/返回异常:6.6 生成静态网页时内存消耗过多一、前言近期由于工作需要,接触了一些静态网页生成器,选中了 VuePress,具体可以先看看:云文档托管方案分析。二、VuePress是什么

2021-12-05 21:52:44 6912 3

原创 C/C++测试程序运行时所需的栈大小

文章目录一、前言二、测试原理2.1 alloca 函数2.2 原理分析三、示例代码四、注意事项一、前言由于工作需要,最近在研究怎么测试程序用掉的栈大小,这里感谢领导给我提供了一个很不错的思路,只需要要一个 alloca 函数就能搞定,在此记录分享一下,以备不时之需。二、测试原理2.1 alloca 函数在讲原理之前,我们需要先了解一个关键的函数—— alloca 函数。alloca 函数是一个内存分配函数,与malloc、calloc、realloc类似,但是注意一个重要的区别:alloca 是

2021-11-21 20:34:25 2344

原创 云文档托管方案分析

文章目录一、前言二、网页生成器的选择2.1 VuePress2.2 Sphinx2.3 Docusaurus2.4 结论三、支持全文搜索3.1 VuePress 自带插件3.1.1 vuepress-plugin-fulltext-search3.1.2 vuepress-plugin-flexsearch3.2 第三方免费搜索服务 Algolia DocSearch3.3 结论四、生成 PDF 文档的方案4.1 使用 Sphinx4.2 mdpdf4.3 markdown-pdf4.4 Pandoc +

2021-11-14 13:31:28 1069

原创 设计模式学习(二十三):模板方法

目录一、前言二、模板方法三、示例介绍四、结构与参与者五、协作六、总结6.1 优缺点6.2 应用场景一、前言近期参加了第十七次设计模式研讨会,主题是模板方法,接下来我们来看看该模式的具体内容。二、模板方法模板方法:在模板方法中,一个抽象类公开定义了执行它的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类定义的方式进行。这种类型的设计魔术属于类行为型模式。意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算

2021-11-07 20:15:46 99

原创 设计模式学习(二十二):策略模式

目录一、前言二、策略模式三、示例介绍四、结构与参与者五、协作六、简单的示例代码七、总结7.1 优缺点7.2 应用场景一、前言近期参加了第十六次设计模式研讨会,主题是策略模式,接下来我们来看看该模式的具体内容。二、策略模式策略模式:在状态模式中,一个类的行为或其算法可以在运行时修改,它属于行为模式。在该模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context对象,策略对象改变context对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本

2021-10-24 19:53:43 129

原创 设计模式学习(二十一):状态模式

目录一、前言二、状态模式三、示例介绍四、结构与参与者五、协作六、简单的示例代码七、总结7.1 优缺点7.2 应用场景一、前言国庆假期前参加了第十五次设计模式研讨会,主题是状态模式,接下来我们来看看该模式的具体内容。二、状态模式状态模式:在状态模式中,类的行为是基于它的状态改变的,它属于行为模式。意图:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。主要解决:该模式主要用于解决对象行为依赖于它的状态(属性)的问题,可以根据对象的状态改变而改变对象的行为。比如,TCP协议网

2021-10-07 18:50:06 136

原创 设计模式学习(二十):观察者模式

目录一、前言二、观察者模式三、示例介绍一、前言本周参加了第十四次设计模式研讨会,主题是观察者模式,接下来我们来看看该模式的具体内容。二、观察者模式观察者模式:当对象间存在一对多关系时,则使用观察者模式。比如当一个对象被修改时,则会自动通知依赖它的对象,该模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:该模式主要用于解决一个对象状态改变时通知其他对象的问题,而且要考虑到易用性和低耦合,保证高度的协作。比如

2021-09-22 22:12:14 167

原创 嵌入式Linux(awtk-linux-fb)双屏显示

目录一、前言二、双屏显示的原理三、如何实现双屏显示3.1 确认两个屏幕的驱动文件3.2 初始化时打开 LCD 驱动文件3.3 重载 lcd_t 对象的 flush 函数3.4 实现双屏图像拷贝一、前言近期尝试了在嵌入式 Linux 上适配双屏显示,即外接两个显示屏,同步显示 GUI 界面,其难点主要在于从 Flush 时将图像拷贝到两个 LCD 设备中,本文做个记录。注意:本文基于 AWTK 针对 arm-linux 平台的移植适配双屏显示。AWTK 是为嵌入式系统开发的 GUI 引擎库,GitH

2021-09-05 19:36:39 1093

原创 设计模式学习(十九):备忘录模式

目录一、前言二、备忘录模式三、示例介绍四、结构与参与者五、协作六、总结6.1 优缺点6.2 应用场景一、前言本周参加了第十三次设计模式研讨会,主题是备忘录模式,接下来我们来看看该模式的具体内容。二、备忘录模式备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。主要解决:该模式主要用于解决允许用户取消操作或者从错误中恢复操作的需求。比如,

2021-09-05 18:12:39 120

原创 设计模式学习(十八):中介者模式

目录一、前言二、中介者模式三、示例介绍四、结构与参与者五、简单的示例代码六、总结6.1 优缺点6.2 应用场景一、前言本周参加了第十二次设计模式研讨会,主题是中介者模式,接下来我们来看看该模式的具体内容。二、中介者模式中介者模式:它用来降低多个对象和类之间的交互复杂性,它提供了一个中介类,该类通常处理不同类之间的交互,并支持松耦合,使代码易于维护。意图:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。主要解决:如果对象

2021-08-15 14:31:39 151

原创 AWTK G2D 硬件加速移植案例

目录一、简介二、AWTK 默认自带的 STM32 的移植分析三、NXP 的 PXP 的硬件加速移植教程一、简介AWTK是 ZLG 开发的开源 GUI 引擎,官网地址:https://www.zlg.cn/index/pub/awtk.html。G2D 硬件加速是指将计算量较大的图像处理工作分配给专门的硬件外设来处理,减轻 CPU 的计算量,以此提高图像绘制的性能。不同硬件平台的硬件加速外设不一样,其实现方法也有区别,在 AWTK 中,用户需要实现 awtk/src/base/g2d.h 文件中的相

2021-08-08 20:03:56 1083

原创 设计模式学习(十七):迭代器模式

目录一、前言二、迭代器模式三、示例介绍四、结构与参与者五、简单的示例代码六、总结6.1 优缺点6.2 应用场景一、前言本周没有开展设计模式研讨会,但周末学习了迭代器模式,此处做个记录。二、迭代器模式迭代器模式:它用于顺序访问集合对象的元素,用户不需要知道集合对象的底层表示。意图:提供一种方法顺序访问一个聚合对象中各个元素 , 而又不需暴露该对象的内部表示。主要解决:该模式主要解决以不同的方式来遍历整个整合对象。三、示例介绍一个聚合对象, 如列表(list), 应该提供一种方法来让别人可以访问

2021-08-01 14:24:40 139

原创 设计模式学习(十六):解释器模式

目录一、前言二、解释器模式三、示例介绍四、结构与参与者五、总结5.1 优缺点5.2 应用场景一、前言本周参加了第十一次设计模式研讨会,主题是解释器模式,接下来我们来看看该模式的具体内容。二、解释器模式解释器模式:它提供了评估语言的语法或表达式的方法,实现一个表达式接口,该接口解析一个特定的上下文。意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。主要解决:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言

2021-07-18 16:48:27 132

解决VC++ 6.0打开或添加工程文件崩溃或无反应所用工具filetool.exe

解决VC++ 6.0打开或添加工程文件崩溃或无反应所用工具filetool.exe

2019-02-28

VC6LineNumberAddin(VC++6.0显示行数插件)

VC6LineNumberAddin是一个用于VC++6.0实时显示行数的辅助插件。

2018-11-13

Visual Assist X(西红柿插件VC++6.0通用安装版)

Visual Assist X是一个非常好用的辅助类型插件,可以节约编写代码的时间。该版本为安装版。

2018-11-13

VC++6.0 MFC使用ODBC链接MySQL把图片写入blob字段

这是一个VC++6.0 MFC基于对话框的应用程序,主要功能:VC++6.0 MFC使用ODBC链接MySQL把图片写入blob字段

2018-11-09

空空如也

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

TA关注的人

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