这个问题可能是基于我对.gits和git存储库的作用缺乏了解,但是:
我可以使用我git init在机器之间创建的内容来同步一个目录吗?
我的笔记本电脑上有一个存储库,唯一的方法就是将scp/rsync移到远程主机上,我可以从中再次下载它.我可以同步这些主机之间的完整目录结构吗?
我没有任何正式的计算机科学资格,而是在网络繁荣的时代我自学了经典的ASP,并设法让自己找到了工作,我的职业生涯从那里发展起来.我很自信,而且我认为,ASP 3中的程序员非常好,但正如其他人所观察到的那样,经典ASP的一个问题是它在隐藏http的细节方面做得非常好,所以你可以成为一个非常有能力的人程序员基于对您正在使用的技术的相对较差的理解.
当我最初改为.NET时,我把它视为经典ASP,将独立应用程序作为单独的网站开发只是因为我当时不知道更好.我在这一点上移动了工作,并在接下来的几年中在一个站点上工作,该站点的架构严重依赖于自定义对象:换句话说,我获得了很多使用.NET作为使用相当旧的中间层开发工具的经验 - 按照经常用于教授OO的经典"汽车"类示例的方式设计OO设计方法.将程序分解为功能块,并以此为基础构建类和方法.虽然我们使用敏捷方法来管理工作,但整个设置是经典的客户端/服务器.这适合我和我逐渐掌握.NET并开始以更应用的方式使用它,我开始看到技术中固有的功能以及它为什么比旧的ASP 3好得多.
在我最近的工作中,我发现自己突然陷入了两个相当年轻,技术娴熟,前卫的程序员的深处.他们已经建立了一个网站架构,它根据很多我不熟悉的东西进行建模,实际上我在理解方面遇到了很多麻烦.该应用程序构建在具有多租户的云计算模型上,并且该架构使用大量接口,工厂等进行松散耦合.他们也使用nHibernate.我加入后不久,这两个人离开了,我现在应该是一个系统的高级开发人员,他的技术和架构我真的不懂,而且我也没有人提问.
除了你,互联网.
坦率地说,我觉得自己已经被深深地投入了,我正在下沉.我不确定这是不是因为我缺乏理解这些东西的教育背景,如果我对现代计算不够数学(我的数学从来都不是很好 - 我的设计方法通常是简单调试,直到它工作,然后重构,直到它看起来整洁),或者我是否只是被简单地呈现出过于激进的性质.但找出它的唯一方法就是尝试学习它.
那么有人可以提出一些好的开始吗?好书,教程或博客?我发现很多互联网资料只是假设我没有的理解水平.
非常感谢您的建议.帮助一个中年人,陷入泥浆开发者再次获得热情!
请!
我正在尝试创建一个用于将del.icio.us书签发布到单独帐户的书签.
我从命令行测试了它,如:
wget -O - --no-check-certificate \
"https://seconduser:thepassword@api.del.icio.us/v1/posts/add?url=http://seet.dk&description=test"
Run Code Online (Sandbox Code Playgroud)
这非常有效.
然后我想在我的Firefox中创建一个bookmarklet.我用Google搜索并找到了点点滴滴,结果是:
javascript:void(
open('https://seconduser:password@api.del.icio.us/v1/posts/add?url='
+encodeURIComponent(location.href)
+'&description='+encodeURIComponent(document.title),
'delicious','toolbar=no,width=500,height=250'
)
);
Run Code Online (Sandbox Code Playgroud)
但所有这一切都是我从del.icio.us得到的:
<?xml version="1.0" standalone="yes"?>
<result code="access denied" />
<!-- fe04.api.del.ac4.yahoo.net uncompressed/chunked Thu Aug 7 02:02:54 PDT 2008 -->
Run Code Online (Sandbox Code Playgroud)
如果我然后转到地址栏并按Enter键,它将变为:
<?xml version='1.0' standalone='yes'?>
<result code="done" />
<!-- fe02.api.del.ac4.yahoo.net uncompressed/chunked Thu Aug 7 02:07:45 PDT 2008 -->
Run Code Online (Sandbox Code Playgroud)
任何想法如何让它直接从书签工作?
假设"windows文件"和"unix文件"之间的唯一区别是换行符,我是否正确?
我们有一个系统已经从Windows机器移动到unix机器,并且在格式上遇到了麻烦.
我需要在文件在"transportsystem"中传送到系统之前自动执行unix/windows之间的转换.我可能需要一些东西来确定当前的格式以及将其转换为其他格式的东西.如果它只是新行有很大的不同,那么我正在考虑用java.io读取文件.据我所知,他们可以使用readLine处理这两个问题.然后用它来写回每一行
while (line = readline)
print(line + NewlineInOtherFormat)
....
Run Code Online (Sandbox Code Playgroud)
这只是文本文件的差异,其中UNIX使用单个换行符(LF)来表示新行,Windows使用回车符/换行符(CRLF),而Mac仅使用CR.
到Cebjyre阐述:
OS X使用LF,与UNIX相同 - MacOS 9及以下版本确实使用CR
国家字符的字符编码也可能有所不同.没有"unix-encoding",但许多linux-variants使用UTF-8作为默认编码.Mac OS(也是一个unix)使用自己的编码(macroman).我不确定,Windows默认编码是什么.
除了新行差异之外,如果文件在Windows上被视为Unicode,则字节顺序标记可能会导致问题.
但是,您可能遇到的另一组问题可能与单/多字节字符编码有关.如果你看到奇怪的意外字符(不在行尾)那么这可能是原因.特别是如果您看到方框,问号,颠倒的问号,额外的字符或意外的重音字符.
在unix上,以a开头的文件.是隐藏的.在Windows上,它是一个您可能无法轻松访问的文件系统标志.这可能导致现在应该隐藏的文件在客户端计算机上变得可见.
文件权限因二者而异.当您将文件复制到unix系统时,您可能会发现文件现在属于进行复制并具有有限权限的用户.您需要使用chown/chmod来确保正确的用户可以访问它们.
存在帮助解决问题的工具:
如果您只对文本文件的内容感兴趣,那么行结尾是不同的.看看像dos2unix这样的东西,它可能在这里有所帮助.
正如pauldoo所说,像dos2unix这样的工具非常有用.请注意,这些可能在您的linux/unix系统上,如fromdos或tofrodos,或者甚至可能作为通用工具箱重新编码.
帮助java编码
当写入文件或从文件中读取(您可以控制)时,通常值得指定要使用的编码,因为大多数Java方法都允许这样做.但是,确保系统区域设置匹配可以节省很多痛苦
我有一个列表l:List[T1],目前我正在做以下事情:
myfun : T1 -> Option[T2]
val x: Option[T2] = l.map{ myfun(l) }.flatten.find(_=>true)
Run Code Online (Sandbox Code Playgroud)
该myfun函数返回None或Some,flatten抛弃所有None,并且find返回列表的第一个元素(如果有的话).
这对我来说似乎有些苛刻.我认为可能存在一些理解或类似的东西会减少浪费或更聪明.例如:我不需要如有后续的答案myfun返回任何 Some在map列表中l.
如果我有一张桌子
create table sv ( id integer, data text )
Run Code Online (Sandbox Code Playgroud)
和索引:
create index myindex_idx on sv (id,text)
Run Code Online (Sandbox Code Playgroud)
如果我进行查询,这仍然有用吗
select * from sv where id = 10
Run Code Online (Sandbox Code Playgroud)
我问的原因是我正在查看一组没有任何索引的表,并查看选择查询的不同组合.有些只使用一列其他有多个列.我是否需要为两个集合建立索引,或者是一个包罗万象的索引吗?我正在添加索引以便比全表扫描更快地查找.
示例(基于Matt Huggins的回答):
select * from table where col1 = 10
select * from table where col1 = 10 and col2=12
select * from table where col1 = 10 and col2=12 and col3 = 16
Run Code Online (Sandbox Code Playgroud)
可以全部由索引表(co1l1,col2,col3)覆盖但是
select * from table where col2=12
Run Code Online (Sandbox Code Playgroud)
还需要另一个指数吗?
我们发现自己在许多测试用例中编写重复的夹具/模拟设置 - 就像这种情况:
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var encodingMock = fixture.Freeze<Mock<IEncodingWrapper>>();
var httpClientMock = fixture.Freeze<Mock<IHttpWebClientWrapper>>();
var httpResponseMock = fixture.Freeze<Mock<IHttpWebResponseWrapper>>();
var httpHeaderMock = fixture.Freeze<Mock<IHttpHeaderCollectionWrapper>>();
var etag = fixture.CreateAnonymous<string>();
byte[] data = fixture.CreateAnonymous<byte[]>();
Stream stream = new MemoryStream(data);
encodingMock.Setup(m => m.GetBytes(It.IsAny<string>())).Returns(data);
httpHeaderMock.SetupGet(m => m[It.IsAny<string>()]).Returns(etag).Verifiable();
httpClientMock.Setup(m => m.GetResponse()).Returns(httpResponseMock.Object);
httpResponseMock.Setup(m => m.StatusCode).Returns(HttpStatusCode.OK);
httpResponseMock.SetupGet(m => m.Headers).Returns(httpHeaderMock.Object);
httpResponseMock.Setup(m => m.GetResponseStream()).Returns(stream);
Run Code Online (Sandbox Code Playgroud)
根据测试应该是自包含的并且从头到尾可读的想法,我们不使用神奇的Setup/Teardown方法.
我们可以以任何方式(AutoFixture自定义,辅助方法)减少这些测试的"笨拙的工作"吗?
我经常通过我的展望向同事和合作伙伴发送小代码片段和xml-snippets.有没有人有一个好主意或工具,我可以使用它来粘贴我的粘贴语法,然后再粘贴到电子邮件中.
我想到了一个"$ fancytool"的中间粘贴,然后我会有一些要复制的东西,这将被粘贴,所以我可以将它复制粘贴到"撰写电子邮件"窗口.
编辑-MORE-信息:
我从VMWare虚拟机中的窗口粘贴,它可能是eclipse,xmlspy,logfiles和其他程序
偶更信息:
我已经看过这个链接如何从Vim做到这一点.不幸的是,很少从vim im复制Code,我的电子邮件机器没有任何vim.vmware机器有gvim,但我希望有一个更简单的方法,粘贴到vim,保存到文件,在internetexplorer中打开然后复制/粘贴
我正在为大学项目编写一个编译器,我想将我的抽象语法树转换为控制流图(CFG).
我认为VCFG 中的nodes()应该是来自AST的节点.我在算法上知道如何构造边集(G=(V,E))但我很难正式地编写过程
我创建了这个scala样式模式匹配(Pseudo):
def edges(n:Node)(nestedin_next: Node) : List[(Node,Node)] =
n match {
case (c_1 :: c_2::tl) => (c1,c2) :: edges(c2::tl)(nestedin_next)++
edges(c_1)(c_2)//recurse
case c_1 :: Nil => (c_1,nestedin_next)::Nil
case i@ IF(_,c1,c2) => (i,c1)::(i,c2)::edges(c1)(nestedin_next)++
edges(c2)(nestedin_next)
case _ => Nil
}
Run Code Online (Sandbox Code Playgroud)
哪个应该匹配AST结构,如:
( IF(1,
ASSIGN(x,1), // ia1
ASSIGN(x,2) // ia2
) :: // i1
ASSIGN(y,2) :: // a1
ASSIGN(z,ADD(x,y)) :: //a2
IF(z,
RET(z), //i2r1
assign(z,0):: // i2a1
ret(z) // i2r2
) :://i2
Nil
)
Run Code Online (Sandbox Code Playgroud)
并提供如下边缘集:
{ i1 -> …Run Code Online (Sandbox Code Playgroud) language-agnostic compiler-construction scala compiler-theory