我正在编写一个对性能非常关键的程序。我正在轮询一个通常有大约 50 个条目的 Atom feed。我需要解析它才能尽快获得 uri 链接。
目前我正在这样做:
var feedUrl = "my path";
using (var feedReader = XmlReader.Create(feedUrl))
{
var feedContent = SyndicationFeed.Load(feedReader);
if (null == feedContent) return null;
foreach (var item in feedContent.Items.Reverse())
{
if (item.Title.Text.Contains("Some text I am looking for"))
{
foreach (var link in item.Links)
{
uri = link.Uri;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从许多来源了解到,使用 for 循环比使用 foreach 快得多,因此我尝试实现这一点,但不断收到一些错误,指出无法将索引应用于 SyndicateItem。这似乎是因为 SyndicateItem 是 IEnumerable。
因此,这给我留下了两个问题:1.)是否有更好、更高效/更快的方法来做到这一点2.)我目前是否正在实施最佳解决方案?
有人可以解释一下 ATOM 服务和 REST 服务之间的区别吗?
ATOM 服务格式是一种基于 XML 的数据格式,但想知道它与 REST 服务有何不同。
谢谢。
我有两个序列用于比较,我需要在地图中保留比较结果,第一个序列中的数据用作键,第二个用作val.这是一个有效的示例代码
(def myAtom (atom {}))
(map #(if (== %1 %2) (swap! myAtom assoc %1 %2 ))
[1 2 3] [4 5 3])
(prn @myAtom) ; ==> {3 3}
Run Code Online (Sandbox Code Playgroud)
然而,在将"相同"的东西放到一个let绑定之后,它就不再起作用了
(let [ myAtom (atom {})]
(map #(if (== %1 %2) (swap! myAtom assoc %1 %2 ))
[1 2 3] [4 5 3])
(prn @myAtom)) ;;==> {} empty???
Run Code Online (Sandbox Code Playgroud)
所以问题是,myAtom里面发生了什么让绑定?怎么会丢失?
非常简单的问题:我知道有很多方法可以分割原子,例如'example atom'在某些分隔符上,例如'' - > ['example','atom']但是有没有办法分割每个字符?例如['e','x','a',......'o','m'].我试过了
atomic_list_concat(List, '', Atom),
Run Code Online (Sandbox Code Playgroud)
但那会产生错误
ERROR: atomic_list_concat/3: Domain error: `non_empty_atom' expected, found `'
Run Code Online (Sandbox Code Playgroud)
你会推荐什么?
我尝试从 Mac OS X 终端执行以下命令:
$tail -f FILE_PATH | grep "DESIRED_STRING" | grep -v "EXCLUDED_STRING"
Run Code Online (Sandbox Code Playgroud)
不幸的是我没有得到任何结果回报。
但是,当使用cat而不是tail -f:
$cat FILE_PATH | grep "DESIRED_STRING" | grep -v "EXCLUDED_STRING"
Run Code Online (Sandbox Code Playgroud)
我得到了预期的结果。不幸的是,这种解决方法对我来说没有什么好处,因为我需要实时跟踪文件。
我刚刚使用atom-typescript在Atom中配置了一个新的Angular/Typescript项目.该项目设置为具有导入所有模块的主角度模块文件,包括类型定义文件.一切都汇集在一起,运行没有问题.
因为我正在使用gulp,所以我配置了atom-typescript,以便在保存时不编译.ts文件.现在,我在所有.ts文件中看到错误,表明atom-typescript linter无法找到打字.
例如: Module 'ng' has no exported member 'IScope' at line 1 col 32
我知道我可以通过为我的每个ts文件添加一个引用路径来解决这个问题/// <reference path="../../.tmp/typings/tsd.d.ts" />,但这似乎是多余的和不必要的.
由于这些错误是由原子打字稿提出的,是没有办法,我可以设置整个项目的设置某处的我喜欢的类型定义文件的位置,什么办法?关于如何处理这个的任何其他建议?
我正在尝试将 grep 过滤器的输出保存到文件中。
我想运行tcpdump很长时间,并且将某个IP过滤到一个文件中。
tcpdump -i eth0 -n -s 0 port 5060 -vvv | grep "A.B.C."
Run Code Online (Sandbox Code Playgroud)
这很好用。它显示了我网络中的 IP。
但是当我>> file.dump在最后添加时,文件总是空的。
我的脚本:
tcpdump -i eth0 -n -s 0 port 5060 -vvv | grep "A.B.C." >> file.dump
Run Code Online (Sandbox Code Playgroud)
是的,一定是grep。我不想使用 tcpdump 过滤器,因为它给了我数百万行,而使用 grep 我只得到每个 IP 一行。
如何将 grep 命令的完整输出重定向(附加)到文件?
从lein run执行此功能时,程序按预期执行.但我正在尝试使用atom.io的proto-repl包,当我使用proto-repl调用该函数时,它会给出一个"CompilerException java.lang.RuntimeException:无法解析符号:在这种情况下可以投票".这是我的功能:
(defn can-vote
[]
(println "Enter age: ")
(let [age (read-line)]
(let [new-age (read-string age)]
(if (< new-age 18) (println "Not old enough")))
(println "Yay! You can vote")))
Run Code Online (Sandbox Code Playgroud) 我在探索一些工作代码时发现了这一点.同样在perl编码中我仍然是新手.这是我的问题: 这个IF条件之间有什么区别?
if ($command =~ /send|regd|succ|fail|recv/)
Run Code Online (Sandbox Code Playgroud)
还有这个
if ( ($command == "send") || ($command == "regd") || ($command == "succ")
|| ($command == "fail") || ($command == "recv"))
Run Code Online (Sandbox Code Playgroud) 我找不到有关该主题的任何信息。
由于Git-Extensions主要使用(或仅使用:)命令行与存储库一起工作,我的假设是,使用git lfs应该可以。Diff,Blaming,File-History等应该不是问题,因为lfs只会处理二进制文件。
但是由于Git-Extensions的那部分(Diff,Blaming,文件历史记录)非常薄弱(我认为行为并不具有确定性),我想知道使用git lfs时是否会遇到问题。
使用Git-Extensions和git lfs时,有没有可靠的信息/经验?
谢谢