第一周实训总结

时间:2022-10-09 16:56:33


  2019.7.20  17:35 

  又是一个人坐在偌大的实验室,记得上次这样说还是上一个冬天。这次和上次不一样的的地方在于,没有觉得凄凉。(现在这个时间点,算是青岛一年之中最热的一段时间)

  同学们下课后都匆匆的走了,他们去追寻“*”去了,确实持续一星期的强度,一开始确实有点受不了。

   七月十五号开始第一天实训,到今天,现在为止,一周过去了,明天是一个为期一天的小周末。同学们都抗了一个星期的炎热,不说民族英雄,也算是铁血战士了。

 

   # # 故事的开始  

   实训周如期而至...

    2019-07-15 是值得我们铭记的日子。因为在这一天,新的同学组成了新的团体,我们开始了企业化的管理,上班打卡,下边打卡,团队工作,等等...

    

第一周实训总结

                                                                                  ——我们即是一个团队,又是一个家庭。愿同舟共济,砥砺前行!

 

 # #  7 月 17 号

  新的团队成立,我们的企划部的刘导给们安排上了 “破冰之夜”的活动!一起进行“破冰行动”。

  

  游戏的惩罚就是自我介绍(有人自我介绍了好多次   ~羞羞)看看多开心的自我介绍,不仅自己卡心,旁边的人也都笑不拢嘴了!

   忘了介绍了,最高的就是我们的友军老师(此处省略一万个哈哈哈) 

   

第一周实训总结

 

  欢声笑语中,我们的破冰行动就开始了....

  看看大排面:

 

第一周实训总结

  再来看看我们的我给你揉揉肩的活动

 

第一周实训总结

 

  故事的高潮来到了解手环

 

第一周实训总结

 

  输了要受惩罚:我的脸蛋儿红彤彤

 

第一周实训总结

 

  All   in  all   我们是在欢声笑语中开始我们的实训生活的。

  By  the way :遇到你们是我的幸运!

  快乐的故事告一段落。

 

 # # 给大家来点干货

  来这里,大家都是为了学习而来的。学习可以被称为是干货。

  第一周的东西比较基础,速度也比较慢。大家都很努力。

  其实大家无非分为两种,学过和没有学过。

  第一种情况:对于学过的同学,希望大家可以放空自己,不妨重新再学一遍,但是更要注意细节问题,注意之前没有注意过的问题(程序员最值钱的地方就在于你比别人知道更多细节问题)。希望大家能明白,学过一遍不代表自己就一定是会的。也希望大家能够明白这一点,满招损谦受益。千万不要觉得自己学过了就多么厉害。此外,锻炼给别人讲解的能力,将自己知道的讲给自己的小组不知道的同学,能力强一点的就应该具备责任心,和团队意识。在给别人讲解的过程中,你会发现,你能讲出来的,真的不是自己理解的那样,你自己能明白,还能把别人讲明白,才算真的明白了。希望能够热心的帮助身边的人,不要觉得浪费时间,你给别人讲一遍,自己就复习一遍。

  第二种情况:基础不太好,甚至是零基础的同学。首先我要说一点,不要随意给自己定义为“渣渣”,如果连你自己都这样定义了,真的没有人能救你了。基础不好不是划水的理由,而是奋进的动力。闻道有先后,术业有专攻,如是而已。我可以这样告诉你们,我第一遍学的时候,学的比大家都差。但是我坚持了下来,我后来反复的学了好多遍。就好像是这样一个道理,你在操场上跑步,比没有比人跑的快,如果你因此而停下来了,可能就真的没有机会了。但是换个思维方式,别人跑的快又怎样,他跑的快也不能跑一百圈把。顶多跑10圈,你跑的慢又如何,无非就是花的时间比别人长一点。就看你怒不努力。乌龟能够胜了兔子,是因为乌龟没有轻易放弃自己。希望大家都可以加油。共勉。身边有很多比我强的人,每次我都是这样告诉自己不要放弃努力的。虽然努力不一定有用,但是我还是想试一试。

  到此结束,希望大家能有一个正确的认知,能给自己一个合理的定位。不要放弃自己,坚持下去。

  

  # # 总结一下这周的学习问题

  可能我的观点不一定正确,欢迎大家指正。

  第一个问题,就讲与学的问题:

  我发现有不少人学习过程中都是只在抄老师写的代码,老师稍微一改,就找不知道怎么改了。也不能说这样做不对,只能说不妥。 每个人都有自己的理解,我不能说大家的想法做法是错误的。但是在我看来,不太对。因为这样做下去,大家可能就真的什么都学不到了。老师在写的过程中,有不少人是跟不上的。现在有老师给我们抄代码,以后还有吗?去思考一下老师讲的知识点,思考一下这个知识点是什么,有什么用,能干什么。为什么这样写,自己怎么写。

 代码永远都抄不完的。一定要有自己理解和思考,去理一下思路。

  这样聊似乎有点湿,举个栗子把:就拿今天的JDBC内容来说把,虽然我知道以后这些东西很基础,以后真的写项目不会自己这样写,但是我还是通了一下思路,还是自己写了一遍。

  应该这样去理思路:首先想,为什么要用JDBC呢,就是为了连接数据库啊,为了我们能在程序中操作数据库。本来数据库和程序是独立的,我们可以单独的操作数据库,比方说 手动去执行 sql语句  select * from student;那么想要让我们程序自己去执行这个sql语句,最终在数据库中查询一个结果怎么做? JDBC都做了什么?

  我们是不是导入了一个数据库驱动的jar包?因为和数据库连接这个操作我们不会写,但是Mysql人家给我们提供,我们只需要用别人写的就可以实现数据库的操作。

  

第一周实训总结

 

  接下来我把 HBHelper代码贴出来,然后仔细讲解

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBHelper {
//全局变量 连接
public static Connection conn= null;
// 全局变量 PreparedStatement 的一个对象
public static PreparedStatement pstm = null;
/**
* 获取连接
* @return
* @throws ClassNotFoundException
* @throws SQLException
*/
public static Connection getConnetcion() throws ClassNotFoundException, SQLException {
// 我们用反射,加载了驱动
Class.forName("com.mysql.jdbc.Driver");
//获取了连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8", "root", "123456");
return conn;
}
/**
* 增加 修改 删除操作 都可以使用这个方法,但是需要自己传入 完整的 sql语句
* @param sql:插入语句
* @return
*/
public static int edit(String sql) {
int result = 0;
try {
conn = getConnetcion();
//执行sql语句
result = conn.prepareStatement(sql).executeUpdate();

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//返回结果
return result;

}
/**
* 查询操作
* @param sql
* @return
* @throws SQLException
*/
public static ResultSet select(String sql){
//结果集
ResultSet rs = null;
try {
conn =DBHelper.getConnetcion();
//这里给全局变量赋值,这里是一个对象
pstm = conn.prepareStatement(sql);
// pstm 前边已经说了,是 PreparedStatement 的一个对象
// PreparedStatement 这个类不是我们自己写的。
// 我们可以通过类的对象实例去操作类的方法
rs = pstm.executeQuery();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;

}
}

  

   里边的注释我已经写的很清楚了。 其实无非就是 创建连接,然后传一个sql语句,然后让程序自动去执行sql语句。

   接下来讲的内容,无非就是动态传查询条件,用占位符 ? 最后再给占位符赋值,然后最后将一个完整的sql语句给了数据库去执行。

   中间老师做了好多次抽取,目的是将共同的代码抽取出来,就像我抽取成DBHelper一样,我在别的类中想要操作数据库,那我只需要调用DBHelper的操作数据库的方法。 这一方面可以理解为解耦合,一方面可以理解为降低代码的冗余,大量的重复的代码称为是冗余。在《代码整洁之道》中把代码重复成为是坏味道,并且明确说了,可以再一再二,绝对不能再三再四。想想如果不抽取出来的话,是不是每写一个类都要自己去写数据库的操作,但是对数据库的操作都是相同的,代码就是相同的,只有sql语句不一样。所以我们就接受一个sql的参数,就解决了所有的问题了。

  

# # 最后给大家分享一些解决问题的思路

  大家辛辛苦苦的跟着老师敲完代码。一运行,发现一堆错误。于是头大了,惊了,然后到处问,为什么我写的代码和老师写的一样,老师能运行,我就不能运行。

  你自己先去理一下思路,这就是我上边提到的一味跟着老师敲是学不到东西的问题,跟着敲没错,但是请加入你自己的思考,否则你会很累,并且你会发现跟着跟着就跟不上了。

  出现问题别慌,自己去看看控制台报的错误,老师之前是讲过错误类型的,看看是不是自己熟悉的类型,自己去排错,要养成独自决绝问题的能力。 对于实在没见过的问题,将错误信息复制下来去百度一下看看,错误怎么来的,能自己解决自己决绝。最后解决不了了,问问老师,我相信你能问出来高质量的问题,老师很愿意帮你解答。至少在问之前,你进行了独立的思考。而不是自己敲完,一报错,立马喊老师,然后问,为什么我跟你敲的一样,你的不报错,我的就报错。 我不知道老师怎么想的,反正你这样问我,我是不想回答你的。

 

 # # 这次真的是最后了

  不耻下问:不会就问别人,别等别人问你会不会,你再告诉别人你不会,再让别人给你讲。别人可以教你,但不是义务。教的前提是建立在主动学的基础上的。

  三人行必有我师焉。虚心向别人学习,即使自己基础不错。还是那句话,闻道有先后,术业有专攻。

  满招损谦受益,到目前为止,我认识的厉害的朋友,没有一个是不虚心的。他们厉害,还虚心学习,所以最终变得更加厉害。

  共勉...

  

                                                                                                                                  ------------ 最后,感谢大家对我的信赖和支持。