自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (2)
  • 收藏
  • 关注

原创 我的Git手册(踩坑汇总)

Q1 文件名修改大小写Git不识别Git默认大小写不敏感。在控制台输入以下命令,可以发现默认是false:git config --get core.ignorecase //false这意味着你将文件名字更改了大小写,git status的时候并不会看到这一项修改,你push到远程仓库上的代码中文件名字也并没有修改,部署的时候就可能出现模块解析报错!!那么怎么让Git识别呢?推荐做法:不要直接修改文件名,而是通过git mv来修改文件名。如下:git mv sample.js Sa

2022-01-25 14:19:41 234

原创 Notion公式输入

TEX語法小記 | Awin's FarmNotion中使用数学公式 - 知乎

2021-12-17 18:18:43 3248

原创 密码学101:应用技术

4.1 PGP——密码技术的完美组合本章以密码软件PGP(Pretty Good Privary)为题材,思考一下将前面章节所学习的密码技术进行组合的方法。PGP简介:1990年左右由菲利普季默曼个人编写的密码软件。PGP可以在Windows、Mac OS X、Linux等很多平台上运行,版本包括商业版和免费版。PGP具有现代密码软件所需要的几乎全部功能:对称密码、公钥密码、数字签名、单向散列函数、证书、压缩、文本数据、大文件的拆分与拼合、钥匙串管理。OpenGPG是对密文和数字签名进行定义的标

2021-12-07 15:22:22 2904 1

原创 密码学101:密钥、随机数

3.1 密钥——秘密的精华本章总结:什么是密钥 各种不同的密钥 密钥的管理在此基础上:Diffie-Hellman密钥交换 基于口令的密码 如何生成安全的口令3.2 随机数——不可预测性的源泉

2021-11-30 16:28:50 4223

原创 JavaScript模块(二)

P.S. 由于参考文章是2016年的文章,有些知识需要更新。所以这篇文章还会继续更新。什么是模块打包(module bundling)从一个high-level的角度说,模块打包指的是以正确的顺序把一组模块处理成一个单独的文件。进一步来看,如果没有模块打包,我们必须在HTML文件中插入<script>标签来加载每个模块,页面加载时间将会变得很长吧。为了解决这个问题,我们对模块进行打包,或者说拼接,而不是单独引入每个模块。另一方面,我们还可以对文件进行压缩,从源码中去掉一些不必要的.

2021-11-25 13:25:34 464

原创 JavaScript模块(一)

什么是模块我们总是希望将一份工程代码划分为多个模块。试想一下,如果你的工程是一块铁板,你想要在其中做一点简单的改动,就不得不重新编译运行整个工程。对于规模不断变大的工程软件来说,这对开发、debug到后期维护都是非常不友好的。好的模块具有非常好的自给自足(self-contained)的特性,新增、删除、修改它们都不会中断到整个工程的运作。为什么要使用模块正如上一小节所说,模块将工程软件很好地划分成多个部分,每个模块负责各自的功能,这很好地优化了开发流程,使得构建大型项目成为可能。简单来说,模块

2021-11-24 18:07:55 461

原创 密码学101:认证

2.1单向散列函数通过单向散列函数计算信息的指纹,通过验证指纹判断信息是否被篡改,即完整性,或称一致性。什么是单向散列函数单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value)。单向散列函数把输入作为纯粹的比特序列来处理。散列值的长度与消息的长度无关,单向散列函数总会计算出固定长度的散列值。单向散列函数的性质根据任意长度的消息计算出固定长度的散列值 能够快速计算散列值 消息不同散列值也

2021-11-24 11:31:47 3612

原创 密码学101:密码

本文是《图解密码技术》阅读的总结性文章。历史上的密码现代的密码通常用于计算机数据的加密,操作的是比特序列。但早在计算机诞生之前,加密技术就已经被使用了。历史上使用过的密码有这些:凯撒密码: 算法:通过将字母按照字母表顺序进行平移的方式对文本进行加密;反平移解密 密钥:平移的位数 缺点:可以通过暴力破解破译 简单替换密码: 算法:通过一对一的字母替换表,将字母进行替换;反替换解密 密钥:26! 特点:明文中字母的出现频率与密文中的字母的出现频率一致 缺点:由于密钥空间

2021-11-11 17:56:42 2195

原创 我的Git手册(三)

这篇文章将总结Git中的分支操作。概述几乎所有的版本控制系统都以某种形式支持分支。Git的分支模型尤为出众,轻量且快速。首先我们来回顾一下Git存储数据的方式,Git保存的不是文件的变化或差异,而是一系列不同时刻的快照。在进行commit操作时,Git会保存一个提交对象。...

2021-11-07 16:39:05 548

原创 我的Git手册(二)

获取Git仓库有两种方式获取Git项目仓库:将尚未进行版本控制的本地目录转换为Git仓库cd /home/user/my_project git init 从其他服务器clone一个已存在的Git仓库

2021-11-04 18:01:56 85

原创 我的Git手册(一)

概述Git是一个免费且开源的发布版本控制系统,使用它可以快速有效地控制大小项目的一切。它的性能远远超过其他的源码管理工具(SCM tools)如Subversion,CVS,Perforce,ClearCase。拥有开销小的本地分支、便利的staging区、多工作流等等特性。主要特性1. 分支与合并Git可以让你在本地创建多个相互独立的分支,分支的创建、合并和删除操作都非常快。当你要推送代码到远程仓库时,你可以选择只推送部分分支而不是全部。这意味着:无阻力上下文切换。你想要尝试一个想法所

2021-11-04 13:11:42 74

原创 [总结] HTML(一)

参考文章:MDNHTML总结HTML(HyperText Markup Language)是一种用来告诉浏览器如何组织页面的标记语言。它由一系列元素组成。基本概念1)块级元素与内联元素 块级元素通常用于包裹结构化内容,独占一行,不会被内联元素包裹,但可以被其他块级元素包裹。内联元素则通常出现在块级元素中包裹一小部分内容,内联元素不会导致文本换行。2)空元素...

2019-03-21 20:35:31 185

原创 [总结] CSS(一)

CSS总结从High-level看待CSS结构CSS(Cascading Stylesheet)中,样式从CSS文档顶部级联到底部。{}内部属性(property)也存在级联特性。 优先级(Specificity) 选择器(Selectors) 复合选择器(Combining Selectors) 样式分层,当两个元素共有一些属性的时候,将这些属性单独提出来。 常用的属性值(Co...

2019-03-17 12:22:39 100

原创 [总结] 前端学习资料

很多前端初学者的学习都是从二手博客开始的,虽然能很快入门,但是这些二手资料并不完整也并不一定准确。我认为掌握获取一手资料的方法,并能进行自主学习是很重要的。因此,我对学习资料进行了一个汇总。官方网站W3C官网 W3C(World Wide Web Consortium)是万维网国际标准组织。通过制定标准督促世界各地的开发者遵照标准进行开发,保障网络信息流通顺畅。 W3CSchool...

2019-03-16 23:46:07 275

原创 理解JS异步操作

参考文章:阮一峰ES5教程:异步操作—— 理解异步操作的基本模式和控制流程,了解定时任务的实现,Promise的用法 前端需要了解的浏览器原理(占坑) Inside look at modern web browser (part 1)—— 该系列文章一共4节,详细介绍了浏览器的工作原理。建议先看part1,然后看过参考文章4后,还想要更加深入全面地了解浏览器再看part2-4。 浏...

2019-03-12 10:37:54 5428 2

原创 [笔记] 应用层协议(HTTP)

要编写两个用于网络通信的应用软件,程序员必须会考虑几个问题:传输的信息的语法和语义 客户端或者服务器端是否可以开始通信 当通信出错时怎么办 什么时候结束通信为了规范这些细节,程序员编写了应用层协议。应用层协议根据用途划分主要分为两大类:Private communication. Standardized  services.这个很好理解,对于互联网服务来说,如果你是私人用途的...

2019-01-13 17:26:06 240

原创 [Leetcode] 747.至少是其他数字两倍的最大数

题目:在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums ...

2019-01-03 10:34:33 172

原创 [Leetcode] 724. 寻找数组的中心索引

题目:给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出: 3解释: 索...

2019-01-02 15:39:30 225

原创 Web静态页面练习

01 Home 02 Speaker 03 Schedule 04 Venue 05 Register 

2018-10-28 08:00:14 2850

原创 代码记录|C++Primer第五版练习题 第五章

第五章目录练习 5.12练习 5.14练习 5.17练习 5.21练习 5.12修改统计元音字母的程序,使其能统计以下含有两个字符的字符序列的数量:ff、fl和fi。方法一:#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;vector&gt;using namespace std;i...

2018-09-14 20:51:19 335 1

原创 关于旧版本(2013/2015)Microsoft Visual Studio的卸载

下载微软官方卸载工具,已在GitHub上开源,点击这里下载。以管理员的身份运行Setup.ForcedUninstall.exe,弹出控制台窗口。窗口询问:Would you like to continue?[Y/N]输入:Y 回车程序开始运行,等待卸载完成即可。PS:如果一次没有卸载干净,可以手动卸载+多次运行该程序,直到完全清理干净。 ...

2018-09-03 23:34:32 5668 1

空空如也

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

TA关注的人

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