.gitignore 规则写法.gitignore 文件用于指定哪些类型的文件应被 Git 忽略。以下是一些常用的忽略规则: 在已忽略文件夹中不忽略特定的子文件夹: 12/node_modules/*!/node_modules/layer/ 在已忽略文件夹中不忽略特定的文件: 12/node_modules/*!/node_modules/layer/layer.js 注意:要使这些规则生效,被忽略的文件或目录需要以 /* 结尾。此外,请参考以下规则写法: 以斜杠 / 开头表示目录; 星号 * 可匹配多个字符; 问号 ? 匹配单个字符; 方括号 [] 内包含单个字符的匹配列表; 大叹号 ! 表示不忽略(跟踪)匹配到的文件或目录; 取消跟踪已版本控制的文件你可以使用 git update-index --assume-unchanged <file> 命令来取消对一个文件的跟踪。这适用于你希望暂时停止 Git 监控特定文件变动的情况。 1git update-index --assume-unchanged your_file_path 从版本库中 ...
新时代码农
未读新建代码库在开始任何项目前,我们通常需要创建一个新的代码库。这可以通过以下方式完成: 123456# 在当前目录创建新的git仓库$ git init# 初始化一个新目录作为Git代码库(如果这个目录已存在)$ git init [project-name]# 克隆远程代码库至本地$ git clone [url] 注意事项: 请确保选择合适的位置和项目名称,避免与现有文件或目录冲突。 如果要克隆一个项目,请确认你有访问权限以及所选 URL 是正确的。 配置配置 Git 有助于确保你在提交时信息准确且一致: 1234567# 查看当前Git的全局配置$ git config --list# 编辑本地或全球的gitconfig文件$ git config -e [--global]# 设置提交代码时的基本用户信息(推荐使用--global)$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]" 注意事项 ...
在 Ubuntu 系统的使用过程中,熟练掌握图形界面与命令行模式的切换,以及配置 SSH 服务是非常有用的技能。下面我将分享一些基本的操作步骤,帮助 Ubuntu 初学者们更好地管理自己的系统。 图形界面与命令行模式切换在 Ubuntu 系统中,你可以通过以下快捷键在图形界面和命令行模式之间进行切换: 切换到命令行模式:使用 Ctrl + Alt + F2 到 F6。每个组合键会打开一个新的命令行界面。 切换回图形界面:使用 Ctrl + Alt + F7。 安装 openssh-server为了能够远程登录到你的 Ubuntu 系统,你需要安装 openssh-server。 首先,更新你的系统包列表:1sudo apt-get update 接着,安装 openssh-server:1sudo apt-get install openssh-server 查看和开启 SSH 服务安装完成后,你可以检查 SSH 服务是否已经开启。 查看当前运行的进程,确认 SSH 服务是否在运行:1sudo ps -e | grep ssh 如果 SSH 服务没有运行,你可以通过以 ...
深入理解泛型什么是泛型泛型就是变量类型的参数化。在使用泛型前,存入集合中的元素可以是任何类型的,当从集合中取出时,所有的元素都是 Object 类型,需要进行向下的强制类型转换,转换到特定的类型。而强制类型转换容易引起运行时错误。泛型类型参数只能被类或接口类型赋值,不能被原生数据类型赋值,原生数据类型需要使用对应的包装类。 不适用泛型 123456789101112131415161718192021222324252627282930class Test { private Object ob; // 定义一个通用类型成员 public Test(Object ob) { this.ob = ob; } public Object getOb() { return ob; } public void setOb(Object ob) { this.ob = ob; } public void showTyep() & ...
新时代码农
未读Git 是一种分布式版本控制系统,它广泛用于软件开发和项目管理领域,提供了一个简单高效的工具来跟踪文件的修改记录,并允许多个开发者协作。本文档将从基础知识开始介绍,逐步深入到高级用法。 1. 安装 GitLinux:在大多数 Linux 发行版中可以直接通过包管理器安装 Git。 1sudo apt-get update && sudo apt-get install git #对于Debian/Ubuntu用户 或者 1sudo yum install git #对于CentOS/RHEL用户 Windows 和 macOS:建议从官网下载 Git 最新版本的安装程序进行安装:https://git-scm.com/downloads 2. 配置 Git在第一次使用前,需要配置你的用户名和邮箱。这是重要的识别信息。 12git config --global user.name "Your Name"git config --global user.email you@example.com 可以查看已有的配置: 1git confi ...
Nginx(发音为 “Engine-X”)是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3 代理服务器。由俄罗斯工程师 Igor Sysoev 开发,最早发布于 2004 年。Nginx 的轻量和高并发处理能力让它在高流量网站中迅速流行,目前被广泛用于各类服务器环境中。 为什么选择 Nginx?Nginx 具有以下主要优势: 高并发性能:Nginx 采用事件驱动(异步)的非阻塞架构,能够高效处理成千上万的并发连接,特别适合高流量应用。 资源效率:与其他服务器(如 Apache)相比,Nginx 占用的内存和 CPU 资源更少,提供更好的资源利用率。 功能丰富:Nginx 支持静态文件服务、反向代理、负载均衡、缓存、SSL/TLS 加密等功能,适用多种场景。 高度可扩展:Nginx 支持模块化配置,可通过模块扩展功能。其配置文件简单明了,便于管理和扩展。 Nginx 的应用场景Nginx 具备多种应用场景,常见的包括: 静态文件服务器:适合静态内容(如 HTML、CSS、JavaScript、图片和视频)的高效分发。 反向代理 ...
新时代码农
未读1. SQL 连接操作简介在数据库查询中,JOIN 操作是一种非常强大的工具。它允许我们将来自不同表的数据结合起来。下面是几种常见的 JOIN 类型及其用途: INNER JOIN(内连接):返回两个表中匹配的行。 LEFT JOIN(左连接):返回左表所有记录,右表无匹配时返回 NULL。 RIGHT JOIN(右连接):返回右表所有记录,左表无匹配时返回 NULL。 2. 使用 CASE WHEN 在 SQL 中处理条件逻辑在 SQL 查询中,CASE WHEN 是一种强大的工具,它允许你在查询结果中根据特定条件添加不同的值。以下是一个示例: 1234567SELECT *, CASE WHEN (A - B) = 0 THEN 'T' WHEN (A - B) < 0 THEN 'WRONG' ELSE CASE WHEN (A IS NULL OR B IS NULL) THEN 'F' ELSE 'T' EN ...
通过端口号获取对应的 PID1/usr/sbin/lsof -n -P -t -i :$TOMCAT_WEB_PORT 根据名称获取 PID1234ps -ef | grep -w java | grep -v grep | awk '{print $2}'-w 全匹配名字-v 忽略名字 tar123.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName shell 执行多个命令 每个命令之间用 ; 隔开说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。 每个命令之间用 && 隔开说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。 每个命令之间用 || 隔开说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止 查看历史命令1history | awk ' ...
Spring Boot 为什么建议将 main 类放在所有类所在包的顶层 通常建议将应用的 main 类放到其他类所在包的顶层 (root package),并 将 @EnableAutoConfiguration 注解到你的 main 类上,这样就隐式地定义了一个 基础的包搜索路径(search package),以搜索某些特定的注解实体(比如 @Service,@Component 等) 。例如,如果你正在编写一个 JPA 应用,Spring 将 搜索 @EnableAutoConfiguration 注解的类所在包下的 @Entity 实体。 采用 root package 方式,你就可以使用 @ComponentScan 注解而不需要指 定 basePackage 属性,也可以使用 @SpringBootApplication 注解,只要将 main 类放到 root package 中。 @SpringBootApplication 等同于以默认属性使用一下注解: @EnableAutoConfiguration @ComponentScan 扫描所有 Sprin ...
volatile 关键字的 2 层含义: 用 volatile 修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最新的值.作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值. 可见性可见性是指 当一个线程修改了一个共享变量,其他线程能够立刻得知这个修改.这里有必要了解一下 Java 的内存模型 被 volatile 修饰的变量,当线程需要使用这个变量时,回去主内存中读取,然后加载到自己的工作线程中,工作线程中的变量只是主存变量的一个拷贝,当使用完这个变量后,会刷新会主存中. 当数据中主内存复制到工作内存存储时,必须出现两个动作: 由主内存执行的 read 操作 有工作内存执行相应的 load 操作 当数据从工作内存拷贝到主内存时,也会有两个操作: 用工作内存执行的 store 操作 用主内存执行相应的 write 操作 volatile 的特殊规则就是 read、load、use 必须连续出现。assign、store、write 动作必须连续出现。所以使用 volatile 变量能够保证必须先从主内存刷新最新的值,每次修改后必须 ...
如果我们希望输出 com.foo.Bar 的 TRACE 等级的日志,而不像影响其他日志的输出。简单的改变日志等级是不能达到我们想要的目的;但是修改也很简单,只要我们添加一个新的 Logger 定义就可以达到目标。 1234<Logger name="com.foo.Bar" level="TRACE"/><Root level="ERROR"> <AppenderRef ref="STDOUT"></Root> 这个配置达到了我们想要的目标,所有 com.foo.Bar 的日志都会被输出,而其他组件的日志仅仅会输出 ERROR 等级的日志。 在上面的例子,所有 com.foo.Bar 的日志都会被输出到控制台。这是因为为 com.foo.Bar 配置的 Logger 没有设定任何的 Appender。 请看如下的配置 12345678910111213141516<?xml version="1.0" encoding ...
在 Linux 系统中,rm 命令是一个非常强大的工具,它可以永久删除文件和目录。然而,这种强大的能力也带来了风险,因为一旦文件被删除,就很难恢复。为了防止因误操作而丢失重要数据,我们可以创建一个自定义的回收站来保存被删除的文件。以下是实现这一功能的详细步骤和脚本。 背景作为 Ubuntu 的用户,我们经常需要在命令行下执行文件删除操作。但是,命令行下的 rm 命令一旦执行,被删除的文件几乎不可能恢复。为了避免这种情况,我们编写了一个简单的脚本,将删除操作改为移动操作,从而实现了一个类似于 Windows 系统中回收站的功能。 脚本介绍下面提供的脚本 rmtrash 可以作为 rm 命令的替代品。它将用户指定的文件或目录移动到一个特定的“回收站”目录中,而不是直接删除它们。这样,如果需要,用户可以从回收站中恢复这些文件。 脚本功能 移动文件到回收站:而不是直接删除文件,脚本会将它们移动到用户家目录下的 .rmtrash/ 目录。 记录删除操作:脚本会记录所有删除操作的详细信息,包括删除的文件路径和时间,以便于恢复。 恢复文件:可以从回收站中恢复文件到原始位置。 清空回收站:当确 ...
Apache Log4j 2 是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。 log4j2 是 log4j 1.x 的升级版,参考了 logback 的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有: 主要特点 异常处理,在的 logback 中,追加程序中的异常不会被应用感知到,但是在 log4j2 中,提供了一些异常处理机制。 性能提升,log4j2 相比于 log4j 1 和 logback 都具有很明显的性能提升,后面会有官方测试的数据。 自动重载配置,参考了的 logback 的设计,当然会提供自动刷新参数配置,最实用的就是我们在生产上可以动态的修改日志的级别而不需要重启应用 - 那对监控来说,是非常敏感的。 无垃圾机制,log4j2 在大部分情况下,都可以使用其设计的一套无垃圾机制,避免频繁的日志收集导致的 jvm gc。 一些概念之前看官方文档摘抄了一些概念,这里懒得翻译了,使用的 log4j 的都应该清楚,这里 ...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,广泛用于构建网络应用程序。它允许开发者使用 JavaScript 来编写服务器端代码。本文将为你提供 Node.js 的入门步骤以及一些实用工具的使用。 安装 Node.js1. 安装 n 模块首先,你需要安装 n 模块,这是一个强大的版本控制工具,可以方便地管理多个 Node.js 版本。 1sudo npm install -g n 2. 更新到最新稳定版使用 n 可以轻松升级到最新的 Node.js 稳定版: 1sudo n stable 3. 升级到最新版本如果你想要安装最新版本的 Node.js,无论是稳定版还是长期支持(LTS)版,可以使用以下命令: 1sudo n latest 4. 安装指定版本n 还允许你安装任意历史版本的 Node.js。你可以使用版本号来升级到特定的版本: 1sudo n v0.10.26 或 sudo n 0.10.26 5. 切换版本要切换到某个特定的 Node.js 版本,可以使用以下命令: 1sudo n 7.10.0 6. 删除指定 ...