我的编程之旅

目录

引言

自我介绍

我的想法和目标

**学习更多的编程语言和框架**

**开发一些有用的应用和项目**

**参加一些编程的比赛和活动**

**成为一名优秀的软件工程师**

我的学习方法

**阅读一些优秀的编程书籍和教程**

**观看一些优秀的编程视频和课程**

**编写一些实际的代码和项目**

**参与一些编程的社区和讨论**

我的时间安排

**每天都花时间学习编程**

**每周都学习新的编程知识,并补上落下的编程练习**

**每月都进行总结和查漏补缺**

最想进入的IT公司

结语


引言

        大家好我是行空,一个编程新手,目前刚学完C语言初阶,JAVA也是刚入门没多久,我想在这里分享一下我的编程之旅,以及我对编程的看法和目标。我希望通过这个博客,能够认识更多的志同道合的朋友,也能够得到大家的鼓励和指导。

自我介绍

        我专业学的是电气工程及其自动化。我从小就对计算机感兴趣,我觉得计算机是一个神奇的工具,它可以帮助我们实现很多不可能的事情,也可以让我们的生活更加便捷和有趣。

        我开始学习编程是在大一的时候,当时学校有教C语言这门课,但是学校老师讲的太浅了,因此正在重新自学C语言并扩展一些其他方面的编程知识(如JAVA,Linux等)。我觉得编程是一件很有趣的事(除了修bug的时候),它可以锻炼我的逻辑思维和问题解决能力,也可以让我不断地学习新的知识和技能。

我的想法和目标

**学习更多的编程语言和框架**

        我想要掌握更多的编程语言和框架,以便能够适应不同的开发环境和需求。我目前比较熟悉的编程语言是C语言,我想要学习更多的编程语言,比如C++,JavaScript等。我也想要学习一些流行的框架,比如Django,React,Rails等。当然了,对算法和数据库的学习也是必不可少的。

**开发一些有用的应用和项目**

        我想要利用我学到的编程知识和技能,来开发一些有用的应用和项目,来解决一些实际的问题,或者提供一些有价值的服务。我有一些想法,比如开发一个能改变手机部分系统参数的模块、加入HyperCeiler项目(HyperCeiler是一个多人参与的Xposed项目)的维护与开发等。(参与HyperCeiler项目一方面是用爱发电,另一方面则是为了锻炼团队协作能力)

**参加一些编程的比赛和活动**

        我想要参加一些编程的比赛和活动,来检验我的编程水平,也来和其他的编程爱好者交流和学习。我知道有一些很有名的编程的比赛和活动,比如Google Code Jam,Facebook Hacker Cup,ACM,ICPC,蓝桥杯等。(目前,离我最近的是蓝桥杯)

**成为一名优秀的软件工程师**

        我的最终目标是成为一名优秀的软件工程师,我想要在软件开发的领域有所建树,也想要为社会和人类做出一些贡献。我想要加入一家有影响力和创新力的IT公司,和一些优秀的同事一起工作,开发一些有意义的产品和项目。

我的学习方法

**阅读一些优秀的编程书籍和教程**

        我觉得阅读一些优秀的编程书籍和教程,是学习编程的基础,它可以帮助我掌握一些编程的基本概念,语法,规范,算法,数据结构等。我会选择一些适合我的编程书籍和教程,按照我的学习进度和计划,进行阅读和学习。(C陷阱与缺陷,剑指Offer_名企面试官精讲典型编程题,算法竞赛入门经典[第2版]等都是不错的书籍)

**观看一些优秀的编程视频和课程**

        我觉得观看一些优秀的编程视频和课程,是学习编程的有效的补充,它可以帮助我更直观地理解一些编程的原理,技巧,案例等。我会选择一些有质量的编程视频和课程,根据我的兴趣和需求,进行观看和学习。

**编写一些实际的代码和项目**

        我觉得编写一些实际的代码和项目,是学习编程的最好的方式,它可以帮助我巩固和运用我学到的编程知识和技能,也可以让我遇到一些实际的问题和挑战,提高我的编程能力和水平。我会根据我的目标和想法,编写一些实际的代码和项目,也会参考一些优秀的代码和项目,进行学习和改进。

**参与一些编程的社区和讨论**

        我觉得参与一些编程的社区和讨论,是学习编程的重要的途径,它可以帮助我和其他的编程爱好者交流和分享,也可以让我获取一些最新的编程的资讯和动态,也可以让我得到一些编程的建议和反馈。我会加入一些活跃的编程的社区和讨论,比如Stack Overflow,GitHub,Gitee,Reddit等,进行参与和贡献。

我的时间安排

**每天都花时间学习编程**

        我觉得每天至少花费一个小时的时间学习编程,是一个合理的时间安排,它可以让我保持一个良好的学习习惯,也可以让我不断地复习和进步。不过由于我比较忙,导致时间没法固定下来,只能一有时间就写一写。

**每周都学习新的编程知识,并补上落下的编程练习**

        我会在每周的开始,选择一个小的编程项目,根据我的能力和水平,进行设计,开发,测试,部署等过程,也会在每周的结束,进行总结,评估等。

**每月都进行总结和查漏补缺**

        每个月都会对学习成果和收获进行总结。不停查找我的学习遗漏和难点,从而把基础打得更扎实。不断补充我的学习资源和方法,以应对更复杂的项目和更棘手的bug。

最想进入的IT公司

        Google是我最想进入的IT公司。最为一个安卓老用户,对Google真的是又爱又恨。一方面,Google的开源项目AOSP方便了不少个人和企业,尤其是国内的手机厂商;另一方面,安卓的生态对比iOS来说真的没眼看,app在系统后台各种“胡作非为”。总的来说,Google的开源精神还是值得我们学习的,理性看待就好。

结语

        一不小心扯远了,在这里,我想感谢各位愿意花费宝贵的时间来阅读我的博客。最后,希望各位能够在编程的道路上,不断地积累和进步。祝各位编程顺利,生活愉快!

行空XKong (XKong-X) - Gitee.com这里是我的Gitee仓库链接,欢迎大家监督!)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 第1 章计算机,游戏,我_ 我,云风,从二十年前的计 算机游戏萌芽阶段一路走来。计 算机,并不神秘。程序,也只是 表达计算机控制逻辑的符号而 巳。 第2 章算法,程序的灵魂 算法,先千计算机存在于世, 比编程语言本身更为蜇要C 语言 只是工具,算法才是灵魂。这里 简单介绍了数据结构的基本知 识、算法放率的评估方法、几种 NP 问题的定义。 这里对游戏中最常用的搜索 算法问题之一寻路问题做了些许 探讨,并展开介绍了在以后可能 被广泛使用的智能算法。最后用 几个实例探讨了优化问题。 1.1 计算机...................................................................... 2 1.2 计算机游戏............................................................., 3 1.3 计算机与我......................, ... , ................................... 7 1.3 .1 启蒙............................................................... 7 1.3 .2 编程..... , .................................... , .......... , ......... 9 13 2.1 程序=算法+数据结构............................................ 14 2.1.1 算法,.......................................................... ,, 15 2.1.2 数据结构,.................................................... 17 2.2 搜索算法,.............. . ............ .... ..................... . .. . ....... 23 2.2.l 地图寻路问题................................................ 23 2.2.2 博弈问题,...................................................... 27 2.2.3 更为广泛的运用............................................ 28 2.3 智能算法,............................................................... 29 2.3.1 遗传算法(Genetic Algorithm) .... ·........ …... 29 2.3.2 模拟退火算法(Simulated Annealing) ....... 31 2.3.3 禁忌搜索(Tabu Search) ............................. 33 2.3.4 人工神经网络 (Artificial Neural Network) …..... ….............. 34 2.4 优化,....................................................................... 36 2.4.1 质数问题....................................................... 36 1.4.2 俄罗斯方块竞赛............................................ 37 2.5 Apple II 上的编程之路.......................................... 39 XIII 第1 章计算机,游戏,我_ 我,云风,从二十年前的计 算机游戏萌芽阶段一路走来。计 算机,并不神秘。程序,也只是 表达计算机控制逻辑的符号而 巳。 第2 章算法,程序的灵魂 算法,先千计算机存在于世, 比编程语言本身更为蜇要C 语言 只是工具,算法才是灵魂。这里 简单介绍了数据结构的基本知 识、算法放率的评估方法、几种 NP 问题的定义。 这里对游戏中最常用的搜索 算法问题之一寻路问题做了些许 探讨,并展开介绍了在以后可能 被广泛使用的智能算法。最后用 几个实例探讨了优化问题。 1.1 计算机...................................................................... 2 1.2 计算机游戏............................................................., 3 1.3 计算机与我......................, ... , ................................... 7 1.3 .1 启蒙............................................................... 7 1.3 .2 编程..... , .................................... , .......... , ......... 9 13 2.1 程序=算法+数据结构............................................ 14 2.1.1 算法,.......................................................... ,, 15 2.1.2 数据结构,.................................................... 17 2.2 搜索算法,.............. . ............ .... ..................... . .. . ....... 23 2.2.l 地图寻路问题................................................ 23 2.2.2 博弈问题,...................................................... 27 2.2.3 更为广泛的运用............................................ 28 2.3 智能算法,............................................................... 29 2.3.1 遗传算法(Genetic Algorithm) .... ·........ …... 29 2.3.2 模拟退火算法(Simulated Annealing) ....... 31 2.3.3 禁忌搜索(Tabu Search) ............................. 33 2.3.4 人工神经网络 (Artificial Neural Network) …..... ….............. 34 2.4 优化,....................................................................... 36 2.4.1 质数问题....................................................... 36 1.4.2 俄罗斯方块竞赛............................................ 37 2.5 Apple II 上的编程之路.......................................... 39 XIII 第3 章编程语言 至少要学会一种编程语言, 才可能编写游戏软件。流传于世 的编程语言数以百计,但真正流 行的却不多。各种编程语言之间 有它们的共通性,但也并非能够 一通百通,甚至也不存在一种适 合娇决所有问题的语言。 我认为大部分游戏程序员都 应该掌握工作平台的汇编语言。 这对理解硬件, 写出更好的代码, 还有软件调试都有莫大的帮助。 第4 章前Windows 时代 现在, Win d ows 一统江山, 它帮我们稳藏了硬件的许多东西。 这一章是对1 0 年前知识的一个回 顾,它们如今已经沉寂在历史中, 或是被Windows 掩盖。但是, 作 为喜爱创根l河底的程序员,我们有 必要对Window s 之前的时代有一 些了解。 XIV 3.1 C 语言................................................, .. ,, .......... ,.,,. 46 3.2 BASIC ..................................................................... 50 3.3 Ct+ ......................................................................... 51 3 .4 汇编语言,............................................................... 54 3.4.1 概述.............................., ... , ....................... ,,, .. 55 3.4.2 程序的本质....., .. , ... , ...................................... 57 3.4.3 寄存器........................................................... 58 3.4.4 寻址方式....................................................... 60 3.4.5 汇编指令....................................................... 61 3.4.6 CIC++ 语言和汇编....................................... 62 3.4.7 ,J 、结... . .. .. . .. .. .... .... ....... .... .. . . .. ............ .. ........... 63 3.5 其他语言................................................................ 63 3.5.1 Forth .............................................................. 63 3.5.2 Lisp ................................................................ 64 3.5.3 Java····..................................................... ....... 64 3.5.4 Python 、Lua 、更多...................................... 65 4.1 386 保护模式......................................................... 68 4.2 VGA 至U VESA ...................................................... 70 4.2.1 超越BGI ...................................................... 70 4.2.2 VGA·....... ··· · ···............................................... 72 4.2.3 VESA 标准................................................... 72 4.2.4 花絮............................................................... 74 4.3 保护模式下的开发工具.... …... ……............. ………··75 4.4 闲话Allegro .......................................................... 81 4.4.1 用C 与汇编写成的程序库….... …·….............. 81 442 BITMAP···.....................................................8 2 4.4.3 Sprite···.. ·.. ·.... ·.. ·.. ··.. ·.. ·········.. ··.... ···············.. ··85 4.4.4 几何图形和3D··........................................... 89 4.4.5 数据文件............... .-....................................... 91 4.4.6 声音............................................................... 92 4.4.7 其他的部分................................................... 93 45 67 第5 章Windows 编程 如果我们在Window s 下开 发游戏,那么理惮Window s 系统 就是尤为重要的事情。Window s 只是一个操作系统的特例,不属 子计算机理论知识的范畴。这导 致了许多已经掌握了编程知识, 理论功底也很扎实的程序员, 面 对Window s 下的开发无可适从。 第6 章汇编优化 汇编优化, 是在高性能游戏 引擎设计中很难避免的一个环 节。虽然不用汇编去做优化依然 可以写出高性能的程序,但优化 却可以变得更好。 但是,这一章并非从汇编开 始谈起。相反,一开始我就花了 不少笔墨谈汇编之外的知识。即 使是一些技巧性的细节, 也并非 必须用汇编才可以做到。 这一章着重介绍了在CIC++ 中和汇编进行混合编程方法和 技巧,然后才具体谈到汇编指令 的高效使用策略。 4.4.8 ,J 、结............................................................... 94 4.5 cfido 中国惠多网.................................................. 94 5.1 Windows 编程入门............................, ................. 104 5.1.1 Windows 版本综述...... ,, ..... , ........................ 105 5.1.2 操作系统的核心................ ., ........................ 107 5.1.3 Windows API 和DLL.. ·······......................... 110 5.14 COM··........................................................... 111 5.1.5 Windows 的窗口和消息处理与传递........... 114 5.1.6 Windows GDI .................................. ............ 125 5.2 控制游戏的速度,................................................. 130 5 .3 浅谈M FC .................. .. ......................................... 132 5.4 小结,............................................................. . ....... 132 6.1 浅谈代码优化............................................... ..... .. 138 6.2 并不仅仅是汇编.................................................. 139 6.2.1 在算法实现时减少上下文的依赖关系.. ….. 139 6.2.2 低效的静态变量.................................... ... ... 140 6.2.3 数据的组织.................................... ... .......... 141 6.2.4 消除除法..................................................... 142 6.2.5 避免过大的循环.......................................... 144 6.3 汇编和CIC++ 的混合编程.................................. 146 6.3.1 使用外置的汇编编译器.. . ....... …............. …·146 6.3.2 使用内嵌汇编·· ·· · ··· ···········........................... 148 6.3.3 C++ 的函数调用规则........ ……..................... 150 6.3.4 寄存器的使用...................................... ........ 152 6.3.5 _declspec(naked)· ·· ·.... · · ·· · · ··... ·... ·.... · ·· · · ·· · ··.... 152 6.4 指令使用的技巧.................................................. 153 6.4.1 LEA: 别样的内存寻址指令................……·153 6.4.2 BSWAP: 扩展寄存器的个数......... ….... …··154 101 135 XV 第7 章S-I M D 指令 单指令多数据(SIMD , Single Instructio n-Mu l tiple- D ata) 编程是 现代CP U 高速处理多媒体数据 的发展方向。好的工具摆在一边 不去用就是一种浪费。 这里介绍得多的是MMX 使 用技巧,这方而也是我用得比较 多的,勉强算得上经验丰富。 第8 章引擎中的优化 单从内容来看,这一章是本 书的独家内容。我得以成名的开 源游戏引擎“风魂”的几乎所有 优化策略都在这章公开出来。虽 然引擎源码一直都是公开的, 想 研究的人自然可以通过阅读代码 来学习,但是,由作者本人来解 释其中的优化策略,这是第一次 的文字记录。 XVI 6.4.3 缩短指令的宇节数............ . .... . .................…155 6.4.4 避免跳转指令............................................. 159 6.5 Pentium 的汇编优化策略...... ….......................... 161 6.5.1 UV 流水线................................................... 163 6.5.2 AGI 地址生成互锁 ( Address Generation Interlock)· · ………... 167 6.5.3 Pentium Pro, Pentium II 和Pentium III 的汇编优化策略......................................... 168 6.5.4 Pentium 4 的汇编优化策略…...... …............. 178 6.5.5 如何测试代码的速度…............................... 181 6.5.6 汇编能干的事情.......................................... 183 7.1 单指令多数据编程...... .. ..... ...... .. .. . .. .. ..... ... .. .. ...... 186 7.1.1 Alpha 混合.................................................. 187 7.2 MMX .................................................................... 191 7.2.1 MMX 的指令概况....................................... 192 7.2.2 SSE 及其对MMX 的扩展,......................... 194 7.2.3 SIMD 技术在C 语言环境下的使用...…….. 196 7.2.4 MMX 编码技巧.......................................... 197 7.2.5 SIMD 的应用举例...................................... 201 7.2.6 SIMD 编程注意要点. .................................. 203 7.2.7 SIMD 的性能检测....................................... 204 8.1 Blit 的优化........................................................... 207 8.2 脏矩形优化............................ . ............................. 209 8.2.1 "风魂”中改进的脏矩形算法...........…..... 215 8.2.2 滚动优化..................................................... 219 8.2.3 覆盖优化............................................. . ....... 222 8.2.4 脏矩形在3D 游戏界面中的运用....... .. .. . .... 224 8.2.5 时间和空间的权衡...................................... 229 8.2.6 关于估算..................................................... 230 185 205

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值