基础结构以及执行方式 基础结构 // 包名 package main // 引入包 import "fmt" // main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数 // 注意 { 不能单独放在一行,否则在运行时会产生错误 func main() { /* 这是我的第一个简单的程序 */ fmt.Println("Hello, World!") } 编译运行 假设有一个hello.go文件 $ go
2024-11-26一、准备工作 二、了解依赖关系 自动安装的依赖: Werkzeug:它实现了 WSGI(Web Server Gateway Interface),为应用和服务之间提供了标准的 Python 接口。这使得 Flask 能够与不同的 Web 服务器进行交互。Jinja:强大的模板语言,用于渲染页面。通过 Jinja,开发者可以将动态数据嵌入到静态模板中,生成最终的网页内容。MarkupSafe:与 Jinja 共同使用,在渲染页面时能够避免不可信的输入,有效防止注入攻击,确保网页的安全性。It
2024-11-26Reactor模式和Proactor模式是两种常见的设计模式,用于处理事件驱动的并发编程。它们在处理IO操作时有着不同的工作方式和特点。 对于到来的IO事件(或是其他的信号/定时事件),又有两种事件处理模式: Reactor模式:要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生(可读、可写),若有,则立即通知工作线程,将socket可读可写事件放入请求队列,读写数据、接受新连接及处理客户请求均在工作线程中完成。(需要区别读和写事件)Proactor模式:主线程和内核负责处理读写数
2024-11-26距离上一次写csdn博客,已经过去两年多了。这段时间经历了不少事,只能说互联网行业变幻莫测,工作的这一年多时间见证了这家公司从巅峰跌落到谷底吧,短短两天时间经历了公司通知裁员、HR约谈、签署离职协议等事情,我再次 “毕业了” 。 后面又要重新拾起leetcode和八股文了,加油吧!
2024-11-26func main() { PageRange(34, 10, func(page, startIndex, endIndex int) { fmt.Println(page, startIndex, endIndex) }) } func PageRange(count int, pageSize int, f func(page, startIndex, endIndex int)) { // 整页 pageMax := count / pageSize // 最大页数 fo
2024-11-26SpringBoot其他框架 通过了解其他的SpringBoot框架,我们就可以在我们自己的Web服务器上实现更多更高级的功能。 邮件发送:Mail 我们在注册很多的网站时,都会遇到邮件或是手机号验证,也就是通过你的邮箱或是手机短信去接受网站发给你的注册验证信息,填写验证码之后,就可以完成注册了,同时,网站也会绑定你的手机号或是邮箱。 那么,像这样的功能,我们如何实现呢?SpringBoot已经给我们提供了封装好的邮件模块使用: <dependency> <groupId>org.spr
2024-11-26Java中的Map集合如何根据key值排序(HashMap<String,Object>)? Map集合的键(key)默认是按照它们的hashCode排序的,这在有时间不符合业务排序。如果你想要根据Map的key值进行排序,一般以下有几种方法可以实现。 方法一:使用TreeMap 使用TreeMap类,它会自动根据key的自然顺序或自定义比较器进行排序。 1、使用key(String)的自然排序: 代码示例: // 假设Map为HashMap Map<String, Integer> unsor
2024-11-26数据库类型与java中类型的对应关系: DATE->java.sql.Date TIME->java.sql.Time TIMESTAMP->java.sql.Timestamp 在写web项目的时候,在除DAO以外的地方是不允许出现java.sql包下的东西,但是往往我们会看到一些情况: 域对象(domain)中的所有属性不能出现java.sql包下的东西!即不能使用java.sql.DateResultSet#getDate返回的是java.sql.Date()PreparedStat
2024-11-26配置docker # 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 { "registry-mirrors" : [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com", "https://cr.console.aliyun.com/" ] } # 重启docker
2024-11-26在上一讲中,我为你介绍了 Reactor 响应式编程框架,该框架实现了响应式流规范。我们知道在响应式流规范中,存在代表发布者的 Publisher 接口,而 Reactor 提供了这一接口的两种实现,即 Flux 和 Mono,它们是我们利用 Reactor 框架进行响应式编程的基础组件。在引入 Flux 和 Mono 的概念之后,这一讲的内容将围绕如何创建这两个组件展开。 通过 Flux 对象创建响应式流 创建 Flux 的方式非常多,大体可以分成两大类,一类是基于各种工厂模式的静态创建方法,
2024-11-26