Los Angeles, CA
Joined September 2011
wownz retweeted
Mac 硬盘空间告急,用 Mole 做了一次清理。 一行命令清理了 142.97GB ,这下电脑又满血复活了。 安装mole:brew install tw93/tap/mole 执行清理 :mo clean
6
86
2
451
wownz retweeted
推荐 AIP,Google 的 AIP 是更新的 REST API 规范:google.aip.dev/ API Improvement Proposals,值得大家看看,也是比较简洁高效的 API 设计规范。假如嫌文档太长看的烦的话,推荐在设计 API 的时候可以把这个网址直接喂给 AI,让它按照这个标准设计。 大家如果有更多种规范和风格,欢迎推荐,让我学习了解下。
这其实是很糟糕的设计,每次都要安利一下 Google 的 API 设计规范:docs.cloud.google.com/apis/d… 什么银行有 800 种错误,状态码不够用等问题都有解决。
1
20
203
wownz retweeted
说个很多人不知道的 uuid 技巧,uuidv5。 db schema 设计时用 uuidv7 做递增 pk 或 uuidv4 做随机 key 很常见,但 uuidv5 就少见了。有这样一个问题,用户数据要满足 GDPR 合规,在请求注销帐号时删除了 user table 以及关联 userId fk table 数据,之后用户向银行或 apple 提出交易纠纷,如何在没有 userId 时查询之前交易数据和消费记录?或者 app 用户已经订阅,销号后重新注册(新号,新的 userId)如何实现 apple 要求的 restore 功能? 用 uuidv5 就可以非常巧妙地完成这个功能,在用户通过 OAuth2 登录时,将 provider + openid + domain 绑定生成唯一的 uuidv5 作为 accountToken,在交易时将 accountToken 作为用户的唯一标识而非 userId 传递给第三方,即使用户数据已经删除,但只要通过再次登录验明身份,就能通过固定不变的 accountToken 查询到历史交易和消费数据解决纠纷。 这样既能满足用户隐私合规(用户个人数据已完整删除,uuidv5 的 accountToken 是去中性化的,hash 脱敏无法逆向出原始用户),又能保存原有交易数据用于匿名分析(比如存 7 年,避免纠纷和税务审计)。
9
32
364
wownz retweeted
Replying to @nopinduoduo
Cs61 好硬核!
1
2
wownz retweeted
用 Astro 写博客的时候,最痛苦的就是没有很好的编辑工具,一个 MDX 文件的 FrontMatter 每次都需要从别的地方拷贝过来修改。看到群友安利 Front Matter 这个 VSCode 插件,用于对静态博客的文章做可视化编辑。使用了一下,基本解决我的痛点。大赞! github.com/estruyf/vscode-fr…
1
5
75
懒猫微服上一代产品LC-02清仓了,抄底价,手慢无。@manateelazycat
《懒猫微服上一代产品LC-02清仓了,抄底价,手慢无》抽奖活动第一轮来了!!!!! 拥有懒猫微服,你将体验到:高速内网穿透、零配置异地组网、10ms瞬连远程桌面、2500+应用全免费,快来把懒猫微服带回家吧!!! 对产品感兴趣的大佬可以评论区扣1或者直接私信我,给您发资料和价格表。 活动共计两轮 活动时间:11.7-11.11 活动奖品总价值约15000元: 一等奖:LC02款16G+2T微服一台,价值5399元 二等奖:LC02款16G+2T微服“到手价1111元秒杀券” 1张 三等奖:LC02款16G+2T微服“到手价3333元秒杀券” 2张 四等奖:LC03新款优惠券399元10张 第一轮开奖时间:本周日晚上20:00(11月9号) 奖品: 二等奖:LC02款16G+2T微服“到手价1111元秒杀券” 1张 三等奖:LC02款16G+2T微服“到手价3333元秒杀券” 1张 四等奖:LC03新款优惠券399元5张 第二轮开奖时间:下周二晚上20:00(11月11号) 奖品: 一等奖:LC02款16G+2T微服一台,价值5399元 三等奖:LC02款16G+2T微服“到手价3333元秒杀券” 1张 四等奖:LC03新款优惠券399元5张 抽奖规则(必看): 1.关注@manateelazycat推特账号 2.红心点赞评论收藏本条推文 3.引用本推文并写上 :“懒猫微服上一代产品LC-02清仓了,抄底价,手慢无。@manateelazycat” 4.扫二维码进懒猫微服交流群 抽奖方式:本次抽奖依据名单统计,使用懒猫微服商店中的抽奖工具开奖,公平公正,结果第一时间公布在微信群。(需扫二维码进群) 领奖方式:通过微信群联系我们的工作人员领奖,中奖后进群无效,所以参加抽奖的大佬进懒猫微服任意交流群即可。(需扫二维码进群) 特别提醒: 1..大佬一定要进我们的交流群才能获得中奖资格哦。 2.中奖用户需要把“推特参与活动截图以及推特主页”作为凭证发给工作人员验证。 3.活动优惠券不能叠加不能折现。 购买渠道和优惠: 1.京东搜索“懒猫微服”下单: 懒猫微服新品LC-03已经开售 全新系列懒猫AI算力舱也已经上线 扫码工作人员微信获取最新优惠资格 2.懒猫微服上一代产品LC-02正在清仓,评论区或者私信扣1获取优惠价格 3.懒猫零元购,微服用户每移植一款应用到懒猫商店即可得百元红包,原创应用奖励翻倍,撰写一篇攻略可得50红包,多移多得,没有上限。
分享我的计算机读书清单 Python: Python 核心编程 系统学习 Python,这一本书足矣,把 Python 的每个细节都讲的很透,每个例子都非常实用。 我学习完这一本书以后,再看任何 Python 库的时候都是翻翻 API 手册, Google 一下就可以快速学会任何 Python 库的用法,并融入到自己的项目中。 C++: C++完全参考手册 我高三看的一本书,2000 多页,大部头,全英文,但是写的非常好。 这也是我唯一看过的一本 C++的书,只要会这些语法,找个 C++项目, 比如 Qt/C++写一个项目,几乎就知道 C++怎么玩了。 其实 C++还是非常方便的,虽然没有 Python 简洁,但是表现力和库生态都太强大, 不用担心性能问题,大多数讨厌 C++的人, 其实是恐惧自己学不好 C++, 放下恐惧,C++其实很容易学习。 Java: Java 编程思想 这本书是在书店读完的,写的很不错,但是当时还在读高二,所以已经记不清当初的读后感了, 模糊印象就是一本写的非常通俗易懂的书,讲的非常细节。 Haskell: Real World Haskell 十年前,#haskell IRC 频道,大多数 Haskeller(科学家,数学家)还在迷恋 Haskell 的数学之美的时候, GHC 黑客 Dons Stewart 写的这本 Real World Haskell 系统型的讲解了 Haskell 应用的各个领域, 从基本语法、函数式编程、科学计算到图形编程等,讲的一针见血, 而且非常薄,学习玩了就可以流畅写程序了。 当然进阶的知识还是要去 #haskell IRC 频道请教数学家们,哈哈哈。 Elisp: GNU Emacs Lisp Reference Manual 十多年前,我用 Emacs, 对 Elisp 半毛钱不懂,天天就在 EmacsWiki 抄各种配置, 就像一个拾荒者,每天早上起来逛 EmacsWiki, 偶尔碰到高级 Elisp 技巧就把我折腾死了。为了不瞎折腾,我花了一个月的时间读完这本大部头,遇到不懂的 API, 就打开 ielm 临时写一个 demo 函数验证一下,当我读完以后, 我发现 99%的 Emacs 的问题都可以自己调试和解决。 Ruby: The Ruby Programming Language 学习 Ruby 的时候,已经会了几十门编程语言了,手册从头看一遍,不用写练习基本就可以学会。 因为当你编程语言学得足够多的时候,不同语言的语法都是相同的, 只用学习不同语言之间的微小区别就可以了。 Vala: Vala Tutorial Vala 有 C 的速度,Python 的简洁,语法类似 C Sharp, 基本看完这本手册以后,拿着 API 就可以直接开始写了。 Vala 写 Gtk+是非常爽的。 Rust: Rust 语言圣经 这本书应该是中文范围内将 Rust 最好的一本书, 所有权讲的很清晰, 基本概念的章节都通俗易懂, 进阶章节可以先看一遍, 以后遇到了当工具书来查看。 作者后面讲线程和异步模型时, 理解还是很到位的, 证明作者基本功很扎实, 强烈推荐想学习 Rust 的同学读这本书, 一本就够了。 正则表达式: 精通正则表达式 这是我唯一看过一本带有 “精通” 名字的书,确实写的非常好, Yahoo 工程师把他平常用到的经验都朴实无华的写出来, 基本学会这本书讲的怎么构建正则表达式的思路,不管是标准的正则表达式, 还是 Perl, Elisp 等其他语言的变种正则,都是触类旁通的。 代码质量:重构 改善既有代码设计 这本书代码是 java 写的,但并不掩盖它作为重构第一书的地位。 讲解了很多重构小技巧,教你只要养成十来个重构小细节的好习惯, 不论写什么编程语言,局部代码和整体逻辑都干净的像艺术品一般。 这本书的技巧我这十几年都在践行,难得的好书。 X11: Xlib - C Language X Interface 这本书是读过最枯燥的书籍,但是要从头做一个 Linux 桌面环境,这本书的 API 是必读的。 因为你除了 github 外,根本找不到更多资料来讲解 X11 这个古老的技术了。 Gtk+: Gtk+ Programming Tutorials 写的最通俗易懂的 Gtk+书籍,学完这本书,直接看 Gtk+ Developer Manual 就可以直接写程序了 Qt: PyQt5 Totorial 写的最好的 Qt 入门教程,加上 Python 的方便性,非常容易系统学习, 加上学习 Qt 之前已经有 Gtk+五年编程经验,两天看完就直接用 Qt 写程序了。 Rails: Rails Tutorial 系统的讲解了怎么用 Rails 搭建一个网站,虽然很多架构设计和整体逻辑我是靠 Google 摸索出来的, 但是这本书确是入门不可或缺的,难度适中,学习完了,你对构建网站有一个基本的认识了。 CSS: CSS 世界 这本书的作者研究了很多年的 CSS,他可以告诉你很多关于浏览器的实现细节以及为什么 CSS 不能工作的原因。 懂了为什么不能工作,剩下的很多事情就能举一反三啦。 但这本书不适合初学 CSS 的朋友读,建议在几个项目中熟练了基本 CSS 技巧以后再来读这本书会更有收获。 加解密: 图解密码技术 这本书系统地让你学会对称加密、公钥密码、单向散列函数、消息认证码、数字签名、伪随机数生成器等加解密技术背后的原理和细节, 以及这些技术组合而成的安全大厦的框架和应用。 强烈推荐作者 “结城浩” 的其他书籍, 已经看了他写的两本书了, 全书都是图文并茂的讲解复杂技术, 很少有数学公式。
🖥️ 10个全面的编程语言YouTube课程: 1. Python 入门 piped.video/playlist?list=PL… 2. SQL 数据库 piped.video/playlist?list=PL… 3. JavaScript 前端 piped.video/playlist?list=PL… 4. Java 企业级 piped.video/playlist?list=PL… 5. C++ 底层编程 piped.video/watch?v=FpfHmAkR… 6. Rust 系统开发 piped.video/playlist?list=PL… 7. Golang 后端 piped.video/playlist?list=PL… 8. C# 微软生态 piped.video/watch?v=0QUgvfuK… 9. Kotlin 移动开发 piped.video/watch?v=TEXaoSC_… 10. Swift iOS编程 piped.video/watch?v=CwA1VWP0…
wownz retweeted
Learn Linux, networking, containers, and Kubernetes by solving hands-on problems 🛠️ A curated collection of over 100 carefully crafted challenges - with interactive checks, clear diagrams, and helpful theoretical references. Like LeetCode but for DevOps labs.iximiuz.com/challenges
12
267
1,681
wownz retweeted
初创企业或中小团队在使用商业 CRM 系统时,每年都要支付一笔高昂的订阅费用,客户数据存储在第三方服务器,安全和隐私问题更让人担心。 无独有偶,在 GitHub 上发现了 Cordys CRM 这款开源的客户关系管理系统,通过与其它开源项目融合,共同构建了一个新一代 AI CRM 系统。 GitHub:github.com/1Panel-dev/Cordys… 实现从线索到回款的全流程精细化管理,覆盖线索获取、智能分配、客户与联系人管理、商机跟进、合同签约及回款执行,构建端到端的销售运营闭环。 同时,支持基于角色的权限管控,提供灵活的模块化配置,可无缝集成企业微信、钉钉、飞书等主流办公平台。 更强大的是,可以借助 MaxKB 智能体能力,轻松构建智能创建、智能跟进等多样化 AI 助手。 还可以自由与 DataEase 和 SQLBot 这些开源项目融合,实现销售数据的可视化和自然语言查询分析。 通过 Docker 一键安装即可使用,也支持通过 1Panel 应用商店或离线安装包私有化部署,数据存储在自己的服务器上更安全放心。
6
87
1
347
wownz retweeted
现代 React 项目用 Tanstack Start 记住这个命令就行: npm create @tanstack/start@latest --ui 会在 localhost:8080 打开一个图形界面:你可以自由的选择 Toolchain, Add-on 等等,右边还可以看文件结构甚至还可以 Preview。 很强大~
6
32
4
283
wownz retweeted
7 Free resources to learn Linux & DevOps 1. Bash → blog.sysxplore.com 2. Linux → linuxopsys.com 3. AWS → explore.skillbuilder.aws 4. Azure → learn.microsoft.com 5. DevOps → edx.org/learn/devops 6. Docker → docker-curriculum.com 7. Kubernetes → kubernetes.io
15
272
1,391
wownz retweeted
Google literally just made the best way to create AI Agents
29
170
1
1,300
wownz retweeted
大学里 C 语言作为我们入学编程的第一门语言,在学习完基础语法后,如果想要找一些项目来实战巩固知识。 可以看一下,Practice C Programming Projects 这份 C 语言编程项目实战,专为初学者设计的结构化学习路径。 包含 18 个由浅入深的实战项目,涵盖经典游戏开发(贪吃蛇、2048、五子棋)、GUI 应用(秒表、动画)、数据结构实现(链表、队列)等多个方向。 GitHub:github.com/labex-labs/practi… 主要内容: - 游戏开发项目:Flappy Bird、贪吃蛇、2048、五子棋等趣味游戏; - GUI 应用开发:使用 GTK 和 OpenGL 创建秒表、时钟动画等可视化程序; - 数据结构实现:双向链表、队列等经典数据结构的完整实现; - 算法练习:冒泡排序、文件统计等实用算法应用; - 系统编程:多线程同步、命令行参数解析等进阶主题。 最关键的是,项目提供了在线交互式编程环境,无需折腾本地配置,点击链接就能直接上手练习。
Production Kubernetes cluster is down. Your manager is asking for updates every 5 minutes. Here’s your step-by-step troubleshooting playbook: Step 1: Get your bearings Check where you are: kubectl config current-context See all contexts: kubectl config get-contexts Switch if needed: kubectl config use-context name List namespaces: kubectl get ns Step 2: See the big picture Node health: kubectl get nodes All pods: kubectl get pods -A Recent events: kubectl get events –sort-by=.metadata.creationTimestamp -A This tells you if it’s a cluster-wide issue or isolated problem. Step 3: Focus on the failing pod Get details: kubectl describe pod podname -n namespace Check logs: kubectl logs podname -n namespace Get inside: kubectl exec -it podname -n namespace – /bin/sh Step 4: Check health probes Look for probe failures in the describe output Test probe endpoint: kubectl exec -it podname -n namespace – curl localhost:port/health Step 5: Check deployments and rollouts Rollout status: kubectl rollout status deployment/name -n namespace View history: kubectl rollout history deployment/name -n namespace Rollback: kubectl rollout undo deployment/name -n namespace Step 6: Verify networking List services: kubectl get svc -n namespace Check endpoints: kubectl get endpoints -n namespace Test DNS: kubectl exec -it podname – nslookup servicename Step 7: Quick fixes that work Restart deployment: kubectl rollout restart deployment/name -n namespace Delete problematic pod: kubectl delete pod podname -n namespace The key is following the steps in order, not jumping around randomly.
7
100
596
wownz retweeted
我也是扫了前几张入门的,我记得成为正式程序员最开始不太了解 openstack 社区和团队在用的 gerrit, gerrit 的利用 refs 方式实现 review flow,看过 pro git 非常清晰了。
推荐一本书《Pro Git》一本书就把Git核心点讲清楚了
1
3
33
wownz retweeted
Linux Boot Process Explained 1. Power On → The boot process starts when the computer is powered on. → The system hardware initializes and control is handed to BIOS or UEFI. → BIOS/UEFI is stored in non-volatile memory and performs POST (Power-On Self Test) to check hardware integrity. 2. BIOS/UEFI Initialization → Detects and initializes hardware devices such as CPU, RAM, disk drives, and peripherals. → Determines the bootable devices (like hard drive, USB, or network). → Once hardware detection is complete, control moves to the Bootloader. 3. Boot Device Selection → BIOS/UEFI selects the boot device based on configuration order. → The boot device contains the bootloader (e.g., GRUB). → The system reads the boot sector to locate the bootloader program. 4. GRUB (Boot Loader) → GRUB (GRand Unified Bootloader) is loaded from the selected device. → Reads the configuration file /etc/grub2.cfg. → Displays a boot menu (if configured) to select the desired kernel or OS version. → Loads the chosen Linux kernel into memory. → Loads essential kernel modules and libraries required for booting. 5. Kernel Initialization → The Linux kernel decompresses itself and initializes system components. → Detects hardware components and mounts the root filesystem (/). → Starts the first user-space process — usually systemd. → Switches from kernel mode to user mode. 6. systemd Execution → systemd is the first process in user space (PID 1). → Responsible for initializing all other services and targets. → Reads configuration files from /etc/systemd/system/. → Activates target files like:  → basic.target  → multi-user.target  → getty.target  → ssh.service 7. Running Startup Scripts → Executes system-wide and user-specific startup scripts. → Examples:  → /etc/profile  → /systemd-logind  → ~/.bashrc → These scripts set up the user environment and background services. 8. User Login → Once all startup scripts and targets are executed, the login screen appears. → Users can now log in via terminal, GUI, or SSH. → System is now in a fully operational multi-user state. If you want to master Linux, grab this handbook pdf; codewithdhanian.gumroad.com/…
22
249
4
1,395
wownz retweeted
搭建代理服务器,需要配置 Nginx、SSL 证书、各种协议支持,还要考虑安全性和多用户管理,整个过程比较繁琐。 无独有偶,在 GitHub 上发现 X-UI-PRO 这款开源的可视化工具,它将 X-UI、V2rayA、Nginx 等多个工具整合到一起,通过一键脚本就能完成部署。 基于 Nginx 反向代理实现,支持 WebSocket、GRPC、HttpUpgrade 等多种传输协议,还能自动管理 SSL 证书续期和每日数据库备份,大大降低了运维负担。 GitHub:github.com/GFW4Fun/x-ui-pro 除此之外,还内置 170 种随机伪装网站模板,降低被检测风险,并提供 X-UI 和 V2rayA 双管理面板,方便配置和监控。 只需运行一行安装命令即可完成部署,支持 Linux 系统,适合需要搭建私人代理服务的技术人员。
wownz retweeted
每次看别人晒 Homelab 的网络拓扑图,那叫一个赏心悦目。这里找到一个项目,全自动扫描你的网络,识别出所有设备和服务,然后给你生成一张交互式的拓扑图,显示哪台机器跑了啥服务,网络是怎么连的,甚至 Docker 容器都能给你识别出来。 NetVisor github.com/mayanayza/netviso… 不知道效果如何,值得一试。
3
62
3
354