问题标签 [ownership]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multithreading - 生成和管理后台线程的惯用 Clojure 方式
什么是惯用的 Clojure 方法来创建一个在后台循环的线程,对某些共享引用进行更新并管理其生命周期?我发现自己正在future
为此使用,但感觉有点像黑客,因为我从不返回有意义的值。例如:
future-cancel
另外,当不再需要后台处理时,我需要注意这一点。关于如何在 Clojure/Swing 应用程序中编排它的任何提示都会很好。JComponent
例如,添加到我的 UI 中负责在窗口关闭时终止线程的虚拟对象可能是一个想法。
rss - 有没有办法验证一个人拥有/控制一个特定的 RSS 提要?
我有一个项目,我希望能够从他们的博客或其他内容生成源监控用户的 RSS 提要,但我需要以某种方式验证他们确实拥有 RSS 提要,而不仅仅是指向其他人的博客或内容。有没有办法在提要本身上执行此操作,例如提要<meta>
中的部分?我的另一个想法是强制该人验证托管提要的域或站点的所有权。
validation - 如何验证网站的所有权?
我想创建一个标签以允许用户声明其网站的所有权。
我将如何获得标签并将其与我生成的标签进行匹配。
标签格式为<!--tag-->
如果我能够使用获取 html,我将如何验证此标签file_Get_contents("url");
php - php apache文件所有权和创建问题
我正在尝试在我的代码中将文件重命名为另一个名称。然而,似乎有一些所有权/权限问题正在阻止它正常工作。
这是我的(简化的)代码:
这些是我尝试更改的文件的权限:
代码:
这段代码可以正常工作,当 apache 是文件的创建者时,它似乎可以工作。但是,当我将所有权更改为“apache”时,它停止工作。PHP/Apache 是否有知道文件创建者是谁的概念?这会阻止 rename() 工作吗?
我现在被这个难住了 - 感谢任何帮助。
谢谢,皮科
c++ - 适当使用shared_ptr?
没有经验,shared_ptr<>
我想知道以下是否是一个合适的用例,以及返回shared_ptr<>
给用户是否是个好主意。
我有一个类似图形的结构,节点之间有多个连接。在图的遍历过程中,每个节点都被分配了一个值(从连接的节点计算),我希望用户能够轻松访问该值。整个事情看起来(非常简化)是这样的:
用户调用:
这样做的好处是用户可以直接访问他关心的节点(依赖关系通常是无趣的)。但我不能 100% 确定这是否是一个好主意。
感谢您的输入!
编辑:没有循环依赖。
c++ - 使用新位置转移对象所有权
我有一个 Visual Studio 2008 C++ 项目,其中有一个类管理无法复制的资源。我已经实现了按引用结构传输的语义(ala std::auto_ptr
)。
不幸的是,当我将此模式与使用placement-new 的库一起使用时,我得到一个编译器错误:
例如:
我怎样才能修改Test
它以便它可以与放置 new 一起使用并且仍然保留它的所有权语义?
谢谢,保罗
debugging - 由 UiLoader 加载的 Ui 文件,但指向自定义小部件的 NULL 指针
我正在使用 Qt 4.7.0 和 windows7,我对自定义小部件有一个巨大的问题,我创建了 QLed 自定义小部件,我使用它。
我想向 QLed 小部件添加信号属性,并且在设计时使用 QtDesigner 我想在我的 Ui 文件中添加 100 个 QLed,并将每个 QLed 的信号属性设置为一个数字(信号属性的类型不重要),所以我想访问这 100 个 QLed,当我编码并制作 QList 并访问这些
现在我想向 QLeds 发送数据
现在它将在 SIGNAL_PROPERTIES == 123 的所有 QLeds 上
我的理论和方法不正确还是我可以用其他方式做?我一步一步地写了我的问题我改变了 dialog.cpp 和 cunstructor Dialog::Dialog(QWidget *parent) : 和 *.pro 文件我附上了我的测试程序。谢谢。
*。轮廓:
** 对话框.cpp
我复制了 qledplugin-build-desktop\release 文件夹文件:qledplugin.dll、libqledplugin.a、moc_qled.cpp、moc_qledplugin.cpp、qrc_qled.cpp、moc_qled.o、moc_qledplugin.o、qled.o、qledplugin.o、qrc_qled。哦,
至:
,我可以用 QtDesigner 设计一个 Ui 对话框并放置 QLeds 和 QLabels,一切都很好,我也可以使用其他小部件。之后,我想在我的程序中显示这个 Ui 文件,我正在使用 UiLoader,我在 QWidget 对象中加载 Ui 文件 QWidget *formWidget = loader.load(&file, this); 和 .show() 它,在编译时我在 1) 构建问题选项卡中收到此警告:
但我的程序工作。一切都很好,我设计的文件正在加载。我使用这个命令:
我可以在 3) 应用程序输出选项卡中看到:
所以我可以看到 formWidget 子项,其中包含我的自定义小部件的 QLeds。
现在我需要将数据发送到我的 QLeds 和 QCheckBoxs,我制作了一个 QList 并尝试一下:
我得到:
它显示了 4 个 QCheckBox
现在我尝试自定义小部件:
我得到:
我的大问题在这里:allQLed.size() 为零,我得到空指针
如果我添加带有编码的 QLed 小部件,我没有问题,但我需要 QtDesigner。
我在 Q3Frame 上对此进行了测试,它是 QtDesigner 中的一个自定义小部件插件,并且存在同样的问题。
为什么会发生这种情况,我该怎么办?Qt不能这样做吗?
提前谢谢干杯
c# - 从 toolstripmenuitem 获取 contextmenustrip
我使用Owner
, OwnerItem
, 还是Container
属性?
如果ToolStripMenuItem
是另一个 tsmi 的成员,而后者又是另一个 tsmi 的成员,等等怎么办?
这样做的目的是能够添加一个事件处理程序,该处理程序可以获取TreeView
that has the ContextMenuStrip
that has that ToolStripMenuItem
。
稍微抽象一下,有没有一种通用的方法可以找到控件的所有者,直到找到您感兴趣的那个?只是投射和希望?
c# - 通过工具条菜单事件处理程序获取控件(treeView)
类似于这个问题: get contextmenustrip from toolstripmenuitem
除了现在我需要找到ToolStripMenuItem
单击时打开其上下文菜单的对象。
SourceControl
, Parent
, Owner
, 和GetParentControl()
都返回 null。
最初我有一个TreeView
,它的ContextMenuStrip
属性被设置了。
这是我的初步代码:
我得到的ContextMenuStrip
不正确吗?为什么SourceControl
cms 的属性在 OpenHandler 中有效,但在事件处理程序中无效ToolStripMenuItem
?
Form1.Designer.cs:
Form1.cs:
程序.cs:
不幸的是,我不知道任何上传文件的方法。我尝试将它们作为imgs上传,但没有奏效。
linux - Linux:在挂载“外部”分区时模拟/屏蔽用户所有权?
这是我的问题:我的 Ubuntu 系统上有一个分区,我们称之为它myhdrive
,它不会在启动时自动安装(所以我使用磁盘安装程序小程序或 Nautilus 手动安装它)。挂载后,在 Ubuntu 中列出此分区如下所示:
现在,假设我关闭了 Ubuntu 操作系统 - 假设从同一台机器上的 USB 密钥启动 OpenSUSE。该myhdrive
分区将不再自动挂载,然后我必须手动挂载它(再次从那里的文件管理器)。问题是,当在 OpenSUSE 下挂载时,同一个驱动器会显示以下列表:
显然,myusername
在 Ubuntu 系统中有 1000 的 uid,并且可以识别它 - 而在 OpenSUSE 系统中不存在相同的用户名,因此不会用文件名替换 uid。
当然,问题是我无法myhdrive
从 OpenSUSE 写入默认值——我首先必须写入chown
整个分区——然后,当我回到 Ubuntu 系统时,我必须chown
再次将其写入。
我很清楚,使用 GUI 工具这是不可能的——但是有没有一种方法或命令行开关,这样我就可以“伪造所有权”:以这样的方式安装这个分区,即uid
1000 的真实值是在 USB 启动的情况下解释为“当前登录的用户”(包括,当“当前登录的用户”对分区进行写入时,它们被记录在 1000 的 uid 下)?
提前感谢您的任何答案,
干杯!