自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 资源 (10)
  • 收藏
  • 关注

原创 基于Fuse的最简单的文件系统

首先我们介绍一下什么是文件系统。文件系统是一个将硬盘的线性地址转换为层级结构的软件系统,其核心是给用户呈现层级结构的目录树(如下图所示)。在文件系统中有两个非常重要的概念,一个是文件,另外一个是目录(或者文件夹)。其中目录是一个容器,可以存储文件或者目录(称为子目录)。文件是存储数据的实体,我们的数据都是以文件的形态进行存储的。文件有很多种类,比如视频文件、音频文件、Word文档和文本文件等等。

2024-02-15 15:37:45 940

原创 分布式虚拟文件系统,如何实现多种存储系统的融合

为了给不同的计算框架提供存储服务,存储的服务类型也是很多,常见的如AWS的S3存储、NFS文件系统和Ceph分布式系统等。如下是Alluxio在计算和存储系统中的关系图,可以看到Alluxio以存储系统为后端,可以管理S3、HDFS和文件系统等多种类型的存储系统,进而为计算平台提供目前市面上常见协议的接口。Alluxio利用的是本地存储空间,我们可以在Alluxio目录下找到一个名称为underFSStorage的目录,刚才我们拷贝的文件都在这里。同时,我们可以通过该GUI浏览存储系统中的资源。

2024-01-30 12:27:54 1410

原创 全面了解SSD,SSD关键术语全面解析

SMART(Self-Monitoring, Analysis and Reporting Technology,自我监控、分析和报告技术):前面多次提到过这个术语,这是一个硬盘健康状态监控机制,可以提供 SSD 的各种健康状态信息,包括上述的 TBW 和 PE Cycles,以及其他如温度、错误率等信息。Wear Leveling(磨损均衡):由于SSD的存储单元有擦写次数的限制,SSD控制器的算法会尽量保证闪存芯片的存储单元之间均匀分配写入操作,以最大限度地延长SSD的寿命。

2024-01-18 20:05:54 76

原创 为什么都说NFS读写性能差,如何进行优化?

如下图是通过Wireshark抓取的网络通信的数据包,可以看出,NFS在访问文件的时候客户端与服务端有的交互除了WRITE之外,还有很多其它的交互,包括ACCESS、LOOKUP和SETATTR等。核心原则是减少客户端与服务端的交互次数,因此我们在访问文件的时候应该尽量保持文件的打开状态,避免重复打开关闭文件,这样NFS全路径的逐级检查。但是,如果是自己开发的应用程序, 在保存数据的时候尽量以大文件的形式,而非小文件的形式,这对性能是有益的。所以,对于一个长路径进行逐级的确认也是必须的。

2023-10-02 13:06:53 620

原创 企业级磁盘阵列存储系统由硬到软全析

所以,存储系统在设计的时候采用双机互备的方式,当其中一个系统出现问题的时候,另外一个系统可以接管服务,从而保证存储服务的连续性。如下图是V7000的管理界面,在该界面中最左侧的是物理硬盘,包括控制器内置硬盘和扩展柜的硬盘。存储软件栈的最上层是协议层。企业级磁盘阵列是由一组设备构成的存储系统,主要包括两种类型的设备,分别是控制器和扩展柜,其中控制器只有一台,扩展柜可以没有,也可以有多台。所以,除了CPU和内存,其它部件都不需要控制器关机就可以更换,从而更进一步的提高系统的可用性,降低业务中断的时间。

2023-09-27 22:02:40 340

原创 对象存储,从单机到分布式的演进

纠删码技术不是简单的将数据存储在多个节点上,而是将原始数据切割为若干数据块,并计算出多个校验数据块,然后将原始数据块和校验数据块存储在不同的节点上。其中副本的存放位置是通过设备ID来表示的。虽然在底层数据是分散在多个节点上的,但给用户呈现的单一的命名空间,也就是用户并不会感知到底层是由多个节点构成的。在实际生产中并不会使用单机部署的对象存储,原因是如果服务器宕机,那么我们就无法访问其中的数据了,也就是所谓的单点故障问题。所以,对于企业级的对象存储,通常采用的是分布式的架构,也就是数据会被存储在多个节点上。

2023-09-27 21:31:28 1204

原创 什么是云存储,从对象存储说起?

云存储与传统存储的区别在于,云存储中的资源通常通过互联网可以直接访问,而传统存储通常不对外提供直接访问的接口。在《存储系统形态之争,从块存储到统一存储》一文中我们提到了对象存储的概念,知道目前很多企业级存储都是支持对象存储的,比如EMC、NetApp和华为等。在启动服务时包含两个参数,分别时console的地址端口信息和数据的存储路径(需要注意的是,在生产环境数据通常是要存储在独立的硬盘上的)。在本文中,我们介绍了对象存储的基本概念,并对块存储、文件系统和对象存储提供的功能进行了概要的对比。

2023-09-14 21:03:55 224

原创 SPDK的块设备抽象层,从一个简单的示例程序讲起

其他如数据读写的API,其第一个参数都是打开设备API返回的指针,第二个参数是一个IO通路(channel),IO通路与硬件的队列相对应,第三到第五个参数则是数据缓冲区、访问的位置和数据的长度,这几个参数跟Linux的read和write函数很像。为了能够实现丰富的功能,SPDK实现了一个块设备抽象层,其功能与Linux内核的块设备层类似,这个块设备抽象层称为BDEV。BDEV的下层实现对不同种类型设备的支持,在BDEV子系统初始化的时候会对调用模块初始化的函数指针进行模块的初始化,如图是基本函数调用。

2023-08-02 18:54:15 232

原创 深入理解SPDK读写数据的过程,从应用到NVMe驱动

除了上述基本的API外,SPDK还有一些扩展功能的API,以写数据的API为例,比如支持SGL的spdk_nvme_ns_cmd_writev,以及spdk_nvme_ns_cmd_writev_with_md和spdk_nvme_ns_cmd_writev_ext等函数。回到读数据的API,可以看到其实现与写数据的API基本一样,唯一区别的地方操作码不同,写数据是SPDK_NVME_OPC_WRITE,这里是SPDK_NVME_OPC_READ。写数据的API与读数据的API参数一致,并没有明显的差异。

2023-07-20 21:21:16 148

原创 深入聊一下机械硬盘的相关内容

本文是《数据存储通识课》合集的一部分,本合集希望通过一系列文章科普数据存储相关技术内容。同时,本系列文章不仅仅是科普,还会进行有深度解析,理论结合实现,从代码实现层面进行剖析​

2023-06-09 21:39:12 844 1

原创 初识SPDK,从SPDK的软件架构到使用实操

本文是《数据存储通识课》合集的一部分,本合集希望通过一系列文章科普数据存储相关技术内容。同时,本系列文章不仅仅是科普,还会进行有深度解析,理论结合实现,从代码实现层面进行剖析。欢迎关注“数据存储张”,老张是深耕存储十几载,就业于存储No1公司的资深工程师。

2023-05-27 17:35:48 1362

原创 计算节点与存储设备是如何连接的?

一路发展,从SCSI-1、SCSI-2一直到目前最新的SCSI-5,SCSI协议定义的物理接口在变化(如下图是不同版本SCSI的物理接口与平面图),协议本身变的越来越成熟,性能也是一路飙升。对于SCSI建立连接的过程的理解可以与TCP协议建立连接的过程类似,只不过SCSI是物理连接,而TCP是虚拟连接。不光通信的介质不同,FC本身也是一整套的协议栈,与TCP/IP协议类似,但比后者高效。如下是SCSI协议的整体架构图,可以看到SCSI协议本身是一个协议族,包含的协议非常之多,大多数人不知从何入手。

2023-05-27 17:30:59 1409

原创 聊聊企业级存储的基石——RAID技术

本文简要介绍RAID的历史及基本概念。

2023-03-04 18:10:07 212

原创 数据是如何在计算机中存储的

虽然在用户层面呈现的仍然是类似文件系统那样的层级结构,但是在服务端通常并非基于文件系统构建,而是基于一种称为对象存储的分布式存储系统。直观的认识是,文件等数据是存储在硬盘当中的,就像所示的这样。关于“分区”其实是存储领域的一个专业术语,我们可以暂时不深究,可以简单的理解为硬盘的一个区域即可。这就是文件系统管理数据的特点,它可以实现对数据的分类管理,而且分类可以嵌套,形成一个目录树。前面介绍了个人常见的数据存储的形式,那么对于企业来说,比如银行、电商、券商或者视频App的后端又是如何来存储数据的呢?

2023-03-04 17:32:19 835

原创 存储技术从入门到精通必读书籍推荐

存储入门这里首推《数据存储技术》这本书。有人可能会好奇,觉得《大话存储》不应该更适合入门吗?我这里想说的是,一个800多页,一个只有200多页,介绍的内容基本没有差别,深度差别也不大,你会选择哪一个?所以,这里我首先推荐大家阅读这本书来入门,如果大家有精力,可以继续阅读一下《大话存储》。这本书的内容主要集中企业级存储,企业级存储是一种集中式的存储系统。大家阅读完本书后对于企业级存储应该具备了比较全面的认识了。存储技术的另外一个方向是分布式存储,其中比较常见的如Ceph、GlusterFS和HDF

2022-05-04 20:04:10 602

原创 存储技术从入门到精通必读书籍推荐

随着人工智能、自动驾驶和大数据技术的发展和工程应用的普及,存储技术变得越来越普遍和重要。因此很多同学进入存储相关的领域,需要快速了解存储相关的技术。为了让大家能够快速了解相关技术,今天我们就推荐基本相关的图书。相信通过阅读下面基本书,大家不仅能入门存储,更能成为这方面的专家。存储入门这里首推《数据存储技术》这本书。有人可能会好奇,觉得《大话存储》不应该更适合入门吗?我这里想说的是,一个800多页,一个只有200多页,介绍的内容基本没有差别,深度差别也不大,你会选择哪一个?所以,这里我首先推荐大家阅读这本

2022-04-01 20:54:42 795

原创 终于有了这样一本系统介绍文件系统的书籍

文件系统是存储系统当中比较复杂的一个领域,从事存储研发工作十几年来一直在寻找这么一本著作,但是一直没有找到。无奈之余,自己写了一本。这本书的写作是按照自己的痛点来写的,也是从一个程序员的角度来阐述的,因此书中有很多介绍源代码的地方。文末有彩蛋!个人感觉,这个书应该能够解决很多想学习文件系统系统同学的问题。本书的基本思路是理论结合实践。在前面章节重点阐述文件系统的关键技术。后续章节则阐述每一种类型的文件系统,并结合代码介绍实现细节。下面我们大概介绍一下。整体组织结构如前文所说,前几章先从是什么

2022-02-20 18:19:05 842

原创 通过实例分析让您彻底理解NFS协议

NFS协议最为权威的参考文档自然是RFC文档了。以NFSv3为例,对应的RFC文档是RFC1813。但是当我们初次接触该文档的时候有种找不到北的感觉。以NFSv3的WRITE例程为例,在文档中的说明如下图所示,从该图中似乎看不太明白协议的具体定义。图1 NFS 写协议描述其实要理解上述内容并不困难,首先是要结合前面文章介绍的RPC的内容来理解,这样再理解NFS协议的内容就不会太难了。在RPC协议中我们了解到,RPC实现了一种远程函数调用的机制。也就是客户端在调用基于RPC的函数(存根)时,该

2021-11-06 09:08:22 524

原创 Linux NFS的整体架构与核心代码解析

前面文章我们从应用层面对NFS进行了介绍,接下来的文章我们将进入实现层面。本文首先从整体上对Linux的NFS软件架构进行介绍,然后介绍代码与实际业务逻辑介绍一下NFS的处理流程。NFS文件系统的架构分析NFS分布式文件系统是一个客户端-服务端架构(CS架构)。其客户端是Linux内核中的一个文件系统,跟Ext4和XFS类似,它是虚拟文件系统下的一个具体实现。与其它本地文件系统(例如Ext4,XFS或者Btrfs等)的差异在于其数据请求不存储在本地磁盘,而是通过网络发送到服务端进行处理。如图1是

2021-07-16 20:51:45 778

原创 Linux文件系统中的硬链接及常见面试题

如果能对inode的概念有所了解,对理解本文会有所帮助。如果对inode的概念不太清楚也没有关系,我们会捎带介绍一下。在文件系统的实现层面,我们可以认为包含两个组件:一个是包含数据块的池子,池子中的数据块是等大小的,比如4KB,8KB等;另外一个是管理这些数据块的数据库。当普通用户访问文件数据时,正是通过前面所说的数据库来找到文件对应的数据块的。什么是inodeinode是Linux(Unix)操作系统中文件系统的一个概念。inode的全称为index node,也就是索引节点。那么inode是用来

2021-07-16 20:48:26 233

原创 iSCSI存储协议发展简史

iSCSI的全称是Internet Small Computer System Interface,可以看出iSCSI是基于以太网的SCSI。SCSI的全称是SmallComputerSystemInterface,也就是小型计算机系统接口。很多设备是基于SCSI来与计算机交互数据的,常见的如硬盘、软驱、光驱、打印机、扫描仪等。SCSI协议SCSI最早发明于1982年,一路走来有多个不同的标准,比如SCSI-1,SCSI-2和SCSI-3等等。不同标准的速度不同,硬件的接口也不尽相同。如图是不...

2021-07-05 20:09:51 327

原创 NFS文件系统中的RPC协议详解

前文我们介绍了NFS的整体架构,其核心是将主机端的函数调用通过网络传输到服务端,并转化为服务端的函数调用。其主要实现是主机端与服务端的一一对应的存根。那么这种转化是如何进行的呢?这就涉及到RPC协议了。在Linux NFS中,将网络文件系统分为两层,其中RPC协议承载了NFS协议。由于RPC协议的存在,是的NFS协议变得非常简单。RPC协议的全称为Remote Procedure Call,翻译成中文是远程过程调用。也就是通过该协议,可以实现一个远程的函数调用,这样在客户端调用一个函数,可以在服

2021-06-10 19:26:53 661

原创 生产环境NFS服务配置应该考虑的因素

别光收藏,如果觉得不错请帮忙点个za ,在下这厢有礼了!前面我们搭建一个NFS服务,但是只有一个服务节点,而且在配置的时候关闭了防火墙等安全组件。这样配置在生产环境是非常不安全的,只能用于学习。一方面是由于只有一个服务节点,该服务节点就成为单点了,服务器或者内部服务的任何问题都会导致NFS服务的不可用。另外一个如果没有防火墙,那么就存在被攻击的风险。那么有没有一种方式可以提供一个高可用的,安全的NFS服务呢?其实方法是有的,一种方法就是使用商用的存储设备,比如EMC的Unity。另外一种方法.

2021-06-08 20:48:06 303

原创 NFS在Linux下的安装、部署与应用

NFS文件系统是Sun公司开发的网络文件系统,也称为分布式文件系统,其基本原理是将某个设备本地文件系统通过以太网的方式共享给其它计算节点使用。也就是说,计算机节点通过NFS存储的数据是通过网络存储在另外一个设备,而不是存储在本地磁盘。图1 NFS网络文件系统最大的特点是可以实现多个计算节点对同一个存储设备的访问,从而提升存储的利用率,并简化存储管理难度。NFS分布式文件系统本身是客户端服务器架构模式。本文将介绍如何基于Linux操作系统部署一个NFS文件系统服务,并且介绍如何在客户端进行使用

2021-06-08 20:45:13 215

原创 硬盘发展简史,看看硬盘的祖先长什么样

我们知道现在用于存储数据的介质有硬盘,SSD,优盘和光盘等。其中硬磁盘是应用最为广泛的。但是你知道他们的发展史是怎么样的吗?今天我们就介绍一下。最早的磁介质的相关文章发表在1888年9月8日的英国《电气世界》杂志上,在"一些可能形式的留声机"一文中,作者奥伯林·史密斯发表了最早的关于磁记录的作品之一,并建议(可能是第一次)使用永久磁印象来记录声音。这个只是使用磁介质来记录信息,并非用于计算机,但也是硬盘的祖先了。基于磁性的留声机(磁线)1878年,史密斯发明了电子留声机,该留声机采用磁性介质来对

2021-06-04 21:10:31 1169

原创 Ext2文件系统挂载与卸载流程分析

任何文件系统在使用之前都需要挂载(mount),所谓挂载就是将一个磁盘的文件系统连接到操作系统目录树的过程。通过下面命令可以实现文件系统的挂载:mount.ext2 /dev/sdc /mnt/ext2_test完成文件系统的挂载后,磁盘上文件系统的所有数据就称为原有目录树的一个子树。普通用户就可以访问该磁盘上的数据了。Ext2文件系统的挂载自然,Ext2文件系统在使用之前也是需要挂载的。我们知道挂载操作是一个命令行的工具,也就是mount命令。该命令需要两个参数,一个是需要挂载的...

2021-05-29 20:41:00 661 1

原创 Ext2文件系统的核心元数据超级块

在Linux操作系统中,每个文件系统都必须有一个超级块。所谓超级块就是不普通的块,特别的块,其英文为SuperBlock。Ext2文件系统自然也不例外,在该文件系统开头的地方也有一个超级块,具体如图所示。Ext2文件系统的超级块位于磁盘开始偏移1KB的位置,其尾部与4KB对齐。Ext2超级块概述Ext2文件系统的超级块是对文件系统整体属性的描述,包括文件系统inode总量、磁盘块总量、inode使用情况、文件系统特性和挂载时间等等。超级块也是文件系统的入口。我们知道磁盘在使用之前必须

2021-05-29 20:40:05 617 1

原创 Ext2文件系统写数据流程及代码分析

完成了创建文件流程的介绍,下面就是向文件写数据了。今天我们主要介绍一些Ext2文件系统写数据的主要流程及核心代码。为了便于理解Ext2文件系统写数据的流程,本文先从整个Linux文件系统的角度分析一下写数据的流程,因此本文包含了部分VFS内容介绍。本文主要包含2部分内容,一部分是从总体上介绍一个写流程是如何从用户态接口到Ext2文件系统的,另一部分是Ext2文件的数据在磁盘上组织及函数流程。写文件的操作通常由用户态的程序发起,比如在开发的过程中调用系统API(write)。如图是从用户态发起一直到调

2021-05-29 20:38:41 291

原创 Ext2文件系统读数据流程及代码分析

读数据流程关于如何从用户态到Ext2文件系统公共部分(VFS)的流程本文不再详细介绍,这一部分与写流程基本一致,具体可以参考文末的相关文章介绍。如图是从用户态到Ext2文件系统的函数调用图,从图上可以看到对于Ext2文件系统在读数据流程中调用了大量VFS的函数,这主要原因是Ext2是Linux的原生文件系统,其实耦合还是比较大的。我们仔细观察一下,实际起作用的函数是Ext2文件系统的ext2_file_read_iter函数。图1 读数据整体流程像写数据一样,读数据也分为Direct读和缓存读两

2021-05-29 20:35:58 325

原创 SAN存储与协议,了解SCSI、FC和ISCSI

在前面我们介绍SAN存储及iSCSI协议的时候了解到SAN存储其实是一个CS架构的系统。存储系统本身就是整个系统的服务端。以IP-SAN(也就是基于iSCSI的SAN存储)为例,其整体架构如图1所示。图1 CS架构对于存储系统来说,通常是由专业的存储厂商提供,比较知名的如EMC、NetAPP、IBM和日立等等。国内存储厂商也迅速崛起,比较知名的如华为、宏杉、浪潮和同友等等。另外,还有一些小的存储厂商,他们往往集中在某个领域,比如专注文件系统或者块存储等等。除了专业的存储设备外,其实Linux

2021-05-27 22:05:58 2100

原创 Ext2文件系统创建文件流程及代码分析

前文我们知道在Linux操作系统中文件是由inode标识的,每个文件在磁盘上都有一个inode节点。对于Ext2文件系统来说,通常这些inode节点会相对集中的放在一个区域,这个区域叫做inode表。图1 inode位图与inode表同时,在前文中我们了解了Ext2的目录是如何组织数据,并且了解了目录与文件及文件数据的组织关系。本文我们将介绍Ext2文件系统创建一个文件的流程及关键代码。创建普通文件创建文件的操作通常是由用户态发起,通过虚拟文件系统中的vfs_create函数调用具体文件

2021-05-16 17:27:37 384

原创 Ext2文件系统的目录原理及文件管理分析

**在Linux文件系统中一切皆文件,同样目录也是文件的一种类型。**熟悉Linux服务器的同学经常会看到如下内容,这个是某个目录的列表内容。每一行的前面形如drwxr-xr-x的内容为文件的属性,而第一个字符d则表示这个文件是一个特殊的文件,也就是目录(directory)。第一个字符是用于标示文件类型的,对于块设备则是b,字符设备是c等等,每种特殊的文件这个字符都是不同的。对于有图像界面(...

2020-01-11 19:52:03 620

原创 互联网大厂offer收割之二叉树的基本概念及常见面试题汇总

更多面试题请关注头条号、微信号: itworld123任何程序是由算法和数据结构两部分组成的。其中数据结构是用来存储数据的,在程序逻辑上涉及数据的存储和检索两方面。其中线性数据结构是常用的数据结构,比如我们存储一个班级中学生信息或者成绩列表等等,通常使用的是线性数据结构。这种线性数据结构包括数组和链表等。我们知道数组是一个连续的地址空间,链表是一个非连续的地址空间。两者的应用场景有着比较明...

2019-11-26 19:58:53 435

原创 互联网大厂offer收割之数组及相关面试题解决方法

title: 互联网大厂offer收割之数组及相关面试题解决方法date: 2019-09-24 09:31:15tags:数据结构数组更多面试题请关注头条号、微信号: itworld123数组是所有数据结构中最简单的数据结构了,很多复杂的数据结构依赖数组实现,比如哈希表等。数组是一个连续的内存空间,因此我们可以一次定位其中的元素,也就是其查找是O(1)时间复杂度。因...

2019-11-26 19:54:15 573 1

转载 DPDK 入门最佳指南

01 写在前面我的读者当中应该有一部分人是做 DPDK 相关的,我自己虽然现在已经不做 DPDK 了,但对这块仍然有兴趣,今天这篇文章就来总结下 DPDK 的技术栈。注意:这篇文章是小白文,不适合大神哦。文章从 DPDK 的产生背景,到核心技术,再到应用场景,都进行了阐述,有可能是你见过的讲得最全面的文章了,当然,讲得全面自然会少了深度,你如果不屑忽略就好了。02 高性能网络技术随...

2019-09-20 10:27:30 12615 9

原创 从原理到实现,RAID5原理详解及代码实现浅析

前文我们介绍了Linux下面的RAID技术基本原理,并通过RAID1介绍了其大致的实现流程。今天我们介绍一下RAID5,因为RAID5还是比较复杂的,因此觉得有必要介绍一下。RAID5的算法关于RAID5的算法,我们在网上看到最多的一张图恐怕就是下面这张图了。这张图基本上说明了RAID5的算法,但还不够。在这张图中讲清了RAID5的关键是有一个校验数据块,校验数据块按照规则分布在不同的磁盘...

2019-08-29 10:28:41 6855 1

转载 SVN常用命令

# checkout代码svn co svn://svnbucket.com/xxx/xxx复制代码# 更新代码svn up复制代码# 添加新文件到版本库svn add filename# 添加当前目录下所有php文件svn add *.php# 递归添加当前目录下的所有新文件svn add . --no-ignore --force复制代码# 提...

2019-08-20 11:12:09 269

原创 二叉树的基本概念及常见面试题汇总

任何程序是由算法和数据结构两部分组成的。其中数据结构是用来存储数据的,在程序逻辑上涉及数据的存储和检索两方面。其中线性数据结构是常用的数据结构,比如我们存储一个班级中学生信息或者成绩列表等等,通常使用的是线性数据结构。这种线性数据结构包括数组和链表等。我们知道数组是一个连续的地址空间,链表是一个非连续的地址空间。两者的应用场景有着比较明显的差别。数组非常适合使用在元素数量已知的场景,对于有序数...

2019-08-12 08:34:18 936

原创 这些底层技术才是一个优秀架构师必须掌握的

上层应用开发的多了之后,对底层技术的接触就越来越少了。以至于很多人有了“底层技术无用论”的观点。很多人认为学习框架多好啊,大家都在用,跳槽的时候也能用的上。学习那些底层技术干啥,平时都用不到。本号并不这么认为。我们先举一个活生生的例子,比如我们现在有个Web服务应用,崩溃重启后在绑定套接字的时候出现报错(socket_bind(): unable to bind address [98]: A...

2019-07-26 07:40:53 2719

转载 十则:程序员“笑话”据说只有真正的程序员才看得懂

一、程序员被提bug之后的反应1、绝对不可能;2、在我这是好的,不信你来看看;3、真是奇怪,刚刚还好好的;4、一定是数据问题;5、你清下缓存试试;6、重启下电脑试试;7、你装的什么版本的类库(jdk);8、这谁TM写的代码;9、尼玛怎么还在用某某安全浏览器;10、用户不会像你这么操作的。二:昨天,看到一段脑残到爆的Code,忍不住骂了句:靠,这特么是哪个...

2019-07-09 16:09:01 1025

NFS在Linux下的安装、部署与应用

NFS在Linux下的安装、部署与应用

2021-07-17

Go语言电子书合集

这里是Go语言的入门图书合集,具体包括《Go语言程序设计》、《Go语言圣经》、《Go语言标准库》和《Go语言并发编程》等近10本书经典图书。

2019-03-24

B+树数据结构详解

本文是对B+树数据结构和算法的详细介绍文档。文章详细,生动的描述了如何构建一个B+树。

2019-01-31

JCRAFT API介绍

关于jcraft的详细资料,非常值得学习,可与而不可求啊!!赶紧下载吗

2010-09-20

jscaps 非破解版 珍惜啊!

sftp的不错的库文件,值得学习 sftp的不错的库文件,值得学习

2010-09-04

jscaps 破解版 珍惜啊!

sftp for java is very used java lib do you want get it? yes i want! sftp for java is very used java lib do you want get it? yes i want!

2010-09-04

A Practical Guide to Linux® Commands, Editors, and Shell Programming

关于linux实践的英文原版书籍,非常适合初学者。讲的很细致。

2010-05-14

linux bash shell

linux控制台程序的使用,外国经典名著第三版。想学linux开发的朋友可以看看

2009-06-14

PROTEUS仿真

proteus的仿真程序

2008-03-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除