在开发将在TCP/IP端口上侦听的应用程序时,应如何选择默认端口?假设此应用程序将安装在许多计算机上,并且需要避免端口冲突.
我如何编写一个bat或cmd脚本来通过错误检查可靠地停止和启动服务(或者让我知道它无论出于何种原因都不成功)?
当你有正则表达式时,词法分析器很容易编写.今天我想用Python编写一个简单的通用分析器,并提出:
import re
import sys
class Token(object):
""" A simple Token structure.
Contains the token type, value and position.
"""
def __init__(self, type, val, pos):
self.type = type
self.val = val
self.pos = pos
def __str__(self):
return '%s(%s) at %s' % (self.type, self.val, self.pos)
class LexerError(Exception):
""" Lexer error exception.
pos:
Position in the input line where the error occurred.
"""
def __init__(self, pos):
self.pos = pos
class Lexer(object):
""" A simple regex-based lexer/tokenizer.
See below for an example of …Run Code Online (Sandbox Code Playgroud) 我在一个窗口画了一条线,我让用户拖动它.所以,我的线由两点定义:(x1,y1)和(x2,y2).但是现在我想在我的线末端绘制"帽子",也就是说,在我的每个终点处都有短垂线.大写字母的长度应为N像素.
因此,为了在终点(x1,y1)绘制我的"帽"线,我需要找到形成垂直线的两个点,并且其每个点距离点(x1,y1)的N/2个像素.
那么你如何计算一个点(x3,y3),因为它需要与已知线的终点(x1,y1)保持垂直距离N/2,即由(x1,y1)定义的线和(x2,y2)?
好的我在哪里工作,我们在过去的几十年中编写了相当多的系统.
系统多种多样,多个操作系统(Linux,Solaris,Windows),多个数据库(oracle,sybase和mysql的几个版本),甚至多种语言(C,C++,JSP,PHP和许多其他语言)都是用过的.
每个系统都是相当自治的,即使以将相同数据输入多个系统为代价.
管理层最近决定,我们应该调查让所有系统愉快地互相交流和共享数据所需的内容.
请记住,虽然我们可以对任何单个系统进行软件更改,但任何一个系统(或更多)的完全重写都不是管理层可能会接受的.
这里几个开发人员的第一个想法是直截了当:如果系统A需要来自系统B的数据,它应该只连接到系统B的数据库并获得它.同样,如果需要提供B数据,则应将其插入B的数据库中.
由于使用的数据库(和版本)混乱,其他开发人员认为我们应该有一个新的数据库,结合所有其他系统的表,以避免不得不兼顾多个连接.通过这样做,他们希望我们能够整合一些表并摆脱冗余数据输入.
这是关于我对整个烂摊子的看法.
使用数据库作为系统通信手段的整个想法对我来说很有趣.业务逻辑必须放在多个系统中(如果系统A想要向系统B添加数据,它在插入之前更好地理解B关于数据的规则),几个系统很可能必须进行某种形式的数据库轮询才能找到对数据的任何更改,持续维护将是一件令人头疼的事情,因为对数据库模式的任何更改现在都会传播到多个系统.
我的第一个想法是花时间为不同的系统编写API /服务,一旦编写就可以很容易地来回传递/检索数据.许多其他开发人员认为这比使用数据库过多而且工作量大得多.
那么让这些系统相互通信的最佳方法是什么?
我正在尝试将浏览器定向到其他页面.如果我想要一个GET请求,我可能会说
document.location.href = 'http://example.com/q=a';
Run Code Online (Sandbox Code Playgroud)
但是我试图访问的资源不会正常响应,除非我使用POST请求.如果这不是动态生成的,我可能会使用HTML
<form action="http://example.com/" method="POST">
<input type="hidden" name="q" value="a">
</form>
Run Code Online (Sandbox Code Playgroud)
然后我只需从DOM提交表单.
但实际上我想要允许我说的JavaScript代码
post_to_url('http://example.com/', {'q':'a'});
Run Code Online (Sandbox Code Playgroud)
什么是最好的跨浏览器实现?
编辑
对不起,我不清楚.我需要一个改变浏览器位置的解决方案,就像提交表单一样.如果使用XMLHttpRequest可以实现这一点,那就不明显了.这不应该是异步的,也不应该使用XML,所以Ajax不是答案.
例如,如果我有一个echo语句,则无法保证浏览器可能立即显示它,可能会一次显示几十个echo语句,并且可能会等到整个页面完成后再显示任何内容.
有没有办法让每个echo在执行时出现在浏览器中?
在C#/ .Net中进行面向方面编程(AOP)的最佳/最流行的方法是什么?
我正在开发一个简单的SharePoint顺序工作流,它应绑定到文档库.将小工作流程与文档库关联时,我检查了这些选项
现在我将文档上传到此库,工作流程启动,例如发送邮件.它完成了,一切都很好.
当我在新项目上选择编辑属性并保存更改时,将再次触发工作流程.绝对是我们的期望.
即使在Copy.asmx Webservice的帮助下将新项目复制到库中,工作流程也会正常启动.
但现在我想通过SharePoint WebService Lists.asmx更新项目.
我的CAML在这里:
<Method ID='1' Cmd='Update'>
<Field Name='ID'>1</Field>
<Field Name='myDummyPropertyField'>NewValue</Field>
</Method>
Run Code Online (Sandbox Code Playgroud)
项目正在更新(时间戳已更改并且还具有虚拟属性)但工作流程不会再次启动.
这种行为可以在我们的开发和测试系统上重现.
检查错误日志(C:\ Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS)我发现了一条奇怪的错误消息:
09/25/2008 16:51:40.17 w3wp.exe (0x1D94) 0x1D60 Windows SharePoint Services General 6875 Critical Error loading and running event receiver Microsoft.SharePoint.Workflow.SPWorkflowAutostartEventReceiver in Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c. Additional information is below. : The object specified does not belong to a list.
Run Code Online (Sandbox Code Playgroud)
有谁可以证实这种行为?或任何解决方案提示?
我随时向您通报有关该主题的任何进展.
我正在调用一些使用.NET的BitmapData类的代码.我找到了一些我无法在Googlespace上找到明确答案的东西.
因为似乎必须始终在一对中调用LockBits和UnlockBits,所以我使用它:
System.Drawing.Imaging.BitmapData tempImageData = tempImage.LockBits(
new System.Drawing.Rectangle(0, 0, tempImage.Width, tempImage.Height),
System.Drawing.Imaging.ImageLockMode.ReadOnly, tempImage.PixelFormat);
try
{
//use external library on the data
}//Exception not handled here; throw to calling method
finally
{
tempImage.UnlockBits(tempImageData);
}
Run Code Online (Sandbox Code Playgroud)
(我最近一直在使用using语句,这在C#中非常有用,这让我觉得我应该这样做.)麻烦的是,即使是MS自己的文档(http://msdn.microsoft.com/ en-us/library/system.drawing.bitmap.unlockbits.aspx)认为它不适合使用try-finally模式.
尝试 - 最后是必要的还是无偿的?
更新:我可能最终会捕获并重新抛出异常,因为我不知道它可能是什么,并且没有提前捕获它们.
谢谢!
.net ×2
c# ×2
algorithm ×1
aop ×1
autostart ×1
batch-file ×1
cmd ×1
command-line ×1
coordinates ×1
forms ×1
geometry ×1
graphics ×1
http ×1
javascript ×1
legacy-code ×1
math ×1
networking ×1
php ×1
post ×1
python ×1
regex ×1
sharepoint ×1
submit ×1
tcp ×1
web-services ×1
windows ×1
workflow ×1