0%

对于一个系统的使用者来说,源码就是一个黑盒,不需要关心太多. 正如陀螺仪之于手表,集成电路之于CPU一样,仅仅需要了解这个系统可以做什么,以及这个系统不可以做什么就可以了.

  • 背景
  • IOC
  • DI
阅读全文 »

在现实生活中,身份识别无处不在。 去银行取钱,得带上银行卡。 去公司上班,得带上门禁卡。想访问一个网站,需要先注册,才能访问其内容。
任何一个系统,无论是软件系统,还是真实的现实世界的组织,都需要对人进行识别,然后才能决定这个人能干什么。

  • 背景
  • 什么是登录和授权
  • 如何进行登录和授权
  • 登录和授权相关的实践
  • 登录和授权的未来
阅读全文 »

安全,这件事情无处不在。
我们不希望自己的个人信息被泄漏。
我们不希望自己的银行卡密码被盗取。
我们不希望自己的一言一行被监控,我们希望能有个人的隐私.
作为用户获取信息的入口之一 - 浏览器,它是如何保证信息安全的? 浏览器安全的主角Https登场了.

  • 背景
  • 什么是Https
  • Https的机制是什么?
  • 安全和Https拾遗
阅读全文 »

凡是与电脑打交道的人,每天必然会用浏览器,只要用了浏览器就需要输入一个网址。这个网址的样子是这样的: “http://”, 没错,它就是这篇文章的主人公。它是如此的熟悉,以致于我们会忽略它的存在.
它的前世今生到底是什么样子?

  • 背景
  • http发展历史
  • 未来
阅读全文 »

网络的信道是不稳定的,有时候施工队伍一不小就把光缆给挖断了,也有时候也有可能网络上连接太多了,导致弱网环境, 这些冰山一角的事情,充分说明了网络是不可靠的. TCP设计的初衷是保证数据能在网络上进行可靠的传输。 光缆都断了,数据还怎么可靠传输呢?
下面,开始我们的探索之旅.

  • 什么是TCP
  • TCP要解决什么问题
  • TCP是如何解决这些问题的
  • 拾遗
阅读全文 »

众所周知, 计算机这个行业是不断发展的。 编程语言就是其中之一,要么是出现新的语言,要么是出现这个语言的特性升级。 其他领域,比如法律和医学, 知识更新迭代的速度远比不上编程领域.
让我来沏一杯茶,闲聊一下编程语言这个老生常谈的话题.

  • 编程语言历史
  • 什么是编程语言?
  • 编程语言的种类
  • 设计一门编程语言需要解决什么问题?
  • 编程语言的未来
阅读全文 »

我们这个世界为什么存在这么多语言?如果世界上只有一种语言,那么每个人都不需要学英语了,想想都很美.
相传在远古时候,人们想建造一座高可通天的塔,可以彰显自己的名气,这样也可以防止人们走散之后仍然可以找到回家的路。上帝一看,这可不对,于是设法改变了不同人的口音,这样大家就无法交流,通天塔的建造就此搁浅.

阅读全文 »

在之前我有提到,人类社会发展有一条线索是关于信息的,人类社会的发展史就是一个信息数量越来越多,信息连接越来越快,信息载体越来丰富的历史.
想想古时候,将军打了胜仗,如何将捷报传给皇帝呢?只能通过马,每个几十公里,会有一个驿站,这已经是当时的最快方式。试想一下,如果那个时候能打个电话给皇帝,这效率该有多高啊。

阅读全文 »

事务这个词在开发世界里默认是和数据库绑定在一起,但其实其他领域里也有事务这个词,比如会计事务所,律师事务所,不同领域的事务所指的意思是不一样的。 这里主要聊聊

  • 什么是事务
  • 为什么是事务
  • 如何实现一个事务
  • 总结
阅读全文 »

许多年之后,当讨论起Java开发的时候,可以不讨论安卓开发,可以不讨论多线程,可以不讨论流,可以不讨论JVM, 但Spring是一个绕不过去的话题.
Spring从诞生到现在已经有20年左右的历史,这个生命不如linux, 但也足够长了.
在前端界,还找不到和Spring框架相提并论的框架,Spring的框架在Java领域是没有对手的,可以说找不到竞品,前端至少是React和vuejs两家独大,而且也是最近几年才出来的产物.
这篇文章主要闲聊

  • 什么是Spring?
  • 为什么是Spring?
  • 如何实现一个Spring?
  • Spring实践?
  • Spring的发展
  • 拾遗
阅读全文 »