MapReduce 与 JOIN
《数据密集型应用》里面的一页,这里只是再做诠释而已。
两个表格,一个 User Activity Mapper 以及一个 User Database Mapper 表,可以这么定义:
123456789101112131415CREATE TABLE user_activity ( u_id INT, status VARCHAR(10) DEFAULT "loaded", url VARCHAR(100) DEFAULT "/", FOREIGN KEY (u_id) REFERENCES user(id));CREATE TABLE user ( id INT NOT NULL, email VARCHAR(50) NOT NULL, date_of_birth DATETIME DEFAULT "1970-01-01 00:00:00", PRIMARY KEY (id));
想要做一个连接操作:
123456SELECT u.date_of_birth AS dob, ua.url AS urlFROM user AS ...
SSH-HP
计划《终极斗罗》和 “蜜罐”之前看过有关 “蜜罐” 的概念,觉得这个玩意儿很有意思。
我觉得有意思的点在于,它这个概念有效降低了原本攻防的不对称性。攻击方就像恐怖分子一样,不管怎样失败,只要成功一次,那便是防守方无法承受的。但如果存在一个东西,可以掣肘攻击方呢?比如了解攻击方的行为,包括使用的技术、所有的资源等等。
这两年来一直在看唐家三少的 《终极斗罗》(orz,我在艺术审美能力上的确还是个小学生),蓝轩宇(男主名)提出了 “将战场主动放在我们希望的地方” 这个概念,将原本打算直攻天马星的深红之母引到了龙马星系的另一颗星球——天和星上。
在天和星上,有足够吸引深红之母(靠吞噬能量为生的位面)的生命能量、有龙马星系最强的军事科技、有龙马星系最富有的种族搭建的防御工事。
我看了之后寻思,这不就是个 “蜜罐” 吗?
有能够吸引攻击方的资源;
有强大的防御能力,是精心准备的陷阱;
与真正的资源存有距离;
攻击方需要一段时间才能识破陷阱;
攻击方在识破过程中会留下特征…
唐家三少,你知道 “蜜罐” 的,对吧?(
未来的我 要和 “蜜罐”这学期有一门课,叫 系统安全与应用实验,第五周开始,我 ...
我网起来了!
(封面是一个睡觉的小狗,没有任何含义,只是觉得乖)
前几天整了台新电脑,把里面 Win10 格式化了,直接装的 Ubuntu 18.04,之后就出现了问题。
总的说来是连不上无线网。有 wlp1s0,但是连不上无线网。所以一直都是通过 USB 网络共享来遨游互联网(
今天下午又搞了三个小时,让我感到最恼火的是 ip link set wlp1s0 up 这个指令的返回是 invalid arguments,着实想不通。
所以我想了个办法我另一台电脑上有一个 Ubuntu 18.04 的虚拟机,安装使用的镜像和前面那个是一样的。由于我对 VMware 的网络设置进行了一些修改,导致其上不了网。我对我虚拟机上不了网的了解仅仅停留在 它上不了网,再加上之前一直没有心情整,这下刚好n试试到底是不是相同的问题。
之后是普通的两个指令 ip a 和 ifconfig 的返回:
看下 network-manager 这个服务,还是正常的:
然后我尝试了 sudo ifup ens33:
的确是起来了。我也注意到原本的 ens33 就是 state DOWN,而非我那个什么 noop stat ...
算是属于自己的第一次个人构想 —— go-jgRPC
一个简单的小 demo代码是一堆屎山,一开始想得挺好,但是随着撰写过程的进行,出现了很多意外状况。
这首先是自己对 golang 这门语言完全不熟悉,很多地方完全是想当然地在构思,没有做好充足的可行性分析!这必须要反思。
下面是拼拼凑凑出来的一个节目效果视频:
夜思 (1)
或许已经没有或许了。
现在是 2 月 2 日。当我打下上方的 “或许” 两个字的时候,还是 1 月 27 日的午夜。而如今差不多是一周之后了。
这一周其实发生了很多事。很多很多事。
首先是我的成绩。
这学期我的状态可谓是跌宕起伏。从刚开学那时,我还踌躇满志,因为我携着前年下半年刻苦内卷的精神、以及去年上半年在家苦读的记忆,拿了一个国奖。
今年的国奖 17/18 两个年级一共 17 个名额,我凭借不算太拉胯的课外经历以及取巧的绩点百分比,有幸成为了这 17 个人中的一个。
大一刚入校,我什么都不懂。来自西南偏远城市的我,不知道什么是人上人,不知道什么是内卷,不知道前百分之多少才可以保研,也不知道我这个学科到底是要求学生拥有怎样的能力(现在也不清楚),更别提如何达到那个标准了。大概入校半个月左右吧,我参加了院内的学生会的选拔。17 级的院内学生会秘书处一共有 6 位干事,我大概是被当时的副部长以及与我聊天的这位学姐看好,被选了进来。(后面证实我或许辜负了她们的期望)
我就当面问学姐:
“大学里面究竟什么是最重要的。”
看到学姐欲言又止的样子,我想到学姐其实也就刚刚上大二,这个问题 ...
从 RFC-6101 看 openssl (1)
期末,怎么办一个学期就要过去了,信安原理自然是有期末考试的。
我是觉得难,第一是因为自己没基础。一个学期过去了自己还是什么都不知道,除了感慨自己太懒散之外,也没有什么好说的。埋怨也埋怨不了别人。
期末考试对我来说是困难的,极其困难的。下面是往届信安原理考试的一道题目:
分析 SSL 防重放攻击的安全机制,并比较分析其与 ipsec 反重放机制的主要异同点。
正常人第一感觉想来肯定是,哦,也不是像我描述得那么难嘛。
我也觉得。我不觉得题难,只觉得自己太垃圾。
可毕竟我也是粗略读过 RFC-6101 的,对 SSL 的四个 protocol 都有些印象,特别是记录协议。因此我的答案自然是:ssl 的反重放是依赖每个附在压缩块(SSLCompressed.fragment) 之后的 MAC 来判别的,因为:
123456The MAC is generated as: hash(MAC_write_secret + pad_2 + hash(MAC_write_secret + pad_1 + seq_num + SSLCompr ...
今日小笑话 —— 我在写代码
前几天心血来潮写了一个小玩意儿,主要功能是把 mips 机器码转成汇编指令。功能并不是很强大,遇到了 j 这种可能使用标号的指令还没有办法(怎么可能有办法啊!),所以只是一个非常不成熟的小玩具。
但是我却有想法优化一下整体的代码结构,这是我整体的文件关系:
12345678---- |---tools | |---__init__.py | |---factory.py | |---instruction_54.py | |---utils.py | |---main.py
首先,这是主要的 main.py 中的一段代码:
可以看到还是很可以的(
除去几段调库必须有的代码,剩下的看起来没那么多需要优化的。但是,往上面看去,我现在都根本无法直视那些代码。
说几个毛病吧:
if mode == 'FILE' 分成两块写多少有点 nt;
合着完全没有考虑过会不会增添新的输出格式;
这可是 main.py 啊!暴露给用户的文件,把这么多垃圾代码放出来,这好吗?
…
肯定是不好的。所以接下来我就要花一点时间来改动一下我这杂乱无章 ...
创造型模式-Factory Method (2)
创造型模式-Factory Method (2)一个熟悉的名词工厂,我个人觉得,已经开始思考如何更好构建自己代码的码畜一定接触过这个概念。
而我这个码畜第一次是在 flask document 中听说到的。
首先,我这里应该声明,中文的 “工厂” 与 英文的 “Factory” 没有什么太大的不同。一提起 工厂,想到的应该是冒着烟的大烟囱,几间或者几十间大小不一的厂房,以及其中忙碌着的工人们。这是我在没有了解 Factory Method 之前对 工厂 这个词的初始印象。
A fatcory, manufacturing plant or a production plant is an industrial site, usually a complex consisting of several buildings filled with machinery, where workers manufacture items or operate machines which process each item into another.
而代码中是不可能搭建真正的 “厂房” 和 ...
创造型模式-Singleton (1)
创建型模式-Singleton (1)
我相信,真理是越辩越明的。
这句话最重要的是 “辩”,其次才是 “真理”。
说不定哪天发现了更有趣的事情,就又鸽子了。
提问在写代码的时候,总有无穷多种方法解决同一个问题。
即使它们划到最后,道理真的相同、运用的性质、定理真的相同,那么对于一个方法,也一定有无穷多种实现。
正因为问题的答案不仅仅由一种实现才能得出,正因为人的想法千奇百怪,实现的方式千奇百怪,这之间才有了比较。
不过这么说,问题的中心好像又回到了 “如何拥有更好的逻辑” 上来了。但设计模式考虑的应该不仅仅是 “如何拥有更好的思考方式”,还有 “如何更好地复现自己的思考”。
而现在,这里是要从我实际生活中见到的代码片段、项目,甚至是现实世界得到启发。
Singleton比如 UNIX V6++tjdx 计算机类的大三学生都会收到这么一份代码 —— UNIX V6++,这里附上该项目指导老师的 后日谈。
我们考虑一个单核操作系统。它有着哪些机制?
一个进程调度助手;
一个外设管理助手;
一个页表管理助手;
一个内存管理助手;
一个文件管理系统;
…
总之它需要很多方面的帮助。而这 ...
设计模式-读书笔记 (0)
设计模式-读书笔记12我不知道我是否已经开始,也不知道会坚持多久。不知道何时放弃,更不知道我又会在何时开始。
我?设计模式?相比于研究人员需要的天赋和本领,我有些时候不得不去相信,自己在 码农 方向更有可以挖掘的潜力。
上大学已经两年半了。这段时间里,我从一行程序都不会写的垃圾,变成了现在这样的会写几行程序的垃圾。无论我能掌控怎样规模的项目,我心里明白,自己都还是那个彻头彻尾的垃圾。原因就是:我不会设计。
这个 设计 指的并不是,或者不仅仅是所谓的原型图设计、架构设计 …… 更是代码的逻辑设计。
由于我在本科阶段之前从来没有接触过编程,我的母语就是 C/C++。我不是说我所在的学校在母语的选择上做得不好,而是只能说,我所在的学校太了解一个 “小镇做题家” 应该具有的个人水平,太明白大多数人都像我这样,一行程序代码都没写过。
一年的时间,无法把我提升到一个很高的层次。
我是讨厌复杂概念的,讨厌复杂设计的。因此,我一直学习简单易懂的东西。
但是直到不久之前我才明白过来,学简单的东西,可以做小玩具,却不能支持自己更宏大的想法:
别人出手就是整体设计,我一考虑问题就钻进了细枝末节死胡同;
...