原文:http://www.weiguda.com/blog/41/ 当我们设置服务器时, 不应该每次都使用ssh登录服务器, 再按照记忆一步一步的配置. 因为这样实在是太容易忘记某些步骤了. 服务器设置应当自动化, 并写成文档. 在django用户中, Ansible, SaltStack, Puppet和Chef是最流行的四款自动化部署工具. 这些工具似乎都需要长时间学习才能使用, 因为这些工具不是为一台服务器设置的, 而是针对多台服务器的. 以下是这些工具的基本功能: 远程通过apt-ge…
Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt) 作者: Desmond Chen,发布日期: 2014-05-17, 修改日期: 2014-05-18 在Django 1.6中的settings.py中可以修改130多项设置, 但大多数都继承自默认值. 设置是在web服务器启动时首次载入的, 服务器重启时重新载入, 因此, 程序员们应尽量避免修改正式服务器上使用的settings.py文件. 以下是一些我们…
原文:http://www.weiguda.com/blog/38/ 如何正确的使用signal: 简单回答是: 在其他方法无法使用的情况下, 才最后考虑使用signal. 因为新的django开发人员得知signal之后, 往往会很高兴去使用它. 他们在能使用signal的地方就使用signal, 并且这是他们觉得自己是django专家一样. 然而, 像这样编码一段时间后, django项目就会变得异常复杂, 许多内容都纠结在一起无法解开. 许多开发者也会将django signal和异步消息…
参考: https://python-programming.courses/recipes/django-require-authentication-pages/ 即通过中间件来做AOP拦截.不用每个函数每个类加修饰器/MixIn. 1. 在某个处理用户相关的模块中添加middleware.py, 内容如下: from django.http import HttpResponseRedirect from django.conf import settings from re import…
. python datetime from datetime import datetime datetime.now() datetime.utcnow() from datetime import datetime,timezone,timedelta dt = datetime.utcnow() print(dt) dt = dt.replace(tzinfo=timezone.utc) print(dt) tzutc_8 = timezone(timedelta(hours=)) lo…
express 最佳实践 (一) 第二篇: express 最佳实践(二):中间件 最近,一直在使用 nodejs 做项目,对 nodejs 开发可以说深有体会. 先说说 nodejs 在业务中的脚色,, 在 web同构 方面, nodejs 的优势相对于其他语言来说,可以说非常巨大,基本上算是只有 nodejs 能做,其他语言根本不能做.在传统 web 开发方面,nodejs(必竟时间太短了)的相对于其他语言来说的劣势,已经不是太明显了. 再来说说自己,算了算差不多做了 5 个项目,都是使用…
持续部署:关注点在于项目功能部署到服务器后可以正常运行,为下一步测试环节或最终用户正式使用做准备.(问题点:一个环节有问题,其他环节跟着有问题) 持续集成:关注点是在于尽早发现项目整体运行问题,尽早解决.(问题点:经常性.频繁的把所有模块集成在一起进行测试,有问题尽早发现) 持续交付:关注点在于研发团队的最新代码能够尽快让最终用户体验到.(问题点:各个升级版本之间间隔时间太长,用户反馈感知迟钝,无法精确改善用户体验,用户流失严重,所以用小版本不断进行快速迭代,不断收集用户反馈信息,用最快的速度改…
原文: http://www.weiguda.com/blog/37/ 任何参与过高要求的大型项目的编程人员都明白设置适当的log等级, 创建不同的logger, 记录重要事件的重要性. 正确的设置和使用log并不是一件容易的事, 但 对于系统的稳定性而言, logging则是必不可少的. log不仅能用来debug程序, 并能追踪影响程序表现的指标. 之前我们提到需要定期查看access和error文件, 除了记录这些外, 还需要定期查看log文件, 以保证程序安全. 本片的内容主要关于Dja…
Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs. 为什么要使用REST framework? - 在线可视的API,对于赢得你的开发者们十分有用 - 验证策略涵盖了OAuth1a和OAuth2 - 同时支持ORM和非ORM数据源的序列化 - 可以配置各个环节,若无需更多强大的特性,使用一般基于方法(function-based)的视图(views)即可 - 大量的文档,强力的社区支持 - 大公司如同Mozilla和Eventbrite,也是忠实的使…
部署OpenStack环境并不是一项简单的任务:根据SUSE最近的调查显示“曾经部署过OpenStack的企业当中有一半都失败了”.然而,随着最佳实践的出现,企业可以使用其避免在部署OpenStack过程当中遭遇失败. 实现OpenStack成功部署的第一步就是设定一个切实可行的目标.OpenStack并不是一种简单的.即插即用的技术.相反,开源平台是一种十分复杂的架构,它为用户在配置和管理应用程序的方式上提供了很大的灵活性.数据中心咨询公司Zefflin的CEO Sam Melehy表示,“O…