我有下面的表名为module_data.目前它有三行条目:
id data
0ab5203b-9157-4934-8aba-1512afb0abd0 {"title":"Board of Supervisors Meeting","id":"1i3Ytw1mw98"}
7ee33a18-63da-4432-8967-bde5a44347a0 {"title":"Board of Supervisors Meeting","id":"4-dNAg2mn6o"}
8d71ca35-74eb-4751-b635-114bf04843f1 {"title":"COPD 101", "id":"l9O0jCR-sxg"}
Run Code Online (Sandbox Code Playgroud)
数据是jsonb列.我正在尝试使用like来查询数据列.类似于以下内容:
SELECT * FROM module_data WHERE title LIKE '%Board%';
Run Code Online (Sandbox Code Playgroud)
我一直在寻找jsonb支持,似乎没有像运营商那样.如果有人有任何建议.
电子3.0.0-beta.1节点10.2.0铬66.0.3359.181
我遇到的问题是导入模块。我创建了以下协议:
protocol.registerFileProtocol('client', (request, callback) => {
var url = request.url.substr(8);
callback({path: path.join(__dirname, url)});
});
Run Code Online (Sandbox Code Playgroud)
协议的输出是正确的路径
"/Users/adviner/Projects/Client/src/ClientsApp/app.js"
Run Code Online (Sandbox Code Playgroud)
我有以下模块app.js和以下代码:
export function square() {
return 'hello';
}
Run Code Online (Sandbox Code Playgroud)
在我的index.html中,我像这样导入模块:
<script type="module" >
import square from 'client://app.js';
console.log(square());
</script>
Run Code Online (Sandbox Code Playgroud)
但我不断收到错误:
app.js /:1无法加载模块脚本:服务器以非JavaScript MIME类型“”响应。根据HTML规范对模块脚本强制执行严格的MIME类型检查。
我已经完成搜索,但似乎找不到解决方案。谁能建议我可以做这项工作的方法?
谢谢
我想要做的是Execute()
运行并完成它调用Base::Done()
然后调用Derived::Done()
.我这样做是因为Base
上课Execute
会做点什么,当它完成时会调用Derived::Done()
.我希望我能正确解释.有点像任务完成时调用的监听器.我有点坚持Base
班级如何称呼Derived
班级.
class Base
{
virtual void Done(int code){};
void Execute();
}
void Base::Execute()
{
}
class Derived : Base
{
void Done(int code);
void Run();
}
Derived::Done(int code)
{
}
void Derived::Run()
{
Execute();
}
Run Code Online (Sandbox Code Playgroud) 使用单个表查询,我将了解如何执行此操作:
var sql = @"SELECT NAME, ID, COUNTY
FROM INFO_NAME
WHERE (NAME LIKE @Name) ORDER BY NAME, ID ASC";
IEnumerable<NameView> entrys = sqlConnection.Query<NameView>(sql, new { Name = "%" + name + "%" });
Run Code Online (Sandbox Code Playgroud)
现在,我正在使用多重映射,但不确定如何传递参数。
var sql = @"SELECT NAME, a.ID,
b.ID, ADDRESS
FROM INFO_NAME_NEW a
LEFT OUTER JOIN INFO_ADDRESS b on a.ID = b.ID
WHERE (NAME LIKE @TName) ORDER BY NAME, a.ID ASC";
var entrys = sqlConnection.Query<NameView, AddressView, NameView>(sql,
(a, b) =>
{
a.AddressView = b;
return a;
},
splitOn: …
Run Code Online (Sandbox Code Playgroud) 当我在图像控件中显示图像时,我试图旋转图像。目前图像显示如下:
我想将它向右旋转 90 度。我当前的代码如下所示:'
Image {
id: imagePhoto
anchors.fill: parent
width: parent.width
height: parent.height
transform: Rotation{
id: rotateImagePhoto
angle: 0
origin.x: 0
origin.y: 0
}
}
Run Code Online (Sandbox Code Playgroud)
所以我试着玩这个角度:
transform: Rotation{
id: rotateImagePhoto
angle: 90
origin.x: 700
origin.y: 700
}
Run Code Online (Sandbox Code Playgroud)
它正确显示:
我不明白的是为什么我必须为 x/y 设置这些值。我看过以下网站,但我不明白。
将QT Framework添加到我的.app包中
我在关于部署的Qt站点上的文档.我创建了一个名为HTTPClient.app的应用程序
我在Contents下创建了Framework文件夹,并复制了crypto ++和qscintilla以及Qt框架,它看起来像这样:
然后我运行install_name_tool -id -change
DylibFile=libqscintilla2.11.dylib
install_name_tool -id @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/Frameworks/$DylibFile
install_name_tool -change $DylibFile @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/MacOS/$ProjectName
Run Code Online (Sandbox Code Playgroud)
和crypto ++相同.我对Qt框架进行了以下操作
DylibFile=QtCore.framework/Versions/5/QtCore
install_name_tool -id @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/Frameworks/$DylibFile
install_name_tool -change $DylibFile @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/MacOS/$ProjectName
DylibFile=QtWidgets.framework/Versions/5/QtWidgets
install_name_tool -id @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/Frameworks/$DylibFile
install_name_tool -change $DylibFile @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/MacOS/$ProjectName
DylibFile=QtGui.framework/Versions/5/QtGui
install_name_tool -id @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/Frameworks/$DylibFile
install_name_tool -change $DylibFile @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/MacOS/$ProjectName
DylibFile=QtSql.framework/Versions/5/QtSql
install_name_tool -id @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/Frameworks/$DylibFile
install_name_tool -change $DylibFile @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/MacOS/$ProjectName
DylibFile=QtNetwork.framework/Versions/5/QtNetwork
install_name_tool -id @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/Frameworks/$DylibFile
install_name_tool -change $DylibFile @executable_path/../Frameworks/$DylibFile $ProjectName.app/Contents/MacOS/$ProjectName
Run Code Online (Sandbox Code Playgroud)
现在,当我运行otool时,我得到以下内容:
我得到了加密和qscintilla路径但是Qt框架也不应该遵循相同的模式吗?它仍指向原始路径
使用 getUserMedia() API 使用相机。我遇到的问题是它适用于除 iOS 和 iPad 之外的所有平台。我可以拍照,但无法缩放。我看到了这个帖子,但没有回复。我正在研究caniuse及其功能,据我所知,移动和桌面上的 Safari 都支持它。有小费吗?
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia(videoConstraints)
.then(stream => {
setTimeout((evt) => {
const track = stream.getVideoTracks()[0];
const capabilities = track.getCapabilities();
const settings = track.getSettings();
if (('zoom' in capabilities)) {
alert('zoom exists');
const elemZoom = this.dom.select(`${this.el} #zoom-slider`);
// Map zoom to a slider element.
elemZoom.min = capabilities[`zoom`][`min`];
elemZoom.max = capabilities[`zoom`][`max`];
elemZoom.step = capabilities[`zoom`][`step`];
elemZoom.value = settings[`zoom`];
elemZoom.oninput = (event) => {
track.applyConstraints({
advanced: [{
zoom: …
Run Code Online (Sandbox Code Playgroud) 在我的代码中
std::unique_ptr<QNetworkAccessManager> myNetworkAccessManager;
...
myNetworkAccessManager.reset(new QNetworkAccessManager(this));
QObject::connect(myNetworkAccessManager.get(), SIGNAL(finished(QNetworkReply *)), this, SLOT(OnNetworkFinished(QNetworkReply *)));
Run Code Online (Sandbox Code Playgroud)
有问题的代码:connect() 中的myNetworkAccessManager.get ()
我的问题是最好的方法是什么?
我正在阅读这篇文章 ,它在 Legacy Code 下说:
调用 get() 返回一个指向底层方法的指针。如果可以,您真的想避免调用它,因为一旦您将原始指针释放到野外,您就失去了通过切换到 unique_ptr 所获得的许多优势
更新
如果我改成使用如果我使用QScopedPointer,我的代码如下:
QScopedPointer<QNetworkAccessManager> myNetworkAccessManager;
...
myNetworkAccessManager.reset(new QNetworkAccessManager(this));
QObject::connect(myNetworkAccessManager.data(), SIGNAL(finished(QNetworkReply *)), this, SLOT(OnNetworkFinished(QNetworkReply *)));
Run Code Online (Sandbox Code Playgroud)
这会是正确的解决方案吗:
connect(myNetworkAccessManager.data()
Run Code Online (Sandbox Code Playgroud)
更新 2
阅读此链接stackoverflow似乎使用 data() 是正确的解决方案。这意味着使用 stl 中的 get() 也是正确的。
我正在尝试使用mixins来理解ES6多重继承.
我正在关注这篇文章(简单的mixins).但是当我运行代码时,我的输出是:
main
Uncaught ReferenceError: this is not defined
,console.log('main')
再次指向我在最新版本的Chrome上运行它.这是我的代码:
const RaceDayService = superclass => class extends superclass {
constructor(){
console.log('service');
}
}
const RaceDayDB = superclass => class extends superclass {
constructor(){
console.log('db');
}
}
class RaceDayUI {
constructor(){
console.log('ui');
}
}
class RaceDay extends RaceDayDB(RaceDayService(RaceDayUI)){
constructor(options){
console.log('main');
}
}
const raceDay = new RaceDay();
Run Code Online (Sandbox Code Playgroud)
关于我做错的任何想法?
谢谢!
javascript inheritance multiple-inheritance mixins ecmascript-6
qt ×4
c++ ×1
c++11 ×1
dapper ×1
ecmascript-6 ×1
electron ×1
getusermedia ×1
inheritance ×1
javascript ×1
jsonb ×1
mixins ×1
postgresql ×1
qml ×1
qt5 ×1
unique-ptr ×1