小编sss*_*ver的帖子

在Angular.js中的子目录中路由

是否有可能以一种从将部署它的Web目录路径中抽象出来的方式开发Angular.js应用程序?

我试图将Angular.js应用程序放在Web服务器子目录http://example.com/myproject/中,但路由器将我重定向到Web服务器根目录 - http://example.com.

下面是我的Angular.js应用程序:

var myproject = angular.module('myproject', []);

myproject.config(function($routeProvider, $locationProvider) {
  $routeProvider.
    when('/', {templateUrl: 'partials/index.html', controller: IndexCtrl}).
    otherwise({redirectTo: '/'});

  $locationProvider.html5Mode(true);
});



function IndexCtrl($scope, $location) {

}
Run Code Online (Sandbox Code Playgroud)

url-routing angularjs

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

在MongoDB中获取文档而不指定集合

MongoDB ID对于单个数据库群集是唯一的.是否可以使用其ID来获取文档,而无需指定集合名称?

如果有,怎么样?

如果不是,为什么不呢?

database mongodb nosql

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

换行的clang格式的右括号

我有看起来像这样的代码:

EXPECT_EQ(
    subsystem->previousTouchscreenState,
    expectedTouchscreenState
);
Run Code Online (Sandbox Code Playgroud)

当我运行时clang-format,它会将代码段重新格式化为如下所示:

EXPECT_EQ(
    subsystem->previousTouchscreenState,
    expectedTouchscreenState );
Run Code Online (Sandbox Code Playgroud)

这很违反直觉。我希望我的多行函数调用(尽管EXPECT_EQ在本例中是一个宏)在其自己的行上具有右圆括号,缩进到函数名称的级别,如第一个代码段所示。

我该如何完成clang-format呢?

非常感谢。

c++ clang-format

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

Python单元测试MongoDB随机失败

Python的unittest和PyMongo有一个奇怪的问题.测试随机成功或失败:

import unittest
from pymongo import Connection

from tractor import Tractor




class TestTractor(unittest.TestCase):
    def setUp(self):
        self.tractor = Tractor(1)

        self.mongo = Connection()
        self.db = self.mongo.tractor

        self.db.classes.remove({'name': {'$regex':'^test_'}})

        self.action_class_id = self.db.classes.insert({'name': 'test_action',
                                                       'metaclass': 'action'})
        self.object_class_id = self.db.classes.insert({'name': 'test_object',
                                                       'metaclass': 'object'})


    def tearDown(self):
        self.tractor = None



    def test_create_class(self):
        cid1 = self.tractor.create_action_class('test_create_action_class')
        cid2 = self.tractor.create_object_class('test_create_object_class')

        self.assertNotEqual(cid1, None)
        self.assertNotEqual(cid2, None)

        action_obj = self.db.classes.find_one({'_id': cid1})
        object_obj = self.db.classes.find_one({'_id': cid2})

        self.assertNotEqual(cid1, cid2)
        self.assertEqual(action_obj['_id'], cid1)
        self.assertEqual(object_obj['_id'], cid2)

        self.assertEqual(action_obj['name'], 'test_create_action_class')
        self.assertEqual(object_obj['name'], 'test_create_object_class')
Run Code Online (Sandbox Code Playgroud)

正在测试的类:

from pymongo import Connection
from pymongo.objectid …
Run Code Online (Sandbox Code Playgroud)

python unit-testing mongodb pymongo

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

在Tornado中未设置Content-Type标头

我有以下基类:

class CorsHandler(tornado.web.RequestHandler):

    def set_default_headers(self):
        super(CorsHandler, self).set_default_headers()

        self.set_header('Access-Control-Allow-Origin', self.request.headers.get('Origin', '*'))
        self.set_header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS')
        self.set_header('Access-Control-Allow-Credentials', 'true')
        self.set_header('Access-Control-Allow-Headers', ','.join(
            self.request.headers.get('Access-Control-Request-Headers', '').split(',') +
            ['Content-Type']
        ))

        self.set_header('Content-Type', 'application/json')

    def options(self, *args, **kwargs):
        pass
Run Code Online (Sandbox Code Playgroud)

以下处理程序:

def get(self, resource_id=None, field=None):
    try:
        if resource_id is None:
            response = self.resource.query.filter_by(is_deleted=False).all()

        else:
            record = self.resource.query.get(int(resource_id))

            if field is None:
                response = record
            else:
                response = {field: getattr(record, field)}

        self.db.session.commit()

    except Exception, e:
        self.db.session.rollback()

        self.send_error(500, message=e.message)

    self.write(response)
Run Code Online (Sandbox Code Playgroud)

一切都很简单,除了Content-Type没有设置.请注意,正确设置了任何其他标头.

Firefox开发者工具

这是怎么回事?

python tornado

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

在 Meson 中为所有源添加 src/ 前缀

相对于我的项目根目录meson.build所在的位置,我的所有源文件都位于src/.

是否可以在 meson.build 中指定这些源文件,而不会强迫我在它们全部加上前缀src/,因为这有点多余?

meson-build

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

lxml不会使用easy_install在pypy下安装

做的时候:

$ sudo pypy -m easy_install lxml
Run Code Online (Sandbox Code Playgroud)

回应是:

Searching for lxml

[...snip...]

ERROR: /bin/sh: 1: xslt-config: not found

** make sure the development packages of libxml2 and libxslt are installed **

Using build configuration of libxslt 
/usr/lib/pypy/lib-python/2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
  warnings.warn(msg)
warning: no files found matching '*.txt' under directory 'src/lxml/tests'
src/lxml/lxml.etree.c:8:22: fatal error: pyconfig.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'cc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

同时,sudo pip install …

lxml pypy

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

SQLAlchemy与单表继承的关系

我使用的SQLAlchemy的单表继承了Transaction,StudentTransactionCompanyTransaction:

class Transaction(Base):
    __tablename__ = 'transaction'

    id = Column(Integer, primary_key=True)

    # Who paid? This depends on whether the Transaction is a
    # CompanyTransaction or a StudentTransaction. We use
    # SQLAlchemy's Single Table Inheritance to make this work.
    discriminator = Column('origin', String(50))
    __mapper_args__ = {'polymorphic_on': discriminator}

    # When?
    time = Column(DateTime, default=datetime.utcnow)

    # Who administered it?
    staff_id = Column(Integer, ForeignKey('staff.id'))
    staff = relationship(
        'Staff',
        primaryjoin='and_(Transaction.staff_id==Staff.id)'
    )

    # How much?
    amount = Column(Integer)  # Negative for …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

从PromiseKit/Alamofire回复承诺

我试图做这个看似微不足道的事情:

static func list() -> Promise<[Activity]> {
    let endpoint = "\(self.baseUrl)/v1/activities"

    return Promise { fulfill, reject in
        self.fetchHeaders { (headers) in
            return Alamofire.request(
                endpoint,
                method: .get,
                parameters: nil,
                encoding: JSONEncoding.default,
                headers: headers
            ).validate().responseJSON().then() { response in
                guard let json = response as? JSON else {
                    reject(ActivityError.parse("Malformed JSON"))
                }

                guard let jsonActivities = json["activities"] as? [JSON] else {
                    reject(ActivityError.parse("Missing field"))
                }

                var activities: [Activity] = []

                for jsonActivity in jsonActivities {
                    guard let activity = Activity(json: jsonActivity) else {
                        reject(ActivityError.parse("Unable to …
Run Code Online (Sandbox Code Playgroud)

promise ios swift alamofire promisekit

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

在Swift中编写自定义UITableViewCell时强制转发

在以下代码中:

let cell = tableView.dequeueReusableCell(
    withIdentifier: "MyCell",
    for: indexPath
) as MyTableViewCell  // 'UITableViewCell' is not convertible to 'MyTableViewCell'; did you mean to use 'as!' to force downcast?
Run Code Online (Sandbox Code Playgroud)

我们有错误抱怨UITableViewCell不能转换为MyTableViewCell.

所以编译器建议做一个强制转换:

let cell = tableView.dequeueReusableCell(
    withIdentifier: "MyCell",
    for: indexPath
) as! MyTableViewCell  // ?!?!?!
Run Code Online (Sandbox Code Playgroud)

然而,这感觉很难看.

在处理时没有其他强制施法的选择tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)吗?这真的是在Swift中实现这一目标的最惯用的方式吗?

谢谢!

cocoa-touch ios swift

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

在Jenkinsfile中结帐scm

我在Jenkinsfile中有以下高级脚本化管道:

stage('Generate') {
    node {
        checkout scm
    }

    parallel windows: {
        node('windows') {
            sh 'cmake . -Bbuild.windows -A x64'
        }
    },
    macos: {
        node('apple') {
            sh '/usr/local/bin/cmake . -DPLATFORM="macos" -Bbuild.macos -GXcode'
        }
    },
    ios: {
        node('apple') {
            sh '/usr/local/bin/cmake . -DPLATFORM="ios" -Bbuild.ios -GXcode'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意node平行的windows / macos / ios节点之前的顶部。这是否意味着checkout scm在继续执行并行步骤之前,将在每个后续的构建节点(Windows / Apple)上调用它?换句话说,上面的脚本是否保证在此构建的任何阶段都将在涉及的每个节点上检出存储库?

非常感谢。

jenkins jenkins-pipeline

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

从“compactMap()”闭包返回“nil”失败结果类型检查

在此代码片段中,我尝试映射[RegisteredMediaAttachment][BasicAttachmentInput],但仅限于那些具有可解析 的项目uploadUrl

    private func createSecondaryAttachments(
        _ attachments: [RegisteredMediaAttachment]
    ) -> [BasicAttachmentInput] {
        return attachments.compactMap {
            guard let name = URL(string: $0.registration.uploadUrl) else {
                return nil
            }

            return BasicAttachmentInput(
                name: name,
                contentType: $0.attachment.type.mime(),
                sizeBytes: $0.attachment.data.count,
                mediaId: $0.registration.media.id
            )
        }
    }
Run Code Online (Sandbox Code Playgroud)

然而,斯威夫特在网上抱怨return nil'nil' is not compatible with closure result type 'BasicAttachmentInput'

这让我很惊讶。我希望该函数编译并减少映射结果以仅包含nilcompactMap闭包返回的非值。上面的片段有什么问题?

functional-programming swift

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