我有两个数组:
@arr1 = ( 1, 0, 0, 0, 1 );
@arr2 = ( 1, 1, 0, 1, 1 );
Run Code Online (Sandbox Code Playgroud)
我想总结两个数组的项目,以获得新的数组
( 2, 1, 0, 1, 2 );
Run Code Online (Sandbox Code Playgroud)
我可以不循环遍历数组吗?
我有以下DB:
Posts
它有一个Id
,Tags
也有Id
,和TagsToPosts
有TagsToPosts.PostId => Posts.Id
和TagsToPosts.TagId => Tags.Id
FK关系的表.我需要以TagsToPosts
下列方式删除多个项目.我正在IList<Tag> newTags
通过解析字符串来创建.每个标签都有它的名字.我想删除所有TagsToPosts
指向单个帖子(TagsToPosts.PostId == mypostid
)的项目,以及指向Tag
不在我的名字的项目newTags
.
例如,我有一个帖子Id = 1
,有三个标签:1 => "tag1", 2 => "tag2", 3 => "tag3"
和ManyToMany关系表TagsToPosts
:1 => 1, 1 => 2, 1 => 3
所以这三个标签都链接到我的帖子.之后我将IList<Tag> newList = new List<Tag>()
通过解析字符串来创建一个新的.newList
包含:0 => "tag1", 0 => "tag2"
.现在我想从表TagsToPosts中删除第三个关系,因为我的新标签列表不包含名为"tag3"的标签.所以我需要找到一个区别.我知道我可以使用JOIN找到类似的项目,但如何找到差异?
我想在一个数据库查询中发生这种情况而不迭代每个项目以删除它.
我的web.config中有配置文件提供程序
<profile defaultProvider="MyProvider">
<providers>
.......
<properties>
<add name="CustomField1" type="string" />
<add name="CustomField2" type="string" />
<add name="CustomField3" type="string" />
<add name="CustomField4" type="string" />
</properties>
</profile>
Run Code Online (Sandbox Code Playgroud)
如何获取包含所有可用属性的string []数组(CustomField1,CustomField2 ....)
编辑: 找到工作解决方案,但不确定它是否是最好和最简单的.
var allCustomProperties =
profile.GetType().GetProperties().Where(l => l.PropertyType.Name == "String" && l.CanWrite == true).Select(
l => l.Name).ToArray();
Run Code Online (Sandbox Code Playgroud) 我有Node.js应用程序使用生成进程child_process.spawn(my_command)
.我用它来运行像这样的命令sudo my-app
.
当sudo
流程开始时,它就会启动my-app
.所以我最终得到了一个流程树.sudo
在顶部,我的应用程序,我的服务器等在底部.
从我的节点脚本,如果我杀了我开始的过程:my_process.kill("SIGTERM")
它会杀死sudo
进程,但不会杀死它的子进程.我的服务器一直在运行
有没有办法杀死整个进程树?
我让 nodejs 监听 tcp 端口并从 Flash XMLSocket 获取内容。如果我尝试从 flash ( XMLSocket.send(long_message)
) 的一条消息中推送大量数据,我总是最终stream.on("data", function(d) {
触发事件,而我希望在传输整个消息时发生。Flash 的 XMLSocket 将数据作为以空字节结尾的 UTF8 编码字符串传输。如何控制我的消息一致性?
我在这里找到了类似的问题。但没有明确的答案。我知道我的消息的结尾应该是空字节,但是你能给我一个关于如何存储不完整消息并避免与下一条/并发消息重叠的例子吗?
在 maerics 的回答之后,我做了类似的事情
var server = net.createServer(function(stream) {
var dataBlock = "";
stream.on("data", function(d) {
processChunk(d);
});
function processChunk(data) {
var chunks = data.split("\0");
while (chunks.length > 1) {
if (dataBlock.length > 0) {
dataBlock += chunks.shift();
processIncompingMessage(dataBlock);
dataBlock = "";
}
else {
processIncompingMessage(chunks.shift());
}
}
dataBlock += chunks.shift();
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
var tagToPosts = (from t2p in dataContext.TagToPosts
join t in dataContext.Tags on t2p.TagId equals t.Id
select new { t2p.Id, t.Name });
//IQueryable tag2postsToDelete;
foreach (Tag tag in tags)
{
Debug.WriteLine(tag);
tagToPosts = tagToPosts.Where(t => t.Name != tag.Name);
}
IQueryable tagToPostsToDelete = (from t2p in dataContext.TagToPosts
join del in tagToPosts on t2p.Id equals del.Id
select t2p);
dataContext.TagToPosts.DeleteAllOnSubmit(tagToPostsToDelete);
Run Code Online (Sandbox Code Playgroud)
where tags
是List<Tag>
- 构造函数创建的标签列表,因此它们没有id.我运行代码将一个刹车点放在Debug上,然后等待几个周期.然后我将WatchToPosts.ToList()放在Watch窗口中以便执行查询.在SQL事件探查器中,我可以看到以下查询:
exec sp_executesql N'SELECT [t0].[Id], [t1].[Name]
FROM [dbo].[tblTagToPost] AS [t0]
INNER JOIN [dbo].[tblTags] AS [t1] ON [t0].[TagId] = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将哈希中的键名设置为字符串containsig"/"符号
$myshash{"/dev/shm"} = "shared memory";
Run Code Online (Sandbox Code Playgroud)
但是当我使用Data :: Dumper查看时,我得到的东西就像'28/64'等.如何在哈希键名中使用这些特殊字符?
如何删除我不感兴趣的数组项?如果我愿意离开他们 - 我的记忆会被不必要的物品所淹没.
我需要在Perl中实现一项任务.一个文件不断填充包含以下内容的消息:
"IP - URL"
Run Code Online (Sandbox Code Playgroud)
我需要不断读取这个文件并测量是否有超过,比如五个,相同的IP - URL
对,比如说,五秒间隔.
如果我每五秒从最后一个位置读取文件并计算重复数据,那么我可以遇到五秒钟内有八个相同线对的情况,但在第一次读取时有四个,另外四个在五秒钟后第二次读取.因此,我需要检查最后五个重复行之间的间隔.
我能做什么:
$pairs[$ip_url_line] = ['time-stamp',....,'time-stamp-N']
Run Code Online (Sandbox Code Playgroud)
然后获取此哈希键的最后五个数组项并计算时移.如果它超过五秒 - 做一些事情.
当然,我可以遍历循环中的所有哈希元素和所有数组项,并检查它是否超过5秒,但它太资源太昂贵了.
我有一条线:
$myline = 'ca,cb,cc,cd,ce';
Run Code Online (Sandbox Code Playgroud)
我需要将ca匹配到$ 1,将cb匹配到$ 2等等.
不幸
$myline =~ /(?:(\w+),?)+/;
Run Code Online (Sandbox Code Playgroud)
不起作用.使用pcretest,它只将'ce'与$ 1 匹配.怎么做对了?我是否需要将其置于while循环中?
谢谢!
能否请你帮我用Perl的正则表达式替换(HTTP://.+)至http://www.my1.com/redir?$ 1,但什么也不干的URL像http://www.my1.com/或http://my1.com/
例如,我需要将http://whole.url.site.com/foo.htm替换 为http://www.my1.com/redir?http://whole.url.site.com/foo.htm http ://www.google.com到http://www.my1.com/redir?http://www.google.com 但请保留http://www.my1.com/index.php.
非常感谢!
我有一组提供 nsqlookupd 服务的 pod。现在我需要每个 nsqd 容器同时拥有一个要连接的 nsqlookupd 服务器列表(而服务每次都指向不同的)。我得到的类似的东西
kubectl describe service nsqlookupd
...
Endpoints: ....
Run Code Online (Sandbox Code Playgroud)
但我想将它放在我的部署定义中的一个变量中,或者以某种方式来自 nsqd 容器中