小编Mar*_*arc的帖子

如何在Symfony2控制台命令中设置环境

希望是一个简单的问题 - 如何在Symfony2中运行控制台命令时指定使用哪个环境.我已经创建了一些命令,但是当我在我的登台服务器和我的'prod'环境中时,我想在我的'staging'环境的上下文中运行它们在我的生产服务器上(不同的环境定义不同的数据库连接).如何配置此信息并将其传递给我的控制台命令?

symfony

40
推荐指数
5
解决办法
4万
查看次数

Symfony2 api的身份验证(适用于移动应用)

我为我的Symfony2应用程序开发了一个REST api.此API将由移动应用使用.许多功能是在当前经过身份验证的用户的上下文中完成的,即:

$this->container->get('security.context')->getToken()->getUser()
Run Code Online (Sandbox Code Playgroud)

我希望移动应用程序能够像传统的Web表单一样发布到登录操作.如果证书签出,那么Symfony2会做它并设置一个cookie(这是否可以在访问api的移动应用程序的上下文中工作?).然后,来自该移动电话的api请求将(希望)与本机symfony2 security.context服务容器一起使用.

这会有用吗?在将API提供给移动开发人员之前,我需要弄清楚这个授权过程.如果可能的话,我显然希望能够使用本机security.context服务,而不是为使用xAuth或类似功能的api构建新的auth系统.

谢谢

authentication api authorization mobile-application symfony

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

CarrierWave如何在给定的URL上存储文件

我通过典型的ORM设置使CarrierWave正常工作并通过表单上传.我想弄清楚如何在表单提交上下文之外使用CarrierWave.例如,当用户注册时,我想抓住他们的gravatar并将其存储在CarrierWave中.这是我拥有的,它不起作用:

gravatar_url = "http://www.gravatar.com/avatar/#{Digest::MD5.new.update(current_user.email)}?s=512&d=identicon"

uploader = ImageUploader.new
uploader.store! gravatar_url
Run Code Online (Sandbox Code Playgroud)

也没有错误.我一直在寻找网络,但一直无法找到解决方案.

ruby-on-rails carrierwave

20
推荐指数
3
解决办法
2万
查看次数

SQLAlchemy过滤相关对象的查询

使用SQLAlchemy,我与两个表有一对多的关系 - 用户和分数.我试图查询排名前10位的用户,这些用户按过去X天的总分进行排序.

users:  
  id  
  user_name  
  score  

scores:  
  user   
  score_amount  
  created  
Run Code Online (Sandbox Code Playgroud)

我目前的查询是:

 top_users = DBSession.query(User).options(eagerload('scores')).filter_by(User.scores.created > somedate).order_by(func.sum(User.scores).desc()).all()  
Run Code Online (Sandbox Code Playgroud)

我知道这显然不正确,这只是我最好的猜测.但是,在查看文档和谷歌搜索后,我找不到答案.

编辑:如果我勾勒出MySQL查询的样子,也许会有所帮助:

SELECT user.*, SUM(scores.amount) as score_increase 
FROM user LEFT JOIN scores ON scores.user_id = user.user_id 
WITH scores.created_at > someday 
ORDER BY score_increase DESC
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

亚马逊s3分区文件的最佳实践

希望这是一个简单的问题 - 如果它已经被回答但是没有出现在搜索中,则道歉.

在S3上,最好将图像组织到较小的子目录中,还是将它们全部保存在一个目录中?在典型的文件系统中,可以将目录中的图像命名为命名空间以提高性能.在一个目录中具有数千个图像的平面结构通常不能很好地执行.这是亚马逊S3的情况吗?

我可以将所有用户图像放入用户文件夹,将所有图像发布到帖子文件夹等.或者我可以将用户图像放入像users/{userId}这样的文件夹中,以避免在一个用户文件夹中有数千个图像.

filesystems amazon-s3

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

使用Doctrine 2查询构建器的正则表达式?

根据标题,如何使用Doctrine 2查询构建器匹配正则表达式?基本上我正试图产生独特的slu ..

这是我目前的实施.我生成了slu .. 然后我检查是否有像这个slug一样使用的slu .. 如果有,我会将一个 - {number}附加到slug的末尾,其中{number}是尚未使用的最低数字.

$qb->select(array('partial o.{id, slug}'))
   ->from('Foo\Bar\Entity\Object', 'o')
   ->where($qb->expr()->like('o.slug', ':slug'));

$slug = new SlugNormalizer($text);
$qb->setParameter('slug', $slug->__toString().'-%');
Run Code Online (Sandbox Code Playgroud)

这里的问题是LIKE slug%可以匹配foo-bar-1,foo-bar-2和AND foo-bar-not-the-same-slug.更清洁的是寻找REGEX slug的正则表达式 - (\ d +)或类似的东西.

使用Doctrine 2查询构建器的任何方法吗?

regex doctrine-query doctrine-orm

14
推荐指数
3
解决办法
2万
查看次数

在MongoDB中建模投票系统的最佳方法

我正在尝试在MongoDB中建立一个投票系统.你可以把它想象成一个类似于reddit的投票系统.要求:

  1. 投票与对象相关联
  2. 检查用户是否对某个对象进行了投票是非常快的.应用程序将需要知道登录用户是否已对对象进行投票,同时它循环通过对象列表呈现投票按钮.
  3. 最重要的是,它必须能够以合理的性能检索在给定时间段(最后一小时,一天,一个月等)内按其总分数排序的对象.
  4. 应该能够支持每个对象数千票.

我在这里看到两种方法(如果我错了,请纠正我!):

  1. 在每个对象中嵌入一系列投票文档.我可能会存储投票用户的ObjectId,投票金额和投票时间.voterId将是投票数组中每个嵌入式投票文档的关键,以允许快速哈希查找.
  2. 使用引用对象的投票保留单独的投票集合.

我也想过将投票嵌入到按小时分组的"桶"中的想法.

对于第2号要求,第1号的速度非常快,但我不知道在这种情况下是否可以使用第3号要求.

对于第2号要求,第2号的速度要慢一些,我不确定3号要求/如何实现它的表现会是什么样的(map reduce?).

基本上我似乎需要从第3项要求的合理快速解决方案开始,然后确保要求No 2不会太慢.想法?


潜在解决方案

使用嵌入式方法.为每个对象添加一个参数,用于每小时得分,每日得分,每月得分等.最近添加另一个布尔参数 - 最近投票,最近每小时和最近每日.创建一个在对象上运行map-reduce的脚本,以计算和更新这些参数.

该脚本将通过cron运行三种变体.

  1. 10分钟间隔:计算前一小时得分> 0的对象的小时得分或最近投票=真的对象.运行此脚本后设置recent-voted = false.设置recent-hourly = true.
  2. 3小时间隔:计算最近每小时=真的任何对象的每日分数.设置recent-hourly = false.设置recent-daily = true.
  3. 24小时间隔:计算最近每日=真的任何对象的每月分数.设置recent-daily = false.

我们的想法是尽量减少对正在运行的分数计算脚本无关的对象的不必要处理(每小时应该只运行自上次每小时运行以来已经投票的对象,或者尚未投票的对象并需要重置为0).另一个好处是*-score值不仅需要根据对象投票计算.例如,您可以包含页面视图,或者其他任何内容.关于这种方法的想法?

database-design mongodb

12
推荐指数
1
解决办法
2654
查看次数

如何在不加载关联对象的情况下获取Doctrine 2中的关联外键ID?

嗨,我遇到麻烦,我认为这将是一件容易的事.

我正在从数据库中检索一个帖子.Post实体具有与User实体相关联的字段createdBy.

我想要做的是使用两个单独的查询(无连接)加载Post和User.这意味着我需要访问$ post对象上的created_by外键整数.学说似乎根本没有揭露这一点.var_dump的帖子显示createdBy => null.如果我直接在post查询中加入用户createdBy => User对象.有没有办法从post获取created_by外键整数,所以我可以查询用户?

谢谢

symfony doctrine-orm

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

facebook打开图形爬虫在rails操作中触发json响应

出于某种原因,facebook爬虫正在我的rails操作中触发json响应.这导致操作只返回对象的json表示,而没有正常的html标记+打开图标记.我用rails 3.2.6对它进行了测试.我使用facebook开放图调试器来查看刮刀所看到的内容:http://developers.facebook.com/tools/debug.

代码很简单.想象一个对象的简单"显示"动作,例如用户.它结束于:

respond_to do |format|
  format.js { render :json => @this.to_json }
  format.html
end
Run Code Online (Sandbox Code Playgroud)

facebook抓取工具正在触发format.js,这会导致打开的图形标记无法呈现.任何想法为什么会发生这种情况或如何解决它?谢谢.

ruby-on-rails facebook-graph-api ruby-on-rails-3 ruby-on-rails-3.1 facebook-opengraph

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

使用jQuery在文本区域的光标位置创建工具提示

我正在尝试在文本区域中的输入插入符号上方创建工具提示.如果我可以在文本区域中获得插入符号的x,y坐标,这将很容易,但是我已经搜索了一会儿并且无法弄清楚如何做到这一点.

假设用户在文本区域中键入然后按某个键(例如@符号).我试图在文本区域插入符号上方显示一个小工具提示.

有任何想法吗?

jquery

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