我有一个Java程序,Maven管理它的依赖项.其中一个依赖项是另一个程序的JNI包装器.Maven负责处理相关JAR文件的引用,但我自己还在搞乱DLL文件.
有没有一个让Maven处理DLL的好方法?理想情况下,我希望将DLL加载到我们的本地存储库中,如JAR文件.
我需要将一个大的(500 MB)文本文件(一个log4net异常文件)拆分成可管理的块,例如100个5 MB的文件就可以了.
我认为这应该是PowerShell的公园散步.我该怎么做?
从本质上讲,我想在堆栈上放置一个变量,该变量可以通过堆栈下面的所有调用到达,直到块退出.在Java中,我将使用支持方法的本地静态线程解决此问题,然后可以从方法访问.
典型示例:您收到请求,并打开数据库连接.在请求完成之前,您希望所有代码都使用此数据库连接.完成并关闭请求后,关闭数据库连接.
我需要这个,是一个报告生成器.每个报告由多个部分组成,每个部分可以依赖于不同的计算,有时不同的部分部分依赖于相同的计算.由于我不想重复繁重的计算,我需要缓存它们.我的想法是用缓存装饰器装饰方法.缓存根据方法名称和模块创建一个id,它的参数,看它是否已经在堆栈变量中计算,并且如果没有则执行该方法.
我将通过展示我当前的实现来尝试清除.我想要做的是简化那些实现计算的代码.
首先,我有中央缓存访问对象,我称之为MathContext:
class MathContext(object):
def __init__(self, fn):
self.fn = fn
self.cache = dict()
def get(self, calc_config):
id = create_id(calc_config)
if id not in self.cache:
self.cache[id] = calc_config.exec(self)
return self.cache[id]
Run Code Online (Sandbox Code Playgroud)
fn参数是创建上下文的文件名,从中可以读取数据以进行计算.
然后我们有Calculation类:
class CalcBase(object):
def exec(self, math_context):
raise NotImplementedError
Run Code Online (Sandbox Code Playgroud)
这是一个愚蠢的斐波那契例子.这些方法实际上不是递归的,而是处理大量数据,但它可以演示如何依赖其他计算:
class Fibonacci(CalcBase):
def __init__(self, n): self.n = n
def exec(self, math_context):
if self.n < 2: return 1
a = math_context.get(Fibonacci(self.n-1))
b = math_context.get(Fibonacci(self.n-2))
return a+b
Run Code Online (Sandbox Code Playgroud)
我想要斐波那契,只是一种装饰方法:
@cache
def fib(n):
if n<2: return 1
return fib(n-1)+fib(n-2)
Run Code Online (Sandbox Code Playgroud)
使用math_context示例,当math_context超出范围时,它的缓存值也是如此.我想为装饰者做同样的事情.IE浏览器.在第X点,@ cache缓存的所有内容都是deveferrenced.
构建测试Web服务并且一切都很好,所以我添加了其余的方法,现在它们没有出现在"浏览器中查看"测试页面中.
我停止了系统托盘中的服务.干净了.重建了吗?做了.多次尝试这些.
奇怪的是,我的一个新方法取代了旧方法之一(HelloWorld默认值),但其余的10-15方法都不存在.
有什么想法吗?
编辑:这是我得到的样本......
[WebMethod]
public DataSet GetSiteMap()
{
return Photo_DA.GetSitemap();
}
[WebMethod]
public DataSet GetByTypeDate(string photoType, DateTime photoDate)
{
return Photo_DA.GetByTypeDate(photoType, photoDate);
}
[WebMethod]
public static DataSet GetArchiveCombos()
{
return Photo_DA.GetArchiveCombos();
}
Run Code Online (Sandbox Code Playgroud)
前两个节目.第三个没有.
DOH!STATIC是坏人 - 我无法删除此消息,因此我可以假设管理员.
我使用Lucene.Net来索引和搜索文档,我使用以下代码创建或打开索引(如果存在):
IndexWriter writer = new IndexWriter(@"C:\index", new StandardAnalyzer(), !IndexExists);
...
private bool IndexExists
{
get
{
return ??
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如何IndexExists以简单的方式实施?我不需要抛出任何异常.
indexing search lucene.net full-text-search full-text-indexing
我在将telerik RadGrid和普通的ASP.NET GridView绑定到以下LINQ to实体查询的结果时遇到问题.在这两种情况下,网格都包含正确的行数,但只有少数几行的数据在所有其他行中都是重复的.我直接从此代码中为网格上的DataSource属性分配返回值.
public IEnumerable<DirectoryPersonEntry> FindPersons(string searchTerm)
{
DirectoryEntities dents = new DirectoryEntities();
return from dp in dents.DirectoryPersonEntrySet
where dp.LastName.StartsWith(searchTerm) || dp.Extension.StartsWith(searchTerm)
orderby dp.LastName, dp.Extension
select dp;
}
Run Code Online (Sandbox Code Playgroud)
ADDED:这是可行的替代普通ADO.NET代码:
DataTable ret = new DataTable();
using (SqlConnection sqn = new SqlConnection(ConfigurationManager.ConnectionStrings["WaveAdo"].ConnectionString))
{
SqlDataAdapter adap = new SqlDataAdapter("select * from DirectoryPersonList where LastName like '" + searchTerm + "%' order by LastName ", sqn);
sqn.Open();
adap.Fill(ret);
}
return ret;
Run Code Online (Sandbox Code Playgroud)
更多:
更新:基于下面Marc …
环境:debian 4.0
Python 2.4
我的'项目'安装在:
/usr/lib/python2.4/site-packages/project.
但我想使用我的工作副本而不是安装的副本,它位于:
/家/我的/ dev /项目/ src目录
所以我做的是:
export PYTHONPATH =/home/me/dev/project/src
IPython中
import foo#在src中
foo.__file__Run Code Online (Sandbox Code Playgroud)*/usr/lib/python2.4/site-packages/project/foo.py*
代替 :
/home/me/dev/project/src/project/foo.py
怎么会?我尝试检查pathes(完成上面的导出),我看到的是:
import sys,os
sys.path中
['','/ usr/bin','/ usr/lib/python2.4/site-package','/ home/me/dev/project/src','/ usr/lib/python24.zip', '/usr/lib/python2.4','/ usr/lib/python2.4/plat-linux2','/ usr/lib/python2.4/lib -tk','/ usr/lib/python2.4/lib-dynload','/ usr/local/lib/python2.4/site-packages','/ usr/lib/python2.4/site-package/PIL','/ var/lib/python-support/python2.4','/ usr/lib/python2.4/site-packages /IPython/Extensions','/ home/me/.ipython']
os.environ [ 'PYTHONPATH']
/家/我的/ dev /项目/ src目录
因此,Scope_Identity()在SQL Server中返回?-Byte数值类型.
那不是很棒.
有没有一种安全的方法将它转换为选择查询中的int,因此我们不必管理ODBC Wrapper中的每一个SQL Server的奇思妙想?
我使用Python的内置XML解析器来加载1.5 gig XML文件,这需要一整天.
from xml.dom import minidom
xmldoc = minidom.parse('events.xml')
Run Code Online (Sandbox Code Playgroud)
我需要知道如何进入并测量其进度,以便我可以显示进度条.有任何想法吗?
minidom有另一个叫做parseString()的方法,它返回一个DOM树,假设你传递的字符串是有效的XML,如果我自己将文件拆分成块并一次一个地传递给parseString,我是否可能合并所有的DOM树在最后重新组合在一起?
在我的应用程序中,我(如在许多其他应用程序中)一个被称为Contact任何人的实体.在最基本的层面上,这用于表示业务联系人.但是,它也可以用来代表公司的员工.并且还有一些特殊类型的员工(比方说有一个叫Manager)
我试图将其建模为一种有意义的继承关系.员工的姓名和地址就像联系人一样,以及一些与就业相关的属性.经理还拥有许多经理特定的属性.
当员工晋升为经理时,困难就出现了.可以将基类Employee转换为继承类Manager吗?感觉不对.我想我会用一个专门的构造函数来做Manager.
顺便说一句,NHibernate是否支持这种行为?是获得员工,从员工创建经理,然后保存经理这么简单吗?
python ×3
.net ×2
asp.net ×1
debian ×1
dll ×1
indexing ×1
inheritance ×1
java ×1
linq ×1
lucene.net ×1
maven-2 ×1
nhibernate ×1
path ×1
powershell ×1
pyqt ×1
search ×1
sql-server ×1
thread-local ×1
web-services ×1
xml ×1