小编Ond*_*ták的帖子

ExpressJS如何构建应用程序?

我正在使用NodeJS的ExpressJS Web框架.

使用ExpressJS的人将他们的环境(开发,生产,测试......),他们的路线等放在了app.js.我认为这不是一个很好的方式,因为当你有一个很大的应用程序时,app.js太大了!

我想有这个目录结构:

| my-application
| -- app.js
| -- config/
     | -- environment.js
     | -- routes.js
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

app.js

var express = require('express');
var app = module.exports = express.createServer();

require('./config/environment.js')(app, express);
require('./config/routes.js')(app);

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

配置/ environment.js

module.exports = function(app, express){
    app.configure(function() {
    app.use(express.logger());
    });

    app.configure('development', function() {
    app.use(express.errorHandler({
        dumpExceptions: true,
        showStack: true
    }));
    });

    app.configure('production', function() {
    app.use(express.errorHandler());
    });
};
Run Code Online (Sandbox Code Playgroud)

配置/ routes.js

module.exports = function(app) {
    app.get('/', function(req, res) {
    res.send('Hello world !');
    });
};
Run Code Online (Sandbox Code Playgroud)

我的代码运行良好,我认为目录的结构很漂亮.但是,代码必须进行调整,我不确定它是好还是漂亮.

使用我的目录结构并调整代码或只使用一个文件(app.js)更好吗?

谢谢你的建议!

node.js express

513
推荐指数
14
解决办法
16万
查看次数

响应式引导程序导航栏中的中心内容

我无法将我的内容集中在引导程序导航栏中.我正在使用bootstrap 3.我读了很多帖子,但是使用的CSS或方法不能用于我的代码!我真的很沮丧,所以这就像我的最后一个选择.任何帮助,将不胜感激!

<!DOCTYPE html>
<html>
  <head>
    <title>Navigation</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="css/style.css" rel="stylesheet" media="screen">
  </head>
  <body>
    <div class="container">
      <nav class="navbar navbar-default" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav">
            <li><a href="#">Link</a></li> …
Run Code Online (Sandbox Code Playgroud)

css navbar twitter-bootstrap

217
推荐指数
6
解决办法
54万
查看次数

如何在Symfony2中设置表单字段的默认值?

有没有简单的方法为文本表单字段设置默认值?

php symfony

134
推荐指数
12
解决办法
18万
查看次数

使用std命名空间

关于std命名空间使用'using'似乎有不同的看法.

有人说使用' using namespace std',其他人说不要,而是先加上与' std::' 一起使用的std函数,而其他人则说使用这样的东西:

using std::string;
using std::cout;
using std::cin;
using std::endl;
using std::vector;
Run Code Online (Sandbox Code Playgroud)

对于要使用的所有std函数.

各自的优点和缺点是什么?

c++ namespaces

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

虚拟?重写?或两者?C++

在过去的几周里,有些东西正在困扰我的大脑虚拟和覆盖.我已经了解到,当你使用虚函数进行继承时,你必须添加virtual以让编译器知道搜索正确的函数.之后我还了解到在c ++ 11中有一个新关键字 - 覆盖.现在我有点困惑; 我是否需要在程序中同时使用虚拟和覆盖关键字,或者最好只使用其中一个?

为了解释自己 - 我的意思的代码示例:

class Base
{
public:
    virtual void print() const = 0;
    virtual void printthat() const = 0;
    virtual void printit() const = 0;
};

class inhert : public Base
{
public:
    // only virtual keyword for overriding.
    virtual void print() const {}

    // only override keyword for overriding.
    void printthat() const override {}

    // using both virtual and override keywords for overriding.
    virtual void printit() const override {}
};
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法?

c++ c++11

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

通过PEAR安装PHPUnit

我通过PEAR 1.9.0安装PHPUnit 3.4.6时遇到问题.在我发现channel pear.phpunit.de并尝试使用以下命令之一后:

pear安装phpunit/PHPUnit

pear install --alldeps phpunit/PHPUnit

pear install --onlyreqdeps phpunit/PHPUnit

它失败了,给我以下错误:

没有可用于"pear.phpunit.de/PHPUnit"包的版本

安装失败

我发现有几个线程来自同样问题的人,但将PEAR升级到最新版本通常适用于他们.似乎还有几乎没有安装PHPUnit for Windows的教程.

编辑:

我也尝试将prefered_state更改为beta; 没有帮助.

我还尝试获取所有可用包的列表:

pear remote-list -c phpunit

它给了我另一个错误:

无法下载非http网址"/c/categories.xml"

php pear phpunit

78
推荐指数
6
解决办法
5万
查看次数

处理项目配置文件最简单的方法是什么?

在任何项目中至少有一个配置文件是很常见的.每次与我分享项目时git,我都遇到同样的问题:

  • 敏感信息(每个开发人员都有不同的DB密码等)
  • 任务特定信息(当开发人员处理需要更改某些设置的特定任务时)

显然,必须以某种方式忽略配置,以防止开发人员特定数据泛滥到主存储库.现在有几种我常用的方法,每种方式都有一些缺陷:

  • .gitignore 配置文件
    • 最基本的方式
    • 当开发人员克隆repo时,配置文件丢失,并且必须找出configs重新创建的位置
  • 配置文件不会被忽略.它包含一些虚拟信息,每个开发人员要么解开并将其放入.git/info/exclude或设置git update-index --assume-unchanged ...为文件
    • 克隆repo的任何人都可以使用这些文件
    • 它包含的先进技术可能会使第一次使用git的人感到困惑
    • 当有人意外提交配置文件时,它不允许人们拉/取(因为排除不起作用的方式.gitignore)
  • 例如,_original在具有真实文件的情况下分发以后缀为例的配置文件.gitignore.然后每个开发人员将文件重命名为真实姓名
    • 克隆repo的任何人都可以使用这些文件
    • 一个人必须在整个应用程序中搜索所有配置并重命名它们

有没有其他可能更好的方法来处理这个问题?我怀疑我缺少一些东西,至少是一些插件.

git

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

Angular中的单元测试指令控制器,不会使控制器全局化

在Vojta Jina的优秀存储库中,他演示了指令的测试,他在模块包装器之外定义了指令控制器.请参见:https: //github.com/vojtajina/ng-directive-testing/blob/master/js/tabs.js

这不是不好的做法并污染全局命名空间吗?

如果一个人有另一个地方可以合理地调用TabsController,那会不会打破这些东西?

所提到的指令的测试可以在这里找到:https://github.com/vojtajina/ng-directive-testing/commit/test-controller

是否可以将指令控制器与指令的其余部分分开测试,而无需将控制器放在全局命名空间中?

将整个指令封装在app.directive(...)定义中会很好.

unit-testing jasmine angularjs angularjs-directive karma-runner

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

如何清除Jest缓存?

Jest正在拿起旧版本的软件包,因此我的测试会失败,除非我使用--no-cache.我甚至可以删除包文件夹node_modules,Jest很乐意运行测试(几乎所有传递).

那么如何清除Jest缓存?

jestjs

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

在Doctrine 2中指定十进制字段类型时,缩放和精度是什么意思?

我正在创建一个十进制字段来为我的Symfony2应用程序保存Doctrine2中的财务数据.

目前,它看起来像这样:

/**
 * @ORM\Column(type="decimal")
 */
protected $rate;
Run Code Online (Sandbox Code Playgroud)

当我输入一个值并且所述值持久保存到数据库时,它被舍入为整数.我猜我需要为该字段设置精度和比例类型,但我需要有人来解释他们究竟做了什么?

Doctrine2文档说:

precision:十进制(精确数字)列的精度(仅适用于十进制列)

scale:十进制(精确数字)列的比例(仅适用于十进制列)

但这并没有告诉我太多.

我猜测精度是要舍入的小数位数,所以我假设应该是2,但是什么是比例?规模是重要数字吗?

我的现场宣言应该是这样吗?: -

/**
 * @ORM\Column(type="decimal", precision=2, scale=4)
 */
protected $rate;
Run Code Online (Sandbox Code Playgroud)

database orm types symfony doctrine-orm

60
推荐指数
3
解决办法
6万
查看次数