小编cha*_*ker的帖子

查找Java中的核心数量

如何从Java代码中找到应用程序可用的核心数?

java

393
推荐指数
3
解决办法
13万
查看次数

使用Python中的Requests库发送"User-agent"

我想在"User-agent"使用Python请求请求网页时发送一个值.我不确定是否可以将其作为标题的一部分发送,如下面的代码所示:

debug = {'verbose': sys.stderr}
user_agent = {'User-agent': 'Mozilla/5.0'}
response  = requests.get(url, headers = user_agent, config=debug)
Run Code Online (Sandbox Code Playgroud)

调试信息未显示请求期间发送的标头.

在标题中发送此信息是否可以接受?如果没有,我该如何发送?

python web-crawler python-requests

196
推荐指数
3
解决办法
20万
查看次数

在Clojure中打印原始数组

我在REPL,我创建了一个java数组:

=> (def arr (double-array [1 2 3]))
Run Code Online (Sandbox Code Playgroud)

当然,如果我想看看我arr,我得到:

=> arr
#<double[] [D@2ce628d8>
Run Code Online (Sandbox Code Playgroud)

有什么我可以做的,会使像java原语的数组打印像clojure的persistentVector

=> arr
[1.0 2.0 3.0]
Run Code Online (Sandbox Code Playgroud)

我知道我可以将我的数组包装在某种漂亮的打印功能中(这是我目前所做的),但这种情况很痛苦,例如,矢量是地图的一部分:

=> my-map
{"1" #<double[] [D@47254e47>, "2" #<double[] [D@11d2625d>}
Run Code Online (Sandbox Code Playgroud)

clojure pretty-print

12
推荐指数
1
解决办法
3920
查看次数

项目级Leiningen插件

在Leiningen版本1.xx中,我能够lein foo通过在该项目中添加以下内容来定义仅在单个项目中有效的任务project.clj:

(defproject tester "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.4.0"]])

;; Create a task, "foo"

(ns leiningen.foo
  (:require (leiningen [uberjar :as uberjar])))

(defn foo [project & args]
  (println "Do something here first, then make the uberjar.")
  (uberjar/uberjar project))
Run Code Online (Sandbox Code Playgroud)

您可以在此处获取有关此内容的更多信息:

http://nakkaya.com/2010/02/25/writing-leiningen-plugins-101/

在2.xx中,我不能再这样做了(也就是说,我觉得'foo' is not a task. 这似乎是一种方式,因为我必须为这个任务启动一个单独的项目. 是否仍然可以在project.clj中定义一个任务为leiningen 2.xx?

clojure leiningen

11
推荐指数
1
解决办法
1854
查看次数

D3.js用于不同形状的复合动画的链转换

我想做什么......

我正在玩D3以制作复合动画.我有以下最终状态:

在此输入图像描述

基本上我想要动画连接点 - 添加第一个圆圈.然后将线条绘制到第二个圆圈.绘制线后,添加第二个圆.

为了增加一些视觉吸引力,我执行其他过渡,例如在绘制线条时更改第一个和第二个圆圈的半径.

我试过的......

我可以添加圆圈并单独绘制线条,包括动画.但是,我不确定如何继续将转换链接在一起以形成复合动画.

我已经阅读了有关过渡/动画的内容,建议使用each("end").虽然这可以用于绘制初始对象,但是在其他过渡之后才结束.

问题

  • 使用each("end", ...)正确的方法链接转换?
  • 如何启动另一个动画(即开始画线),同时仍然允许另一个过渡完成(即第一个圆半径突发).

javascript animation chained transitions d3.js

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

提高Android ListView中的滚动平滑度

我有一个Android ListView,它有小的(比如1-5帧)口吃,因为它滚动,大约每一秒左右.我意识到许多Android手机在动画平滑性方面存在这些问题,但是,在我的手机上(运行Android 2.2的摩托罗拉A855),原生联系人列表滚动得相当顺利.联系人列表中的项目视图比列表中的项目视图更复杂,即:

<RelativeLayout>
    <TextView />
    <TextView />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我只希望实现与原生联系人列表一样好的平滑性.看来这应该可以在没有优化本机代码的情况下实现,但也许我错了.

我尝试了一些事情:我进一步简化了项目视图,并尝试以编程方式而不是XML格式化它.我也尝试改变我对项目点击事件的反应方式,根据以下链接:

http://groups.google.com/group/android-developers/browse_thread/thread/7dc261a6b382ea74?pli=1

这些事情似乎都没有对性能产生任何影响.

我可以在我的应用程序中做些什么来提高性能?我希望将此应用程序部署到多个手机上,因此在我的情况下,更改手机设置或生根设备不是一个选项.这是我的适配器类的getView方法:

    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater flater = (LayoutInflater)context.getSystemService(ListActivity.LAYOUT_INFLATER_SERVICE);
        layout = flater.inflate(R.layout.song_view, parent, false);
        TextView first = (TextView)layout.findViewById(R.id.firstLine);
        TextView second = (TextView)layout.findViewById(R.id.secondLine);

        Thing t = array.get(position);
        first.setText(t.title);
        second.setText(t.name);
        return layout;
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢!

android smooth-scrolling android-listview

8
推荐指数
1
解决办法
3312
查看次数

在Clojure中验证数字参数

我有一个clojure功能:

(defn f [arg1 arg2]
  ...)
Run Code Online (Sandbox Code Playgroud)

我想测试,如果arg1arg2是数字(仅适用于数字类型应该传递-不是数字格式的字符串).当然,有很多方法可以做到这一点,但我想尽可能地做到这一点.建议?

编辑:我知道:pre.任何关于这是否是处理这一问题的适当/必要方式的评论将不胜感激.

validation arguments clojure

8
推荐指数
2
解决办法
2764
查看次数

Python CGIHTTPServer 默认目录

我有以下用于 CGI 处理 HTTP 服务器的最小代码,这些代码源自内管上的几个示例:

#!/usr/bin/env python

import BaseHTTPServer
import CGIHTTPServer
import cgitb;

cgitb.enable()  # Error reporting

server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("", 8000)
handler.cgi_directories = [""]

httpd = server(server_address, handler)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)

然而,当我执行脚本并尝试使用 CGI 在同一目录中运行测试脚本时http://localhost:8000/test.py,我看到的是脚本的文本,而不是执行的结果。

权限都设置正确,测试脚本本身不是问题(因为python -m CGIHTTPServer当脚本驻留在 cgi-bin 中时,我可以使用 运行它)。我怀疑这个问题与默认的 CGI 目录有关。

我怎样才能让脚本执行?

python cgi httpserver cgihttprequesthandler cgihttpserver

6
推荐指数
1
解决办法
7284
查看次数

Python:鸭子类型与异常处理

关于 idomatic Python 的问题。假设我有一个函数:

def a_function(list_of_things):
    for item in list_of_things:
        process_item(item)
Run Code Online (Sandbox Code Playgroud)

现在假设我很难确定输入参数是一个列表。即使是现在,我仍然可以听到甜美的 Pythonista 合唱团恳求我:“使用鸭子类型和例外!”

def a_function(list_of_things):
    try:
        for item in list_of_things:
            process_item(item)
    except:
        pass # . . . or something
Run Code Online (Sandbox Code Playgroud)

这很棒,除非我传入一个映射、一个字符串或任何其他可迭代的东西,而我发现对于这个特定的应用程序来说这是“错误的”。

我并没有编写大量的Python,但我经常遇到这种情况和相关的情况,这足以让我经常烦恼。更一般地说,我想使用鸭子类型和异常,这似乎是 Python 中的约定,但在很多情况下可能会得到传递异常的错误输入类型;如此多的例外情况似乎常常是错误的答案(或者至少经常如此)。

即使异常看起来确实正确的答案,当我使用它们时我仍然感到害怕,因为如果我只是没有想到坏类型会通过的极端情况,留下我的代码,因为缺乏更好的术语怎么办,“躲开”。

所以我最终求助于诸如type和 之类的东西isinstance。根据我的阅读,显式类型检查在 Python 中似乎被认为是邪恶的,但是还能做什么呢?请注意,我几乎从未在 Python 中编写类层次结构,因此我在子类和类型检查方面没有问题,但其他人可能会。

我想到了四种可能的答案,所有这些对我来说似乎都同样可能:

  1. 您应该使用异常,但您做错了。像这样做 。。。
  2. 您应该使用异常。如果错误的类型通过了您的检查,则表明您的设计存在一些问题(什么问题?)
  3. 你正在做正确的事。在这些情况下,最好进行显式类型检查。
  4. 你不知道吗<python thing for this situation>?做一些研究!

是其中之一,还是其他?

注意-我在SO上发现了很多关于这个问题的回避问题,但我正在寻找人们来谈论这个特定的“类型”的问题,如果他们可以的话。

python types duck-typing exception

5
推荐指数
1
解决办法
1170
查看次数

释放Java中本机库分配的内存

如果您正在运行的代码调用Java中的本机库,那么当内存分配应在对象的生命周期内持续时,释放这些库分配的内存的常用方法是什么?在C ++中,我将使用析构函数,但是Java从来没有真正使用过析构函数,现在更少了

我最感兴趣的特定情况是JOCL,其中有一个对象,该对象包装已编译的OpenCL内核以及所有始终相同的参数。表示已编译内核和参数的结构都在库侧分配,JOCL提供了一种方法clReleaseMemObject,您可以调用该方法来递减指示何时应删除对象的引用计数器(请注意,这与直接释放内存有些不同,但在这种情况下,我基本上不这么认为。

我假设如果程序终止时该对象仍然存在,则操作系统将清除所有内容,但是我不确定线程​​中创建的对象。所以:

  1. 如果要在垃圾回收对象时释放本机内存,是否有合适的位置调用释放该内存的方法?

  2. 如果对象是将在线程持续时间内持续的对象,那么是否存在进行此调用的适当位置,或者甚至有必要这样做吗?

java memory-management native-code jocl

5
推荐指数
1
解决办法
151
查看次数

Python 3:生成进程子类

multiprocessing我们可以使用已创建的上下文使用Python 3 创建非分叉进程:

ctx = multiprocessing.get_context('spawn')
p = ctx.Process(target=foo, args=(42,))
p.start()
Run Code Online (Sandbox Code Playgroud)

但假设我正在使用Process. 有没有办法Process使用除 之外的方法创建子类实例fork

python python-3.x python-multiprocessing

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