Linux 中安装 Docker、配置国内镜像及常用命令
Linux 中安装 Docker、配置国内镜像及常用命令最近开始学习 linux 相关的知识,现记录在 Linux 系统下安装 Docker、配置国内镜像源及常用命令。 1. 安装 Docker以 Ubuntu 为例,以下是安装 Docker 的步骤: 12345678910111213141516171819202122232425# 更新 apt 包索引sudo apt-get update# 安装依赖sudo apt-get install -y ca-certificates curl gnupg lsb-release# 添加 Docker 官方 GPG 密钥sudo mkdir -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 设置稳定版仓库echo \ "deb [arch=$(dpkg --print-architecture)...
误触 git push --force 的严重后果
在使用 git push –force 前一定要三思而后行今天在工作中遇到了一个非常严重的问题,在使用 IDEA 开发时,我使用自带的 Git 图形工具进行代码的一个回退操作,本来以为只会在本地分支上进行操作,但是点击完之后不仅仅是本地分支被回退了,连远程分支也被回退了,导致远程分支的代码被覆盖,我好几个小时的工作成果全部丢失了。然后尝试本地找回无果,最后只能重新编写代码。😭 1. 为什么要用 git push --force常见场景: 需要重写提交历史(如 rebase、squash 后推送) 修正敏感信息误提交 清理混乱的 commit 历史 2. 潜在风险 覆盖他人提交:如果团队成员在你本地操作期间向远程分支推送了新提交,--force 会直接覆盖这些内容,造成数据丢失。 协作混乱:团队成员本地分支与远程分支历史不一致,后续拉取和推送会遇到冲突。 不可逆操作:一旦远程历史被覆盖,恢复难度极大。 3. 如何安全使用 优先使用 git push --force-with-lease:该命令会在推送前检查远程分支是否有新提交,避免误覆盖他人工作。 1git push...
Java 实现图片链接转 Base64 并在前端显示
Java 实现图片链接转 Base64 并在前端显示工作上有一个需求是将图片链接转换为 Base64 字符串,并在前端页面上显示。 本来图片的链接是 blob storage 上的,直接在前端使用 <img> 标签加载即可。但是需求是因为图片链接存在泄漏风险,所以需要将解决这个问题。 吐槽一下: 看了一下原来的代码实现,从 blob storage 获取的图片链接已经做了链接过期时间为 5 分钟,也不太明白为什么 5 分钟有效期会存在泄漏风险,而且如果真的有人需要把图片用于其他用途,转换也并没有什么用。 anyway, business is business, so1. Java 后端实现图片链接转 Base641.1 依赖引入JDK 依赖 1.2 实现一个工具类12345678910111213141516171819import java.io.InputStream;import java.net.URL;import java.util.Base64;public class ImageToBase64 { public static...
GitHub Copilot 内测体验
GitHub Copilot 内测体验之前在开发过程写到重复代码时就很希望有一个工具可以自动补全代码,GitHub Copilot 简直就是程序员的福音。有幸参与了 GitHub Copilot 的内测,体验由 GitHub 和 OpenAI 联合推出的 AI 编程助手。本文记录下当时的体验和一些感受。 1. 内测申请在 github 官网上申请了内测邀请,几天后收到了邮件通知。按照邮件中的链接激活后,安装了 VSCode 插件。 2. Copilot 主要功能亮点 AI 智能补全代码:根据注释和上下文自动生成代码片段,支持多种主流编程语言。 函数/算法自动生成:只需写好函数名和注释,Copilot 能自动补全整个函数体。 代码片段建议:在写循环、条件判断、常用算法时,Copilot 能给出多种实现建议。 多语言支持:不仅支持 JavaScript、Python、Java、Go 等主流语言,还能处理 Markdown、Shell 等脚本。 3. 实际使用感受 Copilot...
Selenium 学习
Selenium 的学习Selenium 是一款流行的自动化测试工具,支持多种编程语言。但是没想到项目上会用 Java 来写 Selenium 脚本,网上普遍都是 Python 的写的。很奇怪但是 business is business,还是要学会的。 1. 环境准备 安装 JDK(推荐 8 及以上) 下载并引入 Selenium Java 依赖(Maven 示例): 12345<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.19.1</version></dependency> 下载对应浏览器的 WebDriver(如 ChromeDriver)并配置到系统 PATH。 2. 启动浏览器1234567891011import...
在 iTerm2 中安装 Oh My Zsh,并配置自动代码补全和高亮插件
在 iTerm2 中安装 Oh My Zsh,并配置自动代码补全和高亮插件由于公司给配的电脑是 macOS 系统,在网上了解到 iTerm2 是 macOS 中比较好的终端。同时发现了 Oh My Zsh 这个工具,可以配置常用的自动代码补全和代码高亮插件,可以大幅度提高终端使用体验。 1. 安装 iTerm2iTerm2 是 macOS 上非常好用的终端工具,在 iTerm2 官网 下载并安装。 2. 安装 Oh My ZshOh My Zsh 是一个强大的 Zsh 配置管理工具,极大提升终端体验。 123# 安装 zsh(macOS 已自带)# 安装 Oh My Zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 3. 安装自动代码补全插件 zsh-autosuggestions1git clone https://github.com/zsh-users/zsh-autosuggestions.git...
Homebrew 安装以及配置国内镜像
Homebrew 安装以及配置国内镜像上班之后公司给配了 macOS 系统的电脑,目前的配置是 20 年的顶配(虽然更希望能拿到 M 芯片的机器,但还是挺好用),到手之后有些不适应,同事推荐我一定要安装 homebrew,于是我就开始了 Homebrew 的安装和配置。 1. 安装 Homebrew在终端中执行以下命令安装 Homebrew: 1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装完成后,按照终端提示将 Homebrew 的路径加入到 ~/.zprofile 或 ~/.zshrc 中。 2. 配置国内镜像源为加速 Homebrew 的软件包下载,可以将默认源替换为国内镜像。以清华大学镜像为例: 12345678# 替换 Homebrew 主仓库cd "$(brew --repo)" && git remote set-url origin...
macOS 下 VSCode 和 终端 常用快捷键大全
macOS 下 VSCode 和终端常用快捷键大全每次都要去百度搜 VSCode 和终端的快捷键,实在是太麻烦了,干脆整理一份常用快捷键大全,方便查阅。 一、VSCode 常用快捷键(macOS) 功能 快捷键 打开命令面板 Cmd + Shift + P 打开设置 Cmd + , 打开侧边栏 Cmd + B 新建文件 Cmd + N 打开文件 Cmd + O 保存文件 Cmd + S 关闭文件 Cmd + W 全部关闭 Cmd + K 然后 Cmd + W 多光标编辑 Option + Cmd + ↑/↓ 选中相同内容 Cmd + D 查找 Cmd + F 替换 Cmd + Option + F 全局查找 Cmd + Shift + F 跳转到行 Ctrl + G 跳转到定义 F12 或 Cmd + 鼠标左键 打开终端 `Ctrl + `` 格式化代码 Shift + Option + F 注释/取消注释 Cmd + / 上/下移动行 Option +...
博客成功部署
博客成功部署经过一段时间的学习和折腾,终于成功将个人博客部署上线!期间最开始考虑自己写一套前端和后端但是由于时间和精力成本太高,且意义不大, 于是弃用之前已经写好的前端和后端代码,转而使用现成的静态博客框架。最终选择了 Hexo 这个静态博客框架。 部署过程回顾 环境准备:安装了 Node.js 和 Hexo。 初始化博客:使用 hexo init 创建了博客目录。 主题选择与配置:选择了 Butterfly 主题,并根据需求进行了个性化配置。 部署到服务器:配置了 GitHub Pages,借用赛博菩萨 cloudflare 的 pages 顺利将博客部署上线。 后续计划 持续更新技术文章和生活随笔。 优化博客样式和交互体验。 学习更多 Hexo 插件,丰富博客功能。 记录学习和工作中的点滴,分享经验和心得。 Here We Go!