自定义博客皮肤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

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

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

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

2024-04-18 20:56:28 532

原创 go env 命令详解

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

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

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

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

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

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

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

2024-03-24 00:48:15 698

原创 男女比例面试问题

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

2024-03-21 11:28:30 274

原创 C qsort 与 C++ sort 函数

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

2024-03-19 22:23:06 728

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

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

2024-03-19 17:28:06 392

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

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

2024-03-15 19:41:09 288

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

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

2024-03-13 18:27:58 1026

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

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

2024-03-13 12:17:59 468

原创 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 1014

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

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

2024-03-08 17:34:57 1082

原创 printenv(1) command

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

2024-03-05 18:35:51 254

原创 蒙提霍尔问题

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

2024-03-05 15:05:46 547

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

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

2024-02-29 20:36:37 643

原创 死锁与死锁避免算法

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

2024-02-28 12:00:10 833

原创 Golang GC 介绍

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

2024-02-06 15:28:38 1535 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 1095

原创 认识 SYN Flood 攻击

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

2024-02-01 17:07:30 998

原创 MySQL 聚集与非聚集索引

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

2024-01-27 13:36:45 733

原创 MySQL 联合索引

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

2024-01-26 12:40:15 831

原创 MySQL ORDER BY 实现原理

如果当 sort buffer 空间无法容纳我们需要排序的数据时,这时会采用另外一种临时文件的方式进行排序,临时文件排序采用归并排序的算法,首先会把需要排序的数据拆分到多个临时文件里同步进行排序操作,然后把多个排好序的文件合并成一个结果集返回给客户端,不过在临时文件里排序相对于在 sort buffer 里排序来说,性能会慢很多,因为一个是在内存里操作,一个是在磁盘里操作。总的来说,MySQL 的 ORDER BY 实现原理是复杂的,它依赖于查询优化器的决策,可能涉及索引排序、内存排序和磁盘排序等策略。

2024-01-25 09:23:32 1206

原创 二叉树的直径(LeetCode 543)

具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内计算出当前二叉树的最大深度。如图我们可以知道路径 [9, 4, 2, 5, 7, 8] 可以被看作以 2 为根,从其左子树向下遍历的路径 [2, 4, 9] 和从其右子树向下遍历的路径 [2, 5, 7, 8] 拼接得到。知道了如何求解二叉树的高度之后,那么在递归搜索过程中记录当前结点作为根结点的最长路径。遍历每个结点作为根结点的最长路径上的结点数,其最长路径结点数等于其左子树与右子树高度和加 1。

2024-01-19 12:51:08 399

原创 合并K个升序链表(LeetCode 23)

这个方法和前两种方法的思路有所不同,我们需要维护当前每个链表没有被合并的元素的最前面一个,kkk 个链表就最多有 kkk 个满足这样条件的元素,每次在这些元素里面选取 val\textit{val}val 属性最小的元素合并到答案中。第二次合并后,结果链表的长度为 2n,第 i 次合并后,结果链表的长度为 in。考虑优先队列中的元素不超过 k 个,那么插入和删除的时间代价为 O(log⁡k),这里最多有 kn 个结点,对于每个结点都被插入删除各一次,故总的时间代价为 O(kn*log⁡k)。

2024-01-18 20:36:48 974

原创 排序链表(LeetCode 148)

寻找链表的中点可以使用快慢指针的做法,快指针每次移动 222 步,慢指针每次移动 111 步,当快指针到达链表末尾时,慢指针指向的链表节点即为链表的中点。给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表。递归栈空间复杂度为 O(logn),不考虑的话为 O(1)。将两个排序后的子链表合并,得到完整的排序后的链表。可参考归并排序中的归并排序思想,主要有三个步骤。」的做法,将两个有序的子链表进行合并。下面以 Golang 为例给出实现。递归对左半部分和右半部分排序。

2024-01-18 16:23:49 502

原创 ftp(1) command

FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。ftp 则是 FTP 服务的命令行客户端,用于与 FTP 服务器进行交互。

2024-01-12 08:51:58 834

原创 MobaXterm SSH 免密登录配置

MobaXterm 是一个功能强大的终端模拟器和远程访问工具,特别适用于 Windows 操作系统。它集成了多种网络工具和支持多种远程协议,提供了一个统一的界面,简化了对远程服务器和网络设备的管理和访问。MobaXterm 由总部位于法国图卢兹的软件公司 Mobatek 开发运营。终端模拟器: MobaXterm 提供了先进的终端模拟功能,支持多标签页,可以同时连接多个远程主机。远程访问: 支持 SSH、Telnet、RDP、VNC 等常见的远程协议,使用户可以方便地连接到远程服务器和计算机。

2024-01-05 11:18:20 2375

原创 搜索二维矩阵 II(LeetCode 240)

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。

2024-01-04 09:28:59 507

原创 旋转图像(LeetCode 48)

其次这是一个特殊的二维矩阵,列数和行数是相等的,通常称之为方阵。你必须在「原地」旋转图像,这意味着你需要直接修改输入的二维矩阵。上一步操作的是最外层的一层 环,我们只需要一层层往里执行相同的操作,最终即可完成整个矩阵的旋转。给定一个 n × n 的二维矩阵 matrix 表示一个图像。我们需要遍历矩阵的所有元素,除了中间的那个元素。假设矩阵是 n*n 的,那么我们对 n/2 个环执行旋转即可完成。所谓的旋转,实际上是将每一位移动到下一个位置。观察上图,我们可以由外到内,一层一层地旋转。

2024-01-03 11:30:57 448

原创 go mod 命令详解

从 Go 1.13 开始,模块将是包管理的默认模式。一个模块是 Go packages 的集合,定义在项目根目录下的 go.mod 文件。go.mod 文件还定义了模块的依赖项,这些是项目成功构建所需的其他模块。通过 go get 命令可以添加依赖:将依赖项添加到 go.mod 文件,并将依赖项的版本信息记录在 go.sum 文件中。(4)添加缺少的模块并删除未使用的模块,一般用来更新 go.mod 和 go.sum 文件。go mod 命令是与 Go 模块相关的命令行工具,提供对模块的访问和操作。

2023-12-29 20:18:17 720

原创 缺失的第一个正数(LeetCode 41)

以题目中的示例二 [3, 4, -1, 1] 为例,恢复后的数组应当为 [1, -1, 3, 4],我们就可以知道缺失的数为 2。我们可以对数组进行一次遍历,对于遍历到的数 x=nums[i],如果 x∈[1,n],我们需要将 x 放在数组中的 x−1 的位置,因此交换 nums[i] 和 nums[x−1],这样 x 就出现在了正确的位置。由于我们只在意 [1,n] 中的数,因此我们可以先对数组进行遍历,把不在 [1,n] 范围内的数修改成任意一个大于 n 的数(例如 n+1)。

2023-12-28 12:53:22 968

原创 除自身以外数组的乘积(LeetCode 238)

可以先计算给定数组所有元素的乘积,然后对数组中的每个元素 x,将乘积除以 x 求得除自身值以外的数组乘积。给你一个整数数组 nums,返回数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。这增加了这个问题的难度。我们不必将所有数字的乘积除以给定索引处的数字得到相应的答案,而是可以利用索引处左侧的所有数字乘积和右侧所有数字的乘积相乘得到答案。O(n^2),需要两层遍历,第一层为遍历数组中的每一个元素,第二层是遍历数组中除当前元素的其他所有元素。

2023-12-27 19:35:33 998

原创 合并区间(LeetCode 56)

请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。如果我们按照区间的左端点排序,那么在排完序的列表中,可以合并的区间一定是连续的。如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后,那么它们不会重合,我们可以直接将这个区间加入数组 merged 的末尾;首先,我们将列表中的区间按照左端点升序排序。否则,它们重合,我们需要用当前区间的右端点更新数组 merged 中最后一个区间的右端点,将其置为二者的较大值。我们用数组 merged 存储最终的答案。

2023-12-27 15:34:58 1050

原创 最小覆盖子串(LeetCode 76)

在滑动窗口类型的问题中都会有两个指针,一个用于「延伸」现有窗口的 r 指针,和一个用于「收缩」窗口的 l 指针。当窗口包含 t 全部所需的字符后,如果能收缩,我们就收缩窗口直到得到最小窗口。我们可以用一个哈希表表示 t 中所有的字符以及它们的个数,用一个哈希表动态维护窗口中所有的字符以及它们的个数,如果这个动态表中包含 t 的哈希表中的所有字符,并且对应的个数都不小于 t 的哈希表中各个字符的个数,那么当前的窗口是「可行」的。本问题要求我们返回字符串 s 中包含字符串 t 的全部字符的最小窗口。

2023-12-26 14:39:39 1090

原创 Golang 泛型实现原理

泛型(Generics)是 Go 语言在较早版本缺失的一个特性,直到 Go 1.18 版本中才引入了泛型。泛型提供了一种更灵活、更通用的方式来编写函数和数据结构,以处理不同类型的数据,而不必针对每种类型编写重复的代码。

2023-12-23 19:39:51 1867 3

原创 Golang make vs new

在 Go 语言中,make 和 new 是两个用于创建对象的内建函数,它们有不同的用途和适用范围。make是 Go 的内置函数,「只用于」创建(分配内存并初始化) slice、map 和 chan 类型的对象,并返回对象本身。// 创建一个初始长度为 5 容量也为 5 的切片// 创建一个初始长度为 0 容量也为 5 的切片// 创建一个映射// 创建一个映射,并给定一个容量提示// 创建无缓冲信道// 创建容量为 10 的有缓冲信道new。

2023-12-23 15:18:12 1123

原创 Golang 的内存管理

页堆是内存分配的核心结构体,Go 语言程序会将其作为全局变量存储,而堆上初始化的所有对象都由该结构体统一管理,该结构体中包含两组非常重要的字段,其中一个是全局的中心缓存列表 central,另一个是管理堆区内存区域的 arenas 以及相关字段。微分配器只会用于分配非指针类型的内存,上述三个字段中 tiny 会指向堆中的一片内存,tinyoffset 是下一个空闲内存所在的偏移量,最后的 tinyAllocs 会记录内存分配器中分配的对象个数。Go 的内存分配器会根据申请分配的内存大小选择不同的处理逻辑。

2023-12-21 20:14:16 1456 3

原创 二叉树的最大深度(LeetCode 104)

每次拓展下一层的时候,不同于广度优先搜索的每次只从队列里拿出一个节点,我们需要将队列里的所有节点都拿出来进行拓展,这样能保证每次拓展完的时候队列里存放的是当前层的所有节点,即我们是一层一层地进行拓展,最后我们用一个变量 height 来维护拓展的次数,该二叉树的最大深度即为 height。具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内计算出当前二叉树的最大深度。叉树的「最大深度」是指从根节点到最远叶子节点的最长路径上的节点数。

2023-12-18 12:00:18 1004

原创 滑动窗口最大值(LeetCode 239)

因为堆不支持删除指定的元素,删除元素只能将堆顶的元素弹出,所以在移动窗口时,左边离开窗口的元素不着急从堆中删除,而是当堆顶元素不在窗口中时,不断地移除堆顶的元素,直到堆顶的元素出现在滑动窗口中。与方法一不同的是,在方法二中我们使用的数据结构是双向的,因此「不断从队首弹出元素」保证了队列中最多不会有超过 k+1 个元素,因此队列使用的空间为 O(k)。为了方便判断堆顶元素与滑动窗口的位置关系,我们在堆中存储二元组 (num, index),堆的元素是下标 index,权重是下标对应的值 num。

2023-12-15 15:59:51 885

原创 和为K的子数组(LeetCode 560)

但是如果我们知道 [j,i] 子数组的和,就能 O(1) 推出 [j−1,i] 的和,因此这部分的遍历求和是不需要的,我们在枚举下标 j 的时候已经能 O(1) 求出 [j,i] 的子数组之和。O(n),其中 n 为数组的长度。我们遍历数组的时间复杂度为 O(n),中间利用哈希表查询删除的复杂度均为 O(1),因此总时间复杂度为 O(n)。所以,当我们考虑以 i 结尾和为 k 的连续子数组个数时,只需要统计有多少个前缀和为 pre[i] - k (即 pre[j - 1])的个数即可。

2023-12-12 15:37:39 969

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关注的人

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