这并不意味着巨魔或烈焰或类似的东西.几个月以来我一直在使用Vim作为我的控制台编辑器(在我的终端中编辑配置文件),但我认为我不能忍受我的正常,每天编写Web应用程序的工作我使用GUI文本编辑器(哪一个不重要).
我觉得我的GUI文本编辑器可以完成我工作所需的一切.它有一个像样的搜索/替换与两者的自动完成历史.它具有语法高亮,行编号,选项卡式界面,易于复制和粘贴等.我当前编辑器唯一缺少的是正则表达式匹配,但是有很多GUI文本编辑器可以进行正则表达式搜索/替换.
鉴于我刚才所说的,除了安装在每台计算机上的事实之外,Vim(甚至Emacs)对GUI文本编辑器的生产力优势.我希望在Vim/Emacs上更好/更快的特定任务,或者现有GUI文本编辑器无法实现的特定任务.
我在python中编写了一个简单的多线程游戏服务器,为每个客户端连接创建一个新线程.我发现时不时,服务器会因为管道损坏/ SIGPIPE错误而崩溃.当程序试图将响应发送回不再存在的客户端时,我非常确定它正在发生.
处理这个问题的好方法是什么?我的首选解决方案只是关闭与客户端的服务器端连接并继续,而不是退出整个程序.
PS:这个问题/答案以一般方式处理问题; 具体应该如何解决?
我每天都越来越习惯使用vi,但有一件困扰我的事情是,当我在Ubuntu上使用它时,它的行为与我在CentOS(以及其他地方)上使用时的行为不同.我实际上更喜欢它在CentOS中的工作方式.
以下是在Ubuntu上困扰我的三件事:
在CentOS插入模式下,底部有一个大胆的通知,我处于INSERT模式,但在Ubuntu中没有通知,所以我永远不知道我在哪个模式.
在CentOS插入模式下,我可以按向上/向下键,光标将上下移动.但是当我在Ubuntu上下按下时,分别在新行上插入字母A和B.
在CentOS插入模式中,我可以使用退格键,它将删除光标前的字符,但在Ubuntu中,我只听到一声哔声,没有任何反应.我可以在命令模式下按删除键,但我宁愿能按退格键.
这些差异是我必须要忍受的还是一个简单的解决方案?
所以我已经想出如何为vim添加行号(:set no或:set number)但是我怎么能这样做呢,当我在终端模拟器中使用我的鼠标来选择一个行块时,它也不会选择号码?
例如,假设我有三行在vim中看起来像这样:
1 First line
2 Second
3 Third
Run Code Online (Sandbox Code Playgroud)
如果我想用鼠标选择三行我想要的只是选择实际文本.但最终发生的是它选择行号以及行号左侧和右侧的所有空格.
有没有办法改变这种行为?顺便说一句,我在gnome中使用gnome终端编辑器,如果这有所不同.
我正在开发一个项目,我正在创建一个类来运行http客户端请求(我的类充当客户端).它接受一个url和一个请求方法(GET,POST,PUT等),我希望能够解析URL并根据它是https还是http打开一个HttpsURLConnection或HttpURLConnection(假设给定的URL始终是正确).
如果我执行以下操作:
URLConnection conn = url.openConnection();
Run Code Online (Sandbox Code Playgroud)
然后,这将自动创建一个可以接受http和https的URLConnection,但如果我这样做,那么我找不到任何方法来设置请求方法(GET,POST等),因为只有HttpsURLConnection或HttpURLConnection类才有setRequestMethod方法.
如果我执行以下操作:
if(is_https)
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
else
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)
然后创建连接,但我无法在if块之外访问它们.
是否可以这样做,或者我应该放弃并使用apache httpclient类?
假设我想设置一个通用的complexType,如下所示:
<xs:complexType name="button">
<xs:sequence>
<xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="href" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)
我想在我的模式文件中的各个地方引用complexType,如下所示:
<xs:element name="someButton" type="button" />
Run Code Online (Sandbox Code Playgroud)
我可以通过someButton元素为按钮子元素设置默认值吗?(即如果我想someButton的默认标签为"Go"或默认的href为"index.html")
基本上......现在我有类似的东西
<Field Name="State" DataSourceField="State" />
Run Code Online (Sandbox Code Playgroud)
我试图以尽可能简单的方式删除冗余.
我的工作,目前有16个窗口/对话框,并即将130KB一个的PyGTK /空地应用,最终将有大约25窗口/对话框和大约200KB.目前,我将所有窗口存储在一个整体的glade文件中.当我运行一个窗口时,我称之为......
self.wTree = gtk.glade.XML("interface.glade", "WindowXYZ")
Run Code Online (Sandbox Code Playgroud)
我想知道将每个窗口分成它自己的glade文件是否更好.而不是一个带有25个窗口/对话框的glade文件,我有25个glade文件,每个文件有一个窗口/对话框,并调用它如下:
self.wTree = gtk.glade.XML("windowxyz.glade")
Run Code Online (Sandbox Code Playgroud)
你们认为最好的方法是什么?一种方法比另一种方法更耗费资源吗?关于单个glade文件的一件好事是命名小部件会更容易.例如,我将所有OK按钮命名为"windowxyz_ok",但我可以将其更改为"ok".使事情变得更简单.缺点是对不同的窗口进行更改可能不太方便.
我对所有论点持开放态度.谢谢!
我正在尝试在jquery中创建一个类似于jquery的accordion插件的手风琴小部件,不同之处在于我希望句柄显示在各自的内容下面而不是上面.我的手风琴的工作原理是降低打开内容部分的高度,同时增加点击内容部分的高度.我在这里发布了一个例子.我的问题是动画不是在完全相同的时间开始,并且由于在第二个动画开始之前的轻微延迟而存在明显的"跳跃".
Scriptaculous有一个名为Effect.Parallel的函数,它允许您创建一个动画效果数组并并行执行它们.不幸的是,我似乎找不到与jquery类似的东西.
有没有办法可以在jquery中的不同div上运行精确的并行动画?
编辑:我对编写这个手风琴小部件的替代方法很感兴趣.因此,如果人们认为有任何其他方法可行,我会对此持开放态度.
我正在为我在python中编写的boggle-clone创建一个联网服务器,它接受用户,解决板,并对玩家输入进行评分.我正在使用的字典文件是1.8MB(ENABLE2K字典),我需要它可以用于几个游戏求解器类.现在,我有它,以便每个类逐行遍历文件并生成一个哈希表(关联数组),但我实例化的解算器类越多,它占用的内存就越多.
我想要做的是导入一次字典文件,并在需要时将其传递给每个求解器实例.但是最好的方法是什么?我应该在全局空间中导入字典,然后在解算器类中以globals()['字典']的形式访问它吗?或者我应该导入字典然后将其作为参数传递给类构造函数?其中一个比另一个好吗?有第三种选择吗?
我正在尝试使用google可视化API生成带注释的LineChart,虽然我有它工作,但我希望能够在可能的情况下让注释包含换行符.不幸的是,Google的API似乎忽略了任何换行信息并在一行中显示所有内容.有没有人想出办法解决这个问题?
这是一个例子:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'Sales');
data.addColumn({type:'string', role:'annotation'});
data.addColumn({type:'string', role:'annotationText'});
data.addRows([
['April',1000, 'A', "Stolen data\nSo-so month"],
['May', 1170, 'B', "Coffee spill\nAnother line\nA third line"],
['June', 660, 'C', "Wumpus attack"]
]);
Run Code Online (Sandbox Code Playgroud)
我试过了\n, \\n, and <br />,那些都没用.
来自PHP背景,我习惯于编写返回字符串的小函数(或来自另一个函数的响应),如下所示:
function get_something(){
return "foo";
}
Run Code Online (Sandbox Code Playgroud)
但是,我是C的新手,我正试图想办法如何做一些像这样的基本事情.
人们可以检查以下类似的功能,并告诉我它们有何不同,哪一个是最好/最干净的?
char *get_foo(){
char *bar;
bar = "bar";
return bar;
}
char *get_foo(){
char *bar = "bar";
return bar;
}
char *get_foo(){
char *bar = NULL;
bar = "bar";
return bar;
}
char *get_foo(){
return "bar";
}
Run Code Online (Sandbox Code Playgroud)
这些功能之间有什么区别,还是风格问题?
另一件事.如果我有两个函数而另一个调用另一个函数,这可以吗?
char *get_foo(){
return "bar";
}
char *get_taz(){
return get_foo();
}
Run Code Online (Sandbox Code Playgroud)
更新:如果get_foo()没有返回const char*,这些函数将如何更改?如果get_foo()调用另一个具有不同长度的char*的函数怎么办?
python ×3
vim ×3
boggle ×1
broken-pipe ×1
c ×1
centos ×1
emacs ×1
glade ×1
gtk ×1
java ×1
javascript ×1
jquery ×1
jquery-ui ×1
memory-leaks ×1
pygtk ×1
schema ×1
text-editor ×1
ubuntu ×1
xml ×1
xsd ×1