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 阅读(6) 评论(0) 推荐(0) 编辑

2024年11月18日

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

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

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

2024年11月14日

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

摘要: 占位 阅读全文

posted @ 2024-11-14 18:42 koushr 阅读(2) 评论(0) 推荐(0) 编辑

2024年11月6日

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

摘要: 如果想实现websocket,可以使用web_socket_channel插件。https://pub.dev/packages/web_socket_channel 阅读全文

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

2024年11月4日

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

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

posted @ 2024-11-04 10:47 koushr 阅读(13) 评论(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 阅读(4) 评论(0) 推荐(0) 编辑

2024年10月25日

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

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

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

2024年10月21日

flutter第六篇:Get的基础使用

摘要: https://pub.dev/packages/get 中文文档:https://github.com/jonataslaw/getx/blob/master/README.zh-cn.md 三大功能: 1、路由管理: 跳转命名路由:Get.toNamed("/xxx")。如果要带参,则可在括号中 阅读全文

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

2024年9月15日

skywalking第一篇:skywalking使用

摘要: skywalking分成两部分,skywalking服务端和skywalking客户端,我们所说的skywalking的各种agent属于是客户端,服务端是skywalking-oap-server。 服务端的作用,接收并存储agent上报的数据,可通过ui节目查询链路情况。 服务端部署: dock 阅读全文

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

2024年9月14日

flutter第五篇:常见问题

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

posted @ 2024-09-14 11:40 koushr 阅读(52) 评论(0) 推荐(0) 编辑

2024年9月11日

flutter第四篇:学习大地老师《Flutter入门实战系列视频教程》笔记下

摘要: flutter中的动画主要分为隐式动画、显式动画、自定义隐式动画、自定义显式动画、Hero动画5种。 隐式动画:Animatedxxx AnimatedContainer,当容器属性改变时,触发动画。 AnimatedPadding,当padding值改变时,触发动画。 AnimatedPositi 阅读全文

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

2024年9月2日

rust第一篇:

摘要: RT 阅读全文

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

2024年8月28日

flutter第三篇:学习大地老师《Flutter入门实战系列视频教程》笔记上

摘要: 05、Container、Text Container如果没有child,则其宽高等于父容器的宽高。如果有child,则其宽高等于其child的宽高。如果child是个Row,那么其宽等于屏幕的宽。 Container的padding是内边距,是其child组件与container的边距,margi 阅读全文

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

2024年8月27日

flutter第二篇:Android Studio找不到DevTools

摘要: 打开Settings->Languages & Frameworks->Flutter,在右侧面板下部的Experiments区域找到Use JCEF brower to show embedded DevTools,勾选,点击OK保存。Run或Debug项目,即可在Android Studio下部 阅读全文

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

AOT和JIT

摘要: AOT和JIT都是描述编译器的。 AOT是Ahead of Time的缩写,指运行前编译。JIT是Just in Time的缩写,动态编译,边运行边编译。 阅读全文

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

2024年8月21日

dart第二篇:事件循环

摘要: 如果你正在使用 Flutter,你可以使用 Flutter 的compute 函数 来代替 Isolate.run()。 阅读全文

posted @ 2024-08-21 19:31 koushr 阅读(2) 评论(0) 推荐(0) 编辑

dart第二篇:构造函数

摘要: RT 阅读全文

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

2024年8月14日

dart基础第一篇:Future和Stream

摘要: 和nodejs一样,dart没有线程和进程的概念,而是采用单线程+事件循环的设计模式。和nodejs一样,dart中的异步采用async和await。 async用于定义异步方法,async关键字放在花括号前面。 Future<int> getNum() async { int a = 0; for 阅读全文

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

2024年8月8日

flutter第一篇:开发环境配置

摘要: windows电脑上需要安装的软件有Git、Flutter、Visual Studio、Android Studio。 Git安装不赘述。 Flutter: 先配置环境变量,PUB_HOSTED_URL设置为https://pub.flutter-io.cn,FLUTTER_STORAGE_BASE 阅读全文

posted @ 2024-08-08 09:18 koushr 阅读(136) 评论(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 阅读(8) 评论(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 阅读(62) 评论(0) 推荐(0) 编辑

2024年7月18日

https

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

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

2024年7月16日

http

摘要: 三次握手 阅读全文

posted @ 2024-07-16 19:36 koushr 阅读(13) 评论(0) 推荐(0) 编辑

2024年6月25日

go基础第五篇:slice扩容

摘要: x := []int{1, 2, 3, 4}y := x[:2]fmt.Println(cap(x), cap(y))y = append(y, 30) fmt.Println("x:", x)fmt.Println("y:", y) x := []int{1, 2, 3, 4}y := x[2:] 阅读全文

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

2023年2月17日

分布式事务管理器dtm第四篇:TCC模式

摘要: TCC:T是Try,第一个C是Confirm,第二C是Cancel。 AP向dtm注册全局事务后, 阅读全文

posted @ 2023-02-17 00:00 koushr 阅读(134) 评论(0) 推荐(0) 编辑

2023年2月2日

分布式事务管理器dtm第三篇:二阶段消息模式

摘要: 二阶段消息的英文是2-phase message。 AP先向dtm发送prepare消息,如果成功,则继续执行本地事务,如果成功,则继续向dtm发送submit消息。如果成功,则dtm调用各RM的接口,如果成功,则全局事务成功。 时序图如下: dtm服务端处理prepare时,会在dtm_barri 阅读全文

posted @ 2023-02-02 21:00 koushr 阅读(273) 评论(0) 推荐(0) 编辑

分布式事务管理器dtm第二篇:saga模式

摘要: 参考官方中文文档:https://dtm.pub/practice/saga.html saga核心思想是把一个长事务拆分多个短事务,由dtm协调,如果每个短事务都成功提交,那么全局事务就正常完成,如果某个步骤失败,则根据相反顺序调用补偿操作。 以转账为例,saga的时序图如下: AP把事务的编排信 阅读全文

posted @ 2023-02-02 20:10 koushr 阅读(211) 评论(0) 推荐(0) 编辑

2023年1月31日

分布式事务管理器dtm第一篇:介绍

摘要: https://dtm.pub/guide/start.html dtm全称是distributed transaction manager。dtm是cs架构。 dtm服务端部署: docker run --name dtm -p 36789:36789 -p 36790:36790 -e STOR 阅读全文

posted @ 2023-01-31 11:46 koushr 阅读(463) 评论(0) 推荐(0) 编辑

2022年9月8日

redis实现限流

摘要: 在面试中金时问到了,卡壳了。 限流算法有 固定窗口、滑动窗口、漏桶算法、令牌桶算法 漏桶算法: 把请求到来想象成往桶里加水,把处理请求想象成桶往外滴水,滴水的速率是固定的。如果桶满了,那么再进来的请求就会拒绝。 令牌桶算法: 以固定频率往桶里放置令牌,当桶满的时候,多出来的令牌被丢弃。每来一个请求, 阅读全文

posted @ 2022-09-08 20:05 koushr 阅读(219) 评论(0) 推荐(0) 编辑

2021年10月13日

二分法习题

摘要: 力扣4、寻找两个正序数组的中位数 思路:在两个数组中各画一条分隔线,使得两数组在分隔线左边的元素个数之和等于分隔线右边的元素个数之和,或者比右边元素个数之和大1,分别对应两数组元素之和为偶数和奇数的情况。这样的分隔线有很多,假设第一个数组有3个元素,第二个数组有5个元素,那么分隔线左右两边的元素个数 阅读全文

posted @ 2021-10-13 14:37 koushr 阅读(29) 评论(0) 推荐(0) 编辑

2021年7月6日

go基础第四篇:常见开发错误

摘要: 1、入参数组修改不了 一个无返回值的函数,入参是一个基本数据类型的数组,在函数中修改数组的值,是不会生效的。想要生效,需要把入参由数组改为数组指针或者slice。 如果数组的元素不是基本数据类型,而是自定义的struct类型,那么入参由普通数组改成指针数组也行。 2、入参数组append不了 一个无 阅读全文

posted @ 2021-07-06 10:21 koushr 阅读(50) 评论(0) 推荐(0) 编辑

2021年6月28日

时序数据库

摘要: 时序数据库是专门用于存储和管理时间序列数据的数据库。时序数据库和传统关系库一样,是行式数据库,而不是列式数据库。时序数据库,开源代表是InfluxDB。 InfluxDB 阅读全文

posted @ 2021-06-28 23:29 koushr 阅读(51) 评论(0) 推荐(0) 编辑

2021年5月31日

列数据库

摘要: 行数据库用于OLTP,联机事务处理。而列数据库用于OLAP,联机分析处理。 开源的列数据库有ClickHouse和Druid。 ClickHouse是俄罗斯一家公司开源的。 Druid是Apache基金会维护的。 阅读全文

posted @ 2021-05-31 22:38 koushr 阅读(104) 评论(0) 推荐(0) 编辑

2021年3月11日

go基础第三篇:context

摘要: 1、带取消的context context.WithCancel(parent Context) (ctx Context, cancel CancelFunc) 传入一个父context,返回一个可以手动取消的子context及其取消函数。 我们可以手动调用cancel()函数来取消子contex 阅读全文

posted @ 2021-03-11 11:01 koushr 阅读(84) 评论(0) 推荐(0) 编辑

2021年2月21日

mysql binlog、redo log、undo log

摘要: binlog:二进制日志,是系统级别日志,任何存储引擎的表都有。binlog在/var/lib/mysql目录。 https://dev.mysql.com/doc/refman/8.0/en/binary-log.html binlog用于记录数据库执行的写入性操作,以二进制形式保存在磁盘中,任何 阅读全文

posted @ 2021-02-21 12:40 koushr 阅读(711) 评论(0) 推荐(0) 编辑

2020年11月16日

IO多路复用

摘要: IO多路复用是一种同步IO模型,旨在实现一个线程可以监视多个文件句柄。一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作。没有文件句柄就绪就会阻塞应用程序,交出CPU。多路是指网络连接,复用指的是同一个线程。 多路复用有三种实现方式: 1、select实现 select仅仅知道有IO发生了, 阅读全文

posted @ 2020-11-16 20:05 koushr 阅读(548) 评论(0) 推荐(0) 编辑

2020年10月20日

curl、wget使用

摘要: curl curl -X GET http://127.0.0.1:9000/helloWorld curl -H "Content-Type:application/json" -X POST --data '{"name":"zhangsan"}' http://127.0.0.1:9000/h 阅读全文

posted @ 2020-10-20 12:31 koushr 阅读(306) 评论(0) 推荐(0) 编辑

2020年9月29日

查看linux机器cpu、内存、内核等系统信息

摘要: linux服务器的cpu信息在/proc/cpuinfo文件中,内存信息在/proc/meminfo文件中。 通过文件可以获得物理cpu的个数、cpu的核数、逻辑cpu的个数 查看物理cpu个数: cat /proc/cpuinfo | grep "physical id" | sort | uni 阅读全文

posted @ 2020-09-29 20:09 koushr 阅读(571) 评论(0) 推荐(0) 编辑

2020年9月7日

redis为什么那么快

摘要: 1、纯内存操作。 2、高效的数据结构。 3、使用I/O多路复用模型epoll。 见https://www.cnblogs.com/koushr/p/13986873.html 阅读全文

posted @ 2020-09-07 00:44 koushr 阅读(103) 评论(0) 推荐(0) 编辑

2020年9月4日

websocket协议及应用

摘要: websocket协议是一个应用层协议,地位和http协议是一样的。 websocket最主要的作用是实现 <!DOCTYPE html> <html lang="en"> <script> // 向后端发送一个websocket连接请求 let ws = new WebSocket('ws://1 阅读全文

posted @ 2020-09-04 09:57 koushr 阅读(185) 评论(0) 推荐(0) 编辑

导航