Stay hungry, stay foolish

To Be A Coder

Java 中 Optional 的使用

发布于 # 笔记

升级 SpringBoot2 之后 SpringData 也一并升级到了 2.0.5,之前的 CrudRepository 提供的默认实现很多都采用了 Optional 的方式,致使之前业务代码中的 null 处理显得很尴尬,在迁移过程中记录整理下 Optional 的一些使用。 NPE 作为 Java 中最著名的梗已无需多言,Java8 之后提供了 Optional 的方式来对其进行处理,毕竟 Java 作为一个大龄语言,没有 Elvis 之类的特殊语法或运算符来处理 null 这种类型(结果),加入 Optional 这种语法糖也算是一点点进步。 以实际中 SpringData 的一些操作为例 //传统方式 User user = userRepository.findById(1L); if (user == null) { throw new Exception("us

编程&软件开发段子

发布于 # 随笔

收集些编程&软件开发领域的一些概念或者论述,不知道怎么定义这些有意思的小句子,暂且命名为段子好了。 Joe 老爷子的似乎一直都蛮多 programming is not about code, it’s about understanding. everything is a process. process creation and destruction is a lightweight operation. message passing is the only way for processes to interact. processes have unique names. if you know the name of a process you can send it a message. processes share no res

Ubuntu_Java环境配置

发布于 # 笔记

目前生产环境和测试环境机器使用都是 JDK8,阿里云新增机器也统一使用 Ubuntu16.04,记录下其中 Java 环境的安装。 安装 Default JRE/JDK Ubuntu 上最快捷方便的方式是直接使用已经被打包进来的 JDK,当前默认是 OpenJDK 8,虽然因为各种原因我并没有使用。 sudo apt-get update sudo apt-get install default-jre sudo apt-get install default-jdk 安装 Oracle JDK 如果想通过 apt 的方式来安装 Oracle JDK,需要增加 Oracle 的 PPA。 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-in

迟来的总结

发布于 # 随笔

16 到 17 的过渡,基本是在一种混沌的状态中进行的,换工作,换岗位,换角色,不停的转变,然后一直感觉找不到定位是什么,角色是什么,第一次感觉好像自己适应能力不怎好,也许是在能力以及职业生涯的发展是遇到了一个瓶颈,然而确找不到立马能够见效的方法去突破,所以变的有些浮躁亦有些盲目,简单的说就是最近真是迷,各种都不怎么在状态。可能是时候需要静下心来,好好总结下过去的一年,以及工作以来的状态和杂七杂八的,算是总结,也算是一个计划。 从全职实习开始,工作 3 年,涉及的内容主要以数据挖掘、服务端为主,语言涉及Java Python R C C++ Ruby Go Lua Scala,主力语言基本是 Java,其他语言算是为了完成某项特定需求的工具,不敢妄言说熟练,只是能用来解决问题,大规模工程化自己心里似乎也没底。涉及到的技术内容基本涵盖了当今互联网的热门内容,机器学习、数据库、服务端相关、数据

Two Sum

发布于 # 算法

开始整理下自己之前在 LeetCode 上的一些题解,每天再做一些。 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. 解法: public class Solution { public int[]