小编Cha*_*son的帖子

什么是更好的设计?

我有以下课程:

class User {

  public function setName($value) { ... }
  public function setEmailAddress($value) { ... }
  public function setUsername($value) { ... }
  public function getName() { ... }
  public function getEmailAddress() { ... }
  public function getUsername() { ... }

  public function isGroupAdministrator($groupId) { ... }
  public function isMemberOfGroup($groupId) { ... }
  public function isSiteAdministrator() { ... }
  public function isRoot() { ... }
  public function hasModulePermission($moduleId, $recordId, $permissionCode) { ... }
  public function hasGroupPermission($groupId, $permissionCode) { ... }
  public …
Run Code Online (Sandbox Code Playgroud)

php oop design-patterns

7
推荐指数
2
解决办法
550
查看次数

Ruby中的双&符号

我正在使用Ruby on Rails的authlogic gem,我一直在使用以下内容来获取当前登录用户的id:

current_user = UserSession.find
id = current_user && current_user.record.id
Run Code Online (Sandbox Code Playgroud)

我不明白current_user && current_user.record.id如何返回当前用户ID.我认为这将返回一个布尔值.谁能解释一下这是如何工作的?

ruby

7
推荐指数
2
解决办法
3117
查看次数

如何解决内置AngularJS应用程序的依赖性问题?

我是AngularJS的新手,正在创建一个使用Grunt构建的应用程序.

当我构建并运行我的应用程序时,我注意到与依赖项加载顺序相关的一些问题:

Uncaught Error: [$injector:nomod] Module 'mycompany.admin.forms' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.2.13/$injector/nomod?p0=mycompany.admin.forms 
Run Code Online (Sandbox Code Playgroud)

在构建的app文件中,模块在声明之前正在使用:

angular.module('mycompany.admin.forms').controller('editController', ['$scope', function($scope) {
    // ...
}]);

angular.module('mycompany.admin.forms', [])

  .config(['$routeProvider', function($routeProvider) {
    // ...
  }]);
Run Code Online (Sandbox Code Playgroud)

以下是我项目的gruntfile.js中的相关片段:

grunt.initConfig({
    distdir: 'build',
    pkg: grunt.file.readJSON('package.json'),
    src: {
        js: ['src/**/*.js'],
    },
    concat: {
        dist: {
            src: ['<%= src.js %>', '<%= src.jsTpl %>'],
            dest: '<%= distdir %>/admin/app.js'
        }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript build dependency-management angularjs gruntjs

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

如何在Firefox和IE中使这个100%高度+列溢出布局工作?

我有一个三列布局,占用浏览器宽度和高度的100%(带填充).此布局包含两列,它们也占据100%的高度并且应该独立滚动.

这是一个jsfiddle:http://jsfiddle.net/KdZ9A/2/.以下是它在Chrome中的外观(可取 - 个别列滚动):

在此输入图像描述

和Firefox和IE(不受欢迎 - 正在滚动):

在此输入图像描述

这在Chrome中完美运行; 但是,在Firefox和IE(10)中,整个页面滚动而不是单个列滚动.我只希望列溢出并滚动 - 而不是正文.知道如何在Firefox和IE中使这项工作?

我还尝试了使用列内容的绝对定位的一种不同的方法:http://jsfiddle.net/KdZ9A/3/.

这是我正在使用的HTML:

<div id="container">
    <div id="inner">
        <div id="palette">palette</div>
        <div id="list">
            <div class="content"></div>
        </div>
        <div id="editor">
            <div class="content"></div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用绝对定位来达到100%的高度,然后在其中显示表格和表格单元格,以实现100%的立柱高度:

* {
    padding: 0;
    margin: 0;
}

html, body {
    width: 100%;
    height: 100%;
}

body {
    position: relative;
}

#container {
    background-color: #f1f1f1;
    position: absolute;
    left: 20px;
    right: 20px;
    top: 20px;
    bottom: 20px;
}

#inner {
    display: table;
    height: …
Run Code Online (Sandbox Code Playgroud)

html css

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

派生类中的额外公共方法?

如果我有一个抽象类和该类的派生类,我是否正确,根据良好和实际的设计实践,派生类不应该提供额外的公共方法(它们应该只实现抽象类,并可选择覆盖父方法)?

此外,为每个派生类设置不同的构造方法签名是否可以接受?

oop design-patterns public-method

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

使用Mercurial或Git分支处理数据库分支的标准或最佳方法是什么?

这一直是我心中的一个大问号.

我很快就会转向Mercurial或Git用于我的网络软件,有时候我的分支机构需要重大的数据库更改,其他分支机构不应该看到.这个,我不能总是为我的分支共享相同的数据库.

是否有一些标准的方法来处理分支和克隆的数据库更改?你们都做了什么?我正在使用MySQL.

database git mercurial branch

6
推荐指数
2
解决办法
1411
查看次数

如何通过jQuery向元素添加函数?

我想做这样的事情:

$('.dynamicHtmlForm').validate = function() {
  return true;
}

$('.dynamicHtmlForm .saveButton').click(function() {
  if (!$(this).closest('.dynamicHtmlForm').validate()) {
    return false;
  }

  return true;
});
Run Code Online (Sandbox Code Playgroud)

然后当我有一个类dynamicHtmlForm时,我希望能够提供一个自定义的validate()函数:

$('#myDynamicHtmlForm').validate = function() {
  // do some validation

  if (there are errors) {
    return false;
  }

  return true;
}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我得到了这个:

$(this).closest(".dynamicHtmlForm").validate is not a function
Run Code Online (Sandbox Code Playgroud)

我所描述的甚至可能吗?如果是这样,我做错了什么?

javascript jquery

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

SSH上的多用户Mercurial存储库?

我有一个集中的Mercurial存储库,我希望通过SSH提供访问权限.

我做了一个chown root:开发人员存储库-R在存储库目录中,因此组'开发人员'中的所有用户都应该有权访问.

因此,我克隆,将我的初始文件作为用户A,提交,推送,完成添加到存储库.现在,我作为用户B,克隆,添加文件,提交和推送.但是,当我进行拉动,更新,并将该文件更改为用户A然后尝试推送时,我得到了

pushing to /var/hg/repository
searching for changes
1 changesets found
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: Permission denied: /var/hg/repository/.hg/store/data/test.i
Run Code Online (Sandbox Code Playgroud)

我错过了配置步骤吗?我应该不使用SSH吗?

编辑我发现使用粘滞位解决了问题:如何设置权限,以便两个用户可以在同一个hg存储库上工作?.这是一个糟糕的解决方案?

mercurial

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

是否与Mercurial的常规做法不断融合?这个工作流程出了什么问题?

我的公司正在转向Mercurial,我们来自Subversion.

我们注意到我们必须在工作流程中进行大量合并.例如,如果我更改文件,提交,拉取,更新,推送,然后我的同事更改文件,提交,拉取和更新,他会收到"交叉分支"错误并且必须执行hg合并.我们每次想要推送到中央存储库时,我们都必须这样做.

我们的工作流程有问题吗?似乎错误的是,在我们的历史记录中,对于给定文件,将会有大量的历史条目说"与[changeset id]合并""与[changset id]合并."

这只是它的方式吗?或者我们做错了什么?

merge mercurial

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

在Rails中扩展现有布局

我有我的主应用程序布局,但后来我的网站的/ account部分与应用程序布局markupwise具有完全相同的布局,除了/ account页面在布局的内容区域中添加了侧边栏.

我不想公然复制应用程序布局并创建几乎冗余的"帐户"布局,而是扩展应用程序布局,在内容区域添加侧边栏.

所以我的应用程序布局中有这样的东西:

<html>
<body>

<div id="content">

<%= yield %>

</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

而且我要

<html>
<body>

<div id="content">

  <div id="sidebar"></div>

  <%= yield %>

</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

有没有办法在不复制代码的情况下实现这一目标?

layout ruby-on-rails

6
推荐指数
2
解决办法
4297
查看次数