发表于: 2017-09-11 23:15:30
1 820
一、今日完成
1.在linux下新建报名表,学习新的SQL语句:
1) 改变数据库字符集
mysql> create database fortask character set utf8;
mysql>alter database fortask character set utf-8;
2)创建索引
mysql>ALTER TABLE applications ADD INDEX name_idx (name);
mysql>CREATE INDEX name_idx ON applications (name);
3)设置字段自增长/主键
mysql>ALTER TABLE applications ADD id bigint AUTO_INCREMENT/PRIMARY KEY;
其中,2)和3)主要针对已有表创建索引或主键;之前做的是在创建表过程中设置主键和自增长,相对简单,但是针对现有表的操作更加灵活和实用。
2.复习Java基础中关于类和对象的概念
1)static修饰的成员变量和方法称为类变量和类方法,不属于该类的任何实例;静态成员不能直接访问非静态成员;static修饰符的作用就是区别成员变量、方法、内部类、初始化块这四种成员属于类本身还是类的实例。静态成员可以直接有类调用 或者该类的实例调用,其作用域贯穿整个的类的生存期。
2)创建对象的根本途径就是构造器,通过new关键字来调用某个类的构造器即可创建该类的实例;
Person one = new Person();
这句代码实际创建了两个东西:在栈内存里创建one变量,存放实际的Person对象的地址值,是一个引用变量;而Person类的对象实例则创建存放在堆内存里,one和C的指针非常相似。堆空间里的Person对象可以有多个引用,这些引用变量互为别名。
之前对这两点一直没弄清楚,所以对于为何可以直接写System.out.print(…);而没有事先创建System类的对象觉得很疑惑;
3)分清楚pojo中setter方法里this的含义,即this总是指向调用该方法的对象,根据出现位置的不同,this作为对象的默认引用有两种情形:
i.构造器中引用该构造器正在初始化的对象;
ii.在方法中调用该方法的对象。
3.在Ubuntu16.04上安装Resin
1)Install JDK 6 or later and link /usr/java to the Java home or define the environment variable JAVA_HOME.
2)tar -vzxf resin-4.0.53.tar.gz
3)cd resin-4.0.53
4)./configure
5)make
6)sudo make install
7)Execute sudo resinctl start
or run java -jar lib/resin.jar start
8)Browse to http://localhost:8080
其中,应该在tar.gz解压后,把安装目录放到自定义的路径下,再执行./configure,否则resin会安装在当前路径下。
启动Resin:
unix> resinctl start
c:\windows> resin start
运行Resin在控制台模式,以便在控制台看到日志信息:
unix> resinctl console
部署war包:
unix> resinctl deploy hello.war
unix> resinctl undeploy hello.war
使用超级用户部署war包:
unix> resinctl deploy --name ROOT mywar.war
unix> resinctl undeploy --name ROOT
运行Resin作为一个Daemon
- Start resin with
resinctl start
- Stop resin with
resinctl stop
- Restart resin with
resinctl restart
生成PDF格式的watchdog report,指定路径和名称
unix> resinctl pdf-report -watchdog
generated /var/resin/log/default-Watchdog-20111010T1426.pdf
最后把任务2的maven项目生成war部署到Resin,测试REST接口,报错404;尝试部署到tomcat里同样显示404;然后才想起,在sprin框架里数据库属性设置文件里的jdbcUrl特性配置错误,因为MySQL数据库部署在本地PC,要么把jdbcUrl中IP和port改为本地PC,并对防火墙进行设置,要么在linux里部署数据库。
4.学习shell script
1)shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文字档,将一些 shell 的语法与命令(含外部命令)写在里面, 搭配正规表示法、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。
2)下面是一个简单的实例
#!/bin/bash
# Program:
# This program shows "Hello World!" in your screen.
# History: # 2005/08/23 VBird First release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH echo -e "Hello World! \a \n"
exit 0
i.第一行 #!/bin/bash 在说明 script 使用的 shell 名称:
ii. # 都是起到注解的用途!第二行以下就是用来说明整个程序的基本数据。一般来说, 要说明该 script 的:1. 内容与功能; 2. 版本资讯; 3. 作者与联络方式; 4. 建档日期;5. 历史纪录 等等。这有助后期改写与 debug 。
iii. PATH用来配置环境变量
iv.echo这行就是主要的代码部分
v.利用 exit 这个命令来让程序结束,并且回传一个数值给系统,说明这个script运行成功与否。
具有实用功能的的start.sh,stop.sh,deploy.sh 这三个有点小问题,明天修改运行成功后再贴出来。一般把所有撰写的script放在 ~/scripts 这个目录下,方便管理。
二、明日计划
1.把start.sh,stop.sh,deploy.sh写出来运行通;
2.学习Nginx相关;
三、遇到问题
无。
四、收获
以上。
禅道:http://task.ptteng.com/zentao/task-view-10356.html
计划在本周三完成并提交任务3.
评论