达内云笔记项目总结_第1页
达内云笔记项目总结_第2页
达内云笔记项目总结_第3页
达内云笔记项目总结_第4页
达内云笔记项目总结_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 32 达内云笔记项目总结 达内云笔记需求文档 王森丰 1 产品背景 之前本身提供了简单的笔记功能,并且提供了简单的笔记分享,但是由于笔记内容随着时间的推移越来越多,但是老系统使用的架构趋于传统业务处理模型,这样导致系统没有办法应付如此大规模的笔记数据,并且笔记的分享能力有限,也无法做到笔记的随时随地可用于是在暂时拿掉了这个功能,但是学 员对线上记录笔记的需求仍然很强烈,对笔记的要求也远远超过了简单的笔记工具的实现能力,每天建议平台都可以看到学员提出达内开发笔记平台的建议,为了满足学员的要求,我们需要研发一款适合达内教学和学员使用方式的笔记产品。 2 产品简述 2 / 32 达内云笔记是在吸收了多年的运营数据,经过精确的大数据分析 指导需求模型的建立从而实现的,云笔记通过大数据分布式存储解决方案解决了笔记信息量膨胀的问题,并且通过分布式搜索引擎服务以及数据分析推荐平台的建立提升了用户搜索分享比较的能力,系统可以有针对性的提供用户其他人分享的笔记资源扩充自己的知识行囊,并且在分享之外通过每个人的配额管理实现了非分享笔记的安全私有化,保证了学员的私人空间。通过分布式解决方案用户空间被设计为无限大。业务端同时提供了 windows客户端,更加贴近学员的是用习惯,并且数据平台支持移动设备的接入,达到无处不学习,无处不笔记的效果。 3 技术关键词 web平台: nginx,keepalived+lvs,varnish,tomcat,springmvc,jquery,fckeditor,ibatis hadoop(hdfs,mapreduce),hbase,zookeeper,thrift,lucene,mysql,redis,mahout,kafka 客户端: .net(winform) 3 / 32 4 功能描述 笔记本功能 创建笔记本: 点击全部笔记本右侧的 “+” 号,会出现填写笔记本名字的对话框 填写笔记名字后,点击创建,笔记本创建成功 修改笔记本: 双击想要修改的笔记本,修改 “ 笔记本 ” 名字。 删除笔记本: 当 “ 笔记本 ” 下不存在笔记内容时,单击想要删除的笔记本,会出现 “X” 号。 点击 “X” 号,会提示是否删除笔记本,点击 “ 是 ” ,笔记本将不进入回收站,直接删除。 4 / 32 如 “ 笔记本 ” 下存在 “ 笔记 ” ,需要将笔记清空后方可删除“ 笔记本 ” 。 笔记功能 新建笔记: 点击相应笔记本,会在右侧显示该 “ 笔记本 ” 下的所有笔记,点击相应笔记右侧的 “+” 号,创建 “ 笔记名字 ” ,填写完毕,点击保存,笔记创建成功。 “ 新建 ” 或 “ 修改 ” 笔记内容: 点击对应的 “ 笔记 ” ,会在内容栏出现 “ 对应笔记 ” 的内容, “ 添加 ” 或 “ 修改 ” 笔记内容。 编辑结束,点击保存,笔记保存成功;不点击保存不予保存。 笔记分享: 点击相应笔记,会出现笔记状态,有 “ 分享按钮 ” 时为未公5 / 32 开的笔记。 JAVA初高级阶段笔记 Day0: 1. 异常与错误: 1. 异常是程序在执行过程中出现的中断正常指令执行的事件。 2. 错误是偏离可接受代码的一个动作或实例。 2. overload 和 overrid 的区别 1. Overload 方法重载:如果在一个类中 2. 它们有不同的参数或参数类型,则该方法称为方法的重载。 3. Override 方法重写:如果子类中定义某个方法与其父类有相同的名称和参数,则该方法被重写。 6 / 32 3. 常见异常 1. 2. 3. 4. 5. 6. 7. 空指针异常类: 数组下标越界异 : 类型强制转换异常 : 数学运算异常 : 操作数据库异常: 没有访问权限异常: 字符串转换为数字异常: 4. 静态变量和非静态变量的区别 1. 静态变量: 用关键字 static 修饰的成员变量称作静态7 / 32 变量或类变量,是与类相关联的数据变量,类变量不仅可以通过 某个对象访问也可以直接通过类名访问,静态变量被相关的对象共享。 2. 非静态变量:没有使用 static修饰的成员变量称作非静态变量 ;仅仅是和相应对象关联的变量,改变其中一个对象的实例变量不会影响其它对象的这个实例变量,且必须通过对象访问。 5. 静态方法和非静态方法有什么区别: 1. 静态方法中不用 this是无法引用除自己方法体中定义的成员和参数以外的非静态变量或者方法的。 2. 静态方法是不允许被子类重写的,但是子类可以重载父类的静态方法。 3. 子类也不可将父类中的非静态方法重写为静态方法。 6. final和 finally 和 finalize的区别 1. final-修饰符被声明为 final 的类,不能再派生出新的8 / 32 子类,不能作为父类被继承。被声明为 final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。final方法只能使用,不能重写。 2. finally-在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块。 3. finalize-方法名。 finalize() 方法在垃圾收集器将对象 从内存中清除出去之前做必要的清理工作。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 | | & & Day1: 7. JDK 版本: 8. java语言的特点: 9 / 32 9. java环境变量配置: 10. JDK安装目录介绍: 11. 第一个 java程序: 包名的命名规范: 12. 带包编译: 13. 练习: 开发一个 Java程序打印出下列信息 : 姓名 性别 年龄 毕业学校 户籍 14. import的注意事项: 15. java的注释: 16. 压缩命令: 10 / 32 17. java命令行参数: 18. main方法运行要点: Day2: 19. Java标示符: 20. 关键 字列表: 21. 转义字符 描述 22. java数据类型: 23. 补码:原码取反加 1 24. 练习: 25. 逻辑运算符: 达内培训总结 11 / 32 今年的 7 月初我和大多数达内学员一样,兴奋的进入了达内进行培训,开始了 C/C的培训学习,转眼间 4 个多月已经过了,也结束了我们培训课程。虽然 自己学的是软件技术专业,但自己在来达内之前也没有接触过 C 跟 C+,既然 走在了这条路上,我想我会一直走在这条路上,给自己的这四个月来说下几点: 1、端正自己学习的态度 在课程学习中如何端正自己的态度也是很重要的。在达内学习的过程中,每 门课的时间都是很紧的,每天很辛苦,我也想过自己到底自己要不要学 C/C+, 但是自己还是保持了下来,有一个良好的心态去接受新的东12 / 32 西,哪些是自己懂的, 哪些是自己不会的,自己还是要有一个计划,跟不上老师的讲课进度,也要试着 去赶上老师的进度,调整自己的学习方法。 2、编程当作兴趣 在学习之初感觉编程很枯燥,所以自己还是要培养出对编程的兴趣。一开始 其实多编程的兴趣也不是很大,只是慢慢习惯了枯燥,不是很感兴趣只要装着很 感兴趣,久而久之开始对编程有了兴趣,正所谓兴趣才是最后的老师。 3、多敲敲代码 程序员是代码敲出来。在达内,每天学的东西到很多而且新的理论知识也多, 13 / 32 然而那只是理论,和实际的应用还有很大差距,而这些差距只有在实际的代码编 写中我们才能体会出来。所以还是每天坚持多敲敲多练练。总之,每天要保证一 定量的代码,这样我们才会有真正水平上的提高。另外,在实际动手的过程中, 还要多留心编译器错误提示,也有助于我们对语言的学习和理解。 4、多坚持一下 学习 C/C毕竟是非常枯燥的一件事情,虽然我们可以培养自己的兴趣, 但是 4个月的时间毕竟很让人疲劳、很累,随着时间的推移,我们刚开始时的兴 奋劲也慢慢减退了,有什么感觉没什么希望,我们能做的就14 / 32 只有多坚持一下,忍 得住寂寞,才守得住阵地,保得住成果,。自己还是踏踏实实的坚持完成这 4 个月的学习,还一直在坚持。 其他的也没有什么要说的,一切多看自己的能力。 达内学习心得: Servlet 总结,系列笔记之九 参赛学员:常彦博 所获奖项:二等奖 内容 : 4 个月的坚持! 530 个小时的整理! 15 本笔记! 496 页的 A4纸! 22万 8千字的纯手打!全部完成! 说明: 15 / 32 1)此笔记为本人系列笔记之一: Java(1)、 Oracle(2)、PL/SQL(3) 、 JDBC(4) 、 XML(5) 、 HTML(6) 、 CSS(7) 、JavaScript(8) 、 Servlet(9) 、 JSP(10) 、 Ajax(11) 、jQuery(12)、 Struts2(13)、 Hibernate(14)、 Spring(15)? 2)笔记内容整理了: Servlet。 3)此笔记已打印出成品,一共 56 页!。排版格式大部分按照毕业论文做的!有目录、章节、页眉、页脚、缩进、一二三级标题等。同时排版格式也照顾到了双面打印,所以电子版可直接双面打印,不需要调格式。 因此,本人的系列笔记平均花费 20 个小时以上!每天的总结、排版很辛苦!之前有很多朋友拿到了我分享的笔记,因此还望各位尊重他人劳动成果。 4)评选系统由于不能上传 word版,所以格式、布局上不太好看,如文中的注意事项有特殊项目符号,这里显示的是字母 u 和字母 v,有的图片也不能显示!内容太长,老是提交失败!只能一点一点发! 5)各位加此 Q群: 227252731,后面的笔记会发到群共享里。 16 / 32 一、 Servlet概述 B/S架构 1)什么是 B/S架构 客户端使用浏览器,服务端使用 web浏览器,客户端跟服务器之间使用 HTTP协议进行通讯。 2)优点 客户端不需要单独安装; C/S 架构比较麻烦的是需要单独安装每个客户端,并且一旦客户端版本发生改变,就需要再次安装。 开发相对简单; C/S 架构需要我们分别在,客户端和服务器端编写相应的通信处理模块和自定义协议,而 B/S 架构使用标准的 HTTP 协议,而且浏览器与 Web 服务器已经包含了相应的通信模块了。 什么是 Servlet 17 / 32 Sun公司制订的一种用来扩展 Web 服务器功能的组件规范。 1)扩展 web 服务器功能 早期的 Web服务器: apache 的 web server、微软的 iis。只能够处理静态资源,不能够处理动态资源的请求。 为了让这些 web服务器能够处理动态资源的请求,需要扩展他们的功能。 早期使用的 是 CGI 技术,可以使用很多语言编写,如 perl,C/C+等来开发 CGI 程序。但是 CGI 程序有几个问题,比如开发比较复杂、性能不佳、 CGI程序依赖平台。 现在,可以使用 Servlet来扩展。 当浏览器将请求发送给 Web服务器, Web服务器会向 Servlet容器发送请求, Servlet 容器负责解析请求数据包。当然,也包括网络通讯相关的一些处理,然后将解析之后的数据交给 Servlet来处理。 18 / 32 u 注意事项:可以不使用服务器,而直接向 Servlet容器发送请求,因为 Servlet容器里面也有个通信模块,所以也可直接把 Servlet容器当作简单的 Web服务器来使用。 2)组件规范 组件:是符合一定规范,并且实现部分功能的可以单独部署的软件模块。组建必须要部署到容器里面才能运行。 容器:也是符合一定规范,并且提供组件的运行环境的程序。 u 注意事项:单个的组件、单个的容器都是没意义的,都不能单独运行,需要放在一起才能运行。 什么是 Tomcat Tomcat 本身是一个 Servlet容器,即可以提供 Servlet运行环境的一个程序,但是 Tomcat 还提供了 Web 服务器所具有的所有功能,所以我们也称 Tomcat 是一 个 Web 服务器。Tomcat 的默认端口是 8080。 19 / 32 1)安装 Tomcat Linux 系统下安装和配置的步骤 step1:解压到 /home/soft01 下 step2:配置环境变量 cd /home/soft01 vi .bash_profile JAVA_HOME:jdk 的主目录 CATALINA_HOME:tomcat 的主目录 PATH:CATALINA_HOME/bin step3:启动 Tomcat cd /home/soft01/tomcat 主目录 /bin 20 / 32 sh 或者 sh run 接下来,可以打开浏览器,输入 http:/localhost:8080,验证是否配置成功。 step4:关闭 Tomcat cd /home/soft01/tomcat 主目录 /bin sh Windows 系统下安装和配置的步骤 step1:解压到某个盘下 step2:配置环境变量 JAVA_HOME 必须配置 CATALINA_HOME 可以不配置 PATH可以不配置 21 / 32 “ 我的电脑 ” 右键 “ 属性 ” ,打开 “ 系统属性 ” 的 “ 高级 ”选项卡,找到 “ 环境变量。 新建 “ 用户变量 ” 。 新建 JAVA_HOME。 u 注意事项:新建系统变量或新建用户变量均可,建议新建用户变量。 新建 CATALINA_HOME 。 新建 PATH。 u 注意事项: v 如果环境变量中已经有 PATH,修改该 PATH即可,使用 “ ; ”分 号 作 分 隔 , 如 下 所 示 : PATH C:Program FilesJava_06bin ; D:bin v Windows 操作系统下以 “ ; ” 分号为分隔符; linux 系统22 / 32 下以 “ : ” 冒号为分隔符。 step3:启动 Tomcat 进入启动 Tomcat的 bin目录下,双击 “” 。 接下来,可以打开浏览器,输入 http:/localhost:8080,验证是否配置成功。 step4:关闭 Tomcat 进入启动 Tomcat的 bin目录下,双击 “” 。 2) Tomcat 目录结构简介 bin 目录:存放启动和关闭服务器的一些脚本。 common 目录:共享 (部署在该服务器上的所有程序都可以使用 )的一些 jar包。 conf 目录:存放服务器的一些配置文件。 webapps 目录:部署目录。 work 目录:服务器运行时,生成的一些临时文件。 23 / 32 如何写一个 Servlet step1:先写一个 Java 类,实现 Servlet 接口或者继承HttpServlet 抽象类。 public class HelloWorldServlet extends HttpServlet /Tomcat会自动调用 service,自己不用再去写方法调用了,所以必须把名字写对! public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException /异常必须写两个,不能写成 Exception,也不能再多个异常 /设置一个消息头 content-type,告诉浏览器返回的数据类型是一个 html 文档,以及编码格式。此外,还可以告诉服务器,在使用 out 输出时,使用指定的编码格式进行编码 (text/html;charset=utf-8); 24 / 32 /通过响应对象,获得一个输出流 PrintWriter out=(); /调用流的方法进行输出,其实质是 将处理结果写到了response对象上 (Hello World); /* ()不调用也可以,因为 Servlet 方法执行完毕,容器会自动调用方法 */ (); step2:执行编译操作: javac -d . 但是会报错,找不到某些类!其中 -d . 代表把编译后的文件放在当前文件夹下。 把 Tomcat安装目录中 common中 lib中的和刚编写类放一起。 25 / 32 再次编译: javac -cp -d . ,其中 -cp 表示告 诉 Java编译器去哪里找需要的 class 文件。 step3:打包,即创建一个具有如下结构的文件夹: appname | WEB-INF classes lib 将编译好的 .class 文件放入 classes 文件夹中。 文件内容: 26 / 32 xmlns=http:/xml/ns/j2ee xmlns:xsi=/xml/ns/j2ee http:/xml/ns/j2ee/web-app_2_ helloWorld helloWorld /hello step4:部署,将 step3 创建的文件夹拷贝到 Servlet 容器特定的文件夹下面。 27 / 32 u 注意事项:也可以将 step3创建的文件夹使用 jar 命令进行压缩,生成 .war 为后缀的文件,然后拷贝。 step5: 启动 Servlet 容器,访问 Servlet。 访问格式: http:/ip:port/appname/url-pattern 比 如 在 浏 览 器 地 址 栏 输 入 :http:/localhost:8080/web01/hello 使用 MyEclipse 开发 Servlet step1:配置 MyEclipse,使得 MyEclipse 能够管理 Tomcat。 1 ) 点 击 工 具 栏 上 的 “Run/Stop/Restart MyEclipse Servers” 图 标 旁 边 的 下 拉 箭 头 , 选 择 “Configure Server” 。 2 ) 在 弹 出 的 对 话 框 “Preferences” 中展开“MyEclipse” -“Servers” -“Tomcat” -“” u 注意事项:选择你目前电脑上 Tomcat 的版本,此处以 Tomcat5为例。 28 / 32 3)将 Tomat server 选项置为 “ Enable” 。 4)点击 “Tomcat home directory” 之后的 “Browse” 按钮,选择 Tomcat 主目录,确定,然后 “Tomcat base directory”和 “Tomcat temp directory” 自动生成,点击 “OK” 。 u 注意事项:两项可改可不改的: v Tomcat 下的 JDK-“Tomcat JDK name” 是自己已安装的JDK。 v 建议 Tomcat 下的 Launch-“Tomcat launch mode” 设置为 Run model,默认为 Debug mode 而该模式在有些时候会显示不正常。 5 ) 回 到 工 具 栏 上 的 “Run/Stop/Restart MyEclipse Servers” 图标旁边的下拉箭头,选择 Tomcat ,点击 “Start” 。 6)当在控制台显示 “Server startup in XXX ms“ ,则 Tomcat启动成功。 29 / 32 u 注意事项:如果出现 “Address already in use :JVM_Bind” 异常,则说明已经启动了一个 Tomcat。解决办法:运行 shutdown 命令,关闭之前开启的 Tomcat。 step2:建立一个 Web Project,填写 “Project name” , JDK最好选,其他选项默认,点击 “Finish” 。 step3:编写 Java 类和文件。 step4:部署项目到 Tomcat服务器。 1)点击工具栏 “Deploy MyEclipse J2EE Project to Server” 按钮。 2)弹出对话框 “Project Deployments” ,点击 “Add” 按钮。 3)弹出 “New Deployment” 对话框,选择 “Tomcat ” ,点击 “Finish” ,最后点击 OK。 u 注意事项:在对话框“Pro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论