对工作的热爱源于对技术的执着,不怕困苦,认真负责是我的立足之本。
BIBO语音一款面向海外华人的语音交友软件。和其他直播软件类似,主要有语聊直播、送礼物,跨房PK、排行榜、节日活动等玩法。主要使用GO+PHP来完成开发和维护工作。后因公司倒闭而离职。
我在公司主要负责BIBO所有项目的服务端开发和维护工作。在部门带领3人后端小队,除日常开发工作,还负责需求拆解排期、任务划分、把控项目进度等工作。
公司所有后端项目都使用laravel框架开发。我负责的项目包括但不限于:APP服务端接口开发、后台系统接口、活动项目接口、metabase、统计后台等。
在跨房PK功能中,使用rabbitMQ延时队列来监控PK时段状态。以及使用同步队列进行非核心业务的异步处理。
技术架构模式以SOA为主,跨项目调用使用内网HTTP通信。
三方组件:融云 | 声网 | 数美 | 云账户 | 各类广告系统
技术关键字:Laravel | MySQL | Redis | RabbitMQ + Delay Queue | AWS | CentOS | Supervisor | Vue3
由于送礼物业务逻辑太过复杂,PHP响应太慢,于是从0到1使用go-zero对送礼物功能进行重构。后续计划逐步将全部PHP迁移到微服务中,但最终没能实现。
微服务项目使用go-zero的protobuf+grpc进行内网服务通信。服务划分为:用户服务、财务服务、直播服务、社交服务、统计服务等。
技术关键字:GO-ZERO + PHP相关技术栈
有一些非核心业务但是并发很高,如广告回调、聊天内容检测等。我们将其从PHP中迁移到Gin中,使用goroutine异步业务处理。一方面是提高性能,一方面是如果程序挂掉,也不影响主业务。
技术关键字:GIN
我们使用GIN+GOIM开发了摩天轮游戏。GOIM是B站开发的一套websocket长连接系统。客户端使用websocket无刷新与后端实时通信。考虑到长连接的单一职责与业务隔离性。GOIM使用内网HTTP与GIN业务服务进行数据通信。游戏业务逻辑落到GIN项目中。
技术关键字:GOIM | GIN
OKAY智慧教育致力于为各地教育主管部门、全日制公办学校、课外辅导机构、教室、学生、家长提供教育信息化解决方案和产品。我从事于后端架构部,主要使用GO+PHP来完成开发和维护工作。后因公司层面调整,我们这一批新来的人都没能通过试用期。
我在公司主要负责中间层(PHP Laravel)和应用中心(GO Gin)的开发和维护工作。
我负责的中间层项目有:OMS系统(面向内部)、方象系统(面向服务商)、智慧学校工作台(面向学校)。
公司的技术栈没有特别复杂,工作重心主要是在需求整理、接口设计、业务开发以及各部门协作上。
技术架构模式以SOA为主,中间层做业务逻辑处理;后端服务提供数据支撑。中间使用内网HTTP通信。
技术关键字:Laravel | Gin | MySQL | Redis
狸米网校是面向K12的互联网在线教育公司,员工人数3000+。在公司工作4年半的我,工作认真负责,解决问题迅速,人品正直,深得公司领导和同事信赖与认可,多次获得优秀员工称号。在狸米课堂成立初期就加入了团队,先后主要负责课堂API、狸米教师端、课堂长连接、狸米口算赛的开发和维护工作。后因K12双减政策影响而离职。
在部门带领5人后端小队,除日常开发工作,还负责需求拆解排期、任务划分、把控项目进度等工作。
课堂websocket长连接是狸米课堂学生在课中直播时与老师互动的主要通道,用于在学生和老师之间无刷新发送消息(如老师向学生提问、学生回答问题、老师向学生发金币等)。
我们的长链接与其他直播行业产品相比较为复杂。主要在于瞬时并发和用户分组的管理,对于组播有很多种形式。
公司由于业务压力逐渐升高,先后使用过Workerman、Swoole、GOIM(GO语言)作为公司的长连接业务。
Workerman时期,最高支撑5000人同时在线。
Swoole时期,最高支撑8万人同时在线,单课8000人(这个人数其实不是很多,由于历史原因,我们在swoole中require了YII框架及业务逻辑)。
GOIM时期,完全剥离掉长链接中的业务逻辑,最高达到40万人同时在线。
技术关键字:websocket | GOIM | Swoole | Redis | supervisor
狸米口算赛API是为学生定期举办的算数比赛项目。项目以小程序为前端,后端使用GO语言Gin框架编写。
项目要求学生在有限的时间内计算更多的题目。所以项目会有并发问题。我在项目中使用了Redis缓存、Kafka异步削峰、异步判题来解决这类问题。
技术关键字:Gin | Kafka | Redis
狸米课堂API是公司的核心项目,为学生端(手机APP等)提供业务支撑。
课堂API第一版使用PHP语言YII框架编写,后期由于更多的人才加入以及领导的技术栈变更,整体技术栈转向Java Spring Cloud微服务。所以我写了将近一年的java。但我是一直在写java业务,对java底层及架构理解并不深刻。
课堂API更多的是业务层面的开发工作。
技术关键字:resuful API | YII | MySQL | MongoDB | ELK | Java Spring Cloud
北京美源星是期货类金融公司公司,员工人数1000+。在公司工作2年的我,多次获得优秀员工称号。在公司先后负责官网的开发以及投资顾问平台的开发与维护工作。
从零到一开发企业官网。企业官网属于内容型(CMS)网站,使用ThinkPHP开发,是传统的前后端混写模式。我在此项目中是全栈开发,负责前后端的所有开发和运维工作。
技术关键字:CMS | ThinkPHP | MySQL | 静态生成 | SEM | 全栈开发
投资顾问平台是投资者与金融分析师之间的交流和咨询的平台。使用PHP Workerman的websocket协议进行消息传输。该平台由两套系统组成。前台给用户使用,后台给分析师使用。
我在该项目中,负责包括但不限于逻辑梳理、技术选型、架构设计、后台程序开发、前端UI编写、服务器架设等,都是我一个人完成的。
技术关键字:websocket | 即时通讯 | Workerman | Javascript | CentOS | 全栈开发
2012年和朋友在呼和浩特合伙开了一家外包公司,2014年在大理的外包公司工作过一段时间,主要从事电子商务、网站建设、广告策划、软件开发、计算机的推广与应用等信息化建设服务。
我在工作中主要负责web站点、手机网站的开发和维护等工作。在职期间制作过百余个外包网站。
由于这两段工作内容较为类似且年头较早,为了阅读方便,所以合并到一起描述。
热爱计算机,不仅仅是为了工作
SimUI(计算机软件著作权登记号:2021SR0804261)是一款开源的,用GO语言+Sciter编写的windowsGUI程序。是一款配置自由的模拟游戏ROM管理软件。目前正在使用GO+Wails+Vue3+Quasar重构。
SimUI是目前国产ROM管理软件中最好的,全网下载量已达上万次。获得了广大网友的一致好评。
我希望打造极致的产品,融入工匠精神,不断探索每一种更好的可能。SIMUI以资料收集和分享为侧圆心,为玩家打造更具品质的模拟游戏图书馆软件。
软件下载量粗略统计有1万+。有诸多中古游戏爱好者和业内大神使用SimUI来整理自己的游戏并向外分享。因该软件主要并不是面向程序员,所以该项目的star并不多(gitee和github共50多个)
LimiKafka是我使用GO语言+Sciter编写的一款类似kafka Tool的Kafka桌面GUI管理工具。
目前具有:topic查询、消息查询、调试工具、批量导入数据等功能。
除了一些必备的技能之外,工作期间还不断提高自身水平,积累了一些如电子书制作、多媒体技术等其他行业的知识。这些新技术与我的专业技能相结合,可以更准确的解决问题、完成工作。
工作,只是我生活的一部分,不断进取的背后,是对美好生活的绽放
从小就热爱计算机的我,心地善良,无不良嗜好,有很强的责任心,吃苦耐劳、综合能力较好、有极强的求知欲,对计算机理解能力强,有代码洁癖。工作期间认真负责,获得了领导和同事的一致好评。并多次获得优秀员工称号。
我的工作优势主要体现在工程和业务方面。对一些业务设计、完成需求方面表现出色。也拥有一定的架构设计能力。
工作这些年,总结出许多道理和经验,其实技术并不是全部,认真负责、协作和好沟通也非常重要。一个需求下来,能从沟通中换位思考理解他们为什么要这么做。这些年在和技术、产品、测试、运营以及其他部门的协作中,我从来没和同事发生过口角。有问题就解决问题,不甩锅、不推脱,敢于承担责任。大家都说跟我的合作很舒服。
有很多0到1的项目开发经验。可以从宏观角度思考,同时也注重开发中的细节。富有产品意识,可以从产品的角度出发思考问题,不拘泥于程序员固有思维。用户至上,相信功能为用户体验所服务。
我的学历不是统招本科,是全日制成人本科。虽然不是统招,但也是全日制的。我小时候不爱学习,一直傻傻坚信技术大于学历,在课堂上自学计算机(那时流行frontPage)。导致高考统考没考上,考的全日制成人。现在真是后悔。
2024年,是充满期待的一年,希望在更宽广的空间中接触更多的新世界、新技术、新朋友,和更有效的提升自我价值。愿用我旺盛的精力与始终求知上进心态,不断丰富视野,给自己一个灿烂的人生。