简短的问题是:每当热编译和交换新代码时,我可以强制Grails 2.2 dev服务器重新加载(重新初始化所有单例服务等)吗?
让我用一个例子来说明问题.我们这样说吧
我有一个单例范围的服务MyService.在它的@PostConstruct函数中,它初始化一个新的类型对象Helper(并保持引用).
我run-app在开发模式,测试出来,然后......
我编辑源代码 Helper.groovy
接下来会发生什么:
Helper.groovyHelper没有调用新代码,因为已经实例化的MyService对象已经具有旧类实例的句柄.我目前的解决方法是将依赖图保留在我的脑海中,并且每次更改其中一个依赖项时都会进行touch简单的修改MyService.但是,每当交换新代码时,我宁愿强制dev服务器重新加载.
那么...... 是否有可能在任何代码更改时强制dev服务器重新加载?
和奖金问题:当我改变域对象,我可以强制开发服务器"追随"的唯一途径这些变化是stop-app,clean和run-app手动.我是否可以根据需要自动执行此操作?
谢谢!
通过 USB 使用 ADB,我注意到端口转发非常慢(~150kB/s),尽管我的:
我正在寻求帮助调试。
我很感激有关如何调查原因的任何想法 - 或者当然,关于如何解决的想法!
通过 USB 运行 ADB,我可以非常快速地下载然后拉取文件,这表明我的互联网连接和 USB 连接是“快速”的(>1MB/s)。例如,我可以在 90 秒内抓取一个 100MB 的文件:
$ cat getfile.sh
R=tempdl
adb shell "curl -k $1 > /sdcard/$R"
adb pull /sdcard/$R
adb shell rm /sdcard/$R
$ ./getfile.sh https://dl.google.com/android/android-sdk_r22.6.2-linux.tgz
Run Code Online (Sandbox Code Playgroud)
这在 90 秒内完成。
但是,如果我尝试使用 adb 端口转发,例如:
adb forward tcp:8000 tcp:8000
... 结合 Android 上的端口转发应用程序(由您选择)来抓取相同的文件,然后我从未看到超过120kB/秒的速度。
当我的互联网连接速度很快并且我的 USB 连接速度很快时,我很想了解为什么端口转发可能会如此缓慢。当然还有关于如何缓解的任何想法。
我想使用Peekable作为一个新的基础cautious_take_while,其作用类似于操作 take_while距离IteratorExt,但不消耗第一个失败的项目.(还有一个问题是这是否是一个好主意,以及是否有更好的方法来实现Rust的这一目标 - 我很乐意在这个方向上提示,但主要是我试图了解我的代码在哪里断).
我试图启用的API基本上是:
let mut chars = "abcdefg.".chars().peekable();
let abc : String = chars.by_ref().cautious_take_while(|&x| x != 'd');
let defg : String = chars.by_ref().cautious_take_while(|&x| x != '.');
// yielding (abc = "abc", defg = "defg")
Run Code Online (Sandbox Code Playgroud)
我在这里创造了一个MCVE,但是我得到了:
:10:5:10:19错误:无法移出借来的内容:10 chars.by_ref().cautious_take_while(|&x | x!='.');
据我所知,TakeWhile在我的函数签名方面,我遵循与Rust自己相同的模式,但我看到了与借用检查器不同的不同行为.有人可以指出我做错了吗?
es6用babel CLI 编译一个简单的文件鉴于以下细节:出了什么问题?
$ node --version
v5.0.0
$ npm --version
3.3.6
$ npm init
$ npm install --save-dev babel-cli
$ echo -e 'import url from "url"\nconsole.log(`2+2=${2+2}`)' > script.js
$ ./node_modules/.bin/babel script.js
import url from "url";
console.log(`2+2=${ 2 + 2 }`);
Run Code Online (Sandbox Code Playgroud)
换句话说:我放入ES6然后我拿出ES6(尽管间距略有不同,并添加了分号).我期待看到转换为需求的导入,并看到我的后退滴答消失.
那就是:我想要ES5了.
如果我通过以下方式将Grails控制器设为单例:
static scope = "singleton"
Run Code Online (Sandbox Code Playgroud)
... Grails如何将params变量暴露给我的控制器的操作,其中params特定于请求?
我会理解是否params作为变量传递给我的动作方法,但这里params只是可用的和范围内的(并且对于同时请求是不同的,尽管事实上我的控制器只有一个实例).
这是如何在引擎盖下实施的?
我正在执行一个GradleBuild任务,我想维护当前脚本已经给出的所有属性.换句话说,我想打包"这些startparameters"并将它们传递给我正在调用的构建.
有没有办法干净利落地做到这一点?
我的错误是什么以及如何解决?
fn get_m() -> Vec<i8> {
vec![1, 2, 3]
}
fn main() {
let mut vals = get_m().iter().peekable();
println!("Saw a {:?}", vals.peek());
}
Run Code Online (Sandbox Code Playgroud)
(游乐场)
编译器的错误表明"考虑使用let绑定" - 但我已经:
error[E0597]: borrowed value does not live long enough
--> src/main.rs:6:45
|
6 | let mut vals = get_m().iter().peekable();
| ------- ^ temporary value dropped here while still borrowed
| |
| temporary value created here
7 | println!("Saw a {:?}", vals.peek());
8 | }
| - temporary value needs …Run Code Online (Sandbox Code Playgroud) 在Elm 0.17中,我想运行一个依赖于随机数的程序,但我希望有一个用户指定的种子.这是为了在多个用户会话中获得可重现的结果:输入相同种子的用户应该看到相同的结果.
但我无法弄清楚如何影响内置函数的行为,如:
Random.list 10 (Random.int 0 100)
Run Code Online (Sandbox Code Playgroud)
通过上面的呼叫,我想在每次输入相同的种子时得到10个随机数的相同列表.但我根本无法弄清楚如何喂种子.我很感激任何帮助!
select * from t where 100 < any(a) and 100 > any(a)
其中a是一个整数数组(其中的行具有一些值,例如{90,110},因此查询不会返回空。)
create table t ( a integer[] )
insert into t values ('{90,110}'::integer[])
Run Code Online (Sandbox Code Playgroud)
运行explain analyze上面的查询会产生:
Seq Scan on t (cost=0.00..1.07 rows=2 width=32) (actual time=0.009..0.009 rows=1 loops=1)
Filter: ((100 < ANY (a)) AND (100 > ANY (a)))
Total runtime: 0.023 ms
Run Code Online (Sandbox Code Playgroud)
以下问题描述了一种方法,但似乎不适用于非固定长度数组:
Postgres文档描述了内置的 GIN 运算符,但它们似乎不支持大于/小于操作:
例如,PostgreSQL 的标准发行版包含一维数组的 GIN 运算符类,它支持使用这些运算符的索引查询:<@、@>、=、&&
我有一些代码尝试运行匹配,其中每个分支都可以返回不同的类型,但所有这些类型都实现了Iterator<Item=usize>.
let found: Iterator<Item = usize> = match requirements {
Requirements::A => MatchingAs { ainternals: [] },
Requirements::B => MatchingBs { binternals: [] },
Requirements::C => MatchingCs { cinternals: [] },
};
return found.any(|m| m == 1)
Run Code Online (Sandbox Code Playgroud)
... 哪里MatchingAs,MatchingBs, 以及MatchingCs所有impl std::iter::Iterator<Item = usize>。
我Iterator因为尺寸不合适而碰壁:
let found: Iterator<Item = usize> = match requirements {
Requirements::A => MatchingAs { ainternals: [] },
Requirements::B => MatchingBs { binternals: [] }, …Run Code Online (Sandbox Code Playgroud) 我已经定义了一个简单的表
create table resources (id serial primary key, fields jsonb);
Run Code Online (Sandbox Code Playgroud)
它包含带键的数据(从大集中绘制)和1到100之间的值,如:
id | fields
--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 | {"tex": 23, "blair": 46, "cubic": 50, "raider": 57, "retard": 53, "hoariest": 78, "suturing": 25, "apostolic": 22, "unloosing": 37, "flagellated": 85}
2 | {"egoist": 75, "poshest": 0, "annually": 19, "baptists": 29, "bicepses": 10, "eugenics": 9, "idolizes": 8, "spengler": 60, "scuppering": 13, "cliffhangers": 37}
3 | {"entails": 27, "hideout": 22, "horsing": 98, "abortions": 88, "microsoft": 37, "spectrums": 26, "dilettante": 52, "ringmaster": 84, "floweriness": 72, "vivekananda": …Run Code Online (Sandbox Code Playgroud) rust ×3
grails ×2
groovy ×2
postgresql ×2
traits ×2
adb ×1
android ×1
babeljs ×1
build ×1
build.gradle ×1
compilation ×1
cors ×1
cross-domain ×1
elm ×1
gradle ×1
http ×1
indexing ×1
iterator ×1
json ×1
jsonb ×1
matching ×1
mobile ×1
node.js ×1
random ×1
singleton ×1
tomcat ×1
transpiler ×1
usb ×1