腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Coding迪斯尼
专栏作者
举报
321
文章
264703
阅读量
96
订阅数
订阅专栏
申请加入专栏
全部文章
编程算法
其他
神经网络
go
java
python
深度学习
ide
数据结构
存储
数据库
sql
区块链
人工智能
tcp/ip
游戏
缓存
机器人
http
网络安全
编译器
文件存储
机器学习
打包
安全
语法
javascript
node.js
单片机
linux
udp
函数
react
压力测试
ftp
keras
字符串
比特币
html
api
正则表达式
算法
图像识别
lexer
对象
接口
模型
系统
数字货币
c++
汇编语言
网站
express
爬虫
二叉树
rpc
微信
windows
微服务
aigc
return
time
基础
客户端
数学
解释器
云服务器
DNS 解析 DNSPod
tensorflow
iphone
c 语言
php
bash
bootstrap
ajax
mapreduce
日志服务
黑客
dns
gcc
socket编程
数据处理
https
connect
flex
send
tcp
wireshark
变量
编码
编译
程序
数组
协议
压缩
状态机
人脸识别
NLP 服务
ios
.net
jquery
json
eclipse
jar
apache
bash 指令
容器镜像服务
spring
批量计算
访问管理
消息队列 CMQ 版
腾讯云测试服务
自动化
html5
jvm
numpy
面向对象编程
spring boot
单元测试
flash
kernel
大数据
小程序
腾讯云开发者社区
kafka
小程序·云开发
alpha
app
append
attr
case
character
code
csv
data
desktop
detection
function
init
key
ld
list
map
max
network
point
push
select
server
state
telnet
timer
token
wait
word
遍历
测试
队列
工具
集合
脚本
连接
命令行
内核
设计
事件
视频
数据
搜索
索引
网络
文件上传
效率
搜索文章
搜索
搜索
关闭
自己动手写编译器:增强语法极其实现
函数
语法
存储
lexer
编译器
我们前面章节看到的语法规则中,语法只给出了代码字符串组合规则是否符合规定,实际上我们可以在语法解析过程中增加一些特定的属性或者操作,使得语法解析流程中就能完成中间代码生成,或者是创建好特定的元信息,以便在后续处理流程中辅助代码生成。例如我们看看如何在语法解析规则中附加特定操作,使得语法解析过程就能生成中间代码,我们看一个例子,给定如下语法规则:
望月从良
2024-02-23
56
0
区块链系统化探索:什么是”交易“
区块链
存储
对象
脚本
数据
在区块链的目最重要的目的就是实现价值的转移。这本质上是信息的发布和存储。例如我要正面我有一百块钱,那么我需要拿出一张 100 块的钞票,这张纸币只不过是一种“我有一百块”这个信息的证明。现在我们都有电子支付,于是“我有一百块”这个信息就变成了微信钱包或支付宝余额宝里面的一个数字,你拿给别人看,他人看到数字就相信你有这个价值。
望月从良
2023-09-02
144
0
自己动手写数据库:视图元数据管理,统计元数据管理
数据库
sql
存储
html
在数据库中,除了数据表外,还有一个重要对象叫视图。视图是由SQL语句将不同字段从不同表中抽取或者构造后形成的新表,跟数据库表不同在于,它不存储在磁盘上,而是在使用时临时构建出来。
望月从良
2023-02-26
347
0
自己动手写数据库:实现数据库表的元数据管理
存储
数据库
sql
编程算法
数据库需要管理很多元数据,所谓元数据就是用来描述数据表结构信息的数据。例如在mysql中使用show tables命令,它会把所有表的名称显示出来,这里数据库表的名称就属于元数据。我们要实现的元数据管理包含四部分,分别为表元数据管理,视图元数据管理,索引元数据管理,和统计相关元数据管理。
望月从良
2023-02-26
368
0
自己动手写数据库:实现表扫描
编程算法
存储
在上一节我们实现了记录管理,本节我们看看记录的读取实现,也就是所谓的表扫描。我们将实现一个名为TableScan的类,它把表的记录当做数组来读取,通过挪到一个记录指针来遍历表的记录,它的作用类似于cursor。我们实现这个类的目的是增加一层抽象,前面我们实现的RecordPage暴露很多底层信息,例如记录的数据格式,区块号等,我们通过这个类将这些底层信息隐藏起来,通过它来读写记录可以避开对区块号,存储页面等底层对象。
望月从良
2022-12-02
314
0
自己动手写数据库:记录管理器的设计和实现
存储
在数据库中,数据以”记录“作为一个单元来存储,例如一个表的“一行”就对应一条记录。假设我们有一个表叫STUDENT,其中有name, age, sex, class等字段,那么一条记录的信息就由这四个字段对应的信息合成。一条记录如何存储并不是一个简单的事情,例如我们需要考虑如下因素: 1,一条记录是否应该全部存储在一个区块中 2,一个区块存储的记录是否应该全部来自同一张表 3,记录中每个自动的大小是否应该固定 4,一条记录中的字段如何组织,在上面例子一条记录不一定以name,age,sex,class这样的次序存储
望月从良
2022-12-02
615
0
python高级算法与数据结构:“你如何压缩一部英文著作”,一道来自大厂的真实面试题
编程算法
存储
node.js
apache
文件存储
不久前我经历了某大厂的后台开发面试,对方给我抛过来一道开放式题目:”给你一本英文著作,你如何实现对它的有效压缩“。我当时看到问题心里感到一股拔凉,这道题非常适合那些熟悉数据压缩理论的同学,对我们这些非专业人士,需要压缩时就调用个gzip接口的人而言,看到这种问题感觉就是当头挨了狠狠一闷棍,心中堵得慌。
望月从良
2022-03-28
485
0
go实现高并发高可用分布式系统:设计类似kafka的高并发海量数据存储机制1
数据库
sql
存储
go
上一节我们实现了日志微服务,它以http服务器的模式运行,客户端通过json方式将日志数据post过来,然后通过http get的方式读取日志。当时我们的实现是将所有日志信息添加到数组末尾,这意味着所有日志信息都会保存在内存中。但分布式系统的日志数量将非常巨大,例如推特一天的日志数量就达到一万亿,国内微博,微信,淘宝等超大规模系统的日志数量估计也是这个等级。假设我们使用一百台服务器运行日志微服务,那么一台将处理10亿条日志,再假设一条日志为64字节,那么如果直接将日志存放在内存就需要消耗64G,再考虑到很多日志存储后很可能再读取,而且一台服务器还需要提供其他程序运行,因此直接将日志存储在内存将是一种巨大的损耗。
望月从良
2022-01-15
504
0
ELF文件程序表头和代码实现ELF文件加载
数据结构
存储
node.js
前面章节我们了解了ELF文件的头部结构,这次我们深入了解另一个非常重要的数据结构,那就是程序表头。操作系统严重依赖该结构来加载ELF文件或是实现动态链接。程序表头反映的是当ELF加载到内存后所形成的“视图”或结构,也就是说ELF文件存在硬盘上或者被加载到内存,它展现出来的形态不一致。
望月从良
2020-12-15
1.5K
0
探索ELF可执行文件的“干货”:段头表和段的基本介绍
数据结构
go
编程算法
存储
ide
可执行文件的数据结构通常都很复杂和繁琐。原因在于程序在加载到内存中执行时需要经过一系列非常复杂的步骤。例如要计算数据或代码被加载到虚拟内存时的位置,计算重定向数值,实现不同代码的链接等。
望月从良
2020-11-13
1.3K
0
高级静态分析技能基础:X86架构的堆栈结构描述
单片机
存储
ide
tcp/ip
在代码运行时需要临时存放各种信息,例如函数调用时的输入参数,局部变量等,这些信息存储在一种叫做”栈“的数据结构上。它的特点是后进先出,也就是最后存储到栈里面的数据将会最先被取出来。X86体系自带栈结构,寄存器ESP,EBP专门用于对栈进行操作。EBP指向栈所在的内存地址,ES[图片上传中…(截屏2020-09-30 下午3.56.59.png-a3f002-1601452956326-0)] P指向数据进入或弹出堆栈所在的位置,同时对于栈操作的指令有push,pop,call,leave,enter,ret等。
望月从良
2020-10-26
725
0
高级静态分析技能基础:X86汇编语言运算指令说明
单片机
存储
本节我们看看X86指令集以及X86的硬件体系架构。在汇编语言中最常见的指令就是mov,他将数据从一个地方转移到指定位置,该指令能将数据转移到特定位置的内存或是给定寄存器。mov指令的格式为(mov 目的,源头),源头指的是要被挪到的数据,目的是数据被挪动的目的地, 我们看几个具体例子: mov eax, ebx (把寄存器ebx中的数据拷贝到eax寄存器) mov eax, 0x42 (把数值0x42赋值给eax寄存器) mov eax, [0x4037c4](把地址为0x4037c4的4字节数据拷贝到eax寄存器] mov eax, [ebx] (先从寄存器ebx中获取数值,然后找到该数值对应的内存地址,接着再把地址所在处4字节数据赋值给寄存器eax) mov eax, [ebx + esi*4] (取出ebx中的数值,取出esi寄存器中的数值,将后者乘以4后加上前者,所得结果作为内存地址,并把给定地址的4字节数据拷贝到eax寄存器)
望月从良
2020-10-09
954
0
java开发HTTP协议:HTTP协议的方法详解
html
http
php
存储
第一行第一个单词是”GET”,客户端会根据对服务器的请求来指定该单词,因此第一行第一个单词被称为HTTP协议的方法。客户端发送给服务器的请求数据包,第一个单词永远作为该请求的“方法”。通常情况下,客户端通知服务器采取某种操作并将操作的结果返回给它都被称为命令,只有在HTTP协议下被称为方法,因此HTTP协议的方法与其他协议所说的命令并没有本质区别。之所以使用“方法”是因为HTTP协议为了实现其通用性和灵活性,借鉴了面向对象编程的思维。有编程经验的朋友都知道,某个类导出的接口称为该类的方法,HTTP协议把数据包看做一个类的实例,因此实例里面封装了各种属性,也就是前面章节描述的header,该实例发送给服务器后导致给定的方法或接口被调用,因此HTTP借用面向对象编程的思维来设计其数据包,这也是HTTP协议为何如此通用和灵活的重要原因。
望月从良
2020-05-07
706
0
从0到1用java再造tcpip协议栈:实现ARP协议层
其他
java
.net
存储
经过前两节的准备,我们完成了数据链路层,已经具备了数据包接收和发送的基础设施,本机我们在此基础上实现上层协议,我们首先从实现ARP协议开始。先简单认识一下ARP协议,ARP是一种寻址协议,它要找寻目标的物理地址,连接在互联网上的设备有两种地址,一种叫IP,也就是我们常见的192.168.2.1这类地址,另一种叫物理地址,例如我们电脑上的mac地址。
望月从良
2018-12-20
1.5K
0
java开发操作系统:同时运行多窗口多任务
java
存储
人工智能
在系统有了命令行窗口后,我们可以直接在窗口内输入命令,启动应用程序。当通过命令行加载运行用户开发的程序时,命令行会被‘冷冻’,这是因为被启动的程序与命令行属于同一进程,CPU要把运行的权限交给应用程序,命令行窗口得不到运行的机会,因此看上去像死机一样。 这造成的一个问题是,命令行窗口一次只能加载一个应用程序,然后必须等到程序运行结束后,CPU控制权交还给命令行窗口时,它才有机会启动另一个应用程序。我们可以把命令行窗口的程序启动机制进行修改,使得应用程序运行后,控制台仍然能获取CPU的执行权限,但这么改动难度
望月从良
2018-07-19
900
0
VUE+WebPack精美游戏设计:实现微信红包铜钱转动特性和页面数据的本地存储
游戏
微信
存储
上一节,我们完成了建筑物的动态生成效果。在三种建筑物中,有一种建筑物,也就是商店,一旦它生成后,能产生一种特殊效果,那就是有一个钻石精灵会动态的漂浮在它下方,一旦用户点击后,玩家的钻石数量可以相应增加
望月从良
2018-07-19
919
0
java开发系统内核:创建文件操作API
java
api
存储
文件系统是所以操作系统的核心,系统的数据必须以文件的方式存储和组织。我们现在的系统没有硬盘,因此所有信息都存储在磁盘里,在内核加载时,引导扇区程序就会把磁盘上相关数据全都拷贝到内存里,于是所有文件内容在系统启动后,会从磁盘转存到内存中。 在前几节,我们已经建立了简易的文件系统,本节,我们为文件系统增加几个有利于文件读取操作的API.根据常用的文件API,我们提供的接口将支持以下几种操作: 1, 文件打开 api_fopen 2, 文件定位 api_fseek 3, 文件读取 api_fread 4, 文件
望月从良
2018-07-19
605
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档