- 博客(50)
- 收藏
- 关注
原创 typeScript debug 调试
3.在代码中添加断点(上边的源码中加过了),并运行调试器。2.编译ts文件,运行js文件。以leetcode 20为例。4.(谷歌)浏览器中输入。5.在开启一个窗口输入。
2024-06-19 16:39:30 293
原创 WebSocket 快速入门 与 应用
WebSocket 是一种在 Web 应用程序中实现实时、双向通信的技术。它允许客户端和服务器之间建立持久性的连接,以便可以在两者之间双向传输数据。
2024-06-12 21:19:53 2334
原创 TypeScript 快速入门 + 应用
TypeScript(简称 TS)是一种由微软开发的开源编程语言,它是 JavaScript(JS)的一个超集,添加了可选的静态类型和基于类的面向对象编程。TypeScript 的主要目的是帮助开发大规模应用程序,它通过引入强类型系统和编译时错误检查,使得代码更加健壮和易于维护。
2024-06-10 19:48:46 1028
原创 TCP 与 UDP
由于TCP 在传输 的时候 ,多了连接、确认、重传等机制。使用到了流量控制协议,即 tcp通过滑动窗口来实现。如果收到首部和数据的校验和 有差错,则丢弃此报文。防止接受过多的数据,导致接收方无法处理。,在设定的超时时间过后,再次发送。防止发送过多的数据,导致网络拥塞。可以检测到数据在传输过程中的变化。一般用于传输准确性要求高场景。相比TCP传输速率低许多。如果一定时间内未收到应答。通过检测网络的拥塞状态。
2024-05-21 16:10:55 657
原创 linux 开发常用命令
适用于systemd的系统,会显示redis的服务状态(包括是否 运行、已停止 或 其他状态)执行命令会列出,“mysql”、“redis”名称的进程。这里以mysql 和 redis 为例。不适用在较旧的systemd系统中。
2024-05-14 10:01:37 361 3
原创 Mysql 数据库 开发规范
正例:人的年龄用unsigned tinyint(表示范围0-255,人的寿命不会超过255岁);若存储的数据范围超过 decimal 的 范围, 建议将将数据拆成整数和小数分开存储。链接:https://pan.baidu.com/s/11FmO-NoYs7jyfSw8lxcn1w。说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。5. 合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检。如果是所有恒星的年龄都加起来,那么就必须使用bigint。
2024-05-08 17:04:14 593
原创 Nest 快速上手 —— (一)nest介绍与启动安装
Nest (NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,构建并完全支持TypeScript(但仍然允许开发人员使用纯JavaScript编写代码),并结合了OOP(面向对象编程)FP(函数式编程)和FRP(函数式响应式编程)的元素。在底层,Nest使用了健壮的HTTP服务器框架,比如Express(默认的),也可以选择配置为使用fasttify!
2024-04-23 10:44:37 616
原创 Mysql 、Redis 数据双写一致性 更新策略与应用
应用在需要更新数据时,先删除缓存再更新mysql数据库的策略下,所发生A线程需要更新数据,第一次删除缓存,更新完数据后,再次删除缓存,再将更新后的数据写入缓存。3 如果能够成功地删除或更新,我们就要把这些值从消息队列中去除,以免重复操作,此时,我们也可以保证数据库和缓存的数据一致了,否则还需要再次进行重试。A删除缓存后,B查询操作没有命中缓存,B先把老数据读出来后放到缓存中,然后A更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。
2024-04-22 18:40:48 1320 1
原创 基于nest框架的redis streams实现mq(bullmq)
队列是一种强大的设计模式,可以帮助您处理常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题示例如下:(1)平滑处理峰。例如,如果用户可以在任意时间启动资源密集型任务,则可以将这些任务添加到队列中,而不是同步执行它们。然后,您可以让工作进程以受控的方式从队列中提取任务。随着应用程序的扩展,您可以轻松地添加新的Queue消费者来扩展后端任务处理。(2)分解单体任务,否则可能会阻塞Node.js事件循环。
2024-04-22 17:37:40 939
原创 Redis(单/多)线程
网络硬件的性能提升, 底层网络硬件处理速度 >> 单个主线程网络请求速度。即redis 在处理 客户端请求时 ,所进行的。total: 一个服务端进程可以 同时 处理多个套接字描述符。total: 一个服务端进程可以 同时 处理多个套接字描述符。即 提高网络请求处理的并行度。redis 的命令工作线程(单线程)+对于 整个Redis 来说,是多线程的。可以使用一个线程连接来处理多个请求。采用多个IO 线程来处理 网络请求。等 都是由一个顺序串行的主线程处理。减少线程切换带来的开销。
2024-04-21 16:27:04 1111
原创 Redis key(BigKey、MoreKey)的存储策略
如果删除的键与一个小对象相关联,则执行DEL命令所需的时间非常短,可与大多数其他命令相媲美。FLUSHALL和FLUSHDB的DEL、UNLINK和ASYNC选项是用户控制的。UNLINK非阻塞DEL以及FLUSHALL和FLUSHDB命令的ASYNC选项,以便在后台回收内存。UNLINK非阻塞DEL以及FLUSHALL和FLUSHDB命令的ASYNC选项,以便在后台回收内存。注意:非字符串的bigkey ,使用hscan、sscan、zscan方式删除(不建议是用del)这些命令在恒定时间内执行。
2024-04-19 12:23:30 1100
原创 kafka快速入门+应用
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0\bin\windows>kafka-topics.bat --create --bootstrap-server localhost:9092 -replication-factor 1 --partitions 1 --topic test1。# 是否自动提交(记录) 消费者偏移量。(1)配置Properties。再次生产消息,会自动消费消息。
2024-04-12 18:23:37 1345
原创 (Ubuntu、centos+AlibabaCloud)- mysql/redis 部署
将默认的redis.conf拷贝到指定路径 /usr/local/src/myredis(自己指定),然后对其配置。系统会默认将其安装到 /usr/local/bin下边 ,相当于c:/program。是否禁用root远程登录:y的话root远程就连不上了,建议no。第一次登录可能有临时密码,可能没有,我这里没有。gcc是linux下的一个编译程序,是C程序的编译工具。修改其中的 localhost 为0.0.0.0。3.查看user-host。6.查看user-host。切换到mysql数据库。
2024-04-02 20:20:50 1142
原创 阅读class-validator文档
允许使用基于 装饰器 和 非装饰器 的验证。在内部使用validator.js执行验证。类验证器可以在 浏览器 和node.js平台 上工作。
2024-03-13 09:13:25 1165
原创 FastDfs 部署 保姆 级 步骤
注: 1.这是在 b栈后端项目中用到 , github or 课程官方文档 ,都难免遇到问题2.我这里只是将单机部署 跑通了。
2024-03-03 19:11:33 1011
原创 Redis 极速上手
字符串 String 、 列表 List 、 哈希表 Hash 、 集合 Set。减轻mysql等关系型数据库的访问压力。单机、主从、哨兵、集群。
2024-01-24 21:25:13 410
原创 快速上手TypeScript
js本身语法 类型太弱了 不适合 开发后端 复杂业务引入ts 代码写起来严谨 可阅读性强很多,更有利于团队开发优点:1.类型检查2.语言扩展3.类型推断机制4.代码设计,团队合作。
2023-12-18 17:42:38 506
原创 Host ‘219.149.X.X‘ is not allow to connect to this MySQL server
由于当前的root用户限制在当前的内网ip内访问的,需要修改他的访问域。(1)基于docker方式,登录mysql。(3)查询root用户。
2023-12-14 10:49:14 396
原创 influxDB(v2-flux)快速上手!
InfluxDB 是一种时序数据库,时序数据库通常被用在监控场景,比如运维和IOT(物联网)领域。(1)go语言编写,没有其他依赖(2)时序数据库中最热门,TSM引擎高性能读写与数据压缩不支持类sql查询语句(4)tags可以索引序列化在 IOT领域中,有大量的指标需要我们监控。比如,机械设备的轴承震动频率,农田的湿度温度等等。写一个程序将服务器上 CPU的使用情况每隔10秒钟向InfluxDB中写入一条数据。接着,我们写一个查询语句,查询过去 30秒CPU。
2023-12-13 18:30:07 3153 3
原创 influxDB(v1-influxQL)快速上手!
(1)go语言编写,没有其他依赖(2)时序数据库中最热门,TSM引擎高性能读写与数据压缩(3)支持类sql查询语句(4)tags可以索引序列化。
2023-12-12 19:38:34 633 2
原创 win本地启动RocketMQ
删除C:\Users\”当前系统用户名”\store下的所有文件。Cmd命令框执行进入至‘MQ文件夹\bin’下 端口9876。
2023-12-11 19:00:07 847
原创 本地启动rocketmq
删除C:\Users\”当前系统用户名”\store下的所有文件。Cmd命令框执行进入至‘MQ文件夹\bin’下 端口9876。
2023-11-07 21:38:30 256
原创 Host ‘xx.xx.xx.xx‘ is not allowed to connect to this MySQL server
每日bug(3-11-6-1)
2023-11-06 18:05:48 54 1
原创 Can‘t create handler inside thread that has not called Looper.prepare() 应用闪退
法一:因为试图在非UI线程中更新UI元素,这是不被允许的,因为Android要求UI操作必须在主线程中执行。在你的代码中,尝试在onResponse回调的子线程中执行,导致了闪退。使用方法,可以像这样修改onResponse@Override// 得到的子线程Log.e("成功", result);这将确保在主线程上执行,而不会导致闪退。法二:可以使用Handler来实现相同的目标。在中,可以声明一个Handler对象,然后在onResponse。
2023-11-02 14:02:17 126 1
转载 Android Gradle Plugin Version 和 Gradle Version怎么对应
参照的是这篇博客:Android Gradle Plugin Version 和 Gradle Version 的对应关系_gradle的版本与android匹配_AaVictory.的博客-CSDN博客
2023-10-17 23:53:15 190
原创 mysql8的sql语句改成mysql5
今天在用Navicat往mysql(5.7版本)导入sql文件时,出现Unknown collation: 'utf8mb4_0900_ai_ci’错误。分析出现这样的问题是原sql文件是mysql(8.0版本),高级往低级(5.7版本)导入时出现版本不兼容的情况。解决把文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci以及utf8mb4替换为utf8
2023-10-17 14:50:18 221
原创 【无标题】
分别计算两向量的Jaccard(杰卡德)系数和Pearson's correlation(皮尔森)相关系数。计算三种情况下的X的熵。并讨论熵值与不确定性的关系。(区间长度相同,如:80) --用边界值光滑数据。分别计算两向量的欧几里德距离和余弦相关性。使用如下各方法将它们划分成三个箱。3.小数定标规范化。
2023-04-17 18:33:10 984
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人