我知道两点:矩形的左上角(x1,y1)和右下角(x2,y2),我也知道矩形的倾斜角度(以度为单位)(我也知道倾斜的枢轴/原点)。如何求边长?我需要具体的公式来计算宽度和高度。
我怀疑这里有一些非常简单的事情,但我就是想不通。
我知道两点:矩形的左上角(x1,y1)和右下角(x2,y2),我也知道矩形的倾斜角度(以度为单位)(我也知道倾斜的枢轴/原点)。如何求边长?我需要具体的公式来计算宽度和高度。
我怀疑这里有一些非常简单的事情,但我就是想不通。
现在在单体中它看起来像这样:我粗略地想象我的服务器将承受多少连接和多少请求,从这些数字开始,我创建一个连接池,限制每个连接的最大可能连接数和请求数。对于需要保证执行的某些操作,我还可以通过连接池执行请求。
事实证明,我有两个用于处理数据库的接口,我称它们为有限和无限。通过有限的连接(有限制的池),执行用户的请求,如果请求太多,没有足够连接的用户会收到相应的消息,而内部请求(无限制),其执行应该是保证,无论如何都会继续执行。
这两个接口用于后端的不同部分。现在我打算把后端拆分成几个微服务。问题是如何最好地制作与数据库交互的架构。
选项 1:将使用数据库的工作转移到单独的微服务中,该微服务将对有限和无限的请求执行操作。
选项 2:在每个需要使用数据库来隔离其连接和池的微服务中。
目前,第一个选项在我看来是最好的解决方案。在这种情况下,我将拥有一个服务,我可以在其中设置和更改连接池限制并控制负载。在缺点中,到目前为止,我看到了一个单点故障。
我很乐意听取关于此事的意见和建议。
我在 OSX 10.15.7 上构建了一个 Qt 应用程序(静态),输出是一个重量级的 Application.app(大约 30Mb),它在我构建它的系统上运行良好。尝试在另一个 OSX(也是 10.15.7)上运行此应用程序时,会出现一个窗口,并显示消息“无法打开 Application.app”。
拿起Application.app,发现/Contents/MacOS/Application没有chmod +x。添加了启动权限,在终端中启动。应用程序吐出一行:不允许操作。
当应用程序启动时,它会访问网络并写入磁盘。有人认为有必要在 Info.plist 中注册一些权限。现在它看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>CFBundleIconFile</key>
<string>app.icns</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>Copyright FooBar</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>
<string>Application</string>
<key>CFBundleIdentifier</key>
<string>foo.bar.application</string>
<key>NOTE</key>
<string>Copyright FooBar</string>
<key>LSUIElement</key>
<string>1</string>
</dict>
</plist>
此外,在 Linux 和 Windows 中,该应用程序可以完美组装并运行。我究竟做错了什么?
我想根据 REST API 进行授权。
它将按如下方式工作:用户将视图的 json 发送{ login: "foo", password: "bar" }
到/login。作为响应,收到一个唯一的{ session_id: "12345" }
. 此外,在所有需要授权的请求中,我计划忽略这个session_id。
问题是从安全的角度来看,最好把它滑到哪里。我正在考虑两种选择:
攻击者更难获得的是正文还是标头?或者也许还有其他选择?
PS 我不考虑 cookie 或第三方机制,如基本身份验证、oauth 等。
JavaScript 有一个非常方便的语法糖,它允许您从对象中提取键并直接访问它们:
let obj = {
x: 1,
y: 2,
z: 3,
}
const { x, y, z } = obj;
console.log(x, y, z);
问题是如何在 php 中做同样的事情:
$obj = [
'x' => 1,
'y' => 2,
'z' => 3,
];
???
echo "{$x} {$y} {$z}";
如何使承诺同步?
async function some() {
var promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("Two"), 3000);
}).then(data => {
return data;
}).catch(err => {
return err;
});
return await promise;
}
console.log("One");
console.log(some());
console.log("Three");
应该:
One
Two
Three
我想在 Node 中执行以下操作,假设有一个类:
class Some {
constructor(methods) {
for (var i in methods) {
this[methods[i]] = this.func;
}
}
func(data, callback) {
console.log("Имя метода: " + this.func.name);
}
}
该类有一个 func 方法,并将一个字符串数组传递给构造函数。我怎样才能做到这一点,以便在调用与这些字符串中的任何一个相等的方法时,调用 func 方法,并且在 func 内部我可以知道被调用的特定方法的名称:
var methods = ['one', 'two', 'three'];
var some = new Some(methods);
some.two({}, () => {
});
还是我想要的不可能?
向我解释为什么这段代码不起作用以及如何修复它:
var str = "AaAA";
var r = new RegExp("[A-Z]{3,}");
if (r.test(str)) {
console.log(":)");
} else {
console.log(":(");
}
我想检查一个字符串中是否有三个或更多的大写字母,但只有当它们在字符串中是连续的时才会通过检查AAA
,如果AaAA
不是。
假设有一个任意的 RGB 颜色,这个颜色分别是 100% 的亮度,0% 是 0,0,0(黑色)。告诉我根据参考计算颜色的公式,以百分比表示亮度。
有一种想法,一切都比我想象的要简单:
double adjust = 0.5; // 0.1 - 10%, 1 - 100%
int r = (int) (r1 * adjust);
int g = (int) (g1 * adjust);
int b = (int) (b1 * adjust);
是这样吗?
有一个列表,其中的每个元素都是一个组件(Item)。该列表是根据父级的状态 (List) 构建的。任务是当点击一个Item时,对应的元素会从状态List中移除。我是这样做的:我通过道具 onClose 将删除函数传递给 Item 并从那里调用它。
所有这一切甚至一直有效,直到需要在更改 Item 的状态后调用 onClose(在 setTimeout 内)。如果您在 jsfiddle 示例中取消注释第 27 行,那么我们正在关闭的项目下的项目的状态会以一种奇怪的方式发生变化。
现场示例:https ://jsfiddle.net/69z2wepo/114657/
编码:
class Item extends React.Component {
constructor(props) {
super(props);
this.state = {
height: 0,
opacity: 0
};
}
componentDidMount() {
setTimeout(() => {
this.setState({height: '500'}, () => {
setTimeout(() => {
this.setState({opacity: 1})
},100)
})
},100)
}
close() {
this.setState({opacity: 0}, () => {
setTimeout(() => {
this.setState({height: 0}, () => {
setTimeout(() => {
// Вот тут и начинается проблема
// this.props.onClose();
},100)
})
},100)
})
}
render() {
return (
<div className="item-wrapper" style={{maxHeight: this.state.height + 'px'}}>
<div className="item" onClick={this.close.bind(this)} style={{opacity: this.state.opacity}}>
{this.props.title}
</div>
</div>
);
}
}
class List extends React.Component {
constructor(props) {
super(props);
this.state = {
items: [
{title: 'zero'},
{title: 'one'},
{title: 'two'},
{title: 'three'},
{title: 'four'},
{title: 'five'},
{title: 'six'},
{title: 'seven'},
{title: 'eight'},
{title: 'nine'},
{title: 'ten'},
]
};
}
// Удаление элемента
delete(item) {
let newItems = this.state.items;
if (newItems.indexOf(item) > -1) {
newItems.splice(newItems.indexOf(item), 1);
this.setState({items: newItems});
}
}
render() {
return (
<div className="list">
{ this.state.items.map((item, i) => {
return (<Item key={i} title={item.title} onClose={this.delete.bind(this, item)} />)
})}
</div>
);
}
}
ReactDOM.render(
<List />,
document.getElementById('root')
);
我很想听听有关如何解决此问题的意见。提前致谢。
PS 预期可能的建议,我会马上说我知道 react-transition-group 的存在,但当前的问题不是关于选择工具。