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