自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 Gin 入门

安装快速入门package mainimport ( "net/http" "github.com/gin-gonic/gin")func pong(c *gin.Context) { c.JSON(http.StatusOK, gin.H{  "message": "pong", })}func main() { // 实例化一个g

2023-01-21 17:22:02 129

原创 yapi文档管理笔记

微服务解决了哪些问题需要一个注册中心,管理上千个微服务服务是否健康服务发现服务集群是否健康配置中心链路追踪什么是orm将数据表映射成go的struct将数据表中的列映射成struct中的数据类型gormgorm只是让你不需要去关心mysql的繁琐语法,其实就是对于mysql的封装连接数据库package mainimport ( "database/sql" "log" "os" "time" "gorm.io/dr

2023-01-21 12:09:20 212

原创 rpc和grpc

什么是grpc和protobufgrpc: grpc 是一个高性能、开源和通用的RPC框架,面向移动和HTTP/2的设计。protobuf: 就是一种数据传输协议,有点类似json或者xml。protobuf的基本类型定义一个消息类型syntax = "proto3";// 包名package stream.v1;// 指定目录和包名option go_package="stream/api/gen/v1;proto";messag

2023-01-20 16:21:49 142

原创 彻底解释清楚Event loop

为什么需要event loop如果一个事情,出现没有解决任何问题,那么它存在就没有任何意义。因为js的main thread,一个时间只能处理一件事情,所以才需要event loop。当然现在浏览器也可以使用web workers,开一个线程,执行其他一些任务;什么是event loop很多人都听过event loop,那么标准中是如何定义的呢?event loop规范地址 To coordinate events, user interaction, scripts, rendering

2022-12-23 07:59:40 172

原创 这还是我们认识的react-router吗?

捕获路由出错比如当某个路由下发生错误的时候,可以捕获路由错误可以捕获路由错误,通过errorElement获取捕获错误比如可以使用useRouteError获取到发生的错误import { useRouteError } from "react-router-dom";export default function ErrorPage() {  const error 

2022-12-14 17:17:24 196

原创 vue面试

computed 和 watch 区别computed 是计算属性,依赖其他属性计算值,并且 computed 的值有缓存,只有当计算值变化才会返回内容。watch 监听到值的变化就会执行回调,在回调中可以进行一些逻辑操作。所以一般来说需要依赖别的属性来动态获得值的时候可以使用 computed,对于监听到值的变化需要做一些复杂业务逻辑的情况可以使用 watch。v-show 与 v-if 区别v-show 只是在 display: none 和 display: block(并不一定是block

2022-12-06 08:11:08 97

原创 GRPC 学习

搭建mac GRPC环境搭建protobufprotobuf 是grpc的数据传输格式brew install protobufprotoc --version如果出现类似libprotoc 3.19.4go 插件为protobuf$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28$ go install google.golang.org/grpc/cmd/

2022-11-05 22:52:05 126

原创 go 开发环境搭建

环境每台电脑的环境是不一样的,所以出现的错误也会不一样。所以首先要声明环境苹果m1go: 1.19.2安装go1.19.2https://go.dev/dl/ 去选择适合自己电脑的版本,这里我选择的是然后一路next就可以了等安装完以后,go1.19.2 其实已经不需要自己设置GOPATH和GOBIN了,等待安装完以后,在命令行里边查看是否安装成功。查看go是否安装成功查看go 的变量在命令行执行 go env,查看go默认设置的GOPATH和GOBIN等位置等启

2022-10-29 08:12:38 2081

原创 前端面试之道

call 和 apply 和 bind首先会问call 和 apply 和 bind 三者有什么区别?这个区别应该很容易,如果回答不好,就不会继续下去了,如果回答正确,就会要求手写call函数如果实现了call函数,apply和bind基本都没啥问题了,所谓首先来实现call函数call的难点在哪里呢?就是如何确定this的指向,其实这里很简单,就是判断一下,如果没有传入,则设置为window,如果有传入,则设置为传入的代码Function.prototype.myCall =&nb

2022-10-29 07:00:05 95

原创 前端通用解决方案

Tailwind CSS为什么需要使用Tailwind CSS,解决了哪些问题。Tailwind 就是把样式css 原子化,比如字体大小.fn12 {  font-size: 12px;}这样就可以定制化和复用样式优点:自由度比较高和可定制化比较高缺点:学习成本比较高,每个类名需要记住,上手成本比较高建议:可以在项目中渐进式的使用,觉得合适就使用,或者直接自己封装常用的css来使用,比如我在项目中就会把字体的大小封装成几个固定的css样式,比如f

2022-10-19 22:08:02 648

原创 深入区块链技术之技术基础

技术基础区块链的技术定义区块链的存储基于分布式数据库; 区块链主要一个特点就是去中心化数据库是区块链的数据载体,区块链是交易的业务逻辑载体;区块链按时间序列化区块数据,整个网络有一个最终确定状态;区块链只对添加有效,对其他操作无效;区块链是不能删除的,这个也是不可纂改性质决定的。交易基于非对称加密的公私钥验证;公私钥目前属于比较安全的非对称加密区块链网络要求拜占庭将军容错;共识算法能够“解决”双花问题。区块链的类型区块链主要是分为共链和联盟链公链是任何节点都可以上链,比如比特币,任何节点只要挖到

2022-10-14 15:19:21 2072

原创 以太坊深入理解

以太坊的挖矿产出区块奖励如果挖出区块,就会有出块奖励,类似于比特币,比如3个ETH叔块奖励在比特币中,如果挖出区块,但是如果不在最长的合法最长链上的时候,不会获得奖励。但是在以太坊中,如果挖出区块,虽然不是在最长的区块链上,仍然有可能作为叔块被奖励ETH,但是这里的叔叔,不能类比于现实中的叔叔,这个叔块可能隔好几代,在以太坊中仍然会被叫做叔块。叔块奖励引用这里很容易理解,就是如果一个区块把叔块给加入进来,也会被奖励ETH幽灵协议改进比特币的共识协议出块时间,比特币的出块时间是10

2022-10-09 21:24:02 1807

原创 以太坊的反思

什么是智能合约?智能合约是运行在区块链上的一段代码智能合约真的是智能的吗?只是一个自动化的程序,但是并不是智能不可纂改真的好吗?不可纂改真的好吗?比如智能合约的The DAO 事件,即使如果已经发现了bug,但是却不能修改。智能合约就是一段代码,但是不存在没有bug的程序真的不可纂改但是根本不存在不可纂改的东西,代码是死的,人是活的美国宪法都是已经没修改过几次了,比如禁酒令solidy这个语言设计有没有什么问题?开源程序真的安全吗?能看懂的有多少人?想去看的又有多少人?有多少人愿

2022-10-08 18:53:15 500

原创 以太坊

以太坊账户账户模式比特币的账户模式使用的基于交易的模式来记录有多少钱的情况。比特币转账的限制每次转账必须把自己账户的里边的所有钱都转出去,比如A有10个比特币,想转给B 3个比特币,这个时候就必须做两边交易第一笔交易A转给B 3个比特币第二笔交易A转给A 7个比特币ETH 转账有点类似于我们现实中情况,比如A有10个ETH, A想转给B 3个 ETH, A 直接转给B 3个ETH就可以了。有点类似于我们银行转账。这样可以防范双花攻击,因为你花一次,只要把账户里边的钱扣除一次。但是这样

2022-10-08 14:12:33 863

原创 2天使用uniapp+pinia+vue3开发一个完整电商小程序

视频教程https://www.bilibili.com/video/BV1834y1676P?p=167&vd_source=b736c30b3cb720a29f325deadada98652. 开发教程https://www.escook.cn/docs-uni-shop/mds/3.home.html源码地址原来的视频教程是使用vue2 + vuex 开发的,目前源码使用vue3 + pinia 重新开发的https://github.com/zsjun/uni-app-my-

2022-10-04 10:30:15 524

原创 从0开发一个Dapp

实现效果房主发送拍卖房屋信息,并且设置拍卖过期时间2. 其它非房主可以登录进行拍卖,选择自己的出价参考https://dev.to/yongchanghe/build-a-simple-dapp-using-truffle-ganache-ethersjs-and-react1-52bl工具集合安装node,版本是v16.16.0npm install -g truffle, truffle可以让我们在本地开发合约,同时部署合约到链上。安装ganache, ganache相当于是把以太网

2022-09-18 09:51:40 733

原创 前端技术应用复杂场景

React和Vue1. 组件开发使用React和Vue开发一个复杂组件,包含复杂逻辑的展示,比如实现一个复杂的表格组件。如何设计,根据哪些规则来设计,比如分而治之,表头和表格body如何区分。一些特殊的需求,如何实现,比如表头固定,可拖拽,多选单选,表头可变。性能如何处理,如何提高表格渲染的性能。实现:多写多练,多看别人写的好的源码2. 大数据性能优化当数据量比较大的时候,如何进行处理,比如数据量达到10w条如何在表格中展示,如何不卡,如何收集数据测定不卡;当数据量达到10w个节点的时候,

2022-08-17 17:00:27 606

原创 开发一个在线聊天

在线聊天技术选型在线聊天因为涉及到互相通信,所以采用socket.io前端框架 vue2打包工具 vite在线gitee地址: https://gitee.com/service-chat/service-chat整体架构初始化之后的效果如下:init 初始化init 主要是从url参数中获取用户的id,然后调用signalrService    // 初始化    init() {&nb

2022-08-16 16:38:40 681

原创 Mysql实战宝典笔记

1 MySql基本语法sql 不区分大小写sql 以分号结束2 DDL2.1 创建和查询数据库创建数据库// dbname是数据库名字create database <dbname> if not exists;查询数据库show databases;2.2 MySql的数据类型2.2.1 数值类型3 DML插入删除数据3.1 插入数据插入表格中每列插入数据,不允许为空的列必须有值in

2022-08-13 15:26:34 356

原创 Js前端面试题

1. Js的基本数据类型nullundefinedstringsymbolbigintbooleannumberobjectEs6 新增了symbol和bigint两种类型,symbol一般常用可以结合redux的action的type进行使用;bigint是大数处理,一般除非项目中涉及到很大的数才会用到。2. 数据类型检测的方式有哪些typeof , 但是在判断Array null为objectinstanceof , 通过prototype 判断构造函数construct,通过构造函数来判断

2022-08-08 17:54:49 187

charles 4.0.2 破解文件

charles 4.0.2 破解文件 亲测可用

2017-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除