告别复杂man页:用 tldr 和 cheat.sh 快速查找命令用法

By | 2024-02-28

让命令行学习变得更简单:tldr 和 cheat.sh 在使用命令行工具时,很多人都会遇到这样的情况: 记不清命令的用法:你是不是经常忘了某个命令的具体用法,或者记不清要用什么参数? 手册页太复杂:每次查 man 手册页或 –help 时,是不是觉得信息太多,找不到自己需要的部分? 新手入门难:刚开始学习命令行时,是不是觉得每个命令都有好多选项,不知道从哪里开始学起? 跨平台差异:不同操作系统之… Read More »

一站式开发者资源,一看就懂 – 各种语言、框架、工具的快速参考

By | 2024-02-26

Reference – 程序员的速查宝典 这是什么? https://github.com/jaywcjlove/reference是一个超级实用的速查网站,其对https://github.com/Randy8080/reference进行了翻译,收集了程序员经常用到的各种编程语言、工具的使用方法。可以把它看作是一个在线的”小抄”合集,包含了编程中最常用的知识… Read More »

为什么你总买买买?15种让你无法抗拒的消费者心理

By | 2024-02-06

商家的套路大揭秘:15种让你忍不住掏腰包的秘密 今天咱们来聊聊15种常见的消费者心理,以及商家是怎么巧妙地利用这些心理来做营销的。相信听完之后,你会对市场营销有更深的理解,也能更好地应对各种消费陷阱。 1. 恐惧心理 大家都知道,人天生对一些事情存在恐惧,比如贫穷、肥胖、疾病、失去爱、年老、死亡和危险等。当面对这些恐惧时,我们总想找办法来减轻或消除它们。商家正是抓住了这一点,通过放大我们的恐惧来推… Read More »

提问的智慧 – 程序员怎样提问回答问题?

By | 2024-02-02

如何提问与回答更高效:详尽指南 在技术社区或问题讨论中,无论是提问还是回答,都需要技巧和策略。这篇文章总结了多个经典文章的核心观点,以通俗易懂的方式为大家梳理如何提出高效的问题以及如何提供有价值的回答。无论你是新手还是资深用户,这些建议都能帮你更好地融入社区。 提问者指南 1. 避免大喊大叫:表达方式要平和 提问时,保持平和的语气非常重要。不要使用过大的字体、鲜艳的颜色或大量的感叹号,这会让人觉得… Read More »

grep平替:ripgrep-all(rga) – 高效搜索pdf/zip/doc等文件内容

By | 2024-01-22

标题:深入解析rga命令——grep的高效替代工具 在现代软件开发和系统管理中,搜索文件内容是一项非常常见的任务。传统的grep工具及其变体如egrep、fgrep等,长期以来一直是Linux和Unix系统中不可或缺的文本搜索利器。然而,随着技术的发展和需求的增加,这些工具在处理大型项目或复杂搜索模式时逐渐显现出不足。为了应对这些问题,ripgrep-all(rga) 应运而生,它是一个更为强大和… Read More »

screen/tmux平替:Zellij – 现代终端复用的卓越选择

By | 2024-01-20

Zellij:现代终端复用的卓越选择 在当今快节奏的开发环境中,效率和灵活性是关键。为了满足这些需求,Zellij 应运而生,作为一款现代化的终端复用工具,它为用户提供了超越传统工具如 Screen 和 tmux 的丰富特性和更友好的用户体验。 一、Zellij 简介 Zellij 是一个用 Rust 编写的开源项目,旨在提供一个强大且易用的多窗口终端环境。其官方网站 zellij.dev 提供了… Read More »

diff平替:difftastic – 一个理解语法的结构化差异工具

By | 2024-01-15

diff平替:difftastic – 一个理解语法的结构化差异工具 一、简介 difftastic 是由 Wilfred Hughes 开发的一款开源工具,旨在提供一种更加直观和用户友好的方式来展示文件之间的差异。它是一个跨平台的命令行应用程序,能够解析多种编程语言,并基于语法结构进行差异比较,而不仅仅是简单的文本对比。这使得 difftastic 成为传统 diff 工具的一个有力… Read More »

tailf的增强版:Toolong 与 lnav – 终端日志文件查看工具的详细比较

By | 2023-12-28

Toolong 与 lnav:终端日志文件查看工具的详细比较 在Linux和其他类Unix操作系统中,日志文件是系统和应用程序记录事件、错误和其他信息的重要组成部分。为了更有效地管理和分析这些日志文件,社区开发了多种专门的日志查看工具。本文将比较两个流行的开源日志查看工具——Toolong 和 lnav,探讨它们的使用方法,并客观地列出两者的优缺点。 lnav: 功能丰富的日志查看器 安装 Deb… Read More »

看不懂Shell脚本?来看看这三款Shell在线解释的利器

By | 2023-12-25

探索Shell编程的利器:explainshell.com, shellcheck.net 与 shell.how 在Linux和Unix类系统的世界里,Shell脚本是实现自动化任务、文件管理及系统操作的强大工具。然而,编写高效且无误的Shell脚本并非易事,尤其是对于新手来说。幸运的是,互联网上存在一些优秀的在线平台,它们能够帮助开发者更好地理解、分析并改进他们的Shell代码。本文将深入探讨… Read More »

快速切换国内镜像源:chsrc 让 Linux 系统和全平台软件更新更高效

By | 2023-12-11

chsrc – 全平台通用换源工具与框架 简介 chsrc 是一款专为国内用户设计的开源工具,旨在帮助用户快速更换 Linux 系统、编程语言以及多种软件的最快国内镜像源。通过简单的命令行操作,chsrc 可以显著提高系统和软件包的更新速度,让用户体验到更流畅的操作环境。 功能亮点 全平台支持:chsrc 支持包括但不限于 Linux (如 Ubuntu, Mint, Debian, … Read More »

Spring getBean是如何解决循环依赖和多次动态代理

By | 2019-12-08

通过此文你可以了解Spring: refreshContext里的getBean做了什么事情 BeanPostProcessor中多个拓展点的调用时机 动态代理的入口 解决循环依赖的机制 同时面对循环依赖和多次动态代理的做法 切入问题的代码 为了模拟循环依赖和多次动态代理,使用以下代码,可以看到DevController和TestController是互相依赖的,并且通过@Transactiona… Read More »

从ReentrantLock的实现看AQS的原理及应用

By | 2019-12-05

前言 Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过ReentrantLock的基本特性和ReentrantLock与AQS的关联,来深入解读AQS相关独占锁… Read More »

90%的人会遇到性能问题,如何用1行代码快速定位?

By | 2019-12-02

阿里妹导读:在《如何回答性能优化的问题,才能打动阿里面试官?》中,主要是介绍了应用常见性能瓶颈点的分布,及如何初判若干指标是否出现了异常。 今天,齐光将会基于之前列举的众多指标,给出一些常见的调优分析思路,即:如何在众多异常性能指标中,找出最核心的那一个,进而定位性能瓶颈点,最后进行性能调优。整篇文章会按照代码、CPU、内存、网络、磁盘等方向进行组织,针对对某一各优化点,会有系统的「套路」总结,便… Read More »

分布式系统、微服务架构的一致性和幂等性问题相关概念解析

By | 2019-11-13

前言 什么是分布式系统?关于这点其实并没有明确且统一的定义。在我看来,只要一个系统满足以下几点就可以称之为分布式系统 系统由物理上不同分布的多个机器节点组成 系统的多个节点通过网络进行通信,协调彼此之间的工作。 系统作为整体统一对外提供服务,其分布式细节对客户端透明。 要想更好的理解分布式系统,并正确使用甚至构建分布式系统,需要理解其中的两个关键概念——分布式系统的数据一致性和分布式系统的幂等性。… Read More »

Spock in Java 慢慢爱上写单元测试

By | 2019-10-05

前言 最近小组里面引进了Spock这个测试框架,本人在实际使用了之后,体验非常不错,本篇文章一是为了巩固输入的知识,二是为了向大家推广一下。 在了解学习Spock测试框架之前,我们应该先关注单元测试本身,了解我们常见的单测痛点,这样才能更好地去了解Spock这个测试框架是什么,我们为什么要使用它,能解决我们什么痛点。 现在让我们开始吧。 关于单元测试 我们写代码免不了要测试,测试有很多种,对于Ja… Read More »