禅与计算机程序设计艺术
码龄7年
  • 3,433,058
    被访问
  • 2,659
    原创
  • 206
    排名
  • 3,723
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2015-08-23
博客简介:

禅与计算机程序设计艺术

博客描述:
资深程序员。公众号:禅与计算机程序设计艺术。著有《Kotlin 极简教程》《Spring Boot 开发实战》《Kotlin 从入门到进阶实战》。
查看详细资料
  • 6
    领奖
    总分 2,689 当月 115
个人成就
  • 博客专家认证
  • 获得2,772次点赞
  • 内容获得1,166次评论
  • 获得8,118次收藏
创作历程
  • 68篇
    2022年
  • 412篇
    2021年
  • 723篇
    2020年
  • 254篇
    2019年
  • 353篇
    2018年
  • 932篇
    2017年
  • 24篇
    2016年
成就勋章
TA的专栏
  • 大数据
    5篇
  • 架构设计
    16篇
  • 写作
    4篇
  • 读书思考
    2篇
  • 编程实践
    19篇
  • 电商
    3篇
  • 函数式
    10篇
  • Kotlin 开发者社区
    92篇
  • 編程語言
    5篇
  • 摩托车
    1篇
  • 计算机科学与技术
    5篇
  • 数学物理
    2篇
  • 操作系統
    3篇
  • git
    1篇
  • 代码之道
    3篇
  • Linux
    3篇
  • 学习资料
    1篇
  • 云原生
    1篇
  • 读书笔记
    1篇
  • 美食
    2篇
  • Kotlin
    49篇
  • JavaScript
    3篇
  • Java
    20篇
  • MySQL
    9篇
  • SpringBoot
    12篇
  • Android
    3篇
  • 一个会写诗的程序员
    9篇
兴趣领域 设置
  • Java
    java
  • 编程语言
    kotlingolang
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

怎样才算是好程序员?关于好程序员与好代码的杂谈

​怎样才算是好程序员?​· 具有优秀的技术技能,能写出干净整洁的代码。· 具有扎实的开发技术知识和解决问题的专业技术。· 了解编程的最佳实践以及何时使用它们。· 对编程有着持久的热情,并积极为团队做贡献。· 备受团队的其他成员尊敬和喜欢。积极的学习态度,无我之境要想在所在领域出类拔萃,你不需要任何花哨的学位,甚至不需要钱来投资——你所需要的是学习的态度,疯狂的求知欲和基于...
原创
发布博客 2022.05.21 ·
44 阅读 ·
0 点赞 ·
0 评论

怎样在你的团队做 Code Review ?

怎样才是满怀仁爱地工作呢?那就是满怀热情地建造;满怀温情地播种耕耘;仿佛你所爱的人要来。那就是把你心灵的气息灌输到你所制作的一切之中去。雕刻大理石,在石头里寻找自己的灵魂。(纪伯伦)在现实中积聚新活力是一件伟大的事情。(Vincent van Gogh)引子KISS(keep it simple, stupid),意思是“保持简单和笨拙”(UNIX 哲学); Do one...
原创
发布博客 2022.05.18 ·
5710 阅读 ·
27 点赞 ·
12 评论

无名碑

在伦敦闻名世界的威斯敏斯特大教堂地下室的墓碑林中,有一块名扬世界的墓碑。其实这只是一块很普通的墓碑,粗糙的花岗石质地,造型也很一般,同周围那些质地上乘、做工优良的亨利三世到乔治二世等二十多位英国前国王的墓碑,以及牛顿、达尔文、狄更斯等名人的墓碑比较起来,它显得微不足道,不值一提。它没有姓名,没有生卒年月,甚至上面连墓主的介绍文字也没有。但是,就是这样一块无名氏墓碑,却成为名扬全球的著名墓碑。每一个...
原创
发布博客 2022.05.17 ·
72 阅读 ·
0 点赞 ·
0 评论

使用MPS模型——应对当下全球疫情经济危机互联网寒冬

​最近这几年,接连不断地“黑天鹅”在袭击我们的生活:2019年底至今的新冠疫情;2021年教培行业大整改;2022年互联网行业大裁员;···这些突如其来的巨变,给每个人都造成很大的影响。特别是今年互联网行业大裁员,很多人因此而失掉了工作,背上了繁重的就业压力,处于崩溃的边缘。​1.人类社会发展的黑天鹅纳西姆·塔勒布曾在其畅销书《黑天鹅》中写道:生活只是少数重大事件的累积结...
转载
发布博客 2022.05.15 ·
83 阅读 ·
1 点赞 ·
0 评论

Makefiles for Go Developers

Quick StartPROJECTNAME=$(shell basename "$(PWD)")all: format testformat: find . -name '*.go' | xargs goimports -wtest: go test -v ./...Makefiles默认的每一行的开头是制表符 (Tab character) , 也可以通过 .REC...
原创
发布博客 2022.05.12 ·
86 阅读 ·
0 点赞 ·
0 评论

真正的自由是节制欲望自律简朴地去生活

卢梭说:“人生而自由,却无往不在枷锁中。”自由无价,但人总是不免困于世俗、困于心、困于情,有执着和偏见,更有痛苦、徘徊与挣扎。每个人都在寻找自由的出口,期望抵达心灵的港湾。生命的最高境界在于精神之独立与自由。一个人要想达到这种境界,就必须排除无穷无尽的物欲与放纵的激情——这两者都是人生的枷锁。只有节制欲望自律生活,才能够打破桎梏枷锁,从而进入精神自由之境界。世界上最大的监狱,就是人的思维之墙。心灵...
原创
发布博客 2022.05.08 ·
225 阅读 ·
0 点赞 ·
0 评论

SQLite3 自定义函数(UDF)

package mainimport ( "database/sql" "fmt" "log" "math" "math/rand" sqlite "github.com/mattn/go-sqlite3")// Computes x^yfunc pow(x, y int64) int64 { return int64(math...
原创
发布博客 2022.05.08 ·
90 阅读 ·
0 点赞 ·
0 评论

SQLite3 极简教程 & Go 使用 SQLite 内存模式操作数据结构

SQLite 简介关键词: RDBMS (embedded), CSQLite is a database engine written in the C language. It is not a standalone app; rather, it is a library that software developers embed in their apps....
原创
发布博客 2022.05.08 ·
136 阅读 ·
0 点赞 ·
0 评论

协程与Channels (CSP: Kotlin, Golang)

概述众所周知,编写具有共享可变状态的代码非常困难且容易出错。通过通信共享信息而不是使用通用可变状态共享信息试图简化这一点。协程可以通过通道相互通信。CSP通信顺序进程CSP, communicating sequential processes.CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。CSP...
原创
发布博客 2022.05.08 ·
63 阅读 ·
0 点赞 ·
0 评论

Ethereum Architecture : 以太坊架构

Ethereum Architecture去中心化背后的想法是不依赖单一/集中式服务器.以太坊区块链到底是什么?区块链有两个主要组成部分:数据库:网络中的每笔交易都存储在区块链中。当您部署应用程序时,它被视为一个事务。例如,如果您有一个允许任何人为候选人投票的投票应用程序,那么对候选人的投票将被视为交易。所有这些交易都是公开的,任何人都可以看到并验证。这些数据永远不会被篡改...
原创
发布博客 2022.05.07 ·
76 阅读 ·
0 点赞 ·
0 评论

spring boot maven package 失败(invalid entry size (expected 4 but got 3 bytes))

问题分析报错: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.14.RELEASE:repackage (default) on project PEIM_BOOT: invalid entry size (expected 4 but got 3 bytes)[ERROR] Faile...
原创
发布博客 2022.05.05 ·
67 阅读 ·
0 点赞 ·
0 评论

Go 延迟调用 defer 用法详解

引子package counterimport ( "log" "sync")type Counter struct { mu *sync.Mutex Value int}func NewCounter(value int) *Counter { return &Counter{ new...
原创
发布博客 2022.05.05 ·
87 阅读 ·
1 点赞 ·
0 评论

Go 使用互斥锁(sync.Mutex)实现线程安全的内存本地缓存(LocalCache)

本地缓存实现var cache = struct { // 声明 struct 字面量 cahce (匿名结构体) sync.Mutex // 互斥锁, 内嵌 Struct caches map[string]string // kv 内存存储}{ caches: make(map[string]string), // 初始化...
原创
发布博客 2022.05.05 ·
65 阅读 ·
0 点赞 ·
0 评论

Go 指针与引用:值传递和址传递

值类型与指针类型1.值类型定义:变量直接指向存在内存中的值,我们称之为值类型。值类型的变量的值存储在栈中。值类型,将一个变量赋值给另一个变量,称为值拷贝。实例package main import "fmt" func main(){ var num1,num2 int num1 = 10 num2 = num1 // 值类型赋值操作 f...
原创
发布博客 2022.04.29 ·
140 阅读 ·
1 点赞 ·
0 评论

sync.Mutex 与 sync.WaitGroup 使用示例

使用 sync.Mutex 与 sync.WaitGroup线程不安全的用法:{ var wg sync.WaitGroup count := 0 for i := 0; i < 10; i++ { // wg add 1 goroutine wg.Add(1) // goroutine go fun...
原创
发布博客 2022.04.29 ·
93 阅读 ·
0 点赞 ·
0 评论

Go 并发模式: context.Context 上下文详解

简介Package context 中定义了 Context 类型, 用于跨 API 或跨进程之间传递数据,包含 deadlines, cancellation signals, 以及其他 request-scoped values 。对服务器的传入请求应该创建一个Context上下文,对服务器的传出调用应该接受一个Context上下文。它们之间的函数调用链必须传播 Context,可选择将其...
原创
发布博客 2022.04.27 ·
121 阅读 ·
0 点赞 ·
0 评论

dmp引擎工作总结(2021,光剑)

这几天深入地去反思反省思考总结了我过去一年来做dmp引擎工作的问题&目标:1.技术方面。a.系统架构设计上的理解需要进一步提升认知和思维能力:分层&模块拆解&代码结构分层与解耦等。b.这个需要我不断去阅读优秀框架源码,多看架构领域书,多跟优秀的人学习请教,持续学习夯实计算机基础。c.写代码多思考多想,好好设计一下,足够简洁明了清晰清楚了,再动手,写出“金字塔结构”的代码,清...
原创
发布博客 2022.04.21 ·
92 阅读 ·
1 点赞 ·
0 评论

react-app-rewired 修改 react 项目默认端口号

package.json设置: "dev": "PORT=8888 react-app-rewired start"如下:{ "name": "arco-design-pro", "version": "1.0.0", "description": "Arco Design Pro", "scripts": { "start": "react-app-rewired ...
原创
发布博客 2022.04.12 ·
784 阅读 ·
0 点赞 ·
0 评论

关于软件架构设计的核心思想与标准 ( IEEE 1471 2000 )

What Is Architecture?软件系统的架构是一个隐喻,类似于建筑物的架构。存在着一个极为重要的特质,它是人、城市、建筑或荒野的生命与精神的根本准则。这种特质客观明确,但却无法命名。( C·亚历山大《The Timeless Way of Building》)架构(Architecture)这个词来源于建筑学。IT这个行业中的词汇许多都来源于传统行业。传统行业...
原创
发布博客 2022.04.08 ·
827 阅读 ·
1 点赞 ·
0 评论

Monaco Editor Webpack Loader Plugin

Monaco Editor Webpack Loader PluginA plugin to simplify loading the Monaco Editor with webpack.Installingnpm install monaco-editor-webpack-pluginUsingwebpack.config.js:const MonacoWebpackPlug...
原创
发布博客 2022.04.07 ·
380 阅读 ·
0 点赞 ·
0 评论
加载更多