我有一个包含项目源的文件夹.我如何将这个项目推入Github的存储库?
我尝试使用这个步骤:
git init
,所以在项目根目录下出现了.git
文件夹.git add sourcesFolderName
git commit -m "initial commit"
git remote add MyProject <url>
git push
,但没有任何东西被推到远程回购......(没有授权失败)那么我如何将现有的资源推送到新创建的github repo?
我开始学习Scala,几乎在每个教程中我都看到一个build.sbt
描述项目设置的文件.但现在我已经giter8
从模板安装并创建了一个项目.并且从模板遗漏build.sbt
文件生成项目,但它有build.scala
(它似乎用于相同的目的,但它更灵活).
那么build.sbt
和之间的区别是什么build.scala
?
哪个更受欢迎,为什么?
我使用Intellij IDEA 12,我想隐藏.iml
项目视图中的文件.我怎么能做到这一点?
通过使ArrayList(或其他Collection)最终获得哪些优点/缺点?我仍然可以添加ArrayList新元素,删除元素并更新它.但是什么影响使它成为最终的?
我试图了解如何使用Node/Express/Mongo构建企业应用程序(实际上使用MEAN堆栈).
在阅读了2本书和一些谷歌搜索(包括类似的StackOverflow问题)之后,我找不到使用Express构建大型应用程序的任何好例子.我读过的所有资料都建议通过以下实体拆分应用程序:
但我这个结构看主要问题是,控制器是神一样的物体,他们知道req
,res
对象,负责验证和有业务逻辑包含英寸
在另一方面,我认为路由过度工程,因为他们所做的只是将端点(路径)映射到控制器方法.
我有Scala/Java背景,所以我习惯将3层中的所有逻辑分开 - controller/service/dao.
对我来说,以下陈述是理想的:
控制器只负责与WEB部分交互,即编组/解组,一些简单的验证(必需,最小,最大,电子邮件正则表达等);
服务层(实际上我在NodeJS/Express应用程序中错过了)仅负责业务逻辑,一些业务验证.服务层对WEB部分一无所知(即可以从其他应用场所调用,不仅可以从Web上下文调用);
关于DAO层对我来说都很清楚.猫鼬模型实际上是DAO,所以这里对我来说最清楚.
我认为我看到的例子很简单,它们只显示了Node/Express的概念,但我想看看一些真实世界的例子,其中涉及大部分业务逻辑/验证.
编辑:
另一件事我不清楚是否缺少DTO对象.考虑这个例子:
const mongoose = require('mongoose');
const Article = mongoose.model('Article');
exports.create = function(req, res) {
// Create a new article object
const article = new Article(req.body);
// saving article and other code
}
Run Code Online (Sandbox Code Playgroud)
将JSON对象req.body
作为参数传递给创建Mongo文档.它闻起来对我不好.我想使用具体的类,而不是原始的JSON
谢谢.
我用这段代码得到编译时错误:
const someFunction = async (myArray) => {
return myArray.map(myValue => {
return {
id: "my_id",
myValue: await service.getByValue(myValue);
}
});
};
Run Code Online (Sandbox Code Playgroud)
错误信息是:
等待是一个保留字
为什么我不能这样使用它?
我也尝试了另一种方式,但它给了我同样的错误:
const someFunction = async (myArray) => {
return myArray.map(myValue => {
const myNewValue = await service.getByValue(myValue);
return {
id: "my_id",
myValue: myNewValue
}
});
};
Run Code Online (Sandbox Code Playgroud) 这是我的XML文件:
<fields>
<field mappedField="Num">
</field>
<field mappedField="Type">
</field>
</fields>
Run Code Online (Sandbox Code Playgroud)
我做了2个类来解析它(Fields.java和Field.java):
@XmlRootElement(name = "fields")
public class Fields {
@XmlElement(name = "field")
List<Field> fields = new ArrayList<Field>();
//getter, setter
}
Run Code Online (Sandbox Code Playgroud)
和
public class Field {
@XmlAttribute(name = "mappedField")
String mappedField;
/getter,setter
}
Run Code Online (Sandbox Code Playgroud)
但我得到了这个例外.
[INFO] com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
[INFO] at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:66) ~[na:1.6.0_07]
[INFO] at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422) ~[na:1.6.0_07]
[INFO] at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:270) ~[na:1.6.0_07]
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么这个例外会上升.例外情况在这里:
JAXBContext context = JAXBContext.newInstance(Fields.class);
Run Code Online (Sandbox Code Playgroud)
我使用JDK 1.6_0.0.7.谢谢.
我需要在服务器端创建5个方法,这将使用二进制数据.远程客户端是applet和JavaScript.客户端将文件发送到服务器,服务器必须解析这些文件,然后将响应作为XML/JSON返回.
所以我很困惑 - 在这种情况下使用REST服务是一种好习惯吗?或者我应该使用servlet?
我的同事告诉我:
"创建仅由一个应用程序使用的REST服务并不好.只有当许多应用程序使用REST时才能创建REST.而REST比servlet有一些缺点:REST比servlet慢;它更难以编写线程安全的REST比servlet"
但是,我发现使用Servlet有一些缺点:我需要发送一个我想调用的函数名(即作为额外的HTTP参数发送函数名),然后在doPost
方法内部执行以下开关:
switch(functionName) {
case "function1":
function1();
break;
case "function2"
function2();
break;
//.... more `case` statements....
}
Run Code Online (Sandbox Code Playgroud)
在REST的情况下,我可以简单地使用不同的URL来实现不同的功能.此外,在REST的情况下,从服务器返回JSON/XML更方便.
java ×5
apache-poi ×1
architecture ×1
arraylist ×1
async-await ×1
exception ×1
express ×1
final ×1
forms ×1
git ×1
github ×1
html ×1
javascript ×1
jaxb ×1
node.js ×1
rest ×1
sbt ×1
scala ×1
servlets ×1