Introduction
以找到一份工作为目的,这篇文章描述了我的的情况。它包含技术栈,项目等,也提供了一份简历。
求职意向
最想要:系统级,使用c/c++开发的工作
技术栈
完成复杂的事情。或者完成简单的事情,干净、效率、艺术。
需要补充的是:
- 计算机方向的基础知识,像数据结构和常用算法,网路,操作系统有一定的掌握
- 像OOD、设计模式和devops 等工程方面的领域,有不错的理解
总结一下:
我掌握的技能显得多一些。每个方向上我都能看到还有一段路可以走。
我现在要找的是c/c++的工作(接下来会专注这方面),一些技能似乎是无关紧要的,但我感觉,这对我理解编程这件事,十分有帮助。
作为一个写c/c++的程序员,目前:
- ✅ 正常写业务代码没有问题(编程规范,设计模式,单元测试,文档等。)
- ⏳ c/c++ 领域,更底层的部分,像使用perf ftrace 进行性能分析和调优,更深的性能理解等,我还需要时间
- ❓ 使用c/c++表达的非常复杂的专业领域知识 (即使c++比较难,很多c++开发的工作,语言知识只是一部分)
另外,写代码的时候,我要么使用vim mode,要么使用neovim(这肯定能体现对编程的热情,很多大佬也离不开vim,让我也沾点光...),我也维护一份自己的neovim配置,我的 dotfiles
项目
我目前有3个完全属于我的项目可供分享,他们能够表现我当前的水平。
1. 一个实现网页自动打印的工具
涉及技能:
- c++
- cmake
- qt(所有项目依赖都选了qt: log->qtlog unittest->qtest httpserver->qhttpserver)
- vue
- sqlite
- nix
- github action
要解决的问题:
toB 业务上,信息化基本都是用web技术来实现。电子化不能覆盖所有信息提供场景,类似于标签纸的使用也无处不在。
如何描述标签纸的信息?有很多实现方法。在以web技术为主的场景下,最方便的是使用html css来描述,通过http接口从后台服务器获取数据。
安全原因,正常的浏览器,不会允许web page 在不经用户手动确认的情况下,操作用户的打印机。如果打印需求很多,每个都要点一下,是不可能的事情。
实现:
这个项目封装了一个google 浏览器内核,也就是qtwebenginer,与qtprinter 模块连接,对外暴露http 和 websocket 接口,它还提供了一个web 页面用于配置。
所以,只需要与接口交互,就能打印相应的web page,非常的自动化。
它使用nix package(windows 系统下,需要手动下载qt)管理依赖,cmake 构建,qttest 做单元测试,doxygen 导出文档。
2. 一个blog网站 example
就是这个网站
涉及技能:
- vue
- vitepress
- github action
- cloudflare
要解决的问题:
vitepress 的最初目的,是为了项目提供文档,它也提供了很多个性化定制的可能,作为一个blog网站也是完全没问题的,但没有开箱即用的功能。
vitepress 只是一个前端概念上的工具,要发布一个网站,还需要托管到后台。
实现:
这个项目在 vitepress 的基础上加了许多功能,像文章的分类,创建日期和修改日期,导航页面,根据文件目录结构,绑定系列文章生成导航,另外借助git hook,github action 和cloudflare 实现自动部署,一个多余的步骤都没有
3. 一个文件同步工具
涉及技能:
- c#
- asp.net
- xunit
- sqlserver
- vue
要解决的问题:
Devops 已经抛弃了windows。一些企业级的后台服务,还在使用.net framework 4.8,它只能托管在windows server 上。
这样的项目是业务密集型,代码量庞大,虽然,重写是解决所有问题的最有力步骤,但现阶段没有办法重写。
这样的项目通常有三个阶段:
- 开发
- 测试
- 正式发布
每个阶段都有对应的环境,每个环境一般包含:项目 和 数据库。
业务密集型的应用,改动经常发生,若只能手动从 开发环境->测试环境->正式环境 同步(windwos remote desktop),这效率低下,而且容易出错。
实现:
使用dotnet 8开发。它能够对比两个环境之间的文件差距(通过文件的修改时间),然后将差异文件压缩,加密,上传到待发布环境,解压缩覆盖。
对于sql server 的结构和部分数据同步,通过集成sqlpackage工具,也能够实现流程自动化。
它的最佳使用场景是与git hook 集成,除此之外,它还提供也一个页面用于手动发布。
基本信息和联系方式
性别:男
年龄:30(94/95)
籍贯:河南
教育背景: 河南科技大学 本科 电气工程及其自动化专业 2017年毕业(双非,一本,我高考大概多一本线20多分)
TIP
毕业之后,我从事的是本专业的工作,也就是电气工程专业的工作,2018年12月中旬 到 2019 年初,我自学了c++。随后在2019年3月份左右,我找到了第一份编程工作,后续一直做这方面的工作,写代码6年多了。
blogs:https://zerlei.cn
github: https://github.com/zerlei
电话:15515573675(也是微信)
邮箱:[email protected] 或者 [email protected] 或者 [email protected]