HTML5技术

java后端程序员1年工作经验总结 - 木公松(3)

字号+ 作者:H5之家 来源:H5之家 2017-07-09 15:03 我要评论( )

对于某个稳定版本上线后,如果在此基础上开发新功能,一定要新建分支,在新分支上提交代码,最后在新版发布时合并分支。修改运营环境bug切换到主分支进行修改 5.4 Http请求 5.4.1 请求方法 post、get、put、head、d

  对于某个稳定版本上线后,如果在此基础上开发新功能,一定要新建分支,在新分支上提交代码,最后在新版发布时合并分支。修改运营环境bug切换到主分支进行修改

5.4 Http请求   5.4.1 请求方法

  post、get、put、head、delete、copy、move、connect、link、patch,最常用的是前4、5个。

  5.4.2 请求头,状态码

  常用的请求头有Accept(下载文件会特殊使用)、Accept-Charset(设置utf-8字符集)、Content-Type(json等配置)等

  常用的响应头有Content-Type、Content-Type、Content-Length等,偏前端,不再详述。

6. 系统架构

  接触的不是特别多,目前用到的只是服务器主从备份。Nginx反向代理进行配置。

  多个项目nginx配置

  Spring Mvc 用json数据进行交互,配置json转换的servlet。

  封装返回值

  自定义RunEnvironmentException(状态码,原因),覆盖原有Exception,切面ExceptionHandler抓取Exception并封装到返回值中(前后端松耦合)

   令人头疼的用户重复(连续快速点击)提交问题,前端限制治标不治本;后端用sessonid在切面上实现,又需要前端存储,对所有请求数据加sessionId。最后用jedis中存储,用接口名+用户名当做key,根据不同的接口对不同的key可以单独设置时间,不仅保证了重复提交问题,也避免了恶意请求问题,同时还能自定义请求间隔。(期初担心redis缓存读写时间延误导致限制失效,后来发现多虑了,对一般的小系统来说,经性能测试,发现即使请求频率再提高100被也不会导致限制失效)

  testNg单元测试、性能测试,覆盖测试。

  切面管理日期、权限。缓存等。

7. Nosql

  1.Redis的java库Jedis。

  Jedispool配置。

  项目中用到的有任务队列、缓存。

   2. neo4j图数据库

  处理社交、推荐

8. 服务端

  linux操作系统熟悉以centos为例:

  常用简单命令:ssh、vim、scp、ps、gerp、sed、awk、cat、tail,df、top,shell、chmod、sh、tar、find、wc、ln、|  

  目录结构明细:/etc/、~/、/usr/、/dev/、/home/、/etc/init.d/

  服务端:jdk、tomcat、nginx、mysql、jedis、neo4j启动与配置(特别说明的是该死的防火墙,nginx启动后一直访问不了,查找一下午查不到原因,最后发现是防火墙问题)

  监控服务器状态(cpu,磁盘,内存),定位pid,日志查看

  nginx负载均衡、反向代理、配置

  自动化部署脚本

  简单shell脚本书写,避免大量人力劳动。

  监控系统,代码抛fatal异常自动发邮件,系统指标持续偏高自动发邮件。

  

9. 数据库相关    10. 第三方接口对接 10.1 支付接口

  微信支付坑比较多,用将近两周时间才把微信支付所有完成。需要在微信后台配置的地方太多。

  而支付宝支付模块只用了2天时间就搞定了。

10.2 推送接口

  为用户定义tag、定义alias,注意当数据更新时需要同步更新tag、更新alias。如果没采用异步实现(用户体验就是好卡啊)

10.3 云存储

  大量文件上传云端(七牛云),注意创建bucket

10.4 短信验证

  很简单的第三方接口,引入依赖,直接调用即可。需要在第三方后台设置模板等,注意限定用户访问次数。

10.5 邮件

  很简单小功能,工具类。

 

时间有限,目前先写这么多技术栈。对于代码书写和、算法技巧问题,会抽时间写在(2)中。

 

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 高中毕业,我想去看看-屌丝程序员的逆袭之旅 - 纯洁的微笑

    高中毕业,我想去看看-屌丝程序员的逆袭之旅 - 纯洁的微笑

    2017-07-06 16:00

  • .NET C#到Java没那么难,Servlet篇 - RabbitYi

    .NET C#到Java没那么难,Servlet篇 - RabbitYi

    2017-06-27 15:03

  • 30岁程序员的选择,一线OR二线? - 老鱼大哥

    30岁程序员的选择,一线OR二线? - 老鱼大哥

    2017-06-27 15:00

  • 就是要你懂Java中volatile关键字实现原理 - 五月的仓颉

    就是要你懂Java中volatile关键字实现原理 - 五月的仓颉

    2017-06-22 11:00

网友点评