小编Bil*_*lga的帖子

小开发团队的Git分支策略

我们有一个网络应用程序,我们几乎每天更新和发布.我们使用git作为我们的VCS,我们当前的分支策略非常简单和破坏:我们有一个主分支,我们检查我们感觉良好的变化.这是有效的,但直到我们检查一个突破性的变化.

有没有人对小型团队有最喜欢的git分支策略,满足以下要求:

  1. 适用于2到3名开发人员的团队
  2. 轻量级,而不是太多的过程
  3. 允许开发人员轻松地隔离有关错误修复和更大功能的工作
  4. 允许我们保持稳定的分支(当我们必须让我们的生产服务器工作时,那些'哦'废话'的时刻)

理想情况下,我很乐意看到一个开发人员处理新bug的分步过程

git branch git-branch

183
推荐指数
4
解决办法
9万
查看次数

从JavaScript文件强制缓存过期

我有一个旧版本的JS文件缓存在用户的浏览器上,过期设置为10年(从那时起,我已经学会了如何在我的Web服务器上正确设置过期标题).我已经对JS文件进行了更新,我希望我的用户能够从中受益.

  • 有没有办法我的网络服务器可以强制用户的浏览器清除这个文件的缓存,而不是提供不同名称的JS文件?
  • 将来,如果expires头文件设置不正确(偏执狂),我的JS文件是否可以自动过期并强制重新加载,比如说,自缓存后的一天过去了?

编辑:理想情况下,我想在更改承载脚本的页面上的HTML标记的情况下解决此问题.

javascript firefox caching

9
推荐指数
2
解决办法
1万
查看次数

Celery和Redis的内存不足

我有一个部署到Heroku的Django应用程序,其中一个工作进程运行芹菜(+ celerycam用于监控).我使用RedisToGo的Redis数据库作为经纪人.我注意到Redis的内存不足.

这是我的procfile的样子:

web: python app/manage.py run_gunicorn -b "0.0.0.0:$PORT" -w 3
worker: python lipo/manage.py celerycam & python app/manage.py celeryd -E -B --loglevel=INFO
Run Code Online (Sandbox Code Playgroud)

这是KEYS'*'的输出:

  1. "_kombu.binding.celeryd.pidbox"
  2. "celeryev.643a99be-74e8-44e1-8c67-fdd9891a5326"
  3. "celeryev.f7a1d511-448b-42ad-9e51-52baee60e977"
  4. "_kombu.binding.celeryev"
  5. "celeryev.d4bd2c8d-57ea-4058-8597-e48f874698ca"
  6. `_kombu.binding.celery"

celeryev.643a99be-74e8-44e1-8c67-fdd9891a5326 正在填写这些消息:

{"sw_sys": "Linux", "clock": 1, "timestamp": 1325914922.206671, "hostname": "064d9ffe-94a3-4a4e-b0c2-be9a85880c74", "type": "worker-online", "sw_ident": "celeryd", "sw_ver": "2.4.5"}
Run Code Online (Sandbox Code Playgroud)

知道如何定期清除这些消息吗?

django redis celery celeryd celerybeat

9
推荐指数
1
解决办法
2093
查看次数

Ruby mixin给出了未识别的常量错误

在irb,我这样做

class Text
  include FileUtils
end
Run Code Online (Sandbox Code Playgroud)

我得到:NameError:未初始化的常量Test :: FileUtils

如果我这样做:包括FileUtils(即现在的类)everthing工作.

是什么赋予了?

ruby

8
推荐指数
1
解决办法
4227
查看次数

保护返回JSON的ASP.NET MVC控制器操作

我有一个MVC3应用程序,我的控制器操作使用[Authorize]属性进行保护.到目前为止,这么好,表格auth工作得很好.现在我想向我的应用程序添加一个JSON API,以便非浏览器客户端可以访问某些操作.

我无法搞清楚'正确'的设计.

1)每个用户都有秘密的API密钥.

2)用户ID 5调用http://myapp.com/foocontroller/baraction/5?param1=value1m2=value2&secure_hash=someValue.这里,secure_hash只是param1的SHA1哈希值,而param2的值附加了用户的秘密API密钥

2)/ foocontroller/baraction将使用[CustomAuthorize]进行修饰.这将是AuthorizeAttribute的一个实现,它将检查请求是否以JSON形式进入.如果是,它将检查散列并查看它是否匹配.否则,如果请求是HTML,那么我调用现有授权.

我不确定这是否有效.在查询字符串中传递安全哈希是否正常,或者我应该将其作为HTTP头传递?使用HTTP基本身份验证而不是使用秘密API密钥创建的哈希是否更好?

任何使用ASP.NET MVC制作Web API的人都会受到欢迎!

asp.net authentication json asp.net-mvc-3

8
推荐指数
1
解决办法
4260
查看次数

在加载资源之前等待承诺解决

我的一个AngularJS控制器包含以下行:

api.tickets.query()
Run Code Online (Sandbox Code Playgroud)

api模块包含:

angular.module('myapp.api', [
  'ngResource'
])

.factory('api', function($resource, applicationsService) {

  function fetchAppId() {
    return applicationsService.getCurrentApp();
  }

  return {
    tickets: $resource('tickets', {
      applicationId: fetchAppId
    }),
    ...
  }
Run Code Online (Sandbox Code Playgroud)

applicationsService.getCurrentApp()自己进行$ http调用.所以你也许可以看到问题 - 这个调用可能在fetchAppId()返回时没有得到解决.

我怎么能绕过这个?

promise angularjs

7
推荐指数
1
解决办法
4万
查看次数

用于将数据加载到Rails应用程序的ETL框架

我需要定期从多个提供程序(基于REST/SOAP的XML提要)将我的Rails应用程序的数据加载到数据库中.我编写了一组Rake任务,这些任务由每当生成的cron作业启动.每个任务都会命中伙伴Feed端点,解析Feed并将其加载到数据库中.

而不是编写Rake任务,我应该使用像ActiveWarehouse这样的ETL框架(http://activewarehouse.rubyforge.org/etl/)吗?有关在Rails中执行此操作的最佳方法的任何建议吗?

database feeds etl ruby-on-rails

6
推荐指数
1
解决办法
866
查看次数

Python用转义的双引号解析JSON

考虑这个有效的json:

{"a": 1, "b": "{\"c\":2}"}

json当我尝试解析它时,Python 的模块抛出 - 看起来\"它正在抛出它:

json.loads('{"a": 1, "b": "{\"c\":2}"}')
回溯(最近一次调用最后一次):
  文件“”,第 1 行,在 
  文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py”,第 338 行,加载中
    返回 _default_decoder.decode(s)
  文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第 365 行,解码
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第 381 行,raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 1 column 15 (char 14)

有没有办法在 Python 中解析这个,要么使用json模块,要么使用其他模块,比如ujson

python encoding json

6
推荐指数
1
解决办法
8012
查看次数

Ruby在n*milli*秒后超时一段代码

在Ruby中,我需要在n 毫秒后超时执行一段代码.我知道Ruby Timeout库在几秒钟内支持超时:

http://ruby-doc.org/stdlib/libdoc/timeout/rdoc/index.html

这可能吗?

ruby timeout

5
推荐指数
1
解决办法
2683
查看次数

URL被截断为255个字符

我有一个JavaScript小部件,它通过在DOM中创建标签与我的Rails应用程序进行通信.每隔一段时间,我在服务器日志中看到格式错误的请求,其中URL被截断为255个字符:

http://myapplication.example/mycontroller/1/myaction?hostname=www.mycustomer.example&request[param_a]=3&request[param_b]=1&request[param_c]=0&request[param_d]=0&request[param_e]=3&request[param_f]=1&request[param_g]=4&request[param_h]=0&request[param_i]=5&request
Run Code Online (Sandbox Code Playgroud)

从Google和Stackoverflow(不同浏览器中URL的最大长度是多少?),看起来255个字符不是URL的有效限制.

这就是我所知道的:

  • 这是一个零星的问题,它不会发生在所有请求上
  • 发生这种情况时,URL会被截断为255个字符
  • 发生此错误时,用户代理不会记录在回溯中

这是我不知道的:

  • 这种错误发生在什么类型的浏览器上?也许一些移动浏览器......

根本导致此问题的最佳方法是什么?

javascript url truncate ruby-on-rails

5
推荐指数
1
解决办法
4215
查看次数

覆盖iframe的document.write

为了我自己的目的(咳嗽懒惰加载广告脚本),我覆盖了document.write函数,以缓冲脚本的输出,将其写入div,并在完成后恢复本机document.write.

伪代码看起来像这样:

  • 保存本机代码document.write
  • 重新定义document.write
  • 脚本的eval和缓冲输出
  • 脚本完成后,将缓冲区写入
  • 恢复本机document.write

问题出现在粗体步骤中 - 广告脚本中的一行创建了iframe,然后调用

frame.document.write
Run Code Online (Sandbox Code Playgroud)

单步执行Firebug,我已经验证了这个document.write是本机JS代码而不是我的覆盖版本.

有没有办法覆盖所有窗口和框架的document.write?这是一个范围问题,但我不确定如何强制我的document.write占上风.

javascript iframe scope document.write

3
推荐指数
1
解决办法
1565
查看次数