越努力 越幸运

【置顶】工作学习中的笔记

以 Gitjub Issue 的形式记录工作、学习中遇到的各种知识点笔记、疑难点的解决方案。

列举部分重点笔记:

更多详细笔记请前往这里阅读。

这里有一份我的书籍列表,欢迎探讨!

《简单的艺术》读书笔记

简单,就是拥有极少,把空间留给必需和精华。简单,让生活摆脱使人精力分散、紧张不安的偏见、拘束和压力,为我们提供很多问题的解决办法。

不要再拥有过多的东西,你将省出更多时间来关注自己的身体。当对自己的身体感觉良好时,就能忘记肉体的存在,专注于精神发展,达到充满意义的生命状态。你将感到更加幸福!

– 来源于《简单的艺术》封面

在书的扉页上有这样一句日本著名俳(pái)句诗人小林一茶的俳句:

“春至陋室中,无一物中万物足。”

苏东坡在《东坡禅喜诗》中也有类似的诗句:

无一物中无尽藏,有花有月有楼台。

看到这里,是不是会想起著名的《菩提偈》呢?

菩提本无树,明镜亦非台,本来无一物,何处惹尘埃。

没错,作者多米尼克·洛罗就是运用禅宗和道家的思想去解释极简主义对人身心的净化。

米兰·昆德拉在《生命不能承受之轻》中对”简单”是这么写的:

我把简单当做生命中的统一原则。我下决心只保留最低限度的物品。在这种苦行和斯巴达式做法的某个角落中藏着某种赐福,我将冥思苦想,直到这种赐福变成我自己的。

今天在公司把这本去年读完的《简单的艺术》整理成读书笔记,分享给”一切希望过更简单的生活,改善物质、身体、心理和精神状况的人,帮助他们发掘自身具有的巨大潜能。”

删除那些文件名奇怪的文件

在某些情况下会产生文件名特殊的文件,如<>!*等字符,可以使用转义符双引号来控制文件名进行删除。

但如果特殊的文件名是以-开头的,则上面的方法就实效了,如:

[➜ ~]$ ls
com	java	-a	ci

该目录下产生了一个特殊文件名的-a文件,如果想要删除它,该如何做呢?

Go 语言 struct 方法该使用 pointer 还是 value 传值?

在 Go 语言中 struct 方法可以使用 pointervalue 两种形式进行传值:

func (s *MyStruct) pointerMethod() {} // method on pointer
func (s MyStruct) valueMethod() {} // method on value

但是,这两种方式都在什么场景下使用呢?

Go 语言 HTTP Server 源码学习

1. HTTP Server 实现

在 Go 语言中, HTTP Server 是指支持 http 协议的服务器,HTTP 是一个简单的请求-响应协议,通常运行在 TCP 之上,通过客户端发送请求给服务器得到对应的响应。

在 Go 中一个简单 HTTP 服务实现如下:

package main

import (
    "fmt"
    "net/http"
)

// step3. 处理请求并返回结果
func Hello(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "Hello world!")
}

func HelloUser(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "Hello thinkerou!")
}

func main() {
    // step1. 注册路由
    http.HandleFunc("/", Hello)
    http.HandleFunc("/user/", HelloUser)

    // step2. 监听服务
    http.ListenAndServe(":8080", nil)
}

这就是一个完整的简单的 Go HTTP Server 程序,运行该程序后,在浏览器输入 http://127.0.0.1:8080/ 将会输出 Hello world!,以及输入 http://127.0.0.1:8080/user/ 将会输出 Hello thinkerou 到浏览器窗口。