随想感悟
大大小小, 好事儿, 破事儿, 没事说说
静谧之心
专业摩的佬
业余吉他手
退役喷子
展开
-
每期一个小窍门: 关于 golang 2006年1月2日15时4分5秒 这个时间彩蛋
在Go语言中,time.Format方法的参数使用的是一种固定的格式化布局,这个布局是以Go的发布日——2006年1月2日15时4分5秒(对应于常量Mon Jan 2 15:04:05 MST 2006)为模板来指示时间的格式。在使用 time.Format 方法时,必须使用上面这个准确的时间来指定你想要的格式,因为Go语言将使用这个布局字符串中的数字位置来识别相应的时间部分。比如,如果你想要小时和分钟,你就使用 “15:04” 作为格式字符串。原创 2024-08-22 11:15:58 · 191 阅读 · 0 评论 -
每期一个小窍门: 一文助你理解火焰图
让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。通常,它的执行频率是99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。上面的代码中,perf record表示记录,-F 99表示每秒99次,-p 13204是进程号,即对哪个进程进行分析,-g表示记录调用栈,sleep 30则是持续30秒。原创 2023-09-06 16:35:07 · 230 阅读 · 0 评论 -
D2: 基于go实现的一个DSL 绘图工具 高手效率神器
D2 是一种声明式流程图的领域特定语言 (DSL),声明式只需要描述你想要的流程图即可,它就会自动生成对应的图像。原创 2023-08-19 15:08:48 · 501 阅读 · 0 评论 -
谈谈 SRE 和 DevOps 的区别
SRE 全称 Site Reliability Engineering.DevOps 全称 Development and OperationsDevOps是开发拥抱运维,开发人员需要学习运维的相关知识能够承担运维的工作. 本质偏向开发Googel的SRE是运维侧发起的,运维去拥抱开发,运维的人员需要具备一定的开发能力. 本质偏向运维...原创 2022-06-21 15:41:49 · 500 阅读 · 0 评论 -
每期一个小窍门(001): 一个简单优雅的redis 工具类 (最简单版本)
最近决定新开一个每期小窍门专栏, 向志同道合的朋友们互相分享一些小窍门, 小经验,这一期, 给大家一个非常简单好用的redis工具类, 非常轻量, 砍掉了很多不必要的功能, 如果需要比如过期的相关功能, 私信或下方评论发送.需要如下maven依赖, 如果用的其他的包管理工具, 也很容易找到, 都差不多的<dependency> <groupId>org.springframework.boot</groupId> <artifa原创 2021-08-10 18:23:06 · 362 阅读 · 3 评论 -
每期一个小窍门(002): 通过idea 配置自动生成 序列化ID
File -> Settings -> Editor -> Inspections -> 搜索 Serialization issues ,找到 Serializable class without ‘serialVersionUID’ ->打上勾,Apply->OK位置效果原创 2021-08-10 17:59:13 · 333 阅读 · 0 评论 -
使用Jenkins实现重构项目并部署项目到阿里k8s环境运行
第一步比如我有一个项目A, 并且jenkins里配置的构建分支名称为 --> branchA所以在构建前, 需要将最新的master分支merge到branchA分支, 保证gctest拥有全部最新的代码变更.第二步以这个A项目为例,进入到Jenkins主页面点击我们的namespace 这个是我们的safefood集群的的namespase点击A项目进入到A项目管理页面后, 点击BuildNow下方会有个类似的进度条, 表示该系统正在构建, 可以点击进去, 查看详细构建lo原创 2021-06-09 18:10:56 · 747 阅读 · 0 评论 -
gradle和maven对比
本文是我逛知乎的时候看到的的大佬发言, 转载于此.首先gradle和maven根本就不是同一种类的东西,gradle是构建工具,为了构建,带有依赖缓存功能(不是包管理功能)maven是依赖包管理工具,通过插件带有一定的构建能力。看清楚他们的侧重点没有,gradle可以完成非常复杂的构建,你用它的dsl可以玩出各种花样来,所以它特别适合android这种重客户端,组件越多越复杂的应用(本质就是巨石应用)它越得心应手,反之如果你没有特别复杂的打包要求,那你就是在用牛刀杀鸡了。gradle没有依赖包原创 2021-06-07 18:11:10 · 2947 阅读 · 0 评论 -
什么是函数的side effects, 如何通俗的理解它?
Side effect就是“副作用”(侧面影响),通常是对于一个函数而言的,说一个函数“有副作用”或者“没有副作用”。如果一个函数修改了自己范围之外的资源,那就叫做有副作用,反之,就是没有副作用。总结一下, 有副作用(side effects)的函数会做(不限于)这些事情:修改全局变量修改输入参数所引用的对象做输入输出操作调用其他有副作用的函数...原创 2021-05-07 09:28:31 · 24489 阅读 · 1 评论 -
什么是云原生?
云原生从字面意思上来看可以分成云和原生两个部分。云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。那具体要怎么利用呢,请参考下图:微服务微服务解决的是我们软件开发中一直追求的低耦合+高内聚,记得有一次我们系统的接口出了问题,结果影响了用户的前台操作,于是黎叔拍案而起,灵魂发问:“为啥这两个会互原创 2021-02-07 14:11:29 · 700 阅读 · 0 评论 -
Spring Cloud Gateway 路由谓词工厂详解
Predicate是Java 8提供的一个函数式编程接口。谓词工厂…谓词工厂…, 听着玄乎, 其实就是if条件, 叫它trigger也挺合适谓词工厂有很多种AfterBeforeBetweenCookieHeaderHostMethodPathQueryRemoteAddr路由配置的两种形式1. 路由到指定URL示例1:通配spring: cloud: gateway: routes: - id: {唯一标识} uri:原创 2020-11-26 15:30:24 · 744 阅读 · 1 评论 -
docs2unix 命令介绍
命令简介:dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。最近被坑了一把 docker在linux服务器上到死都找不到启动脚本, 最终定位到是window的文件和linux/u原创 2020-11-02 17:03:10 · 1116 阅读 · 0 评论 -
chrome浏览器默认非安全端口列表带来的坑
以下为Google Chrome 默认非安全端口列表:访问会直接被拦截1, // tcpmux7, // echo9, // discard11, // systat13, // daytime15, // netstat17, // qotd19, // chargen20, // ftp data21, // ftp access22, // ssh23, // telnet25, // smtp37, //原创 2020-09-27 14:05:09 · 1849 阅读 · 0 评论 -
如何写出一流的SDK?
怎么样的SDK算是一个好的SDK?在做SDK的过程中我们走过非常多的弯路,是一个难以想象的学习过程,我们总结一个好的SDK应该具备的特质:易用性,稳定性,轻量,灵活,优秀的支持.一、易用性因为工作的关系我接触了很多的开发者,其中有行业知名的公司的开发者,也有极小的个人开发者.有一个现象很有意思,不管是能力较强的开发者还是能力一般的开发者,他们都会不停的对你的SDK吐槽.因为他们对于好用的标准是不一样的,所以你必须要将你的SDK易用性考虑到极致,不然后续的技术支持将是一个十分痛苦的事情.不要过度设计转载 2020-09-17 17:20:12 · 1687 阅读 · 4 评论 -
Java 效率提升系列之 Optional对象
Optional 类(java.util.Optional)它是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。常用方法:Optional.of(T t) : 创建一个 Optional 实例。Optional.empty() : 创建一个空的 Optional 实例。Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例。原创 2020-07-07 10:41:01 · 637 阅读 · 0 评论 -
关于GitHub客户端 authentication failed的解决办法
网上的各种方法都试过了, 包括去控制面板删除钥匙串, git bash删除登陆缓存,repo远程连接 https ssh 互相切换,包括重新登录, 还是没有解决。偶然尝试将repo的url中加入用户名和密码,https://用户名:密码@github.com/bestksl/xxx.git问题解决!...原创 2020-02-01 08:21:33 · 3978 阅读 · 4 评论 -
从 Windows 过度到 Mac 必备快捷键对照表(IntelliJ IDEA)
Mac 键盘符号说明⌘==Command ⇧==Shift ⇪==Caps Lock ⌥==Option ⌃==Control ↩==Return/Enter ⌫==Delete ⌦==向前删除键(Fn+Delete) ↑==上箭头 ↓==下箭头 ←==左箭头 →==右箭头 ⇞==Page Up(Fn+↑) ⇟==...原创 2019-11-06 08:45:36 · 889 阅读 · 0 评论 -
一分钟了解 java13 新特性!
2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布。目前,JDK官网上已经可以看到JDK 13的进展,最新版的JDK 13已于2019年9月17日发布。目前,JDK13处于Release-Candidate Phase(发布候选阶段),将于9月17日正式发布。目前该版本包含的特性已经全部固...原创 2019-10-23 08:13:34 · 193 阅读 · 0 评论 -
从技术债务的角度, 谈谈重构
首先, 何谓重构(Refactoring)?它的名词定义是:对软件内部结构的一种调整, 目的是在不改变软件可观察行为的前提下, 提高其可靠性, 降低其修改成本.所以重构在我们眼里 它应该是这样的关于技术债务(Technical Debt):开发团队在设计或架构选型时, 从短期效应的角度选择了一个易于实现的方案. 但从长远来看,这种方案会带来更消极的影响,亦即开...原创 2019-10-20 14:44:55 · 19646 阅读 · 1 评论 -
MacBook Pro 外接显示器设置竖屏
屏幕旋转的选项在点了镜像之后才可以看到, 旋转之后在取消镜像, 大功告成!原创 2019-10-16 04:26:00 · 2483 阅读 · 0 评论 -
服务器太贵了 注销实例 从bestksl.com搬家! 以后好好写博客!
服务器太贵了 注销实例 从bestksl.com搬家! 以后好好写博客!加油!原创 2019-09-20 03:06:30 · 267 阅读 · 0 评论