好的,所以我.gitattributes用这样的行添加了文件
*.css text
*.js text
etc...
Run Code Online (Sandbox Code Playgroud)
然后我按照http://git-scm.com/docs/gitattributes#_checking-out_and_checking-in上的说明进行操作
$ rm .git/index # Remove the index to force Git to
$ git reset # re-scan the working directory
$ git status # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"
Run Code Online (Sandbox Code Playgroud)
但是现在我的工作副本仍然有回车!我有未跟踪的文件,我想保留.如何使用规范化文件再次git checkout master分支?
我知道文件在存储库中是规范化的,因为当我克隆repo时,我有所有没有回车符的文件.
有没有办法取消签名java jar文件?我有一些我想在我的开发环境中使用的签名罐子,但我得到安全例外,所以我想取消签名这些罐子,我可以在以后准备部署时签名.
我有一个包含多个子项目的多项目构建,我想使用gradle包装器.
这样做的惯用方法是什么?
我应该通过build.gradle在根目录中添加以下代码来配置每个子项目中的包装器吗?
allprojects {
task wrapper(type: Wrapper) {
gradleVersion = '2.2'
}
}
Run Code Online (Sandbox Code Playgroud)
但后来,我想和你所有的gradlew.bat,gradlew.sh,gradle/wrapper/gradle-wrapper.jar从等文件,所有的子项目目录到版本控制?这似乎效率低下,但如果我不这样做,那我怎样才能./gradlew.sh在子项目目录中执行?在子项目中使用gradle包装器的首选方法是什么?
在这种情况下,开发人员是否只使用文件系统上安装的gradle?
最重要的问题是第一个问题:这样做的惯用方法是什么?
我有这个简单的构建脚本:
import org.ajoberstar.grgit.Grgit
apply plugin: 'application'
apply plugin: 'org.ajoberstar.release-opinion'
task wrapper(type:Wrapper) {
gradleVersion = '2.1'
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:0.11.+'
}
}
release {
grgit = Grgit.open(project.file('.'))
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个HelloWorld样式项目并初始化了git存储库.当我使用远程原点的目录时,我可以运行
.\gradlew.bat release
Run Code Online (Sandbox Code Playgroud)
正好.但是当我使用ssh目标作为远程原点时,我得到以下输出:
16:39:55.355 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':prepare'.
16:39:55.355 [INFO] [org.gradle.api.Task] Fetching changes from remote: origin
16:39:55.387 [INFO] [org.ajoberstar.grgit.auth.TransportOpUtil] The following authentication options are allowed (though they may not be available): [
HARDCODED, PAGEANT, SSHAGENT, INTERACTIVE]
16:39:55.402 [INFO] [org.ajoberstar.grgit.auth.TransportOpUtil] using interactive credentials, …Run Code Online (Sandbox Code Playgroud) 我有一个简单的Gradle项目:
apply plugin: 'groovy'
apply plugin: 'application'
mainClassName = 'HelloWorld'
Run Code Online (Sandbox Code Playgroud)
使用一个Groovy源文件src/main/groovy:
public class HelloWorld {
public static void main(String[] args) {
print "hello world"
}
}
Run Code Online (Sandbox Code Playgroud)
我输入gradle run并获得以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Cannot infer Groovy class path because no Groovy Jar was found on class path: [/Users/jzwolak/files/experimenting/gradle/groovy-project/build/classes/java/main]
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD …Run Code Online (Sandbox Code Playgroud) 我在C++中有一个方法,它接受一个双精度数组作为参数.我从Java调用这个方法,需要传递一个双精度数组.C++例程读取并修改数组的值,我需要Java中的更新值.我该怎么做呢?
例如,采用C++例程:
void myMethod( double *values, int size ) {
for ( int i=0; i < size; i++ ) {
values[i] = 2*values[i];
}
}
Run Code Online (Sandbox Code Playgroud)
和Java代码:
double[] values = { 1.3, 1.1 };
myMethod(values,values.length);
System.out.println(values[0]); // prints 2.6
Run Code Online (Sandbox Code Playgroud)
我想对myMethod的调用无法像上面的调用一样......或者可以吗?并且Swig有必要使这项工作成功.如果我不能像上面那样打电话,我该如何获取C++代码的值?
如何在命令行上使用CMake和Visual Studio 2010?
使用Visual C++ Express Edition(2010),我会输入:
cmake .
nmake
nmake install
Run Code Online (Sandbox Code Playgroud)
简单.
我注意到在Visual Studio 2010中,CMake生成了一个解决方案文件而不是Makefile.所以我键入:
cmake .
msbuild mysolutionfile.sln
Run Code Online (Sandbox Code Playgroud)
但那又怎样?我曾经能够键入"nmake install",它会安装该项目.我现在要输入什么来安装项目?
在编写基于Datomic和Clojure的应用程序时,同行似乎可以不受限制地访问数据.如何构建一个多用户系统,用户A无法访问用户B专用的数据?
我知道我可以在Clojure中编写查询,只返回用户A的私有数据......但是什么阻止恶意用户攻击二进制文件以查看用户B的私有数据?
UPDATE
根据@Thumbnail和John P Hackworth博客链接的答案,Clojure/Datomic应用程序的状态实际上缺乏安全性.
让我更清楚地说明我看到的问题,因为我没有看到任何解决方案,这是提出这个问题的原始问题.
Datomic有一个数据存储,一个transactor和peer.对等体位于用户的计算机上,并针对来自数据存储的数据运行查询.我的问题是:如何限制对数据存储中的数据的访问.由于数据存储是愚蠢的,实际上只是存储数据,我不知道如何提供访问控制.
当AWS S3用作数据存储时,客户端(对等方)必须在访问S3之前进行身份验证,但一旦进行身份验证,对等方就无法访问所有数据!仅限于它运行的查询,如果用户想要获取另一个用户的数据,他们可以在客户端中更改代码二进制文件,以便查询以不同的用户名运行,对吧?要清楚......访问控制不仅仅是查询的条件吗?或者是否存在数据存储识别的用户特定连接,数据存储限制了哪些数据可见?
我错过了什么?
在像Rails这样的传统Web框架中,服务器端代码限制对数据的所有访问,并对用户进行身份验证和授权.用户可以更改URL或客户端代码,但除非用户提供了正确的凭据,否则服务器将不允许访问数据.
由于Datomic中的数据存储是愚蠢的,它似乎缺乏基于每个用户限制访问的能力,并且应用程序(对等方)必须这样做.我不想信任用户的行为,也不想尝试获取其他用户的信息.
一个简单的例子是银行系统.当然用户将被认证...但在那之后,是什么阻止他们修改客户端代码/二进制文件以更改数据查询以从数据存储中获取其他用户的帐户信息?
更新 - 型号
这里有两个可能的模型,我有Datomic和Clojure如何工作......第一个是我当前的模型(在我脑海中).
如果第二个模型是正确的,那么我的问题就得到了回答:用户无法修改服务器代码,服务器代码包含访问控制...因此,我认为驻留在用户计算机上的"对等体"实际上位于应用服务器.
它应该工作还是已被删除?
这是失败的命令:
grails create-app my_new_app
cd my_new_app
grails generate-all my_new_app.Book
Run Code Online (Sandbox Code Playgroud)
结果是
Script 'GenerateAll' not found, did you mean:.5
1) CreateFilters
2) CreateController
3) CreateIntegrationTest
4) InstallTemplates
5) CreateApp_
> Please make a selection or enter Q to quit:
Run Code Online (Sandbox Code Playgroud)
这是根据http://grails.org/doc/latest/guide/gettingStarted.html#generatingAnApplication上的文档
grails -version
Grails version: 2.3.5
Run Code Online (Sandbox Code Playgroud) 有没有办法执行类似的查询
select count(*) from some_table;
Run Code Online (Sandbox Code Playgroud)
作为特定用户以数据库“超级用户”(如 sys 或 sysadmin)登录时?
如何才能做到这一点?
更新
我们有这样的 where 子句:
where column_user_name=user
Run Code Online (Sandbox Code Playgroud)
因此,数据库需要认为指定的当前用户user是我们想要假装的用户。