好的......所以这是我的实际状态:
作为一个PHP Scripter太久了,我认为我的基础,良好实践(结构,评论,缩进,工作计划等),OOP,MVC,安全性和PL/SQL的公平知识.但从未见过一行java代码,是时候做某种伏都教"在21秒内学习XYZ"了.我们的目标是通过MVC编写一个完整而复杂的应用程序(我正在为一家全球公司工作),它具有许多不同的模式,还使用ORM,缓存和持久性.
这就是为什么我想知道哪些书要学习Java理论然后是Spring以及后来的Hibernate.那么练习和无休止的调试时间会给我更多的知识,就像我到目前为止学到的任何其他东西一样.
任何帮助(不是关于成为PHPer的笑话)都会非常感激.
总之,我想知道如何使用Java(JBoss?)Spring + Hibernate设计可扩展的Web应用程序
此外,我不想对最好/最差和差异的火焰,只有几个ISBN#或链接指出我正确的学习方向...我有时间,我只是没有任何知识从哪儿开始.
TIA!
编辑:
好的,首先要感谢答案.其次我觉得我不清楚,我不想在21秒内学习(这只是那些"在21天内学习XYZ"的参考资料),我知道这是一个长篇大论的过程.我在1998年用basic和pascal开始编程,然后我学习了C++,然后从2003年开始使用HTML/Javascript和PHP,我只用PHP编写.这就是为什么我想继续使用1.5/2年的Java,而Spring和Hibernate是常态,所以我在想:
1)尝试XXXX以了解如何正确设置YYYY以开始运行Java 2)阅读AAAA,BBBB,CCCC以包含Java 3)XXXX,YYYY和ZZZZ适合春天4)也许AAAA,BBBB和CCCC可以帮助Hibernate
另外我知道我必须像你每天8..12小时的实践一样留在你的监视器前面,并且你将能够在视图中的一个对象中从抽象的数据库中拉出"n"lang中的"Hello world"从前端控制器使用几个扩展模型存储的内存模板.
还有一件事,我问这个因为我喜欢编程......它给了很多回报.我不是一个专业人士,我有幸赚到一些钱并与真正的专业人士合作,但他们嫉妒我,因为我是一个行政人员,在他的额外时间赚了几块钱.这就是为什么我要问这里而不是他们.
再次感谢.
我在visual studio 2008中成功构建了类似于以下代码的东西:
class OpDevconfigSession;
class DevconfigSession
{
...
private
friend class OpDevconfigSession;
};
Run Code Online (Sandbox Code Playgroud)
再次,这与视觉工作室相得益彰.但是,如果我尝试在g ++版本4.3.2下编译代码,我会收到一条错误消息,例如:
error: friend declaration does not name a class or function
Run Code Online (Sandbox Code Playgroud)
我知道标准一致性不是微软的强项,所以我想知道我写的代码是否以某种我尚不理解的方式打破了标准.有人有想法吗?
谢谢
我想知道如何根据某些模式改变某些单词和表达的风格.
我正在使用Tkinter.Text小部件,我不知道如何做这样的事情(文本编辑器中语法高亮的相同想法).我不确定即使这是用于此目的的正确小部件.
我有两个"日期"字段需要加入.
第一种是格式的正常日期时间 yyyy-mm-dd hh:mm:ss
第二个是红头步骤子格式的varchar(8) mmddyyyy
现在这变得很痛苦,因为没有简单的方法可以转换为相应的类型.有一种内置格式,yyyymmdd但与varchar格式不匹配.
我可以看到两条路径:
declare @normal_date as datetime;
declare @hated_date as varchar(8);
set @normal_date='1974-11-01 00:00:00.000'
set @hated_date='11011974'
--cast to date time with string splits
select @normal_date
where CONVERT(datetime, RIGHT(@hated_date,4)+LEFT(@hated_date,2)+SUBSTRING(@hated_date,3,2))=@normal_date
--convert normal date to ackward format
select @normal_date
where REPLACE(CONVERT(varchar(10),@normal_date,101), '/','')=@hated_date
Run Code Online (Sandbox Code Playgroud)
哪个更好?或者,还有更好的方法?
编辑以显示成本
--Operator cost (39%)
CONVERT(datetime, RIGHT(@hated_date,4)+LEFT(@hated_date,2)+SUBSTRING(@hated_date,3,2))=@normal_date
--Operator cost (57%)
REPLACE(CONVERT(varchar(10),@normal_date,101), '/','')=@hated_date
--Operator cost (46%)
cast(stuff(stuff(@hated_date, 3,0, '/'),6,0,'/') as datetime)=@normal_date
--Operator cost (47%)
RIGHT(@hated_date, 4) + LEFT(@hated_date, 4)=@normal_date
Run Code Online (Sandbox Code Playgroud) 我在看Delphi:Char和TCharArray数组"不兼容的类型"并开始尝试.我发现的很有趣.
procedure Clear(AArray: array of Integer);
var
I: Integer;
begin
for I := Low(AArray) to High(AArray) do
AArray[I] := 0;
end;
var
MyArray: array of Integer;
begin
Clear(MyArray);
end.
Run Code Online (Sandbox Code Playgroud)
这个简单的小例子展示了如何使用Open Array参数将动态数组传递给过程.它编译和运行完全符合预期.
procedure Clear(AArray: array of Char);
var
I: Integer;
begin
for I := Low(AArray) to High(AArray) do
AArray[I] := #0;
end;
var
MyArray: array of Char;
begin
Clear(MyArray);
end.
Run Code Online (Sandbox Code Playgroud)
这是几乎完全相同的代码唯一的区别是它使用的是数组Char而不是Integer.它不编译.相反,编译器吐出:
E2010 Incompatible types: 'Array' and 'Dynamic array'
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
在搜索了一段时间后,我发现了这个 QC报告.我正在运行Delphi 2009,它仍然在发生.
这个java代码的线程安全性有什么问题吗?线程1-10通过sample.add()添加数字,而线程11-20调用removeAndDouble()并将结果打印到stdout.我记得在我的脑海里有人说过,以同样的方式在removeAndDouble()中使用它来分配项目可能不是线程安全的.编译器可以优化指令,使它们不按顺序发生.这是这种情况吗?我的removeAndDouble()方法不安全吗?
从这个代码的并发角度来看还有什么问题吗?我试图用java(1.6向上)更好地理解并发性和内存模型.
import java.util.*;
import java.util.concurrent.*;
public class Sample {
private final List<Integer> list = new ArrayList<Integer>();
public void add(Integer o) {
synchronized (list) {
list.add(o);
list.notify();
}
}
public void waitUntilEmpty() {
synchronized (list) {
while (!list.isEmpty()) {
try {
list.wait(10000);
} catch (InterruptedException ex) { }
}
}
}
public void waitUntilNotEmpty() {
synchronized (list) {
while (list.isEmpty()) {
try {
list.wait(10000);
} catch (InterruptedException ex) { }
}
}
}
public Integer removeAndDouble() {
// item declared …Run Code Online (Sandbox Code Playgroud) 我有一些有很多领域的课;
public class CrowdedHouse
{
public int value1;
public float value2;
public Guid value3;
public string Value4;
// some more fields below
}
Run Code Online (Sandbox Code Playgroud)
我的类必须按以下格式(de)序列化为简单的Windows文本文件
NAME1=VALUE1
NAME2=VALUE2
Run Code Online (Sandbox Code Playgroud)
在.NET中最方便的方法是什么?这是一个文本文件,所有值必须先将其转换为字符串.假设我已经将所有数据转换为字符串.
更新一个选项是pinvoke WritePrivateProfileString/WritePrivateProfileString,但这些是使用我不需要使用的所需"[Section]"字段.
在C++中允许在头文件中使用简单构造函数/方法定义的想法是什么?我正在创建的一些类是组成另一个对象的简单数据对象,所以它们需要自己的构造函数和get/set方法.然而,这些通常是<3-4行,每个使用init列表的构造函数.这些课程只有.h才可以.
更新::如何在.c文件的单独目录中存储.h文件?
我刚刚从iPhone切换到Android,我正在寻找类似于iPhone SDK的地方,当一个类完成某个任务时,它会调用设置为委托的对象中的委托方法.
我不需要太多细节.我浏览了文档但没有找到任何内容(我得到的最接近的是"广播意图",看起来更像是iOS通知).
即使有人能指出我正确的文档,它也会很棒.
谢谢!