<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[e5Max的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/e5Max</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; e5Max]]></copyright><item><title><![CDATA[Qt样式基础]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/132167538</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/132167538</guid><author>e5Max</author><pubDate>Tue, 08 Aug 2023 15:21:31 +0800</pubDate><description><![CDATA[1）我们可以在代码中动态的设置控件的objectName （相当于QSS样式的选择器）. 但使用setObjectName方法后，会发现控件的样式并没有实时的刷新，这就需要我们手动的 setStyle 让控件动态的改变qss样式。原因：qss样式需要通过paint才能正常绘制到控件表面，而QWidget的paintEvent()是空的，这就要求我们在继承QWidget的时候重载paintEvent()。问题二：如何在运行时动态的改变控件的样式？]]></description><category></category></item><item><title><![CDATA[启航——三十而立四十不惑的程序员]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/108919996</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/108919996</guid><author>e5Max</author><pubDate>Sun, 04 Oct 2020 16:53:32 +0800</pubDate><description><![CDATA[一

程序员作为最有危机感的一个行业，许多程序员很早的就开始为中年危机做准备，包括做管理，转行等等，更有许多关于大龄程序员出路的调侃。不例外的，作为入行11年的程序员，我也开始为未来谋求出路。

二

程序员作为起点还不错的行业，在初始的几年，有着让人羡慕的薪资待遇，当然也忍着常人没法体会的辛苦，996是这个行业正常得不能再正常的一个缩影。正因为我们有着不错的薪资待遇，加之程序员能把月薪5万活成像月薪5千的墨阳。因此，大部分程序员在解决人生必需的结婚，生子，买房之后，慢慢的手里通常都会有一些余钱，那么，如何]]></description><category></category></item><item><title><![CDATA[VS2010设置动态库的输出路径]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/87800393</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/87800393</guid><author>e5Max</author><pubDate>Wed, 20 Feb 2019 15:34:25 +0800</pubDate><description><![CDATA[1、dll



 

2、lib



3、设置启动程序exe

]]></description><category></category></item><item><title><![CDATA[使用TortoiseGit操作分支的创建与合并]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/86065443</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/86065443</guid><author>e5Max</author><pubDate>Tue, 08 Jan 2019 11:51:39 +0800</pubDate><description><![CDATA[ 

第一步：创建本地分支

点击右键选择TortoiseGit，选择Create Branch…，在Branch框中填写新分支的名称（若选中”switch to new branch”则直接转到新分支上，省去第二步），点击OK按钮：

 

 

 

第二步：通过“Switch/Checkout”切换到新创建的分支上，点击OK：

 

 

 

 

第三步：在新分支下执行PUSH操作，在...]]></description><category></category></item><item><title><![CDATA[JS学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/83750681</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/83750681</guid><author>e5Max</author><pubDate>Tue, 06 Nov 2018 16:24:25 +0800</pubDate><description><![CDATA[ECMA-262 是 JavaScript 标准的官方名称。

1、一个页面的基本结构：


&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
// 通常放置一些函数
// ...
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
// 放置一些页面内容
// ...
&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;


2、通过ID查]]></description><category></category></item><item><title><![CDATA[Java学习点滴记]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/83574703</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/83574703</guid><author>e5Max</author><pubDate>Wed, 31 Oct 2018 09:52:52 +0800</pubDate><description><![CDATA[1、Applet —— Applet是采用Java编程语言编写的小应用程序，该程序可以包含在 HTML（标准通用标记语言的一个应用）页中，与在页中包含图像的方式大致相同。含有Applet的网页的HTML文件代码中部带有&amp;lt;applet&amp;gt; 和&amp;lt;/applet&amp;gt;这样一对标记，当支持Java的网络浏览器遇到这对标记时，就将下载相应的小应用程序代码并在本地计算机上执行该Applet。...]]></description><category></category></item><item><title><![CDATA[VS2013使用技巧]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/82660839</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/82660839</guid><author>e5Max</author><pubDate>Wed, 12 Sep 2018 14:21:12 +0800</pubDate><description><![CDATA[1、注释： 先CTRL+K，然后CTRL+C
2、取消注释： 先CTRL+K，然后CTRL+U
3、在C/C++编程时经常需要在源文件与头文件之间切换。旧的Visual Studio中没有这个快捷键。新版Visual Studio(我的是VS2013)已经有这个快捷键了。它是Ctrl+K,Ctrl+O。注意这是一组连续的操作：先按住Ctrl，然后按K，之后在Ctrl不松手的情况下按O。不要按成2组...]]></description><category></category></item><item><title><![CDATA[桌面软件的自动化测试工具]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/82017804</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/82017804</guid><author>e5Max</author><pubDate>Fri, 24 Aug 2018 14:55:09 +0800</pubDate><description><![CDATA[1、sikuli

https://pan.baidu.com/s/1hzU-tKwORTSm5RH-QoZJ9Q

2、Airtest

相关资料可以点击以下链接可查看和下载 Airtest Project：

- 官网: http://airtest.netease.com/
- 码云Gitee: https://gitee.com/AirtestProject
- GitHub: https...]]></description><category></category></item><item><title><![CDATA[chrome 安装 gliffy 绘图插件以及使用]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81904129</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81904129</guid><author>e5Max</author><pubDate>Tue, 21 Aug 2018 11:10:34 +0800</pubDate><description><![CDATA[     由于项目中最近使用gliffy查看之前的文件（绘图），且chrome在最新的版本以后无法离线安装crx插件，本人搜索后成功安装gliffy插件并使用，特此记录。

安装需要：

chrome插件安装辅助程序：crxhelp

下载地址：https://pan.baidu.com/s/1nvifXpOWT8dfq8MnHYH51g   密码：hyri

gliffy文件：https://p...]]></description><category></category></item><item><title><![CDATA[Qt线程同步的几种方法]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81703877</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81703877</guid><author>e5Max</author><pubDate>Wed, 15 Aug 2018 15:05:54 +0800</pubDate><description><![CDATA[一、QMutex类

       QMutex类就像一把锁，在互斥量之前上锁（QMutex::lock()），然后在使用完互斥量之后解锁（QMutex::unlock()）。比如下面的代码：


void someMethod()
{
    mutex.lock();
    qDebug()&amp;lt;&amp;lt;&quot;Hello&quot;;
    qDebug()&amp;lt;&amp;lt;&quot;World&quot;;
    m...]]></description><category></category></item><item><title><![CDATA[C++线程同步的四种方式（Windows）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81702853</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81702853</guid><author>e5Max</author><pubDate>Wed, 15 Aug 2018 14:33:46 +0800</pubDate><description><![CDATA[原文链接：  https://blog.youkuaiyun.com/s_lisheng/article/details/74278765

什么是鲜橙同步？为什么要进行线程同步？

　　在程序中使用多线程时，一般情况，多个线程不能在其生命周期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作，而其他的线程对其处理结果进行了解（利用）。正常情况下对这种处理结果的了解应当在其它线程处理任务完成后进行。 ...]]></description><category></category></item><item><title><![CDATA[软件架构分层设计]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81627569</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81627569</guid><author>e5Max</author><pubDate>Mon, 13 Aug 2018 12:04:39 +0800</pubDate><description><![CDATA[一、  软件架构和分层设计
（一）  软件架构（software architecture）
      是一系列相关的抽象模式，用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段，这些抽象组件被细化为实际的组件，比如具体某个类或者对象。在面向对象领域中，组件之间的连接通常用接...]]></description><category></category></item><item><title><![CDATA[软件架构系列感想（六）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81586414</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81586414</guid><author>e5Max</author><pubDate>Sat, 11 Aug 2018 14:34:13 +0800</pubDate><description><![CDATA[1、代码不会讲述完整的故事。

编写好的代码很重要，重构迫使我们考虑让方法变得更小、更可复用和自文档化，每个人都应该追求编写易于阅读、理解和维护的好代码。

了解系统的设计意图，可以通过代码库如何被拆分为子项目、目录、包、命名空间等对整体架构做出一些判断，也可以根据对这个项目有限的了解、业务领域、你对团队如何构建软件的期望以及你对所用技术的知识，做出自己的假设。

（1）软件系统如何融入已有的系统...]]></description><category></category></item><item><title><![CDATA[软件架构系列感想（五）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81586328</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81586328</guid><author>e5Max</author><pubDate>Sat, 11 Aug 2018 14:23:39 +0800</pubDate><description><![CDATA[1、通用的抽象集合。

可以将软件系统简单的理解成由多个容器构成，容器又由多个组件构成，组件由一个或多个类实现。

类（在一个面向对象系统里，类是最小结构单元）

组件（组件可以想象成一个或多个类组成的逻辑群组，通常由多个类在更高层次的约束下组合而成）

容器（指一个在其内部可以执行组件或驻留数据的东西）

系统（系统是最高的抽象层次，代表了能够提供价值的东西）

2、软件的静态视图。

语境（设...]]></description><category></category></item><item><title><![CDATA[软件架构系列感想（四）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81586201</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81586201</guid><author>e5Max</author><pubDate>Sat, 11 Aug 2018 14:17:02 +0800</pubDate><description><![CDATA[1、技术约束。

时间和预算是大多数软件开发者都熟悉的约束，还有一些在大型组织里经常碰到的一些技术相关的约束：

（1）批准的技术清单（目的是限制组织必须支持，运行，维护和购买许可证的技术）

（2）现有系统的互操作性（有时别的系统需要和你构建的系统整合，这时组织性的约束规定了你可以用于整合的协议和技术）

（3）目标部署平台（包括嵌入式设备、windows或Linux服务器的可用性，以及云）

...]]></description><category></category></item><item><title><![CDATA[软件架构系列感想（三）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81586097</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81586097</guid><author>e5Max</author><pubDate>Sat, 11 Aug 2018 14:05:08 +0800</pubDate><description><![CDATA[1、未来的架构师在哪里？

我们可能花了很长时间谈论编写代码、自动化测试、自动化部署、工具、各种技术，以及所有相关的流程，而可用的软件是关键。多想想这些问题：

（1）你上次写代码是什么时候

（2）你上次重构是什么时候

（3）你上次测试你的代码是什么时候

（4）你上次设计东西是什么时候

（5）你上次从零开始设计一个软件系统是什么时候

（6）你上次从零开始设计一个会由一个团队来实现的软件系...]]></description><category></category></item><item><title><![CDATA[软件架构系列感想（二）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81585368</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81585368</guid><author>e5Max</author><pubDate>Sat, 11 Aug 2018 12:35:26 +0800</pubDate><description><![CDATA[3、软件架构师是什么？

应用程序架构的关注点是应用程序，通常包括将应用程序解构为类和组件，确保设计模式的正确应用，构建和使用框架等等。本质上，应用程序架构谈论的是软件设计的低级别切面，通常只考虑单一的技术栈。

结构单元主要以软件为基础，包括编程语言和结构、类库、框架、api等。它由类、组件、函数、模块、设计模式等加以描述。应用程序架构着重考虑软件和代码组织。

大多数软件系统实际上是由横跨不同...]]></description><category></category></item><item><title><![CDATA[软件架构系列感想（一）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81585237</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81585237</guid><author>e5Max</author><pubDate>Sat, 11 Aug 2018 12:09:17 +0800</pubDate><description><![CDATA[文章原链接：https://blog.youkuaiyun.com/woshibendangao/article/details/79684492

1、什么是架构？

      架构是一种能力，架构角色则是要求你在具体事物中行使某些行为，而架构师则是用来标识这些能力与行为的一个职务。对于不同的人来说，可能意味着什么，也是不一样的【因此，对于不同的组织，不同的领域，不同的软件生态，架构师要做的事情也会有所不...]]></description><category></category></item><item><title><![CDATA[回顾Bob大叔的简洁架构（转）]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81387767</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81387767</guid><author>e5Max</author><pubDate>Fri, 03 Aug 2018 15:14:38 +0800</pubDate><description><![CDATA[Robert Martin 就是我们常说的Bob大叔，是码界的骨灰级人物了，在4年前提出了所谓的简洁架构，值得回顾反思一下，看看是否可以借鉴到微服务中呢？

大叔在文中介绍了一下几种知名的架构思想:


	Alistair Cockburn 的Hexagonal Architecture
	
	
	Jeffrey Palermo 的 Onion Architecture
	
	
	Screamin...]]></description><category></category></item><item><title><![CDATA[关于软件中头像（图标）保存方式的讨论]]></title><link>https://blog.youkuaiyun.com/e5Max/article/details/81234945</link><guid>https://blog.youkuaiyun.com/e5Max/article/details/81234945</guid><author>e5Max</author><pubDate>Fri, 27 Jul 2018 12:03:18 +0800</pubDate><description><![CDATA[       项目属于IM即时通讯产品，程序里面用到了大量的头像（图标）等，这些资源通常都是保存在服务器上，拉取后保存在本地，那么，这些头像（图标）文件的文件名如何规定呢？ 之前为了避免重复，一直是用的该头像（图标）属主的ID来保存。
该方式存在两个问题：
1）如果头像（图标）在服务器上更新了，需要有更新通知，代码里主动的将旧头像文件删除并重新下载；
2）有些图标属主可能没有唯一的ID。
    ...]]></description><category></category></item></channel></rss>