小编Chr*_*evo的帖子

AngularJS种子:将JavaScript放入单独的文件中(app.js,controllers.js,directives.js,filters.js,services.js)

我正在使用angular-seed模板来构建我的应用程序.最初我将所有JavaScript代码放入一个文件中main.js.该文件包含我的模块声明,控制器,指令,过滤器和服务.应用程序工作正常,但我担心可扩展性和可维护性,因为我的应用程序变得更加复杂.我注意到,角种子模板对每一种单独的文件,所以我尝试从单一的发布我的代码main.js文件到每个标题中的这个问题提到的其他文件,并在找到app/js的目录角- 种子模板.

我的问题是:如何管理依赖项以使应用程序工作?这里找到的现有文档在这方面不是很清楚,因为给出的每个示例都显示了一个JavaScript源文件.

我的一个例子是:

app.js

angular.module('myApp', 
    ['myApp.filters',
     'myApp.services',
     'myApp.controllers']);
Run Code Online (Sandbox Code Playgroud)

controllers.js

angular.module('myApp.controllers', []).
    controller('AppCtrl', [function ($scope, $http, $filter, MyService) {

        $scope.myService = MyService; // found in services.js

        // other functions...
    }
]);
Run Code Online (Sandbox Code Playgroud)

filters.js

angular.module('myApp.filters', []).
    filter('myFilter', [function (MyService) {
        return function(value) {
            if (MyService.data) { // test to ensure service is loaded
                for (var i = 0; i < MyService.data.length; i++) {
                    // code to return appropriate value from …
Run Code Online (Sandbox Code Playgroud)

javascript dependency-injection angularjs

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

在clojure而不是列表矢量中将矢量分成矢量矢量

split-at的clojure文档声明它采用元素集合并返回两个列表向量,每个列表包含大于或小于给定索引的元素:

(split-at 2 [1 2 3 4 5])
[(1 2) (3 4 5)]
Run Code Online (Sandbox Code Playgroud)

我想要的是这个:

(split-at' 2 [1 2 3 4 5])
[[1 2] [3 4 5]]
Run Code Online (Sandbox Code Playgroud)

这是一个集合,分为两个集合,保持元素的顺序(如向量),最好没有性能损失.

通常的方法是什么,是否有任何性能优化的方法来做到这一点?

clojure

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

如何将json文件读入Clojure defrecord(以后再搜索)

我在Clojure REPL中创建了一个defrecord:

user=> (defrecord Data [column1 column2 column3])
user.Data
Run Code Online (Sandbox Code Playgroud)

如何通过读入.json文件自动将数据添加到此记录?defrecord中的每一列都与json数据中的键完全对应.如果文件包含单个记录,它看起来类似于:

[
  {
    "column1" : "value1"
    "column2" : "value2"
    "column3" : "value3"
  }
]
Run Code Online (Sandbox Code Playgroud)

但文件中有数千条这样的记录.

我可以像这样啜饮文件的内容:

(json/read-json (slurp "path/to/file.json")))
Run Code Online (Sandbox Code Playgroud)

read-json函数的依赖项被添加到我lein repl从命令行运行的目录中的project.clj文件中::dependencies [org.clojure/data.json "0.2.1"].

我只想使用Clojure函数搜索记录的值,这样我传递给搜索函数的值就在单个记录的column1和column2值的值之间(即,nth-record.column1) .value <= query <= nth-record.column2.value).一旦找到匹配的记录,我想在同一记录中返回另一列的值(nth-record.column3.value).第1列和第2列的值将是唯一的,表示非重叠值范围.column3的值不是唯一的.

这似乎是一个相当简单的任务,但我无法弄清楚如何使用Clojure文档或我在网上找到的示例.对我来说,如果记录如何在Clojure内部存储并不重要,只要我可以搜索它们并在同一记录中返回相关字段的值.

json clojure

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

多线程Java小程序弹跳球

我正在尝试创建一个Java applet,它在applet窗口中弹出几个球,每个都有自己的线程.使用下面的代码绘制所有球,但只有第一个球移动.我究竟做错了什么?

import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import static java.awt.Color.*;

public class BouncingBalls extends Applet implements Runnable {

    List<Ball> ballList = new ArrayList(); // holds Ball objects

    Color[] colors = new Color[]{BLACK, GRAY, WHITE, PINK, RED, ORANGE, YELLOW,
            GREEN, BLUE, CYAN}; // array holding available colors

    static int width, height; // variables for applet dimensions

    int ballCount; // number of balls to be created, set by html parameter

    Random random = new Random(); …
Run Code Online (Sandbox Code Playgroud)

java applet multithreading

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

使用通过关键字从地图中提取的值创建Clojure向量

我有一个用作查找表的Clojure矢量图:

(def data 
  [{map1},{map2},...,{nth-map}])
Run Code Online (Sandbox Code Playgroud)

向量中的每个映射都包含两个键/值对:

{:key1 "Value1", :key2 "Value2"}
Run Code Online (Sandbox Code Playgroud)

所以整个结构看起来像这样:

(def data
  [{:key1 "Value1-1", :key2 "Value2-1"}, ; map1
   {:key1 "Value1-2", :key2 "Value2-2"}, ; map2
                     |
                     |
                     V
   {:key1 "Value1-n", :key2 "Value2-n"}]) ; nth-map
Run Code Online (Sandbox Code Playgroud)

我想将其迁移到数据库表中.我已经有一个将值插入表行的函数.它需要一个向量,向量中的每个项目代表行中的一列:

(defn insert-row [column1-value column2-value]
  (sql/with-connection (System/getenv "DATABASE_URL")
    (sql/insert-values
      :table                           ; table name
      [:column1 :column2]              ; table column names
      [column1-value column2-value]))) ; values to be inserted into row
Run Code Online (Sandbox Code Playgroud)

我需要的是一个贯穿整个地图矢量的函数,对于每个地图,它创建一个只有该地图值的矢量:

[Value1 Value2]
Run Code Online (Sandbox Code Playgroud)

我想我可以使用现有的数据库函数insert-row作为参数map:

(map insert-row values-from-map)
Run Code Online (Sandbox Code Playgroud)

where values-from-map表示包含内部向量的外部向量(每个向量包含其各自的值),用于原始向量中的每个映射:

[[Value1-1 Value2-1]
 [Value1-2 Value2-2]
 [Value1-n …
Run Code Online (Sandbox Code Playgroud)

vector clojure map key-value

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