在C中面向对象:#0x0 封装、继承与多态
前言:为什么要在C中面向对象
虽然c++由c语言发展而来,且其中(大部分)兼容了c的语法。它解决了c中开发繁杂(没有对象、抽象方法),不好阅读(为了实现多态,指针、强制类型转换满天飞),不易维护等痛点。
但不得不说,现在的c++更像一锅大杂烩,学习难度指数级上升。而c与其相比就变得很容易入门了(基础总共就那么点)。而且,很多的嵌入式项目并没有提供c++的工具链,导致仍然不得不使用c编程 (或者折腾一周环境之后,回到用c编程)
当然……以上其实并没有完全说明为什么要在c中面向对象。毕竟要实现的话,又繁琐又不方便……
但是它很有挑战不是喵!而且还可以学到一些新的技巧。
什么是面向对象编程
对于一个程序,可以分为两部分:
数据(你希望处理的东西)
算法(如何处理这些数据)
面向过程编程
C就是一个典型的面向过程的语言。它的数据和算法是分开的,你通过将数据一个一个放到函数里进行处理,获得想要的结果。
面向对象编程
面向对象就是将数据和算法包在一起,做成一个东西。接下来无论你想要做什么(无论是改变参数还是产生行为),你都直接告诉这个东西就好
想要让一个语言能够面向对象,一般需要实现三个特征: ...
一种利用机场搭建wireguard VPN的方法
原因
机场可以更大程度上的保证连接的稳定性(不会被乱掐)
v2ray中支持的socks、websocket、http等代理方式均是5层的代理,而wireguard是一个三层的代理。在搭建一些必须要在一个子网内的服务时,三层代理便是一个必不可少的选项了。
声明
我使用这种方式的原因只是为了使得跨境的vps位于同一子网中通信。请在使用任何方法时注意法律法规及公序良俗,对于任意基于此方法的行为请自行斟酌。
前期准备
安装必要软件
以下均以Debian-bullseye为例
首先,在需要连接的两台机器上安装wireguard与v2ray
(v2ray仅需要在主动连接到机场的机器上进行安装)
1234apt updateapt upgradeapt install wireguard-tools wireguard-dkmsapt install v2ray
(v2ray已经被Debian官方收录进了源内。若您采用的系统没有收录,请参考v2ray官方的教程)
确定机场的配置
对于大多数的机场,都并不会给v2ray-core的配置文件。对此的解决方式是:用v2rayN来转换
打开v2rayN ...
n8n—一款开源信息流工具的自搭建与使用
什么是n8n
n8n是一款开源的自动工作流处理工具。
举个例子,现在老师要你按照excel里的邮箱给每个人发送些许不同的邮件(可能名字有区别啊)
或者要求你每次把一个平台上的内容转发到另一个平台上啊
或者同步几个文件的数据啊……
甚至!在进门之后关灯这种事
有些时候,这种看起来写个脚本就能重复做的事情超多,但是脚本写起来又会有一点麻烦
你就需要n8n这种图形化的节点编辑工具啦~~
(至少它官网是这么写的)
但是在生活中捏,我一般用它来同步博客/twitter/QQ空间/bilibili……上面发布的内容
(比如,你要是在bilibili或者twitter上面看到了这篇文章的链接,那就是n8n推送过去的
(懒是人类进步的阶梯嘛————
为什么用n8n
它免费。
你还需要第二个理由吗!!!(xxx
那让我们开始搭建吧~~
这里是官方的doc
//老实说官方的比我写的好多了。为什么不按照官方的文档来一把,然后goto usage呢?
before
Docker
当然,你可以把n8n直接搭建在裸机上,或者……还是套层Docker吧,方便以后迁移
以下均以某盒装安装介质Debian系统为例
...
踩坑DN42-p2-peer!
这篇文章可能会存在不精确、错误、过时等问题。遇到时请务必留言给喵喵修改!!
在上一集中,俺们在DN42上注册了一个ASN,并申请到了IP地址池。那接下来,就该开始和别人建立连接了。
而这,就叫做:
PEER!
before
你可能需要:
更新一下系统和软件
apt update && apt upgrade
关闭所有的防火墙,并打开路由转发,关闭rp_filter
12345678echo "net.ipv4.ip_forward=1" >> /etc/sysctl.confecho "net.ipv6.conf.default.forwarding=1" >> /etc/sysctl.confecho "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.confsysctl -pecho "net.ipv4.conf.default.rp_filter=2" >> /etc/sysctl.confe ...
搭建一个KMS服务器
0x55aa 为什么
因为好玩!(x
当然,市面上已经有着各种的kms激活器。可,每一个激活器都会多多少少的报毒
虽然我们对于那些激活器的作者十分信任,但是……谁知道有木有谁在里面真的藏了点什么呢?
嘛……所以,最放心的方式当然是自己来啦~
0x00 什么是KMS?
Microsoft官方Q&A
Wikipedia的介绍
KMS,全称Key Management Service,是Windows批量激活的方式。
众所周知,当使用个人版的Windows时,会让你输入一个激活密钥
但是!当到了企业、学校中的时候……总不可能买一堆堆密钥回来一个一个手动激活吧
于是,这个时候在企业、学校内网之中便可以lei部署一台服务器用来专门激活这些批量版的Windows,而这个激活使用的服务就是KMS
0x01 搭建
你需要:
一台非本机的电脑/开一个虚拟机(Windows禁止了激活服务器和被激活机器为同一台机器
没了。(就介么简单!
首先下载一下这个模拟KMS服务器的东西
vlmcsd
make一下
然后运行它
vlmcsd -L 0.0.0.0:1688
没了。
(就这么简单)
0x02 ...
踩坑DN42 p1 注册
这篇文章可能会存在不精确、错误、过时等问题。遇到时请务必留言给喵喵修改!!
DN42简介
DN42(Decentralized Network 42)是一个虚拟的去中心化的网络。其中的节点用VPN相连。网络中使用了大量现代互联网采用的技术,如BGP、DNS等。
可以说,它模拟出了一个小型的全球互联网。
需要注意的是,DN42并不提供匿名化、规避审查的服务
它更像一个用来在加入现实互联网之前进行练手和测试的网络。(或者学习怎么破坏半个互联网(不要)
在DN42里,你要像现实中一样去在互联网分配机构(如ICANN)注册你的AS、IP地址池等,并搭建BGP服务然后和别人进行peer来加入网络。
唯一和现实的区别嘛…不用交一大笔钱!
整个DN42的地址池在172.20.0.0/14与fd00::/8上,均为内网地址,因而哪怕你把整个DN42的网络炸掉,也不会对现实网络产生影响(千万千万不要故意这么做!!!)
注册流程
在喵喵体验下来,整一个注册流程还是比较简单的,应该可以在几小时内完成。但是如果你的注册中有错误的话,由于时差的关系,每一天才能进行1RTT,这就非常耗时了。
官方的流程指导在这里 ...
记万事达借记卡的申请
原因
由于没满18&&没有收入证明,导致申请不了信用卡。而国外的购物(eg:steam、许多超便宜的VPS、Amazon…)都不支持银联卡。
在这种情况下,由于万事达借记卡只需要16岁就可以申请,且目前看来没有硬性要求,便成为了我唯一的选择。
申请
线下
由于本人高度不愿意去和柜台接触(完全不敢啊喂…),并没有这么做
据说,只要填几张表就好了
但根据本人的一点观察来看,建议去本地区较大的网点办理(因为我去的那个小网店甚至不知道万事达有借记卡……(叹气
线上
由于政策调整,许多(事实上,几乎所有)银行都关闭了借记卡网申接口
但这并不代表就没有办法了。由于联名借记卡能且只能在网上申请,这便成为了突破口
但如果你点进许多以前分享出来的连接,你就会看到
噢这可真悲伤
但…只要再往前走一步
卡名
卡组织
申请链接
介绍
非人哉联名借记卡
万事达
链接
介绍
好耶!
然后,填写信息
** 注意:这里的地址一定要用空格分割好,并且记得精确到门牌号,否则会失败 **
过几天,你就会收到信息
然后它就会通过挂号信寄到你的手里
要注意的是,这张卡的开户行是 * 中国银行上海分行 ...
憨憨手滑删库了...
rt…
所以…之前所有的评论和链接都木了…尽力抢救了几篇文章…
我是个憨憨…(叹气
别了,OI
正如标题所写的那样,我退役了。
这大概已经是这篇文章发出去前约半个月的事了。显然,我鸽了。
要说这事影响大吧……该学的东西还是要学,该肝的视频还是要肝。毕竟,人还没死啊。
但这毕竟是我不想遗忘的,所以,一起来听个故事吧
当然,我不是巨佬,也没有文采。所以……
很久很久以前……
(故事标准开头)
那要从初二的时候说起(现在高二)……
在一个名为“华夏”的大陆上,流传着一本绝世秘籍——《c++从入门到精通》。据说,若能完全习透,从01到AI,无所不能
无数人慕名前来研读,可纵然学成之人并非屈指可数,大部分人却被功法反噬,吸尽全身内力,终只得了“秃头”
不知为何,它无意中被一个小孩,而那个小孩从此也走上了名为“编程”的修行之路
按标准剧情,这个小孩会受到高人指点,觉醒然后修为暴增,最终打遍天下无敌手?
或许天下真有这样的人吧,可惜命运终还是没有选中我
直到初三,我会的最厉害的东西,叫“递龟 递归”……
(和某一我认识的巨佬相比……他现在初三已经能去拿Au了……或许他才是主角吧)
源,缘
千波万折之后,终是进入了我所在的高中
我早已得知一个比高考厮杀更激烈的赛场——竞赛,但作为在“教育大省”的 ...
从排序开始
图还没做完,什么时候这行字删了,图就配好了 以及大概还要修改一下的。。。 每种排序的代码会附在文末(现在还没有配哒) 在Excel中,你按一下排序按钮,大量的的数据在一瞬间就排列好了;老师让你排一下全班的成绩,你花了几分钟就排出来了。可是,这些排序到底是如何进行的?我们究竟该怎样排序? 冒个泡 要回答这个问题,我们先从一个场景开始: 你面前有10个人,请你在不知道他们身高的情况下,将他们从高到矮排序。 相信大家都能想到一种最简单的方法:两两比较。 从第一个人开始,比较他和他右边的人的高矮。如果他比另一个人矮,就交换他两的位置。 显然,用这种方法是一定能排号序的。因为从左到右每排一次,就一定能将最矮的那个人移到队尾。 这种方法,我们称之为:冒泡排序。 可是,这种方法实在是太慢了。 我们假设现在有n个人,他们非要和你作对,先从矮到高站好了。于是,你为了让他们从高到矮排好,你就要比: n+(n-1)+(n-2)+...+2+1次 用大家都学过的等差数列求和,易得,要比(1+n)*n/2次 排好一个60人的班级,你就要比1830次,2秒比一次,一个小时都比不完。 当然, ...