主要记录最近遇到的一些开发问题,解决方法。1. Linux 下设置 Git 访问凭证Windows 或 OS X 上有 keychain 工具管理账户凭证,在 Linux 系统上使用 Http/Https 协议访问 Git 仓库时,每次都需要输入账户密码。通过下面的配置,可以省略这一过程。新建凭证文件$ touch ~/.git-credentials 编辑文件,添加凭证信息https://{us ...
阅读更多 »
1. 安全问题日趋严重随着互联网对生活场景的层层渗透,我们越来越依赖于各种网络 ID。这些 ID 构成了数字版的我们,是极其重要的账户资产。另一方面,各种账户信息泄露事件、安全事件却时有发生,CSDN、12306、华住酒店、Facebook、Twitter、Uber…..不一而足。更可怕的是,这些还是被曝光的、被公开的账户信息泄露事件,冰山之下,可以还有更多的信息泄露。目前国内互联网,似乎更在意信 ...
阅读更多 »
本文主要提供了 Django 字段、查询方面的优化建议,同时还介绍了一个 Django-silk 性能分析工具。希望对你开发高性能的 Django 工程有所帮助。1. DBA 的建议1.1 表字段设计避免出现 null 值,null 值难以查询优化且占用额外的索引空间尽量使用 INT 而非 BIGINT,尽可能准确描述字段使用枚举或整数,替代字符串类型使用 TIMESTAMP 替代 DATETIM ...
阅读更多 »
1. 碰到的问题前端请求量大,并发高,访问速度慢,瓶颈主要表现在:单表大单库大网络 IO 慢磁盘 IO 慢网络、磁盘 IO 优化,主要依靠硬件升级。理论上,数据库对单库、单表的大小没有限制,但是过大的单库、单表会导致更多的请求落到单机上,给 IO 造成压力。理想情况是,通过增加机器,能不断地增加系统并发能力。当 MySQL 单表数据量达到百万级别时,我们就应该开始存储相关的知识,以应对可能的问题。 ...
阅读更多 »
1. 敏捷开发是什么在传统的软件研发模型中,从提出需求到最后交付,时间周期较长。瀑布模型遵循需求分析、设计、编码、集成、测试、维护六个步骤进行。一旦需求发生变化,不仅浪费前期投入,还不易于调整。敏捷开发是一种应对快速变化的需求的软件开发能力。特别是互联网软件,前期设计不可能十分完美,在研发的过程中,会不断地调整、优化。敏捷开发是面向交付、面向协作的。相较于主张完善的设计、文档、流程规范,敏捷开发强 ...
阅读更多 »