18 Common Ports Worth Knowing

🔌 程序员必知的18个常用端口号

面试常考,工作常用,一图搞定

常用端口号

网络端口号记不住?这18个最常用的帮你整理好了 👇

📌 21 — FTP 文件传输协议
📌 22 — SSH 安全远程登录
📌 23 — Telnet 远程登录(不安全)
📌 25 — SMTP 邮件发送
📌 53 — DNS 域名解析
📌 67/68 — DHCP 服务端/客户端
📌 80 — HTTP 网页访问
📌 110 — POP3 邮件接收
📌 123 — NTP 网络时间同步
📌 139 — NetBIOS 网络服务
📌 143 — IMAP 邮件访问
📌 443 — HTTPS 安全网页访问
📌 445 — SMB 文件共享
📌 1521 — Oracle 数据库
📌 3306 — MySQL 数据库
📌 3389 — RDP 远程桌面
📌 5432 — PostgreSQL 数据库

💡 记忆技巧:HTTP=80、HTTPS=443、SSH=22、MySQL=3306,这四个最高频,先记住这几个。


#网络 #端口号 #程序员 #计算机基础 #面试 #技术干货 #运维

15 Open Source Projects That Changed The World

🌍 改变世界的15个开源项目

这些项目塑造了我们今天的开发方式

改变世界的开源项目

开源改变了软件世界。这15个项目影响力最大,按领域分类 👇

🌐 Web 开发

  • Node.js — 把 JS 带到了服务端,前后端统一语言
  • React — 成为无数Web框架的基石
  • Apache HTTP Server — 企业和创业公司都爱的Web服务器

💾 数据管理

  • PostgreSQL — 高质量的开源关系型数据库,替代昂贵的商业方案
  • Redis — 缓存、消息队列、通用存储,万能选手
  • Elasticsearch — 大规模数据搜索、分析和可视化

🛠️ 开发工具

  • Git — 全球开发者协作的版本控制工具
  • VS Code — 全球最受欢迎的代码编辑器之一
  • Jupyter Notebook — 代码、公式、可视化一体的交互式开发环境

🤖 机器学习 & 大数据

  • TensorFlow — 机器学习的首选框架
  • Apache Spark — 大数据处理和分析的标准工具
  • Kafka — 实时数据管道和流处理平台

🐳 DevOps & 容器化

  • Docker — 应用打包部署的标准方案
  • Kubernetes — 云原生架构的核心,容器编排之王
  • Linux — 民主化了整个软件开发世界

💡 这些项目的共同点:解决了真实痛点,社区驱动,持续进化。


#开源 #程序员 #技术干货 #Docker #Kubernetes #Git #Redis #Linux

11 Steps To Go From Junior To Senior Developer

🎯 从初级到高级开发者的11步进阶路线图

不是写代码越多就越高级,方向比努力更重要

初级到高级开发者

想从初级开发者晋升到高级?这11个方向帮你规划成长路径 👇

1️⃣ 协作工具 — Jira、Confluence、Slack、Teams,软件开发是团队活动

2️⃣ 编程语言 — 精通1-2门:Java、Python、JavaScript、Go 等

3️⃣ API 开发 — 掌握 REST、GraphQL、gRPC 的设计和开发

4️⃣ Web服务器 & 云平台 — 了解 AWS、Azure、GCP、Kubernetes

5️⃣ 认证 & 测试 — JWT、OAuth2 保障安全;TDD、E2E、性能测试保障质量

6️⃣ 数据库 — 关系型(Postgres、MySQL)+ 非关系型(MongoDB、Redis)

7️⃣ CI/CD — GitHub Actions、Jenkins、CircleCI,自动化是效率的关键

8️⃣ 数据结构与算法 — Big O、排序、树、图,基础功不能丢

9️⃣ 系统设计 — 网络、缓存、CDN、微服务、消息队列、负载均衡、分布式系统

🔟 设计模式 — 依赖注入、工厂、代理、观察者、门面模式

1️⃣1️⃣ AI 工具 — GitHub Copilot、ChatGPT、LangChain,未来的必备技能

💡 高级开发者不只是技术强,更是能看到全局、做出正确技术决策的人。


#程序员成长 #职业发展 #软件开发 #编程 #技术干货 #面试 #架构师

100x Postgres Scaling At Figma

🚀 Figma如何把Postgres扩展

300万月活用户,数据库增长100倍,Figma是怎么扛住的?

Figma Postgres扩展

Figma 用户量从2018年至今增长了200%,达到300万月活。Postgres数据库增长了100倍,他们是怎么一步步扛过来的?👇

📌 第一阶段:垂直扩展 + 读副本

  • 用的是 Amazon RDS 单实例
  • 先升级到最大规格(r5.12xlarge → r5.24xlarge)
  • 创建多个读副本分担读流量
  • 加 PgBouncer 做连接池,控制连接数

📌 第二阶段:垂直分区

  • 把高流量表(如”Figma Files”、”Organizations”)迁移到独立数据库
  • 多个 PgBouncer 实例管理不同数据库的连接

📌 第三阶段:水平分区

  • 部分表超过数TB数据、数十亿行
  • Postgres Vacuum 成了瓶颈,IOPS 超过 RDS 上限
  • 实现水平分区,把大表拆分到多个物理数据库
  • 自研 DBProxy 服务处理路由和查询

💡 扩展路径很清晰:垂直扩展 → 垂直分区 → 水平分区。每一步都是在现有方案撑不住时才升级,务实且高效。


#Figma #PostgreSQL #数据库 #系统设计 #扩展性 #程序员 #后端开发 #技术干货

10 System Design Tradeoffs You Cannot Ignore

⚖️ 系统设计必知的10大权衡

系统设计的本质就是做权衡,没有银弹

系统设计权衡

不懂权衡,就不懂系统设计。这10个经典权衡你必须掌握 👇

1️⃣ 垂直扩展 vs 水平扩展 — 加配置还是加机器?小规模垂直,大规模水平

2️⃣ SQL vs NoSQL — 结构化数据用SQL,灵活schema用NoSQL

3️⃣ 批处理 vs 流处理 — 日账单用批处理,风控检测用流处理

4️⃣ 范式化 vs 反范式化 — 范式化减少冗余,反范式化提升查询性能

5️⃣ 一致性 vs 可用性 — CAP定理的经典抉择,鱼和熊掌不可兼得

6️⃣ 强一致性 vs 最终一致性 — 银行转账要强一致,社交点赞最终一致就行

7️⃣ REST vs GraphQL — REST简单直接,GraphQL灵活高效但设计成本更高

8️⃣ 有状态 vs 无状态 — 有状态记住历史,无状态更易扩展

9️⃣ 读缓存 vs 写缓存 — Read-through缓存未命中时加载数据,Write-through同时写缓存和存储

🔟 同步 vs 异步 — 同步按顺序执行,异步后台运行不阻塞

💡 面试和实际工作中,能清晰表达这些权衡的取舍理由,就是高级工程师的标志。


#系统设计 #架构师 #程序员 #面试 #技术干货 #后端开发 #分布式系统

10 Principles For Building Resilient Payment Systems By Shopify

💰 Shopify支付系统的10条生存法

支付系统容不得半点马虎,来看Shopify怎么做的

Shopify支付系统

支付系统是最不能出错的系统之一。Shopify 总结了10条构建高可用支付系统的宝贵经验 👇

1️⃣ 降低超时时间,快速失败 — 默认60秒太长了!读超时5秒、写超时1秒更合理

2️⃣ 安装熔断器 — Shopify 开发了 Semian 来保护 HTTP、MySQL、Redis、gRPC 服务

3️⃣ 容量管理 — 50个请求 × 100ms处理时间 = 500 QPS 吞吐量,心里要有数

4️⃣ 监控和告警 — Google SRE 四大黄金指标:延迟、流量、错误率、饱和度

5️⃣ 结构化日志 — 集中存储,方便搜索和排查

6️⃣ 使用幂等键 — 用 ULID 代替 UUID v4,保证操作不重复

7️⃣ 对账一致性 — 与金融合作伙伴的对账差异存入数据库

8️⃣ 负载测试 — 定期模拟大促场景,获取基准数据

9️⃣ 事件管理 — 每个事件频道3个角色:IMOC、SRM、服务负责人

🔟 事后复盘 — 三个灵魂拷问:发生了什么?我们的错误假设是什么?如何防止再次发生?

💡 这些原则不只适用于支付系统,任何对可靠性要求高的系统都值得参考。


#支付系统 #Shopify #系统设计 #高可用 #程序员 #后端开发 #技术干货 #架构

10 Key Data Structures We Use Every Day

🧱 每天都在用的10种数据结构

数据结构不只是面试题,它们就藏在你每天用的软件里

数据结构

数据结构听起来很学术?其实你每天都在用它们,只是没意识到 👇

📌 List 链表 — 你的推特/微博信息流就是用它实现的

📌 Stack 栈 — Word 编辑器的撤销/重做功能

📌 Queue 队列 — 打印任务排队、游戏中的用户操作队列

📌 Hash Table 哈希表 — 缓存系统的核心数据结构

📌 Array 数组 — 数学运算的基础

📌 Heap 堆 — 任务调度,优先级队列

📌 Tree 树 — HTML文档结构、AI决策树

📌 Suffix Tree 后缀树 — 文档中的字符串搜索

📌 Graph 图 — 社交关系网络、路径查找

📌 R-Tree — 查找最近邻居(地图类应用)

📌 Vertex Buffer 顶点缓冲 — 向GPU发送渲染数据

💡 学数据结构不要死记硬背,结合实际应用场景理解,效果翻倍。

你在工作中最常用哪种数据结构?👇


#数据结构 #算法 #程序员 #编程入门 #计算机基础 #技术干货 #面试

10 Good Coding Principles To Improve Code Quality

✨ 提升代码质量的10条黄金法则

好代码不是天生的,是靠这些原则练出来的

编码原则

代码写得好不好,不只看能不能跑,更看能不能维护。这10条原则帮你写出高质量代码 👇

1️⃣ 遵循代码规范 — PEP 8、Google Java Style,团队统一规范是基础

2️⃣ 文档和注释 — 注释要解释”为什么”而不是”是什么”,保持简洁并持续更新

3️⃣ 健壮性 — 能优雅处理各种异常情况,不轻易崩溃

4️⃣ 遵循 SOLID 原则 — 单一职责、开闭原则、里氏替换、接口隔离、依赖倒置,可扩展代码的基石

5️⃣ 易于测试 — 降低组件复杂度,支持自动化测试

6️⃣ 适度抽象 — 提取核心逻辑隐藏复杂度,但别过度设计

7️⃣ 善用设计模式,但别滥用 — 每个模式都有适用场景,滥用反而增加复杂度

8️⃣ 减少全局依赖 — 用局部状态和参数传递,函数尽量无副作用

9️⃣ 持续重构 — 尽早发现和修复问题,减少技术债务

🔟 安全第一 — 避免常见安全漏洞,安全意识贯穿始终

💡 不需要一次全做到,从最薄弱的环节开始改进,代码质量会越来越好。


#程序员 #代码质量 #编程 #软件开发 #SOLID #设计模式 #重构 #技术干货

10 Essential Components Of A Production Web Application

🌐 生产级Web应用的10大核心组件

你的Web应用上线前,这10个组件缺一不可

Web应用架构

一个真正能上线的Web应用,远不止写几个页面那么简单。来看看完整的生产架构需要哪些组件 👇

1️⃣ CI/CD 流水线 — 用 Jenkins、GitHub Actions 自动化部署代码到服务器

2️⃣ DNS 解析 — 用户在浏览器输入网址后,请求经过DNS解析到达应用服务器

3️⃣ 负载均衡 & 反向代理 — Nginx、HAProxy 把请求均匀分发到多台服务器

4️⃣ CDN 内容分发 — 静态资源就近分发,加速用户访问

5️⃣ API 通信 — Web应用通过API与后端服务交互

6️⃣ 数据库 & 缓存 — 后端服务连接数据库或分布式缓存获取数据

7️⃣ 任务队列 — 耗时任务丢给 Job Worker 异步处理

8️⃣ 全文搜索 — Elasticsearch、Solr 支撑搜索功能

9️⃣ 监控系统 — Sentry、Grafana、Prometheus 收集日志和指标

🔟 告警服务 — 出问题时通过 Slack 等平台通知开发者快速响应

💡 这10个组件构成了现代Web应用的骨架,理解它们的协作方式是成为全栈工程师的关键。


#Web开发 #系统架构 #程序员 #后端开发 #技术干货 #全栈 #DevOps #微服务

10 Books For Software Developers

📚 程序员必读的10本书!从入门到架构师的进阶书单

收藏这份书单,少走三年弯路

程序员必读书单

想成为更好的开发者?这10本书是业界公认的经典,按方向分类给你整理好了 👇

📖 通用建议

  • 《程序员修炼之道》— 编程思维的启蒙之作
  • 《代码大全》— 被称为软件开发的”圣经”,从设计到测试全覆盖

📖 编码能力

  • 《代码整洁之道》— Bob大叔教你写出优雅代码
  • 《重构》— Martin Fowler 的经典,教你如何改善既有代码

📖 软件架构

  • 《数据密集型应用系统设计》(DDIA) — 后端工程师的必读神书
  • 《系统设计面试》— 面试+实战两不误

📖 设计模式

  • 《设计模式》(GoF) — 四人帮的经典之作
  • 《领域驱动设计》— 复杂业务建模的指南

📖 数据结构与算法

  • 《算法导论》— 算法领域的权威教材
  • 《Cracking the Coding Interview》— 刷题面试必备

💡 建议:不用一次全读,根据当前阶段选2-3本深入研读,比泛读10本更有效。

你读过哪几本?评论区分享下读后感 👇


#程序员 #技术书单 #软件开发 #编程 #程序员成长 #代码 #架构师 #面试 #计算机