小编Zaz*_*Zaz的帖子

"^:static"在Clojure中做了什么?

^:static在Clojure core.clj源代码中看到了很多函数的元数据,例如在以下定义中seq?:

(def
 ^{:arglists '([x])
   :doc "Return true if x implements ISeq"
   :added "1.0"
   :static true}
 seq? (fn ^:static seq? [x] (instance? clojure.lang.ISeq x)))
Run Code Online (Sandbox Code Playgroud)

这个元数据究竟做了什么,为什么它在整个过程中频繁使用core.clj

metadata clojure

33
推荐指数
2
解决办法
3201
查看次数

Jekyll - 如果页面是帖子,更改布局?

在Jekyll布局中,有没有办法检测页面是普通页面还是帖子?我想显示帖子标题,但不显示页面标题.像这样:

{% if page.is_post? %}
    <h2>{{ page.title }}</h2>
{% endif %}
{{ content }}
Run Code Online (Sandbox Code Playgroud)

liquid jekyll

27
推荐指数
4
解决办法
1万
查看次数

从最初的提交中删除所有内容

假设我有一个非常快速的测试脚本的小项目,我只想将所有内容从最初的提交到当前的提交一分为二.我怎样才能做到这一点?

为了澄清,我不想浪费时间来识别一个好的提交和一个糟糕的提交,所以我正在寻找一种快速的方法来将最新的提交标记为坏,并且初始提交是好的.

git git-bisect

19
推荐指数
1
解决办法
250
查看次数

git - 修剪空格

我不小心在我的初始提交中放了一些空格- 它显示为红色git diff --color.什么是摆脱现有空白的最佳方法,我怎样才能避免这种情况再次发生?

我不一定在寻找内置的git命令.任何在Ubuntu上免费提供的外部程序也是受欢迎的.

git whitespace code-cleanup removing-whitespace

18
推荐指数
2
解决办法
1万
查看次数

启用流管理asmack android

我正面临使用XEP-0198流管理的问题.

基本上,我想在互联网断开连接并且服务器仍然在线存在客户端时,在Android上启用此消息丢弃问题.

为了解决这个问题,我想使用XEP-0198,它使用请求和确认过程.你可以在这里找到更多.

基本上我使用的是sm:3.问题是,当我设置

XMPPConnection.DEBUG_ENABLED=true;
Run Code Online (Sandbox Code Playgroud)

我在日志中得到sm:3,这是asmack的内部,但我无法通过连接找到任何packetListner.

这就是asmack调试打印内容:

<r xmlns='urn:xmpp:sm:3'/><message from='test1@pinmessage.com/Smack' to='test1@pinmessage.com' id='CQUe6-5'><received xmlns='urn:xmpp:receipts' id='CQUe6-4'/></message><r xmlns='urn:xmpp:sm:3'/>
Run Code Online (Sandbox Code Playgroud)

这是我从packetFilter得到的:

<message id="CQUe6-5" to="test1@pinmessage.com" from="test1@pinmessage.com/Smack"><received xmlns='urn:xmpp:receipts' id='CQUe6-4'/></message>
Run Code Online (Sandbox Code Playgroud)

我曾经通过查看聊天安全和yaxim的代码尝试过自定义数据包过滤器,但是我没有得到如何<r xmlns='urn:xmpp:sm:3'/>在我的代码中获得这个,以便我可以将收到的数据包的数量现在返回到服务器,以便服务器可以发送我支持任何丢失的数据包.

我还通过添加以下代码为此配置了提供程序管理器:

        addSimplePacketExtension("sm", URN_SM_3);
        addSimplePacketExtension("r", URN_SM_3);
        addSimplePacketExtension("a", URN_SM_3);
        addSimplePacketExtension("enabled", URN_SM_3);
        addSimplePacketExtension("resumed", URN_SM_3);
        addSimplePacketExtension("failed", URN_SM_3);


private static final String URN_SM_3 = "urn:xmpp:sm:3";
    private static void addSimplePacketExtension(final String name, final String namespace) {
        Log.e("adding simple packet extension", namespace+"---"+name);
        ProviderManager.getInstance().addExtensionProvider(name, namespace,
                new PacketExtensionProvider() {
            public PacketExtension parseExtension(XmlPullParser parser) throws Exception {
                StreamHandlingPacket packet = new StreamHandlingPacket(name, …
Run Code Online (Sandbox Code Playgroud)

android xmpp asmack

18
推荐指数
1
解决办法
1926
查看次数

获取最后N次提交的差异的简写?

我知道我能做到:

git diff HEAD^..HEAD
Run Code Online (Sandbox Code Playgroud)

但是有一些易于记忆的简写,例如:

git diff foo N
Run Code Online (Sandbox Code Playgroud)

这里N可以是任意数量的提交从现在得到的累积差异?

git

17
推荐指数
2
解决办法
6633
查看次数

使用CSS垂直居中点

如何在仅使用CSS的垂直居中的链接之间创建点?这是可能的,但我无法弄清楚如何做到这一点.

预期:

Facebook内联列表:不同于,评论,分享,1413,70,76,大约一分钟前

HTML

<label><a href="#">Like</a></label>
<label><a href="#">Comment</a></label>
<label><a href="#">Share</a></label>
<label><span>1 hour ago</span></label>?
Run Code Online (Sandbox Code Playgroud)

CSS

a{ 
    vertical-align: middle;
}

label:not(:last-child):after{
    content: " . ";
}
Run Code Online (Sandbox Code Playgroud)

不工作的例子:http://jsfiddle.net/4ZFMm/

谢谢!

html css unicode

17
推荐指数
1
解决办法
2万
查看次数

`def` vs`declare`用于前向声明

Clojure,有一个declare宏,允许您转发声明函数或变量.这似乎完全一样的功能def:无论(declare x)(def x)创建#<Unbound Unbound: #'user/x>

何时应该(declare x)使用而不是(def x)

clojure forward-declaration

17
推荐指数
2
解决办法
668
查看次数

对于每次提交,在单独的repo或分支中创建等效的编译提交

我正在使用Jekyll构建网站,它编译ERB,SASS和c.到纯HTML和CSS.

在大多数提交之后,我想编译站点并将编译后的版本提交到单独的存储库或分支中,以便可以将其推送到静态服务器.

最好的方法是什么?

我已经有了解决方案,但我希望有人可能会更优雅.

git githooks post-commit-hook

14
推荐指数
2
解决办法
282
查看次数

Clojure相当于Python的编码('hex')和解码('hex')

在Clojure中将字符串编码和解码为十六进制是否有惯用的方法?Python的例子:

'Clojure'.encode('hex')
# ? '436c6f6a757265'
'436c6f6a757265'.decode('hex')
# ? 'Clojure'
Run Code Online (Sandbox Code Playgroud)

为了表明我的一些努力:

(defn hexify [s]
  (apply str
    (map #(format "%02x" (int %)) s)))

(defn unhexify [hex]
  (apply str
    (map 
      (fn [[x y]] (char (Integer/parseInt (str x y) 16))) 
      (partition 2 hex))))

(hexify "Clojure")
;; ? "436c6f6a757265"

(unhexify "436c6f6a757265")
;; ? "Clojure"
Run Code Online (Sandbox Code Playgroud)

hex clojure

13
推荐指数
4
解决办法
7900
查看次数