(请参阅结尾为什么这不是一个骗局我如何在另一个JavaScript文件中包含JavaScript文件?)
Javascipt + Vue + webpack + vue-loader noob ...在最简单的事情上磕磕绊绊!
我有App.vue一个模板:
<template>
<div id="app">
<login v-if="isTokenAvailable()"></login>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
我isTokenAvailable以正常方式为Vue 声明了该方法methods.它使用我在单独js文件中编写的函数:
<script>
import * as mylib from './mylib';
export default {
....
methods:{
isTokenAvailable: () => {
return mylib.myfunc();
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
mylib 像这样开始:
import models from './model/models'
import axois from 'axios'
export default function() {
// functions and constants
}
Run Code Online (Sandbox Code Playgroud)
当我运行项目时,我收到警告:
export 'myfunc' (imported as 'mylib') was not found …Run Code Online (Sandbox Code Playgroud) 使用intellij 15.0.3 + Java 8u65 ...
lower = System.currentTimeMillis();
long upper = lower + 31536000000L; //add a year-ish
Run Code Online (Sandbox Code Playgroud)
工作良好.但如果我这样做:
lower = System.currentTimeMillis();
long upper = lower + (1000L*60*60*24*365);
Run Code Online (Sandbox Code Playgroud)
Intellij现在发出警告"表达式中的数字溢出".我知道这实际上是否属实,并且一直警告两种表达方式,但事实并非如此.
任何人都知道为什么第二个表达式产生警告?我宁愿以这种方式进行分解而不是数字,因为项目中的其他开发人员更容易理解它正在做什么(尽管我想我可以发表评论).代码仍然编译明显,但我发现我的构建中的警告像一个我无法划伤的痒.
编辑 感谢您的回复......我认为这只是Intellij中的一个缓存问题...如果我知道复制/粘贴上面的内容我就不会收到警告.如果我在10次粘贴1或2次后尝试编辑它,我会弹出警告.
我已经尝试过Stackoverflow中给出的各种方法,也许我错过了一些东西.
我有一个Android客户端(其代码我无法更改),目前正在获取如下图像:
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
Run Code Online (Sandbox Code Playgroud)
url图像的位置在哪里(CDN上的静态资源).现在,我的Spring Boot API端点需要以相同的方式表现得像文件资源,以便相同的代码可以从API获取图像(Spring引导版本1.3.3).
所以我有这个:
@ResponseBody
@RequestMapping(value = "/Image/{id:.+}", method = RequestMethod.GET, consumes = MediaType.ALL_VALUE, produces = MediaType.IMAGE_JPEG_VALUE)
public ResponseEntity<byte[]> getImage(@PathVariable("id")String id) {
byte[] image = imageService.getImage(id); //this just gets the data from a database
return ResponseEntity.ok(image);
}
Run Code Online (Sandbox Code Playgroud)
现在,当Android代码试图让http://someurl/image1.jpg我在日志中出现此错误时:
解决处理程序中的异常[public org.springframework.http.ResponseEntity com.myproject.MyController.getImage(java.lang.String)]:org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示
插入http://someurl/image1.jpg浏览器时会发生同样的错误.
奇怪的是,我的测试检查确定:
Response response = given()
.pathParam("id", "image1.jpg")
.when()
.get("MyController/Image/{id}");
assertEquals(HttpStatus.OK.value(), response.getStatusCode());
byte[] array = response.asByteArray(); //byte array is identical to test image
Run Code Online (Sandbox Code Playgroud)
我如何使其行为像正常方式提供的图像?(注意我无法更改android代码发送的内容类型标题)
编辑 …
类似的问题这一个,但对于iPhone 7.
iPhone 7有2个琥珀色LED和2个白色LED.当您打开割炬时,只有1个LED亮起.在我的应用程序中使用相机时,琥珀色会间歇性地打开(我似乎无法控制它).
所以我真的有两个问题:
编辑
我已经检查过AVCaptureDevice并且相关(无论是什么记录在案),所以希望有人能够看到发动机罩下的人,或者找到另一种方式.
我有一个DropWizard REST API编写和工作.其中一个资源端点实际上写了一封电子邮件,但是只要我添加以下依赖项,DropWizard就会在启动时失败
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
DropWizard依赖项是:
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId>
<version>0.8.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
启动时的错误很长,总结如下
WARN [2015-05-01 20:06:08,887] org.glassfish.jersey.internal.Errors: The following warnings have been detected: WARNING: Unknown HK2 failure detected:
MultiException stack 1 of 2
java.lang.NullPointerException
at com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider.setConfiguration(AbstractJAXBProvider.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
....
MultiException stack 2 of 2
java.lang.IllegalStateException: Unable to perform operation: method inject on com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$App
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:395)
....
MultiException stack 3 of 3 …Run Code Online (Sandbox Code Playgroud) log4net.xml我的解决方案的根目录中有一个文件。用于复制到 bin 的文件属性设置为Always copy。我已确认该文件已复制到 bin 目录。
在配置中,我设置了一个文件附加器(基本上是文档中的复制粘贴):
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="Logs\\log.log" />
<appendToFile value="true" />
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd-HHmmss" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
我也有这条线AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
Run Code Online (Sandbox Code Playgroud)
记录器在代码文件中的设置如下:
private static ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)
我也将log4net.Config.XmlConfigurator.Configure();(也带有FileInfo参数)添加到了 main 中Program.cs。
但是,如果我执行该程序,则不会创建预期的日志文件。我怀疑 log4net 甚至没有读取配置文件。
我错过了什么吗?从 VS 内部执行也不起作用(尽管它以某种方式拾取了 Console Appender 部分)。
类似的帖子:
我有一个简单的(ish)VueJs(2.5.2)应用程序,它依赖于 vuetify(1.5.6)。项目是通过 IntelliJ 使用 Vue cli 创建的,因此它是一个标准结构。
应用程序中只有 1 个组件,具有如下范围的 css:
<style scoped>
.app-stores{
font-size: 12px;
text-align: center;
}
.app-stores img{
max-width: 190px;
}
.padded-checkout-btn {
padding: 10px;
}
</style>
Run Code Online (Sandbox Code Playgroud)
然后我在组件中使用它,如下所示:
<v-btn class="padded-checkout-btn" color="green lighten-1" :disabled="!isCheckoutable()" @click="progressStepper(2)">Checkout {{currencySymbol + toPrice(calculateTotal())}}</v-btn>
Run Code Online (Sandbox Code Playgroud)
现在,如果我npm run dev在浏览器中本地运行并查看它,它看起来就像我期望的填充:
但是,如果我运行npm run build(对代码没有任何更改)并上传到站点,则填充似乎消失了:
我检查了构建的 css 文件,它似乎在那里:
.padded-checkout-btn[data-v-dedb1744]{padding:10px}
Run Code Online (Sandbox Code Playgroud)
如果我检查结果源,我可以看到它在那里声明:
<button data-v-dedb1744="" type="button" class="padded-checkout-btn v-btn theme--light green lighten-1"><div class="v-btn__content">Checkout £7.00</div></button>
Run Code Online (Sandbox Code Playgroud)
问题:为什么它们不同?即使以某种方式隐藏了 CSS,运行 dev 与 build 的全部意义在于它们是相同的吗?关于如何诊断/修复的任何想法?
dev并build定义如下:
"scripts": { …Run Code Online (Sandbox Code Playgroud) 给定这个嵌套结构,我想检索不同的Longs列表:
Class A
public List<B> getBs()
Class B
public List<Long> getIds()
List<A> list = ...
// how do I now get all of longs as a distinct list
Run Code Online (Sandbox Code Playgroud)
我意识到我可以做2 for循环,但是考虑到Java8的新功能,我只是习惯了,我确信有更好的方法.
澄清一下,我要求List<long>(不是List<A>)
谢谢
我要求每50毫秒调用一个类方法.我不使用,Thread.sleep因为它非常重要,它尽可能精确地发生在milli,而sleep只保证最短的时间.基本设置如下:
public class ClassA{
public void setup(){
ScheduledExecutorService se = Executors.newScheduledThreadPool(20);
se.scheduleAtFixedRate(this::onCall, 2000, 50, TimeUnit.MILLISECONDS);
}
protected void onCall(Event event) {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
现在这个大体上工作正常.我已经把System.out.println(System.nanoTime)在onCall检查其被称为精确到我希望它是.我发现在100次通话过程中有一个1-5毫秒的漂移,这会一次又一次地纠正.
不幸的是,5毫秒漂移对我来说非常重要.1毫米的漂移是可以的,但是在5毫秒时,onCall由于其他物体的状态,它会影响我正在进行的计算.如果我能让调度程序自动纠正,如果一次调用晚了5ms,下一次将在45ms而不是50ms发生,那几乎可以.
我的问题是:在Java中有没有更精确的方法来实现这一目标?我现在能想到的唯一解决方案是check每1ms 调用一个方法并检查时间,看它是否在50ms标记处.但是,如果在偶然情况下错过了精确的50ms间隔(49,51),那么我需要保持一些逻辑.
谢谢
我在MongoDB集合中有一个像这样的文档:
{
id : ...
listA:[{
id: ...,
thing:...,
listB:[{...},{...}]
},...
]
}
Run Code Online (Sandbox Code Playgroud)
(顶级ID是正常自动生成的MongoDB ID。子文档对象的另一个ID是我分别生成并推送到列表中的伪ID)
问题:我想(1)添加到listB(2)更改thing
该对象可能非常笨重,并且可能有多个线程正在该对象上运行,因此我想避免先发生findOne,先更新后再save发生场景类型。
我想在Spring Data中以与推送到相似的方式进行操作listA,即
@Autowired
private MongoOperations operations;
public void addStuff(String id, Stuff stuff) {
operations.updateFirst(Query.query(Criteria.where("_id").is(id)),
new Update().addToSet("listA", stuff), Stuffs.class);
}
Run Code Online (Sandbox Code Playgroud)
但是,我在生成正确的查询/标准时遇到了麻烦。
提前致谢。
我的项目结构(多模块)是这样的
parent
projectA
projectB
... other modules
Run Code Online (Sandbox Code Playgroud)
parent实际上也有一个父级(Spring Boot)。
我已经设置了一个 Jenkins 作业来对每次提交进行编译和测试,因此它运行:
mvn -f pom.xml clean install
Run Code Online (Sandbox Code Playgroud)
一切都很好。ProjectB依赖于ProjectA(类似于项目的常见类类型)并且是一个 Spring boot 应用程序。所以依赖信息是常规的:
<dependency>
<groupId>Group</groupId>
<artifactId>ProjectA</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
ProjectBJenkins 中有一项单独的工作来构建可部署的 jar 文件并将其部署到服务器。所以命令是:
mvn -f ProjectB/pom.xml clean install antrun:run
Run Code Online (Sandbox Code Playgroud)
此操作失败并显示如下消息:
[WARNING] The POM for Group:ProjectB:1.0-SNAPSHOT is missing, no dependency information available
...
[ERROR] Failed to execute goal on project host-api: Could not resolve dependencies for project Group:ProjectB:1.0-SNAPSHOT: The following artifacts could not be resolved: Group:ProjectA:jar:1.0-SNAPSHOT...
Run Code Online (Sandbox Code Playgroud)
现在我可以通过mvn …
java ×7
vuejs2 ×2
c# ×1
css ×1
dropwizard ×1
intellij-15 ×1
ios ×1
iphone ×1
iphone7plus ×1
java-8 ×1
javascript ×1
lambda ×1
log4net ×1
maven ×1
maven-2 ×1
module ×1
spring-boot ×1
spring-data ×1
spring-mongo ×1
spring-mvc ×1
swift ×1
swift3 ×1
vue-loader ×1
vuetify.js ×1
webpack ×1