我有跟随进口:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Run Code Online (Sandbox Code Playgroud)
以及以下实例:
private static Logger logger = LoggerFactory.getLogger(Test.class);
Run Code Online (Sandbox Code Playgroud)
以及我的Main方法中的以下内容:
logger.info("SOME MESSAGE: ");
Run Code Online (Sandbox Code Playgroud)
但是,我无法在任何地方找到输出.我只看到在我的控制台中有:
21:21:24.235 [main] INFO some_folder.Test - SOME MESSAGE:
Run Code Online (Sandbox Code Playgroud)
如何找到日志文件?
请注意,以下内容位于我的构建路径中:
slf4j-api-1.7.5.jar
slf4j-log4j12-1.6.4.jar
我读了类似问题的答案,但没有人真正说明如何解决问题.
我有一个enum叫Example"如下"的"班级" :
enum Example {
//enums belonging to group A:
enumA1,
enumA2,
enumA3,
//enums belonging to group B:
enumB1,
enumB2,
enumB3,
//enums belonging to group C:
enumC1,
enumC2,
enumC3;
}
Run Code Online (Sandbox Code Playgroud)
对我的项目来说,重要的是他们所使用的所有枚举都属于Example(因为这是类的构造函数中的参数).
如何使用enum层次结构/嵌套来实现以下目标:
测试是否属于enumA,B或C组的方法.例如,类似于Example.enumA1.isGroupBelonging(Group.A)或isGroupBelonging(Example.enumA1,Group.A)将是返回true的公共方法.
能够对组的子组做同样的事情A,B并且C.例如,组A可能有子组a,b和c.然后我想要一个方法,做一些像Example.enumA1.isSubGroupBelonging(SubGroup.a)这样的东西public boolean.
一种方法来完成所有这些,而不需要一些精心设计的enum名称堵塞我的代码.例如,能够Example.enumA1在我的其他类中引用而不需要使用类似Example.enumA1(Group.A,SubGroup.a)或类似的东西来引用它将是很好的Example.enumA1.Group.A.SubGroup.a
我有许多工作LinkedHashMap是要么LinkedHashMap<Long, Long>,LinkedHashMap<Long, Double>或LinkedHashMap<Long, Integer>.
我的目标是找到或创建一个方法,该方法将以相同的顺序返回List<Long>上面的所有键.排序很重要,这就是为什么我认为我不能使用哪个是.此外,我有许多其他方法只接受输入,所以我希望在该对象类型中返回所需的方法,以便我可以继续使用这些方法.LinkedHashMap<Long,...> myMap.keySet()Set<Long>List<Long>
编写一个方法来返回它,例如a LinkedHashMap<Long, Long>很容易:
private static List<Long> getLongKeys(LinkedHashMap<Long, Long> target) {
List<Long> keys = new ArrayList<Long>();
for(Map.Entry<Long, Long> t : target.entrySet()) {
keys.add(t.getKey());
}
return keys;
}
Run Code Online (Sandbox Code Playgroud)
但是,除了LinkedHashMap<Long, Double>和之外,我需要编写几乎相同的方法LinkedHashMap<Long, Integer>.
有没有什么办法可以概括我粘贴到接受所有三种类型的方法:LinkedHashMap<Long, Long>,LinkedHashMap<Long, Double>或LinkedHashMap<Long, Integer>?
我试图尽快读取CSV文件的单个列R.我希望在将列放入RAM 10倍的时间内减少标准方法.
我的动机是什么?我有两个文件; 一个称为Main.csv300000行和500列,一个称为Second.csv300000行和5列.如果我system.time()是命令read.csv("Second.csv"),则需要2.2秒.现在,如果我使用下面两种方法中的任何一种来读取第一列Main.csv(Second.csv因为它是1列而不是5列,它的大小是20%),它将花费超过40秒.这与读取整个600兆字节文件所用的时间相同 - 显然是不可接受的.
方法1
colClasses <- rep('NULL',500)
colClasses[1] <- NA
system.time(
read.csv("Main.csv",colClasses=colClasses)
) # 40+ seconds, unacceptable
Run Code Online (Sandbox Code Playgroud)方法2
read.table(pipe("cut -f1 Main.csv")) #40+ seconds, unacceptable
Run Code Online (Sandbox Code Playgroud)如何减少这个时间?我希望有一个R解决方案.
我有很长一段时间的10000个观察系列,我想要想象.问题是,如果我只是正好绘制它,时间维度将被压缩,我想要显示的时间序列的精细细节都不会显而易见.例如:
plot((sin(1:10000/100)+rnorm(10000)/5),type='l')
Run Code Online (Sandbox Code Playgroud)
我想要的是以某种方式在一个巨大的长图中并排绘制以下内容而不使用par(mfrow = c(1,100)).然后,我想导出这个非常宽的情节,只需滚动浏览整个系列即可.
plot((sin(1:10000/100)+rnorm(10000)/5)[1:100],type='l')
plot((sin(1:10000/100)+rnorm(10000)/5)[101:200],type='l')
plot((sin(1:10000/100)+rnorm(10000)/5)[201:300],type='l')
.....
Run Code Online (Sandbox Code Playgroud)
最终,我希望将3个或4个这些巨大的地块放在一起par(mfrow=c(4,1)).
我知道答案与pin设置有关par,但我一直在努力Error in plot.new() : plot region too large.我猜这pin与其他par参数的交互有关
如果我们可以准确地获得像素高度和宽度,则可以获得奖励积分.优选地,由于导出大小不完善,该图不会跳过随机像素.
如果图像可以在a中编码,则可以获得更多奖励积分.html.并以这种方式查看
我的目标是使用Python向具有内嵌图像的Gmail用户发送电子邮件.href由于图像的敏感性(来自我工作的数据),无法在线托管此图像然后通过a链接到该图像.
我已经尝试将该base64版本编码为HTML然后发送HTML,但众所周知,这不起作用.然后我注意到,在Gmail中,您可以将图像拖放到发送框中,它将在接收端显示为内联.鉴于此,我尝试从Python发送一封电子邮件,并将图像作为附件.这可以在下面的代码中看到,但不幸的是图像没有显示为内联.
我的问题是:如何发送图像使其显示为内联?
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os
gmail_user = "user1@gmail.com"
gmail_pwd = "pass"
to = "user2@gmail.com"
subject = "Report"
text = "Picture report"
attach = 'TESTING.png'
msg = MIMEMultipart()
msg['From'] = gmail_user
msg['To'] = to
msg['Subject'] = subject
msg.attach(MIMEText(text))
part = MIMEBase('application', 'octet-stream')
part.set_payload(open(attach, 'rb').read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition',
'attachment; filename="%s"' % os.path.basename(attach))
msg.attach(part)
mailServer = smtplib.SMTP("smtp.gmail.com", …Run Code Online (Sandbox Code Playgroud) 假设我有矢量vec <- c("D","B","B","C","C").
我的目标是最终得到一个维度列表length(unique(vec)),其中每个i列表返回一个索引向量,表示unique(vec)[i]in 的位置vec.
例如,此列表vec将返回:
exampleList <- list()
exampleList[[1]] <- c(1) #Since "D" is the first element
exampleList[[2]] <- c(2,3) #Since "B" is the 2nd/3rd element.
exampleList[[3]] <- c(4,5) #Since "C" is the 4th/5th element.
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但它太慢了.我的例子很大,所以我需要更快的代码:
vec <- c("D","B","B","C","C")
uniques <- unique(vec)
exampleList <- lapply(1:3,function(i) {
which(vec==uniques[i])
})
exampleList
Run Code Online (Sandbox Code Playgroud) 我在哪里可以找到percentile函数背后的源代码numpy?我想检查一下.我搜索过谷歌,但还没有找到任何东西.
考虑一些long叫做X和排序的List<Long>.什么是找到索引或值的最有效的算法List<Long>是(i)小于X,和(ii)最接近X数字线(假设条件(i)已被饱和)?
例如,这可能是一个问题设置:
long X = 500;
List<Long> foo = new Arraylist<Long>();
foo.add(450L);
foo.add(451L);
foo.add(499L);
foo.add(501L);
foo.add(550L);
Collections.sort(foo); // It's always sorted.
Run Code Online (Sandbox Code Playgroud)
我希望算法返回499或返回与之关联的索引499(在本例中i=2).
假设我有两个数据帧:
df1 <- data.frame(matrix(rnorm(10*10),ncol=10))
df2 <- data.frame(matrix(rnorm(10*10),ncol=10))
colnames(df1) <- 1:10
colnames(df2) <- 11:20
Run Code Online (Sandbox Code Playgroud)
如何使用merge到cbind这些(我已经知道了cbind,但我很感兴趣的应用merge点击这里).
java ×4
r ×4
list ×2
python ×2
arraylist ×1
bin ×1
csv ×1
data.table ×1
dataframe ×1
email ×1
enums ×1
gmail ×1
grouping ×1
hashmap ×1
hierarchy ×1
image ×1
io ×1
key ×1
logging ×1
map ×1
match ×1
merge ×1
mime ×1
nested ×1
numpy ×1
optimization ×1
output ×1
performance ×1
plot ×1
search ×1
slf4j ×1
unique ×1
vector ×1