2017
10-09
10-09
【译】Go 中如何进行单元测试
在写《Go语言标准库》的第九章——测试时,看到了此文,讲解挺细致,于是翻译为中文,作为学习《Go语言标准库》的第九章的补充材料。如果你花过一些时间学习如何编程,你很可能见过许多地方提过测试。似乎每个人都在谈论测试,似乎都同意你应该进行测试,但这到底需要什么呢?在这篇文章中,我将尝试回答这个问题,首先解释什么是测试,然后我会用Go去深入实际编写测试。在编写测试时,我将通过编写自定义mai...
继续阅读 >
作者介绍周金桥,具有丰富的系统规划、设计、开发、运维及团队组织管理工作经验,熟悉.Net、J2EE技术架构及应用。微软2008-2012五届最有价值专家(MVP),2009年单独著有《ASP.NET夜话》一书,2010年与人合著《程序员的成长之路》。至今活跃在多个技术社区。本文系作者原创投稿,未经 DBAplus社群 允许,不得擅自转载和使用。本文我选定的方向是如何开发一个大型系统,在这里我对大型系统的定义为日...
作者介绍颜圣杰,.NET平台软件工程师,对DDD领域驱动设计感兴趣,目前在研究ABP框架,热爱写作与分享。最近一段时间系统新版本要发布,在beta客户测试期间,暴露了很多问题,除了一些业务和异常问题外,其它都集中在性能上。有幸接触到这些性能调优的机会,这里跟大家归纳交流一下。性能优化是一个老生常谈的问题了,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。而造成性能...
从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫。在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之中,你的工作也承受极大的风险。不过事实是,普通的错误都在MySQL性能错误的射程之内。所以为了使你的MySQL服务器能够高速运转,提供稳定且持续的服务,消除这些错误是非常有必要的,但是这可能常常会被你的繁忙...
最近在做新业务需求的同时,我们在Android上遇到了一些之前没有碰到过的问题,截屏分享、WebView生成长图以及长图在各个分享渠道分享时图片模糊甚至分享失败等问题,在这过程中踩了很多坑,到目前为止绝大部分的问题都还算是有了比较满意的解决方案。以下就从三个方面来总结一下过程中遇到的挑战和最后的解决方案。一、概述最近在做新业务需求的同时,我们在Android上遇到了一些之前没有碰到过的问题,截屏分享、...
摘要:一般来说的全文搜索服务,大体是基于字和关键词的,基于语句的全文搜索服务是一个有意思的课题。以文字为最小节点,以语句为分枝,建立语义树,提供基于语义树的全文检索服务。通过对语句进行语义特征编码,并结合数据库,来实现基于语义树的全文索引和搜索服务。1引言搜索引擎是信息时代的基础服务之一,搜索引擎服务的核心为全文检索。常用的全文检索,一般以关键词的检索为主,对于不同的语言需要不同的...
网络上已经有一些关于探讨如何导出IOS版微信聊天记录的导出,比如WeBack和iTools,但这两类工具主导针对的都是小白用户,并没有给出如何获取完整数据库的方案,尽管实际原理相差无几,但想要程序更好地进行操作数据,还是所有差别,特此记录。目前最新的IOS版本为10.1.1,据观察该版本的备份文件存储格式与IOS9略有不同,因此部分没有及时更新的导出工具暂时无法使用。创建iPhone备份想要获取到应用的...
背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。这次切分,我们的目标是未来十年内不需要...
一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 1、数据库表设计项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计。对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验。影响的因...
Introduction一个高性能的数据访问层需要很多关于数据库的内部结构、JDBC、JPA、Hibernate以及很多优化商业应用的技术建议。SQLStatementLogging:SQL语句日志如果你正在使用譬如Hibernate或者MyBatis这样的ORM框架,那么可以参考验证执行语句的效率。另外推荐一个测试中断言机制可以帮你在提交代码之前就发现很多的查询问题。Connectionmanagement:连接管理数据库连接一直是数据库中比较耗时的操作,因...
在数据库优化工作中,使数据尽可能的小,使表在硬盘上占据的空间尽可能的小,这是最常用、也是最有效的手段之一。因为缩小数据,相对来说可以提高硬盘的读写速度,并且在查询过程中小表的内容处理时所占用的系统资源比较少。同理,如果在比较小的列上设置索引的话,其索引所占用的资源也会比较少。那么数据库管理员该如何给自己的数据减肥呢?对此笔者有如下几个建议。 建议一:空值并不一定不占用空间 在这里笔者...