自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dablelv 的博客专栏。

The blog world of Dablelv

  • 博客(925)
  • 资源 (9)
  • 问答 (41)
  • 收藏
  • 关注

原创 认识 Glob Pattern

在计算机编程中,Glob Patterns(通配符模式)是一种用于文件路径匹配的表达式,它利用通配符字符来匹配一组文件或目录。注意,Glob Patterns 不是一个统一的标准,而是一个在不同系统和工具中常见的模式匹配方式。虽然它们的基本概念相似,但具体实现和支持的特性可能会有所不同。本文将介绍常见的通配符模式。

2024-07-21 22:56:42 772

原创 配置文件格式 INI 快速上手

INI 的全称是 Initialization,即为初始化文件,是 Windows 系统配置文件所采用的存储格式。有时候,INI 文件也会以不同的扩展名出现,如“.cfg”、“.conf”、或“.txt”。但为了可读性,不建议这么做。因为 INI 并没有一个统一的标准,所以这里介绍常用的 INI 格式内容。

2024-07-21 11:39:25 570

原创 配置文件格式 JSON 快速上手

JSON(JavaScript Object Notation) 是轻量级的文本数据交换格式,独立于语言,具有自我描述性。JSON 类似于 XML,但比 XML 更小、更快,更易解析。

2024-07-20 18:53:12 318

原创 配置文件格式 XML 快速上手

XML(Extensible Markup Language)是可扩展标记语言,用来传输和存储数据。因为其允许用户自定义标记名称,具有自我描述性,可灵活地用于存储服务配置信息。

2024-07-20 18:29:33 724

原创 必知的经济周期

熊彼特在分析经济周期时,区分了不同长度的周期,包括朱格拉周期(中期周期)、基钦周期(短期周期,约3到5年),以及更长的康波周期(约50到60年)。基钦周期也叫库存周期,基钦根据美国和英国1890年到1922年的利率、物价、生产和就业等统计资料,从厂商生产过多时就会形成存货、从而减少生产的现象出发,把这种 3-5 年的短期调整称为“存货”周期,在 40 个月中出现了有规则的上下波动。朱格拉认为商业周期的波动与信贷周期有很大的关联,因为信贷的扩张和紧缩可以影响企业的投资决策和经济的总需求。

2024-07-20 18:15:05 546

原创 代码注释中的常见标记

在代码注释中,FIXME 是一个常见的标记,用来指出代码中的一个问题需要被修复或需进一步的工作。它是一个约定俗成的标志,意味着开发者注意到了代码的某个部分可能不正确、不完整或存在潜在的错误,但在当前时刻可能没有时间或资源去解决它。FIXME 类似于其他代码注释标记,如 TODO (表示还有工作要做)或 NOTE(用来强调或解释代码的某个方面),但 FIXME 更具有紧迫性,通常表示代码中存在更严重的问题或错误。通常用来标记未来需要添加或修改的功能。代码存在已知的错误,但需要更多的调查或复杂的修复。

2024-07-18 15:08:42 272

原创 微服务设计原则——高性能:锁

上图的模式可以改成串行无锁的形式,当 MainReactor accept 一个新连接之后从众多的 SubReactor 选取一个进行注册,通过创建一个 Queue 与 I/O 线程进行绑定,此后该连接的读写都在同一个队列和线程中执行,无需对队列加锁。可以预见的是,随着分片粒度地变小,性能差距会越来越大。利用硬件支持的原子操作可以实现无锁的数据结构,很多语言都提供CAS原子操作(如 Go 中的 atomic 包和 C++11 中的 atomic 库),可以用于实现无锁数据结构,如无锁链表。

2024-07-17 21:26:55 889

原创 git config

安装完 Git 后,需要对 Git 环境进行一次配置,且只需要配置一次。程序升级时会保留配置信息。你可以在任何时候再次通过运行命令来修改它们。Git 自带一个 git config 的工具来设置控制 Git 外观和行为的配置变量,这些变量按照不同的作用级别默认存储在四个不同的文件中。可以使用 --file 选项来显示指明配置文件的路径。文件路径级别说明系统级别包含系统上每一个用户及他们仓库的通用配置。如果使用带有 --system 选项 Git 会读写此文件用户级别针对当前用户。

2024-07-17 00:31:09 788

原创 RabbitMQ 迁移

如果您只需要导出和导入RabbitMQ的定义(如vhost、exchange、queue等),可以使用RabbitMQ的 HTTP API。

2024-07-08 09:30:41 661

原创 Go 编码建议——安全篇

进行指针操作时,必须判断该指针是否为 nil,防止程序 panic,尤其在进行结构体Unmarshal 时。在对 slice 进行操作时,必须判断长度是否合法,防止程序 panic。

2024-06-23 22:33:00 540

原创 配置文件格式 YAML 快速上手

(YAML Ain’t a Markup Language)是专门用来写配置文件的语言,简洁强大,相比于 JSON 和 XML,更加便于开发人员读写。YAML 配置文件后缀为.yml 或 .yaml。

2024-06-16 21:47:02 855

原创 git diff

git diff 主要用于查看文件之间的区别。工作区(Working Directory)与暂存区(Stage/Index)。工作区与版本库(Repository)。暂存区与版本库。版本库与版本库的不同版本。不同分支。磁盘上两个文件。本地分支与远端分支。

2024-06-16 21:29:41 531

原创 Golang 避坑指南

本文将介绍 Golang 初学者容易菜的坑,希望广告 Gopher 避而远之。

2024-06-10 18:05:27 1534 9

原创 认识 DECIMAL 类型

为保证小数精度不丢失,数据库表使用 DECIMAL 类型,服务代码中使用,比如 Golang 第三方库 https://github.com/shopspring/decimal。接口协议可以使用 string 表示。各类语言及数据库一般都提供了DECIMAL 类型的支持,一般是以一个 struct 来表示一个 DECIMAL 类型。DECIMAL 类型另外一个作用就是可以存储非常大的数字,并且在计算时不会出现精度损失。从 DB 存储,服务数据计算与前端接口返回,全链路保证小数精度不会丢失。

2024-05-28 17:26:36 489

原创 Hive 变量定义与引用

通过定义变量并在查询中引用变量,可以使查询语句更加简洁和易读。如果需要修改常量或固定值,只需要修改变量的值即可,而不需要修改所有引用该常量或固定值的查询语句。例如,可以将一些常用的查询条件或参数定义为变量,并在多个查询中引用这些变量,从而避免重复编写相同的查询语句。例如,可以将一些参数定义为变量,并在运行时动态修改这些参数的值,从而使查询语句具有更高的适应性和可配置性。总之,自定义变量和引用变量是一种良好的编程习惯,可以使查询语句更加简洁、易读、易于维护和重用,并提高查询语句的灵活性和可配置性。

2024-05-24 17:26:47 885

原创 Hive 与 SQL 标准和主流 SQL DB 的语法区别

Hive是一种基于Hadoop的数据仓库软件,可以将结构化数据文件映射为一张数据库表,并提供了类SQL查询接口,使得用户可以使用SQL类语言来查询数据。Hive可以处理包括文本、CSV、JSON、ORC和Parquet等格式的数据文件,支持数据的导入、导出、转换等操作。Hive可以在Hadoop集群上运行,利用Hadoop的分布式计算能力,可以处理大规模的数据集。

2024-05-11 23:36:40 1357 3

原创 MySQL COUNT(*) COUNT(1) 与 COUNT(列) 的区别

那么,InnoDB 循环遍历聚簇索引(主键索引),将读取到的记录返回给 server 层,但是不会读取记录中的任何字段的值,因为 COUNT 函数的参数是 1,不是字段,所以不需要读取记录中的字段值。如果表里只有主键索引,没有二级索引时,那么,InnoDB 循环遍历聚簇索引,将读取到的记录返回给 server 层,然后读取记录中的 id 值,就会 id 值判断是否为 NULL,如果不为 NULL(主键不能为 NULL),就将 count 变量加 1。最后将 count 变量的值发送给客户端。

2024-05-08 21:49:14 937

原创 Hive 表定义主键约束

在 Hive 中,可以使用 PRIMARY KEY 子句来定义主键约束,以确保表中的每行数据都具有唯一标识。如果一个约束指定 RELY,也就是希望 HIVE 基于代价的优化器 CBO(Cost-Based Optimizer)使用约束信息来获得更好的统计信息,得到更好的执行计划。具体到主键约束,一般主键常用于多表关联查询,利用主键约束,可以删除不必要的连接( JOIN ELIMINATION),得到更好的执行计划。对于唯一约束,目前 Hive 是不支持的,但是其他一些约束是支持的。

2024-04-29 11:58:44 824 3

原创 go get 命令详解

将依赖项添加到当前模块并安装它们。go get 干了三件事:一是更新 go.mod 文件将指定包及其版本加入其中。二是下载包源码至模块缓存(三是安装包,生成二进制程序至GOPATH/bin(从 Go 1.17 版本开始,为了更加符合其语义,该功能被废弃,改用go install如果包中不包含可执行文件,则不会执行第三步,即 go get 操作成功后 GOPATH/bin 目录下不会有任何编译好的二进制文件。

2024-04-23 10:33:00 376

原创 配置文件格式 TOML 快速上手

GitHub 联合创始人 Tom Preston-Werner 觉得 YAML 不够简洁优雅,如缩进要严格对齐,因此和其他几位开发者一起捣鼓了一个 TOML(Tom’s Obvious Minimal Language)。TOML 旨在成为一个语义显著且易于阅读的极简配置文件格式,能够无歧义地转化为哈希表,且能够简单解析成编程语言中形形色色的数据结构,用于取代 YAML 和 JSON。TOML 的基本语法规则如下:TOML 文档最基本的构成区块是键/值对。值必须是这些类型:字符串,整数,浮点数,布尔值,日

2024-04-18 20:56:28 1817 2

原创 go env

go env 用于查看和设置 Go 环境变量。默认情况下 go env 输出格式为 Shell 脚本格式(如 Windows 上是 batch 文件格式)。如果指定变量名称,则只输出变量的值。

2024-03-27 11:21:38 1552 1

原创 微服务设计原则——低风险

XSS(Cross Site Scripting)名为跨站脚本攻击,因其缩写会与层叠样式表(Cascading Style Sheets,CSS)混淆,故将其缩写为 XSS。XSS 漏洞是 Web 安全中最为常见的漏洞,通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页中,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash,甚至是普通的 HTML。

2024-03-26 12:57:29 1334 1

原创 微服务设计原则——高可用

,这些都是糟糕的建议。如果第三方接口响应时间都是 50ms 左右,那么线程都能很快处理完自己手中的活,并接着处理下一个请求,但不幸的是如果有一定比例的第三方接口响应时间为 2s,那么最后这 50 个线程都将被拖住,队列将会堆积大量请求,从而拖垮整服务。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果时网络异常(超时成功),此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等性。

2024-03-24 00:48:15 807

原创 男女比例面试问题

我国 2020 年展开的第七次全国人口普查公报显示,以女性为100,男性对女性的比例为105.07,中国男性比女性多 3490 万人。这是一道经典的概率问题,经常出现在各大公司(Google,Tencent,Alibaba 等)的面试环节。在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止。第二年,上年生了女的家庭再生一次,一半生男,一半生女。第三年,上年生了女的家庭再生一次,一半生男,一半生女。第四年,上年生了女的家庭再生一次,一半生男,一半生女。

2024-03-21 11:28:30 325

原创 C qsort 与 C++ sort 函数

C++ 有两个常用的排序函数:sort 与 qsort。下面介绍二者用法与区别。

2024-03-19 22:23:06 776

原创 Visual Studio 常用快捷键与设置

【代码】Visual Studio 常用快捷键与设置。

2024-03-19 17:28:06 525

原创 字符串的排列(LeetCode 567)

注意,因为字符仅包含 26 个小写字母,所以统计字符个数可以使用一个长度为 26 的数组,数组下标与 26 个小写字母一一对应。由于排列不会改变字符串中每个字符的个数,所以只有当两个字符串每个字符的个数均相等时,一个字符串才是另一个字符串的排列。根据这一性质,统计 s1 的字符个数,然后使用滑动串口遍历 s2,统计串口内字符个数是否需 s1 的相等。O(Σ),其中 Σ 是字符集字符数,这道题中的字符集是小写字母,所以 Σ 为 26。如果相等,那么 s2 包含 s1 的排列之一,返回 true。

2024-03-15 19:41:09 310

原创 微服务设计原则——高性能:缓存

(2)布隆过滤器:采用布隆过滤器将,将所有可能存在的数据哈希到一个足够大的 Bitmap 中,一个一定不存在的数据会被这个 Bitmap 拦截掉,从而避免了对底层数据库的查询压力。“劲酒虽好,不要贪杯”,使用缓存的目的是为了提高性价比,而不是一上来就为了所谓的提高性能不计成本的使用缓存,而是要看场景。缓存的数据集中在一台机器上,如共享内存。Size-based Eviction 策略通常适用于对缓存空间有严格限制的场景,可以根据缓存空间的大小和数据的大小来灵活选择要淘汰的项目,以实现最佳的缓存效果。

2024-03-13 18:27:58 1114

原创 有效的正方形(LeetCode 593)

注意:判断过程中,不用计算出两点实际距离,只需要算出距离的平方即可。给定 2D 空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个点构成一个正方形,则返回 true。如果三角形两个边相等,则为直角边。如果直角边的平方和等于另一条边的平方,那么可断定为等腰直角三角形。正方形可以将其拆分成四个等腰直角三角形,所以枚举由三个点构成的三角形是否时等腰直角三角形即可。即有一组邻边相等,并且有一个角是直角的平行四边形称为正方形。根据上面的特点,我们可以计算出任意两点之间的距离来判断是否是正方形。

2024-03-13 12:17:59 510

原创 Redis 持久化

混合持久化本质是通过 AOF 后台重写(bgrewriteaof 命令)完成的,不同的是当开启混合持久化时,fork 出的子进程先将当前全量数据以 RDB 方式写入新的 AOF 文件,然后再将 AOF 重写缓冲区(aof_rewrite_buf_blocks)的增量命令以 AOF 方式写入到文件,写入完成后通知主进程将新的含有 RDB 格式和 AOF 格式的 AOF 文件替换旧的 AOF 文件。因为AOF保存的数据更完整,通过上面的分析我们知道 AOF 基本上最多损失 1s 的数据。

2024-03-12 18:22:38 1038

原创 移掉 K 位数字(LeetCode 402)

给你一个以字符串表示的非负整数 num 和一个整数 k,移除这个数中的 k 位数字,使得剩下的整数最小。这里需要注意,剩下的数不能有前导零。其实,最小的数有一个特点,就是小的数字在高位(左边),大的数字在低位(右边),比如 123 小于 321。对于两个相同长度的数字序列,最左边不同的数字决定了这两个数字的大小,因为高位的数字位权比低位的大。所以最小的数的数字应该是单调不降的,删除的 k 位数字都尽可能的在高位(左边)寻找。基于此,我们可以知道,若要使得剩下的数字最小,需要保证靠前的数字尽可能小。

2024-03-08 17:34:57 1157

原创 printenv(1) command

printenv(print environment)打印全部或部分环境变量。打印指定环境变量的值。如果没有指定变量,则打印所有变量的名称和值对。

2024-03-05 18:35:51 313

原创 蒙提霍尔问题

蒙提霍尔问题(Monty Hall problem)是美国电视游戏节目《Let’s Make a Deal》中的一个问题,并以主持人Monty Hall命名。蒙提霍尔问题也叫山羊问题或三门问题。假设您正在参加一个游戏节目,并且您可以选择三扇门:一扇门后面是一辆汽车;另外两扇门后面是山羊。你选择一扇门,比如 1 号门。主人知道门后有什么,他会打开另外两扇门中是山羊的门,比如 3 号门。然后他对你说:“你想选2号门吗?” 改变选择对你有利吗?

2024-03-05 15:05:46 588

原创 关于个人成长与职业规划的思考

一个需求,一个模块,甚至整个系统,在推动落地的过程中,会出现一些边界不清晰的工作,如果时间允许,力所能及,要主动承担。日常运营维护的过程中,经常也会有一些线上的告警问题去跟进,即使不是自己的模块,也要以主人翁的心态,第一时间去暴露、推进、解决问题。在后台开发领域,可以选择专注于某一种技术栈或框架,深入研究其原理和实践应用,也可以尝试学习和掌握多种技术,提高自己的技术广度。当面对多种多样的需求时,我们既要从技术角度给出建议,也要多从用户的角度去思考,和产品同学一起,做出更受欢迎的产品。

2024-02-29 20:36:37 690

原创 死锁与死锁避免算法

死锁(Deadlock)是在多任务环境中的一种资源竞争问题,其中两个或多个进程(线程)互相等待对方持有的资源,导致所有进程都无法继续执行。死锁是一种非常棘手的问题,因为它会导致系统无法正常运行。举个例子。比如买东西,如果商家要先拿钱才给东西,顾客要先拿到东西才给钱,那么会发生死锁。另外,哲学家就餐问题是一个死锁的经典例子。银行家算法是由于 1965 年 THE 操作系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统安全运行。在银行中,银行拥有的资金是有限的。

2024-02-28 12:00:10 925

原创 Golang GC 介绍

GC 全称 Garbage Collection,目前主流的垃圾回收算法有两类,分别是追踪式垃圾回收算法(Tracing garbage collection)和引用计数法( Reference counting )。Golang 使用的三色标记法属于追踪式垃圾回收算法的一种。追踪式算法的核心思想是判断一个对象是否可达,因为一旦这个对象不可达就可以立刻被 GC 回收了。

2024-02-06 15:28:38 1589 3

原创 TCP TIME_WAIT 过多怎么处理

TCP 断开连接四次挥手过程中,主动断开连接的一方,在第四次挥手(回复 ACK 报文)后,会进入 TIME_WAIT 状态,等待 2*MSL 后才进入 CLOSE 状态。RFC793 定义 MSL 为 2 分钟,但实际应用中常用的是30秒,1分钟和2分钟等。Linux 内核通常硬编码为 30 秒。

2024-02-02 11:20:59 1400

原创 认识 SYN Flood 攻击

SYN Flood 是互联网上最原始、最经典的 DDoS(Distributed Denial of Service)攻击之一。SYN 报文指的是 TCP 协议中的 Synchronize 报文,是 TCP 三次握手过程中的首个报文。让我们先来了解一个正常的TCP三次握手过程。

2024-02-01 17:07:30 1080

原创 MySQL 聚集与非聚集索引

聚集索引(Clustered Index)也叫聚簇索引,一般以主键建立索引。在 InnoDB 中如果没有定义主键,会选择第一个非空唯一索引来代替。如果没有这样的索引,InnoDB 会自动生成一个不可见的列名为 ROW_ID,索引名为 GEN_CLUST_INDEX 的聚簇索引,该列是一个 6 字节的自增数值,随着插入而自增。聚集索引(Clustered Index)的索引和表数据放在一个文件,行数据存储存在索引树叶子结点上,通过索引可直接获得行数据。

2024-01-27 13:36:45 987

原创 MySQL 联合索引

联合索引指建立在多个列上的索引。MySQL 可以创建联合索引(即多列上的索引)。一个索引最多可以包含 16 列。联合索引可以测试包含索引中所有列的查询,或仅测试第一列、前两列、前三列等等的查询。如果在索引定义中以正确的顺序指定列,则复合索引可以加快对同一表的多种查询的速度。下面是一个联合索引的例子。name 索引是针对 last_name 和 first_name 列的索引。该索引可加速查询。这些查询为 last_name 和 first_name 值的组合。

2024-01-26 12:40:15 1583

tinyxml2+示例代码+介绍文档

资源包含2015.9.23从官网下载的tinyxml2的源码和自己编写的示例代码还有介绍文档,容易上手。官网的示例代码和文档晦涩难懂,才自己整理。

2015-09-26

TinyXML2.rar

C++轻量XML文件解析库!用于C++项目中进行XML文件的读取和创建!使用方法见本人blog!

2015-03-14

Voronoi Diagram维诺图

内包括C#实现的Voronoi Diagram源码,可执行程序和实验报告,请用VS2012或以上版本打开原工程文件。

2015-03-02

C版六中常见排序算法

C语言实现冒泡排序、快速排序、选择排序、堆排序、简单插入排序和希尔排序,并附上代码注释

2013-11-26

C语言版本Linux环境下MD5加密函数

C语言版本Linux环境下MD5加密函数,需要在Linux换进下运行。经测试验证,完全正确,内附带使用说明,谢谢

2013-11-05

C语言MD5算法实现

C语言实现MD5,经测试验证,散列过程完全正确,可供开发者使用!

2013-10-24

C#简单词法分析器

用C#编写的词法分析器,简单实用,适合上交编译原理实验作业,并附有实验报告,用VS2010即可打开原工程.绝对实用!

2013-05-06

C#编写代码生成器源码

C#编写的可连接数据库,进行模板代码生成器,为源码,用VS2010打开。

2013-04-04

JSP连接数据库简单留言板实验报告

贴有源码,JSP连接MySql数据库制作的简易的留言板,并附上实验报告

2013-03-27

HTML 如何设置图片宽高分别为原宽高的不同比例?

2020-08-22

Google C++编程风格指南中6.10节流中不支持字符串操作符重新排序 什么意思

2018-08-05

5.5.50-MariaDB的索引为什么在 where in子句中无法生效,MySQL可以?

2018-07-07

C++模板元编程和编写模板有什么区别?

2018-06-17

g++ -S将源码编译成汇编代码,使用的是哪个工具?

2018-06-11

从长度为n的数组中找出同时满足下面两个条件的所有元素,时间复杂度为O(n)。

2018-05-28

为什么C++局部数组变量地址间隔是16字节的倍数?

2018-05-17

缓冲溢出,为什么不报错?

2018-05-16

RLF、HRLF控制字符到底是什么

2018-05-10

printf关于浮点数的四舍五入的奇怪问题?

2018-05-09

stringstream的输入与输出的用法

2018-03-19

使用JS如何获取剪贴板内容

2018-03-06

Linux命名管道为什么叫FIFO?

2018-02-07

Linux下printf与wprintf不能同时使用?

2018-01-15

C标准库函数setvbuf的名称全称

2018-01-15

mysql count distinct 加条件

2017-06-15

awk如何获取除最后一行的所有行?

2017-05-19

rz命令如何上传文件夹

2017-05-07

CSS浮动为什么不会遮盖同级元素

2015-09-17

Linux下系统调用execl会等待一段时间才执行指定的可执行程序?

2015-09-11

为什么 Go range slice 时通过下标和值拷贝的性能是一样的?

2022-03-17

反向代理的上游服务指的是什么?

2021-03-12

Golang 接口类型可以有数据成员吗

2020-12-02

GoLand 如何自动批量换行

2020-10-07

Golang 如何进行标准错误输出

2019-12-24

git branch -dr origin/<branchname> 无法删除远端分支

2019-09-16

为什么 Golang 中序列化与反序列的函数一般命名为 marshal 与 Unmarshal 呢?

2019-06-26

golang main包可以被import吗

2019-06-11

golang小数默认是float32还是float64?

2019-05-28

golang const 可以修饰函数形参吗

2019-05-28

ldconfig命令全称是什么呢?

2019-04-02

golang的struc成员后跟字符串有什么作用?

2019-03-15

Linux中 链接器 ld 命令的全称是什么英文单词?

2019-03-12

ssh命令默认端口如何查看

2019-02-15

ssh客户端为什么不指定端口也可以登录成功

2019-02-15

C/C++的预处理文件的后缀为什么约定为.i

2019-01-24

go为什么不能获取字符串某个字符地址?

2019-01-13

date命令将时间戳转为可读时间为什么需要加@符号

2018-12-06

GNU C++定义对象时对象名称被括号包围且前面有个下划线是什么意思

2018-10-09

git merge可以操作远端分支吗?

2018-08-16

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

TA关注的人

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