logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核分析与应用9-设备驱动

Linux支持世界上几乎所有不同功能的硬件设备,导致Linux内核中有一半的代码是设备驱动,且随着硬件的快速升级迭代,设备驱动的代码量也快速增长..为了降低设备多样性带来的Linux驱动开发的复杂度,以及设备热插拔处理,电源管理等,Linux提出了设备模型(Driver Model)只能一个字节一个字节进行读写操作的设备,不能随机读取设备中的某个设备,必须按照先后次序来进行, 字符设备是面向流的设

#后端
Linux内核分析与应用7-内核同步

死锁:所有的任务都在相互等待,但他们永远不会释放已占有的资源,于是任何任务都无法继续执行。同一时刻,只能为一个处理器所持有, 防止多处理器并发访问临界区,防止内核抢占造成的竞争。在多核系统中遇到原子操作,在系统层面上原子操作还是原子的吗?在核级还是原子的吗?如果内核出现死锁,该如何应对?专为多处理器并发而引入的一种锁,在内核中大量应用于中断处理部分。原子操作,Linux专门有一个atomic_t结

#后端
Linux内核分析与应用8-文件系统

ext2,ext3,ext4是Linux的标准文件系统,系统将其磁盘分区作为系统的根文件系统;除此以外的文件系统则安装在根目录系统下的某个目录中,称为系统树形结构中的一个分支.本讲介绍了文件系统的四种对象,每个对象都对应有两个数据结构,即对象的属性和其操作方法,这是面向对象思想在文件系统设计中的一种体现.给定一个文件名,通过文件系统的数据结构关系图,如何查找到相关的文件?文件系统是具体到分区的,所

#后端
拆开任意 Electron 应用:从 Windows 安装包到 Discord 的私有更新协议

ASAR。ASAR 是 Electron 的专属归档格式。简单说,就是把应用的 HTML、JS、CSS、图片等所有文件打包成一个单一的.asar文件,Electron 运行时能透明地读取里面的内容,就好像它们是普通文件一样。Windows 的路径长度限制:旧版 Windows 的某些 API 对路径长度有严格限制,目录的深层嵌套很容易超过上限Windows 的大量小文件性能问题:Windows 在

#electron#windows#javascript
为网站配置https证书

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身

文章图片
#https#网络协议#http
通过位运算,实现单字段标识多个状态位

可能经常有如下这种需求: 需要一张表,来记录学员课程的通过与否. 课程数量不确定,往往很多,且会有变动,随时可能新增一门课.attr为当前该属性字段的值(从数据库里取出来的值). index为约定的第几位来标识当前业务,index从0开始计数。这种情况下,在设计表结构时,一门课对应一个字段,就有些不合适, 因为不知道课程的具体数量,也无法应对后期课程的增加.语文落榜(则不调用写接口,只有通过才调)

#后端
Uber 开源 uForwarder:用 Consumer Proxy 把 Kafka 消费改造成异步消息队列

Uber 这篇文章介绍了 uForwarder,也就是他们开源的 Kafka Consumer Proxy,用于支持 Kafka async queuing 场景。Uber 每天处理数万亿条 Kafka 消息和多个 PB 数据。三年前,Uber 构建了一个基于 push 的 Consumer Proxy,用于解决 Kafka 在 pub-sub 和异步队列场景中的几个问题,包括 partition

#开源#kafka#分布式
子网划分及子网掩码的计算

③C类:占有3个字节(24位),它是最通用的Internet地址,使用最高三位为 110 来标识此类地址,其余21位为真正的网络地址,支持。在原来的IP地址模式中,网络号部分就标识一个独立的物理网络, 引入子网模式后,网络号部分加上子网号才能全局唯一地标识一个物理网络。这对于采用TCP/IP协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。①A类

#后端
用 Rust 写 Serverless:Cloudflare Workers + WebAssembly 实践

它原生支持 JavaScript,而随着 WebAssembly(WASM)支持的加入,Rust 开发者也可以把自己的代码编译成 WASM,部署到这套平台上运行。原因在于 WASM 运行在独立的内存空间里,数据进出都需要拷贝,如果代码本身没有密集的计算,引入 WASM 反而会带来额外开销。这个绑定层很关键,后面会详细说。这个经验值得记住:在 WASM 环境下,任何涉及 I/O、系统熵、文件系统、时

#rust#serverless#wasm
把 Matrix 聊天服务器搬到 Serverless 上,还顺便免费升级了量子加密

Matrix 是一个去中心化的即时通讯协议,在隐私保护和去中心化领域算是公认的标杆。很多政府机构、开源社区和注重隐私的组织都在用它。对于个人开发者来说,用 Matrix 的理由往往更加朴素:把 Discord、Slack 这些分散的聊天工具桥接到一个收件箱,或者单纯想让自己的聊天记录跑在自己控制的服务器上。但运行一个 Matrix 服务器,一直有一个难以回避的"税"要交。

#服务器#serverless#运维
    共 176 条
  • 1
  • 2
  • 3
  • 18
  • 请选择