📄🦌🙌🐟🏖️
杨杨得议
把复杂变简单,让技术创造价值
精选
按住 Shift 横向滚动
管团队这几年,我最大的教训

管团队这几年,我最大的教训

团队管理者应从“技术最强”角色转向机制建设,核心教训是:leader离开后团队能否正常运转才是真竞争力。五个实践模块:1. Owner精神——每个领域设Owner并配Backup,通过虚拟小组处理跨领域项目,降低单点风险。2. 轮值分享——强制每人每两周做实战分享并撰写文档;故障复盘采用5-Whys找根因、产出改进措施,不追责。3. 多维考核——OKR明确方向,KPI守住底线,辅以扩展性、排查能力、知识贡献等软性维度。4. 梯队建设——关键岗位必须备份,半年评估高潜成员并给予挑战项目,内部轮岗促进全局理解。5. 经验沉淀——分五阶段:标准化→流程化→工具化→自动化→产品化,从最痛点迭代。最终目标:好的管理是让团队不需要你,机制驱动而非个人驱动。

一种超大规模数据导出Excel的实现方法

一种超大规模数据导出Excel的实现方法

使用EasyExcel实现超大规模数据导出,解决传统POI内存溢出问题。核心策略为分页查询数据库(如每批20万条)并分批流式写入Excel,确保内存常驻对象最小化。基于Java、Spring Boot和EasyExcel 4.0.2,通过动态头和try-with-resources管理资源,循环写入直到全部数据导出。关键参数包括pageSize和total,生产环境需异步导出避免HTTP超时。性能优化建议设置合理堆内存、关闭自动列宽、减少对象复杂度、使用覆盖索引等。测试中384MB堆内存成功导出500万条数据,内存占用稳定在300MB以内。该方案可稳定处理百万级至千万级数据导出,并支持进一步抽象为微服务架构。

一种文件分片上传的实现方法

一种文件分片上传的实现方法

基于Spring Boot和原生JavaScript实现大文件分片上传方案。前端将文件切割为10MB分片,通过递归上传并实时更新进度条,上传前使用SparkMD5计算文件MD5用于完整性校验。后端采用RandomAccessFile按偏移量随机写入,支持分片乱序到达,无需额外合并步骤;配合MappedByteBuffer提升大文件IO性能。所有分片上传完成后,服务端对完整文件进行MD5校验,确保数据未被篡改。该方案有效解决传统上传中网络波动导致中断、服务器内存压力大、连接超时等问题,并可扩展断点续传和秒传功能。

从0到1:构建SpringBoot项目脚手架的设计思路与实战

从0到1:构建SpringBoot项目脚手架的设计思路与实战

这套基于Spring Boot 3.x的开源脚手架,旨在解决团队开发中代码风格不统一、重复搭建基础设施的问题。它统一了响应结构(Res泛型类)与全局异常处理(@ControllerAdvice),通过AOP切面记录请求日志,利用ThreadLocal传递用户上下文,开箱即用。内置异步任务(@Async)、定时任务(含Kafka消费者掉线自动恢复)、文件分片上传和WebSocket实时推送等实用功能,并支持Docker化部署和PostgreSQL/MySQL多数据源切换。作者将共性问题抽象为可复用资产,帮助开发者在新项目中直接基于种子迭代,只需专注业务逻辑,显著减少重复劳动,提升团队效率与代码质量。

kolla-ansible部署openstack

kolla-ansible部署openstack

基于VirtualBox和Kolla-Ansible,本文详细介绍了在Debian12上部署OpenStack单机版的完整流程。网络采用NAT-Network与Host-only结合的方式规划控制面、外部和数据面网络。关键步骤包括创建VirtualBox网络、安装虚拟机并配置静态IP、关闭防火墙、更换国内软件源、安装Docker及基础工具。随后通过Python虚拟环境安装Kolla-Ansible(推荐从源码安装),配置all-in-one清单、globals.yml和passwords.yml,执行bootstrap-servers、prechecks、deploy完成部署。最后安装openstack客户端并生成管理员环境变量。读者可据此搭建可供评估的OpenStack环境,并了解常见故障处理(如dbus依赖)。