草庐IT

万字长文,带你彻底搞懂 HTTPS(文末附实战)

大家好,我是满天星,欢迎来到我的技术角落,本期我将带你一起来了解HTTPS。前言其实网上写HTTPS的文章也不少了,但是不少文章都是从原理上泛泛而谈,只讲概念,没有讲原因,作为小白,看完还是会有一种似懂非懂的感觉。本文尝试从HTTP开始,一步一步深入到HTTPS,告诉你HTTPS到底是什么、为什么需要HTTPS、以及HTTPS到底是怎么做的。相信你在阅读完本文后,一定会对HTTPS有深入的了解。纸上得来终觉浅,除开原理部分外,本文还提供了HTTP和HTTPS的实战教程,帮助你从0开始搭建一个HTTPS加密的Web服务器,如果按照实战教程一步一步走下来,那么你将对HTTPS有更进一步的把握。好了

万字长文,带你彻底搞懂 HTTPS(文末附实战)

大家好,我是满天星,欢迎来到我的技术角落,本期我将带你一起来了解HTTPS。前言其实网上写HTTPS的文章也不少了,但是不少文章都是从原理上泛泛而谈,只讲概念,没有讲原因,作为小白,看完还是会有一种似懂非懂的感觉。本文尝试从HTTP开始,一步一步深入到HTTPS,告诉你HTTPS到底是什么、为什么需要HTTPS、以及HTTPS到底是怎么做的。相信你在阅读完本文后,一定会对HTTPS有深入的了解。纸上得来终觉浅,除开原理部分外,本文还提供了HTTP和HTTPS的实战教程,帮助你从0开始搭建一个HTTPS加密的Web服务器,如果按照实战教程一步一步走下来,那么你将对HTTPS有更进一步的把握。好了

1分钟做出苹果Vision Pro「官网」?上班8小时搞出480个网页,同事被卷疯了

最近,全世界都被苹果的MR头显给炸场了。把这么多复杂硬件整合成如同一个piece的产品,VisionPro简直堪称苹果的创二世纪。如此炸裂的效果,但是却要等到明年才小规模开售,小编按捺不住内心的激动,忍不住想给它做个销售网站。虽然没有什么做网站的经验,也不会写代码,但最近AI大模型的蓬勃兴盛,让小编充满自信:一定有这么一款AI产品,让我仅凭自然语言,就能把网站做出来。果然,稍加搜索,小编就发现了这款AIGC产品——即时AI,它能够让我们通过自然语言描述就生成网页设计稿,还能一键将其发布为在线网页。话不多说,先上结果:别看设计如此丰富,但过程其实非常简单。首先,在即时AI官网输入咒语,等待1分钟

你真的会用iPad吗,如何使iPad秒变生产力工具?在iPad上用vscode写代码搞开发

目录前言视频教程1.本地环境配置2.内网穿透2.1安装cpolar内网穿透(支持一键自动安装脚本)2.2创建HTTP隧道3.测试远程访问4.配置固定二级子域名4.1保留二级子域名4.2配置二级子域名5.测试使用固定二级子域名远程访问6.iPad通过软件远程vscode6.1创建TCP隧道7.ipad远程vscode8.配置固定TCP端口地址8.1保留固定TCP地址8.2配置固定TCP端口地址9.使用固定TCP地址远程vscode前言随着平板电脑的普及,大多数人的生活习惯和生活场景都离不开平板电脑的使用,刷剧,看短视频,玩主流游戏等,但是这些只是娱乐性质的场景,那想实现把平板结合到工作或者生产之

详解二叉树,带你彻底搞懂二叉树、堆排序 、向上调整算法、向下调整算法【数据结构】

文章目录树树的相关概念树的表示孩子兄弟表示法特殊的二叉树满二叉树完全二叉树二叉树性质二叉树的顺序结构堆小根堆大根堆堆的实现堆的初始化堆向上调整算法(logN)堆的插入向下调整算法堆的删除拿到堆顶的数据获取堆的数据个数堆是否为空堆排序升序建堆时间复杂度TOP-K问题树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1因此,树是递归定义的注意:树形结

详解二叉树,带你彻底搞懂二叉树、堆排序 、向上调整算法、向下调整算法【数据结构】

文章目录树树的相关概念树的表示孩子兄弟表示法特殊的二叉树满二叉树完全二叉树二叉树性质二叉树的顺序结构堆小根堆大根堆堆的实现堆的初始化堆向上调整算法(logN)堆的插入向下调整算法堆的删除拿到堆顶的数据获取堆的数据个数堆是否为空堆排序升序建堆时间复杂度TOP-K问题树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1因此,树是递归定义的注意:树形结

一文搞懂V8引擎的垃圾回收机制

前言我们平时在写代码的过程中,好像很少需要自己手动进行垃圾回收,那么V8是如何来减少内存占用,从而避免内存溢出而导致程序崩溃的情况的。为了更高效地回收垃圾,V8引入了两个垃圾回收器,它们分别针对不同场景进行工作。垃圾从何而来我们先来搞清楚这些‘垃圾’是怎么产生的不管使用哪一种语言,我们势必都会频繁的操作数据,这些数据一般是存放在栈内存与堆内存中,通常是会在内存中创建一块空间,使用这块空间,再不需要的时候回收这块空间。比如:vartest={}test.a=newArray(100)当执行这段代码时,先会为全局对象(window)添加一个test属性,并在堆内存中创建一个空对象,并将该对象的地址

一图胜千言,帮你搞懂Go面试中常问的channel问题!

一图胜千言下面的表格中总结了对不同状态下的通道执行相应操作的结果。注意:对已经关闭的通道再执行close也会引发panic。这篇文章将重点讲解Go面试进阶知识点:select和channel。select先说switch...case...switch...case...很常用,且很好理解。其作用和if...else...一样。区别是switch...case相比于if...else...能让我们的代码看起来更清晰,更好理解。再说select...case..golang的select就是监听IO操作,当IO操作发生时,触发相应的动作。 所说的IO操作就是对channle的操作:向通道发送数据

Mysql 通过 binlog日志 恢复数据(数据搞丢看过来)

1.查看binlog是否开启#查看binlog是否开启showvariableslike'%log_bin%'; 2.锁表,防止数据被污染(可根据需求,不阻塞业务的情况)#锁表,防止数据被污染locktables表名read;3.查询最新的binlog获取binlog日志名称下一步需要用到showmasterstatus;4.查看binlog日志 showbinlogeventsin'binlog.000067';5.确定恢复范围后,执行如下命令,回滚到结束时数据状态 mysqlbinlog--start-position='起始Pos'--stop-position='结束Pos'D:/De

【机器学习sklearn】两个例子轻松搞懂核密度估计KernelDensity

前言    作业中遇到了需要使用KernelDensity的情况,但是网上的资料参差不齐,找了不短的时间却失望而归,最后还是靠着自己的理解才弄懂sklearn这个函数的使用,特此纪念。【机器学习sklearn】两个例子轻松搞懂核密度估计KernelDensity前言官方文档官方Sample解读直方图核密度 内核可视化  官方实例代码解析:我的示例所需文件获取:题目:参考答案:(jupyternotebook下环境)0.导入包1、数据预处理 2、得到最佳带宽作为真实值(我认为比较合理的方式去选取真实值)3、开始使用KDE4,计算估计密度与地面真实密度之间的MSE官方文档sklearn.neigh