十二篇文章评判程序员,您认为, 看完后你是什么程序员
这将导致每个人都进入记忆的各个方面:有些是旧的,新,知道了未知。虽然记忆很普遍,到处,但是并不是每个程序员都足够了解这一点。

如果您要编写高性能的应用程序,了解内存在现代系统中尤其重要。硬件开发人员带来了更复杂的内存处理和加速技术,例如, 处理器缓存,但是如果你离开程序员,他们也无法最大化其价值。
有时候真的很难说 我从随机存取存储器(RAM)中学到的知识CPU缓存包括1级2级缓存,各种类型的内存直接内存访问内存控制器设计和共享内存知识。简而言之,这是一篇文章, 所有级别的程序员都必须阅读这些内容。能够, 我也不是标准程序员!

众所周知浮点算术是一个非常技术性的话题,掌握起来并不容易。许多Java程序员都不知道 使用==运算符比较浮点/双精度类型有什么问题。

许多人在使用浮点数/倍数进行货币计算时经常会犯错误。就个人而言,我认为本文是本系列的要旨,这是所有软件开发人员必读的内容。只要 随着经验的增长,您肯定会想更深入地了解一些常见事物的细节,浮点算术就是其中之一。作为高级Java开发人员,你要明白 如何计算货币,什么时候使用浮点数double或BigDecimal,如何四舍五入浮点数等 D.

字符编码是另一个领域 许多程序员在其中苦苦挣扎。?每个程序员都应该了解Unicode和字符集(不允许任何借口!?)

它是由乔尔·斯波斯基(Joel Spolsky)撰写的。10年前,但这仍然是事实。这篇文章会告诉你 什么是unicode,什么是字符编码,字符如何用字节等表示 D.一件事, 您喜欢这篇文章, 是她的语言和拼写。虽然你都不知道 什么是unicode,您也可以轻松解决。简而言之,这是另一篇文章, 好程序员说的。
除了字符编码,时间和日期是区域 程序员经常失败的地方。甚至高级开发人员都将成为GMT。世界标准时间,夏时制飞跃秒已死,还活着。坦率地说,解决时区问题很难不踩一些孔甚至没有谈论, 增加夏令时或其他时间。

更糟, 如果您要反复试验,因为它将永远不会解决您的问题。
这里有许多可能的错误或误解。
- 该日期是否包含时区?
- 如何将UNIX时间转换为其他时区?
我建议您忘记时钟同步和延迟。当然, 我希望, 你的老人会知道更多这样就可以消除许多关于时间的误解,我可以巩固一些日期的基本知识。
- 这导致对统一资源定位符(URL)编码的一些常见误解。
- 然后尝试澄清一下 什么是HTTP URL编码,
- 最后, 列出了一些常见的错误和解决方案。
- 尽管本文的内容并非特定于特定的编程语言,但是他用Java来描述问题,并解决URL编码问题。您将学习基本的URL语法,网址格式 通常在HTTP和其他协议中使用。
它还介绍了一些常见的URL错误
- 例如, 字符编码,
- URL不同部分的保留字符,
- URL编码和解码问题。
如果您是Java开发人员,您将学习, 如何在Java中正确处理网址,如何建立网址,以及如何使用Apache Common Http客户端库。
最后, 它还提供了有关最佳做法的指导。
例如, 您在创建网址时必须进行编码,确保 您的网址重写过滤器正确处理了该网址,以及更多。
- 它谈论技术细节, 发布网站之前,程序员必须实现哪些功能。这包括界面设计和用户界面,安全,WEB标准性能,搜索引擎优化(SEO),和一些重要的资源。
- 当今世界严重依赖互联网,许多程序员都有自己的网站,通常是博客。从中您将学到一些关键技术,例如, HTML,HTTP,XML,CSS,JavaScript,浏览器兼容性,减少网站加载时间的提示,XML网站地图,W3C规范,还有许多其他重要细节。
这是针对Web开发人员的,对于程序员来说,这是非常重要的文章。由于许多程序员不能忽略SEO,了解搜索引擎优化的基础非常重要。这可以帮助Google找到您的内容并将其推荐给其他程序员。在当今的互联网时代,没有WEB的公司就不可能存在。SEO变得尤为重要。对所有程序员来说特别是网络开发人员,两者都可以从中受益匪浅。记得,SEO是一个非常多变的话题。不同的搜索引擎,他们有不同的SEO。因此,要掌握这项技能, 您需要经常更新知识库。

C语言具有未定义行为的概念。未定义的行为是一个非常广泛的话题,他有许多细微的差别这是原因之一, 为什么我喜欢Java没有这么多未定义的行为没有太多的困惑更稳定,更不活跃。
很多东西, 对人们来说似乎很自然 实际上是C中未定义的行为。它也是程序错误的常见来源。除了,C语言中任何未定义的行为都是特定于实现的(编译器和运行时),编码, 他们产生的 将格式化您的硬盘,做意想不到的事情更糟。对不起我考虑在不确定行为的海洋中游泳。
您是一名程序员。你想知道吗 多线程玩家的游戏如何实施?从外部看,看起来像这样:两个或多个玩家通过网络共享相同的体验,好像它们在同一个虚拟世界中。但是作为一名程序员,我们知道 下面的事实与 你看到什么了。其实, 只是幻想吗?.它是为游戏开发人员编写的,但我觉得, 每个软件开发人员都可以从中受益。

Java。郎。我个人认为的弦乐 每个Java开发人员应该了解的内容。在Java的日常开发中,字符串非常重要,这就是每个Java程序员都应该知道这一点的原因。它包括String的许多重要区域,包括行池,字符串常量,使用==和equal比较字符串,将字节数组转换为String。
然后问题出现了
- 为什么字符串是不可变的?
- 如何正确连接字符串?

学生, 计算机科学专业的学生, 在StackOverFlow上问了这个问题。像一些一般的编程概念一样, 例如操作系统, 我们已经研究了算法,数据结构,计算机架构,和其他东西,了解安全性同样重要。安全是一个大话题,包括加密和解密SSL,网络安全尴尬,认证,授权,以及更多,这是基础知识 每个程序员都应该知道的。当我第一次进入这一行时,我个人对安全性了解不多。这时,我开始编写一些基于Servlet / JSP的Java WEB程序,后来我了解了EWB安全性和一些安全威胁, 例如SQL注入。拒绝服务,XML注入跨站脚本,以及更多。作为Java开发人员,我现在在看防御工事 PMP,等等, 等等, 等等, 等等, 其他一些静态代码分析器提供了用于编码的安全Java编码标准。现在我想 我是一名程序员。

不管, 使用什么语言,Java或C ++很好,要编写高性能的应用程序,您必须了解延迟时间的基本知识,
您知道所有这些问题吗?
- 多久时间 从内存中读取变量?
- 从一级缓存读取需要多长时间,二级缓存呢?
- 从SSD硬盘随机读取需要多长时间,从磁盘读取怎么样?
- 多久时间 阻止和取消阻止Internet?
- 多久时间 将数据包从一个城市发送到另一个城市?
- 多久时间 在同一个数据中心中?
这些延迟数与任何编程语言无关,开发人员应努力编写具有高频率和低延迟的应用程序,它们是核心知识库的一部分。
学习Java语言只是冰山一角但并非每个人都想学习。编写程序是一项非常困难的工作,在您的职业生涯中,正是这些基础知识可以为您提供帮助如,内存,Unicode,浮点数字,时间,安全,这对于任何程序员来说都是非常重要的。


这是蚂蚁·Zblog站群文章更新器的试用版本发布的文章,故有此标记(2021-02-24 03:06:11)