轮子哥博客

【专业造轮子】:一位大神的编程之路,让我大吃一惊! vczh,本名陈梓瀚,因知乎的个人信息介绍上写有 “专业造轮子”,所以江湖人称 “轮子哥”。 vczh 大学时代就在微软实习,毕业后即加入微软。开始时是在微软上海,后来进入北京的微软亚洲研究院。现已移居美国西雅图,在 Office 组做工程师。 前几天收到网友的邀请参加这个活动,想想好像今年的惯例回顾博客文章没有写,于是干脆就写一遍。本文的前半部分基本截取自4年前的一篇博客文章:进 阅读详情

http://www.cnblogs.com/geniusvczh/



汕头一中05届陈梓瀚师兄简历  

2009-05-04 23:53:58|  分类: 【计算机类】软件|举报|字号 订阅

这里贴上陈梓瀚伟大师兄的简历,以激励一中后人能以其为榜样努力学习,为建设伟大的中国特色社会主义而奋斗——何咏同学发。

个人信息
  陈梓瀚   21
  华南理工大学   男
  软件工程   2005级本科
       
  vczh@163.com   vczh@hotmail.com
工作经验
  • 2008.7 - 2008.12 微软服务与工具事业部(上海)实习
奖项和荣誉

  • 2005 - 2006 华南理工大学三好学生
  • 2005 - 2006 三等奖学金
  • 华南理工大学软件设计大赛(优秀奖)
  • 微软学生实践项目 (二等奖,一等奖空缺) 
        Document Terminator
  • 微软学生实践项目 (优秀奖) 
        Vczh Jove Script
  • 2006 大学英语4级考试 (分数: 556)
  • 微软学生实践项目 (二等奖) 
        Vczh Free Script 1.0
程序设计语言
C++ 熟悉
Delphi 较为熟悉
Visual Basic 6 较为熟悉
C# 较为熟悉
Lisp 了解
Haskell 了解
项目经验
 



这是一个专门为C++以及Windows XP和Vista开发的新的界面开发库(预览版)。
1:接口友好,可以在没有任何关于API概念的情况下使用本框架。
2:使用接近RAD的一般做法定义接口以及事件处理机制的外观,将Delphi以及C#的开发体验带入C++。
3:内置排版功能,可以在初始化的时候进行配置,此后框架将自动调整控件位置。
4:支持Vista新特性。
5:无须第三方库支持。

 

这是一个使用C++开发的脚本引擎(http://www.cppblog.com/vczh/archive/2008/07/01/55072.html)。脚本编译器使用Syngram编写。

这个脚本引擎可以被native C++或者.NET程序使用,具有如下功能:
1:语法支持面向对象、函数式、泛型等多种范式。类型系统为无类型,语言属于动态语言。
2:类及对象支持运算符重载及动态成员查找功能。
3:脚本所有对象均为匿名,内置反射、文件系统、正则表达式、Syngram等库。
4:脚本引擎附带一个使用脚本语言开发的容器库。
5:脚本可以编译并运行脚本代码。脚本引擎的垃圾收集系统负责处理编译完的指令列表。
6:Host Application可以添加函数和类,可以获得脚本创建的任何对象的信息。
7:插件提供一种模式,只要Host Application遵循此模式进行插件开发,则可以正确及容易地处理脚本语言本身的运行时异常、处理或引发中断等操作。引擎提供任务栈,脚本可以中止当前任务、执行完另一个任务之后继续执行被终止的任务。

 

这个库于2007年10月份开发完成,经过若干修改,现在具有的功能有:

1:可以直接在C++代码中书写正则表达式组,构造词法分析器。
2:可以直接在C++代码中书写经过微小修改的EBNF文法推导式,构造语法分析器。
3:可以将自己的错误处理程序、语义处理程序和文法错误恢复策略绑定在EBNF上。
4:可以自己制定产生的错误信息。
5:可以在语法分析的过程中动态启用或禁用一些文法推导式。

Syngram库已经被用来开发Vczh Free Script的编译器。在书写编译器的过程中,Syngram库简化了语法分析的工作,可以将精力集中在错误处理和代码生成上。

 

这个项目是我于大二结束的暑假独立完成的。这款正则表达式引擎除了支持一般的功能以外,在语法上还支持命名的子表达式,这样可以在某种情况下大大缩小正则表达式的长度。但是在命名的子表达式内部不能引用自身,不支持这样的递归定义。这款正则表达式引擎可以选择将某段匹配的字符串保存进内置的一个列表内,还可以保存到若干命名的列表,譬如在应用的时候可以匹配一个C++的函数声明,并在表达式内指定将函数名称、返回类型、参数的类型表和名称表分别放进四个列表,方便后续分析。引擎还附带了一个比较简单的替换工具,可以将结果通过某种指定方式合并,减少代码量。

 

这个项目是我于大一结束的暑假独立完成的一个脚本引擎。这个脚本引擎所支持的脚本具有OOP所需的元素如类和虚函数等,也支持全局变量和全局函数。脚本引擎内置垃圾收集器,对象在创建后不需要显式删除。这个脚本引擎被作为一个类库实现,使用的时候需要将相关的代码放进工程,没有做成DLL。

 

这个项目的作者为我和其他两个软件05级的同学,我负责软件结构的设计和C++、Java、C#文件分析以及中间结构维护的代码工作。这个软件可以通过读取C++、Java、C#、Object Pascal、Visual Basic的代码文件,或者通过读取Visual Studio2005、Delphi7.0、C++Builder6.0等主流IDE的工程文件,通过程序员撰写的固定格式的代码注释,生成一份代码文档,并有简单的统计功能。

 

这个软件渲染器模拟了当前显卡的固定管线的流程,实现了CubeMap和BumpMap,表面法线内插值实现的光强过渡,2D单层贴图,Alpha通道,模板绘图,还有用于处理线性变换的矩阵系统。表面消隐使用ZBuffer,但是在多个带Alpha通道的表面输入的时候,并没有调整顺序做切割以实现正确的渲染,需要使用者调整输入顺序。不过这个项目只作为试验用,并没有发布到任何的地方。

 

这个ARPG使用Delphi开发,使用GDI绘图,在赛扬III 2.0G+256M DDR的电脑上FPS有36以上。该ARPG包含地图200张,由我和另外一个同学共同绘制,代码12000行,由我独立完成。图片经由网上下载并经过图片的作者同意。这个ARPG在GDI下实现了Alpha通道以及场景的渐变过渡。这个ARPG也包含了一套自己开发的GUI界面系统和脚本引擎。

个人评价
对计算机技术、相关数学知识和理论有极大热情,喜欢专研。
能够认真学习并使用各种办法解决自己遇到的困难。
具有较丰富的实践经验。
学习能力强,能够较快掌握所需知识。
工作认真负责,具有一定的协调管理能力。
善于与人沟通交流。

阅读(55522) |  评论(0)

程序员如何通过造轮子走向人生巅峰? 前言:你所做的事情,也许暂时看不到成果。但不要灰心,你不是没有成长,而是在扎根。 程序员圈经常流行的一句话:“不要重复造轮子”。在计算机领域,我们将封装好的组件、库,叫做轮子。因为它可以拿来直接用,直接塞进我们的项目中,就能实现对应的功能。 有些同学会问,人家都已经做好了,你再来重新弄一遍,有什么意义?这不是在浪费时间吗。 殊不知,造轮子是一种学习方式,能快速进步,造得好,是自己超强能力的表... 阅读详情

相关推荐

扫描线Zbuffer示例

此份代码简洁高效,是我在上图形学课时的一个课程设计。整个项目只有一个cpp,里面包含obj读取,结果保存为bmp,扫描线Z缓存算法实现等部分,一共339行。但请注意,算法实现上我是在课本提供思路上做了很大的简化,整个算法实现过程只用到一个结构体。

Syngram Helper开始设计:一个能用来写编译器的工具

    大概一年前曾经用C++开发了一个可以在C++中直接写上下文无关文法的上下文无关文法分析器。这玩意儿叫Syngram。Syngram曾经做了两次,第一次做成了用一个类去读文法文件,后来不爽就改成了直接在C++里面写的。我弄了一个叫Term的类,重载了一些操作符,于是你可以搞分支、可选、错误处理等复杂的文法推导式。现在打算做一个周边工具。       这个周边工具的由来是这样的。后来我用S...

weixin_34364071的博客 92

《Programming Role Playing Games with DirectX》第二版chap 2的ZBuffer代码

原书附送的代码加上本人更新的代码。使用方法参见压缩包内的ReadMe.txt文件。

轮子哥的Activity

对Android project中activity的一些理解

weixin_43623379的博客 569

z-buffer算法

浙大图形学作业,z-buffer扫描线算法,obj文件导入

Z-Buffer消隐算法的Matlab实现

用Matlab实现的Z-Buffer算法,其中读取了一个wrl文件和obj文件

Apk 签名的那些事

Android不允许没有签名的apk安装到手机上,应用的签名类似于应用的身份证签名更大的作用是为了保护版权,如果应用的包名相同而签名不一致,则无法覆盖安装,必须先卸载再安装。

一个IT人的技术成长历程。 600

企业信息化系统的组成模块-核心业务系统

通过标准化的数据流形成完整的业务闭环,CRM生成的销售订单驱动ERP的生产和采购,ERP将生产计划传递给MES执行,MES报工数据返回ERP进行成本核算,ERP再将交付信息同步给CRM供客户查询。生产管理确保高效交付,缩短订单周期。某贸易公司实施ERP供应链模块后,库存周转率从每年4次提升到8次,库存资金占用从2000万降到1200万,释放800万现金流,同时缺货率从15%降到5%。│ │库存 │ │ MRP │ │ ERP │ │ 云ERP/ │ │。

weiyvyy的博客 694

专访轮子哥:我在微软「造轮子」,一不小心成了知乎大V

陈梓瀚Vczh,在网络上,大家可能熟悉他在知乎的外号——轮子哥。而在现实中,他的名字就印在久负盛名的C++经典教程《C++ Primer 第五版》的封面上,因为他是这本书的审校之一。 他常年利用闲暇时间开发C++图形界面库GacUI。这是一款在架构上跨平台、支持控件与模板分离、灵活的数据绑定以及全面支持MVVM模式的C++ GUI库。 如今,他...

墨鱼菜鸡 1858

广工计组实验f2一位全加器

一位全加器实验

weixin_63692154的博客 2847

物联网 Mixly-智能楼道灯

一、实验目的及要求 熟悉声音及人体红外传感器用法。 二、实验原理与内容 1.使用声音传感器实现声控灯功能。 2.使用人体红外传感器实现人体检测控制灯功能。 三、实验软硬件环境 硬件:Arduino、LED灯、声音传感器、人体红外传感器 软件:Mixly IDE 四、实验过程(实验步骤、记录、数据、分析) 核心代码截图 声控灯: 人体红外检测灯: 3.实验效果图: (1)、声控灯总线连接: (1)、声控灯声音大于一某个值时灯亮,经过2秒后灯灭: (3)、人体红外检测灯连接总线: (4)、人体红外

qq_43430810的博客 1917

爬轮子哥的博客

爬轮子哥的博客因为有些时候网络条件不太好,所以索性把轮子哥博客爬下来,离线看。之前看了他的正则引擎文章,自己也写出来了一个简单的正则引擎,收获还是挺多的。有了正则工具,构造可配置词法分析器就方便的很,然后就会想干脆做个编译器吧,于是就得开始做语法分析器,然后就得代码生成,再设计一套虚拟机汇编,让你的代码跑起来。总之都在一步步提高自己的能力。真心觉得轮子博客文章质量很高,我有一个愿望,就是能尽量遍历一

arctanx 2239

告别OFDM卡顿:用MATLAB手把手仿真AFDM波形,搞定高铁、无人机通信的时变信道难题

本文详细介绍了如何使用MATLAB仿真AFDM波形,解决高铁和无人机通信中的时变信道难题。通过仿射变换技术,AFDM在多普勒频移严重的场景下表现优异,显著提升通信质量。文章包含参数配置、波形生成、性能对比等实战内容,适合通信工程师和研究人员参考。

weixin_27014595的博客 318

大牛博客收藏 相关网址和链接

参考链接 http://my.oschina.net/leopardsaga/blog?disp=1&catalog=266166&sort=time&p=1 该网址主要设计到有关机器学习和数据挖掘工具weka的翻译  可以抽空适当地学习一下 参考链接 http://blog.youkuaiyun.com/unix21 主要内容:编译原理 该网址还涉及到很多有关linux系统的相关知识的博客

LynnUCAS的专栏 429

Python通用编程规范-09 安全编程规范

1.9 安全编程规范 1.9.1 异常行为 1.9.1.1 禁止抑制或者忽略已检查异常 【说明】: 编码人员常常会通过一个空的或者无意义的catch块来抑制捕获的已检查异常。每一个catch块都应该确保程序只会在继续有效的情况下才会继续运行下去。因此,catch块必须要么从异常情况中恢复,要么重新抛出适合当前catch块上下文的另一个异常以允许最邻近的外层try-catch语句块来进行恢复工作。异常会打断应用原本预期的控制流程。例如,try块中位于异常发生点之后的任何表达式和语句都不会被执行。因此,异常必须

zhao12501的博客 2871

VScode+MPLAB AI助手:Microchip MCU开发全流程实战解析

本文详细解析了如何使用VScode搭配MPLAB AI助手进行Microchip MCU开发的完整流程。从环境配置、工程创建到代码生成与调试,全面介绍了AI助手在提升开发效率、优化代码和故障排除方面的实际应用,为嵌入式开发者提供了一套高效的开发解决方案。

hh234的博客 1131

几位it 前辈的博客

赵劼http://blog.zhaojie.me/?page=2 陈硕http://www.cnblogs.com/Solstice/ 轮子哥http://www.cnblogs.com/geniusvczh/ 轮子哥的微博http://www.cppblog.com/vczh/category/6940.html 蓝色的githubhttps://github...

weixin_30569033的博客 91

esxi8.0.3如何添加USB外置硬盘

本文介绍了在ESXi系统中配置外置USB硬盘作为数据存储的完整步骤:1)通过SSH禁用USB仲裁服务并关闭自启;2)识别已连接的USB硬盘设备路径;3)使用partedUtil创建GPT分区表并计算扇区范围;4)设置VMFS6分区并格式化。关键命令包括停止usbarbitrator服务、partedUtil分区操作以及vmkfstools格式化命令。整个过程需通过SSH执行,最终将USB硬盘配置为名为"USB_Datastore"的VMFS6存储设备。

qq_41683719的博客 1545

轮子哥课程1

记录一段轮子哥写的大神级代码,以后参考#include <iostream> #include <string> #include <regex>using namespace std;int main() { string line; regex email(R"(\w+@(\w+\.)+\w+)"); while(getline(cin,line)) {

田震宇 868

基于改进YOLO11的天际线检测算法:复杂光照与恶劣天气适配实战

针对特定任务的YOLO改进,不应追求通用SOTA,而应深入理解任务的物理退化机理。Retinex对应光照模型、FAD对应散射模型、Wise-IoU对应边界不确定性——每个改进都有明确的物理解释,而非盲目的模块堆叠。时序一致性:引入轻量级RNN/Transformer模块利用视频帧间信息补偿单帧退化;多模态融合:结合红外/NIR波段穿透雾霾,与可见光特征在FAD-Neck中交叉注意力融合;自监督预训练:在海量无标注天际线视频上用MAE预训练Backbone,缓解恶劣天气标注稀缺问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 95

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【大白看大牛】技术大牛的介绍及分享内容提要

整理廖雪峰、阮一峰、轮子哥等技术大牛介绍以及他们分享的内容提要,权做参考!

qq_39428589的博客 2146

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

一个简易的语法分析器

写一个Parser其实是很简单的一件事情.你之所以会觉得困难,是因为你对这个东西并没有足够深入的了解.又或者说,你被龙书上那堆深奥的理论吓到了.如果你某一天头脑发热,想写一个Parser了,我推荐给你一些好东西,首先是轮子哥的博客http://www.cppblog.com/vczh/archive,我是看了他写的三篇关于正则表达式的实现的文章,撸了一个正则表达式引擎之后,突然一下子知道了Parse

李树花开,风中摇曳 2174

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

国内外 大神

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/HeiSeHuoEr/article/details/78920177 1.jQuery之家 - http://www.htmleaf.com/ 2.菜鸟教程 - http://www.runoob.com/ 3.慕课网 - https://www.imooc.com/ 4.黑马程序员...

qq_40892419的博客 1261

看完知乎轮子哥的编程之路,我只想说,收下我的膝盖...

点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容作者:vczh来源:https://dwz.cn/sWwZoQElvczh,本名陈梓瀚,因知乎的个人信息介绍上写有“...

Datawhale 614

linux上有趣的项目,介绍几款有趣的开源项目

CraftMinecraft这款游戏相信不少人都玩过吧,此游戏的简单开源版本,适用Windows, Mac OS X 和 Linux,有兴趣的可以去研究一番。verlet-jsverlet-js是一个js写的物理引擎非常强大,如上几个例子都是此物理引擎提供的example。Hospital黑心医院榜单,由Open Power小组共同维护,入围标准可以看项目介绍。是良心的开源项目,这种项目就活该要被...

weixin_31668255的博客 223
上一篇: websocket 简介
下一篇: 《Tomcat内核设计剖析》作者博客
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值