开发经验

iOS视频开发经验

耗尽温柔 提交于 2019-12-28 23:46:12
iOS视频开发经验 手机比PC的优势除了便携外,我认为最重要的就是可以快速方便的创作多媒体作品。照片分享,语音输入,视频录制,地理位置。一个成功的手机APP从产品形态上都有这其中的一项或多项,比如instagram,微信。如果把Web2.0的交互体验照搬到手机上就是死路一条。 当智能手机遇上视频就像潘金莲遇上西门庆,各取所需一拍即合,想不发生点事情都难。他们的结晶就是微视频。微视频可以说把手机的视频录制和碎片时间两个特点发挥到了极致,视频相关的APP现在无温不火的原因我认为跟坑爹的运营商有关。虽然现在移动网络流量小速度慢,但是不妨碍我们先把技术积累做起来。 这篇文章主要介绍本人在iOS视频开发中的一点经验。 视频实质: 纯粹的视频(不包括音频)实质上就是一组帧图片,经过视频编码成为视频(video)文件再把音频(audio)文件有些还有字幕文件组装在一起成为我们看到的视频(movie)文件。1秒内出现的图片数就是帧率,图片间隔越小画面就越流畅,所以帧率越高效果就越好,需要的存储空间也就越多。 视频编码: 因为不进行编码的视频数据量非常大,会造成存储和传输上的困难,所以视频文件都需要在录制完成后进行编码。视频编码主要从两个维度压缩数据。 1、单张图像某一区域相邻像素相似,比如一片红色只记录红色色值和区域,不用记录这个区域的每一个像素点。 2、相邻图像之间内容相似

iOS视频开发经验

一个人想着一个人 提交于 2019-12-28 23:45:55
iOS视频开发经验 手机比PC的优势除了便携外,我认为最重要的就是可以快速方便的创作多媒体作品。照片分享,语音输入,视频录制,地理位置。一个成功的手机APP从产品形态上都有这其中的一项或多项,比如instagram,微信。如果把Web2.0的交互体验照搬到手机上就是死路一条。 当智能手机遇上视频就像潘金莲遇上西门庆,各取所需一拍即合,想不发生点事情都难。他们的结晶就是微视频。微视频可以说把手机的视频录制和碎片时间两个特点发挥到了极致,视频相关的APP现在无温不火的原因我认为跟坑爹的运营商有关。虽然现在移动网络流量小速度慢,但是不妨碍我们先把技术积累做起来。 这篇文章主要介绍本人在iOS视频开发中的一点经验。 视频实质: 纯粹的视频(不包括音频)实质上就是一组帧图片,经过视频编码成为视频(video)文件再把音频(audio)文件有些还有字幕文件组装在一起成为我们看到的视频(movie)文件。1秒内出现的图片数就是帧率,图片间隔越小画面就越流畅,所以帧率越高效果就越好,需要的存储空间也就越多。 视频编码: 因为不进行编码的视频数据量非常大,会造成存储和传输上的困难,所以视频文件都需要在录制完成后进行编码。视频编码主要从两个维度压缩数据。 1、单张图像某一区域相邻像素相似,比如一片红色只记录红色色值和区域,不用记录这个区域的每一个像素点。 2、相邻图像之间内容相似

Surging实践经验

喜夏-厌秋 提交于 2019-12-27 05:36:26
背景 在去年9月份的时候,我入职一家做航空软件产品的公司。当时公司部门领导决定构建一个技术平台(或称为技术中台),通过该技术平台进而孵化各个业务系统。说白了就是需要通过一个分布式框架或是微服务框架提高应用系统的性能和并发处理能力、业务处理能力。 当时现有的系统是在 .net framework平台上搭建的简单的单体应用,并不具备可用性、扩展性、易用性等。 我在入职前也学习过一些微服务相关的知识,并通过搜索引擎了解了.net平台下的一些微服务框架和分布式架构。在对比不同技术框架的背景后,我决定使用 surging 作为公司的技术平台。原因在于: Surging的设计思想和理念更符合微服务的架构思想,通过dotnetty框架实现的RPC通信,内置了服务治理保证通信的可靠性。 通过向服务注册中心(Zookeeper、Consul)注册相关元数据来管理集群的服务命令、路由信息、缓存中间件等数据,服务注册不需要进行额外的处理 Surging内置了负载均衡算法。 Surging支持多种协议的通信方式,并且支持ws服务主机与一般服务(Http、TCP)主机之间直接通过RPC进行通信。 服务之间的调用很方便,作者提供了基于 ServiceProxyProvider 、和基于 ServiceProxyFactory 的rpc调用方式,简单易用。 模块化设计,很方便的对模块进行扩展。 支持事件总线

数据仓库经验小结

左心房为你撑大大i 提交于 2019-12-26 21:17:00
以主题域规划 DW 主题域包含了某方面决策者关注的事物。一个主题域通常会覆盖多个业务部门,例如产品主题域涉及到销售、财务、物流、采购等部门。 主题域下包括了主题,例如产品主题 域中包括成本、发运、库存等主题。 主题域模型是对业务模型的抽象,需要从决策者和管理者的角度反映企业业务模型。决策者不需要了解每个部门详细的业务细节;销售部门的管理者需要知道产品的库存和采购计划以安排销售,但是他不知道物流部和采购部的业务流程。因此在整合多业务部门数据同时,尽量减少 OLTP 数据库中的具体业务逻辑,以实现数据交付时更易于理解、更具效率。 EDW 开发 在开发模式上,一种是逐个开发多个数据集市,然后将这些数据集市合并成数据仓库。这种方法的优点是在初期效率高、见效快,但由于这些数据集市独立运作,后期的管理、整合就会碰到问题,最后往往成为一种 Hub 的形式,多个数据集市支撑着一个中心数据集市。 另一种开发模式是,先开发统一的数据仓库,然后由数据仓库支撑多个数据集市。但这种方式在大型企业实施困难,甚至是难以实现的。 实际上比较可行的是平行开发,每开始着手新的数据集市同时,调整数据仓库,将新的内容加入到数据仓库中。这种模式需要一定经验和对企业整体的了解,以便为数据仓库的下一次调整和扩充留下空间和弹性。 熟悉 Business Applications 企业中通常会有多种商业应用程序,比如 ERP 、

招聘.NET高级程序员[深圳]

别说谁变了你拦得住时间么 提交于 2019-12-25 02:32:09
东讯科技(北京)有限公司为中关村科技园区的高新技术企业。东讯科技主要从事政府机关和企事业单位网络信息化建设所涉及的软件研发、实施和服务,不断地对信息化建设和应用的全部关键问题进行研究与实践,从系统建设、咨询、产品研发等多方面努力,力求成为国内信息化软件的知名品牌。 高级软件工程师 4人 工作地点在深圳。 基础条件: 1、24-29岁,从事软件开发的工作年限必须2年以上; 2、本科及以上学历,计算机及相关专业毕业; 职位描述: 1、负责组织开展项目的需求调研工作; 2、负责软件项目的总体设计与文档编制; 3、负责架构设计、编码实现和测试; 技能要求: 1、熟练掌握C#语言,精通html/javascript/XML/ASP.NET等技术; 2、熟练SQL Server2000或其他主流数据库的数据库管理和开发; 3、熟悉Web Service等技术; 4、对于设计模式架构设计有过研究,并有相关的经验; 5、对ADO.net有深入的了解; 6、至少2年以上的实际WEB项目开发经验,有丰富的网站开发经验; 7、熟悉门户网站系统或内容管理系统的建设、开发和实施; 8、有丰富的体系结构设计经验,良好的面向对象设计; 9、有搜索引擎开发经验或信息发布系统经验优先考虑; 职位要求: 1、学习能力强,具有很好的沟通能力、协调能力和良好的语言表达能力; 2、良好的开发习惯(包括代码、调试、文档);

途牛旅游网研发类职位招聘(南京)

梦想与她 提交于 2019-12-25 02:30:11
金秋十月,菊黄蟹肥。 跳槽的好时机。想跳槽?欢迎加入 途牛旅游网 ! 有招产品设计师的职位,如有想了解下情况的可以邮件联系我。 -- WEB开发工程师(5名) 工作职责: 参与途牛旅游网相关系统中重要功能和模块的设计和开发工作。 职位要求: 本科或本科以上学历,计算机相关专业; 两年以上的软件开发经验,有CRM/ERP等大型企业管理软件的开发、实施经验者优先考虑; 能够熟练应用PHP/JavaScript等WEB开发技术; 能够熟练应用MySQL,有良好的数据库设计能力; 了解TCP/IP、HTTP等协议; 学习能力强,拥有优秀的逻辑思维能力; 自我管理能力强,有良好的时间意识; 有较好的沟通交流能力。 搜索引擎营销(SEM)专员(1名) 工作职责: 负责网站面向Search Engine的优化,监控和研究竞争对手及其他网站相关策略,并围绕优化提出合理的网站调整建议; 按阶段汇报优化研究结果和优化成果;确定、优化和跟踪关键字和登陆页面; 制定有效的开拓外部链接的方法,为市场部门提供SEO技术支持,协助IT开发部门开发SEO工具。 职位要求: 了解搜索引擎优化SEO的原理和策略,熟悉各大搜索引擎的搜索排名技术,有丰富的实际操作经验; 有编程经验,知识面广阔,熟知各类web脚本语言,web服务器技术,精通HTML者为佳; 对网站建设、运营及推广有一定认识;

Qt开发经验小技巧31-40

只谈情不闲聊 提交于 2019-12-21 08:41:42
代码判断MSVC编译器版本。 if (_MSC_VER == 1800) MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003) MSVC++ 7.0 _MSC_VER == 1300 MSVC++ 6.0 _MSC_VER == 1200 MSVC++ 5.0 _MSC_VER == 1100 在pro中判断不同平台:message($$QT_ARCH) contains(QT_ARCH,arm)。 Qt最小化后恢复界面假死冻结,加上代码 void showEvent(QShowEvent *e){ setAttribute(Qt::WA_Mapped)

一点经验

≡放荡痞女 提交于 2019-12-20 00:43:17
序 : 这篇文章是在项目开始之初为了扫除项目组中其他同学的疑惑和畏难心理而写的 ,仅仅 面对初学者 ------------------------------------------------------------- 前言 加入项目组的各位,一定都已经开始着手学习相关技术知识。我自己学习这些知识的时候走了不少弯路,归根到底我觉得是因为一开始学的时候很难对相关技术有一个整体概念,容易摸不着头脑。 自己学习中的一点体会,不涉及具体的技术细节,只是从大体上对涉及到的内容的一个概览,不敢独享,写成此文,希望能对大家有所帮助。(一家之言,仅供参考) 一、 关于 windows 平台下的程序设计 也许很多同学脑海里的程序设计还是 tc2.0 的模样:我们要记住几个头文件各包含了哪些常用库函数,以及一些常用函数(函数名,调用方式等)……然后我们才可以开始编程。这就容易形成一种思维定势,认为只要用到的东西我们都应该去记住。 可是到了 windows 平台下,一切都变得复杂了起来。按 windows 平台下最“朴素”的编程方式(用 c 语言调用系统提供的 API 函数)来说,各种各样的 API 函数成百上千,非但多而且有些函数名也比较奇怪,如果要一一记忆不啻于一大噩梦! 不过大家请放心,“兵来将挡,水来土掩”嘛, MSDN 想必大家都听说过,微软为开发人员提供了多达数 G 的文档,几乎包括了

iOS六年开发经验被实习生替代,所谓的“经验”一文不值 ?

限于喜欢 提交于 2019-12-20 00:25:03
前言: 最近看到很多iOS开发由于公司裁员而需要重新求职的。他们普遍具有4年甚至更长的工作经验。但求职结果往往都不太理想。 我在与部分iOS开发者交谈的过程中发现,很多人的工作思路不清晰,技能不扎实,没有持续学习的习惯,但对于未来的预期都很高。 由于工作年限较长,他们普遍认为工资就是应该随着工作年限增长而不断提升的。但事实却是:你的工资不是和你的工作年限成正比,而是和你的不可替代性成正比。 01 在公司,你是无可替代还是可有可无 我的一个iOS开发朋友,大学毕业后进入一家企业做iOS开发。 6年前,他刚入职那会儿,公司效益非常不错。 刚入职时他对工作充满好奇,他本身就是科班出身,为了能尽快熟悉公司业务,他白天跟着 Team Leader 学习工作流程,晚上回家拼命看书,恶补 iOS底层相关知识。 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。 他人很机灵,项目组的前辈们也愿意点拨他,所以,他手很快。 工作的第二年,他对自身项目组的业务已经驾轻就熟,甚至还能提出一些改进建议。在越来越熟悉的环境里,他的技能得到了很大的提升。 工作的第三年,他跳槽进入一家大型互联网公司,职位当初的初级开发变成了 Team

Qt开发经验小技巧41-50

六眼飞鱼酱① 提交于 2019-12-18 05:11:59
如果使用sqlite数据库不想产生数据库文件,可以创建内存数据库。 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(":memory:"); 清空数据表并重置自增ID,sql = truncate table table_name。 Qtchart模块从Qt5.7开始自带,最低编译要求Qt5.4。在安装的时候记得勾选,默认不勾选。使用该模块需要引入命名空间。 #include <QChartView> QT_CHARTS_USE_NAMESPACE class CustomChart : public QChartView QPushButton左对齐文字,需要设置样式表QPushButton{text-align:left;} QLabel有三种设置文本的方法,掌握好Qt的属性系统,举一反三,可以做出很多效果。 ui->label->setStyleSheet("qproperty-text:hello;"); ui->label->setProperty("text", "hello"); ui->label->setText("hello"); 巧妙的用QEventLoop开启事件循环,可以使得很多同步获取返回结果而不阻塞界面。QEventLoop内部新建了线程执行。