我想建立一个"实时编码框架".
我应该解释一下"实时编码框架"的含义.我将通过将实时编码与传统编码进行比较来实现.
一般来说,在传统编程中,您编写代码,有时编译代码,然后启动可执行文件或在某种解释器中打开脚本.如果要修改应用程序,则必须重复此过程.实时编码框架使代码能够在应用程序运行时更新并按需重新加载.每次更改包含代码的文件或执行其他操作时,可能会发生此重新加载.然后,代码中的更改将在应用程序运行时反映出来.无需关闭程序并重新编译和重新启动它.
在这种情况下,应用程序是一个带窗口的应用程序,它具有更新/绘制循环,很可能使用OpenGL进行图形处理,音频库用于声音处理(SuperCollider?),理想情况下是网络库.
当然我有首选语言,但我不确定它们中的任何一种都适合这种架构.理想情况下,我会使用Python,Lua,Ruby或其他更高级别的语言.然而,一位朋友最近建议将Clojure作为一种可能性,所以我也在考虑它.
我不仅想知道哪种语言适合这种框架,而且通常,哪种语言特性可以使这样的框架成为可能.
我遇到了这个问题.我有一个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中,如果单词拼写错误,则单词下面会出现一条红线.即使我关闭拼写检查,红线仍然存在.如何删除此标记?
我正在使用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) 首先,我已经阅读了很多关于这个主题的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中,这也很棒.
我正在浏览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) 我们在网络堆栈中使用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,不过,我还没有找到转换器或组合的确切组合使之成为现实.
我试图将一个项添加到一个简单的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()方法手动交换菜单栏.
上面代码片段中的任何明显错误?
我正在开发一个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
这是大约一年前被问到的,但从未真正回答过.很高兴找出用于编写Google桌面Picasa应用程序的语言/ gui框架.有任何想法吗?
我正在处理的代码是抛出上述异常.我对多线程编程不是很有经验,而且我没有很多运气对此进行故障排除.
该程序使用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 ×4
python ×4
android ×2
clojure ×1
cython ×1
eclipse ×1
exception ×1
grid ×1
jar ×1
javascript ×1
livecoding ×1
lua ×1
macos ×1
menubar ×1
observable ×1
osc ×1
picasa ×1
processing ×1
pyglet ×1
pyqt ×1
retrofit ×1
ruby ×1
rx-android ×1