avatar
标签
65
分类
3

首页
文章
往逝
关于
虚空之地
首页
文章
往逝
关于

虚空之地

数学探索之尺规作图其二
发表于2022-01-09|理学
这一篇文章,承接上一篇,为证明部分,只包含少量讲解,可选择性跳过。 域扩张有关域的定义,我们不多讲,就记住它是定义了加法和乘法且单位元不等的数集即可。哦,还有域上可以定义线性空间和多项式。欧式做图问题的抽象核心是域扩张问题,我就点到为止不在多说了。为了能从理论角度考虑作图问题,我们需要稍微复习一下相关的域扩张理论。 有限扩张所谓扩域原始定义是子域的反向称呼,但这样的性质太少,所以我们需要进一步约束。在域扩张E/F中,可以定义E为F上的线性空间。线性空间有三个要素:对于基域,我们可以定义为域F;对于加法,我们可以定义为域E上的加法;对于乘法,我们可以定义为域E上的乘法同时限制一个乘数在F中。定义1:设域扩张E/F,若E作为F上的线性空间是有限n维的,则称E为F的一个n次有限扩域,并记[E:F]=n,否则称E为F的一个无限扩域。有限扩域有一个比较重要的定理,我们直接给出,至于怎么证明,这不是我们讨论的重点。定理1:若K为E的有限扩域,E为F的有限扩域,则K为F的有限扩域,且[K:F]=[K:E][E:F]。这个定理说明了一个事实,有限扩域关系具有传递性,且可以计算维数。 代数扩张前一种扩张 ...
数学探索之导言与尺规作图其一
发表于2022-01-04|理学
导言我想记录自己所学的数学并进行整理,其过程是以某一问题或定理为主线进行的。但是,我并不想单纯地去抄书,因为实在太无聊了。我的大致计划是这样的,对于任何一个模块,我都会梳理其证明的主线,对于关键的步骤我也不会给出证明,而是试着以形象的方式去说明它,至于详细的证明其实到处都可以找到。我自己就有这样的体会,一本单纯由定义和定理组成的书,虽然内容丰富,体系严谨,但是对于一般人而言,真的只是从头读到尾的话,本质上除了记住几个名词,却什么也不懂。我的理想是让所有有一定数学水平的人都理解,不一定要知道完全严谨的证明,因为我们是数学爱好者而不是数学研究者。至少可以百度到的东西都可以当做常识吧。再者,我一定会写出符号,认识符号是真正理解数学的必须路径,一味的以科普为由而舍弃符号都是错误的普及方式。最后,我想说一点,所谓的解释与形象说明都是一些主观的存在,其不一定十分准确,但如果能让人理解的话,目的就已经达到了。然后开始我们美妙的数学探索之旅吧。 尺规作图我想先以一个最简单的问题开始我们的旅途——尺规作图。我们先要排除中学那些单纯的作图问题,如画个角平分线,画垂直平分线啥的,主要是它们真的没什么好讲的。 ...
代理技术简介
发表于2021-12-29|计算机
今天来水一篇文章,简单介绍一下代理的基础知识吧。 需求所谓代理,其实就是代理执行,在网络通信里指的是使用目标ip来进行流量的代发,我们可以在本地配置代理,也可以对浏览器进行特别的代理,这些大多用处不大。我们代理的目的一般有流量拦截和加密通信。流量拦截可以检测本地发出去的包和过滤网络输入的包,这就是俗称的抓包,抓包是基于本地代理实现的,但是需要管理员权限,可以侵犯其它进程的网络数据怎么想都是要权限的吧,对于桌面系统获得权限就完事了,但我们的手机就有点麻烦了,所以接下来我们会以安卓手机为例。不过先说说加密通信吧,我们平时访问网页的时候,所有的信息都会是明文(http),很容易被某墙丢包,就算使用(https)也要传入域名信息,也容易被某墙丢包,所以我们与我们的代理外服通信的时候如果不进行加密的话,是越不过某墙的,因此本地代理还有一个用处就是抓取流量以后进行包装加密,防止被中间人攻击者发现而进行恶意篡改,这样我们就能成功与代理外服通信了。其实关于代理,我们只是讲本地代理的东西,服务器代理嘛,成本高就不说了,而且思想也差不多,而且我们以安卓为主。 学习项目安卓实现主动代理的基本手段是使用系统提 ...
懂---还真是复杂
发表于2021-12-26|感悟
当发表一些观点,分享一些知识的时候,总有被质疑的时候。“这难道不是网上东拼西凑出来的吗?”“这难道不是谣言吗?怎么还有人信?”“一点干货都没有,净在说大话!”……反正很多就是了,比如我说我自己学过操作系统原理,就会有人来反驳你怎么不自己写一个来证明啊!不写一个又怎么知道你真的学过没?但你知道没?这东西已经有好多相关的教程了,比如30天操作系统之类的,我当然可以假装地看一般,然后在代码批量的拷贝,做些改动,比如路径结构,变量名之类的,但这样有啥用啊?最后这系统真能比自己手上的系统好用?重走一边别人的路再扔掉,有什么意义呢?问出“意义在哪”我不想被抬杠了,非得说一个意义不大吗?操作系统在目前没有什么革新,底层大概只能拿来学习,直到新的理论出现。说实在的,怎么说我,我也不应该在意的,这让我想起一个经典的言论“你不断强调自己佛系的时候,或许这就只是你的一厢情愿了”。虽然我也不断地说着,很多东西都是老生常谈了,实在没什么好说的,然后在回忆以前我可以做到“一字而得万言”之类的事,不过现在累了,不想说啥了,不想浪费精力,但是我却还是不住的想说些什么。比起辩论,我更喜欢美文,我一直都希望着这是最后一篇 ...
Termux原理
发表于2021-12-22|计算机
寻思了很久,我还是决定写下这篇文章,但这篇文章可能有点杂,看的话希望忍一忍。Termux是一个终端模拟器,让安卓有如同linux一般强大,但“安卓天生是linux”,真正的实现或许并没想象中那么复杂。我们先做一些铺垫吧。 软件是什么在最开始我想说清软件到底是什么?你可能会觉得不就是,windows的exe,安卓的apk,苹果的ipa,linux的(…)…。这样讲好像也没太大问题,exe确实是可执行文件,但apk和ipa可是安装包,大部分认识的exe也是安装包所以把它与apk和ipa归为一类也是可以理解的。软件本质上分为两种原生软件和虚拟机上软件,我们稍微来介绍一下吧。 虚拟机上软件这种称呼只是作者自己这样叫的,你可别信了。java软件就是这类软件的典型代表,如logisim和java版minecraft。它们的典型特点是我们还必须下载一个运行环境(java的jre),这实际就是一种虚拟机的思想,通过一层java虚拟机达到在不同平台运行同一软件的效果,实际上基本所有语言都是这样运行的,不限于java,python,lua,C#等,除了少数的C/C++,go,rust等,实际上远古的语言都 ...
编码的理解
发表于2021-12-15|计算机
简介编码本身其实不是什么难以理解的东西,就是将想要编码的东西与自然数形成一一对应的过程。编码本身没什么可学的东西,但是我们却总会别乱码所困扰,理解原理是解决乱码的前提,所以开始我们的学习之旅吧。 几种编码目前常见的编码有三种,ASCII、ANSI(扩展ASCII)和Unicode。ASCII是几乎所有编码都兼容的存在,ANSI多用于Window和Mac系统,Unicode则多用于类Unix系统如linux和安卓。 ASCII编码ASCII码共有128个字符,0~31和127(注意从0开始的话127就是最后一个)为控制字符,如换行(\n),回车(\r)等,32~126为打印字符,包括空格(32),数字0-9(48~57),大写字母A-Z(65~90),小写字母a-z(97~122)等,实际上ASCII对应了电脑键盘上几乎所有的字符(比较特别的如F1~F14),可以近似认为ASCII即是键盘的编码。编码最终都是要存储到计算机里,计算机里面只要二进制,不过十进制与二进制有天生的对应关系,这并非我们需要考虑的。因为二进制的特性,2^n比较适合当计算机中的“整数”,而比较巧的是128正好等于2^ ...
Log4j2漏洞后的反思
发表于2021-12-13|感悟
我并不是专门搞安全的,这里的安全泛指网络安全,不自作孽的话,离线情况一般不存在安全问题,而我知道这件事还是因为学校对信管部的通知,不知为何我就想了解一下,真就这么离谱,一个日志都可以被骇入。我先简单整理一下这个漏洞是怎么产生的,这个漏洞产生在使用了Log4j2日志的服务器,但影响版本有一定范围,有log4j2版本和JDK版本,依据攻击方式各不相同。其中常见的攻击方式是,针对log4j2提供的Lookups模块,该模块可以执行“${}”对应的符合一定格式的语句,一般对于信息输出,无关紧要,更致命的是它内部没有对参数分开处理的情况下还提供了Jndi的功能,一般情况下我们采用占位符输出,像这样Log.info("name:{}",username),为了输出能力更强,log4j2提供了可执行输出username="${java:os}"这是lookups的java模块 真正危险的是下面这个功能 虽说官方说使用在配置文件里,但从底层实现可以发现,使用如上的Log.info也会执行相应代码,而且对 ...
lua通读之杂项
发表于2021-12-08|计算机
经历了一番波折,我们终于来到了lua的最后阶段——杂项总结了,lua的整个体系我们已经有了一个较为详细的了解,本来可以讲讲与lua相关的库,但这样的东西几乎在哪门语言都是近乎无限的,而且优秀的工具往往介绍的人多,官方文档又好,再说一遍有点过于累赘了,而对于比较冷门的,如果没必要,还真没有学习的必要。那么我到底要说些什么呢?听我一一道来吧。 lua反汇编反编译是一个十分庞大的体系,一般都是建立在对编译器了解十分深刻的情况下,但进行黑箱实验也是可以的。所谓的反编译实际有两个部分,首先是反汇编,即将二进制文件转换为汇编代码,其次是还原源代码,即将汇编代码转换为高级语言代码。理论上来说,前半部分是绝对精准的,而后半部分是部分不可能的,这部分主要指的是源代码完全一致,这和编译器优化和两种语言的体系不同有关,比如在C语言下,宏基本不可能还原,还有在函数内部的局部变量,即栈变量,名称是会被优化掉的,而且可以编译为二进制可执行文件的还不止是C语言,go也是可以的。而反汇编实际是将序列化的数据反序列化的过程,故绝对精准的。lua本身有解释性语言的特性,程序就是源码,对于这种没有任何反编译的需要,我们主要 ...
lua通读之Debug机制
发表于2021-12-07|计算机
简介调试(Debug)对于大部分程序员来说并不陌生,我们接下来主要要讲的是动态调试。当然我们大多时候,使用的调试工具都是基于我们图形界面的IED,但实际上调试的一些关键的东西也是可以在命令行下完成,这就是我们要讲的lua调试机制。 lua的基本调试apilua有关调试的接口都在debug库里,但我们不会全都讲,因为有些特性繁琐又用处不大,比如debug.getfenv,所谓的函数环境。 断点功能lua的原生环境没有图形界面,所以我们不可能直接在脚本的某行直接打断点。但我们应该了解断点的本质是什么,实际上是hook,俗称钩子。我们从C语言的动态库链接简单地来理解一下。 1234567891011121314//test.cint add(int a,int b) { return a+b;}//hook.c#include <stdio.h> int add(int,int); int main() { int res = add(1,3); printf("%d\n",res);} ...
神奇的比特存储
发表于2021-12-05|计算机
两个算法题号码去查重现在有两批QQ号,每批大约40亿个,每批可能存在重复的数据,但记录着不同的数据,我们有两个iterator,都可以通过iterator.nextuint获得下一个QQ号,数据类型为unsigned int,即每个QQ好最大不超过2^32-1[当然目前我所见过的QQ号,连30亿都没超过],现在设计算法,使用内存不超过1G,找出两批QQ号公共QQ号的个数?这个问题有许多衍生,但我们选取了最简单的一部分。我也不卖关子,直接说算法了,这题的关键在于QQ号是有序的,同时我们只关心是否有这个QQ号,虽然可以使用bool数组,但在C里它占用一个字节,不能充分利用空间,我们需要的是用bit(一个二进制位)来存储bool,这样才能最大限度的利用空间。同时QQ号是有序的,于是我们可以通过内存地址上的排序来映射相应QQ号的位置。我们举一个简单例子来说明,比如一个char总共有8个二进制位,比如00001010则表示2和4存在,其它不存在。进一步char[2]则有16个二进制位,01000000 00100010则表示2,6,15存在,其它不存在。然后我们需要判断的QQ号的最大值为2^32 ...
1…789
avatar
逯晓零
我喜欢简洁,仅此而已。
标签
65
分类
3
最新文章
编程手记之字符串2025-04-30
已去的无题2025-04-21
缺失之物2025-03-31
分类
  • 感悟16
  • 理学16
  • 计算机25
标签
Python VPN Web galgame lua 二进制 代数 代理 体会 余生 信息 内存 写实 几何 合集 哲学 存在 学习 安全 完备性 完美 定理 尝鲜 尺规作图 工具 库 应用 建模 引擎 心态 心情 感受 故事 数学 整理 文学 文论 文集 方程 无理数
©2020 - 2025 By 逯晓零
框架 Hexo|主题 Butterfly