对于设计和创建数据库完全是个新手?没关系,Joe Celko,世界上读者数量最多的SQL作者之一,会告诉你这些基础。和往常一样,即使是最专业的数据库老手,也会给他们带来惊喜。Joe是DMBS杂志是多年来最受读者喜爱的作者。他在美国、英国,北欧,南美及非洲传授SQL知识。他在ANSI / ISO SQL标准委员会工作了10年,为SQL-89和SQL-92标准做出了杰出贡献。
在你开始考虑你的数据库架构或表前,你需要细想下你的数据:数据是什么类型,你使用值的范围。它应该是唯一的,精确的且不含糊的。然后你的命名应该通俗易懂的。Joe Celko这样解释道。
不要太惊讶,在数据库设计里第一步是数据。但事实上,太多的程序员不会花时间在它们的数据设计上,而是首先设计架构。这样行不通。SQL处理的是结构化数据,而不是想文本或图片的非结构化数据。在关系型数据库管理系统(RDBMS)里一个基本概念是Codd博士所谓的信息原则(Information Principle)。这个规则写道:在关系型数据库管理系统里,所有的数据被建模为表里行里列里的标量。
这就是说表里的所有行有同样的结构。也就是说正确的表设计不会出现有一行是汽车的模型,另一行是鱿鱼的模型,还有一行表示Lady Gaga。
同样,这就是说行里的每列是同样数据元的值。在表里,一个列不会从鞋子大小变成其它温度的值。也就是说范围不会改变——如果你以摄氏度测量温度,那么这列的所有值都使用摄氏度的范围。
相信所有研发对很难重现的问题都会头疼。根据之前的经验,我们怀疑这个bug是和服务端相关的(大部分时间工作正常。一旦出问题时,所有手机的客户端都会发现同样的问题)。最后我们决定:在开发环境里面反复测试每一个诡异的bug,一旦发现问题立即跟踪调试并解决问题;如果连续测试12小时仍然无法重现的话,我们认为该问题对实际用户影响很小,不影响发布版本。
在反复测试的过程中,有一些bug在开发环境中被重现并解决了。其他问题经反复试验无法重现,降低优先级后留到以后解决。
我认为一个好的管理者他应该是做技术起家的,他本身就是一个经验老道的工程师。只不过如今,他把更多的时间花在了业务上。我们学习更多的技术,不是为了一味的花时间去学习技术抵制实现业务功能,而是为了能够带领这个团队,能够做出完美的产品。当你的目标是这个,而你觉得自己已经到了成长瓶颈的时候,不妨想一想自己对于市场、运营、销售是否了解,能够带领一个团队。
在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。对于许多用户而言,蜂窝数据是他们想要节省的昂贵资源。
Android N 推出了 Data Saver 模式,这是一项新的系统服务,有助于减少应用使用的蜂窝数据,无论是在漫游,账单周期即将结束,还是使用少量的预付费数据包。Data Saver 让用户可以控制应用使用蜂窝数据的方式,同时让开发者打开 Data Saver 时可以提供更多有效的服务。
用户在 Settings 中启用 Data Saver 且设备位于按流量计费的网络上时,系统屏蔽后台数据使用,同时指示应用在前台尽可能使用较少的数据 — 例如,通过限制用于流媒体服务的比特率、降低图片质量、延迟最佳的预缓冲等方法来实现。用户可以将特定应用加入白名单以允许后台按流量的数据使用,即使在打开 Data Saver 时也是如此。