众所周知,现代的信息技术都是构建在二进制的基础之上。你所看到的文字、符号、图像、语音、视频等等在计算机、手机等设备内部都是以0、1的形式存在和存储的。如此缤纷多彩的计算机和网络世界却只是由0、1这两种元素构成,真有点「道生一,一生二,二生三,三生万物」
的意味。
Security token service
微服务架构和REST API是现在非常热门的技术话题,采用微服务架构之后带来的一个棘手问题是安全和身份认证(Authentication)。这里所指的身份认证,既包括用户的身份,更强调程序和服务的身份,也就是微服务之间调用的信任关系。
Jupyter Notebook
现在最热门的开发领域无疑是人工智能(AI)了,这直接带动了Python的热度。连全国计算机等级考试(NCRE)也已经将Python纳入了考试课程,取代了实行很多年的Visual FoxPro。吴军老师在《吴军的谷歌方法论》第48期答读者问中提到,对于计算机的初学者,他也建议学习Python,原因是Python对接AI和大数据分析的工具更容易些。作为一名普通的软件开发人员,我也希望能掌握一些开发AI的技术,来给一般的应用程序赋予一些AI的能力。Python语言断断续续学了好多年,也有一些基础,但总感觉和AI结合的不够,直到我了解并熟练掌握Jupyter Notebook。
Web fonts and extension for Azure App Service
使用GPS坐标来计算距离和方位角
根据地球上任意两地的经纬度,可以计算它们在球面上的最短距离(Great-circle Distance / Orthodromic Distance)及相对始末位置的方位角(Bearing)。
Assembly Binding and Fusion
在.NET的开发中,偶尔会遇到assembly找不到的问题,相信.NET程序员对下面的错误信息都不陌生。大多数时候,我们去bin目录检查,把缺失的dll文件拷贝到bin目录,问题就解决了。但也有例外的时候,因此搞清楚.NET CLR是如何寻找assembly就很有必要了。
微软认证考试总结
历经三门考试,在这个阳光明媚的初春,2018年的第一个小目标——考取微软认证解决方案开发者(MCSD, Microsoft Certified Solutions Developer)证书,终于达成了。
回头看看,从大学时期的ASP开始,到ASP.NET、WinForm开发,到后来的ASP.MVC、WCF开发,再到近些年的ASP.NET Web API以及Azure相关的开发,我已经在微软技术栈上学习和实践了近10年。考取这个证书,不是为了面试找工作,而是对自己这么多年来学习的一个检验,给自己的一个交代。
C# REPL
基于Spark和Power BI的中文词频统计
Word Count 是学习Spark开发的一个经典案例,类似于其他编程语言中的Hello World程序。但这个例子是基于英文的,英文断句分词是一件比较容易的事情,一般都是以空格为分隔符进行分词。但对于中文来说,事情就复杂了。