我已经安装了Windows 10 Insider Program.一切正常,除了Apache.当我尝试启动它时,它表示端口80被阻止.有没有办法取消阻止它或告诉Apache使用另一个端口?
我之前使用的是Windows 7.我在使用Skype的端口80时遇到了麻烦,但我已将其禁用.
我在一个Web应用程序上工作,用于绘制图像.我使用CANVAS元素和javascript来绘制它,但我有一个问题:如何从用户的PC加载图像并在画布上绘制?我不想将它保存在服务器上,只在网页上保存!
这是代码的缩短版本(完整代码太长):
HTML:
Open file: <input type="file" id="fileUpload" accept="image/*" /><br />
<canvas id="canvas" onmousemove="keepLine()" onmouseup="drawLine()" onmousedown="startLine()" width="900" height="600" style="background-color:#ffffff;cursor:default;">
Please open this website on a browser with javascript and html5 support.
</canvas>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var x = 0;
var y = 0;
var clicked = false;
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.strokeStyle = "black";
context.lineCap = "round";
canvas.addEventListener('mousemove', function(e) { getMousePos(canvas, e); }, false);
takePicture.onchange = function (event) {
var files = event.target.files,
file;
if (files && files.length …Run Code Online (Sandbox Code Playgroud) 对于富Web应用程序,我需要键盘快捷键.因为有许多不同的键盘布局,所以它们必须是可配置的.不幸的是,我无法找到一种方法将键盘事件映射到人类可读的快捷方式名称,如Ctrl + Alt + Y或Alt + \.
该keypress事件是无用的,因为它不会触发所有键.以下是一些keydown事件属性:
charCode:仅适用于可打印字符.据MDN称,已弃用code:Works,但忽略键盘布局.当我按Z键时,我接上code: "KeyY"了德语键盘.key:Works,但根据修饰符给出不同的结果.E. g.Shift + 3 key: "§"在我的键盘和key: "#"大多数美国键盘上产生.keyCode:值不是唯一的.Ä,Ö,Ü或^收益率keyCode: 0.据MDN称,已弃用which:就像keyCode,价值不是唯一的.据MDN称,已弃用altKey,ctrlKey,metaKey,shiftKey:有用用于检测修饰键我该怎么做?在不知道用户的键盘布局的情况下甚至可能吗?
我刚刚在W3Schools上阅读了关于JS中类型转换的这篇文章.有:
有3种类型的对象:
- 宾语
- 日期
- 排列
这让我很困惑,因为据我所知,Date对象和任何其他对象(typeof (new Date())返回"object")之间没有任何区别.首先,我认为这是特殊的,因为它包含本机代码,但有许多本机代码的函数.
这篇文章错了吗?或者任何人都可以告诉我为什么这个Date对象如此特别以至于它被认为是一种单独的对象?
当尝试在 rust 中实现双链表时,我发现以下意外错误
if let Some(link) = self.tail.take() {
let x = link.borrow_mut();
link.borrow_mut().next = Some(node.clone());
} else { ... }
Run Code Online (Sandbox Code Playgroud)
这里链接被推断为Rc<RefCell<Node<..>>>和编译器说:
不能将不可变的局部变量借用
link为可变的。
试过之后,我猜是什么时候use std::borrow::BorrowMut,错误发生了。
// compiles
fn test1() {
let a = Rc::new(RefCell::new(1));
let b = RefCell::new(1);
b.borrow_mut();
a.borrow_mut();
}
// doesn't compile
fn test2() {
use std::borrow::BorrowMut; // inserted this import!
let a = Rc::new(RefCell::new(1));
let b = RefCell::new(1);
b.borrow_mut();
a.borrow_mut();
}
Run Code Online (Sandbox Code Playgroud)
这里test2()编译失败。我想知道为什么它会这样工作。
我是JUnit测试的新手,我想在IntelliJ IDEA 2017.3.3中创建一个参数化测试。所以我添加了JUnit 5:
然后IntelliJ下载org.junit.jupiter:junit-jupiter-api:5.0.0。现在,@Test正在工作,但@ParameterizedTest没有。它说“无法解析符号'ParameterizedTest'”。与相同@ValueSource:
码:
import org.junit.jupiter.api.*;
class SSTest {
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void testSlowSort(int arg) {
}
@Test
void testSort() {
}
}
Run Code Online (Sandbox Code Playgroud)
PS:同样org.junit.jupiter.params缺少包装。否则,IntelliJ将自动导入它。
我希望任何人都可以帮助我解决此问题。我不使用Maven,Gradle等,而仅使用Java。
这个javascript应运行函数func len次数,然后返回它是否一直成功.相反,for只要func返回false ,循环就会被取消.怎么解释这个?(jsfiddle)
function do_something(func, len) {
var res = true;
for (var i = 0; i < len; i++) {
res = res && func(i);
}
return res == true;
}
do_something(function(x) {
console.log(x);
return false;
}, 5);
do_something(function(x) {
console.log(x);
return true;
}, 5);
Run Code Online (Sandbox Code Playgroud)
我希望0, 1, 2, 3, 4, 0, 1, 2, 3, 4,但输出看起来像这样:
0
0
1
2
3
4
Run Code Online (Sandbox Code Playgroud) 我目前有一个匹配语句的形式
match ball.side {
Side::Left => x(),
Side::Right => y(),
}
Run Code Online (Sandbox Code Playgroud)
但我需要的是类似的东西
match ball.side {
Side::Left => x(),a(),
Side::Right => y(), b(),
}
Run Code Online (Sandbox Code Playgroud)
当然这不会编译,但是我怎么能让这种序列起作用呢?我知道我也可以只使用if语句,但我很好奇如何通过匹配来解决这个问题。
javascript ×4
rust ×2
apache ×1
canvas ×1
connection ×1
date ×1
dereference ×1
events ×1
for-loop ×1
html5 ×1
java ×1
junit ×1
match ×1
webserver ×1