迎着炎炎夏日,我来到了北京理工大学软件科技创新创业基地进行暑期集训。暑假是旅游放松的好时间,可又是提升自己的好时机。大家来自五湖四海,一同来到北理工进行集训就是因为我们有共同的地方——有一颗磨练自己坚强的心。
从开营仪式时我们就被贯彻了“不怕苦,不怕累,团队协作,创新求精,软件 国”的“锅炉房”科技创新精神。领导和老师让同学们能够专心、全面的投入到基地的学习、科创活动当中给我们创造了良好的实验室条件和制定了严格的集训守则,目的就是为了让同学们学有所获。当然这次集训让我无论从态度到学习方法上精进了不少,受益匪浅。
每天集训从早上8:30开始至晚上22:30结束,除了午饭和晚饭的空余其他时间几乎都是泡在实验室,一星期只有周日下午半天提供休息。一天至少有10个小时的实训时间,如此高强度高负荷的类军事化管理在大多人眼里是吃不消的,然而当你真的融入那个一起奋斗;那种年轻人一起拼搏的环境当中,你会发现过度的那么自然,钻研学习是一件很美妙的事情。
软件科技创新创业基地暑期集训项目共分为八个实验室,(1)算法艺术学生创新实验室(2)数字艺术实验室(3)人机对弈及智能推演实验室(4)数据智能实验室(5)嵌入式应用创新实验室(6)信息对抗及安全防护创新实验室(7)移动政务学生创新实验室(8)机器智能实验室。学员可根据自己的专业方向和兴趣爱好选择加入到基地的8个学生创新实验室中,与北京理工大学的学生一起,参与基地组织开展的各项相关专业培训、创新项目实践、科技竞赛、集训文体活动、集训讲座交流活动等。
刚开始各个实验室负责人介绍实验室的情况,然后就像 志愿一样,根据自己的需求进行第一二三志愿的选择。我专业的方向是移动应用,而我对前端也很感兴趣,所以我选择的移动政务实验室。
第一次见面司空见惯的就是自我介绍。这里有北理工的土著,延安大学的学生还有通过集结的北京学院各路大学的学生们欢聚一堂。
July.11
一开始的方向是分组建立一个 站。虽然有过前端的一些基础,但是从无到有,直接设计一个个人 站,这个经历还是头一次。任务是完成主题确定,设计logo和 站名,收集素材。从定位上讲不容易,如何做到创作出个性鲜明主题统一的 站成了首要问题。
我们小组曾经考虑过做游戏、影视、博客、论坛……不停地推翻以前的意见重新讨论,最终把 站的定位到美食上。因为两个人都是吃货,所以希望凭借自己对美食给大家展示出我们的风格。主题确定了,logo的意见又不统一了。
由此可见,从根本建立一个 站是需要多方磨合,建立 站需要小组的团结一致,分工明确,才能有效率的开工。由此可见良苦用心。这是推荐自学的 站在线边学边做就能直接显示结果codecademy.com,学习技术重要的就是查找文档,还可以在MDN上找各种语言语法用法的文档。前端页面一定要考虑兼容性问题,使用caniuse看不同浏览器的兼容情况。
July.12
1、 添加图像 选择正确格式、大小,用像素衡量
2、 JPEG适合多种不同颜色 GIF或PNG是颜色较少或者大面积颜色相同时
3、 Img的alt、src
4、 Figure、figcaption
5、 表格结构、跨行、跨列、长表格
6、 各种表单
7、 注释、id、class
8、 Div、span
9、 Iframe内联框架
10、转义字符
11、加视频音频,由于带宽和用户体验上,尽量不加入视频和音频等大文件
紧接着就又是一轮头脑风暴,晚上进行静态页面的展示,没有了样式,每个组的展示效果都一般,但可以看得出大家都在认真,都在努着一把劲儿。
July.13
需要绘制 页设计线框图,描述静态设计规格,以前从来没有系统的设计一个 站,线框图可以更直观的把 站的结构抽象出来,所以好好自学了一下线框图。
主题:美食天下
主页
July.24
准备JDK的安装和环境变量配置方法为学习Java编程语言和后来的Android做准备,继续完善小组的 站。
July.25
Java
人手一本《Java编程思想》,让学习面向对象变得简单起来。给我留下深刻印象的是Java没有sizeof——除boolean以外,任何一种基本类型都可以通过类型转换变为其他基本类型。
RTTI(Run-Time Type Information)——通过运行类型信息程序能够使用基类的引用来检查这些引用所指的对象的实际派生类型。
July.26
Java
我们使用了Java实现了knn算法。
算法实现步骤:
(1)计算所有点距离未知点的欧式距离
(2)对所有点进行排序
(3)找到距离未知点最近的k个点
(4)计算这k个点所在分类出现的频率
(5)选择频率最大的分类即为未知点的分类
July.27
Android
1. 使用Android Studio
创建第一个app
2. 活动(Activity)
3. 常用控件(Widget)
? TextView 字体大小,颜色,位置,内容(静态,动态)
? Button(监听方法 OnClickListener() )
? EditText(获取输入内容)
? ImagView
4. 基本布局(Layout)
5. 学会使用Intent
July.28
Android
1. ListView 的简单用法。
getView()有convertView参数,用于将之前加载好的布局进行缓存,快速滚动提升性能
2. 定制 ListView 的界面。
3. ListView 的优化。
4. RecycleView 的基本用法。
5. 点击事件。
6. 自定义按钮及效果设计。
7. 文件存储。
8. SharedPreferences 存储。
从SharedPreferences 中读取数据,SharedPreferences对象中提供了一系列的get方法,用于对存储的数据进行读取,每种get方法都对应了SharedPreferences。Editor中的一种put方法。
9. 计算时误差处理。
10. 汉化方式。
July.29
Android
1. Litepal数据库采取对象关系映射模式(ORM),是开源的Android框架
给我印象很深的是升级数据库方便,不需要把之前的表drop掉,修改内容只需要版本 加1,数据不丢失
2. SQLite数据库,目前最常用的数据库类型,Android开发必需掌握的数据库类型
SQLite数据库可以直接调用SQLiteOpenHelper帮助类实现,有两个实例方法getReadableDatabase();和getWritableDatabase();,最后使用query()方法用于对数据进行查询。
July.30
经过了21天的集中训练,从前端到后端基本技术都已经面面俱到了,把这些技术应用的我们的 站上,成为我们的作品进行展示。最终我们小组在移动政务实验室获取了第二名的好成绩,我也获得优秀学员圆满完成了软件学院的软件科技创新创业基地暑期集训。
总结
开源的 区是你最好的成长的地方。
Flex(Flexible Box),”弹性布局”用来为盒状模型提供最大灵活性,容器默认存在“轴”,不需要浮动,生产环境常用。
HTML5,使用preload提速,canvas的性能会提升。
Ajax异步处理,jQuery浏览器上封装。
querySelector()方法返回文档中匹配制定CSS选择器的一个元素。
native前端发展很快,浏览器原生API够用,you don’t need jQuery。
由于React、Angular、Vue等框架流行,直接操作DOM不再是好的模式,JQuery使用场景大大减少。
React构建用户界面view、UI、DOM取代,组件化。
组件间抽象,可以根据ECMAScript6入门。
Arrow Functions——箭头函数。
Webpack是一个前端资源加载/打包工具。打包局语法。
Angular有一整套MVC,cors可以跨域。
Vue框架,model。node.js同样如此。
KOA——基于Node.js平台的下一代web开发框架。
JavaScript写服务器端,根据运行环境调整。
时间犹如白驹过隙,在基地的学习生活结束了,但是基地的“锅炉房”精神依然不断影响着我。HTML5、CSS3、JavaScript、MySQL、Php、Java、Android等技术由前端贯穿到后端,各个方面都有了不同的提升。从基地感受到的学习氛围是在学校不曾有的,这股学习劲头我也会带入以后的学习中,希望下次还有机会和基地的同学们一起coding!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!