2020-04-16 09:07
⁄ 工业·编程
⁄ 共 1547字
上一节了解了大体流程,但是界面控件元素是如何被加载、解析、构建、管理、控件消息如何处理的呢?接下来我们将结合控件构造器进行分析;
CDialogBuilder:控件构造器,主要用以解析xml配置文件并以此创建相应控件及相关属性。
类成员数据:
m_xml:xml解析器,用以读取并解析xml配置文件;
m_pCallback:构造器回调函数,用以给予用户可以实现自定义的构造控件对象的方式;
m_pstrtype:以NULL为结束符的字符串,资源类型...
Duilib, 源码阅读全文
2020-04-15 09:03
⁄ 工业·编程
⁄ 共 2440字
Duilib界面库是一款由杭州月牙儿网络技术有限公司开发的界面开源库,以viksoe项目下的UiLib库的基础上开发(此后也将对UiLib库进行源码分析);通过XML布局界面,将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。一般常用于开发小型项目Windows桌面客户端软件;其子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。目前开源协议以BSD发布,可使用于商业应用,好了,其他更为详细的介绍,请查阅...
Duilib, 源码阅读全文
2020-04-14 16:53
⁄ 工业·编程
⁄ 共 18210字
1.网络协议设计
ISO提出了OSI分层网络模型,这种分层模型是理论上的,TCP/IP最终实现了一个分层的协议模型,每一个层次对应一组网络协议完成一组特定的功能,该组网络协议被其下的层次复用和解复用。这就是分层模型的本质,最终所有的逻辑被编码到线缆或者电磁波。
分层模型是很好理解的,然而对于每一层的协议设计却不是那么容易。TCP/IP的漂亮之处在于:协议越往上层越复杂。我们把网...
网络协议阅读全文
2020-04-13 10:49
⁄ 工业·编程
⁄ 共 33174字
C++的高抽象层次,又兼具高性能,是其他语言所无法替代的,C++标准保持稳定发展,更加现代化,更加强大,更加易用,熟练的 C++ 工程师自然也获得了“高水平、高薪资”的名声,但在各种活跃编程语言中,C++门槛依然很高,尤其C++的内存问题(内存泄露,内存溢出,内存宕机,堆栈破坏等问题),需要理解C++标准对象模型,C++标准库,标准C库,操作系统等内存设计,才能更加深入理解C++内存管理,这是跨越C++三座大山之一,我们必须...
内存管理阅读全文
2020-04-12 14:28
⁄ 工业·编程
⁄ 共 1214字
1 缘由
在阅读seastar源码时发现有使用pread函数,这也是第一次认识pread函数,平时用read比较多。
2 pread函数
2.1 函数原型:
#include <unistd.h>
ssize_t pread(int fd, void *buf, size_t count, off_t offset);
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
pread简单来说就是在指定偏移offset位置开始读取count个字节,同理可推``pwrite`。
2.2 使用示例
#include <unistd.h>
#in...
c++阅读全文
2020-04-11 10:47
⁄ 工业·编程
⁄ 共 6535字
下面我结合我面试候选人的经验,以及我对高并发的理解,给一个非常完整的建议。如果能认真看完,相信一定有所收获,至少应付面试没啥问题。
相关阅读
----后台服务器开发中如何解决“三高”
首先说一下,当我作为面试官问候选人「对于高并发的理解」时,我觉得「答得不好」的情况分成以下几类:
1、对数据化的指标没有概念:不清楚选择什么样的指标来衡量高并发系统?分不清并发量和QPS,不知道自己系统的总用...
性能优化阅读全文
2020-04-10 10:06
⁄ 工业·编程
⁄ 共 251字
CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能。
CRUD说的就是增查改删
C:Create 增加对应CREATE TBL ...; ADD TBL IN (...) VALUES (...)
R:Retrieve查询SELECT * from TBL
U:Update修改UPDATE TBL ..SET ...
D:Delete删除 DELETE FROM TBL WHERE ....
数据库阅读全文
2020-04-09 08:29
⁄ 工业·编程
⁄ 共 11843字
在互联网公司,经常面临一个“三高”问题:
高并发
高性能
高可用
这篇文章将总结一下后台服务器开发中有哪些常用的解决“三高”问题的方法和思想。
先上本文思维导图:
一、缓存
什么是缓存?看看维基百科怎么说:
In computing, a cache is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier c...
性能, 性能优化阅读全文
2020-04-08 08:16
⁄ 工业·编程
⁄ 共 601字
C语言标准就是这么规定的:free无需手动指示大小。不是怕你不小心填错,而是事实上你很难填对。
这是因为,虽然你告诉了malloc你要多少空间,但malloc真正分配了多少只有它自己知道。例如,你向malloc要了999字节,但某人写的malloc分配的最小粒度是1024字节,那么你会得到一个1024字节的空间(虽然你一直以为它是999字节而不敢越雷池一步,这倒也没什么)。
所以,要是你填一个错误值,还得让它费心修正,还不如就让它自己管理...
内存管理阅读全文
2020-04-07 22:47
⁄ 工业·编程
⁄ 共 3431字
从原来的软件开发岗位转到现在的5G开发,你们觉得最大的难点在哪里?几位新同事纷纷表示:感觉自己要补课的内容实在是太多了,操作系统、网络协议,到处都是难点。其实这几位同事的经历和遇到的问题都非常有代表性:由于做开发不懂业务,故大部分码农都是一颗颗螺丝钉,铆在自己的那一点点领域上使劲往下钻,而对整体架构几乎一无所知,导致自己的专业面非常窄,技术水平也比较浮于表面。对这些已经拥有3-5年经验的程序员而言,...
5G阅读全文