![](https://img-blog.csdnimg.cn/20200309133128992.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程科普
科普
醒不了的星期八
种一棵树最好的时间是十年前,其次就是现在
展开
-
手把手带你编写微信公众号
这是一个简单的项目:简单编写微信公众号扫码关注:关注!即可提高学习效率——Peace! 实时查询城市天气 回复“美女视频网站”观看美女视频 不定时推送小姐姐视频和图片合集 Docker线上部署SpringBoot如果您不知道如何开始编写的话,可参考我的Github代码。仅供交流学习,代码业务可方便扩展如果您喜欢的话,请给我一个star!如果您有任何疑问,请提...原创 2020-08-12 10:20:16 · 1775 阅读 · 0 评论 -
Netlify: 前端Vue/React自动化部署服务
Netlify在我以前的博文有介绍。这里打包这个“群聊”项目,这里只演示前端怎么部署,后端是用express写的,部署同理。1. 上传vue项目到Github上:vscode中提交并推送到Github上:这时需要添加远程:2. 打开Netlify:这将让我们打包后的dist目录上线:自动化部署,就是本地对Github上的任何修改都会触发Netlify重新执行Build command。上面的域...原创 2020-06-21 13:22:14 · 809 阅读 · 0 评论 -
压测工具:jmeter
衡量当前系统应对高并发的量,压测工具不能少。1.下载jmeter:进入官网2.使用jmeter:进入bin目录:或者双击:2.1 添加测试计划,线程组的基本属性:2.2取样器:取样器是我们真正进行测试的内容。比如http、ftp、jdbc的测试等。这里以http请求测试为例:这里的100是运行后可以看到这里在乱闪并很快归0.这是因为线程启动后进行了请求,并马上请求成功,线程就结束了。这里没看到i请求结原创 2020-05-25 17:26:32 · 1244 阅读 · 0 评论 -
删除文件并清空回收站后找回数据的原理
清空回收站后数据就彻底消失了?答案:不。数据删除与恢复的原理电脑是用2进制进行存储和计算数据的,磁盘同样也是利用2进制进行存储数据,无论是电脑上的磁盘还是手机上的内存颗粒都是这样。假设一块磁盘可以存储64字节的数据。这时候64个格子里什么数据都没有,默认就全部是0:现在假设有这么一组大小是13个字节的数据他们合起来叫文件A:这时把这13个字节存入到这块磁盘:...原创 2020-05-04 12:05:23 · 2462 阅读 · 1 评论 -
JVM: GC过程
堆区是用来存储new出来的对象的,当对象填充满堆区后,就会导致内存爆掉,程序就GG了。就需要科学的进行GC:首先需要判断这个对象是否应该被删除,如果应该被删除,那么需要将这个对象清理掉。判断的标准:GCRoot(一般是指被栈上的直接或间接引用、本地方法栈直接或间接引用的对象、方法区的j静态static变量或常量直接或间接引用的对象)和GCRoot没有相连的关系的就可以删除。...原创 2020-04-21 08:55:40 · 612 阅读 · 0 评论 -
Java: 逃逸分析
概述:对象一般都是在堆上生成的,也不是绝对的,特例:逃逸分析。JVM 在分析代码之后,发现一个对象在声明之后只有在当前运行的函数中调用,那么就会将这个对象在栈上申请空间,而不是在堆上。这就是JDK6上的逃逸分析。因为在栈上申请的对象函数执行完毕后直接清理,就大大减少了GC的压力。demo:传入的value应当大于127或小于-128。编辑运行的模式,设置堆的大小为10...原创 2020-04-14 11:57:20 · 273 阅读 · 0 评论 -
腾讯云:从0到1手把手带你Web开发个人网站及其线上部署 (阿里云同理)
部署到云服务器上的原因:本地开发完一个web项目是可以用本地电脑作为服务器的。但是本地电脑可能因为电脑的环境、硬件等原因导致电脑处于关机状态。此时部署到本机电脑的项目外界就无法通过网络访问了。云服务相对于本地电脑来说,可以保证无时无刻都不处于关机状态,用户可以时刻访问做好的web项目查看效果。项目上线流程:本地开发web项目(这里以go为例) 本地环境搭建 本地web项目代...原创 2020-04-08 22:49:50 · 1078 阅读 · 0 评论 -
XML的解析
目标是解析一个xml文件:因为解析XML是很重要的技能:比如微信公众号的后台开发、spring的原理、android的xml系统流程解析布局等。skill写成了kill,手动滑稽~xml有2种解析方式:dom解析(w3c标准解析方法,但是效率低。文档dom树,子节点又有小节点。开辟内存空间把整个dom树弄进来。如果文档大,则dom树占用的内存消耗很大。且如果只要解析一个节点,全...原创 2020-04-06 21:15:41 · 386 阅读 · 0 评论 -
SVG
SVG:SVG即可缩放的矢量图。svg矢量图画质更加细腻和精美,但浏览器渲染压力大。适用一些简单的动画和图表展示。而canvas是像素化的,没有svg精致但是性能更好,所以很多web游戏都是基于canvas的。矢量图无论我们放大多少倍,它2点之间的连线如果是直线的话就会始终保持直线,而不像位图。位图是一直放大后看到2点之间的直线变得模糊,呈现锯齿状:这是因为位图是...原创 2020-04-06 11:46:16 · 587 阅读 · 0 评论 -
代码审查
代码审查:一种有效帮助提升代码质量的有效途径。代码审查3W(what why when) 常见的代码审查工具 代码审查流程1.代码审查3W(what why when):代码审查:对计算机源代码系统化的审查,常用软件同行评审的方式进行,目的是找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。1.1 why:帮助提升代码质量、上下文共享、帮助新人快速融入项目...原创 2020-03-26 20:25:01 · 1372 阅读 · 0 评论 -
前端:让我们做一个快乐的切图仔!
切图:PS切图 蓝湖切图(新兴主流切图工具)PS切图1.菜单和界面的介绍:新建窗口的预设 主要面板:信息、图层、历史记录、字符1.1新建窗口的预设常用的是web预设和1920*1080,当然是可以在右边修改的。分辨率72:在网络上、电脑上能看到的图像都是用72就够了。分辨率越高,图像越清晰,图像的占用大小也会越大(几百M都有可能)。照片一般需要打印,...原创 2020-03-25 16:22:31 · 1264 阅读 · 0 评论 -
RabbitMQ: centos7安装指南
以后会写篇SpringBoot整合消息服务、SpringBoot的邮件发送、定时任务、批处理、Swagger2、数据校验RabbitmMQ服务器安装:1.安装erlang:(这时一个很古老 的编程语言)wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rp2....原创 2020-03-20 11:57:25 · 280 阅读 · 0 评论 -
快速了解curl用法
常用参数汇总:-s参数省略进度条: -o参数将结果下载下来: -H参数指定请求头, -d参数指定请求的内容, -X参数指定请求的方法最简单的用法:-s参数省略进度条:-o参数将结果下载下来:-H参数指定请求头,-d参数指定请求的内容,-X参数指定请求的方法上面是以queryString和表单FormData的形式提交。我们还可...原创 2020-03-18 17:39:45 · 313 阅读 · 0 评论 -
Java: 2进制与基本类型
纲要:计算机中的进制位值制计数法 Java中的进制 位运算基本数据类型的存储Java中的整数类型 IEEE754及BigDecimal 小数的2进制化 Java中的字符型和布尔型计算机中的进制1.位值制计数法定义: 按位置决定数值的方式来计数的方法一个数的大小是用一组有顺序的数字表示。例如: 1 2 3的全排列是表示不一样的数值。[可以自己试着用dfs深度优先...原创 2020-03-17 14:03:43 · 1452 阅读 · 0 评论 -
CPU-Z、GPU-Z:查看电脑的CPU处理器、GPU显卡信息
CPU-Z下载安装:GPU-Z下载安装:这里选择No.扩展知识:CPU天梯图:http://www.mydrivers.com/zhuanti/tianti/cpu/GPU 天梯图:http://m.xitongcheng.com/jiaocheng/dnrj_article_55009.html?searchid=10_1426547584_158200671...原创 2020-03-15 17:30:15 · 4597 阅读 · 0 评论 -
Linux: 文件查找与读取的常用指令科普
概览find:查找文件(场景1~5) grep:查找文件中的内容(场景6) more、cat、tail、head:查看文件场景一:(基于文件名查找:-name)写了一个yinlei.txt,但忘记放在哪个文件夹下。1.基于当前目录进行查找:2.基于全局目录查找:基于的路径越靠上,查找的时间就越长.这里使用第2种解决问题:其他过滤参数:...原创 2020-03-12 21:21:36 · 725 阅读 · 0 评论 -
chrome: console选项卡中的换行
emm,大佬勿喷。。。。很多时候我们需要在控制台上进行输入代码调试:但是,当我们写函数需要花括号换行的时候,很多人常常按下了回车键Enter:这不是我们i想要的。正确的做法应该是:Shift+Enter键在函数内换行...原创 2020-03-09 14:18:42 · 1256 阅读 · 0 评论 -
雪碧图/精灵图: 精准定位
对于一张雪碧图/精灵图来说,是可以帮助我们前端减少资源请求数目的,将需要的图片都归纳在一个网络请求中,这样就减少了请求数,即提高了性能。但是,对于雪碧图的定位来说也是比较头疼的,常常需要打开PS去算。这里推荐一个网站:http://www.spritecow.com/假设有一张雪碧图:假设要获取其中一个图标的位置,那么打开http://www.spritecow.com/网站后...原创 2020-03-08 15:38:16 · 11440 阅读 · 0 评论 -
SSH免密登录整理
SSH免密登录的步骤:准备工作:准备2台机器,192.168.78.131充当PC端,充当Server端。首先询问是否记住陌生的IP。然后他会问【要登录端】的密码。此时问的是yinlei这个用户的密码而不是root的密码.【ssh不指定用户名的情况下会以当前linux登录的用户作为登录别的机器的用户名】原因是当前机器的用户是yinlei,所以会问我...原创 2020-02-26 13:44:50 · 369 阅读 · 0 评论 -
DNS原理
域名:比如访问百度,输入其中的baidu.com就是域名。域名是为了方便记忆.现在的计算机网络体系是基于TCP/IP的。如果没有域名的话,就需要写百度的ip地址,IP地址难记,但是记住baidu.com这个域名确是容易记住的。DNS:DNS是将域名实际解析成IP,因为最后还是是需要IP,最终去访问IP地址。Chrome访问浏览器的大致过程:chrome中输入...原创 2020-02-25 09:33:39 · 303 阅读 · 0 评论 -
Github修改他人项目并且提交给原作者
1.我需要更改他的内容,我们就直接fork这个项目:2.就可以看到这个项目已经被我fork了3.就可以直接clone下我们自己的项目来了4.clone下来之后就可以更改了这里假设添加一个yinlei.txt5.提交更新到我们的远程仓库上:(add commit push)6.点击项目上的Pull request去请求7.到这里...原创 2020-02-24 09:41:37 · 557 阅读 · 0 评论 -
Linux: cron定时脚本
例如ubuntu打开:/etc/crontab,有注释说明例如上面的 划线的指令就是刚刚根据上方的注释编写定时执行脚本。因为是云服务器,所以user-name 为root,.sh是脚本文件,记得脚本文件需要绝对路径。概念:cron是unix系统下自带的一个工具,伴随着系统的启动并是个守护进程。什么是unix系统?常用的linux、macos都属于unix系统cr...原创 2020-02-14 14:35:37 · 1215 阅读 · 0 评论 -
Android: Java的ClassLoader和Android的ClassLoader的区别
他们的不同点:Java的引导类加载器是由C++编写的,Android中的引导类加载器则是用Java编写的。 Android的继承关系要比java继承关系更加复杂一些,提供的功能也多。 由于android中加载的不再是class文件,因此android中没有ExtClassLoader和AppClassLoader。代替的是PathClassLoader、DexClassLoader.Ja...原创 2020-02-10 22:22:37 · 587 阅读 · 1 评论 -
JVM内存模型解析
jvm是为GC做铺垫。JVM内存模型分为5个区域。在java运行时,JVM虚拟机拿到自己能支配的内存后,将内存进行割分为5个区域:栈区:存储函数当前运行过程中的临时变量。 堆区:主要存对象 本地方法栈:存储c++等native运行时候的栈区 程序计数器:指向程序当前运行的位置。 方法区: 存储一些元数据信息。JDK7之前叫永久代。JDK8+改为元数据空间。主要存储一些静态的...原创 2020-02-04 18:34:08 · 244 阅读 · 2 评论 -
Java: 对象的大小怎么算
用这个包计算对象的大小:可以看到这个integer包装类是16字节。int是值类型,占用的大小是4字节。为什么Integer是16字节。涉及对象的计算方法。因为Integer是一个对象。其中标记包括主要是看作为一把锁是不是被别人占用了、对象的hashcode、对象的年龄(年龄超过6就为老年代(GC年龄))如果是数组还会有一个标记对象数组长度的占用4字节。所...原创 2020-02-04 17:32:09 · 610 阅读 · 0 评论 -
Maven私服(windows)
纲要了解Maven私服 maven私服搭建流程 android项目接入maven私服Maven私服:maven仓库的体系结构:私服的优势:maven私服搭建流程私服的搭建依赖一个开源工程Nexus启动:nexus.exe /run打开浏览器,输入localhost:8081:初次使用进入向导:设置完密码后就可以使用了...原创 2020-02-04 21:32:02 · 219 阅读 · 0 评论 -
超棒的打字网站分享
打字指法可以让我们快速打字和避免手累:推荐网站:https://www.typingclub.com/原创 2020-02-01 13:56:56 · 1390 阅读 · 0 评论 -
Vim常用快捷键整理
Vim模式及创建文件:Vim的基本操作与光标移动:yy是拷贝一行,yw是拷贝一个词(以空格为准)Vim查找替换与多窗口:可以用正则设置行号: :set number...原创 2020-01-30 11:26:27 · 265 阅读 · 1 评论 -
关于HTTP的那点事
安卓的网络交互过程中,免不了什么get、post方式。因此,了解一点http对自己也是一种好事。HTTP简介、三次握手四次挥手等知识略过。HTTP协议的主要特点:• 支持C/S(客户/服务器)模式。• 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、 POST,每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得HTT...原创 2019-04-20 15:38:02 · 383 阅读 · 0 评论 -
Serverless云平台(2):Begin
创建好账号后会给我们示例:staging和production分别是上线前的开发环境和线上环境。Begin帮我们做了区分便于开发。部署:...原创 2020-01-22 00:55:30 · 257 阅读 · 0 评论 -
Serverless云平台(1):netlify
Serverless/Faas.简单用法:这就代表着我们刚刚的静态页面部署成功了。缺点:拖拽的文件不能修改,等下次网站更新的时候需要自己重新拖拽上传上去。所以拖拽方式只适合静态的部署。静态的页面不属于函数。那么看看如何部署一个函数:先安装模块使用netlify login来进行登录初始化netlify项目:要写nodejs还需要初始化为n...原创 2020-01-22 00:34:16 · 638 阅读 · 0 评论 -
云计算的未来:Serverless/Faas
虚拟化的云计算方式:IaaS基础设施即服务【邮箱、微信、支付宝等】 PaaS平台即服务【数据库服务、大数据计算平台】 Saas软件即服务【云服务器、cpu、硬盘】随着云计算的发展,新的运算模式被提出:FaasFaas:函数即服务function as a service在大多数情况下,可以将服务抽象为一个函数,需要一定的输入,经过处理后产生一定的输出,即是高度的抽象。起始...原创 2020-01-21 23:50:51 · 885 阅读 · 2 评论 -
Android: Root(2)刷机的流程及相关概念
刷机流程图:名词:解BL锁 recovery fastboot 刷入ROM包BL锁:获取Root权限:华为刷机的第一步是要解锁Bootloader通过网上的刷机软件获取root权限。解锁Bootloader需要官方提供解锁码。但2018年官方不提供解锁码了,所以现在华为一般是没法刷机。。【淘宝有牛人】Recovery:购买的手机自带Recovery....原创 2020-01-21 20:36:03 · 480 阅读 · 0 评论 -
进程间通信的方式——信号
进程间通信的方式大概有5+种:1.管道:这句命令的意思就是将ls这个进程拿到的结果作为grep进程的输入实现了进程间的通信,这个就是管道。2.消息队列3.共享内存消息队列和共享内存不好演示。233消息队列就是内核给我们创建的一个消息队列。操作系统中的多个进程都可以操作这个消息队列,可以往它里面发送、接收消息。共享内存是每一个进程在访问内存的时候会有一个虚拟内存地址...原创 2020-01-20 22:24:43 · 619 阅读 · 0 评论 -
用户态与内核态
用户态、内核态指的是我们的程序所处于的一个状态。通俗点说,我们写了一段程序,它在运行过程中有可能处于内核态或用户态。假如当前处于内核态,下一时刻就可能切换为用户态。用户态与内核态的切换:切换的触发条件:程序需要去申请外部资源。【系统调用、中断、异常】这里说的是用户态切换到内核态,当内核态相关操作执行完毕后就会退回用户态。外部资源:内存条 网卡 磁盘 声卡 网卡 u...原创 2020-01-20 21:30:08 · 291 阅读 · 0 评论 -
Ghost系统与原系统windows的区别
GHOST:(过时了)通用硬件导向系统转移,是美国赛门铁克公司旗下的一款硬盘备份还原工具。其功能:复制备份、还原整个硬盘或单一分区【所说的Ghost系统大多指此工具制作出的GHO文件】制作过程大致步骤概述:在电脑上安装一个原版系统 各种精简再加料【捆绑、广告就是这里进去的】 用工具封装 用GHOST软件备份分区 顺便可以用GRUB4005写个简单的引导页面再刻个光盘【这样...原创 2020-01-20 14:32:21 · 1734 阅读 · 1 评论 -
Android: Root是啥?(1)
Android中的Root和iOS的越狱相似。Root定义:Android底层是Linux。而Root就是获取Android操作系统的超级用户权限,通常帮助用户越过手机制造商的限制。使得用户可以卸载手机制造商预装在手机中的某些应用【这里就是指捆绑应用】以及运行一些需要超级用户权限的应用程序。Android获取Root和Linux获取Root差不多【不过由于现在Android的升级迭...原创 2020-01-20 14:10:23 · 269 阅读 · 0 评论 -
Markdown语法汇总
Markdown 编写的文档后缀为.md,.markdown。在线编辑Markdown:https://www.mdeditor.com/标题:1、使用 = 和 - 标记一级和二级标题2.使用 # 号标记段落:段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。也可以在段落后面使用一个空行来表示重新开始一个段落。...原创 2020-01-03 22:09:42 · 186 阅读 · 0 评论 -
win10查看电池损耗:生成损耗报告
win+x键盘:选择windows Powershell(管理员)。打开后输入如下指令:powercfg /batteryreport /output "C:\battery_report.html"。然后打开c盘:看不懂的就用谷歌翻译。。。...原创 2019-11-27 18:54:45 · 3597 阅读 · 1 评论 -
乱码的原因
乱码原因:计算机只能处理0、1 这2个数字。要处理文本,必须把文本变成0、1这样的数字。最早的计算机使用8个0和1来表示1个字节。所以最大能够表示的整数是255 = 11111111.如果想要表示更大的数,就必须使用更多的字节。计算机是美国人发明的。最早只有127个字符编写进计算机,即常见的阿拉伯数字、字母大小写、键盘上的符号。这个编码被称为ASCII编码。如字母A的ASCII编码为6...原创 2019-11-24 16:58:19 · 326 阅读 · 0 评论