• 雨燕简历点评项目技术点评


    https

    1,为了接入公司的账号系统,使用它里面存放的cookie,需要配置https证书,估计是设置了secure属性

    2,配置本机的host,把resumm.liepin.com,转发到自己域名localhost下面,实现共享的liepin.com的cookie

    3,开启nginx,监听80端口,

    4,使用nginx配置好https,80端口的请求自动转发到443的https端口下

    5,443端口,把请求转发到8080的tomcat下面

    6, :* 证书:.crt, .pem,私钥:.key

     公司服务

    1,上公司发布包的页面,把你需要的client包下载下来

    2,有了client包,通过框架读取他的路由规则,在不同的测试环境下,调用他在平台运行的服务

    当天时间

    1,sql,SELECT*FROM response WHERE   date_format(createtime, '%Y-%m-%d') = date_format(now(), '%Y-%m-%d')

    2,Java方式,获得当前date,转成两个timestamp,

    public static Timestamp getStartTime() {
            Date date = new Date();
            Timestamp startTime = new Timestamp(date.getTime());
            startTime.setHours(0);
            startTime.setMinutes(0);
            startTime.setSeconds(0);
            return startTime;
        }
    View Code

    自动跳转

    1,在filter里面添加,每个权限都只能他来访问的url,所以要牺牲url的第一段

    2,在一个@requestMapping("/")做一个全部拦截,根据不同的角色做自动跳转

    3,上面这步要在tomcat里面删掉默认欢迎页面/conf/web.xml的<welcome-file-list>标签注释掉

    Util设计

    1,把方法的入参设计得通用,如果通用性不高,直接写在类下得私有方法

    更换主体

    1,有时候拼接form的时候,想清楚主体是哪一个

    拆成两个biz

    1,未必是一个controller只调用一个biz

    2,每个biz只返回他自己的作用功能,拼接返回参数的可以交给controller这层

    3,service和biz的关系同理,可以在service加上不同的参数

    4,service可以根据不同的参数,去实现不同的biz功能

    雨燕框架使用

    1,默认查询是分页查询,每页15条,所以不需要分页的时候记得设置condition.setPaged(false)

    2,倒叙,condition.addQuerySort("createtime", Sort.DESC);

    3,只需要条数的时候,要执行了数据库查询才有值

    • condition.setHasCount(true);

    • condition.getTotalRows()

    4,一个innerCondition,new出来 的时候代表一个大条件,append and / or的时候代表他们同级,但append 一个new 出来的condition的时候condition是包含有了内置条件的

    接口数值比较的时候,一般有枚举,很少用字符串

    1,不要看了有相关字符串就用,看有枚举否

    数据操作手段

    1,在两个list,只有id是相同,但两个list都有我们想要的东西

    • 先把list a转换成目标list
    • 把list b的数据放进一个map<id, dto>里面
    •  在目标list循环一下,根据id在map里面取值

    2,两个数据看有相同的否,直接用set取交集

    Set<String> resumeIndustryCodeSet = new HashSet<String>(Arrays.asList(resumeIndustryCodes));
            Set<String> industryCodesSet = new HashSet<String>(Arrays.asList(industryCodes));
            //算出交集
            resumeIndustryCodeSet.retainAll(industryCodesSet);
    View Code

    3,当数据库的字段有不是前缀码的时候,如,123,456,123456,这样模糊查询查不出来,可以在字符串前后家逗号,123,456,123456,这样逗号(,)作为分隔符,like %,123,%

    4,当有 a * b条件的时候,通用要写很多if/else ,我们可以收集 抛出异常的条件,先写在前面,后面进行业务处理

    安全性问题

    1,get请求一般都是安全的,通常只要校检一下他的角色权限,给他展示列表

    2,post请求一般来修改东西,要求的安全性比较高,比如,提交简历点评的是,要从简历信息读取简历的拥有者是不是他,在企业和猎头点评简历的时候,计算他们的行业码有没有这样的资格

    3,复盘权限校检项目的post请求,尽量使用cookies传来的id,从id查询和对比其他的字段

  • 相关阅读:
    1.1 js 预解释(变量的提升,浏览器的加载机制)
    js 原型链详解
    ES6模块 与 CommonJS的差异
    export,import,export default,import()区别
    css权重优先级
    CSS3如何实现0.5边框
    JS 时间戳转换成具体时间
    http协议(二)请求和响应报文的构成
    http协议(一)一些基础知识
    mac homebrew  常用命令
  • 原文地址:https://www.cnblogs.com/vhyc/p/10683630.html
Copyright © 2020-2023  润新知