- 博客(16)
- 收藏
- 关注
原创 由ST表求区间最大值引发的惨案
对于 100%100% 的数据,满足 1≤𝑁≤105,1≤𝑀≤2×106,𝑎𝑖∈[0,109],1≤𝑙𝑖≤𝑟𝑖≤𝑁1≤N≤105,1≤M≤2×106,ai∈[0,109],1≤li≤ri≤N。接下来 M 行,每行包含两个整数 𝑙𝑖,𝑟𝑖li,ri,表示查询的区间为 [𝑙𝑖,𝑟𝑖][li,ri]。对于 70%70% 的数据,满足 1≤𝑁,𝑀≤1051≤N,M≤105。对于 30%30% 的数据,满足 1≤𝑁,𝑀≤101≤N,M≤10。第一行包含两个整数 N,M,分别表示数列的长度和询问的个数。
2024-04-29 17:41:44
1018
原创 Hertz自学自讲之Hz(六)
从执行流上来说,当 hz 使用 thrift IDL 生成代码时,hz 会调用 thriftgo 来生成 go 结构体代码,并将自身作为 thriftgo 的一个插件(名为 thrift-gen-hertz)来执行并生成其他代码。hz 生成的代码里,一部分是底层的编译器生成的(通常是关于 IDL 里定义的结构体),另一部分是 IDL 中用户定义的路由、method 等信息。,由于 hz 会为自身的二进制文件创建软链接,因此请确保 hz 的安装路径具有可写权限。, 如果显示如下版本的信息,则说明安装成功。
2023-09-24 18:17:41
921
1
原创 Hertz自学自讲之响应(五)
设置 Body Stream 和可选的 Body 大小。注意:bodySize 小于 0 时数据全部写入,大于等于 0 时根据设置的 bodySize 大小写入数据。设置 Status Code 收集 Error 并终止后续的 Handler,返回 Error。设置 Status Code 和 Json 格式 Body 并终止后续的 Handler。设置 Status Code 和 Body 并终止后续的 Handler。设置 Status Code 并终止后续的 Handler。
2023-09-24 18:10:46
960
1
原创 Hertz自学自讲之请求(四)
注意:该函数支持从 application/x-www-form-urlencoded 和 multipart/form-data 这两种类型的 content-type 中获取 value 值,且不支持获取文件值。注意:此函数既可以获取普通值也可以获取文件,此处给出了获取文件值的示例代码,获取普通值的示例代码可参考。函数提供的默认获取 key 的值的方式不满足需求,用户可以使用该函数自定义获取 key 的值的方式。函数提供的默认方式不满足需求,用户可以使用该函数自定义获取客户端 ip 的方式。
2023-09-24 18:06:13
1422
1
原创 Hertz自学自讲(三)
注意:由于 netpoll 和 go net 触发模式不同,netpoll 流式为 “伪” 流式(由于 LT 触发,会由网络库将数据读取到网络库的 buffer 中),在大包的场景下(如:上传文件等)可能会有内存问题,推荐使用 go net。字段,所以在使用 DoTimeout 和 DoDeadline 函数时无需使用 WithRequestTimeout 函数,若同时使用了,请求超时时间以最后一次设置的为准。如果 dst 太小,则将被响应体替换并返回,否则将分配一个新的切片。
2023-09-24 17:55:31
739
1
原创 Hertz自学自讲之前置知识(二)
我们在正式学习Hertz框架之前,先来看看如果我们不用框架的话,要怎么响应信息到互联网。说到网络编程,我们最基础的就是获取网络上的信息,和返回网络信息对吧。分别就是发送请求和发送响应。这就是我们这篇博客所介绍的事情。首先要导入一个Go语言的网络库:这个http包提供了HTTP客户端和服务端的实现。
2023-09-24 16:18:29
367
1
原创 Hertz自学自讲(一)
既然是Golang的框架,就需要准备一个 Go语言 开发环境。所以我们可以看到 Hertz 框架 启动 HTTP 服务特别容易,接下来我们就来详细地学习一下 Hertz 框架。运行示例代码【这里是因为运行环境在hertz_demo目录里,根据自己的目录路径填写】文件【这里是因为运行环境在hertz_demo目录里,根据自己的目录路径填写】但是其实我们更推荐直接去下载一个好的编译器,比如 Goland 这个编译器。首先在 Goland 终端里输入这段命令行,获取最新版的Hertz框架。
2023-09-22 11:04:26
545
1
原创 Go语言框架三件套入门【自学自讲】
框架是一种提供了预定义功能和工具的软件结构,旨在帮助开发人员更轻松地构建应用程序,减少重复代码,提高开发效率,常见类型包括Web、前端、后端、移动应用和游戏开发框架。框架通常做的事情,就是让我们写代码更加快速,并且和别人遵循同一套规范,便于代码扩展功能或者维护等等。通常做的规范就是把硬编码变成配置文件,或者把许多的功能汇总在一起,兼容其它框架,让工程代码更加有序,让我们更加注重业务逻辑代码。
2023-09-21 00:43:42
1138
1
原创 JDBC学习笔记
为了使Java程序不会受具体的数据库限制,Java提供了专门用于操作数据库的API,即JDBC(Java Data Base Connectivity)。本质上来说,JDBC就是一系列用于操作数据库的规范。应用程序使用JDBC连接到数据库,向连接的数据库发送SQL语句,然后再处理SQL语句返回的结果。
2023-05-07 16:23:18
2011
1
原创 MySql基础学习笔记
数据库是指一个存储数据并支持数据操作的系统。它可以用于管理和存储大量数据,包括文本、数字、图像等各种数据类型。数据库通常由一些表组成,每个表包含了若干行数据。MySQL是一种开放源代码的关系型数据库管理系统,它是最流行的开源数据库之一,广泛应用于网站、企业级软件等领域。MySQL采用标准SQL作为其查询语言,同时也提供了许多扩展功能。MySQL可以在多种操作系统上运行,并且可以与多种编程语言结合使用,如PHP、Java等。
2023-04-26 19:06:23
228
原创 异常、容器和泛型的简单介绍
本文只是作者学习过程中的一些笔记总结。若记录有误,可以在评论区指出~本文旨在介绍一些异常、容器、泛型的基本应用,深入的原理并不涉及~
2023-03-31 20:45:54
613
原创 JAVA基础知识【一些前置知识】
同样你可以理解为这就是个printf输出语句,但是这个语句输出后会带有换行效果,如果输入的是System.out.print(),则没有换行效果,如果是System.out.printf(),则和printf的用法一致,但是我们通常不采用C风格的语句写。注意一点,就如图上所示,如果n是int类型,我们就写nextInt(),如果是double类型我们就写nextDouble(),即对应什么类型的变量,就写什么类型的名称再后面,读者可以对着上面的示例图自己试一试。第六句话就不一样了,这里是调用了方法。
2023-03-24 20:22:43
1683
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人