0

Git认证方式https和ssh的原理及比较

常见的代码托管平台GitHub、GitLab和BitBucket等,基本都会使用Git作为版本控制工具。平台一般都提供两种认证方式https和ssh。了解该过程能够更加自由地配置和使用,本文就来简单聊一下这两种认证方式。1.HTTPS与SSHGit可以使用四种协议来传输数据:本地协议(Local),git 协议,HTTPs 协议和SSH(Secure Shell)协议。对于多人远程协作,多用后两者。超文本传输协议http运行于网络应用层,是应用层通信协议,使用下层的TCP协议进行传输控制。位于不同网络终端的两个应用进程之间可以通过http进行通信,典型的应用场景是浏览器和网站服务器,是一种C/...

阅读全文>>

0

MySQL数据库,表结构设计的五个维度

一、数据场景1、表结构简介任何工具类的东西都是为了解决某个场景下的问题,比如Redis缓存系统热点数据,ClickHouse解决海量数据的实时分析,MySQL关系型数据库存储结构化数据。数据的存储则需要设计对应的表结构,清楚的表结构,有助于快速开发业务,和理解系统。表结构的设计通常从下面几个方面考虑:业务场景、设计规范、表结构、字段属性、数据管理。2、用户场景例如存储用户基础信息数据,通常都会下面几个相关表结构:用户信息表、单点登录表、状态管理表、支付账户表等。用户信息表存储用户三要素相关信息:姓名,手机号,身份证,登录密码,邮箱等。CREATE TABLE `ms_user_center` ...

阅读全文>>

0

菜鸟积分系统稳定性建设 - 分库分表&百亿级数据迁移

一 前言拆库&数据迁移说白了,考验的不是一个人的技术功底,而是一个人干活的细致程度,以及抗压能力。无论在哪个公司,数据库迁移的机会都不会太多,因此,我也是非常珍惜这次历练,用阿里的一句老话来说就是 “因人成事,借事修人”。写这篇文章的目的主要是自己进行一个总结,也希望能给需要的同学们一些参考。二 背景在星爷的《大话西游》中有一句非常出名的台词:“曾经有一份真挚的感情摆在我的面前我没有珍惜,等我失去的时候才追悔莫及,人间最痛苦的事莫过于此,如果上天能给我一次再来一次的机会,我会对哪个女孩说三个字:我爱你,如果非要在这份爱上加一个期限,我希望是一万年!”在我们开发人员的眼中,这个感情就和我...

阅读全文>>

0

从使用到自己实现简单Vue Router看这个就行了

Vue Router 基础让我们先来了解下Vue Router的简单使用吧,先了解怎么使用,之后再去想办法怎么去实现1.简介路由:本质上是一种对应关系分类分为前端路由和后端路由后端路由比如node.js 的路由是 URL的请求地址和服务器上面的资源对应,根据不同的请求地址返回不同的资源前端路由在SPA(单页应用)中根据用户所触发的事件改变了URL 在无需刷新的前提下 显示不同的页面内容,比如等下就要讲的Vue Router2.Vue-Router最基础的使用步骤2.1.引入Vue-Router文件<!-- 使用vue router前提 vue 必不可少 --> <script...

阅读全文>>

0

如何手动解析vue单文件并预览?

开头笔者之前的文章里介绍过一个代码在线编辑预览工具的实现(传送门:快速搭建一个代码在线编辑预览工具),实现了css、html、js的编辑,但是对于demo场景来说,vue单文件也是一个比较好的代码组织方式,至少笔者就经常在写vue项目的同时顺便写写各种demo,但是分享不太方便,因为单文件不能直接运行看效果,基于此,笔者决定在之前的基础上再增加一个vue单文件的编辑及预览功能。 ps.如果没看过之前的文章也没关系,这里简单介绍一下该项目:code-run,基本框架使用的是vue3.x版本, 构建工具使用的是vite,代码编辑器使用的是monaco-editor,基本原理就是把css、js、ht...

阅读全文>>

0

Jenkins 学习笔记

本学习笔记参考《Jenkins 2.x实践指南》。1. Jenkins 简介#Jenkins 是一款自动化的任务执行工具。通常用于持续集成/持续交付领域。可以通过界面或Jenkinsfile告诉Jenkins执行什么任务,何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。持续集成将软件生产过程从手工模式带入流水线模式,软件生产的某个环节都对应流水线上的每个环节。流水线模式还能帮助我们将知识固化到自动化流水线中,在一定程度上解决了知识被人带走的问题。(手工模式对于整个软件生产流程很少有人全部知道,使用流水线模式整个软件生产的过程都以pipeline as code的...

阅读全文>>

0

FormData字段指定Content-Type

后面效果需要查看调试器的 Network。起因今天下午下班前,后端的小伙伴突然问了我一个问题,“前端 POST 的 FormData 能不能设置 Content-Type”。嘿,当然能啊,不就是请求头的 Content-Type 吗?乌龙后才发现,他问我的是,能不能给 FormData 的单个字段设置 Content-Type,我当时就懵逼了,额,好像,不行吧。调研过程这激起了我的斗志,因为他说,PostMan 可以设置单个字段的 Content-Type,我盯着看了一下,确实可以,想看下控制台,结果这兄弟用的是客户端,懒得抓包,就回去自己折腾去了。我们知道,new FormData 的实例,...

阅读全文>>

0

我是如何设计短域名服务的,欢迎大家吐槽

今天刚收到一个短信,里面就有一个短域名。这个短域名的目的很简单,为了在发短信的时候能省点钱,并且让用户体验不要那么糟糕,动不动发一个几百个字符的URL,小白用户一脸懵逼。其实短域名的原理非常简单,当你访问这个段域名的时候,短域名服务器会给你重定向到到真实的URL,浏览器会自动跳转到这个真实的URL。那么如何设计这样一个短域名服务呢?下面谈谈我个人的设想。第一个需要解决的问题,是如何生成这样一个短域名随机串。我们可以通过随机函数从 [a-z 0–9 A-Z] 这 62 字符(尽管中划线和下划线也是合法字符)里面随意的组合,那么它有多少种可能呢?如果是 7 未随机串 62⁷ = 3,521,614...

阅读全文>>

1

Java的“泛型”特性,你以为自己会了?(万字长文)

使用Java的小伙伴,对于Java的一些高级特性一定再熟悉不过了,例如集合、反射、泛型、注解等等,这些可以说我们在平时开发中是经常使用到的,尤其是集合,基本是只要写代码没有用不到的,今天我们先来谈谈泛型。1. 定义在了解一个事物之前,我们必定要先知道他的定义,所以我们就从定义开始,去一步一步揭开泛型的神秘面纱。# 泛型(generics) 他是 JDK5 中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数 # 常见的泛型的类型表示 上面的 T 仅仅类似一个形参的作用,名字实际上...

阅读全文>>

0

分享BigDecimalUtil类

/** * @Title: * @Description: 数学计算 */ public class BigDecimalUtil { /** * 功能描述: <br> * 精确度 */ private static final int DEF_DIV_SCALE = 5; /** * 提供精确的加法运算。 * @param v1 加数 * @param v2 被加数 * @return 两个参数的和 */ public static BigDecimal su...

阅读全文>>