20155328 2016-2017-2 《Java程序设计》第十周学习总结

教材学习内容总结

JAVA和ANDROID开发学习指南 第22章

  • 网络概览

    • 两台计算机用于通信的语言叫做“协议”。我们只需关心应用层中的协议,而不必关心其他层的协议。Java中提供了类来封装应用层协议,使你无需了解协议就能向协议的服务器发送信息。

    • 网络使用一种地址系统来区分计算机,每台计算机都分配了一个唯一的IP地址。

  • 超文本传输协议(HTTP):允许Web服务器和浏览器之间通过互联网发送和接受数据的协议。

    • 一次HTTP请求包含三个部分:

      • 方法——统一资源标识符——协议/版本

      • 请求头

      • 请求实体

    • HTTP响应包含三个部分:

      • 协议-状态码-说明

      • 响应头

      • 响应实体:响应自身的HTML内容。

  • java.net.URL

    • 可以使用URL类的OpenStream方法来读取一个Web资源。
  • java.net.URLConnection

    • 要获取URLConnection的实例,不能用new构造,需在一个URL对象上调用openConnection方法。
  • java.net.Socket

    • 一旦成功创建了Socket类的一个实例,就可以使用它发送或接收字节流。

JAVA与密码学

  • Java安全体系结构总共分为四个部分:JCA,JCE,JSSE,JAAS.

教材学习中的问题和解决过程

  • 问题1:HttpServer类的await方法用途何在?和wait的区别是什么?
  • 问题1解决方案:查询API帮助文档知:

易知wait方法在多线程编程中经常使用,且应始终在循环中使用。

  • 问题2:parse方法和parseUri的关系是什么?
  • 问题2解决方案:parse方法用于解析HTTP请求中的元数据,唯一需要的信息就是HTTP的URI。parse方法通过调用私有方法来获得该信息。
  • ...

代码调试中的问题和解决过程

本周代码暂时未遇到问题。

代码托管

上周考试错题总结

starUML类图出了错,因为没有卷子,记不起答案。。

结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)

    • 一周提交次数少于20次的不加分
  6. 其他加分:

    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:

    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况

    • 20155325

    • 结对照片

    • 结对学习内容

      • JAVA和ANDROID开发学习指南 第22章
      • JAVA与密码学
  • 上周博客互评情况(只要链接,具体点评放相应博客下)

其他(感悟、思考等,可选)

第九周结束后Java课本上的学习已经结束了,也就是说基础知识已经学得差不多,算是被领进门了。这个学期接下来的时间里,实践更重于知识的学习,希望自己能和结对伙伴一起好好努力。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 8/8 1/1 20/20
第二周 164/172 1/2 25/45
第三周 248/420 1/3 25/70
第四周 465/885 1/4 25/95
第五周 390/1275 1/5 15/110
第六周 626/1901 1/6 24/134
第七周 269/2170 2/8 20/154
第八周 608/2778 1/9 20/174
第九周 682/3460 2/11 20/194
第十周 489/3949 1/12 15/209

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:15小时

  • 实际学习时间:15小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料