有没有人有一个有效的替代方案,使用已注册的代码进入存储库以查找可查找性?
我问的原因是因为我最近与一位开发人员讨论过检查注释掉的代码.我的立场是,注释掉的代码永远不应该被检查到我们的VCS中,因为它在技术上不是代码库的一部分,因此令人烦恼的事情并不值得它占用的字节,可以这么说.
他的反对意见是,他检查过的一些注释掉的代码仍然说明了他希望将来修复的一些工作(在这一特定点上,评论发生在2年前,但除了这一点之外).他希望将它保留在代码库中,以便他可以轻松找到它,即使它目前无法编译,它仍然在全局范围内显示解决它的正确方法.
最后,他同意了,注释掉的代码不属于.但是当我们想到他可能的替代品时,我们的确很短.
我能想到的唯一选择是:
有没有人知道/使用任何替代品?我的两个选项听起来都比实际值得多,但这可能会因我的推理而倾斜,因为无论如何注释掉代码都是毫无价值的.我讨厌必须去"嘿,如果你现在没有时间来解决这个问题并不重要,无论如何都要留在代码库中"路线(但如果没有可行的替代方案,我会这么做).
对不起这个可怕的头衔,我无法想出一个更好的头衔
我的'src/main/recources'文件夹中有不同的XML文件,我想从我的webapplication中读取它们.
File f = new File("file1.xml");
f.getAbsolutePath();
Run Code Online (Sandbox Code Playgroud)
代码在WebService中调用,当我查看Tomcat-server-output时,会打印出'C:\ Users\Administrator'.我目前的解决方案是将'file1.xml'文档放在WAR之外的'C:\' - 文件夹中,但这样我的WAR不可转让.
我也试过了
<bean name="webService">
<property name="document">
<value>classpath:file1.xml</value>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
但这只是打印出"classpath:file.xml"而不解析它.
此致,皮特
我知道PHP,我刚刚开始使用MySql(但计划使用ODBC).我不需要任何书籍来解释这一点.
我可能有资格开发一个简单的网站,但目标是采取相当雄心勃勃的应用程序.我想,几乎所有的网络应用都有一些共性,如安全性,可扩展性等(我完全不知道如何在服务器服务器上分发数据库或应用程序).
由于我无法预见我可能开发的应用程序的确切性质(除了PHP和ODBC将涉及),是否有任何意义与框架结婚,或者我应该重新发明轮子并将其个性化为让它成为我自己的框架.
如果现有框架,那么哪一个?我能给予的唯一帮助是我不太可能做网站,门户网站,购物网站等,可能更倾向于资产跟踪和数据挖掘.
我正在尝试以编程方式启动应用程序,但它始终在我的应用程序的文件夹中运行...例如:
如果我的应用程序位于C:\ MyApp\myapp.exe而其他应用程序位于C:\ OtherApp\otherapp.exe中,如何在其所在的文件夹中启动其他应用程序,而不是在其中的文件夹中我的应用程序驻留?
以下是我启动其他应用的方法:
private void StartApp(OtherApp application)
{
Process process = new Process();
process.StartInfo.FileName = application.FileName;
process.StartInfo.Arguments = application.AppName;
process.Start();
}
Run Code Online (Sandbox Code Playgroud) 我们有2个数据库--DB1和DB2.
我可以在DB1中创建一个与DB2中的某个表有关系的表吗?换句话说,我可以从另一个数据库中获取表中的外键吗?
我用不同的用户连接到这些数据库.有任何想法吗?
现在,我收到错误:
ORA-00942:表或视图不存在
我正在使用从服务器下载一些文件的DownloadFileAsync方法WebClient,我不禁注意到在VS2010中我的代码的非正式测试中,它在启动时会阻塞大约3秒钟,在我看来,首先打败了目的.
以下是相关的代码片段:
WebClient downloader = new WebClient();
downloader.DownloadProgressChanged += new DownloadProgressChangedEventHandler(updateDownloadProgress);
downloader.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(downloadCompleted);
var current_map = map_downloads[0];//string with filename, map_downloads is List<string>
var path = System.IO.Path.GetTempFileName();
downloaded_maps.Add(path);//adding the temp file to a List<string>
downloader.DownloadFileAsync(new Uri(MAP_BASE + current_map), path); //MAP_BASE is a string containing the base url
Run Code Online (Sandbox Code Playgroud)
DownloadFileAsync当应用程序下载~100 MB文件时,我正在使用UI阻止阻止.显然,如果UI在呼叫开始时阻塞了3秒,那么即使不完全,也会稍微减少效用.
我对C#/ .Net相对缺乏经验(大约3 - 4年前我做了一堆.Net 2.0的东西,IIRC,但我现在基本上重新学习它).
我有一个名为Entry这样的类:
class Entry{
string Id {get;set;}
string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
然后Entry使用ADO.NET 接受多个此类对象插入数据库的方法:
static void InsertEntries(IEnumerable<Entry> entries){
//build a SqlCommand object
using(SqlCommand cmd = new SqlCommand()){
...
const string refcmdText = "INSERT INTO Entries (id, name) VALUES (@id{0},@name{0});";
int count = 0;
string query = string.Empty;
//build a large query
foreach(var entry in entries){
query += string.Format(refcmdText, count);
cmd.Parameters.AddWithValue(string.Format("@id{0}",count), entry.Id);
cmd.Parameters.AddWithValue(string.Format("@name{0}",count), entry.Name);
count++;
}
cmd.CommandText=query;
//and then execute the command
...
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我应该继续使用上面的方式发送多个insert语句(构建一个巨大的insert语句及其参数字符串并通过网络发送),或者我应该保持一个打开的连接并发送一个insert语句对于每个人Entry这样:
using(SqlCommand …Run Code Online (Sandbox Code Playgroud) 我找到了这个示例代码,我试图google什么(int (*)[])var1可以代表,但我没有得到有用的结果.
#include <unistd.h>
#include <stdlib.h>
int i(int n,int m,int var1[n][m]) {
return var1[0][0];
}
int example() {
int *var1 = malloc(100);
return i(10,10,(int (*)[])var1);
}
Run Code Online (Sandbox Code Playgroud)
通常我在C99中使用VLA,所以我习惯于:
#include <unistd.h>
#include <stdlib.h>
int i(int n,int m,int var1[n][m]) {
return var1[0][0];
}
int example() {
int var1[10][10];
return i(10,10,var1);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用文件("sample.txt")映射到内存FileChannel.map(),然后使用关闭通道fc.close().在此之后,当我使用FileOutputStream写入文件时,我收到以下错误:
java.io.FileNotFoundException:sample.txt(无法在打开用户映射部分的文件上形成请求的操作)
File f = new File("sample.txt");
RandomAccessFile raf = new RandomAccessFile(f,"rw");
FileChannel fc = raf.getChannel();
MappedByteBuffer mbf = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
fc.close();
raf.close();
FileOutputStream fos = new FileOutputStream(f);
fos.write(str.getBytes());
fos.close();
Run Code Online (Sandbox Code Playgroud)
我认为这可能是由于文件仍然映射到内存,即使我关闭后FileChannel.我对吗?.如果是这样,我如何从内存中"取消映射"文件?(我在API中找不到任何方法).谢谢.
编辑:看起来像(添加一个unmap方法)作为RFE提交给sun一段时间了:http : //bugs.sun.com/view_bug.do?bug_id=4724038
我需要将大约200个HTTP请求并行发送到不同的服务器并获得响应.我在C#中使用HttpWebRequest类.但是,当并行处理请求时,我看不到好的时间增强.例如,如果一个请求需要3秒来获得响应,2个并行请求 - 6秒,3个请求 - 8秒,4个请求 - 11秒......这是不好的,我希望应该有最好的时间,大约10秒200要求.看起来只有2-3个请求并行执行,但是在创建WebRequest对象后立即启动超时.我尝试了设置DefaultConnectionLimit和MaxServicePoints值,但id没有帮助.据我了解这些参数对并行的一个站点的请求数量.我需要不同网站的请求.
我用来测试的代码示例:
ArrayList a = new ArrayList(150);
for (i = 50; i < 250; i++ )
{
a.Add("http://207.242.7." + i.ToString() + "/");
}
for (i = 0; i < a.Count; i++)
{
Thread t = new Thread(new ParameterizedThreadStart(performRequest));
t.Start(a[i]);
}
static void performRequest(object ip)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create((stirng)ip);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
}
Run Code Online (Sandbox Code Playgroud)
Сan有人遇到过这样的问题吗?谢谢你的任何建议.