创意之路的里程碑:平淡但不普通的创作历程

目录​​​​​​​

1. 创作初衷

-> 文章内容主要包含

2. 收获

3. 日常

4. 努力成长

5. 憧憬 


1. 创作初衷

成为创作者的第730天了, 原来也是分享和记录一些工作日常的点点滴滴, 开发实战中遇到的坎坷,

写技术类博客的目的就是让看我博客的人少走弯路, 也避免了记忆的遗忘,重蹈之前的覆辙; 文章尽可能的提供不同解决方案, 有的地方也会写的不全, 部分文章也会持续更新, 文章质量也会越来越好

不管昨天发生了什么,不管昨天的自己有多难堪,有多无奈,有多苦涩,过去的就不会再来,也无法更改。就让昨天把所有的苦、所有的累、所有的痛都远远地带走,活好当下才是对人生最大的珍惜。今天是用来努力的,明天则是充满希望的。

-> 文章内容主要包含

1. springboot的基本开发操作

2. 生产环境下出现的问题以及解决方案

3. 微服务架构下的配置与服务

4. 常规的linux开发运维 以及docker的部署

5. 也会有一些核心技术, 安全校验, 算法, 设计模式的穿插 


2. 收获

  1. 到今天已经有6793个粉丝, 每天也在稳定增长
  2. 获得116次点赞,内容获得59次评论,获得134次收藏,代码片获得417次分享
  3. 原创文章165篇 最高文章阅读1.6万+

虽然数据不惊人, 但记录了创作中的点点滴滴 


3. 日常

  1. 创作是工作的总结, 是不断学习的动力, 是学习方向的确定
  2. 工作必然是主要的, 但是一味的重复工作, 按照现如今的互联网形势, 就是退步, 并且记忆有限,很多花费大量心思研究的功能,解决方法没有及时总结,留存导致的丢失 遗忘, 是不是很可惜, 而及时性的博客完美解决了此问题, 同时跟记事本比, 多了互动交流

4. 努力成长

例一: 使用java通配符写代码

的的确确的简化了开发, 提高了开发效率, 写的不一定好, 

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

/**
 * 构造器 构造方法封装
 * 测试在 施工,订单,活动的部分代码中
 *
 * @Author pzy
 * @Description: TODO 持续更新 最后统一到全部业务中
 * @Version 2.1.0
 */
public class WrappersConstructor {


    /**
     * 条件构造器之 模糊搜索公共字段 无需代码中new构造器
     *
     * @param t          构造器生成条件
     * @param searchName 模糊搜索字段(前端传递)
     * @param conditions 搜索条件(数据库)
     * @param <T>        类型
     * @return
     */
    public static <T> QueryWrapper<T> wrapperConstructor(T t, String searchName, String... conditions) {

        if (t == null) {
            throw new RuntimeException("error ways at wrapperConstructor[args1,args2,args3...], args1 value of empty is not null");
        }

        return WrappersConstructor.wrapperBaseConstructor(new QueryWrapper<T>(), searchName, conditions);
    }

    /**
     * 条件构造器之 模糊搜索公共字段 测试类型
     *
     * @param searchName 模糊搜索字段(前端传递)
     * @param conditions 搜索条件(数据库)
     * @param <T>        类型
     * @return
     */
    public static <T> QueryWrapper<T> wrapperConstructor(String searchName, String... conditions) {

        return WrappersConstructor.<T>wrapperBaseConstructor(new QueryWrapper<T>(), searchName, conditions);
    }


    /**
     * 条件构造器之 模糊搜索公共字段 弱校验
     *
     * @param queryWrapper
     * @param searchName
     * @param conditions
     * @param <T>
     * @return
     */
    public static <T> QueryWrapper<T> wrapperConstructor(QueryWrapper<T> queryWrapper, String searchName, String... conditions) {

        if (conditions == null || conditions.length < 1) {
            return new QueryWrapper<T>();
        }

        return WrappersConstructor.wrapperBaseConstructor(queryWrapper, searchName, conditions);
    }


    /**
     * 条件构造器之 模糊搜索公共字段 强校验
     * Force Re-Check
     *
     * @param forceCheck   (传递true 校验, 然后抛异常, 不可以不传递)
     * @param queryWrapper
     * @param searchName
     * @param conditions
     * @param <T>
     * @return
     */
    public static <T> QueryWrapper<T> wrapperConstructor(boolean forceCheck, QueryWrapper<T> queryWrapper, String searchName, String... conditions) {
        //用法两个
        if (conditions == null || conditions.length < 1) {
            if (forceCheck) {
                throw new RuntimeException("error ways at wrapperConstructor[args1,args2,args3...], args3 value of empty is not allowed");
            }
            return new QueryWrapper<>();
        }
        return WrappersConstructor.wrapperBaseConstructor(queryWrapper, searchName, conditions);

    }

    /**
     * 条件构造器 模糊搜索基础数据创建
     * 一个搜索名 对应多个搜索条件
     *
     * @param queryWrapper
     * @param searchName
     * @param conditions
     * @param <T>
     * @return
     */
    private static <T> QueryWrapper<T> wrapperBaseConstructor(QueryWrapper<T> queryWrapper, String searchName, String... conditions) {

        return queryWrapper.and(StringUtils.isNotBlank(searchName), wrapper -> {

            wrapper.like(conditions[0], searchName);

            //计算数组
            String[] newConditions = MathUtils.removeFirstElement(conditions);
            if (newConditions.length > 0) {
                //拼接 第一个没有or 后面有or
                for (String condition : newConditions) {
                    wrapper.or().like(condition, searchName);
                }
            }
        });

    }

    /**
     * 操作反转 紧急添加 暂不优化
     *
     * @param queryWrapper
     * @param searchName
     * @param conditions
     * @param <T>
     * @return
     */
    public static <T> QueryWrapper<T> wrapperReverseConstructor(QueryWrapper<T> queryWrapper, String searchName, String... conditions) {

        return queryWrapper.and(StringUtils.isNotBlank(searchName), wrapper -> {

            wrapper.like(searchName, conditions[0]);

            //计算数组
            String[] newConditions = MathUtils.removeFirstElement(conditions);
            if (newConditions.length > 0) {
                //拼接 第一个没有or 后面有or
                for (String condition : newConditions) {
                    wrapper.or().like(searchName, condition);
                }
            }
        });

    }


}

5. 憧憬 

持续创作,  每月五到六篇, 会从java基础 一直到微服务, 包括基础运维 自动化等

持续更新, 同时本人也会保持空杯的心态,持续学习,正如: 学如逆水行舟,不进则退 

将来,就是你站在茫茫大海的这一边,遥望着海的那一边,充满好奇心,憧憬这对海那边的向往,正是对未知的不了解与向往,所以才有了去追逐将来的勇气。 

作者 pzy 

猜你喜欢

转载自blog.csdn.net/pingzhuyan/article/details/131249172