开发经验

Qt开发经验小技巧51-60

醉酒当歌 提交于 2019-12-18 03:53:18
在某些http post数据的时候,如果采用的是&字符串连接的数据发送,中文解析乱码的话,需要将中文进行URL转码。 QString content = "测试中文"; QString note = content.toUtf8().toPercentEncoding(); Qt默认不支持大资源文件,比如添加了字体文件,需要pro文件开启。 CONFIG += resources_big Qt中继承QWidget之后,样式表不起作用,解决办法有三个。强烈推荐方法一。 方法一:设置属性 this->setAttribute(Qt::WA_StyledBackground, true); 方法二:改成继承QFrame,因为QFrame自带paintEvent函数已做了实现,在使用样式表时会进行解析和绘制。 方法三:重新实现QWidget的paintEvent函数时,使用QStylePainter绘制。 void myclass::paintEvent(QPaintEvent *) { QStyleOption o; o.initFrom(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this); } 有时候在界面上加了弹簧,需要动态改变弹簧对应的拉伸策略

Qt开发经验小技巧71-80

狂风中的少年 提交于 2019-12-17 23:10:25
在我们使用QList、QStringList、QByteArray等链表或者数组的过程中,如果只需要取值,而不是赋值,强烈建议使用 at() 取值而不是 [] 操作符,在官方书籍《C++ GUI Qt 4编程(第二版)》的书中有特别的强调说明,此教材的原作者据说是Qt开发的核心人员编写的,所以还是比较权威,至于使用 at() 与使用 [] 操作符速度效率的比较,网上也有网友做过此类对比。原文在书的212页,这样描述的:Qt对所有的容器和许多其他类都使用隐含共享,隐含共享是Qt对不希望修改的数据决不进行复制的保证,为了使隐含共享的作用发挥得最好,可以采用两个新的编程习惯。第一种习惯是对于一个(非常量的)向量或者列表进行只读存取时,使用 at() 函数而不用 [] 操作符,因为Qt的容器类不能辨别 [] 操作符是否将出现在一个赋值的左边还是右边,他假设最坏的情况出现并且强制执行深层赋值,而 at() 函数则不被允许出现在一个赋值的左边。 如果是dialog窗体,需要在exec以后还能让其他代码继续执行,请在dialog窗体exec前增加一行代码,否则会阻塞窗体消息。 QDialog dialog; dialog.setWindowModality(Qt::WindowModal); dialog.exec(); 安全的删除Qt的对象类

音视频编解码开发经验1

混江龙づ霸主 提交于 2019-12-16 19:28:25
如何降低直播App的发热? 个人觉得有如下几点可以参考:1. 尽可能用 硬编 2. 适当降低帧率 3. 采用合适的分辨率,尽量减少 Scale 和 剪裁 4. 其实网络不稳定也会加大发热 5. 优化代码,尽量减少不必要的 CPU 消耗。 由于前后摄像头支持的分辨率不完全一样,因此直播过程中切换摄像头,可能导致 图像尺寸变化 ,一种处理方法是重置编码器,输入新的数据源尺寸,还有一种 更好的做法 ,就是无论摄像头是什么分辨率,采集到的数据都先经过一个剪裁模块(可以用 libyuv 来实现),剪裁出一个固定的分辨率,再传入编码器。 来源: https://www.cnblogs.com/elesos/p/5924684.html

JAVA开发经验

白昼怎懂夜的黑 提交于 2019-12-15 23:58:55
1.1.直接赋值常量值,禁止声明新对象 直接赋值常量值,只是创建了一个对象引用,而这个对象引用指向常量值。 反例: Long i = new Long ( 1 L ) ; String s = new String ( "abc" ) ; 正例: Long i = 1 L ; String s = "abc" ; 1.2.当成员变量值无需改变时,尽量定义为静态常量 在类的每个对象实例中,每个成员变量都有一份副本,而成员静态常量只有一份实例。 反例: public class HttpConnection { private final long timeout = 5 L ; . . . } 正例: public class HttpConnection { private static final long TIMEOUT = 5 L ; . . . } 1.3.尽量使用基本数据类型,避免自动装箱和拆箱 Java 中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Double、Float、Long、Integer、Short、Character、Boolean。JVM支持基本类型与对应包装类的自动转换,被称为自动装箱和拆箱。装箱和拆箱都是需要CPU和内存资源的,所以应尽量避免使用自动装箱和拆箱。 反例: Integer

django开发经验(天天生鲜)

北城余情 提交于 2019-12-11 20:45:27
首先,django开发前要配置虚拟环境(相当于将原django环境复制一遍进行操作,不影响原django环境,也适用于同时开发不同项目) 在虚拟环境里下载包用“pip install 包名”,这样是对本虚拟环境下载,如果用“sudo pip install 包名”是对原django环境操作 来源: https://www.cnblogs.com/itheone/p/12024956.html

编程如何入门(创世纪新篇)

吃可爱长大的小学妹 提交于 2019-12-09 21:42:24
万事开头难,人人 都梦想成为像比尔盖茨,乔布斯这样的编程大师,但进入软件开发领域也是很艰难的,就像一个神学院的学生不知如何祷告。 当然,如果你还是一名刚刚入门的程序员,那么我相信你深刻理解没有经验或者没有太多经验想找一份工作是如何困难。如果你已经在软件开发这一行干过一段时间,那么我相信想要在这个竞争激烈的行业鹤立鸡群又是如何困难。 我接触过很多刚刚入门的开发人员,他们非常迷茫,因为他们不知道该往哪里投入自己的精力来发展自己的职业生涯,也不知道未来的方向在哪里。选择是如此之多,让人眼花缭乱:有那么多的技术,有那么多的道路。那么那一条才是正确的呢? 正确的思考方式 下面我会给出一些具体的建议,但是在此之前,你得确保你是在用一种正确的思考方式考虑自己的职业生涯。 职业生涯中相当重要的一点是,企业意识:要将自己的职业当做一家企业。这家企业雇用了你。企业意识有助于你,对于什么时间应该做什么,以及何时该投 资自己的职业,做出正确而客观的决定。有很多开发人员只是将软件开发这一职业当做一份临时的工作或者仅仅就是一个饭碗——这种想法毋庸置疑是目光短浅的。 不知各位发现没有,同样一个决定,劝别人我们能轻易讲出一大堆道理,但是轮到自己头上却很难?究其原因就是,劝告别人的时候我们往往能够站在客观的立场 上,不会有担忧、恐惧等多余情绪的干扰。 企业意识的原理与上面相似,它能让我们更客观地做出决策。

造轮子,为什么鄙视造轮子,我赞成造轮子!

流过昼夜 提交于 2019-12-07 18:37:17
软件开发行业里有一个名词叫“造轮子 ”,似乎造轮子已经成为一种贬义词。每当有人提及“你这是在造轮子!”或者会说“你这是在山赛xxxxx”。被说的一方总会感觉到一丝凉意,甚至会有一种不被尊重的感觉。当我第一次听到有人跟我说“你这是在造轮子!”时,我变得异常敏感,即使是现在我也会感觉到一些不适。 在开源世界里这种情况似乎已经是家常便饭了,无时无刻都会有人再说“你这是在造轮子!”。 作为开发者无论从事的是低级的Ctrl+C,Ctrl+V 还是已经小有所成。都应该时刻谨记你的成果或许会在未来的某一天被人称之为“轮子”。当你的作品有幸被称之为“巨大的轮子”的时候,也要记得这只是通向成功道路上的坎坷的一部分。 什么是轮子? 关于造轮子我们大家心中都有一个比较统一的标准,那就是重复制造那些已经存在了的(软件、功能、类库、框架)的行为。一旦你的(目标、功能)和某个产品或者项目一致,并且当你开始实现它们时,其实你就是在制造轮子。 这里先提及一个概念就是“模仿”, “模仿”从出生到死亡我们一生都在做的事情。“造轮子”、“山赛”等其本质就是在模仿。 微软在模仿、Google在模仿、三星 在模仿 、苹果也模仿。雷达、红外、人造卫星、人造心脏等等技术都是模仿的成果。 我们说的轮子其实也是一种模仿,之所以被称之轮子主要还是评价人 主观判断。因为这个世界上重复的事情太多了。 谁在鄙视制造轮子?

第三章 工作中的架构师

故事扮演 提交于 2019-12-06 15:17:06
提供高效的帮助和引导。具体而言,架构师的工作内容主要包括: ♦冷静和系统地平衡功能与性能的要求,分析软件系统盾量的要求和其他系统特征。 #控制和处理有关系统粒度、范围、包含、连接和耦合的问題。 澄清接口策略,制定接口架构约束原則。 ^计划系统资源分配与调度原则。 •稳定业务关系模型(实体、关系、协同动作)。 制定系统身份识别、认证、命名、存取控制的策略。 规划系统静态特征和动态行为转化模型。 确立系统级的基础框架组成,穗定架构基线。 按照外界环境与内在制约因素选择相应的开发流程,规划开发环境、开发工具、测 试工具、版本控制工具等。 确定监控与报告流程,选择有效的汇总、统计、分析、报告工具。 为软件设计与开发制定架构约束及架构原则,并确保后续的开发遵守了这些原则。 软件系统许可证/软件key的规划及策略。 软件系统的部署、初始化、装栽顺序、卸栽顺序、运行监控等系统运行时的规划。 软件系统测试、交付的原则及计划。 按照外界环境与内在制约因素选择相应的开发技术。 规划软件系统哪些部分自主开发,哪些部分外包开发或外购产品。 从上述这些工作来看,有些是针对商业方面的问题,这些问题是核心问题,也是架构 师的目标。还有些问题是专门针对系统级别方面的,有些则是针对技术方面的问题。我们 可以把这些问题整合归类为如下一些方面,如图3-1所示。 ■ 3.1解决商业问题 我们先来看看如何解决商业方面的问题

EMC开发实习生电面经验

落爺英雄遲暮 提交于 2019-12-06 07:13:46
说来也是在博客园第一次写博客,写第一篇也主要是催自己赶快把自己的经验写下来积累下来。闲话不多说下面正文。 emc的简历投了很久,听说也是大牛公司,各种技术面。本来投的岗位应该是偏后端的,后来hr电话说职位没了,有个前端的职位问我接不接受,也就默默的应了。说好当天打电话结果也脱了3天,今天中午午睡才起接到电面,感觉要跪的节奏,作为炮灰把题目分享给大家。 首先面试官问了些实习时间的问题(此处略过),然后问项目经历(睡意仍在的我思路凌乱)。 下面问题问我jquery用过什么功能?这个也不熟悉,当时就说有些控件做动态效果会应用到。。。 然后是数据库的问题,join和left join有什么区别?这个完全打错, LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。 唉。。。估计瞬间被鄙视。 然后是java题目,第一题说objcet有哪些方法,答曰equals、getClass、hashCode、 toString。线程相关的那些方法完全没有记得。。。然后问是java基本类型byte、short、int、long、float、double。然后问String是不是基本类型,当时想错了,以为是问直引用类型还是间接引用类型,狂乱答,讲了一堆String不同初始化放在堆栈不同的事。。。想想真是醉了。

福音短视频系统源码开发

ぃ、小莉子 提交于 2019-12-05 22:45:49
短视频系统开发找【严经理189-2212-1525微/电】福音短视频APP系统开发、福音短视频系统开发源码、福音短视频APP开发、福音短视频系统开发、福音短视频软件开发、福音短视频系统专业开发 系统开发公司,非平台方客服,可开发相似系统,玩家勿扰,谢谢! 一、福音短视频APP介绍 1、立足于短视频社交领域,以区块链模式为支撑,开发福音APP及新型电商,鼓励全民参与短视频社交,共享快乐生活。APP可以通过用户的使用情况计算产出音值,音值可在平台兑换,也可进行用户交易等应用。 2、随着智能交互技术的高速成长,多维度大数据的高效应用,以及移动互联网的全方位覆盖,以用户大数据为夯实基础,以行业领先,打造了“数据+服务”的新平台,完善短视频社交商业生态。 3、福音短视频采用区块链(以太坊)为底层模式,所有手几即为节点,所有数据均可查询、可追溯、不可篡改,数据账本对所有用户开放。构造拍摄,观看”即挖旷的模式。同时构建用户大数据,面向生产厂家及消受家,赋予福音音值真正的流通价值,打通工厂值消费者的交易之路,为生产与销售提供更广阔的平台。 福音短视频用户等级 活跃度 1、活跃度是指用户使用福音APP进行软件使用程度的活跃程度,由基本活跃度(任务活跃度)+加成活跃度(推广)组成。 2、活跃度加成的主要方式有成为福音城市合伙人邀请他人使用福音APP.创建或者加入俱乐部、组队等。 3