机缘
提示:可以和大家分享最初成为创作者的初心
例如:
实战项目中的经验分享
在技术选型方面,我们根据项目的需求和团队的技术栈,选择了合适的技术框架和工具。例如,为了实现数据的快速处理和存储,我们选择了高性能的数据库和数据处理技术。同时,我们还注重技术的可扩展性和可维护性,以便未来对系统进行升级和优化。
在团队组建方面,我们邀请了具备丰富经验和专业技能的团队成员参与项目。我们强调团队协作和沟通的重要性,确保团队成员能够互相支持、协作共进。
在系统设计阶段,我们根据需求分析和技术选型的结果,制定了详细的设计方案。我们注重系统的可扩展性、可维护性和安全性,确保系统能够满足未来的需求变化。在开发过程中,我们严格按照项目计划进行,确保了项目的进度和质量。
日常学习过程中的记录
1)Javax.validation是 spring 集成自带的一个参数校验接口,可通过添加注解来设置校验条件。
在Controller上使用 @Valid 或 @Validated 注解 开启校验
public String getuserInfo(@RequestBody @Valid User user){};
@Validated 和 @Valid 的异同
不同点:
- 提供者不同:
- validated 是Spring Validation验证框架对参数的验证机制;
- valid是 javax 提供的参数验证机制
- 作用域不同:
- validated :类,方法,参数
- valid:方法,字段,构造方法,参数
参数校验常用注解 @Null,@ NotNull,@ NotBlank,@NotEmpty
2)oracle decode函数的使用方法
decode(字段,值1,值2,值3)
这个函数运行的结果是,当字段的值等于值1时,该函数返回值2,否则返回值3。
案例1:比如我要查询某班男生和女生的数量分别是多少?
代码如下:
select decode(性别,男,1,0),decode(性别,女,1,0) from 表
案例2:表table_subject,有subject_name列。要求按照:语、数、外的顺序进行排序。这时,就可以非常轻松的使用decode完成要求了。
代码如下:
select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, , '外语',3)
通过文章进行技术交流
当我们成为开发之后的两年之后,就需要去给你自己梳理技术树. 去发现自己的在技术方面的薄弱区. 在开发过程中,也会遇到棘手的需求.在这个过程,我们寻求解决策略,到决定解决方案以及解决BUG的过程都是一次次非常值得分享的经历. 积累的经验和心得,我们会选择用自然语言记录下来,形成文章并在不同的平台上分享。
收获
提示:在创作的过程中都有哪些收获
例如:
1)获得了多少粉丝的关注
2)获得了多少正向的反馈,如赞、评论、阅读量等
3)认识和哪些志同道合的领域同行
比如:后端,Java,Javascript等等。
日常
提示:当前创作和你的工作、学习是什么样的关系
例如:
- 创作是否已经是你生活的一部分了
创作已经成为许多人生活的一部分。对于许多创作者来说,创作不仅仅是工作,更是生活的一部分。创作与生活紧密相连,生活是创作的源泉。
创作的内容往往来源于生活,艺术家从生活中提取有价值的内容,将其浓缩成艺术作品呈现。艺术是生活的提炼,优秀的艺术品总能让人震撼,因为它揭示了生活的本质。
- 有限的精力下,如何平衡创作和工作学习
写博客需要投入时间和精力,这可能会占用一部分工作和学习的时间。因此,合理的时间管理和精力分配是关键。可以通过规划时间表,确保工作、学习和博客创作三者之间的平衡。
工作和学习是相互促进的。通过工作实践可以积累经验,这些经验可以通过博客分享,帮助他人并巩固自己的知识;同时,通过学习可以提升自己的技能,为工作提供更好的支持。
成就
提示:你过去写得最好的一段代码是什么? 请用代码块贴出来
例如:
- 某个解题代码
public static void main(String[] args) throws Exception {
/**
* 对于任意一个对象,都可以把它的字段名和对应的值保存到文件中去
*/
People people = new People(22, "小张", "1234588");
Student student = new Student(24,"小明");
writeFile(people);
writeFile(student);
}
public static void writeFile(Object obj) throws Exception {
//打印流
PrintStream printStream =
new PrintStream(new FileOutputStream("D:\\projectsJava\\springboot-day01\\src\\data.txt",true));
Class<?> aClass = obj.getClass();
String simpleName = aClass.getSimpleName();
printStream.println("---------"+simpleName+"---------");
Field[] declaredFields = aClass.getDeclaredFields();
for (Field declaredField : declaredFields) {
declaredField.setAccessible(true);
String fieldName = declaredField.getName();
String fieldValue = declaredField.get(obj) + "";
printStream.println(fieldName + "=" + fieldValue);
}
printStream.close();
}
- 某个项目实现代码
@Autowired
private UserMapper userMapper;
@Autowired
private StringRedisTemplate stringRedisTemplate;
public static final String ALL_USER_KEY = "allUser";
@RequestMapping(value = "/selectUserAll")
@ApiOperation(value = "根据用户名称查询服务",tags = "列表1")
public List<SysUser> selectUserAll(
@RequestParam(value = "pageSize",required = false) Integer pageSize,
@RequestParam(value = "pageCount",required = false) Integer pageCount){
// if(pageSize <1){
// pageSize = 1;
// }
/**
* 1 int start = (pageSize - 1) * pageCount; // limit分页 (当前页 -1)* 每页条数
* 2 List<SysUser> list = userService.selectUserAll(start,pageCount);
* 3 查询出totalCount 和list列表一起封装进map集合里返回前端
*/
// 从redis缓存中获取
String allUser = stringRedisTemplate.opsForValue().get(ALL_USER_KEY);
List<SysUser> userList;
if(StrUtil.isBlank(allUser)){
//查询数据库,再把key放到缓存
userList = userMapper.selectUserAll();
stringRedisTemplate.opsForValue().set(ALL_USER_KEY, JSONUtil.toJsonStr(userList));
} else {
//从缓存中直接获取数据
userList = JSONUtil.toBean(allUser, new TypeReference<List<SysUser>>() {
}, true);
}
// List<SysUser> userList = userService.selectUserAll();
return userList;
}
憧憬
提示:职业规划、创作规划等
- 技术深化与拓展:在熟练掌握一种编程语言的基础上,学习并掌握其他相关技术(如前端开发、后端开发等)。
- 项目管理:考取项目管理相关证书(如PMP、高项等),积累项目管理经验,提升项目协调能力。
- 团队领导:寻求团队管理岗位,带领团队完成项目目标,提高团队整体战斗力。
- 技术专家:成为某一领域的专家或技术带头人,为团队提供技术支持和指导。
- 业务拓展:关注行业发展趋势,拓展业务领域,为公司创造更多价值。
- 领导职务:担任公司中高层领导职务,负责公司业务或技术方向的管理和决策。
- 个人品牌建设:通过社交媒体、技术博客等方式建立个人品牌,提高行业影响力。