小编acr*_*uui的帖子

AngularJS:在使用控制器解析时纠正缩小语法

我使用解决方案功能和几个控制器来获取一些数据,然后渲染一个新视图就像这样:

HomeCtrl.resolve = {
    pictures: function(Picture) {
        return Picture.getall();
    } 
};
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何写这个,所以作为参数传递的图片服务在缩小时不会被覆盖?

javascript minify angularjs

36
推荐指数
1
解决办法
5532
查看次数

排序数组并保持键的值

我有一个看起来像这样的数组:

Array
(
    [team1] => Array
        (
            [points] => 10
            [players] => Array
                (
                     ...
                )
        )

    [team2] => Array
        (
            [points] => 23
            [players] => Array
                (
                     ...
                )
        )

    ... many more teams
)
Run Code Online (Sandbox Code Playgroud)

我希望按照每支球队的得分数对球队进行排序.我试过这个:

function sort_by_points($a,$b)
{
    if ($a['points']==$b['points']) return 0;
        return ($a['points']<$b['points'])?1:-1;
}

usort($this->wordswithdata, "sortbycount");
Run Code Online (Sandbox Code Playgroud)

但是这种方法会覆盖包含团队名称和返回的键:

Array
(
    [0] => Array
        (
            [points] => 23
            [players] => Array
                (
                     ...
                )
        )

    [1] => Array
        (
            [points] => 10
            [players] => Array
                (
                     ...
                )
        ) …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

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

用正则表达式和PHP将段落拆分成句子

我是一个正则表达式的菜鸟,试图将段落分成句子.在我的语言中,我们在句子中间使用了相当多的缩写(例如:bl.a.),所以我得出结论,我需要做的是寻找标点,然后是单个标点符号空格,然后是一个以大写字母开头的单词,如:

[sentence1]...anymore. However...[sentence2]
Run Code Online (Sandbox Code Playgroud)

所以一段如下:

Der er en lang og bevæget forhistorie bag lov om varsling m.v. i forbindelse med afskedigelser af større omfang. Det er ikke en bureaukratisk lovtekst blandt så mange andre.
Run Code Online (Sandbox Code Playgroud)

应以此输出结束:

[0] => Der er en lang og bevæget forhistorie bag lov om varsling m.v. i forbindelse med afskedigelser af større omfang.
[1] => Det er ikke en bureaukratisk lovtekst blandt så mange andre.
Run Code Online (Sandbox Code Playgroud)

而不是这个:

[0] => Der er en lang og bevæget forhistorie bag lov om …
Run Code Online (Sandbox Code Playgroud)

php regex text-segmentation

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

使用requestAnimationFrame实现一些稳定的帧速率?

我正在玩这个requestAnimationFrame但是我在除了Chrome之外的任何其他浏览器中都有非常生涩的动画.

我创建一个像这样的对象:

var object = function() {

    var lastrender = (new Date()).getTime();
    var delta = 0;

    return {

        update: function() {
             //do updates using delta value in calculations.
        },

        loop: function() {
            var looptimestamp = (new Date()).getTime();
            delta = looptimestamp - lastrender;
            lastrender = looptimestamp;

            this.update();

            window.requestAnimationFrame(this.loop.bind(this));
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

现在我只是在画布元素上绘制一个矩形并移动它.它是处理器上非常轻量级的操作.这在Chrome中运行得相当顺利,当我控制日志记录delta值时,它几乎在~17左右.但是,如果我在Firefox或Safari中执行相同操作,则会获得以下delta值:

17-3-17-2-32-34-32-31-19-31-17-3-0-14-3-14-35-31-16-3-17-2 ... and so on
Run Code Online (Sandbox Code Playgroud)

看起来好像浏览器没有很好地与显示器同步,并且在除Chrome之外的所有其他情况下,使用旧的setTimeout方法以16ms作为目标超时,可以获得更平滑的动画.

有谁知道,如果可以requestAnimationFrame在Chrome以外的浏览器中使用更流畅的动画?有没有人成功获得比上面在Firefox中发布的更稳定的delta值?

javascript performance animation requestanimationframe

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

包含或不包含资源子项的RESTful方式?

假设我有一个team对象,它有一个name属性,一个city属性和一个players属性,其中players属性可能是许多玩家的数组.这在带有teams表和players表的SQL数据库中表示,其中每个玩家都有a name和a team_id.

基于这个简单的数据结构构建一个RESTful api,如果有一个明确的规则,我是否有疑问,如果返回对象应该/可以包含一个玩家列表,何时命中/teams/:id

我有一个观点,那就是需要向一个团队及其玩家展示他们的名字,所以:

1:应该/teams/:id加入场景后面的两个表并返回完整的team对象,带有一个player属性,这是一个名字和id的数组?

2:应该/teams/:id加入场景后面的两个表并返回team带有players属性的对象,这是一个只有id的数组,然后必须一个一个地查询到/players/:id

3:如果两个呼叫进行,一来/teams/:id和一个/teams/:id/players

4:是否应该像这样使用查询字符串/teams/:id?fields=name,city,players

如果要做的是2或3,那么如何处理这种情况,团队中也可能有多个城市,导致数据库中的另一个cities表保持规范化?是否应该创建一个新的端点/teams/:id/cities.

在创建RESTful API时,DB中的规范化数据结构是否规定了API中的端点?

api rest nested

9
推荐指数
2
解决办法
3570
查看次数

测试作为构造函数的注入服务

假设我有这样的服务,其中汽车获得注入的引擎服务,这是一个构造函数:

angular.module('car', ['engine']).factory('carCreator', function( engine ) {

    var carCreator = function( settings ) {

        var engineInstance = engine( settings );
        engineInstance.setMiles( settings.engine.miles );

        return {
            brand: settings.brand;
            engine: engineInstance;
        }
    };

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

如何在初始化逻辑中测试两行:

var engineInstance = engine( settings );
engineInstance.setMiles( settings.engine.miles )
Run Code Online (Sandbox Code Playgroud)

1:那engine叫做settings

2:那engineInstance.setMiles叫做settings.engine.miles

这就是我现在正在做的事情,但没有运气:

describe('initialization', function() {

    var carCreator;
    var settings = {
        brand: 'Ford',
        engine: {
            miles: 12000
        }
    };

    var mockEngineInstance = {
        setMiles: function() {}
    };

    window.mockEngineCreator = …
Run Code Online (Sandbox Code Playgroud)

testing jasmine angularjs

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

使用Restangulars extendModel添加的功能未定义?

我有这样的服务:

.factory('Car', function(Restangular) {

    var baseCars = Restangular.all('cars');

    Restangular.extendModel('cars', function(obj) {
        obj.extraMethod = function() { console.log('method added'); };
        return obj;
    });

    return {
        show: function(id) {
            return baseCars.one(id).get();
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

和这样的控制器:

.controller('CarCtrl', function ($scope, $stateParams, Car) {

    Car.show($stateParams.id).then(function(car) {
        $scope.car = car;
        $scope.car.extraMethod();
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,这会导致undefined is not a function错误$scope.car.newMethod().

有谁知道这是为什么以及如何让它工作?

angularjs restangular

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

如何从DB中创建平面数组的嵌套注释数组

在查询数据库以查找嵌套在闭包表中的注释之后,比如Bill Karwin在这里建议什么是将平面表解析为树的最有效/优雅的方法?,我现在从SQL获得以下数据结构:

"comments": [
            {
                "id": "1",
                "breadcrumbs": "1",
                "body": "Bell pepper melon mung."
            },
            {
                "id": "2",
                "breadcrumbs": "1,2",
                "body": "Pea sprouts green bean."
            },
            {
                "id": "3",
                "breadcrumbs": "1,3",
                "body": "Komatsuna plantain spinach sorrel."
            },
            {
                "id": "4",
                "breadcrumbs": "1,2,4",
                "body": "Rock melon grape parsnip."
            },
            {
                "id": "5",
                "breadcrumbs": "5",
                "body": "Ricebean spring onion grape."
            },
            {
                "id": "6",
                "breadcrumbs": "5,6",
                "body": "Chestnut kohlrabi parsnip daikon."
            }
        ]
Run Code Online (Sandbox Code Playgroud)

使用PHP我想重构这个数据集,所以注释嵌套如下:

"comments": [
            {
                "id": "1",
                "breadcrumbs": …
Run Code Online (Sandbox Code Playgroud)

php sql arrays hierarchical-data

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

SQL:如何在不覆盖结果的情况下对表的同一列进行多个连接?

我有一张篮球比赛表和一个像这样的篮球队桌子:

MATCHES:
ID   |   HOME_TEAM_ID  |  AWAY_TEAM_ID | SCORE_HOME | SCORE_AWAY
----------------------------------------------------------------
1    |       20        |       21      |     80     |    110
2    |       12        |       10      |     96     |     90


TEAMS:
ID   |   NAME
-------------------------
20   |   BULLS
21   |   KNICKS
Run Code Online (Sandbox Code Playgroud)

给定匹配ID,我想检索得分和团队名称.如何创建一个从团队表中检索两个团队名称的JOIN?

我试过了:

SELECT *
FROM matches AS m
JOIN teams AS t1 ON t.id = m.home_team_id
JOIN teams AS t2 ON ti.id = m.away_team_id
WHERE m.id = 1
Run Code Online (Sandbox Code Playgroud)

...但是这里第二个JOIN语句的结果似乎覆盖了第一个语句的结果,所以我只得到一个名字:

[id] => 1
[score_home] => 80
[score_away] => 110
[name] …
Run Code Online (Sandbox Code Playgroud)

mysql sql join

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

将对象从一个坐标系旋转到另一个坐标系

使用glm库进行计算。我有一个位于局部坐标系中的网格,其中轴是:

meshUp =      glm::vec3(0, 1, 0);
meshForward = glm::vec3(0, 0, -1);
meshRight =   glm::vec3(1, 0, 0);
Run Code Online (Sandbox Code Playgroud)

我需要一个矩阵,它将其顶点旋转到任何其他具有 3 个给定轴 fx 的新坐标系:

newUp =       glm::vec3(-0.85, 0.51, -0.08);
newForward =  glm::vec3(0.45, 0.65, -0.61);
newRight =    glm::vec3(-0.26, -0.56, -0.79);
Run Code Online (Sandbox Code Playgroud)

无需平移,坐标系共享原点。我可以走到一半,像这样:

glm::vec3 rotationVecForUpAxis = glm::normalize(glm::cross(meshUp, newUp));
float rotationRadiansForUpAxis = acos(glm::dot(meshUp, newUp));

glm::mat4 rotationMatrix = glm::rotate(glm::mat4(), 
                                       rotationRadiansForUpAxis,
                                       rotationVecForUpAxis);
Run Code Online (Sandbox Code Playgroud)

这会起作用并旋转网格,因此它的上轴与轴对齐newUp。但是,在网格newUpmeshForward轴与轴对齐之前,网格仍然需要绕轴newForward旋转。

有谁知道如何做到这一点?

opengl 3d glm-math

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