我有以下课程来创建和管理一个Logger.每当跨代码和程序执行时,都会使用对静态getLogger() catch块的调用来记录.
public class Log {
private static final Logger logger = Logger.getLogger("MyLog");
public static void iniciarLog() throws IOException {
FileHandler fh;
try {
// fh = new FileHandler(System.getProperty("user.home")+System.getProperty("file.separator")+"TorrentDownloader.log");
fh = new FileHandler("%h/TorrentDownloader.log");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.info("Se inició el log");
} catch (SecurityException | IOException e) {
logger.severe("Error al crear el log");
}
}
public static Logger getLogger() {
return logger;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如何附加到此类日志文件?我见过的所有例子都改变了很多我喜欢的实现,因为它清晰,简洁.
我正在试图实现(我知道有一个实现它的自定义函数)Matlab中的灰度图像直方图,到目前为止我已经尝试过:
function h = histogram_matlab(imageSource)
openImage = rgb2gray(imread(imageSource));
[rows,cols] = size(openImage);
histogram_values = [0:255];
for i = 1:rows
for j = 1:cols
p = openImage(i,j);
histogram_values(p) = histogram_values(p) + 1;
end
end
histogram(histogram_values)
Run Code Online (Sandbox Code Playgroud)
但是,当我调用该函数时,例如: histogram_matlab('Harris.png')
我得到一些图形:

这显然不是我所期望的,x轴应该从0到255,y轴从0到存储的最大值histogram_values.
我需要获得类似的东西imhist:

我该如何设置?我做得不好吗?
我已将我的代码更改为@rayryeng建议的改进和更正:
function h = histogram_matlab(imageSource)
openImage = rgb2gray(imread(imageSource));
[rows,cols] = size(openImage);
histogram_values = zeros(256,1)
for i = 1:rows
for j = 1:cols
p = double(openImage(i,j)) +1;
histogram_values(p) = histogram_values(p) + 1;
end
end
histogram(histogram_values, 0:255)
Run Code Online (Sandbox Code Playgroud)
但直方图不是预期的: …
比方说我有:
sentences = ['The girls are gorgeous', 'I'm mexican']
Run Code Online (Sandbox Code Playgroud)
我想获得:
words = ['The','girls','are','gorgeous', 'I'm', 'mexican']
Run Code Online (Sandbox Code Playgroud)
我试过了:
words = [w.split(' ') for w in sentences]
Run Code Online (Sandbox Code Playgroud)
但没有预期的结果.
这对于Counter(单词)是否有效,因为我需要获得频率?
我需要在MongoDB集合文档中的数组中添加一个对象,插入后我需要确保所有数组的元素都按其属性排序.
因为我需要数组中的对象是唯一的,所以我使用$addToSet而不是$push.这是我正在尝试的一个例子:
db.perros.update(
{name: "Risas"},
{
$addToSet: {propiedades: {name: "cola", cantidad: 1}},
$push: { propiedades: { $each: [ ], $sort: {cantidad: -1} }}
});
Run Code Online (Sandbox Code Playgroud)
但是,这将失败,出现以下Mongo错误:
WriteResult({
"nMatched" : 0,
"nUpserted" : 0,
"nModified" : 0,
"writeError" : {
"code" : 16837,
"errmsg" : "Cannot update 'propiedades' and 'propiedades' at the same time"
}
})
Run Code Online (Sandbox Code Playgroud)
当你考虑集合时这是显而易见的,但是$ push操作甚至不关心数组内部的内容......如何在不必使用的情况下实现这一点$push?
我使用MongoDB连接,并且手头有Redis弹性缓存。有一个Mongo集合,它每周基本上会更改几次,并且其中包含一个totalPoints我想对其中的一些甚至全部进行排序的集合,该集合具有大量记录。
因此,排序需要对DB进行大量工作,我真的不能假装在查询中对它们进行排序,因此我想拥有一个TOP列表。
我想获得一种方式来推送记录(srtings或对象),并将它们作为最大大小为n的存储桶排序。
使用React react-redux,我正在尝试获取此登录表单:
import React from 'react'
import RaisedButton from 'material-ui/lib/raised-button';
import TextField from 'material-ui/lib/text-field';
const LoginButton = () => (
<form>
<div>
<TextField hint="E-mail" floatingLabelText="E-mail" ref="emailInput"></TextField><br/>
</div>
<div>
<TextField hint="Contraseña" floatingLabelText="Contraseña" type="password" ref="passwordInput"></TextField><br/><br/>
</div>
<div>
<RaisedButton label="Acceder" primary={true} onClick={e => {
console.log(emailInput.value);
}}/>
</div>
</form>
);
export default LoginButton;
Run Code Online (Sandbox Code Playgroud)
其中,同时它被用作:
import React from 'react'
import Card from 'material-ui/lib/card/card';
import CardActions from 'material-ui/lib/card/card-actions';
import CardHeader from 'material-ui/lib/card/card-header';
import CardText from 'material-ui/lib/card/card-text';
import CardTitle from 'material-ui/lib/card/card-title';
import RaisedButton from 'material-ui/lib/raised-button';
import …Run Code Online (Sandbox Code Playgroud) 我见过一些符号或样式Region#layoutInArea().这如何对方法起作用?它与dot(.)访问器有关吗?
我需要做类似的事情:
Lineup.stream({foo:"bar"}).exec(function(err,lineup){
// Do something with each record
});
Run Code Online (Sandbox Code Playgroud)
阵容是一个拥有超过18000条记录的集合,因此我认为使用find不是一个好选择.这样做的正确方法是什么?从文档我无法弄清楚如何.
我知道有
Math.floorparseInt但关于这种情况:
Math.floor(1.99999999999999999999999999)
Run Code Online (Sandbox Code Playgroud)
返回2,我怎么才能得到它的整数部分,等于1?
我知道这可能会得到一个答案,但是对于延迟加载实现本身来说更多.
所以,这是一个典型的UI-Router配置块:
app.config(function($stateProvider, $urlRouterProvider, $injector) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'view_home.html', // Actually SHOULD BE result of a XHR request ....
controller: 'HomeCtrl'
});
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在templateUrl请求($stageChangeStart)时加载它,那将是基于AJAX请求的.
应该如何实施?LARGE角应用程序如何处理这个问题?