我已经看到程序员在代码中遇到了非常复杂的数学问题,“特别是在游戏编程,物理编程,图形编程等领域”。我是一名网络开发人员,我想知道是否有数学我可以用于网络编程的概念。我在一年零两个月前开始进行网络编程,而我所处理的只是对系统,数据库查询,用户界面设计,简单数据结构,复杂数据操作和解释(正则表达式,解析等)的复杂分析,但我还没有(还)发现需要复杂的数学。
所以重复一下这个问题,那里有数学概念可以利用我的网络开发技巧吗?如果有的话,它们会成为什么样的优势或不可或缺?
答案 0 :(得分:1)
Queueing Theory是一个数学概念,它与您的网络服务器如何处理请求,查看您的传入请求率以及每个请求服务所需的时间有关。
答案 1 :(得分:1)
特定于域的功能可能需要或可能不需要强大的数学技能,无论用于提供它的平台如何。
例如,建立一个基于网络的推荐系统,其建议基于具有相似偏好的其他人的想法,这需要不错的数学技能。
另一个相关的例子是欺诈检测。
答案 2 :(得分:1)
今天你无法在网络应用中使用数学脑细胞。你提到游戏,物理和图形,好像这些都是网络编程。他们不是。例如,今天有很多网络游戏被实现为网络应用,需要非平凡的数学运算(在Flash,Silverlight甚至是JavaScript中)才能将像素放在屏幕上的正确位置,包括3D投影和变换。添加HTML 5的Canvas,事情变得非常有趣。
Web编程思路通常专注于服务器配置,数据库和缓存性能,但Web UI前端的构建也是Web编程的一部分。一旦您负责将像素放在用户面前(不仅仅是文本),您将需要数学。如果需要移动这些像素,则需要数学。
答案 3 :(得分:1)
上周我在javascript中优化了社会保险号验证功能(Luhn算法),并且能够将其分解为单行。找到一个解决方案涉及一个代数证明,如果没有更高的数学,我就无法做到。
我认为最大的好处是思考就像编码时的数学家一样。
答案 4 :(得分:1)
答案 5 :(得分:0)
使用Silverlight和HTML5(即canvas和svg标签)图形会稳步上升,并且在不久的将来很难区分网络和桌面之间的界限。
听起来像使用这些数学技能的好机会。由于服务器将在过程中的某个时刻参与,因此仍然需要Web技能。
答案 6 :(得分:0)
网络编程(或者至少应该是)functional programming,这实际上是数学思维。