使用 log 占位符便利日志输出

介绍了如何使用日志的占位符来简化日志字符串的拼接输出

在开发活动中, 记日志是一个很常见的操作. 记日志经常涉及到拼接字符串, 因为我们常常需要把参数的值输出出来, 同时拼上字样的提示, 这样后续查看时才好知道发生了什么.

比如这样:

package net.xiaogd.sample.mybatis.controller;

import lombok.extern.slf4j.Slf4j;
import net.xiaogd.sample.mybatis.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
public class LogController {

    @GetMapping("/hello")
    public String hello(@ModelAttribute User user) {
        log.info("username: " + user.getUsername() + " , age: " + user.getAge());
        return "hello there";
    }
}

注: 如果对这里 @Slf4j 式注入 log 变量的写法有疑问, 请参考: 使用 lombok @Slf4j 注解简化日志功能的引入

这样的方式一旦参数多了, 就会显得很凌乱, 写起来也不方便, 看上去也是支离破碎的.

很多人可能因此就不去记日志了, 或者只记很少的变量的值, 给后续的排查问题就带来了麻烦.

继续阅读“使用 log 占位符便利日志输出”

平均法则

介绍了什么是平均法则, 以及如何用它指导我们的日常做事

所谓 平均法则(The Law of Averages), 假如你是一个推销员, 今天你打算向 100 个顾客推销, 根据平均法则, 有 80 位根本不会考虑买你的东西, 甚至连交谈的机会也不会给你; 然后有 10 位左右是愿意与你交谈的, 但你想跟他们达成交易还是比较困难的; 最后有 10 位呢, 则是很容易成交的那种顾客, 也即是你根本不需要有多么厉害的推销技巧, 也不需要你巧舌如簧, 哪怕你就是一个新手, 你也能很顺利地与他们达成交易.

这样的一种顾客的分布情况, 也即 80% 是困难的, 10% 是一般的, 还有 10% 是容易的, 就是所谓的平均法则.

当然, 这个比例也许更极端一点, 比如 95% 是困难的, 4% 是一般的, 只有 1% 是容易的.

但不管是哪种比例, 理想一些的还是极端一点的, 都暗含了这样一个意思: 当你不停地遭到拒绝, 其实你就越来越接近于成交!

这样一个法则, 它有两层含义:

继续阅读“平均法则”

利用 String format 方法及占位符优雅拼接字符串

介绍了 Java 语言里如何使用 String.format 去优雅地拼接字符串

不论是哪个编程语言, 拼接字符串都是一个频繁的操作, 很多的语言都支持通过重载"+"号运算符来拼接字符串, 这也是最常见快捷及直观的方式.

除了用"+"号拼接外, 有的语言还支持更先进的拼接方式, 比比较新版本的 javascript 语言还支持比较优雅的利用 ${XXX} 的方式去传递变量值, 这就已经基本接近了很多模板技术的写法了, 比如这样:

let name = '小明';
let age = 20;
console.log(`他的名字叫${name}, 他今年${age}岁.`); // 注意字符串用键盘左上角的撇号(`)括起来而不是引号

继续阅读“利用 String format 方法及占位符优雅拼接字符串”

专注于你能控制的东西

为什么要专注于你能控制的东西?

做事情有一个误区, 就是容易陷入对那些自己不能控制的事情的纠结当中, 而不是专注于自己能够控制的事情当中.

举例来说, 我们说要成为一个更有钱的程序员, 那有的人可能就会想, 那我是不是天天就琢磨怎么找老板谈加薪呀? 说实在的, 最终能不能加薪或者能加多少这个其实你自己不好控制的.

当然不是说你不要去找老板谈这个, 但更重要的, 你应该首先关注那些你能控制的事情, 然后把它们做好先.

比如说, 一段时间来, 经常上班都要迟到那么一会, 总要差个十几分钟, 那么, 能不能先做到上班不要迟到呢?

这个事情就是我们能够控制的.

继续阅读“专注于你能控制的东西”

一起读书, 成为更有钱的程序员

独学而无友, 则孤陋而寡闻

欢迎加入程序员一起读书活动, 成为更有钱的程序员!

为什么要一起读书? 因为子曾经曰过: 独学而无友, 则孤陋而寡闻.

为什么要成为更有钱的程序员? 不是应该成为更好的程序员吗? 原因在于前者更好衡量.

这里有个所谓的 SMART 原则, 具体见这篇的介绍: 成为更好还是更有钱的程序员?

继续阅读“一起读书, 成为更有钱的程序员”