小编And*_*ird的帖子

Doctrine2一对一关系自动加载查询

我有一个看起来像这样的查询:

我的用户实体具有一对一的关系,如下所示:

/**
 * @var UserProfile
 *
 * @ORM\OneToOne(targetEntity="UserProfile",mappedBy="user")
 */
private $userProfile;
Run Code Online (Sandbox Code Playgroud)

每当我进行查询以选择多个用户对象时,它会为每个用户创建一个额外的select语句来查询UserProfile数据,即使我没有通过get方法访问它.我并不总是需要UserProfile数据,我当然不希望每次显示用户列表时都加载这些数据.

知道为什么这些查询在运行时执行?

doctrine-orm

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

亚马逊EC2上的PHP应用程序的体系结构

我最近在我创建的Facebook应用程序上遇到了大量的流量(主要是为了教育,没有任何营销意图)

不用说,我在创建应用程序时没有考虑可伸缩性.我现在处于MediaTemple托管的微弱虚拟服务器根本没有削减它的位置,而且它真正归结为机器的原始I/O. 由于这个项目到目前为止对我如此教育,我想我会以此为契机来了解Amazon EC2平台.

应用程序本身是用PHP(使用Zend Framework)和MySQL后端创建的.我尽可能使用memcached进行应用程序缓存.我花了整个周末玩EC2,启动实例,安装我想要的软件包,以及将EBS卷安装到实例.

但是,为可扩展性带来良好结果的下一个合乎逻辑的步骤是什么?我是为MySQL启动AMI实例还是为Apache服务启动一个?或者我只是根据需要复制实例多次,然后在前端进行某种负载平衡?理想情况下,我想拥有一个集中式数据库,因为我会在所有数据库行中汇总统计信息,但是,这不是一个很难的要求(我可能会想出一些特定于应用程序的解决方案来解决这个问题)

我知道这可能不是一个直截了当的答案,所以欢迎提出意见和建议.

php zend-framework amazon-ec2

30
推荐指数
2
解决办法
9352
查看次数

在Zend Framework中使用多个表关系建模对象

我正在使用Zend Framework并尝试使用"快速入门"指南来对付我正在制作的网站以了解该流程的工作原理.如果这个答案显而易见,请原谅我,希望有经验的人可以对此有所了解.

我有三个数据库表:

CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `email` varchar(255) NOT NULL,
  `username` varchar(255) NOT NULL default '',
  `first` varchar(128) NOT NULL default '',
  `last` varchar(128) NOT NULL default '',
  `gender` enum('M','F') default NULL,
  `birthyear` year(4) default NULL,
  `postal` varchar(16) default NULL,
  `auth_method` enum('Default','OpenID','Facebook','Disabled') NOT NULL default 'Default',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

CREATE TABLE `user_password` (
  `user_id` int(11) NOT NULL,
  `password` varchar(16) NOT NULL default …
Run Code Online (Sandbox Code Playgroud)

php zend-framework model

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

在mongo中随机排序结果集

我最近发现Mongo在命令语法中没有等同于"ORDER BY RAND()"的SQL(https://jira.mongodb.org/browse/SERVER-533)

我已经在http://cookbook.mongodb.org/patterns/random-attribute/看到了这个建议,坦率地说,在文档中添加一个随机属性就像是一个黑客.这不起作用,因为这会对我想要随机化的任何给定查询设置隐式限制.

另一个广泛给出的建议是选择一个随机索引来抵消.由于我的文档插入的顺序,这将导致其中一个字符串字段按字母顺序排列,这对我的网站用户来说不会感觉非常随机.

关于如何通过代码解决这个问题,我有几个想法,但我觉得我错过了一个更明显和原生的解决方案.有没有人对如何更优雅地解决这个问题有一个想法或想法?

mongodb

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

使用webpack从动态源输出UMD模块

我有一个项目结构,其中包含一个文件夹,当我构建我的webpack配置并将每个文件作为输出版本中的子模块时,我想将其动态导入到UMD模块中.

例如,假设我的来源如下:

/src/snippets/red.js
/src/snippets/green.js
/src/snippets/blue.js
Run Code Online (Sandbox Code Playgroud)

我希望webpack将这些源构建到一个模块中,这个模块允许我作为子模块访问每个模块,就像这样;

const red = require('snippets').red
Run Code Online (Sandbox Code Playgroud)

我尝试遍历snippets目录并创建一个带有文件名和路径的对象,但我无法弄清楚哪个配置属性会指示webpack将它们捆绑到一个文件中并导出每个文件.这是我到目前为止所拥有的:

const glob = require('glob')

module.exports = {
    entry: glob.sync('./src/snippets/*.js').reduce((files, file) => {
        files[path.basename(file,'.js')] = file

        return files
    }, {}),
    output: {
      path: __dirname + '/lib',
      filename: 'snippets.js',
      libraryTarget: 'umd'
    }
}
Run Code Online (Sandbox Code Playgroud)

这出错了: Conflict: Multiple assets emit to the same filename ./lib/snippets.js

关于如何实现我正在寻找的东西的任何想法?

webpack umd

11
推荐指数
1
解决办法
1146
查看次数

如何规划企业级Web应用程序?

我正处于自由职业生涯的某个阶段,我为中小型企业开发了几个支持项目管理,预订/预订和电子邮件管理等内容的Web应用程序.

我喜欢这项工作,但发现最终我的应用程序达到了维护人员听到非常高的程度.我回顾一下我6个月前写的代码,发现我必须花一些时间重新学习我最初的代码,然后才能修复或增加功能.我确实尝试使用框架(之前我使用过Zend Framework,并考虑将Django用于我的下一个项目)

您使用哪些技术或策略来规划一个能够处理大量用户而不会破坏并仍然保持代码足够清晰以便轻松维护的应用程序?如果任何人有任何他们可以推荐的书籍或文章,那也将非常感激.

frameworks

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

将图像从剪贴板粘贴到网站

我需要为用户提供一个解决方案,以便能够将图像粘贴到网站上,然后将该图像上传到Web服务器.我不确定这是什么正确的解决方案 - 我很确定javascript是不可能的,因为我不认为它可以处理二进制剪贴板数据(或任何剪贴板数据?)

所以,我不确定采用哪种方式.这是Java applet的可能吗?或者也许是Flash SWF?还有其他选择吗?

ajax clipboard image

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

Zend_Navigation的自定义渲染

我正在使用导航XML文件和我的Zend Framework MVC应用程序.

顶层菜单呈现在我的布局顶部.生成它的代码如下所示:

$this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>  0));
Run Code Online (Sandbox Code Playgroud)

这将自动呈现我已在顶部菜单中设置样式的无序链接列表.现在,我想渲染子菜单(渲染活动容器树)利用所有内置的Zend_Navigation优点(MVC和ACL集成),但使用自定义标记.我会这样插入:

$this->navigation()->menu()->renderSubMenu();
Run Code Online (Sandbox Code Playgroud)

事实上,我有一组非常具体的标记,我需要用它来渲染它.它是如此截然不同我不认为我可以设置无序列表来容纳我想要的演示文稿.

是否有一种简单的方法(或者如果需要可以复杂;)来自定义子菜单?

php zend-framework zend-navigation

8
推荐指数
2
解决办法
9363
查看次数

何时在Mongo DB中嵌入文档

我正在试图弄清楚如何最好地设计Mongo DB模式.Mongo DB文档建议严重依赖嵌入式文档来改进查询,但我想知道我的用例是否真的证明了引用文档的合理性.

我当前架构的一个非常基本的版本基本上是:(对于伪格式的道歉,我不知道如何表达Mongo架构)

users {
  email (string)
}

games {
  user (reference user document)
  date_started (timestamp)
  date_finished (timestamp)
  mode (string)
  score: {
    total_points (integer)
    time_elapsed (integer)
  }
}
Run Code Online (Sandbox Code Playgroud)

游戏很短(大约60秒),我期待很多并发写入.

在某些时候,我将要计算一个高分列表,并且可能以隔离的方式(例如,特定游戏的高分列表.模式或日期)

嵌入式文档是最好的方法吗?或者这真是一个关系解决得更好的问题吗?如何在Mongo DB中最好地解决这些用例?

mongodb

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

MediaRecorder Blob将在电子应用中提交

我有一个电子应用程序,具有非常简单的桌面捕获功能:

const {desktopCapturer} = require('electron')
const fs = require('fs');

var recorder;
var chunks = [];
var WINDOW_TITLE = "App Title";

function startRecording() {
    desktopCapturer.getSources({ types: ['window', 'screen'] }, function(error, sources) {
        if (error) throw error;

        for (let i = 0; i < sources.length; i++) {
            let src = sources[i];
            if (src.name === WINDOW_TITLE) {
                navigator.webkitGetUserMedia({
                    audio: false,
                    video: {
                        mandatory: {
                            chromeMediaSource: 'desktop',
                            chromeMediaSourceId: src.id,
                            minWidth: 800,
                            maxWidth: 1280,
                            minHeight: 600,
                            maxHeight: 720
                        }
                    }
                }, handleStream, handleUserMediaError);
                return;
            } …
Run Code Online (Sandbox Code Playgroud)

mediarecorder getusermedia electron

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