聊聊最近
最近的日子在想着达到就业的水平,不断地提升额,嗯然后今天手机掉水里了,烘干24小时,看看能不能复活吧,突然觉得之前手机不是那么重要,回想起它占用我的时间,好像都不是什么重要的事情,近期来,感觉是为了让自己舒服一点,白天学完,晚上回去就刷手机而且就是 12点 1点,恶性循环,本想着晚上回去看会书,自己却暗示自己,学一天了,玩吧哈哈哈。好像都没做,但是确实没有那么重要,吃饭可以让同学帮我付,哈哈,还是得学习呢,反省一下,是不是你想要的太多了而导致你很累,那种精神上的压迫自己,反思~ 今天12.12日试着实现将单片机的数据传输到数据库中交互先简单的使用按钮的高低电平0 1 实现交互试试看 后端服务代码 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071package mainimport...
分布式系统学习
go build -buildmode=plugin ../mrapps/wc.go这个指令是什么意思 : 这个命令的作用是编译 ../mrapps/wc.go 文件,并将其生成一个 Go 插件文件。生成的插件文件通常是一个 .so(共享库文件)文件,它可以在运行时被其他 Go 程序通过 plugin 包加载和调用。 例如: 你可以在主程序中使用 plugin 包动态加载 wc.so 插件,并调用插件中的函数。 go run mrsequential.go wc.so pg*.txt: go run:用于编译并运行 Go 程序。它会在内存中临时编译指定的 Go 文件,并立即执行。 mrsequential.go:这是要执行的 Go 源文件,Go 编译器会先编译这个文件并运行它。这个文件应该包含 main 函数,通常是程序的入口点。 wc.so:这是一个 Go 插件文件(共享库)。它通常是通过 go build -buildmode=plugin 命令生成的。该文件包含 Go...
数据库学习
学习文档: https://www.rockdata.net/zh-cn/tutorial/toc/ WHERE 语句如何使用 https://www.rockdata.net/zh-cn/tutorial/dml-where/、 总结来说: 放入condition,返回结果只会返回符合condition条件的, 搭配 AND OR IN LIKE等使用
为什么别人写项目知道用什么?
同样来自GPT的回答: 你的疑惑非常好!许多人在学习编程时都会有类似的感受,尤其是在学习阶段,看到博主轻松选择某些包或者工具来解决问题时,会觉得他们似乎“无所不知”。事实上,这背后是经验和积累的结果。以下几点可以帮助你理解和逐步建立这种能力: 1. 经验的积累 博主的背景:他们可能已经解决过类似问题,因此知道哪些包是高效的选择。这是经验的体现。 类比:就像一位厨师在做菜时,很容易知道用什么调料,而新手可能需要查配方。 你可以这样做: 多看、多学:通过模仿优秀项目和学习文档,积累对常用库和框架的了解。 练习总结:每次解决问题后,记录用到的包和方法,慢慢形成自己的“工具箱”。 2. 文档与生态 语言和框架的生态:每种语言或框架都有一些社区公认的、常用的库。 比如,Go 语言处理配置时,大家常用 viper 或 yaml。 HTTP 请求:net/http(原生)或社区的 gin(框架)。 社区推荐:很多库被推荐使用,是因为它们: 功能齐全。 易于使用。 社区活跃,有长期维护。 你可以这样做: 了解生态:多逛 GitHub、Go 的标准库文档以及社区资源(比如...
理解鉴权,权限等名词的区别
GPT很好的给出了答案问: 用户通过了身份验证,但是不具有访问资源所需的权限。 这句话我应该怎么理解,我还有的疑惑是Cookie,Token,鉴权,权限等这几个名词都是什么意思,我现在对他们的理解有点模糊 答: 这些概念是 Web 安全和权限管理的核心部分。让我们分两步:先理解句子的含义,再深入解析相关概念(Cookie、Token、鉴权、权限等)。 1....
json的序列化与反序列化
序列化:将 Go 中的结构体、切片、map 等数据结构转换为 JSON 格式的字符串。 作用:方便数据在网络传输、文件保存等情境中使用。 反序列化:将 JSON 格式的字符串转换为 Go 的数据结构。 作用:方便从 JSON 中提取数据并在程序中使用。 JSON{“”: “”,“”: “”,“”: “”} Go中 使用 Marshal Unmarshal 进行序列化和反序列化 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package mainimport ( "encoding/json" "fmt")type Person struct { Name string `json:"name"` Age int `json:"age"`}func main() { p...
Go语法学习
12345678910111213whatAmI := func(i interface{}) { switch t := i.(type) { case bool: fmt.Println("I'm a bool") case int: fmt.Println("I'm an int") default: fmt.Printf("Don't know type %T\n", t) }}whatAmI(true)whatAmI(1)whatAmI("hey") 这是一个函数whatAmI,它接受一个interface{}类型的参数。interface{}是 Go...
小计划
兄弟,你的想法很清晰,我非常理解你想深入学习、夯实基础,而不是走捷径的决心。我们可以针对你的目标和现状制定一个更加实践导向的计划,同时保持学习过程有趣且充实。以下是我的建议和方案: 总体目标 短期(2025年3月前):增强银行项目的实用性和技术深度,掌握后端开发的核心技能,为实习做好准备。 中长期(未来两年):夯实计算机基础,深入理解系统设计、分布式系统及核心算法,逐步具备独立设计和开发复杂项目的能力。 学习模块规划1. 项目深度增强(每周一个主题,贯穿整个学习计划)目标:将现有银行项目提升到更贴近实际业务需求的水平,增加亮点功能。 Week 1: 数据一致性与事务 学习事务隔离级别(ACID),在项目中实现更加复杂的转账操作(如跨账户冻结和解冻)。 使用 SQLC 或 GORM,优化数据库操作。 Week 2: 引入 Redis 学习 Redis 基础知识,理解其在缓存和分布式锁中的应用。 在项目中实现: 用户信息缓存,优化频繁查询。 基于 Redis 的幂等性控制(防止转账操作重复)。 Week 3: RESTful API 和 JWT...
11.26日字节直播总结
字节结营直播答疑revue 项目 性能优化 ci/cd流程 ( star法则来描述一件事情) 准备找实习 写好简历 zt: 服务端: 计算机基础知识(字节:计算机网络 tcp/ip 腾讯:操作系统 阿里: 组成原理) 技术: (数据结构 高阶算法 链表 堆栈 树(面试重点)) leetcode 100 150 200 项目: 烂大街的(入门) 改进一些项目(做优化 项目存在的意义 解决了什么问题? 带来了什么? 项目亮点在哪里) 实习经历:(做了什么需求 需求是(谁给的 自己还是别人?)通过实现了什么? 解决了什么? 团队收益还是小组收益?) 专业能力: 小厂一门语言 +数据库存储 会就ok 大数据 架构数据 微服务层面 八股扎实稳固 算法 中等难度题很快弄出来 项目亮点:能让面试官和你聊下去 如何提升亮点和竞争力 开源社区! 抄项目 然后手写 尝试自己理解 前端(vue)(react) 数据结构 计算机基础知识 面试官想看你的亮点(你牛逼在哪里?) 做过什么会什么? 服务端是一些思维 而不是纠结你是用什么语言 从0-1...
UDP socket的ack机制和丢包重传
参考连接: https://juejin.cn/post/7263378772040122429 Go语言实现UDP socket的ack机制和丢包重传UDP 在通讯之前不需要建立连接 可以直接发送数据包 是一种无连接协议(常用于音视频传输) 但是在有些场景 即需要UDP传输也需要向TCP一样(TCP的可靠传输) 解决丢包问题: 1.添加 seq/ack机制 确保数据发送到对端 什么是 seq/ack机制 123456789101112131415在TCP(传输控制协议)中,序号(Sequence Number,简称seq)和确认应答号(Acknowledgment Number,简称ack)是协议头部非常关键的字段,它们共同确保了TCP的可靠性和数据按顺序传输的特性。** Sequence Number...