使用树莓派搭建wordpress博客网站
使用树莓派搭建wordpress博客网站下载wordpress下载地址:https://wordpress.org/
安装树莓派详情参考《这篇文章》
环境搭建
由于虚拟机出现了点问题——无法设置共享文件夹——virtualbox中,文件权限修改的时候总会报错“read only file system”,尝试了重新挂载等诸多方法未果,改到Windows下使用VMware,结果安装VMwaretools的选项呈灰色,无法点击,也是没能解决(最近没能解决的事情也太多了……)
但是作业还是要交的,只能暂时放弃修复,选择使用网盘传输(奶牛快传)(可气的是共享粘贴板也没办法正常使用……):
只好手动输入网址:
安装php1sudo apt install php
默认安装的版本是7.3可用php -v查看
安装mysql常规思路也还是不行(疯了,树莓派使我处处碰壁),经过一番查证,应该安装mysql的升级版——mariadb,安装命令:
1sudo apt-get install mariadb-server
默认情况下MariaDB安装好后都没有配置访问用户的密码,因此如果需要远程连 ...
内网穿透软件推荐
[toc]
上一篇介绍了内网穿透的过程,这一篇推荐一下内网穿透的工具(需要看结果的直接滑到最后吧):
花生壳链接:https://hsk.oray.com/
简评
花生壳应该算是业界大佬,平常大家使用的向日葵远程控制软件就是该公司的产品
优点:信誉保障,教程完善,界面美观,有免费套餐两条映射,支持在网站查看远程端口
缺点:免费套餐限流量,需要实名认证,支持架构少
cpolar链接:https://www.cpolar.com/
简评
优点: 有免费套餐,不限流量,不需要手机号注册,支持架构多,使用简单,界面简洁,支持在网站查看远程端口
缺点:网站指引不太明确
natapp链接:http://www.neiwangchuantou.cn/archives/234.html
简评
优点:界面简洁,有免费套餐,不限流量,支持架构多,文档完整
缺点:需要实名认证
网云穿链接:https://www.xiaomy.net/
简评
优点:网站界面清晰明了,有免费套餐
缺点:手机号注册,免费套餐限流量,支持架构不多
行云管家链接:https://www.cloudbil ...
远程控制——内网穿透篇
[toc]
前言
因为某些原因,想要远程控制自己的电脑,但是公司条件不允许常规的远程软件,所以就想到了利用内网穿透+ssh进行简单的远程操作,起码传输文件和项目编译都会稍微方便一点点~
说明,本文选择使用cpolar进行测试,为了排除局域网的可能性干扰,本文测试环境为:
受控端:ubuntu20.04
控制端:Android-Termux
内网穿透
开通帐号
记录下这一步是因为有的软件需要实名认证,而有的不需要,侧面也反映一些问题,大家自己品就好了~
注册账户基本是必要的,所以有互联网洁癖的同志可以注意一下;
注册完成后选择免费套餐即可
下载软件
如果没注册的话,可以从这里直接下载
使用方式如图,下载之后还是需要在登录后的“仪表盘”界面找到使用方法和token(authtoekn),有的网站可能叫“控制台”或者“我的隧道”;
第二步:在window可以直接右键解压,linux或MacOS的话可以使用命令解压(其实右键也可以,提前给文件chmod 777、chown $user也可以右键解压)
比如我把软件解压到/opt/cpolar下
...
Python实现最小生成树--Prim算法和Kruskal算法
Python实现最小生成树–Prim算法和Kruskal算法前言
最小生成树涉及到在互联网中网游设计者和网络收音机所面临的问题:信息传播问题。其中最简单的解法是由广播源维护一个收听者的列表,将每条信息向每个收听者发送一次,即单播解法。而单播解法的问题也很明显:路由器网络中,有一些路由器会发送相同的信息,给互联网络增加负担,产生额外流量。另一种方法是洪水解法,每条消息只发送一次,给所有的路由器,每个路由器再尽可能的发送给相连的主机或路由器。洪水解法如果没有限制的话,许多路由器和主机将不停的接收到重复的消息,所以洪水解法一般会给每条消息设置TTL值,以此对信息传播进行限制。
而通过分析和研究,信息广播问题的最优解法,依赖于路由器关系图上选取具有最小权重的生成树。沿着最小生成树的路径层次传播,达到每个路由器只需要处理1次消息,同时总费用最小。
解决最小生成树问题常用的有Prim算法和Kruskal算法,二者均基于贪心算法。Prim算法思想很简单,即每步都沿着最小权重的边向前搜索,找到一条权重最小的可以安全添加的边,将边添加到树中。Kruskal算法是对所有的权重进行排序,再次体现贪 ...
BIOS、UEFI、Boot Loader都是些什么
什么是BIOS
Basic Input Output System(基本输入输出系统)
其实就是一组保存着计算机最重要的基本输入输出的程序、开机后自检程序、系统自启动程序,并固化到计算机内主板上的一个ROM芯片上的程序。
基本的输入输出是什么BIOS的终极目标:
“BIOS的最主要的功能:初始化硬件平台和提供硬件的软件抽象,引导操作系统启动。”
所以:
输入的是:硬件平台的信息
输出的是:硬件的软件抽象
然后将引导文件加载至内存引导操作系统启动
自检程序“检”了什么
每个硬件平台都需要发现IO总线,因为数据的传输离不开总线。
所谓的系统自检,就是Power On Self Test,也就是图中的POST过程。在传统BIOS的上电阶段,通过IO枚举发现总线,进入到标准描述的平台接口部分。
系统自启动了什么
自启动了操作系统呀~毕竟按下电源只是启动了BIOS程序。
此外,在传统BIOS程序中,还不支持文件系统,不像上图的Dell主板,可以手动的添加引导文件,在传统BIOS启动之后,BIOS会自动加载MBR的主引导记录,使操作系统“自行启动”
所以我们再看什么是BIOS?
输入:围绕 ...
Archinux入门
Archinux入门安装
ArchLinux由于安装困难, 让Linux初学者望而止步. 本文是一篇
树莓派入门--在Linux下搭建开发环境
树莓派入门–在Linux下搭建开发环境[toc]
环境由于网上绝大多数教程应该都是在Windows在如何烧写系统之类的,而我身为一个Linux用户(已经爱上Linux),就为Linux下的使用增添加瓦吧~(其实是因为我之前白嫖的内网穿透开始莫名其妙不给我用了,可能是嫖太多了emmmm,考虑到白嫖工具的网速之类问题,顺手就自己搭一个内网穿透环境吧(见下篇))
系统:Ubuntu20.10
架构:X64
材料:64G- TF卡一张、读卡器一个、树莓派4B 4G板卡一个
TF卡制作其实和Windows下的区别,无非就是制作系统的步骤不一样、ssh的步骤不一样~(好像也就这两步哈?)
格式化分区Ubuntu生态较为完备,一般可以直接使用磁盘工具进行设置:
如果没有这样的软件,当然用命令行都可以做到呀:
12345678fdisk /dev/sdb #sdb表示你的TF卡g #创建gpt磁盘n #创建分区默认 #起始扇区,考虑分区对齐,所以从2048开始默认 #结束扇区,用于将整个TF卡格式化t #改变分区类型C12A7328-F81F-11D2-BA4 ...
磁盘格式及其ID信息
磁盘格式及其ID信息GPT
序号
名称
ID
1
EFI System
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
2
MBR partition scheme
024DEE41-33E7-11D3-9D69-0008C781F39F
3
Intel Fast Flash
D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
4
BIOS boot
21686148-6449-6E6F-744E-656564454649
5
Microsoft reserved
E3C9E316-0B5C-4DB8-817D-F92DF00215AE
6
Microsoft basic data
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
7
Microsoft LDM metadata
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
8
Microsoft LDM data
AF9B60A0-1431-4F62-BC68-3311714A69AD
9
W ...
Ubuntu19.10使用Qemu安装树莓派
Ubuntu19.10使用Qemu安装树莓派
之前一直是在Windows下鼓捣虚拟机,这次试试qemu
安装安装qemu1sudo apt install qemu
安装树莓派在github上找到相应版本的内核和设备树文件。先创建一个项目目录,把镜像文件、设备树文件,和内核文件都放进去然后fdisk -l 2020-02-13-raspbian-buster.img查看硬盘实体使用情况将img2的起点地址乘以单元扇区大小,得到镜像应该挂载的偏移量。sudo mount -v -o offset=272629760 -t ext4 ~/qemu_raspi/2020-02-13-raspbian-buster.img /mnt/raspbian其中的/mnt/raspbian文件夹要提前建好接下来编辑/mnt/raspbian/ld.so.preload文件,将其中的内容注释(行首加“#”注释),然后使用umount卸载已经加载的文件系统
1sudo umount /mnt/raspbian
然后执行模拟树莓派的命令,参考github上的说明:修改相关参数,最终命令如下:
1qe ...
八位Booth(二位)乘法器
八位“Booth二位乘算法”乘法器原理补码乘法器之前介绍了几篇无符号乘法器或加法器的写法,当然,稍作修改也就可以改成符合有符号数的乘法器或加法器。
但是呢,我们之前写的乘法器或加法器,其实都是默认是正数来写的,而且是以正数的原码来写的,所以上面说稍作修改也就可以成为有符号数的乘法器或加法器,其实就是对我们以为的原码进行取补码,再进行乘法或加法的运算。
随着计算机硬件部件的升级,处理器技术的发展,现代处理器中的定点数(小数点位置固定)都是按照补码形式来存储的。
所以在之前写的无符号加法器中,只要利用:$$X_补+Y_补=[X+Y]_补$$就可以轻易将原先的加法器改写成有符号加法器——只要对结果再取一次补码即可。
但是乘法器呢?稍作学习可以知道,补码的乘法是这样的:$$XY_补=[XY]_补$$我们再考虑一下之前所说的:在现代处理器中的定点数都是按照补码形式来存储的。
所以我们要想得到两个数的乘法结果,首先应该知道被乘数的原码和补码,再对最终结果取补码,即可得到我们期望的乘法结果。
那么如何求“X*Y补”呢?在处理器中,一个二进制数Y补形如y7y6y5y4y3y2y ...