小编Jer*_*rth的帖子

哪些编程语言功能非常适合开发实时编码框架?

我想建立一个"实时编码框架".

我应该解释一下"实时编码框架"的含义.我将通过将实时编码与传统编码进行比较来实现.

一般来说,在传统编程中,您编写代码,有时编译代码,然后启动可执行文件或在某种解释器中打开脚本.如果要修改应用程序,则必须重复此过程.实时编码框架使代码能够在应用程序运行时更新并按需重新加载.每次更改包含代码的文件或执行其他操作时,可能会发生此重新加载.然后,代码中的更改将在应用程序运行时反映出来.无需关闭程序并重新编译和重新启动它.

在这种情况下,应用程序是一个带窗口的应用程序,它具有更新/绘制循环,很可能使用OpenGL进行图形处理,音频库用于声音处理(SuperCollider?),理想情况下是网络库.

当然我有首选语言,但我不确定它们中的任何一种都适合这种架构.理想情况下,我会使用Python,Lua,Ruby或其他更高级别的语言.然而,一位朋友最近建议将Clojure作为一种可能性,所以我也在考虑它.

我不仅想知道哪种语言适合这种框架,而且通常,哪种语言特性可以使这样的框架成为可能.

ruby python lua clojure livecoding

13
推荐指数
2
解决办法
1249
查看次数

有没有办法使用JavaScript或CSS关闭Chrome中文本区域的拼写检查?

我遇到了这个问题.我有一个textarea,我只想在它聚焦时使用拼写检查.

<textarea id="editor"></textarea>

$('#editor').focusin(function(){
    $(this).attr('spellcheck', true);
});

$('#editor').focusout(function(){
    $(this).attr('spellcheck', false);
});
Run Code Online (Sandbox Code Playgroud)

在chrome中,如果单词拼写错误,则单词下面会出现一条红线.即使我关闭拼写检查,红线仍然存在.如何删除此标记?

javascript google-chrome

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

Pythonic和有效的方法在网格中找到相邻的单元格

我正在使用pyglet/openGL在Python中构建基于tile的应用程序,其中我需要找到给定单元格的所有相邻单元格.我在笛卡尔网格的一个象限中工作.每个单元格都有一个x和y值,表示它在网格中的位置(x_coord和y_coord).这些不是像素值,而是网格位置.我正在寻找一种有效的方法来获得相邻的细胞.在max,有八个可能的相邻单元格,但由于网格的边界,可能只有3个.伪代码对于一个简单但可能效率低下的方法看起来像这样:

def get_adjacent_cells( self, cell ):
     result = []
     x_coord = cell.x_coord
     y_coord = cell.y_coord
     for c in grid.cells:
          if c.x_coord == x_coord and c.y_coord == y_coord: # right
               result.append( c )
          if c.x_coord == x_coord - 1 and c.y_coord == y_coord + 1: # lower right
               result.append( c )
          if c.x_coord == x_coord - 1 and c.y_coord == y_coord: # below
               result.append( c )
          if c.x_coord == x_coord - 1 and c.y_coord == y_coord - 1: lower left
               result.append( …
Run Code Online (Sandbox Code Playgroud)

python grid pyglet

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

如何访问已编译jar中的资源?

首先,我已经阅读了很多关于这个主题的SO问题,我已经尝试了其中提出的建议.

这是我的情况.我正在使用Processing框架编写Java应用程序,我正处于最后阶段,我需要开始考虑打包应用程序.可以从命令行执行的jar文件是我尝试使用Eclipse中的Export功能构建的.

我的项目结构如下:

src/
   multiple packages/
libs/
   jar files and natives
data/
   fonts and images
config/
   json files
Run Code Online (Sandbox Code Playgroud)

当我导出jar文件并用uzip jar来检查它的内容时,我发现这些目录的内容已被转储到.jar的顶层.

看起来像这样:

.jar
    packages
    jar files
    fonts
    json files
Run Code Online (Sandbox Code Playgroud)

所以,当我尝试加载配置文件时,例如:

BufferedReader reader = new BufferedReader( new FileReader( path ) );
Run Code Online (Sandbox Code Playgroud)

当我在Eclipse中运行应用程序时,一切都只是文件.但jar文件会抛出一个FileNotFoundException.

我在SO上看到的关于这些问题的许多问题建议使用class.getClass().getResource()或使用class.getResourceAsStream().我已尝试使用相对路径和文件名,如下所示:

class.getResource( 'config.json' );
class.getResources( 'cfg/config.json' );
class.getResourceAsStream( '../../config.json' );
Run Code Online (Sandbox Code Playgroud)

当从Eclipse或jar运行时,所有这些方法都返回null:

java -jar myjarfile.jar
Run Code Online (Sandbox Code Playgroud)

我也愿意使用Ant文件.实际上,我现在正在使用导出功能生成的Ant文件来构建jar.如果我可以添加一些内容,将目录添加到jar中,这也很棒.

java eclipse processing jar embedded-resource

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

导入Cython生成的.so文件时,这个ImportError的含义是什么?

我正在浏览Cython文档并构建每个示例应用程序.我有点困在使用C库.成功构建.so文件并尝试将其导入名为test.py的python文件后,将引发以下错误.

$ python3.2 test.py 
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    from queue import Queue
ImportError: dlopen(/Users/jeremy/Development/labs/python/cython_lib_wrapper/queue.so, 2): Symbol not found: _queue_free
  Referenced from: /Users/jeremy/Development/labs/python/cython_lib_wrapper/queue.so
  Expected in: flat namespace
 in /Users/jeremy/Development/labs/python/cython_lib_wrapper/queue.so
Run Code Online (Sandbox Code Playgroud)

.so文件位于test.py文件旁边.所以,似乎应该找到它.这是在OSX 10.6上使用Python 3.2运行最新版本的Cython.

任何见解?

编辑 - 添加构建命令和输出

$ python3.2 setup.py build_ext --inplace
running build_ext
cythoning queue.pyx to queue.c
building 'queue' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -I/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2m -c queue.c -o build/temp.macosx-10.6-intel-3.2/queue.o
    queue.c: In function ‘__pyx_f_5queue_5Queue_append’: …
Run Code Online (Sandbox Code Playgroud)

python shared-libraries cython

7
推荐指数
1
解决办法
4345
查看次数

如何使用RXJava Observables处理用于填充模型的多个请求?

我们在网络堆栈中使用ReactiveX和Retrofit以异步方式处理所有API请求.

我们的目标是创建一个返回完全填充的User模型集合的方法.每个User模型都有一个Pet对象列表.我们可以User通过一个请求获取所有模型.但是,Pet需要按模型要求User.

获得用户很简单:

// Service.java
@GET("users/?locationId={id}")
Observable<List<User>> getUsersForLocation(@Path("id") int locationId);

@GET("pets/?userId={id}")
Observable<List<Pet>> getPetsForUser(@Path("id") int userId);

// DataManager.java
public Observable<List<User>> getUsersForLocation(int locationId) {
    return api.getUsersForLocation(locationId);
}

public Observable<List<Pet>> getPetsForUser(int userId) {
    return api.getPetsForUser(userId);
}
Run Code Online (Sandbox Code Playgroud)

我们希望找到一些方便的(RX风格)循环遍历User列表的方法,Pet为每个用户获取s,将它们分配给User最终返回Observable<List<User>>.

我是RX的新手.我看过的文件过去,使用各种方法,例如尝试flatMap()zip,不过,我还没有找到转换器或组合的确切组合使之成为现实.

java android observable retrofit rx-android

7
推荐指数
1
解决办法
949
查看次数

PyQt MenuBar Mac OSX Snow Leopard

我试图将一个项添加到一个简单的PyQt示例的应用程序菜单栏.但是,以下代码似乎根本不会改变菜单栏.菜单中唯一的项目是"Python".下面是大部分代码,减去导入和实例化.

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle('menubar')
        self.modal = False

        exit = QtGui.QAction( QtGui.QIcon('images/app_icon.png'), 'Exit', self )
        exit.setShortcut('Ctrl+Q')
        exit.setStatusTip('Exit application')
        self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))

        menubar = self.menuBar()
        file = menubar.addMenu('File')
        file.addAction(exit)
Run Code Online (Sandbox Code Playgroud)

我也尝试创建一个新的QMenuBar并使用该setMenuBar()方法手动交换菜单栏.

上面代码片段中的任何明显错误?

python macos pyqt menubar osx-snow-leopard

6
推荐指数
3
解决办法
6409
查看次数

在Android上从Google云端硬盘下载Google表格电子表格

我正在开发一个Android应用程序,它使用gdata-java-client下载文档仅供显示.到目前为止,我有一个应用程序,它使用服务进行身份验证并显示用户文档列表.当用户选择文档时,对文档本身进行另一个查询.对txt,html,rtf和doc文件的请求很有效,但是当我以.csv或.xsl格式请求电子表格时,结果是意外的.

我正在使用HTTPResponse对象来存储HTTPRequest的结果.当我以.csv或.xsl格式请求文档时,HTTPResponse.parseAsString()方法会生成一个完整的html页面,该页面似乎是Google Docs主页.听起来很奇怪,但结果是登录页面的实际html.HTTPResponse.getStatusMessage返回200.

好像我在这里错过了一些简单的东西.是否有HTTPResponse的另一个属性包含.csv数据?

我很确定我使用正确的uri来下载电子表格,因为它可以在我通过浏览器下载时使用.在任何情况下,这是一个例子uri:

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv
Run Code Online (Sandbox Code Playgroud)

在此先感谢任何帮助:)

java android google-api-java-client google-drive-android-api google-sheets-api

5
推荐指数
2
解决办法
3550
查看次数

Picasa用什么语言编写?

这是大约一年前被问到的,但从未真正回答过.很高兴找出用于编写Google桌面Picasa应用程序的语言/ gui框架.有任何想法吗?

picasa programming-languages desktop-application

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

使用OSC时如何避免java.util.ConcurrentModificationException?

我正在处理的代码是抛出上述异常.我对多线程编程不是很有经验,而且我没有很多运气对此进行故障排除.

该程序使用Processing和OSC用Java编写.主要的OSC事件处理程序是向Vector添加元素.它是在用户输入时触发的,因此非常难以预测.此Vector也在Processing的动画线程中进行迭代和更新,该线程每秒约60次非常频繁地发生.

有时,在动画线程中迭代Vector时会调用OSC事件处理程序并抛出异常.

我已经尝试将" synchronized"修饰符添加到OSC事件处理程序中.我还试图提示对Vector的更改,直到动画线程的下一帧(时间步长),但我发现它最终会延迟抛出的异常.

我该怎么做才能防止这种行为?有没有办法只访问Vector,如果它还没有被使用?

更新: 两个答案表明列表在迭代时添加或删除了元素.这实际上是由于OSC正在从迭代列表的线程以外的线程触发处理程序的事实.我正在寻找一种方法来防止这种情况.

这是一些伪代码:

Vector<String> list = new Vector<String>();
Vector<Particle> completedParticles = new Vector<Particle>();

public void oscEvent( OSCMessage message )
{
    list.add( new Particle( message.x, message.y ) );
}

public void draw()
{
    completedParticles.clear();
    for( Particle p : list )
    {
        p.draw();
        if( p.isComplete ) {
            completedParticles.add( p );
        }   
    }
    list.removeAll( completedParticles );
}
Run Code Online (Sandbox Code Playgroud)

java multithreading exception osc

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