
今年春天,我们在Technostream频道上发布了
Java课程的录音。 作为Mail.Ru集团与莫斯科国立大学共同实施的
Technosphere教育项目的一部分,他连续几个学期都在阅读。 罗蒙诺索夫 该课程包括Java领域的新手开发人员所需的所有主题。 作者没有深入探讨语法的细节,而是立即着手实际的任务:开发具有控制台界面和功能聊天的游戏。 在课程的最后,我们将通过访谈来讨论Java和Java初级和中级开发人员的常见问题。
讲义和
课程资料免费提供给所有人。
大多数作业可以在课程资料库中完成并检查。
为谁
假定学生没有遇到Java,但是熟悉任何现代编程语言(JS / Python / C#/ C / C ++)和OOP的基础知识。
持续时间
该课程包括3个部分,包括13个讲座和1个黑客马拉松。 讲座时间为1-2小时。
课程内容
第1部分。Java开发简介
讲座1. Java简介1在第一堂课中,您将很快熟悉该语言的语法并了解HelloWorld。 该课程围绕Github构建,因此在第一课中,您将学习如何使用Git,如何使用gradle构建项目以及如何在Github上发出拉取请求。
讲座2. Java简介2熟悉语言对象模型。
讲座3.泛型和集合熟悉集合和异常。
DZ根据三堂课的结果,您将收到任务:开发带有控制台界面的小游戏(牛和牛)。 那些在Youtube上学习课程的人,建议您一定要完成此任务,以便在实践中处理这些材料。 用手做的不是YouTube上要观看的视频;)
第2部分。Web服务
Java是在大型Web应用程序领域中占主导地位的一种工业语言。 在第二部分中,您将学习如何制作Web服务。
讲座4. Web基础您将学习HTTP的工作原理以及如何从Curl和Java发出HTTP请求。
讲座5. Spring,线程,注释介绍流行的Spring框架,该框架简化了Web应用程序的开发。
为了让学生练习与Spring一起工作,在第五次讲座后将举行一次小组黑客马拉松。 在有限的时间内,您需要开发一个聊天并使之尽可能正常。 如果您在YouTube上观看课程,则可以自己聊天并进行实验。
讲座6-7。 Java + DB,休眠您将学习如何使用数据库。 在全日制课程中,我们在AWS上培养了学生数据库。 那些在线上课程的人,我们建议在本地或使用内存数据库(H2)来建立数据库。
第3部分。游戏
您将收到开发Bomberman客户-服务器游戏的任务。 基于
Matt Scala项目创建的JS游戏客户端位于
单独的存储库中 。
游戏服务交互的正式描述可以在
这里找到,但是这里是一个
直观的图表 。
讲座8.全双工WebSocket协议对于客户端和服务器之间的通信,多人游戏比HTTP要好得多,全双工WebSocket协议是合适的。 您将学习如何使用它,以及如何重新建立基于WebSocket上基于HTTP的聊天记录。 不幸的是,没有关于YouTube的讲座视频,但是所有材料都可以在Github上找到。
讲座9.游戏架构您将了解游戏的结构以及服务交互的机制。
第4部分。高级主题
在这一部分中,我们分析了传统上被认为是高级的两个主题,但是任何Java开发人员都应该具有这些主题的基本知识。
讲座10-11。 游戏线程,实用并发第10课以示例方式说明了多线程开发的危险,并在第11课中说明了解决这些问题的方法。 注意
游戏服务的
流模型 。
讲座12.垃圾收集您将学习堆的工作方式以及垃圾回收的工作方式。 同时,使用有关数据结构的知识来评估对象的布局。
讲座13.面试题本课程的最后一堂课专门分析Java访谈(初中级开发人员)中最受欢迎的问题。
一般课程信息
所有课程资料:
https :
//github.com/rybalkinsd/atom炸弹人游戏客户端:
https :
//github.com/rybalkinsd/atom-bomberman-frontendTelegram中的课程频道 -在这里您可以获得与课程相关的所有问题的答案。
请注意,在一些讲座的末尾有对作业的描述,在讲座代码中有测试。 向讲课线程发出请求请求。 如果travis测试为绿色,则说明您已正确完成任务。
不选参加在线课程的DZ学生。 不过,您可以自由地向项目发出请求请求,并查看travis测试是否成功通过。 此外,您可以在聊天中询问有关课程的任何问题。 作者真的很感谢您的反馈,尤其是以请求的形式提出建议和更正。
作者
阿里巴巴高级工程师Alexander Pomosov
阿里巴巴首席工程师Sergey Rybalkin回想一下:我们的教育频道
Technostream上的所有人均可使用该课程。 您可以与其他参与者
聊天 ,并在课程播放列表下的评论中向老师提问,并
在Telegram中聊天 。
编程是工程学,比其他工程学领域更容易接受实验。 进行您的项目并进行试验,您不仅会获得经验,而且会感到很多乐趣!