发表于: 2016-10-30 22:14:25
4 2168
一、本周完成
1.写数据库表更新、初始化SQL
2.练习打tags
3.学了些简单的shell脚本知识,用脚本部署skill测试环境
4.萝卜多3个接口功能微调
二、明天计划
1.回去完成task5
三、遇到问题
1.太多,无力吐槽
四、收获
1.这是相当低产的一周,虽然一天天都很忙的样子,实际上学的东西并不多,看书的意愿下降,一周都没写日报,上述都是精神松懈的表现。一个优秀的程序员必须在“学习-工作”之间游刃有余。
2.修真院这个名字,让我想到程序员这条路就如同小说中的“修真”一般,本质上是锤炼自己,到达想去的地方。把一些想法记录下来,与观者共勉。
1)恒心
人的念头总是不断变化,想让一个念头实现,需要大量的时间、精神、身体、钱财去堆积。目标不能随便选,确定了更不能随便改。通往目标的路上,充满了枯燥、挫折、诱惑、幻觉,它们会一直存在,不要企图克服,适应共存,轻装重装同样都要上阵。
2)设立目标-里程碑
这条路很难确定方向,无数人都在摸索,我感觉还是应该先进入程序员角色,给剩下一个月制定了一个目标-里程碑,后面再慢慢摸索。
短期目标
- 毕业后在深圳加入一个良好技术氛围的团队,薪资8K。
技术里程碑
- 自己动手设计service层与web层分离,用spring-RMI和Tuscany分别实现
- 捋一遍mysql分库分表的基本设计原则,用做多台电脑做一次简单的实践
- 使用一次memcache/radis,顺便将其知识捋一遍
- 第三方API使用,有三个方向都想试试,公众号消息、支付宝支付、图片上传和调用
- 使用一次jmeter做性能测试,顺便捋一遍单元测试的知识
3)保护身体
资料阅读、项目设计、bug调试都大量占用时间,无论再忙都要腾出运动时间。
4)执行效率
我是个想的很多,做的很少的人,我猜想这是导致我效率低的节点,下面一个月的行动要直指里程碑。
5)建立圈子
孤胆英雄那是美国大片,程序员是高度依赖团队协作的职业,面对无数没遇到过的问题,需要参与各种技术圈子,主动请求他们的帮助,也尽力奉献自己的果实,聚合志同道合的伙伴。
3.也记录下这周接触到了的知识
1)maven项目管理
mvn clean:清除项目产生在taget路径下的.class文件、本地仓库下的jar包和pom文件
mvn install:是build、test、package的合集,生成taget路径下的.class文件、本地仓库下的jar包和pom文件,附图说明


mvn deploy:将本地仓库下的jar包上传至指定maven仓库,如果没有带deploy参数,则会根据项目setting.xml中的server去找。下为deploy参数:
-Durl 是指要deploy到仓库的路径
-DrepositoryId jar 包的repositoryid
-Dfile jar包的具体路径
-DpomFile jar对应的pom路径
-Dversion jar的版本
mvn release:clean 清理release操作是遗留下来的文件
mvn release:prepare 校验所有依赖包是否还有“SNAPSHOT”版,然后将最小版本号+1;在pom.xml中配置好插件maven-release-plugin后,指令将在SVN对应的tags(SVN发布版管理路径)下备份一个正式版的代码。tags的代码专门用于部署测试、线上环境。比如service包、web包到这一层就够了。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<tagBase>svn://wx.ptteng.com/ptteng/aiyanwo/tags/</tagBase>
</configuration>
</plugin>
如果打包失败,你会发现版本号已经前推了,这个时候要使用 mvn release:rollback
mvn release:perform 一系列校验后打包,发送至远程maven仓库;core包打包好后是要被service包、web包引用的,因此如perform失败了,需要用deploy替代。
2)SVN代码管理
- 阶段性提交一定要标注改了什么,贴个老大整理的
修改BUG,备注:bug#111 ,其中111为bug在禅道中的id。
完成任务,备注:task#111 ,其中111为任务在禅道中的id。
完成产品,备注:story#111 ,其中111为产品在禅道中的id。
多个bug,则需要使用“,”分割: bug#111,bug#112
- 更新到指定版本
svn update -r r40315 dir_name 不带则按路径识别
- 回滚到旧版
界定 svn merge -r r40384:r40380 .
提交 svn ci -m "rollback r2 -> r1"
3)String[]识别问题
萝卜多接口调整时,涉及到了一个String[]变量无法被“为空、空字符串”判别出来,String[]变量本身是一个指针,并不为空,所以无法识别,可以设置个int的变量来识别
if (DataUtils.isNotNullOrEmpty(subCategory)) {
StringBuffer sbuf = new StringBuffer();
int k = 0;
for (String str : subCategory) {
sbuf.append(str);
sbuf.append(",");
k++;
}
if (k > 0) {
sbuf.deleteCharAt(sbuf.length() - 1);
params.put("sub_category & in ", "(" + sbuf + ")");
}
}
评论