天天看点

编程开发工作日记_廖万忠_2016_2017Java开发工作日记工作日志(政通科技)辞职(政通科技)工作日志(谷沃科技)年假工作日志(谷沃科技)

Java开发工作日记

作者:廖万忠

2016-9-25

1.枚举enumeration 数据类型的本质是常量数据类型值的数组Array集合。

a)所有的数据结构都是基于数组设计而成的。

b)一个常量值,我们可以称之为常量数值,多个常量数值的集合就是枚举enum类型。

c)枚举数据类型的数据data数据结构是key-value组成的数据结构,其中的value为默认的数据类型基础数据类型整形值int。

d)枚举数据类型为复杂数据类型。

2.在程序编码的过程中的代码code的可读性readable对程序员的开发效率的会有很大的提高。

3.在C++中指针类型数据其实就是复杂类型数据,表示方式就是在基本数据类型+*操作符。

a)指针Pointer是复杂数据类型对象的引用标志地址。

b)在C++中

i.* variable : 为解析数据对象地址值value操作符。

ii.“Type * ”: 表示复杂数据对象的地址引用操作符。

iii.“&”: 为复杂数据对象的取值操作符,返回引用对象的存储目标地址。

c)在Java中:

i.复杂数据对象的引用封装了指针操作符*和引用取址操作符&的存在,增加了程序设计语言的易用性,提高了代码的可读性和程序员的开发效率。

d)操作符虽然十分简洁,但是太过于抽象。对于一个操作符,我们可以有很多的理解意义,同时操作符的可读性比自然语言(现在存在的程序设计自然语言是英语English)的可读性要差。

i.在程序中,我们要尽量地缩小和避免不确定性因素的存在,从而可以不断地减小代码bug存在的可能性。

e)复杂数据类型数据data是基本数据类型数据的复合。

i.复杂数据类型也可以称之为类Class或者结构体Struct。

ii.基本数据类型数据为byte/boolean short/char int/float long/double。

2016-11-7

1.学习编程的时候我们要时时刻刻的思考学习他人的编程经验的同时,想一想why & how , 就是对于同一个问题如果让你来做,你会怎么做。

2.学无止境,生无所息。

3.在构建系统的时候,入库数据的操作都是要重定向到某一个页面,出库数据使用转发到某一个页面。

a)入库数据指的是:

i.Add

ii.Delete

iii.Update

b)出库数据指的是:

i.Query/find.

ii.List

c)使用重定向的目的就是为了防止页面刷新的时候重复提交需要入库的数据。

4.耦合度指的就是通信接口()解耦的参数多少,接口()中的形式参数越少说明api接口的耦合度越低。

a)低耦合度接口就是空形式参数的API接口。

2016-12-9

1.Java对底层的开发类库进行了很大的简化,提高了程序员的开发效率,从而程序员可以专注于实体对象Object的业务逻辑而不语用更多的考虑代码细节,减轻了程序员的工作压力,提高了程序员的开发效率。

2.没有同步的接口Interface都是现成不安全的,但是从另外一个反面来说,该类操作数据的效率比线程安全的类要高。

3.C/C++等底层程序设计语言的主要任务就是为了封装底层复杂的算法和数据结构,提供给高级程序设计语言比如C#,Java调用的API。

a)封装是为了简化,为了提高程序员的开发工作效率。

4.程序接口的参数能少则尽量减少,提高代码的简洁性,也是解耦。

5.学习任何东西都得往底层看,只有了解底层的设计原理,我们才能更高的在高层进行工作构建自己高效的架构。

a)越是基础的东西含金量越高。

6.对数据库的操作当中查询操作是使用频率最高Java封装了很多的操作符,比如指针,使得该程序设计语言的可读性和可理解性都得到的操作。

a)我们时时刻刻都要用到数据的查询。

b)数据库的数据入库和出库的过程就是信息采集和信息获取的过程。

2016-12-10

1.计算机编程的任何业务逻辑都是涉及数据库里的一张表或者是几张表的数据操作。

a)项目开发就是一个实体设计的过程,java po对象所对应的及时数据库里的表结构。

b)项目开发的过程就是从无到有的一个过程,其实就是一个一对多的数据建模模型。

2016-12-12

1.编程的过程就是使用有限的字符描述无限的思想。

2.《代码整洁之道》

a)细节中自有天地,整洁成就卓越代码。

b)软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。

c)代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。

d)小处诚实非小事。

e)相对于任何宏伟愿景,对细节的关注甚至是更为关键的专业性基础。

f)懂思考、会感受的编码人,他们由产品备忘或用户故事开始创造产品。

g)20世纪中期著名的建筑大师,秉承“少即是多”的建筑设计哲学,缔造了玻璃幕墙等现代建筑结构。

h)即便是在汽车工业里,大量工作也并不在于生产而在于维护--或避免维护。对于软件而言,百分之八十的工作量集中在我们美其名曰“维护”的事情上,其实就是修修补补。

i)良好的软件实践遵循这些规程,专注、镇定和思考。 --Uncle Bob

j)物皆有其位,而后物尽归其位(A place for everything, and everything in its place)。每段代码都该在你希望它所在的地方--如果不在哪里,就需要重构了。

k)对于代码,应无情地做重构。

l)写出可读的代码,重要程度不亚于写出可执行的代码。

m)也许我们该把重构周期从以年计缩短到以周、天甚至以小时计。那便是细节所在了。

n)细节中自有天地,而在生活中应用此类手段时也有微言大义,就像我们一成不变地对那些源自日本的做法寄予厚望一般。

2016-12-14

1.Java使用的广, C/C++是使用的深, 这正好形成了一个“T”字形的学习结构。

a)Java程序设计语言易用性更强,生产效率更好,有大量的开发框架。

b)C/C++是操作系统使用的底层程序设计语言,所有的底层类库都是使用该语言提供的API,是因为该语言的运行效率相当的高。

c)在前端支持Java Script的浏览器相当多,没有平台依赖性。

2.计算机数据的传输过程是基于事件event 完成数据的请求响应,从而形成用户client的数据data体验过程。

a)计算机操作系统的事件

i.单击click

ii.双击doubleclick

iii.Keyup

iv.Keydown

v.鼠标移入onmouseover

vi.鼠标移除onmouseout

b)计算机的PC端或者是移动端完成对数据data 的获取和采集过程。

3.分层是为了解耦,依赖是为了通信。

4.组合接口,继承属性。

a)继承是为了复用共享数据,而组合接口(重构)是为了简化代码,提高代码的简洁性。

b)分类检索,空间复用。

c)接口使用虚拟内存,而对象的属性是要在堆heap和栈stack中分配内存空间,所有的目的都是为了在计算机有限的资源条件下无限地提高文件的存取效率。

5.计算机数据的最终表现形式都是以文件File的各种格式进行数据的磁盘持久化操作。

a)文件的后缀扩展名就是对数据文件的一种分类操作。

b)对文件的分类可以提高我们无论是人还是计算机寻找文件File的效率。

6.计算机编程就是内存寻址操作,编程的过程中所有的代码最终都是在主线程中进行载入运行。

2016-12-15

1.面向过程变成是以函数为单元的变成过程,而面向对象编程的过程是基于类class单元的变成过程。

a)函数式编程为上层调用层提供了API接口。

b)基于类的编程可以使用类对业务逻辑进行数据建模的一个数据抽象的过程。

c)函数式编程面向的底层的处理算法。

d)面向对象编程面向的是现实世界的需求业务逻辑。

2.跳转goto和递归recurve是计算机进行内存寻址的方式,但是goto使用多了会破会代码的可读性,所以我们经常是使用简洁的for循环或者是有判断终止条件的while循环完成数据的遍历寻址操作。

a)内存跳转的过程包括

i.Goto

ii.Return

iii.Break

iv.Continue

3.在C语言中的数组为基础的数据类型,该数据结构是在堆中进行内存分配,在栈中保存数组的引用地址。

a)因为栈的内存空间有限,比堆内存小,但是数据的存取I/O效率较高,所以习惯把大量的数据在堆内存进行存取操作,在栈内存只是保存堆内存中引用数据对象的地址。

2016-12-16

1.数组是计算机内存的基本数据存储结构,标志每一个数组元素在数组内存中的地址位移offset是从0开始的,这个和我们对一般的数据列位置从1开始的认知习惯是不一样的,这就是计算机和人的认知习惯的最大不同。

a)因为指针位移量从0开始决定了计算机内存的地址标志位以0进行数组中第一个元素的标志方式,例如*(p+0)。

2.二分查找算法是十分优秀的海量数据查找算法,数据查找效率为O(logn)。

2016-12-17

1.计算机中标识数据通过地址pointer的唯一性进行寻址操作的,就像是数据库里的数据记录的唯一性ID一样,从而进行数据定位。

2.在计算机中的数据表示方式是以二进制位完成的,人们习惯把每8个二进制位bit定义为字节单元byte,所以在计算机中的所有数据类型都是使用字节数量来表示。

3.在面向对象的类当中,我们使用类对数据对象的属性进行封装,并且限制其作用域为私有,使用接口访问器子程序进行对类内数据的操作存取。

a)利用计算机有限的资源限制数据为最小作用域。

4.在C ++中一般使用指针代替对数组和对象进行定义。

a)指针效率和灵活性很高,但是损失了代码的可读性,增加了程序员的学习难度。

2017-1-1

1.计算机编程中的代码结构都可以归结为key-value结构的模式,其中的key就是对象数据在内存中的引用地址,value就是数据值。 数据在存中的拷贝形式都是以值引用的拷贝形式,这样是为了提高数据的拷贝传输效率。

2.编程到最后归根到底是表实体属性的设计和数据库表的操作。

2017-1-4

1.Session等域对象其实都是Map型的数据结构,我们可以把sessionMap看做为服务器端的数据库用于存取数据,这些数据是放在动态内存中的,持久化之后就是以文件的形式存放于电脑磁盘文件当中。

a)计算机加载数据的过程就是把存放于磁盘文件的数据加载load到动态的内存当中,经过计算机CPU的数据处理过程之后持久化数据到磁盘文件的过程就是数据的固化操作。

b)计算机内存中的数据持久化于磁盘文件当中之后可以永久保存。

2.使用最少字符的表现更多的功能数据,但是同时给代码增加了不少的抽象性。

3.数据库的查询操作使用的最多。

2017-1-6

1.函数式编程就是把所有的关键字还是符号关键字都看做为function, 我们也可以把function看做和类class一样的数据模型,只不过函数模型是在不会在内存中占有存储内存,他们使用的虚拟(不存在的)内存,不像类实例要在计算机内存中占有一席之地。

2017-1-7

1.实体与实体之间的关系主要就是要清楚它们之间主动和从动的关系,主动方一般就是主表,从动方一般就是从表。主表和从表之间的关系就是一对多的关联关系。

2.Java程序设计语言在可读性和易用性方面的设计上用了很多的努力,方便程序员集中精力于项目业务逻辑,而不用过多关注于程序的代码细节。

3.树形数据结构是很常见的数据表示方式,也是对象树丛一到多的表现形式。

a)可以用递归实现对象树的遍历操作。

b)对象树的存储方式是在底层以线性链表的形式进行构造存储的。

2017-1-8

1.Java web编程中的每一个请求都对应一个URL地址以及从请求页面传递过来的数据参数信息,java后台的服务器的作用就是对客户端传递过来的数据参数信息进行入库或者是出库处理操作。

2.前台的数据源是客户端的表单数据收集操作,后台的数据源是数据库中的数据记录,后台的服务器端的作用就是不断的控制前台数据源和后台数据源的交互操作,因此后台服务器端的主线程我们一般称之为控制器controller.

a)控制器层控制数据流的进出数据库或者是客户端。

3.计算机的判断能力的体现就是if判断语句。

a)我们可以把if判断语句也同等于一个判断函数function .

4.多对多的关联关系的实体对象的实体的子表就是他们之间的中间表。

5.学习计算机的方法 保持兴趣 多看书 多做项目 多看视频 扩展学习。

6.前端页面的数据其实也就是数据库,进行数据采集操作或者是显示操作。

a)计算机编程其实数据建模和处理建模抽象数据的过程。

b)数据库在计算机编程的过程中是最重要的。

c)前台数据库表示数据的方式是使用列表或者是表格,后台数据库表示数据的方式是使用表格。

i.一条数据记录在前台的表示方式是表单form。

d)表格table是表示二维数据的最好方式,表格可以转化为一维数据表示数据方式的线性列表list 的方式。

e)计算机操作数据的方式分为数据查询和数据采集。

工作日志(政通科技)

liaowanzhong

2017-1-9

1.\192.168.1.250\软件\开发工具

2.

编程开发工作日记_廖万忠_2016_2017Java开发工作日记工作日志(政通科技)辞职(政通科技)工作日志(谷沃科技)年假工作日志(谷沃科技)

svn账号密码:

liaowz/1111

3.C:Users\Admin\Documents\Tencent Files\1447497428\FileRecv\checktask

2017-1-10

1.登录账号:admin

a)登录密码:123456

2.浏览器新建一个系统连接就是开启了一个连接请求request,其实每一个请求都是一个单击事件event,从而开启了session会话操作。默认会话操作是30min的生命周期,这个时间可以自己定义配置。

a)会话连接池session pool .

b)Session 的作用域比request的作用域要大,几个request请求形成一个session会话。

编程开发工作日记_廖万忠_2016_2017Java开发工作日记工作日志(政通科技)辞职(政通科技)工作日志(谷沃科技)年假工作日志(谷沃科技)

http://192.168.1.99:7001/userAction.struts?actionType=entrySystem这是前台地址

小小恶魔 2017/1/10 10:26:23

你用admin 123456登录

编程开发工作日记_廖万忠_2016_2017Java开发工作日记工作日志(政通科技)辞职(政通科技)工作日志(谷沃科技)年假工作日志(谷沃科技)

http://192.168.1.99:7001/deployLogin.struts 这是后台 superman 12345678

3.做Javaweb项目的必须要明白数据流的流入和流出,明白这些数据流的流向的同时你的编程经验值就会不断地提高。

a)程序数据流动的流向是从客户端流到服务器端,再到数据库端。在服务器端,我们程序员的责任就是接收数据流,封装实体对象之后,处理数据流对象入库还是出库该对象到数据库或者是客户端。

4.每次入职到一家新的公司,我们会发现都是在维护公司的项目,在维护项目的过程中学习公司的技术和框架。

a)学会使用断点调试公司的项目。

b)学会使用工具查看源代码,学习项目的开发流程,从前台到后台服务。

c)开发项目的一般流程:分析 设计 编码 测试。

d)学会跟踪项目的各层数据传输过程。

e)理解前台的数据怎么传输到后台服务器和数据库中的。

f)学习公司其他程序员的代码开发方式。

g)每一个项目都会有一个前台客户端,根据前台客户端client我们就可以理清项目的业务逻辑和代码逻辑,因为客户端的可视化程度更高,易用性更强。

h)学会独立完成项目组长分配给你的开发任务,这就是你入职公司以来的绩效考核。

i)项目开发需要不断的进行测试,频繁提交代码。测试分为本地测试,服务器端测试和业务测试。

5.El表达式是按照作用域对象里存放的地址进行属性取值。

6.JavaWeb开发的项目或者桌面软件,每一次单击事件的时候都要对应一个响应的页面,这个页面就是请求要转发过去的页面。

a)请求转发过去的页面一般作为请求服务方法的返回值。

7.编程开发的本质就是数据库的sql操作,只不过不同语言之间的兼容转化有点麻烦,本质都是一样的进行计算机的内存寻址操作。

a)编程过程中的面向过程到面向对象和面向接口编程的过渡。

8.页面的设计分为表单和表单加列表的设计方式,这种两种布局页面的方式可以很方便直观地进行数据采集和数据显示。

9.空指针异常指的就是在计算机内存中有key(pointer)而没有value值的情况。

10.编程的过程就是实体设计加上编写代码的熟练程度。

11.数据格式分为类class,json字符串,xml数据流,数据记录record, 输入输出流inputstream/outputstream。

2017-1-11

1.表单是进行数据采集操作的基本单元unit。

2.Ibatis中的sql语句分为动态语句和静态sql语句,动态dynamic语句是动态拼接的语句,而静态语句就是写死了。

3.应用重启的过程就是主线程重新加载load资源的过程。

a)这个过程是资源初始化initialize的过程。

4.人社厅后台:http://localhost:9998/deployLogin.struts

5.在公司的项目中使用struts1进行开发,其中的actionType属性就是为了给action分配处理数据的方法名method,在后台我们可以定位到项目的处理数据的方法位置。

6.项目OA的处理流程就是给流程分配相应的受理人assignee,受理人会进行相应的任务处理操作。

7.列表list和表格table是显示数据的两种方式。

8.无论JavaScript还是Java都是基于事件event进行响应数据操作的。

9.使用key-value的形式理解项目中的代码是十分友好的一种方式,因为所有在计算机内存中表示的数据都是以这种方式进行存取操作的。

10.今天的工作内容:熟悉人社厅表单流程。(不过还不熟悉这个人社厅表单流程是怎么运用在项目中的)

11.Struts1中的action是单例的,这和原生servlet的单例是一样的,所有的请求request都在一个服务实体里,这是和strust2多态action 的最大区别,Struts2中每一次请求都对应着一个action实体,从而避免了线程安全问题。

12.Request是最基本的数据请求单元,其他的作用域对象都是可以从请求域中进行获取之后做响应的操作存取数据。

13.对于请求的数据要分为请求头request head ,请求体request body,响应的数据分内响应头response head, 响应体response body。

a)他们传输数据的方式不一样,传输数据的大小也不一样。

14.编程分为代码管理和内存管理。

a)分类检索,空间复用。

15.现在公司开发项目分为maven项目和SVN项目,前者在构建项目的时候是在线通过配置文件导入相应的Jar包,而后者是本地的jar包。

16.做互联网开发需要不断地学习新的互联网框架技术。

2017-1-12

1.线程就是处理数据的代码块,在处理多线程高并发问题的时候,需要对线程进行加锁同步操作。

a)锁lock不能随便增加,因为这个影响到程序的性能。

2.程序的命名方式很重要,因为这涉及程序的可读性,可扩展和可维护性。

a)不推荐使用匈牙利命名法则,推荐使用驼峰命名法则。

3.在阅读代码的时候,要学习新公司的代码风格,才能更好地适应公司项目的开发步骤。

4.请求响应模型是程序开发的基本模型,这是客户端client 和服务器进行交互操作的基本数据模型。

a)请求request和响应response这两个域对象中附带了基本的数据参数信息。

5.数据的采集传输过程是从前端到后台到数据库,这里逆过程就是信息查询的过程。

6.推荐使用逆向编程,可以很好地节省代码空间,尽量把变量的作用域限制在最小的作用域之内,节约作用域内存空间。

a)逆向编程就是从方法体的返回值开始逆推所需要的变量对象,再递归紧贴其上方进行变量对象的声明定义。

7.Servlet是单例的,session是多例的。

8.Web开发当中的每一次单击都对应着一个响应时间的页面,这个页面的作用就是装载响应数据。

a)程序员需要在响应页面当中装载用户需要的数据信息。

9.JavaScript是动态脚本语言,是以function为基本单位,支持函数式编程。

10.JSP也是基于Servlet,在解析数据的时候jsp会解析成servlet之后获取相应的数据或者是传输相应的数据。

11.现在网页的基本布局是基于表单加上列表分页。

a)表单可以很好地进行数据采集,而列表可以直观地进行数据显示。

12.更新数据的时候需要确定对象的唯一性,因为更新操作就是唯一性的操作。

a)唯一性对象更新。

13.做项目归根到底的是实体的设计和实体对象属性值的存储操作,大量的数据一般是放在服务器端,而客户端client的表象形式多种多样,用于进行大量的数据采集和数据查询显示操作。

a)大数据数据库(云计算)是趋势。

b)便携式设备client也是趋势。

c)这里涉及的服务器端就需要处理多(用户)线程高迸发的问题。

i.数据结构data structure和算法algorithm是基础。

14.能使用递归解决问题的方案是最优的解决方案。

15.Javaweb开发中request域是使用最多的域对象,因为用户都是通过请求服务器进行客户端的数据响应查询操作的。

16.生活中处处有信息数据的查询和采集操作。

2017-1-13

1.变量命名根据需求进行命名,函数命名采用动宾结构,一般往数据库里写数据的时候方法是没有返回值的,往数据库里读数据时有数据记录返回值。

a)写数据没有返回值的时候,方法体的返回值为void,读数据时候是有返回值的,返回值为一个的时候返回值为实体对象,多个的时候为数据列表list。

2.刷新系统就是重新请求数据,和单击事件效果是一样的,都是重新向服务器请求数据。

3.计算机编程数据结构data structure是基础,算法algorithm就是你解决问题的思路。

4.自从你进入公司的第一天起,你就是新人,就像重新进入到一所大学一样,你的任务就是学习,学习公司的流程,技术,沟通,合作,态度,操作文档等。

5.需要加强前端UI技术的学习,因为我们最终展示给客户的就是前端页面,而后台处理数据的业务逻辑代码就显得更次要了,但是也要注意可读性,可行性,才有可扩展性,和项目的可维护性。

a)前端页面的组成方式就是列表加上表单。

6.判断语句if.else,我们可以拆分这两个关键字为if和else接口,其中的参数就是变量条件表达式为true或者是false。

a)简洁即是美,C/C++当中处处有这句格言的熏陶,例如把else语句的条件表达式进行省略,提高程序代码的编译效率。

7.Servlet处理数据的流程的5个步骤

a)获取数据getParameter(客户端的数据采集)

b)封装数据成po对象(服务器端的数据封装)

c)调用业务逻辑层service,数据库访问层dao,操作数据库(服务器的数据到数据库数据记录的对象映射,sql操作)

i.对象映射object mapping,从po class对象到数据库表table的映射

ii.SQL操作

1.Insert into

2.Update

3.Delete

4.select

d)返回数据回显(服务器端的数据回显转储,使用el表达式或者其他的数据获取方式)

e)转发或者是重定向到某个页面。(服务器端的数据到客户端数据传输)

8.Java对象的所有属性attribute都会相应的映射到数据库表的字段field。

9.数据库表与表之间的关联是建立在主外键之间进行信息通信的。

a)表与表之间的关联关系要分清楚主表和从表以及他们之间建立关系的中间表,其实主要都是外键foreign key。外键引用主表的主键,主键是数据库记录在表table中的唯一索引和标识。

10.学习计算机要有线性思维,因为计算机CPU处理数据的时候就是线性处理的,我们要有和计算机一样的处理数据的思维。

11.空指针异常指的就是在计算机内存中存在空引用,在内存中有表示数据的地址但是没有相对应的值value。

a)没有值就是用null来表示,无论是地址值pointer指针还是数据值data。

b)现实生活中的数据在计算机内存中的表现方式都是通过key-value的方式进行标识的。

12.今天回去把图书服务系统的架构搭好。

13.学校未完成的项目:图书服务系统BookServiceSys

14.分析

a)需求分析

i.用户学生登录图书服务系统完成图书借阅功能,生成图书借阅信息

ii.用户管理员登录图书服务系统完成图书管理功能,生成图书管理信息

iii.用户管理员(管理其他用户)登录图书服务系统完成用户权限设置,生成权限设置信息。

15.设计

a)实体设计

i.用户管理员:User-admin

1.主键

a)用户编号: id

2.一般属性

a)用户登录名:loginName

b)登录密码: loginPassword

c)用户姓名: name

d)用户年龄: age

e)用户级别: level

f)用户生日: birthday

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

i.所属学校: college

b)Include:包涵

i.所借阅的借书项:bookItems

ii.用户图书管理员:User-worker

1.主键

a)用户编号: id

2.一般属性

a)用户登录名:loginName

b)登录密码: loginPassword

c)用户姓名: name

d)用户年龄: age

e)用户级别: level

f)用户生日: birthday

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

i.所属学校: college

b)Include:包涵

i.所借阅的借书项:bookItems

iii.用户学生:User-student

1.主键

a)用户编号: id

2.一般属性

a)用户登录名:loginName

b)登录密码: loginPassword

c)用户姓名: name

d)用户年龄: age

e)用户级别: level

f)用户生日: birthday

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

i.所属学校: college

ii.所属学院: academy

iii.所属班级: clazz

b)Include:包涵

i.所借阅的借书项:bookItems

iv. 学生所属的大学: College

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

v.

vi.学生所属的学院: Academy

1.主键

a)大学编号: id

2.一般属性

a)学院名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

i.所属的大学:

b)Include:包涵

i.所包含的班级: academys

5.

vii.学生所属的班级: Clazz

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

5.

viii. 学生所借阅的书籍: Book

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

ix.

x.学生借阅的借书项: BookItem

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

xi.学生的借阅信息:borrowedBookInfo

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

xii.图书管理员的管理信息:managedBookInfo

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

xiii.管理员的权限设置信息:setPrivilegeInfo

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

xiv.管理员的权限设置实体:Privilege

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

xv.管理员的角色设置实体:Role

1.主键

a)大学编号: id

2.一般属性

a)大学名: name

3.特殊属性

a)

4.关联关系

a)Belong to: 从属

b)Include:包涵

i.所包含的学院:academys

b)表设计

i.从上实体设计,命名方式改为单词之间使用下划线。

c)界面设计

i.三栏式界面设计风格

ii.采用表单加数据表格的设计方式进行数据采集和查询操作。

iii.书籍搜索页面和用户借阅车页面采用表单加数据列表的设计方式。

iv.分为前台书籍借阅信息系统和后台信息管理系统两个系统

16.编码

17.测试

18.遍历集合的时候推荐使用增强for循环,可读性更强的同时代码也更简洁。

19.单机响应模型是最基本的请求响应模型,在请求的过程中需要通过控制器的数据处理,操作数据库之后返回相应的数据。

20.编程经验的累积需要不断的进行实践操作之后才会有所收获。

21.进到公司之后可以根据公司给的具体任务,不断的熟悉公司的业务和项目。

22.无论是做什么项目,前台页面的设计都是使用三栏式设计模型。

a)三栏式设计模型

i.标题栏

ii.菜单栏

iii.内容栏

23.学习技术的方式:多做项目,把新的技术集成到项目中。

24.在权限设计模块中,对权限进行分组设计就是角色实体对象。

辞职(政通科技)

2017-1-14

1.计算机编程要特别注意对象属性的组成,因为属性就是数据。

2.前台给后台传递URL的方式有3种

a)Form标签的action url。

b)a标签的href。

c)Js的ajax异步请求的方式。

3.路径url的“/”代表根目录。

4.在超类当中创建重用的方法可以很好地对通用的方法进行重用。

5.编程的过程当中70%的时间都是在不断地进行调试。

2017-1-15

1.HTML标签中的文本值,我们一般是把值value放在标签的最里层。

2.学习编程需要看视频的同时,还需要自己动手跟着去做项目,要不然的结果就是使得你只会理解项目而不会做项目。

3.读取文件字符串的时候需要使用包装类bufferReader进行文件读取FileReader的包装,形成缓冲字符串之后,我们就可以文件字符,可以文件一行的字符串进行读取成数组的形式之后做相应的数据处理操作。

2017-1-17

1.应用程序的流行程度取决于用户量多少,一般用户就对应着用户线程,应用程序的用户线程增大的时候就会有多线程高迸发的情况出现。

2.If和else if 以及else判断语句,我们可以把这三个判断语句看做为if,else if 和else接口。

a)这三个语句其实都是函数,他们的返回值为bool值true or false.,参数为条件表达式。

3.Java高级的操作就是涉及sql编程和配置文件编程(软编码编程)。

a)Sql编程,存储过程编程。

b)软编码,各种框架的熟练搭建和使用。

工作日志(谷沃科技)

@liaowanzhong

1/18/2017

1.Id可以唯一标识一条数据记录。

2.多线程高并发问题:系统在同一时刻接受多线程同时写数据时的数据不一致问题。

a)用户建立高内聚低耦合的批处理管理引擎。

b)批处理管理引擎提供可视化的批处理管理,监控,统计任务。

c)批处理管理支持参数化定制运行,支持多种方式的启停安排。

d)单个批量任务可以支持多线程的并发执行,断点续跑,并可在异常时及时报警并中断回滚。

e)单个批量任务可以支持横向扩展。

3.分析:

4.设计:

5.编码:

6.测试:

7.每一组对数据的操作都对应一张表table。

8.对于一个服务器的一个action,对应一张数据库的表,客户端的表现形式多种多样。

9.控制台就是控制器controller,每个应用程序都有一个控制器主线程Mainthread。

10.Spring是一个bean容器,通过Spring容器管理bean对象,实现动态对象的依赖注入。

a)容器就是一种数据结构,以空间换时间。软编码可以提高项目的可维护性,可扩展性。

b)配置文件是调用服务的接口,编译器通过使用读取配置文件从而操作相应的服务。

c)服务是会编译成字节码文件,配置文件是使用字符格式的文本文件,具有可读性,可以维护性,可扩展性。

d)配置文件时进行数据传输的有效方式,但是xml 是重量级的数据格式文件,还有一种轻量级的数据格式文件就是json字符串。

2017/1/19

1.在编程的过程中,学会写配置文件也是一项编程能力,因为调用服务就是需要配置服务接口进行服务处理数据的操作。

2.使用配置文件进行编程叫做软编码。

3.数据传输的过程需要进行不同数据格式数据之间的映射。

4.存储过程就是sql语句进行的函数式编程。

a)计算机编程操作的数据都是在数据库里的数据,要操作数据库只能使用sql语句,因此服务端编程过程的业务逻辑和控制器层,数据库访问层都是为sql操作准备的。

b)只要是对数据库里的数据进行操作,都要涉及sql操作。

c)字符文本编程的文件最终的表现形式是以文本文件的形式存在的,不像是ide中的编程语言的源代码最终的存在形式是以机器码的形式保存在计算机磁盘文件中,这样的文件时没有可读性的,但是运行效率很高,因为这种形式的文件时计算机可读的,而字符文本文件还是需要进行解析代码解析成机器码文件的。因此软编码编程可以提高项目的维护性能,但是会使得项目臃肿,不利于管理,增加冗余度。

d)Xml配置文件就是为了发布服务使用的。

5.传输数据的方式有参数接口和对象两种方式。

a)参数传递是面向过程编程的函数式编程,对象是面向对象编程的结果。

6.属性就是对一个的对象的完整描述。

7.注册表也是数据库,数据的存在方式都是以Key-value的形式存在的。

8.it互联网的技术更新很快,特别是不同的技术框架的更新更快,无论是前端,还是后台的技术框架都非常多。

9.《Spring batch 批处理框架》

a)JdbcBatchWriter会批量执行一组SQL语句来提高性能,而不是逐条执行sql语句。

10.写配置文件比写代码要复杂得多。

11.因为要调用服务,所有只能写配置文件。

12.日期和时间戳是不同的概念,时间戳是精确到秒的时间。

2017/1/20

1.对于一个问题的解决方案是多种多样的,我们要学会在互联网上需找答案。

2.不要给参数赋值,参数是调用方法传递过来的参数值,可以直接使用。

3. 对于接口参数,直接调用即可,不要对其进行赋值操作,它是值对象。

4.配置文件可以确定对象的属性。

5.《Spring Batch 框架》

1.使用现有的服务功能,避免重复发明轮子。

2.Spring Batch中可以通过tasklet、reader、write、processor、listener中访问Execution Context对象,在不同的step中可以将数据写入Context或者从Context读取。

6.我们可以在拦截器里自定义自己的业务逻辑。

7.使用框架的过程:倒包-配置-使用

1.学会写配置文件是学好框架的前提。

2.每一种框架都有一大堆的调用api进行接口调用。

8.学会写测试用例,因为只有经过测试之后的代码才可以提交。

9.Context上下文环境就是用来进行数据共享的。

10.写代码从内到外,尽量缩小变量的作用域,变量的作用域就是决定了它的生命周期,生命周期就会关联到计算机的运行使用内存。

1.锻炼自己的逆向思维。

2.我们程序员的责任就是计算机的资源内存和程序运行速度。

11.接口形参被实参赋值是就是变量赋值表达式,和函数的里的算法表达式是一样的。

12.分类检索,空间复用。

1.分类思想在计算机编程里运用非常多,复用可以节省空间。

a)空间分为代码空间和内存空间。

13.每一次单机事件都要对应这一个页面返回值。

2017-1-22

1.“spring batch 批处理框架”

a)Spring batch框架中经典的三步走策略--数据读,数据处理,数据写。

2.编程归根到底是实体属性的设计。

3.数据库分为本地数据库和远程数据库。

a)远程数据库需要远程网络。

4.现在编程的任务就是不断地把桌面软件转化成web和移动端的软件。

2017-1-23

1.在没有客户端页面的情况下,我们可以使用测试用例代替信息的采集获取或者是查询操作。

a)测试用例就是客户端。

b)对象object在客户端的一般是使用表单进行映射承载,而后台的数据库使用数据表格table的数据记录data record 。

2.现在的软件有不断地往移动互联网方向迁移的趋势。

a)移动互联网的客户端表现形式多种多样

i.Pc web 端

ii.Android

iii.iOS

iv.Winphone

v.嵌入式

vi.便携式

3.计算机为了模拟现实世界的数据,产生了各种各样的数据格式,数据最终的表现形式是以数据I/O流的形式存储于计算机硬件当中。

a)各种数据格式对象

i.Java bean 对象

ii.Xml

iii.Json

iv.表单form

v.表格table

vi.树tree

4.数据库连接池可以提高数据的连接效率,属于饥饿加载类型。

年假

2017-1-24

1.树形数据结构可以很好地表示数据对象集合,遍历树形数据可以把树形形象化的数据集合转化为线性列表的数据集合形式。

a)数据是从无到有的一个过程,这个过程就对应着数据对象关联关系的一对多的数据对象关联。

b)多对多的数据对象关联关系要通过创建一个中间子表建立一对多的数据关联模型。

c)一对一的数据对象关联关系就是特殊的一对多的数据对象关联模型,就是说多的一方数据对象模型为一个而不是多个。

2.我们写方法的时候特别要注意的就是方法的返回值return value,因为方法的返回值就是函数名key相对应的value。

a)函数function中就是处理数据的过程process, 这个过程都是围绕着返回值return value而进行的。

3.链式编程中函数接口的返回值都是同一个对象object。

4.配置文件是提供服务的接口,要想调用别人提供的服务就必须要进行配置文件的配置。

5.日志记录的就是一个人在什么时间,什么地点,做了什么事情,产生了什么效果。

2017-1-25

1.表单和数据列表(或者表格table)的组合在计算机各种应用系统中随处可见,因为表单可以在后台映射为对象object,而数据列表list和表格table可以映射为数据集合set or list or map。

a)在客户端client GUI表示一个数据为form表单,表示多个数据为数据列表data list or table .

b)在后台服务器端server,表示一个数据为基于类class 的对象object,表示多个数据为数据集合set or list or map。

c)在后台数据库服务器也是使用表格table来承载大量的数据集合的。

i.表格表示数据是横向二维度地表示数据data,而数据列表是纵向二维度key-value的形式的表示数据集合data set。

1.横向二维表节省空间,而纵向二维表表示数据更直观,因此当表示大量字段field数据的时候为了节省屏幕空间,我们可以使用二维表表示大量的数据集合,当为了表示少量字段field数据的时候就可以使用线性二维表list的形式表示数据集合,使得数据表示更直观。

2.在前端表示单个数据对象最好的方式就是表单form。

2.在面向对象的编程世界里,我们使用的接口都是在操作类里面的属性attribute,同时限制类的属性字段作用域,外部通过访问器子程序接口访问类class 里面的字段。

3.计算机程序就是模拟现实世界的业务逻辑,从而完成相应的需求,提高人们的生活工作效率。

a)写程序的时候逻辑思维logic thinking 是最重要的。(现实世界 具体)

i.谁在什么时间,什么地点,做了什么事情,生成了什么效果。

ii.主+谓+宾+定+状+补(主从表)

b)其次是计算机思维computer thinking . (计算机世界 抽象)

i.递归思维recurve thing 能用递归解决问题的思路是最优的解决方案。

1.循环遍历语句

ii.判断思维true or false thinking 计算机就是通过1 or 0 进行真假值判断

1.判断语句

iii.线性思维liner thinking 计算机CPU处理数据是线性进行处理的,堆和栈其实都是线性数组,数组是最基本的数据结构。

1.赋值语句

iv.内存寻地址

1.中断跳转语句

4.编程经验的积累就是程序中bug调试经验的积累。

2017-1-27

1.表单form,树tree, 列表list(table)是前端展示数据的基本方式。

a)表单form可以表示一个数据对象object。

b)数据列表list可以表示数据集合。

c)树tree可以递归的表示数据集合。

d)我们可以使用表单加上数据列表的方式进行前端的数据采集和数据的显示。

i.数据列表的表现方式为

1.树tree

2.列表list item

3.表格table

2.选项卡的作用就是使用有限的屏幕空间分类展示更多的数据。

a)选项卡也可以理解为对数据进行分页操作。

3.项目系统前台页面的作用就是把对象object的属性数据界面GUI化,从而完成用户对数据形象表示的需求。

4.在J2EE的系统中,几乎每一个系统都要有一个用户登录模块,用户处理业务模块,用户权限模块,用户日志模块。

a)登录模块 用户进行系统登录操作。

b)权限模块 对各种用户的权限进行系统级别的控制。

c)系统业务模块 用户进行系统的业务处理。

d)日志模块 对用户在系统中的各项操作进行日志记录。

5.做项目写代码就像写文章一样,代码的可读性是十分重要的。

a)适当的对代码进行分段可以增加代码的可读性。

b)对代码进行正确的缩进也可以增加代码的可读性。

c)正确的函数function,method,variable命名。

d)可以正确运行的代码,符合逻辑的代码。

e)把变量的作用域限制在最小的区域。

6.树形结构能最好的表示一个对象的创建过程。

a)对象使用树形结构形式进行表示,但是在网络传输的过程中是使用线性列表地进行线性传输的。

i.递归遍历树形结构就可以把树形的数据正确的保存在线性列表中,这个过程就是对象object的序列化操作serializable。

2017-1-28

1.使用树形结构能更好地表示dom节点元素。

2.把数据集合进行线性表示可以直观地显示数据,但是浪费屏幕空间,而横向显示数据可以节省屏幕空间,但是会使得数据显示不直观。

a)当要显示的数据字段量较大的时候,我们可以使用二维表格的方式显示数据记录。

b)当要显示的数据字段量较少的时候,可以使用数据列表的形式进行数据集合的显示。

3.Java bean 对象的模型就是后台处理读写数据的基本模型。

4.在面向对象编程的过程中,确定对象Object的属性组成是最重要的。

2017-1-29

1.xml配置文件是调用服务的接口。

2.表单form 是前台信息采集的接口。

2017-1-30

1.树形的数据结构可以很好地对数据进行分类。

2.使用递归和循环可以很好地处理集合数据。

3.表单form和数据列表(list or table)是完成业务逻辑数据处理的最好方式。

4.面向对象编程最重要的是确定类的属性组成,而后就是确定对类class属性的操作接口, 类与类之间都是通过接口进行数据操作通信的。

5.简洁过度会带来抽象,具体过度会带来冗余度。

a)为了增加代码的可读性,程序员需要权衡两者之间的关系。

2017-1-31

1.数据字典就是对数据库中表字段field的进一步详细描述。

2.计算机是基于事件进行响应交互,程序员编程其实也是基于事件进行编程。

2017-2-1

1.表单思维就是面向对象的思维。

a)编程注重分析表单的属性组成,表单可以映射为对象object。

b)表单的可视化程度更高,是面向用户的数据接口GUI。

c)表单和数据列表的组合就是一个数据业务逻辑的模块,因为通过相应的按钮组件可以很好地进行数据对象的增加,删除和修改,以及查询。

2.树和图可以很形象地装载数据,但是这两个是较复杂的数据结构。

a)遍历树和图都可以转化为线性列表。

i.使用递归进行树和图的遍历。

ii.使用线性列表装载数据。

b)基本的数据结构(data structure)有set, map, list, queue, stack.

i.所有的数据结构底层都是基于数据array设计而成的。

ii.编程=数据结构+算法。

iii.算法就是使用计算机思维进行解决问题的思路。

工作日志(谷沃科技)

2017-2-4

1.实体对象的属性名最好要和数据库表中的字段列名保持一致,这样可以减少程序bug的产生。

2.编程的过程dao底层是拼接sql语句,而service业务逻辑层是封装相应的数据,处理数据业务逻辑。

3.软编码的目标: 高内聚,低耦合。

2017-2-6

1.对数据进行分类和分页可以更好地显示数据。

a)有助于提高对数据的检索效率。

2017-2-7

1.面向对象的思想就是在类里面放置属性数据,并且限制类class的属性数据为私有作用域,通过接口进行数据域与域之间的信息通信。

2.Jdbc的配置:

driverClass=oracle.jdbc.driver.OracleDriver

jdbcUrl=jdbc:oracle:thin:@120.24.189.157:1521:ORCL

user=cldera

password=cldera

CLDERA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST =

编程开发工作日记_廖万忠_2016_2017Java开发工作日记工作日志(政通科技)辞职(政通科技)工作日志(谷沃科技)年假工作日志(谷沃科技)

120.24.189.157)(PORT = 1521))

)

(CONNECT_DATA = (SERVICE_NAME = ORCL)

)

)

数据库测试用户:

用户名:cldera_test

密码:cldera_test

2017-2-8

1.前端编程学会怎么设计表单form和列表list或者表格table页面是最重要的,面向对象后端无论是硬编码还是软编码都是注重在类的属性数据组成。

2.要使用框架就需要学会软编码。

3.springBatch框架博客

a)http://www.cnblogs.com/gulvzhe/archive/2011/12/03/2274908.html

4.工作之后发现配置文件写得比代码还多。

a)也就是说软编码比硬编码还更多,因为我们要做产品就必须使用框架,框架可以提高我们处理业务数据的效率。

i.调用框架服务的接口就是xml配置文件,即软编码。

5.在工作中要逐步的提高自己独立完成任务的能力,这才会得到企业公司对你的认可。

6.编程的过程中,数据处理的映射过程为:

a)前端:数据采集

i.vo

1.表单form

2.JSON对象

3.Xml对象

b)后端:数据处理

i.服务器端po:封装成class对象模型

1.Java bean pojo

ii.数据库端dao:持久化对象到数据库

1.Data record

2017-2-9

1.定时器timer相当于一个单击事件,每隔一定周期的时间间隔就会开启一个线程。

2017-2-10

1.工作中要学会调试项目,这些就是你编程经验值的累积。

2.我们编程的任务就是处理数据,但是数据的表现方式是多种多样的,为了处理数据的方便,我们对不同的数据进行分类就是所谓的数据格式。

a)对数据进行不同种类的分类可以有效地提高我们对数据文件的检索效率。

b)计算机对存储数据的空间进行覆用可以有效地节省有限的计算机内存资源。

i.覆用的数据为共享的数据,对子文件中相同的数据进行抽取成公共的数据就可以实现数据共享的同时,覆用空间,节省资源。

3.做技术这行每天都会有压力,持续学习是我们缓解压力的有效方式。

4.对于配置文件的编写,如果能够使用拷贝就不用自己进行手动地输入,因为拼写错误是最难找的一种程序错误。

a)一般有的时候是不会进行有效地提示和报错。

5.编程需要不断地提高自己进行数据建模的能力。

2017-2-13

1.做任何事情都要明白对于问题的内在原理,这样出来的解决方案才有更少出错的可能性。

2017-2-14

1.在工作中好的搜索技术可以提高对问题的解决效率。

2.在刚进入开发团队的时候,熟悉项目和项目用到的技术,团队的开发流程是最困难的一个过程。

3.文件路径就是计算机寻找文件的地址。

a)类路径class path 就是类加载器classLoader 加载文件的路径。

b)路径分为相对路径和绝对路径,在项目的开发中建议使用绝对路径,因为相对路径在参照文件变化的时候,路径url就会出现错误。

4.数据的操作过程分为数据读read,数据处理process/handle,数据写write。

5.树形结构的数据可以转化为线性列表进行装载数据的结构。

a)使用树形的数据结构装载数据更形象直观。

2017-2-16

1.Id是对对象object的唯一性标识,就像身份证一样,具有唯一性。

2.装载数据的方式是使用数据列表,数据列表的表现方式有树tree, 列表List, 或者是表格table ,前端使用这些数据表现方式进行数据的展示。

3.计算机编程就像是在盖房子一样,这个过程分为需求分析,项目设计,编码,测试,部署上线和项目维护六个阶段。

a)项目设计分为概要设计和详细设计

b)项目编码的过程:

i.数据库建表

ii.项目框架的搭建

iii.前端页面的设计和实现

iv.后台代码逻辑的实现

2017-2-17

1.面向对象编程的是基于类class的编程,在类中确定数据对象的属性并且限制数据属性作用域,通过公开类访问器子程序接口进行属性数据的读写操作。

a)限制数据的作用域为最小作用域,节省计算机内存资源。

2.程序排错的过程需要不断地缩小错误的范围,从而在最后确定错误的具体地址位置,进行调试排错。

2017-2-20

1.Maven jar包的配置网站

a)http://mvnrepository.com/

b)http://search.maven.org

2.Xml文件是重量级的数据对象,相比而言较轻量级的数据对象表示方式为json对象以及Java bean对象。

2017-2-21

1.Properties , xml, json, java bean ,directory, map等都可以与对象进行映射。