作者achaos (热~~~~)
看板Soft_Job
标题Re: [请益]对於如何增进自己觉得一片茫然
时间Sun Mar 26 23:51:40 2017
学习一项新技术,通常是找一个项目来做,这样是最快的,但是通常很难找到适合的项目
以我看过的书,用一个项目来教学,且前後连贯的,就是 "跟Adobe彻底研究Flex4.5"
真是很佩服作者可以写的浅显易懂,而且自然而然的就会跟着实作。
一般网路上会建议去github找一个有兴趣的,但是通常github上面的项目都已经发展一段
时间
光是要切入就需要花上一段时间,通常这时候就会放弃了,我目前也没有找到适合的初学者
项目。
我有尝试过将下列书籍描述的系统,用spirng实作
"线上运动博弈网站程式设计"
"Struts 2权威指南"
但是实际上还是不够快,最建议的方式就是直接买对岸的视频,保证学的又快又好。
打这篇文章还找到当年给我灵感去买视频的文章!!
https://www.javaworld.com.tw/jute/post/view?bid=22&id=230926
所以会建议你去买对岸视频,你可以自行考虑看看。
下面大概是我工作这几年,有看过或学习过的东西,希望对你有帮助。
1. Spring、SpringMvc、Hibernate 3个框架
- 这3个框架是目前Java使用率最高的框架,先学习这个就对了,这边完全不推荐自学,
直接去找看看或买看看有没有对岸进行IT培训的视频,
人家老师帮你整理好,手把手的教,有时还会说明一些实作原理
,看一个视频真的比你看几本书都来得有用,
而且老师通常只会教最泛用的做法,
你如果看官方文件或是书籍,光是DB设定就有好几种方式,你头就晕了.
- 如果要自学,也不要从头看到尾,有些东西其实用不到,下述是我的心得
- Spring : AOP章节不太需要看,其它大概都需要了解,
另外千万不要使用Spring boot,Spring boot藏了太多东西
,是给老手或是想快速建立环境的人使用的。
- Spring MVC : 会设定Controoler,然後传参数进来、回传参数给Client
,大概就足够了.
- Hibernate : 这个比较麻烦,因为我看视频,觉得学得蛮快的,通常就宣告Entity,
然後可以做CRUD动作就可以了,我曾经尝试看过书,很多东西用文字解释
,要看好几次才会会理解。
- 另外推荐几本书,我当初看得当然都过时了,
不过可以找看看是不是有後续版本或是类似的书籍
- Spring 2.0 技术手册
- Spring 已经发展到4啦 QQ ,但是这部书简单易懂,是我的第一本入门书
- Spring Recipes: A Problem-Solution Approach
- 2010年的书,这本书在每个章节都使用大量例子来说明
,缺点是书中程式码没有很详细,需要一直搭配程式码来看,
Amazon 4颗星评价。
- Pro Spring MVC: With Web Flow
- 2012年的书,有点难,好处是会讲到较为底层的东西,
不然我一直搞不懂Spring mvc那一堆设定。
- 精通Spring 4.x :企业应用开发实战
- 这本我没看过,但是我认为不错。
- 这边的结论就是,去买视频吧,真的快很多!!!!!
2. 测试框架 Junit
- 学习一个测试框架,这边强烈建议搭配书本学习,
我看的是Junit in action 第二版。
搭配书本学习主要是学习作者观念,例如如果你的程式很难测试,代表写法有问题
,另外书中也教了许多测试案例写法,会让你的程式往 "好味道" 程式码的方向前进。
- 暂时跳过mock技术,除非你有时间或是会使用到,mock技术对我来说没有帮助
,如果真的有需要,之後再去学,一开始了解一下mock机制就可以了。
3. 了解Servlet
- Java框架封装太多东西了,有些基本与底层的东西反而越来越少说明,
这边建议可以看一下,"深入浅出Servlets与JSP",我回头来看这部书时,觉得获益良多。
JSP相关技术就瞄一下就好,过时了 T T .
4. 设计模式
- 一定要看一下设计模式,学习设计模式的用意,是让你更了解物件导向设计,
以及那些程式码可以拆分出来,你会更清楚介面、继承、
以及static method如何使用。
刚开始学习,可以什麽程式码都套设计模式,後续应该要自行判断如何撰写程式码。
- 这边唯一推荐看 "设计模式之禅" , 非常浅显易懂,不过这本书在 "装饰模式" 写的
不好,可以另外参考 "王者归来:品味Java的21种设计模式" .
5. Java多执行绪
- 因为多执行绪实际上用不到很难的部分,通常不需要另外看书,但是如果有需要的话,
推荐 "Java 7 Concurrency Cookbook" 真是非常容易理解,
千万不要一开始就看 "Java Concurrence in practice",这本书很多人推荐
,但是真的太难了,讲了一堆东西,但是都用不到.
6. Git版本控制
- Git很红,所以我认为应该要学,不过如果你的公司没有用git,那学习的效率其实不好
,因为一个人用不会有什麽大冲突,也就一些技术都不会用到。
- 如果要学git,这边只推荐看 "Git权威指南", 其它的书跟它比起来跟小废废没什麽
两样。
7. Scrum
- 了解一下Scrum吧,这边推荐 "轻松Scrum之旅"
,类似一本故事书,毕竟这种专案管理取决於公司文化,能快速了解一下即可。
8. Maven
- Maven跟gradle我都有使用过,个人开发的话,gradle我觉得不好用,学习曲线比较高
,而且在eclipse支援不佳,而Maven较容易学习,
不过缺点在eclipse有时会因为同步问题,导致jar档一直找不到。
我是觉得个人开发就是用maven吧,除非你们整个导入devops架构。
- 书籍推荐 "Maven实战" , 保证你很快就会学会并使用。
9. 其它相关书籍
- 重构:改善既有程式的设计
- 非常好的书籍,我采取的策略是快速瞄一次,然後看一下可能会用到的部分,
这本书我没有真的看完,只有了解重构的理念以及一些重构技术。
- 这边要特别说明,不用去看其它讲重构的书,
不会比较好也不会比较快,看这本就对了。
- Kent back的实作模式
- 买来(2013)还没有时间看,但是快速翻一下,非常好的书。
- 无瑕的程式码:敏捷软体开发技巧守则
- 买来没时间看.....QQ
- 编程创艺 编写出卓越的程式码
- 买来没时间看.....QQ
- Java 效能优化指南
- 买来没时间看.....QQ
- 分布式Java应用
- 感觉没什麽用,讲一些分布式的东西。
- 大规模web服务开发技术
- 还不错,说明一个系统怎麽因为使用人数成长,而更改系统架构。
不过看完有点惆怅,我们家的系统没有那麽多人使用啊 ><. 所以用不太上。
所以其实是很多东西可以学的,好好加油啦!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.168.149.219
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1490543503.A.C63.html
※ 编辑: achaos (118.168.149.219), 03/26/2017 23:52:48
1F:推 abccbaandy: 看到spring那段就笑了,网路上还有文章在抱怨spring 03/27 00:07
2F:→ abccbaandy: 设定太复杂 03/27 00:07
3F:→ mythnc: 跟你相反,觉得maven难用,gradle好用。 03/27 00:38
4F:推 Eric0605: 推 03/27 00:44
5F:→ yotsuba1022: 我觉得AOP其实很重要,因为这技术弥补了一部分OOP无 03/27 01:01
6F:→ yotsuba1022: 法轻易搞定的领域,而且说千万不要Spring boot其实 03/27 01:01
7F:→ yotsuba1022: 也有点言重了,因为Spring boot一定程度上是要让Jav 03/27 01:01
8F:→ yotsuba1022: a developer可以更好的在专案中享受到Spring的好以 03/27 01:01
9F:→ yotsuba1022: 及让专案更乾净。一方面也是表示你真的有驾驭Spring 03/27 01:01
10F:→ yotsuba1022: 的基本功力了,所以还有余力的话,应该试着把这些部 03/27 01:01
11F:→ yotsuba1022: 分列入增加自己能力的计划里。 03/27 01:01
12F:推 swallowcc: 如果知道自己在干嘛,用spring boot是还不错,如果初学, 03/27 01:44
13F:→ swallowcc: 还是会比较建议先把 "为什麽要这麽做" 这件事搞懂先 03/27 01:44
14F:→ yyc1217: spring boot是给已经知道spring是什麽的developer用的 03/27 09:06
15F:推 yfr: 初学者还是别用SPRING BOOT,因为还是要自己苦过建置跟设定 03/27 09:16
16F:→ yfr: 之後使用他才会知道他可能藏了什麽东西,或是为什麽这样做 03/27 09:16
17F:推 akervcc: +1 aop很重要 千万别跳过 其他讲的都不错 03/27 17:13
18F:推 pig0038: 推推 03/28 08:25
19F:推 wildli0422: 推分享 03/28 20:41
20F:→ viper9709: 感谢分享~ 03/28 23:22
21F:推 dinson520: push 11/07 10:25