2025年12月1日

rust基础第四篇:#[derive()]使用

摘要: #[derive()]是rust的一个属性(attribute),用于自动为结构体(struct)或枚举(enum)实现特定的trait,即接口,括号里面放接口名,如Debug、Copy、Clone、PartialEq、Eq、PartialOrd、Ord,可以放多个,中间用逗号隔开。 使用#[der 阅读全文

posted @ 2025-12-01 23:25 koushr 阅读(8) 评论(0) 推荐(0)

2025年11月28日

rust基础第三篇:所有权

摘要: 值被唯一的scope拥有,它们共存亡。 值可以从一个scope移动到另一个scope,新的scope会拥有这个值。 一个值可以有多个只读引用和单个可变引用,它们之间是互斥关系。 引用不能超越值的存活期。 实例1: fn main() { let mut s1 = String::from("hell 阅读全文

posted @ 2025-11-28 00:00 koushr 阅读(1) 评论(0) 推荐(0)

2025年11月20日

rust基础第二篇:语法学习

摘要: https://learnxinyminutes.com/zh-cn/rust/ rust用关键字fn定义函数,形参后面紧跟一个冒号,之后才是变量类型,返回值类型前有一个->,函数实现中最后可以省略return关键字。 rust用let声明变量,变量类型可以省略,编辑器会自动推导。rust中变量默认 阅读全文

posted @ 2025-11-20 22:59 koushr 阅读(6) 评论(0) 推荐(0)

2025年11月18日

rust基础第一篇:环境搭建

摘要: 1、windows环境,执行完rustup-init.exe后,cargo build报错 error: linking with `link.exe` failed: exit code: 1 解决办法:通过Visual Studio Installer安装Windows 10 SDK或Windo 阅读全文

posted @ 2025-11-18 23:49 koushr 阅读(7) 评论(0) 推荐(0)

2025年11月14日

clickhouse第四篇:日期和时间

摘要: https://clickhouse.com/docs/zh/sql-reference/functions/date-time-functions 1、toYYYYMMDD() 将日期或带时间的日期转换为一个包含年份、月份和日期的UInt32数字,如20251114。入参类型是Date、Date3 阅读全文

posted @ 2025-11-14 10:29 koushr 阅读(13) 评论(0) 推荐(0)

2025年10月16日

postgresql第一篇:postgresql收到一条sql语句后做了什么

摘要: 询问chatgpt【在postgresql官方文档中,能不能看到关于postgresql如何执行一条sql语句的描述】,得到答案: The query is parsed by the parser, rewritten by the rule system, planned/optimized b 阅读全文

posted @ 2025-10-16 23:10 koushr 阅读(9) 评论(0) 推荐(0)

2025年9月5日

pulsar基础第三篇:TODO

摘要: rr 阅读全文

posted @ 2025-09-05 10:43 koushr 阅读(38) 评论(0) 推荐(0)

2025年6月19日

flutter第十六篇:布局原理

摘要: https://docs.flutter.dev/ui/layout/constraints Constraints go down. Sizes go up. Parent sets position. 每个组件的布局都要经历四步: 第一步,组件从父组件处获知自己的约束,约束就是尺寸范围 第二步, 阅读全文

posted @ 2025-06-19 00:11 koushr 阅读(25) 评论(0) 推荐(0)

2025年6月13日

redis高阶第二篇:redis可使用场景

摘要: 1、存储二元记录 "二元"中的"元"是变量的意思,一般是用户和时间这两个变量,存储某用户在某天是否干了特定的事,如打卡记录,张三在今天是否打了卡,张三在昨天是否打了卡,李四在今天是否打了卡,李四在昨天是否打了卡。。。 采用setbit、getbit命令。操作的是string类型的key,把value 阅读全文

posted @ 2025-06-13 01:00 koushr 阅读(27) 评论(0) 推荐(0)

2025年5月15日

pulsar基础第二篇:命令行

摘要: pulsar-admin --admin-url http://xxx:8080 1、tenant管理(租户管理) 查看列表:pulsar-admin tenants list 创建:pulsar-admin tenants create xndm 2、namespace管理 查看某租户的names 阅读全文

posted @ 2025-05-15 23:20 koushr 阅读(81) 评论(0) 推荐(0)

2025年4月28日

pulsar基础第一篇:pulsar安装及基本概念

摘要: 介绍 Apache Pulsar是一款开源的云原生消息流系统,它提供了统一的消费模型,支持消息队列和流两种场景,既能为队列业务提供企业级的读写服务和强一致性保障,又能为流业务提供高吞吐、低延迟。同时,得益于存储、计算分离的云原生架构设计,以及支持大集群、多租户、百万级Topic、跨地域数据复制等关键 阅读全文

posted @ 2025-04-28 11:01 koushr 阅读(94) 评论(0) 推荐(0)

2025年4月14日

flutter第十五篇:【滚动】总结

摘要: Scrollable继承了StatefulWidget。 Viewport继承了MultiChildRenderObjectWidget,MultiChildRenderObjectWidget继承了RenderObjectWidget,RenderObjectWidget继承了Widget。 Sl 阅读全文

posted @ 2025-04-14 18:04 koushr 阅读(67) 评论(0) 推荐(0)

2025年3月31日

clickhouse第三篇:安装

摘要: SELECT database, table, formatReadableSize(sum(bytes_on_disk)) as disk_space FROM system.parts GROUP BY database, table ORDER BY disk_space DESC; 可以看到 阅读全文

posted @ 2025-03-31 10:09 koushr 阅读(160) 评论(0) 推荐(0)

flutter第十四篇:第一个app玩家乐园

摘要: 业务功能完全拷贝玩剧乐园。 问题1、首页中,如何用ListView嵌套PageView? 问题2、 ①Wrap里面两个元素,想要一个居左,一个居右,如何实现? 用一个指定宽度的容器包裹,利用Wrap的alignment属性,设置为WrapAlignment.spaceBetween即可。 ②Colu 阅读全文

posted @ 2025-03-31 09:41 koushr 阅读(20) 评论(0) 推荐(0)

2025年3月19日

clickhouse第二篇:MergeTree引擎

摘要: https://clickhouse.com/docs/engines/table-engines/mergetree-family/mergetree 新建MergeTree引擎表示例: use default;drop table if exists app_project_click;crea 阅读全文

posted @ 2025-03-19 23:31 koushr 阅读(89) 评论(0) 推荐(0)

clickhouse第一篇:引擎

摘要: https://clickhouse.com/docs/engines/table-engines clickhouse表的引擎决定了: 数据如何存储,写入到哪里,以及从哪里读取; 支持哪些查询,以及如何支持; 并发数据访问; 索引的使用,如果有的话; 是否可以多线程请求执行; 数据复制参数。 cl 阅读全文

posted @ 2025-03-19 22:04 koushr 阅读(49) 评论(0) 推荐(0)

2025年2月26日

go基础第六篇:网络编程

摘要: RT 阅读全文

posted @ 2025-02-26 19:32 koushr 阅读(7) 评论(0) 推荐(0)

2025年1月17日

2025年1月17日

摘要: 今天是放年假前一周的周五,还有一周就要放假了,可是明天还要加班。快过年了,公司始终没有年会的消息。晚上问了领导有没有年夜饭吃,领导说就在下周了。期待抽奖。 MLGB,没有抽奖,也没有红包。年夜饭还小气的要死,在犄角旮旯的地方找了一个不知名的私房菜馆,菜品穷酸的要死,而且只有领导桌有酒喝,员工桌连啤酒 阅读全文

posted @ 2025-01-17 22:24 koushr 阅读(18) 评论(0) 推荐(0)

2024年11月26日

flutter第十三篇:在苹果手机上安装app报错

摘要: 要用xcode打开项目的ios目录,设置Automatically manage signing,Team,Bundle Identifier,如下图: 设置Display Name,Version,如下图: 设置Bundle display name(App安装在手机上后,用户看到的App的名称) 阅读全文

posted @ 2024-11-26 23:44 koushr 阅读(71) 评论(0) 推荐(0)

2024年11月18日

flutter第十二篇:实现上拉分页

摘要: 要实现上拉加载下一页,需要用到ListView的controller属性,赋值为一个ScrollController实例。在initState()方法中,调用scrollController的addListener()方法,从而对滚动条进行监听。 定义变量: var scrollController 阅读全文

posted @ 2024-11-18 10:27 koushr 阅读(99) 评论(0) 推荐(0)

2024年11月6日

flutter第十一篇:学习大地老师《Flutter仿小米商城实战》笔记3

摘要: 如果想实现websocket,可以使用web_socket_channel插件。https://pub.dev/packages/web_socket_channel flutter屏幕适配方案:flutter_screenutil 抽离出一个工具类:screenAdapter.dart impor 阅读全文

posted @ 2024-11-06 10:03 koushr 阅读(221) 评论(0) 推荐(0)

2024年11月4日

flutter第十篇:列表页与详情页、接入高德地图、使用一些常见组件

摘要: 列表页与详情页: 列表页: 1、在xxxState类中定义一个空的List,如_list 2、定义一个获取数据的方法,如getData(),在其中调用列表接口获取数据,获取数据后,把列表数据加到_list中,并用setState包裹,以重新渲染页面,把数据展示出来。 3、在initState()方法 阅读全文

posted @ 2024-11-04 10:47 koushr 阅读(647) 评论(0) 推荐(0)

2024年11月1日

flutter第九篇:实现一个打字游戏

摘要: 需求是:在屏幕上半部分,有很多框慢慢从上往下降,框里面是10以内的加法题,如6+3=?。在屏幕下半部分,有1到9这9个数所组成的3行3列的虚拟键盘。交互是如果点击8,那么和为8的加法题框消失。 先做布局,在屏幕底部搞一个3*3的虚拟键盘。 3*3的表格用GridView做,单元格里放TextButt 阅读全文

posted @ 2024-11-01 10:17 koushr 阅读(35) 评论(0) 推荐(0)

2024年10月25日

flutter第八篇:表单

摘要: 文本框 TextField表示文本框,默认只有底部边框,如果想变成四边形的框,需要利用其decoration属性,指定其值为InputDecoration实例,指定InputDecoration的border属性值为OutlineInputBorder()。如果想去掉所有边框,则需要把border指 阅读全文

posted @ 2024-10-25 14:44 koushr 阅读(157) 评论(0) 推荐(0)

2024年10月21日

flutter第七篇:Get的基础使用

摘要: https://pub.dev/packages/get 中文文档:https://github.com/jonataslaw/getx/blob/master/README.zh-cn.md 三大功能: 1、路由管理: https://github.com/jonataslaw/getx/blob 阅读全文

posted @ 2024-10-21 14:40 koushr 阅读(832) 评论(0) 推荐(0)

2024年9月15日

redis高阶第一篇:令牌桶算法限流

摘要: 令牌桶算法核心思想是: 1、以恒定速率向桶中添加令牌 2、桶中令牌数有上限,为桶的容量,超过容量后令牌会直接丢弃 3、请求到来时会尝试从桶中取一个令牌,取成功则通过,服务端会处理此请求,否则拒绝。 token_bucket.lua,内容如下: redis.replicate_commands() l 阅读全文

posted @ 2024-09-15 00:43 koushr 阅读(93) 评论(0) 推荐(0)

2024年9月14日

flutter第六篇:常见问题

摘要: 1、新建一个项目后,在连接andorid模拟器的时候,报jdk和gradle的版本不兼容 解决办法: 第一步:修改android->app->build.gradle文件,把JavaVersion.VERSION_1_8都改为JavaVersion.VERSION_21。有三处。 第二步:修改and 阅读全文

posted @ 2024-09-14 11:40 koushr 阅读(738) 评论(1) 推荐(1)

2024年9月11日

flutter第五篇:动画

摘要: flutter中的动画主要分为隐式动画、显式动画、自定义隐式动画、自定义显式动画、Hero动画5种。 隐式动画:Animatedxxx AnimatedContainer,当其decoration、width、height、alignment属性改变时,触发动画。动画执行时间由AnimatedCon 阅读全文

posted @ 2024-09-11 10:39 koushr 阅读(170) 评论(0) 推荐(0)

2024年9月2日

flutter第四篇:布局下 Scaffold

摘要: 在build()方法中,如果不返回Scaffold,那么整个屏幕的背景色都会是黑色的。Scaffold有很多属性,如appBar、drawer、endDrawer、body、bottomSheet、persistentFooterButtons、bottomNavigationBar、floatin 阅读全文

posted @ 2024-09-02 17:00 koushr 阅读(150) 评论(0) 推荐(0)

2024年8月28日

flutter第三篇:布局中

摘要: 13、AspectRatio、Card、CircleAvatar、Chip 如果想调整一个组件的宽高比,那么可以用AspectRatio包裹它,用其aspectRatio属性指定宽高比。 Chip是标签,看起来跟TextButton差不多,但是自带边框、边框自带圆角,边框内有文字,文字前后可放图标, 阅读全文

posted @ 2024-08-28 17:39 koushr 阅读(364) 评论(0) 推荐(0)

2024年8月27日

flutter第二篇:布局上

摘要: 5、Container、Text 利用Container的alignment属性,可以设置其子组件在Container中的位置,如居中。Container设置alignment后,其将会充满父组件,而不再是根据子组件自适应。 如果想让child决定Container的尺寸,那么就不要设置Contai 阅读全文

posted @ 2024-08-27 19:18 koushr 阅读(353) 评论(0) 推荐(1)

http2.0

摘要: 在nginx中的配置: upstream xxx_service { server host.docker.internal:10003; } server { listen 443 ssl; http2 on; ssl_certificate /path/xxx.com.pem; ssl_cert 阅读全文

posted @ 2024-08-27 17:25 koushr 阅读(28) 评论(0) 推荐(0)

2024年8月21日

redis基础第五篇:golang客户端API常见用法

摘要: 采用go-redis操作redis时, redis.Get,当key不存在时,会报redis.Nil,可用errors.Is(err, redis.Nil)判断。 redis.GetBit,当key不存在时,不会报错。 redis.HGet,当key或field不存在时,会报redis.Nil。 r 阅读全文

posted @ 2024-08-21 19:32 koushr 阅读(47) 评论(0) 推荐(0)

dart第二篇:函数定义

摘要: 定义函数时, 1、可以有可选参数,放在中括号中的参数是可选参数,如 void printUserInfo(String username, [int? age]) { if (age == null) { print("username:$username"); } else { print("us 阅读全文

posted @ 2024-08-21 14:56 koushr 阅读(25) 评论(0) 推荐(0)

2024年8月14日

dart第一篇:dart基础

摘要: dart的变量是空安全的,即默认不能为空,如String a = null,编辑器会报错。如果想让某一个变量可以为空,则在定义的时候要在类型后面加?,即String? a = null,这样编辑器才不会报错。 dart可以通过三对单引号或者双引号来定义多行字符串,就好像Java17中的多行字符串一样 阅读全文

posted @ 2024-08-14 17:00 koushr 阅读(70) 评论(0) 推荐(0)

2024年8月8日

flutter第一篇:开发环境配置

摘要: 需要安装的软件有Git、Flutter、Android Studio、Xcode(iOS开发必需)。 ①Git安装不赘述。 ②Flutter: 先配置环境变量: PUB_HOSTED_URL设置为https://pub.flutter-io.cn,或者https://mirrors.tuna.tsi 阅读全文

posted @ 2024-08-08 09:18 koushr 阅读(486) 评论(0) 推荐(0)

2024年7月27日

gin入参多次获取

摘要: 在middleware层不要用ShouldBind函数绑定body中的参数,因为ShouldBind执行完后,request中body就空了,业务层就拿不到body了。用下面的代码即可,先拿后放。 userIdReq := new(UserIdReq) var err error if c.Requ 阅读全文

posted @ 2024-07-27 18:10 koushr 阅读(34) 评论(0) 推荐(0)

2024年7月22日

docker第三篇:docker安装常用中间件

摘要: 1、mysql docker run --name mysql -h mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=sBL2y7Uuxqyi -e MYSQL_DATABASE=test -p 3306:3306 --restart=always 阅读全文

posted @ 2024-07-22 19:31 koushr 阅读(214) 评论(0) 推荐(0)

2024年7月18日

https

摘要: https是Hypertext Transfer Protocol Secure,超文本传输协议安全,是http over tls。 阅读全文

posted @ 2024-07-18 23:40 koushr 阅读(16) 评论(0) 推荐(0)

2024年6月25日

go基础第五篇:slice扩容

摘要: 1、 func main() { var s = make([]int, 5, 8) for i := 0; i < len(s); i++ { s[i] = i + 1 } fmt.Println(s, len(s), cap(s)) var s2 = s var s3 = s[:] var s4 阅读全文

posted @ 2024-06-25 09:57 koushr 阅读(18) 评论(0) 推荐(0)

导航