avatar
文章
69
标签
12
分类
11

随便寻个地方'Blog

随便寻个地方'Blog

无题
发表于2025-03-07
testtesttesttest
无题
发表于2025-03-04
Gohub开发 title: Gohub开发categories: Go语言tags: 项目开发abbrlink: 25069 date: 2024-04-15 15:41:08本项目为从零构建一个高性能、功能齐全的 API 程序框架,主体内容和第一个项目相似。但是并没有做前端的内容,只针对相应功能做了 API 开发。 本项目主要设计一下三部分的知识点: API 开发 命令行开发 构建高效率的程序结构 主要功能为: 用户的注册和登录 安全验证码和图片验证码 JWT 授权 用户修改个人信息 项目统计实现路由 请求方法 API 地址 说明 POST /api/v1/auth/login/using-phone 短信 + 手机号登录 POST /api/v1/auth/login/using-password 手机号、用户名、邮箱 + 密码 POST /api/v1/auth/login/refresh-token 刷下 Token POST /api/v1/auth/password-reset/using-email 邮件密码重置 POST /api ...
无题
发表于2025-03-04
Go语言设计哲学 title: Go语言设计哲学categories: Go语言tags: 随想abbrlink: 29814 date: 2024-04-03 21:16:08实在是想不到啊,我的博客里面竟然还会出现如此高大上的文章——设计哲学。为什么会想写关于这方面的文章呢,主要还是在跟面试官闲聊的时候提到了这方面的问题。面试还是能学到不少东西的嘛,毕竟我的眼界还是太窄了。 在学习一门语言时,有没有考虑过这个语言的语法和格式为什么要这么设计?这个问题一听就是一个好的话题啊,为什么这么设计?为什么在已经有了那么多语言后,还要设计出Go语言? 那么好,闲话少说,这周的主要内容就改为Go语言的设计哲学。当然,文章内容并不是我原创的,更多的还是网上查到的资料。 背景Go 编程语言构思于 2007 年底,构思的目的是:为了解决在 Google 开发软件基础设施时遇到的一些问题。 图中的三位大佬就是 Go 语言最初的设计者,从左到右依次为: Robert Griesemer:参与过 Google V8 JavaScript 引擎和 Java HotSpot 虚拟机的研发。 Rob Pike ...
顺序存储两兄弟——数组和切片,到底有什么区别?
发表于2024-11-07|秋招特辑
数组是一个长度固定的数据类型,其长度在定义时就已经确定,不能动态改变;切片是一个长度可变的数据类型,其长度在定义时可以为空,也可以指定一个初始长度。 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说他们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看完文章之后,相信你会有一个很好的答案。 数组数组——一个几乎所有主流语言都支持的数据结构,它是一篇连续的内存区域。Go 语言中的数组和其他语言中的数组有显著不同的特性,例如,其不能进行扩容、在复制和传递时为值复制。开发者通常将数组与 Go 语言中另一个重要的结构——切片进行对比,这个会在后面的部分介绍和对比。 概述数组是由相同类型的集合组成的数据结构,计算机会为数组分配一块连续的内存来保存其中的元素,我们可以利用数组中元素的索引快速访问特定元素,常见的数组大多都是一味的线性数组,而多维数组在数值和图形计算领域有着比较常见的应用。 数组作为一种基本的数据结构,我们通常会从两个维度描述一个数组,也就是数组中存储的元素类型和数组最大能存储元素的个数。 Go 语言数组在初始化之 ...
了解基础数据类型
发表于2024-10-24|秋招特辑
各位码农朋友们,在了解完 Go语言是如何声明变量和常量之后,我们要进行学习的就是变量和常量的类型了。只有真正地了解了这些数据类型的特性以及实现原理,我们才能在后面的编程生活中过的得心应手。 了解基础数据类型Go 是一种强类型语言。 这意味着你声明的每个变量都绑定到特定的数据类型,并且只接受与此类型匹配的值。 Go 有四类数据类型: 基本类型:数字、字符串和布尔值 聚合类型:数组和结构 引用类型:指针、切片、映射、函数和通道 接口类型:接口 在此模块中,我们仅介绍基本类型(数字类型、布尔类型)的特性、原理以及注意事项。 如果你不知道其他类型是什么,请不要担心。 我们将在后续模块中进行介绍。 整数类型 类型 有无符号 占用存储空间 表示范围 备注 int8 有 1字节 -2^7 ~ 2^7-1 int16 有 2字节 -2^15 ~ 2^15-1 int32 有 4字节 -2^31 ~ 2^31-1 int64 有 8,字节 -2^63 ~ 2^63-1 uint8 无 1字节 0~2^8-1 uint16 无 2字节 0~2^16-1 ...
查询效率最快的数据结构——map
发表于2024-10-23|秋招特辑
特殊的存在——string
发表于2024-10-23|秋招特辑
命名、声明和赋值
发表于2024-10-23|秋招特辑
Go语言和其他编程语言一样,一个大的程序是由很多小的基础构件组成的。变量保存值,简单的加法和减法运算被组合成较复杂的表达式。基础类型被聚合为数组或结构体等更复杂的数据结构。然后使用 if 和 for 之类的控制语句来组织和控制表达式的执行流程。然后多个语句被组织到一个个函数中,以便代码的隔离和复用。函数以源文件和包的方式被组织。 在本章中,我们将深入讨论在 Go语言中变量和常量的命名、声明以及赋值方式,学习不同声明方式的区别和使用方法,以及变量和常量的特点。通过简单学习基础的变量和常量的结构来进入 Go语言的世界。此外,关于一些非常细节或者简单的声明要注意的点,在本文中不会显示。 Go语言是什么类型的语言?Go 语言是一个什么类型的语言?强/弱类型、动态/静态检查类型。 首先需要明确的是,什么是强/弱类型?什么是动态/静态类型? 强类型:强类型的编程语言在编译期间会有严格的类型限制,也就是编译器会在编译期间发现变量赋值、返回值和函数调用时的类型错误。 弱类型:弱类型的编程语言在出现类型错误时可能会在运行时进行隐式类型转化,这可能会造成运行错误。 动态检查类型:静态类型检查是基于对源代 ...
傻傻分不清之Cookie、Session、Tokenb和JWT
发表于2024-10-21|秋招特辑
HTTP 是无状态的协议,对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息。 每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求发送者和这一次的发送者是不是同一个人。所以服务器与浏览器为了进行会话跟踪(知道是谁在访问我),就必须主动的去维护一个状态,这个状态用于告知服务端前后两个请求是否来自同一浏览器。而这个状态需要通过 cookie 或者 session 去实现。 本文将要介绍常见的实现用户身份认证的几种方式、优缺点以及如何取舍,希望能够通过本文对实际的项目设计和计算机网络都有一些新的认识。 什么是认证(Authentication)?认证是验证用户身份的过程。它确保试图访问系统或资源的用户是他们所声称的那个人。 通俗地讲就是验证当前用户的身份,证明”你是你自己“(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)。 在 Web 应用中,认证通常通过用户提供的凭据(如用户名和密码)来完成。当用户提交这些凭据时,系统会验证它们是否与存储在数据库中的信息匹配。如果匹配成功,用户就被 ...
Go语言创世纪
发表于2024-10-19|秋招特辑
前言到今天,笔者学习 Go 语言也差不多有一年了,好像都没有认真地了解过 Go 语言的前世今生以及为什么要学习 Go 语言。不如趁着这个机会,好好地了解一下 Go 语言的特点吧。 本部分分为全书的开篇,在本部分中,笔者将和读者一起穿越时空,回顾历史,详细了解 Go 语言的诞生、演进以及今天的发展,归纳总结 Go 语言的设计哲学;和读者一起站在语言设计者的高度去理解 Go 语言与众不同的设计,深刻体会 Go 设计者在那些看似陈旧、实则经过深思熟虑的设计上的付出。 希望经过本部分的学习,读者能够在更改层次上与 Go 语言的设计者形成共鸣,产生认同感。或许这种认同会在你后续的 Go 语言的学习和精进之路持续激发你的 Go 语言学习和精进之路上持续激发你的热情,帮助你快速领悟Go语言原生编程思维,并更快、更好地达成编写出高质量 Go 代码的目标。 或者你可以在阅读本文时先想一想下面三个问题: 为什么会出现 Go 语言? Go 语言的设计哲学是什么? Go 语言与 C++、Java 有什么区别?特性是什么? Go 语言的出现和发展Go语言诞生于何时?它的最初设计者是谁?它为什么被命名为Go? ...
12…7
avatar
随便寻个地方
最近在做博客重建,有些乱,请见谅……
文章
69
标签
12
分类
11
Follow Me
公告
This is my Blog
最新文章
无题2025-03-07
无题2025-03-04
无题2025-03-04
顺序存储两兄弟——数组和切片,到底有什么区别?2024-11-07
了解基础数据类型2024-10-24
分类
  • Go语言22
  • Hello,算法!1
  • Java?Java!!!4
  • MongoDB1
  • MySQL1
  • Redis13
  • 分布式系统5
  • 技术剖析2
标签
学习周报 随想 计算机网络 深入理解Go语言 Java学习指北 Go语言库 求职必备 算法 面试经验 项目开发 数据库 八股文
归档
  • 三月 20253
  • 十一月 20241
  • 十月 20247
  • 七月 20243
  • 六月 202430
  • 五月 20246
  • 四月 20248
  • 三月 20248
网站资讯
文章数目 :
69
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By 随便寻个地方
框架 Hexo|主题 Butterfly