MacOS常用软件

聊天和社交 QQ - 80,90的青春。 微信 - 国内TOP1社交软件。brew install --cask wechat 钉钉 - 阿里巴巴出品协同办公软件。 企业微信 - 腾讯出品协同办公软件。 飞书 - 字节跳动出品协同办公软件。 Telegram - 地下社交软件,通信加密。 X(原twitter) - 地下社交软件,了解国内外大事。 XDeck 𝕏桌面客户端 Franz 多合一聊天工具 邮箱工具 Spark 输入法及键盘扩展 AutoSwitchinput 当你在Mac上打开不同的软件的时候,它可以自动帮你切换中文和英文输入法 Input Source Pro,推友开发的一个输入法自动切换工具 Tickeys 键盘打字风格模拟应用, 支持 Cherry轴等多种风格. keycue 快捷键辅助应用, 帮助记忆快捷键. KeyKey macOS 上优雅好用的键盘打字练习。 Karabiner-Elements 键盘映射工具 输入法 rime 可以下载鼠鬚管 Squirrel brew install squirrel-app 可以集成雾凇拼音更好用,具体的步骤如下: 1.打开 Terminal 进入 cd "$HOME/Library“ 2 .保留自带的配置目录 mv Rime Rime.old或者直接干掉这个目录 3.下载配置 git clone --depth=1 https://github....

Arch Linux 常用软件

本文部内容理论上基于Arch的发行版都可以使用本文进行安装。推荐的发行版本 Manajro EndeavourOS CachyOS 如果您安装好了manajro但是又不想重装系统,可以试下这个脚本来将Manjaro自动转换为Arch。此外,DHH的omarchy (github)也值得一试~ Arch 安装后必装的软件 通过archinstall 安装以后,是没图形界面的。需要安装下面的一些软件和配置 安装时,声音后端的选择: PulseAudio,历史悠久、最为常用; PipeWire,新生代,采用全新架构,整合多种音频后端(PulseAudio、ALSA和JACK),提供低延迟的音频体 连接无线网 iwctl # 进入交互式命令行 device list # 列出无线网卡设备名,比如无线网卡看到叫 wlan0 station wlan0 scan # 扫描网络 station wlan0 get-networks # 列出所有 wifi 网络 station wlan0 connect wifi-name # 进行连接,注意这里无法输入中文。回车后输入密码即可 exit # 连接成功后退出 启用网络 systemctl enable dhcpcd systemctl enable wpa_supplicant systemctl enable NetworkManager 蓝牙 sudo systemctl enable --now bluetooth 如果没这个服务,可能需要通过 paru -S bluetooth进行安装。 如果需要启用蓝牙音频支持,请安装 paru -S pulseaudio-bluetooth 蓝牙高级管理工具 paru -S blueman...

懒猫微服 Go-SDK 使用指南

本文基于 apps-scheduler 和 cat-led 两个实际项目,介绍懒猫微服 Go-SDK 的使用方法。 SDK 简介 懒猫微服 Go-SDK(gitee.com/linakesi/lzc-sdk)是懒猫微服平台提供的 Go 语言 SDK,允许应用通过 gRPC 与懒猫微服系统交互。SDK 封装了以下核心能力: 应用管理(PkgManager):查询、启动、暂停应用 用户管理(Users):查询用户信息 设备管理(Box):查询设备信息、控制 LED、关机/重启 项目结构 使用 Go-SDK 开发的懒猫应用推荐采用如下项目结构: your-app/ ├── cmd/ │ └── your-app/ │ └── main.go # 应用入口 ├── internal/ │ ├── web/ │ │ └── server.go # Web 服务器配置与路由 │ ├── handlers/ │ │ ├── app.go # SDK 调用相关 handler │ │ └── userinfo.go # 用户信息 handler │ ├── biz/ │ │ └── usecase....

go-kratos使用备忘

我搭建的一个kratos项目模板,欢迎使用,仓库地址 需要特别注意的一些建议 API路由覆盖的问题 比如有两个接口 A get /v1/user/{user_id}和 B get /v1/user/profile如果A定义在B之前,那么B可能会被A覆盖路由。需要将A放到B之前。 JWT使用的建议 摘自极客时间课程《高并发系统实战课》 通讯过程必须使用 HTTPS 协议,这样才可以降低被拦截的可能。 要注意限制 token 的更换次数,并定期刷新 token,比如用户的 access_token 每天只能更换 50 次,超过了就要求用户重新登陆,同时 token 每隔 15 分钟更换一次。这样可以降低 token 被盗取后给用户带来的影响。 Web 用户的 token 保存在 cookie 中时,建议加上 httponly、SameSite=Strict 限制,以防止 cookie 被一些特殊脚本偷走。 配置文件 配置文件校验 配合buf的validate可以方便地进行配置文件的校验,在程序启动之前就对配置文件进行一次校验。下面是一个简单的proto配置定义 syntax = "proto3"; package conf; import "buf/validate/validate.proto"; import "google/protobuf/duration.proto"; option go_package = "github.com/tpl-x/kratos/internal/conf;conf"; message Bootstrap { Server server = 1; Data data = 2; Log log = 3; } message Server { message HTTP { string network = 1; string addr = 2; google....

Bun ORM 全面指南:Go 语言高性能数据库操作利器

(本文内容基于 Bun ORM 官方文档 翻译整理) 1. 简介:什么是 Bun ORM? Bun 是一个 SQL 优先的 Go 语言 ORM(对象关系映射)框架,支持 PostgreSQL、MySQL、MSSQL 和 SQLite。它旨在提供一种简单高效的方式来操作数据库,同时利用 Go 的类型安全特性并减少样板代码。 核心特性 基于标准库构建:构建在 Go 标准 database/sql 包之上 类型安全:提供类型安全的查询构建器,性能卓越 复杂关系支持:支持复杂的关系和连接操作 迁移支持:提供迁移和架构管理功能 强大的扫描能力:全面的数据扫描功能 钩子和中间件:支持钩子和中间件 生产就绪:经过广泛测试,可用于生产环境 为什么选择 Bun? Bun 通过 SQL 优先 的理念区别于其他 Go ORM,不试图对开发者隐藏 SQL。这种方法具有以下优势: 可预测的查询:你确切知道生成的 SQL 是什么 高性能:对原始 SQL 的开销最小 渐进式采用:易于集成到现有代码库 灵活性:需要时可降级到原始 SQL 类型安全:大多数操作的编译时检查 2. 安装与配置 安装 Bun 要安装 Bun 和所需的数据库驱动: # 核心 Bun 包 go get github.com/uptrace/bun@latest # 数据库驱动(选择一个或多个) go get github....

在Dokploy中通过Cloudflare Tunnel发布应用

通过 Cloudflare Tunnel,你可以不需要公网 IP、不需要在路由器/防火墙开启 80 或 443 端口,就能安全地将 Dokploy 上的应用发布到互联网。 核心流程图 用户 -> Cloudflare 域名 (HTTPS) -> Cloudflare 隧道 -> Docker 内部网络 (HTTP) -> 你的应用容器 第一步:在 Cloudflare 创建隧道 (Tunnel) 登录 Cloudflare Zero Trust。 进入 Networks -> Tunnels -> Create a Tunnel。 选择 Cloudflared,起个名字(如 my-server)。 在安装页面,找到 Connector Token(那一长串字符串),复制备用。 第二步:在 Dokploy 中部署隧道服务 在 Dokploy 中新建一个 Compose 服务(建议命名为 cloudflare-tunnel),使用以下配置: services: cloudflared: image: 'docker.1ms.run/cloudflare/cloudflared:latest' environment: - 'TUNNEL_TOKEN=你的TOKEN' # 建议在 Environment 变量中设置 networks: - dokploy-network # 必须加入此网络 restart: unless-stopped command: ["tunnel", "--no-autoupdate", "run"] networks: dokploy-network: external: true 第三步:部署应用 (以 Excalidraw 为例) 部署应用时,务必确保它与隧道在同一个 Docker 网络中,以便隧道能通过“服务名”找到它。...

Git Filer Repo快速指南

本文使用claude code编写,旨在提供一个详尽的 git-filter-repo 使用指南,涵盖安装、基础概念、路径和内容过滤、实用场景、高级功能、安全机制、完整工作流示例、故障排除、性能优化、常见错误与陷阱、与其他工具配合以及最佳实践总结等方面的内容。 什么是 git-filter-repo? git-filter-repo 是一个快速、功能强大的 Git 历史重写工具,是 git filter-branch 的官方推荐替代品。它由 Git 项目贡献者 Elijah Newren 开发,速度比 filter-branch 快 10-100 倍以上。 核心原理: git fast-export <options> | filter | git fast-import <options> git-filter-repo 同时扮演管道编排者和中间过滤器的角色,基于 fast-export 和 fast-import 实现高效的历史重写。 为什么选择 git-filter-repo? vs git filter-branch 特性 git filter-branch git-filter-repo 速度 极慢(大型仓库几乎不可用) 快 10-100 倍 安全性 易出错,可能静默损坏数据 内置多重安全检查 易用性 复杂的 shell 语法 简洁的命令行参数 跨平台 依赖 shell,跨平台问题多 纯 Python,跨平台一致 官方态度 已废弃,不推荐使用 Git 官方推荐 Git 官方警告: filter-branch 的问题无法向后兼容地修复,强烈建议停止使用。...

Calude Code编写的Ent ORM 完整指南

本文由claude code生成。作为备忘录和分享,欢迎指正和补充。 一、Ent简介 Ent是一个简单但功能强大的实体框架,用于Go语言,使构建和维护具有大型数据模型的应用程序变得容易。 Ent是由Meta(Facebook)开源团队构建的ORM框架,提供了一个API,用于将任何数据库模式建模为Go对象。 核心特性 Ent的主要特性包括: Schema As Code:将任何数据库模式建模为Go对象 轻松遍历任何图结构:运行查询、聚合并轻松遍历任何图结构 静态类型和显式API:100%静态类型和显式API,通过代码生成实现 多存储驱动支持:支持MySQL、PostgreSQL、SQLite和Gremlin 易于扩展:使用Go模板简单扩展和自定义 Ent是一个相当新的ORM,使用代码优先的方法,在Go代码中定义模式。Ent之所以流行,是因为它能够优雅地处理复杂的数据模型和关系。 二、快速开始 2.1 安装Ent # 初始化Go模块 go mod init myapp # 安装ent CLI工具 go install entgo.io/ent/cmd/ent@latest # 或者使用go get go get entgo.io/ent/cmd/ent 2.2 创建第一个Schema # 创建User实体 ent new User 这会在 ent/schema/ 目录下生成一个基础的schema文件: package schema import ( "entgo.io/ent" "entgo.io/ent/schema/field" ) // User holds the schema definition for the User entity. type User struct { ent.Schema } // Fields of the User....

在Go里面实现Google和Apple OAuth登录

本文由claude code编写,仅供参考。 在现代应用开发中,提供第三方登录已经成为标配功能。本文将详细介绍如何在Go语言中实现Google和Apple的OAuth登录,以及如何处理iOS和Android的原生登录。 一、OAuth 2.0 基础概念 OAuth 2.0是一个授权框架,允许应用在用户授权的情况下访问用户在第三方服务上的资源,而无需获取用户的密码。主要流程包括: 授权请求:引导用户到OAuth提供商的授权页面 授权确认:用户同意授权 获取授权码:重定向回应用并携带授权码 交换令牌:使用授权码换取访问令牌 访问资源:使用访问令牌获取用户信息 二、Google OAuth登录实现 2.1 前期准备 首先需要在Google Cloud Console创建项目并配置OAuth 2.0凭据: 访问 Google Cloud Console 创建新项目或选择现有项目 启用Google+ API或Google Identity服务 创建OAuth 2.0客户端ID(Web应用、iOS、Android分别创建) 配置授权重定向URI 2.2 安装依赖 go get golang.org/x/oauth2 go get golang.org/x/oauth2/google go get google.golang.org/api/oauth2/v2 2.3 Web端Google登录实现 package main import ( "context" "encoding/json" "fmt" "log" "net/http" "os" "golang.org/x/oauth2" "golang.org/x/oauth2/google" oauth2api "google.golang.org/api/oauth2/v2" "google.golang.org/api/option" ) var googleOauthConfig *oauth2.Config func init() { googleOauthConfig = &oauth2....

Homebrew Tap 仓库简明指南

本文为Claude整理编写。 什么是 Homebrew Tap Homebrew Tap 是第三方的 Homebrew 软件包仓库。通过创建自己的 Tap,你可以发布和分发自己的软件包,而不需要将它们提交到官方的 Homebrew 仓库。 Tap 的命名规则: homebrew-<tapname> 用户使用时的格式:username/tapname/软件名 Formula vs Casks:核心概念 这是 Homebrew 中最重要的区别,理解这一点对于正确组织你的 Tap 至关重要。 Formula(公式) 用途: 安装命令行工具、从源代码编译的软件、开发库和服务 特点: 可以从源代码编译或安装预编译二进制 安装到 /usr/local/bin(Intel)或 /opt/homebrew/bin(Apple Silicon) 在终端中运行 文件放在 Formula/ 目录 安装命令: brew install git brew install python brew install myapp 适用场景: ✅ 命令行工具(git, wget, curl) ✅ 编程语言(python, node, ruby) ✅ 开发库(openssl, libpq) ✅ 后台服务(redis, nginx, postgresql) ✅ 系统工具和实用程序 Casks(桶) 用途: 安装 macOS 原生应用程序、字体、驱动等...