发表于: 2017-07-20 13:10:57
1 1117
今天做的事:
Git上传项目代码至GitHub,出现如下情况
git push origin master
进入如下界面
#please enter the commit message for your changes. Lines starting with '#' will be ignored, and an #empty message aborts the commit.
#On branch master
......
vim格式,同linux操作,使用插入插入一个tag,然后保存即可commit
然后
linux程序后台运行
nohup 你的shell命令 &
查看运行任务
jobs
后续需要再继续补充
深度思考
1.maven是项目管理工具,是多人开发统一代码风格和规范的工具,为日后项目合并,发布等等提供便利,无兼容性问题;
Ant是一个构建java项目的工具;
maven是Ant的扩展产物,较Ant有如下优点:
内置依赖管理<dependency>;内置软件构建的生命周期:default、clean、site;隐形规则可以更简单构建文件:/src/main、test/java等;pom.xml项目管理(Project Object Model)。
2.clean代表清理target文件,即上次构建项目时生成的文件;install安装依赖至本地资源库,将不是maven建的artifacts安装至本地资源库;package是打包命令,暂时还未使用过;install将jar包安装到本地库、package将jar包打到本项目的target下;deploy命令是发布,在整合或者发布环境下执行,将最终版本的包拷贝到远程repository(仓库),实现共享。
3.maven跳过单元测试:在pom.xml文件中添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
4.用日志代替System.out.println的好处就是:在有大量打印信息时,可以通过关闭日志打印阻止控制台打印,便捷。
5.用Long替换Date类型就是因为,Date类型有特定模式,不仅插入数据不友好,而且也不安全。
*6.查阅资料发现都是说数据迁移、id溢出、耦合性太强等,有个回答是这样的(问题的核心在于:作为业务逻辑的主键和记录并发\唯一性放在一个字段了,应该解耦.),暂时都难以理解,mark。
7.索引就像书的目录,方便查找;大概百万级的数据就会出现十几到几十秒的查询差距,随着数据越大差距越明显;在有需要条件查询的而且数据量大,重复性弱的时候适合建索引。
8.唯一索引即该索引列的值是唯一的,但可以为空,普通索引无限制;在需要索引列值可为空,有值必唯一时需要用唯一索引。
9.对唯一索引的插入时不需要判重,如果已存在重复记录,会报错
10.插入数据更新create_at,更新数据更新update_at,不应该调用给外部接口,应该直接在内部直接获取当前时间(不过我写的时候确实给外部调用操作了)
11.修真类型可以使用int类型进行转储,不过需要事先约定
12.varchar类型长度的确定,根据经验判断,如果是字段输入固定,比如姓名,性别,民族这类,固定字段长度范围就可以将varchar长度缩减到合适长度,而不可预测的,就尽量使用默认值。
text和longtext的区别就是存储字节的长度有很大区别
13.分页查询通过关键字limit来进行查询,但是当数据量很大时就会有性能不足的确点,需要合理优化;还有使用in关键字进行查询的,不过暂时都还没有用到过,等用到再深入了解。
14.查了一下,使用Select * from table有个缺点就是效率会有一点低下,更重要的一点是,select * from table 是按照建表时的字段顺序打印,而使用列举字段可以任意顺序。
*15.贫血模型指领域对象里只有set、get方法;还有充血模型什么的,都涉及到业务逻辑什么的,暂时理解不了,mark。贫血模型有个优点就是系统层次结构清楚,各层单向依赖。
16.IOC是控制反转的意思,通过IOC而不是new的方式获取对象来实现解耦,减少依赖,不过理解的也很浅显,需要继续学习
17.接口的好处就是,可以为接口实现类提供便利,比如有两个实现类实现接口中的同一个方法,但是方法实现完全不同,这时使用接口就可以直接通过继承的方法来完成这种情况,极大简化代码量。
18.异常会在程序运行期间干扰正常指令流程;trycatch块在可能出现异常的代码块处使用(但掌握的还是不怎么好);真是系统中,网络中断,那么远程DB是连接不上的,如果本地是不会有影响的,但是真实项目的DB肯定不是在本地;至于多久一次,就暂时不太了解了。
19.日志打印,打印到控制台,或者直接输出,打印的参数就是日期,运行情况,有无报错等(日志这一块需要加强了解,现在暂时不清楚,只知道从网上copy一份log4j.properties,而且现在对properties文件也没有任何了解)
20.单步调试可以查看每步的运行结果,从而判断错误发生在哪个位置;debug找源码就是F7查看方法内容等,然后就通过不断的查看就会跳到源码(但是看不懂,所以现在还有继续学习debug)
*21.远程连接线上直接调试IDE是有这个功能的,但是没有了解过,所以,mark。
回顾这半个月,学到的知识点有很多,很杂,大体分几类:
1.JDBC、JDBCTemplate、Mybatis实现数据库连接并进行增删查改;
2.配置服务器;
3.操作数据库;
4.零碎知识点,很多,很杂,不列举了。
然后,剩下时间整理一下东西,更新一波CSDN的博客。
明天计划:开始任务二。
问题:就是自己学会的东西很多,但不会的东西更多;暂时无法解决,需要不断学习。
收获:整理。
评论