Restore deleted repositories

This commit is contained in:
mayx
2022-01-04 20:42:55 +08:00
commit f4aa957c53
132 changed files with 9570 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
---
layout: post
title: 2015.2.23日记
tags: [日记]
---
今天是2015年2月23日,离开学还有5天<!--more-->
今天我修好了我的U盘,之前我的U盘在一个太阳黑子盛发的时期坏掉了,我感到十分难过,于是写了一篇议论文和短篇小说纪念它,然后就半坏半好的用。就在今天,我去了我大伯家,发现我的U盘中那个坏掉了的那个文件夹突然能读了,这还是那个王哥哥的功劳呢,如果不是我展示我U盘坏掉的情况,我还不知道我的U盘竟不自动断线了。于是我使用了CHKDSK修复了我的U盘,结果所有问题解决了。就是留下了一个不知名的文件i怎么也删不掉。
昨天我打算玩爷爷的电脑,结果打不开,于是我在今天看了看电脑,拿下来一通电,结果可以启动了。然后我很高兴,安上后,一打开显示器又不能用了,于是我猜这是显卡的问题,然后我关了显示器,打开了电脑后又开了显示器,结果好了,于是我就在这台电脑写了我今天的日记。
快开学了,我写一个假期小结
这个假期一共30天,去了4个城市,对手机的了解更深了。比如partition(分区),mount(挂载),prop(设置变量)。而且我还因此弄坏了手机。在2015年的2月18日。我以错误的方式挂载了boot分区,结果……boot分区被我玩坏了。手机是靠boot分区进行启动的,结果我还脑残的重启了。于是,在2015年的春节,我一整天都想着我的手机。终于在春节的下午,我去了二姨家,使用了电脑,花了10秒修好了手机。于是,我知道了mount是个危险命令。不过在弄坏手机之前我还做了一件事,那就是在手机上装windows3.2中文版,这是第一个推广到中国的windows系统。首先我装了DOSBOX,模拟DOS环境,然后在这个上面安了CCED,并正常的运行了,我很高兴。然后在手机上下载了win3.2系统的安装包,没有电脑的帮助安装了win3.2,证明了电脑就是一垃圾,便携式手持设备才是信息的未来,于是我就弄坏了手机,证明失败了……虽然我没去旅游,但我这个假期还是很有意思的。
+213
View File
@@ -0,0 +1,213 @@
---
title: (转)关于Neko与羽毛的记录
layout: post
author: gledos
tags: [Neko, 羽毛]
---
## 序:
吸取经验,为了每一个人的明天。
>如果有一天我消失了,我想我是死在为自由而战的冲锋路上, 而这不是一个人的悲剧。
>
>——亚伦斯沃茨
<!--more-->
(待续)
# 张千叶发布的想法的时间轴
1. `2018-03-14 02:52` 张千叶在知乎上发表了[想法](https://www.zhihu.com/pin/957297608381730816)
>先要咨询一个问题
<br />我的朋友 @Ayaka Neko 在火车站被父母带走了。
<br />其父母原因是要将其带回云南老家住院,而其本人倾向于去北京的医院。
<br />其中 @Ayaka Neko 已经成年,并且上精卫和北六没有给出住院意见(开了文拉法辛)
<br />我上前争辩的时候被其父亲诬陷为协助自杀,但实际上当事人称其药量都是正常并且自愿服用,我(未成年)争辩几 句之后遭到殴打导致眼角出血,整个过程警察在场,因为赶火车没能走流程。
<br />那么,已经父母有权利强制将已经成年的子女带回家/住院吗?
<br />有权利殴打未成年人吗?我选择不走流程的情况下可否让监护人代为走流程?
<br />现在我与她已经没有联系方式,其父母关掉了通话,一个关机一个只有留言,当事人手机遗失。
<br />她曾经口头说过与其父断绝关系,并且其父承认(在做 CT 扫描和其他医疗费用的时候拒绝支付,也未支付生活费)。
<br />那么现在该怎么办?怎么帮到她呢?需要上法庭吗?
2. `03-14 03:01` 张千叶回复
>个人建议报警
>
>现在是我不清楚行踪,原本是我们去保定,但是她没有上车,所以我不清楚怎么弄。
<br />另外这个算是用什么理由报警呢?我眼角的伤不是很重,留了点血的程度。
<br />我还可以补充的是他家庭是离异家庭,离婚协议中监护权归属于其母,但是据一个未公开/不明的协议,转给了他爸爸(不确定)。
<br />她有社交恐惧和一些人格障碍所以很依赖我,我很担心。
<br />现在是,我以什么理由报警?其父曾说过这是我们家的事情你就不要管这行的话,并且态度极其差。
3. `03-14 03:04` 补充
>还可以补充的是有一次换药反应过大打了 120,我先打的其父电话,她父亲第一反应是诈骗,然后她用云南家乡话和特有的称呼说是她,其父称 「我没这义务」 救护车和毒理化验都是我和朋友垫付,从头到尾没有任何支付的意愿。
4. `03-14 19:34` bc
>通过我的父母和 Ayaka Neko的父母的交谈得知她被带回云南省红河哈尼族彝族自治州个旧市,而不是双方与警官所协商的去上海市精神卫生中心做检查。
<br />想哭。
3. `03-14 20:03`
>现在说一下,有人证,有警官协商录音,还有医院处方单+支付宝记录(能看出来不是其父亲付款)
<br />大家看看还要啥呢
4. `03-14 23:18`
>先说一下吧,我个人,除开 Neko 家庭问题。在 Neko 被夹走的时候我阻拦了一下,然后被揪住头发一拳打中右眼,现在右眼左眼睑发炎并且右眼视力下降严重,然后一脚踢中我肾左右的部位并让我疼了一天,明天去医院做一下鉴定看看。
5. `3-15 11:48` bc
>暂时联系上了,不清楚情况。
<br />我目前在医院。
6. `3-15 15:35`
>目前准备到的是法医拍照,当时伤口的照片,三名证人,以及全家的录像和警察执法记录仪的录像。
9. `3-15 22:10`
>我联系上
<br />@Ayaka Neko
<br />了。
<br />目前她因为文拉法辛的戒断反应在医院,出院之后应该就没事了……
<br />好想她。
<br />好想她啊……
10. `03-16 02:23`
>现在
<br />@Ayaka Neko
<br />因为文拉法辛戒断(其父母未携带)被送往昆明急救,据称要做 MECT 和 MRI,具体情况看起来还好,开放病房。
11. `03-16 09:11`
>联系不上。正在打医院的号码。
12. `03-16 10:24`
>[查看图片](https://pic2.zhimg.com/v2-745039e4e818cbc3242d1586fa4bde09_qhd.jpg) 附张图,已在法医拍照并鉴定。
13. `03-16 13:46`
>然后现在被他父亲威胁可能被打。
<br />还说什么地头蛇之类的。
14. `03-16 13:48`
>貌似是个房地产商,有什么建议么?
15. `03-17 01:00`
>到达医院,这里像看守所
16. `03-17 11:15`
>扑空了,她被父母提前出院了……
17. `03-17 左右`
>我有她本人的姓名身份证,她手机丢失。
<br />她父母亲和姑姑的电话,被拉黑。
<br />知道她有两个家庭住址,但是在两个城市。
<br />目前她帐号一小时上一次,只读消息不回复,怀疑不是本人。
<br />现在不知道怎么做了。
18. `03-18 左右`
>报警之后警察表示也打不通,并且不受理案件。
>律师建议去住址寻找。
>
>......
>
>求助中心电话能给一下吗。
>她之前答应我两个星期的。
>也是我最大的努力了吧……
>
>......
>
>说明了,警察说就算是成年人也可以被父母强制带走。管不了
>
>......
>
>他们说。只要有抑郁症,任何程度的,不论开不开那个无行为能力证明,父母都可以带走/入院
19. `03-18 00:24`
>强制传唤证人居然不包括被告子女…
20. `03-18 16:35`
>彻底找不到了啊……彻底断了啊……
21. `03-17 21:09`
>我这边说下…
<br />报案测试过了,只要他们知道带走的是监护人就不会管,并如果得知有抑郁症的话更不会管…已经对警方感到绝望了。
22. `03-19 左右`
>警方认为抑郁症病人不算完全行为能力的样子,并且认为她在父母身边绝对安全
>
>......
>
>直接报案:对方是监护人有权带走
<br />说明情况:对方还有抑郁症呢,监护人当然能带走了
23. `03-20 15:03`
>右眼已经报废。
24. `03-20 22:45`
>其实算个好消息?右眼视力看不清之后可以考虑戴个眼罩或者换个玻璃珠?
>
>......
>
>视力基本为零~
<br />医生建议戴眼镜
25. `03-23 23:13 之前一段时间,可能是23:06` 已被删除,已保存到[wayback](http://web.archive.org/web/20180326112045/https://www.zhihu.com/pin/960671306164994048)
>那就把这里当成最后一点希望了吧。
<br />@Ayaka Neko张恩辅 532501199903240612
<br />被她父亲张竣于三月十六日凌晨一点入住了云南心理卫生中心,并之后被带走
<br />目前最后已知地点/消息为云南昆明安宁市好孩子三生教育培训学校。
<br />她手机处于丢失状态。其父母拒绝联系…
<br />她父亲联系方式为 13888320678 母亲为 13887310860
<br />尝试过报警了…没什么用呢。
<br />我也做不到什么了呢。
<br />如果需要更多资料可以私信我
<br />如果我还活着的话。
26. `03-24 17:30`
>Ayaka Neko
<br />自杀了。
27. `03-24 17:34`
>Ayaka Neko
<br />今天下午两点三十四分,抢救无效死亡
>
>轻伤二级。视力严重下降,加鼻骨骨折。
<br />视力从 1.0 到三百五十度近视。
28. `03-26 下午11点左右` **樊郕** 回复一位在想法下留言的用户
>我是她的家人,我是她的妹妹,她有严重的抑郁症,且每天过量服药,雌性激素和抗焦虑的药,这个你们知道?送去医院是为了让她不要吃药,还有心理辅导,面子?你并不是其中的人,不知道有多痛苦,请不要站着说话不腰疼,也不要妄自揣测,更不要当键盘侠,谢谢
# 温柔——热点扩散
1. `03-24 17:43`
[今天向我求助的张恩辅同学,现已离世。](https://web.archive.org/web/20180326111214/http://webcache.googleusercontent.com/search?q=cache:IlDL3pSsxA4J:https://zhuanlan.zhihu.com/p/34901296&num=1&strip=0&vwsrc=0)。~~内容已删除~~,快照里看出在20分钟内有69条评论和230个赞。
>通过朋友向我求助 @Ayaka Neko 张恩辅同学现已离世,刚刚和她妈妈通过电话,她在家中自杀,抢救无效结束了自己的生命。
>
>对不起,我没能帮到她,没能把她救出来。
>
>我应该早一些看到的,如果再早些报警的话,可能就不会闹到这种地步。
>
>我们也不能冤枉任何一个好人,安宁市好孩子教育学校是一所正规的学校,没有接收张恩辅同学,她是回到家里才做的这一切。
>
>我也没办法再苛责她那几乎哭到失声的母亲,和她的父亲。
>
>**只能够说,这是家庭教育和沟通不足导致的悲剧,每一个父母一定要尊重孩子的意愿,并耐心和孩子沟通,强硬的暴力、训斥会影响到孩子们的身心健康,甚至会发生比如现在这样的悲剧。**
>
>**请各位家长们一定要引以为戒!**
>
>(完)
>
>明天我会整理一下,把这件事的经过写出来,希望能够纪录下来这一切。
>
>张恩辅同学,这个世界对你太不公平了,真的非常对不起,我知道的太晚了,如果我再早一些知道,再早一些采取措施,说不定就能救你出来,真的很对不起。
2. `19:13`[希望这场悲剧能让家长们引以为戒,请尊重孩子!](https://zhuanlan.zhihu.com/p/34901959)
(未完待续)
<!--
这是记录知乎ID为[Ayaka Neko](https://www.zhihu.com/people/75678efb7fce3f1907999482da9af890)、推特ID为[]()
-->
***
注:
源地址:<https://gledos.science/neko.html>
Neko的博客:<https://neko.ayaka.moe/>
备份:<https://github.com/nekomeowww/nekomeowww.github.io>
羽毛的博客:<https://oao.moe/> 解析IP:45.32.10.83
备份:<https://github.com/zhangyubaka/zhangyubaka.github.io>
+44
View File
@@ -0,0 +1,44 @@
---
layout: post
title: 编程与设计(演讲稿)
categories: [演讲稿]
tags: [编程, 设计, 演讲, 程序]
---
大家好,我是mayx,今天由我来带领大家了解计算机编程的本质和程序设计。<!--more-->
当提到电脑时,大家首先想到的什么呢?打游戏?聊天?……没有问题。你们享用了电脑所带来的便利,有考虑过它的原理吗?当然,有些东西是不需要知道原理的,毕竟即使你不知道互联网传输协议也可以上网,不知道焦耳定律也可以做饭嘛……但是,我希望今天大家听了我的讲座后,能知道了解其原因后能更好的利用它们。
首先,今天我要讲的东西有以下三大类:一、计算机简介;二、编程;三、设计。
对于计算机,我想大家已经了解很多了吧,在这里我不做过多的介绍,只讲一下比较少见的知识。
大家都知道IT(信息技术)对吧,我们有一门课就是信息技术,不过你们知道CS吗?我要讲的CS可不是反恐精英,而是计算机科学(Computer Science)。CS只是和IT有交集吧,IT研究的不只是计算机,包括发邮件等通信方式,不过想来主要还是应用了计算机科学。有很多人总会把它们误用,就好像动画和动漫不是一种东西一样。
接下来我要讲的是计算机科学中的硬件部分。不过我的物理不是很好,所以硬件部分我不会讲太多,我想大家也都应该知道计算机大概都是由什么组成吧,从微观上来说就是由硅做半导体部分,铜银金等导电金属作为主要的电能以及信号传导等等的电路……往大了讲,就是CPU(中央处理器Central Processing Unit)、内存、外存、主板、I/O(输入输出 Input/Output)等作为主要部分的机器。而更细的东西我也不了解,逻辑电路什么的,如果有会在Minecraft上做红石电路的人,也许还能讲讲CPU的运行原理吧……
硬件的组成,也就是计算机组成体系,关于这一方面,大家应该都知道冯·诺依曼结构的计算机吧,我们平时用的电脑就是这个架构的,我相信只要了解一些计算机的人应该都知道这些。不过我觉得应该很少有人知道哈佛结构吧,它和冯氏很相似,只不过它的并行处理能力更好一些,因为冯氏结构不能同时读取指令和数据,而哈氏结构可以。手机一般就用的是这个结构的。
硬件部分我就讲到这里吧,想要了解更多有关硬件方面的信息,问物理老师都比我靠谱。
接下来就是软件部分了,程序是软件的子集。那么接下来我就来讲讲如何写程序吧。
首先,什么是编程?编程就是编写程序的简称,编写程序是为了解决一些需要运算而得出结果的东西。毕竟是计算机嘛,本质上就是为了运算而产生的。但是,并不是说程序只能在电脑上运行,人脑也可以,甚至是用多米诺骨牌之类的东西都可以执行程序。只是计算机的运算速度比它们都快,所以一般的程序都是在电脑上运行的。只有一些丧心病狂的面试官和考官才会让人脑去想计算结果呢。而让非计算机的东西执行程序,不是为了研究计算机的组成就是一些极客了吧……
现在写程序比以前简单多了,以前写程序不知道计算机的运行过程根本写不了程序,打孔纸带不说,就光机器码都几乎没人能看得懂。不过为了让机器看懂,人们也只能这样做了。后来为了让人能更好的写程序,发明了汇编语言。不过汇编语言本质上还是将机器码用一些其他的方式简化了,本质上仍需了解计算机的运行过程。以上所说的语言都算是低级语言,因为必须了解计算机的本质,太过复杂,而且跨平台性也很差。再后来,人们发明了FORTRAN(公式翻译 Formula Translation),这是人们发明的第一个高级语言。直到现在,已经有上千种高级编程语言了,它们的目的几乎都是将人能看懂的语言,而计算机看不懂的语言转换为计算机可以看懂的语言,即为机器码。能被直接转化为机器码的编程语言叫做编译型语言,编译它们的东西叫做编译器,它的特点是编程语言被编译生成机器码后,只能在编译它的这类机器上执行,在其他种类的机器无法执行。这种语言的优点是执行速度快,毕竟计算机可以直接使用机器码执行,只用翻译一次,没有第二次。而缺点则是编译后将无法再编辑,除非你会机器码或汇编,或将它反编译,否则就看不到它编译前的代码。除此之外,它也不能在不是编译它的计算机或同种计算机上执行。编译型语言以C语言为代表。为了解决无法编辑和跨平台的问题,人们造出了另外一种语言,即为解释型语言。
解释性语言是将程序源代码一句话一句话解释为机器码,所以它可以不用将源代码转换为机器码,这样的好处就是可编辑,而且因为是一句话一句话的解释,所以在所有机器上均可执行。但也正是因为它是一句话一句话的解释,所以执行效率低,速度也慢。解释型语言的代表是Python语言。工程师是有创造力的人,也是无法容忍问题的人。为了解决速度慢的问题,他们又创造了一种新的语言,它既有编译的高速,又有解释的跨平台性。这种语言可以在写好后先编译为一种中间语言,它已经有很多接近于机器码的部分,但是为了跨平台性,它把那些需要在不同种类的机器上语句不同的地方用其他的方式标记出来,然后发布时只发布这个由中间语言构成的的程序,在其他电脑上执行时,它会把那些特别的句子再解释执行。这样的话不就又有很好的执行效率,又有很好的跨平台性了吗?以此类为代表的语言是Java语言。
刚刚介绍的仅仅是人们让电脑如何理解人们的语言,而接下来要讲的是让人们理解人们的语言了。我说过,编程语言到现在为止已经有上千种了。如果仅仅是为了让电脑理解人类的语言,有那么几种不就够了吗,为什么还要发明那么多种语言呢?人们不了解电脑,电脑也不了解人,而且人与人之间也是互相不了解的。有些人说话的方式是这样的,有些人说话的方式是那样的,他们可能互相都无法理解对方。编程语言不仅仅是给电脑看的,也同样是给人看的。毕竟是人在写程序。编程语言也是人发明的。所以有些人可能觉得这种编程语言写起来不舒服,就会发明新的语言来让自己和与自己相似的人舒服。工程师不只有强迫症,还是完美主义者。
虽然编程语言各不相同,但是电脑就那么几样东西嘛,再多也多不出来个什么。所以编程语言也有很多相似之处。正是因为它们有很多相似之处,所以说你只要会其中一种编程语言,基本上其他编程语言只要学学语法就能直接上手。编程也不仅仅是写出程序而已,它是为了表达自己想法的一种工具。在之后的设计里我会讲一讲设计程序的一些思想。
那么编程语言有哪些最基础的东西呢?首先是它的表达,计算机,或者说任何事物,与人的交互不就是两种吗,也就是输入和输出,五感来接收外部信息,身体活动来改变外界。程序里面获取数据的方式也有两种,一是人们输入的东西,键盘、相机等等都算,二是硬盘中文件的内容;输出也一样,一是输出到如同屏幕或扬声器等地方,将其转换为物理方式,然后被人接收。二是输出到文件,这样既可以让别的程序再利用,也可以等到人们想看时再输出到输出设备。那么除了表达之外就是程序内部的计算了。
这也就是编程与数学的联系,编程除了输入输出,就是算法了,组成算法的除了循环结构之外,还有计算、变量与函数。计算和变量与数学的概念差不多,但是函数不太一样。虽然说计算机中的函数也是通过计算来将带入的值转换为一个结果,但是大多数时候,它的主要作用不是计算出一个值,而是执行一段指令,最终得到的值通常都是0,甚至有的时候是空的(NULL),也就是没有结果。虽然没有得出值,但是只要执行了指令,就可以得到真正想得到的东西。
但也不是说一个程序一定需要函数,那只是为了更方便理解,而且编程语言并不一定是给电脑使用的。我之前也说过,程序也不一定非得在电脑上执行。为了更好的理解编程语言的执行过程,我给大家介绍一种特别的编程语言:BrainF\*\*k。BrainF\*\*k是一种极小化的计算机语言,它是由厄本·穆勒在1993年创造的,它的语法十分简单,只有8种符号。分别是加号,减号,大于号,小于号,左中括号,右中括号,逗号和句号组成。整个程序里没有一个英文字母,如果在程序中遇到英文字母,解释器会将其忽略掉。在执行的过程中,它会创建一个很长的数组,可存储30000个数字,我们可以把它看做是30000个格子,每一个格子可以存储的最大数字为255。在程序开始之前,会有一个让你处理格子里面内容的指针,在执行程序时,如果一个符号要想操纵对应的格子,必须想办法让指针先移动到那个格子里。这8种符号的作用如下:大于号:指针向右移动一格;小于号:指针向左移动一格;加号:指针所指向的格子中的数字加一;减号:指针所指向的格子中的数字减一;句号:将所指的格子里的数字转换为ASCII表格里的对应字符并输出;逗号:将输入的内容按照ASCII表格里的内容转换为对应的数字并输入到所指的格子里;中括号:如果程序执行到右中括号时指针所指的数字是0,则执行前一个左中括号之后的指令,否则忽略这个中括号。听起来是不是很复杂?没关系,让我来演示一下你就明白了<https://fatiherikli.github.io/brainfuck-visualizer/>(演示)
这个语言是为了帮助理解编程语言的运行过程,想来这也就是图灵机的基本思想了,有兴趣你们回去可以再研究研究。但是BrainF\*\*k本身并不适合用于给人们用来编写计算机程序,如果想要学习真正的编程,我建议学习Python语言,它的语言功能强大,语法简单,初学者以及程序员均可使用的语言,而且对应的中文教程也很多。所以如果有想学习编程语言的同学,我推荐学Python。
当然作为编程语言有很多选择,Python有着简单的语法,强大的功能,很高的兼容性。但是如果要是做一个网站,用世界上最好的语言——PHP(超文本预处理器Hypertext Preprocessor)语言则是一个更好的选择。如果你打算做在单片机上的程序,那么C语言似乎更好。如果你想要做手机软件,就不得不了解一下Java语言……
编程语言仅仅是一个工具,如果想要写出程序,还要学习如何设计它。接下来我们就进入第三个模块:设计。
在说设计之前,我先说说我自己。我有一个特别的能力,是什么呢?我在使用任何一款现代的电子产品或现代设计的机械,我基本上在10分钟之内搞清楚它的使用方法。当然太过古老的比如ENIAC那种不是学过电路的就完全看不懂的那种东西除外。为什么我可以做到这一点呢?首先,我见过的电子产品本来就很多,所以有一些经验。除此之外,就是我可以了解那款产品在被设计时到底是为了什么。这也是我为什么想为大家准备这个讲座的原因:想让大家明白如何了解一个陌生的产品的用法,当然如果能做出来那就更好了。
人们设计产品是为了什么,设计的初衷是什么?当然是为了让人们的生活更方便,使用更舒适。如果你心中突然有一个想要做的东西,会让它令人感觉使用起来很不适吗?我觉得一般的人都不会这样做的吧。所以说设计师在设计产品时也会想客户到底是如何使用他生产的产品,有的时候觉得自己可能想的太过片面,会弄出调查问卷或反馈之类的功能来帮助他们改善他们的产品。
但是设计一个产品很简单,造出来又是另外一回事。有时候设计这个功能有可能可以做到的,可是最终实现它又有可能花费的东西与得到的东西之间算下来不划算。出现这个问题有可能是设计的不好,也有可能是按照当前的科技水平做不到更加合理。
我们今天讲的内容既然是有关计算机的,当然要讲程序的设计,不可能讲现实世界中的设计。那么,接下来,让我来讲讲UI设计吧!
什么是UIUI即User Interface(用户界面)的简称,在设计UI时,不仅要让用户看起来很美观,更重要的是要让用户用起来感到舒适、简单、自由。这里我要讲界面设计中比较好理解的两部分:1.外观设计,也就是让这个UI看起来更加美观;2.功能设计,这个说明了这个UI从整体看起来的实际功能。那么首先来考虑一下美观吧,毕竟大家都喜欢第一眼看上去很酷的东西。外观设计的风格有很多,比如现在很流行的扁平化风格,以及大家很常见的Windows 7 Aero风格等等。扁平化的设计很好啊,不仅界面简洁、美观,而且设计起来简单,在实际使用时也比较省资源。所以现在很多软件设计界面时都开始使用扁平化设计了。比如Windows 8到Windows 10,以及Android 5.0和iOS 9以上的系统,几乎都使用了扁平化设计。而刚刚所述的系统,几乎都是在移动端设备,或者说包含移动端设备的操作系统。所以说,这也是它的缺点,在非移动端设备上使用扁平化设计,可能甚至会令人感到反感。而且扁平化的设计虽然似乎有那么一些科技风格,但也正是因为这样,它让人感受不到亲切的感觉。在此之前,我们有另外一种方法来解决这个问题,那就是拟物化设计。我觉得Windows 7的毛玻璃应该也算拟物化。拟物化的好处是什么呢?当然是让人感觉更加亲切,因为贴近于日常生活,所以说对于用户来说也更容易学习。坏处当然也很明显,就是设计成本太高,有些东西设计师要想很长时间才能想出来如何才能让它更贴近生活。除了设计成本太高外,消耗的资源也很多,看起来也会让人可能感觉起来太花哨。以此为代表的产品是锤子手机,锤子手机上用的系统经过高度定制,每一个设计都似乎使用了身边的东西。我用过锤子手机,说实话,那个似乎很贴近人生活的设计并没有引起我的注意,而这个设计所带来的比一般手机增加的将近一倍的内存消耗,令我恨不得将这个锤子手机扔掉。可惜我现在还没有可以换的手机,所以只能先用它了。
怎么设计外观?刚刚说到的也只是一些概念,在实际设计时,如果是程序设计,我们可以使用PhotoShop等工具来设计,而对于网站设计,用CSS(层叠样式表Cascading Style Sheets)来设计可以保证它的通用性。
外表设计的再漂亮也只是第一眼看上去很漂亮,等新鲜感过去之后,基本上也就没什么用了。于是接下来就要看实际的功能如何。这里我用某些设置的设计来作为例子:Windows的系统要想设置某些东西,都要找控制面板,当然有些基础的功能在任务栏上也能用。但是Windows系统的设置通常藏得很深,没有一点基础的人很难找出来,当然也有可能是他语文学的不好,理解不来。而Android系统的设置就不一样了,它相比Windows系统就更加人性化了。不过想来也是,以前电脑都是给懂的人用的,虽然现在的电脑相比以前已经人性化很多了,但还是有些地方让人应付不来。手机出来的晚,生产出来时就已经有了为全世界人们使用的觉悟了,所以用起来也比较简单。总结下来就是:好的功能设计要为每一种人设计,无论他有多专业,还是说从来没有接触过这一切,要让人第一眼看上去就明白它有什么基本功能,而更高级一些的功能可以先隐藏起来,等用户需要使用时再显现出来,免得吓坏一些不会用电脑的人。烂的功能设计有两种:1.想要找的功能没有,可能根本没提供。2.想要找的功能找不到,可能藏得太深了。
你们以为UI都是有图像的吗?错了!有图像的UI叫做GUI(图形用户界面Graphical User Interface),但不是所有人用的电脑都是可以显示图像的,只是大多数人都用的是图形界面,图形界面看起来比较清晰,使用起来也比较方便。但是图形界面的效率低,无论是电脑的执行效率还是用户使用时的工作效率。不知有没有人听过DOS(磁盘操作系统Disk Operating System)?你们如果没听说过可以回去问问你的父母。在以前图形化的操作系统还没出来时,人们用的都是CLI(命令行界面Command Line Interface)。大家在看那些有着黑客入侵的电影时,黑客们是不是都看起来都在胡乱拍键盘,其实那真的是在胡乱拍键盘(演示:<http://geektyper.com/>),而电脑屏幕上有一堆看不懂的类似于英文单词的东西从屏幕滚过?虽然那是艺术的表现形式,有点太夸张,但是艺术源于生活,现实中真的有人使用那种看起来似乎很酷炫的东西。但是他们不是为了耍帅而使用CLI的,而是由于各种原因不得不使用他们。这样的例子有服务器操作系统,以及IRC(互联网中继聊天 Internet Relay Chat),用这个聊天比QQ什么的聊天软件更快,更省流量,效率高。
我之前也说过,电脑中很多设计由于经费等原因,不得不让它从界面上看起来不太人性化。但是这并不是没有办法解决了。人之间的交流不止有图像,更重要的是文字。电脑也一样,电脑与人的交流在术语上叫做HCI(人机交互 Human-Computer Interaction)。来看一个实例:如果我想设计一个网站,但是我审美观不行,这个网站怎么样才能让人感到亲切呢?既然从整体没办法做到更好,那就在细节上加倍努力吧!一般的网站上都有登录系统吧,那么我们可以这样设计:对于初次访问的人,我们可以在网站上显示:欢迎来到我的网站。当然只显示一次,之后不再显示。在登录之后,刚登录完可以显示:欢迎回来,某某某。或者是根据时间显示:下午好,某某某。这样和“某某网站 用户:某某某”这样的方式更容易让人接受吧。这样用户就能在潜意识里把这个网站看作一个人,而不仅仅是网站。这样即使外表看起来不怎么样,但是用户体验总还是不错的吧。没错,这一块的设计就叫做UED(用户体验设计User Experience Design),为了提高用户满意度,我们就通过这样的方式来让程序更易用。
除了以上所讲的部分,界面设计还有许多部分。由于篇幅原因,这里我将不再过多说明
以上是关于用户体验设计方面的,接下来让我说说程序设计吧!我之前也说过,编程语言只是工具,实际使用时还需要考虑程序的逻辑、架构、界面等等东西。在以前,程序设计中算法是非常重要的,但那也是以前,多亏很多计算机大神的帮助,现在的编程那是越来越简单了,一个几岁的小孩子就能写出来比以前的程序更漂亮、更复杂的程序。所以,现在算法在计算机编程的重要性越来越低了……但是并不是说算法就没有用了,如果没有人去研究算法,那么人们在遇到新的问题就没人能解决了。尽管以我们这个级别的人研究算法可能没法做出新的东西,但是我还是觉得,让更多的人了解程序背后的原理,可以帮助理解程序如何使用。所以接下来,让我说说关于算法与逻辑吧!
仍然是举个例子:大家都听过音乐吧,在播放音乐时有一个选项:随机播放,对吧?随机播放的实现方式有很多,让我们深层次的来研究一下它吧。首先,随机播放中,有个很重要东西,那就是随机。说到随机就不得不说随机数了,随机数也分为两种:真随机数与伪随机数,真随机数的生成在现实中很简单,在计算机中生成起来就很麻烦了,所以首先抛弃。伪随机数的算法很多,这里我们用最简单、最通用的伪随机数的算法:线性同余取随机数,看过离散数学的人可能有听说过这个。为什么我们选这种算法?因为其他算法我看不懂,比如什么梅森旋转算法啦,一听名字就能感觉它有多难了吧,反正我看了半天是没有理解。什么是线性同余?就是算一个一次函数的余数,相当简单,它的递推公式是:X0=seedXn+1≡(aXn+b)modM。seed表示随机数的种子,通常取当前时间,a,b,M都是常数,通常会取质数。在seed与n都相同时,这个随机数就能被反推出来,所以很不安全。但是想来做随机播放也不担心别人会不会推出随机数,所以我们就用这个就能得到一个随机数。具体原理我也不太清楚,有兴趣的可以问问数学老师。接下来,我们要创造一张表,那张表上有着你要播放的播放列表,但是这时候它还没有被打乱。首先我们要知道整张表上有多少首音乐,假如我们用a来代表当前所有音乐的数量,然后我们再为所有的音乐编上号,看起来就是1、2、3……。这时候每一首音乐都有了一个属于自己的编号。再然后,我们对用随机数公式得出的数字求余,即Xmod(a+1),这样做就可以得到一个不超过所有音乐数量的随机数了。当然前提是随机数本身的最大值大于所有的音乐数量,所以在随机数公式中的M要尽可能取大一些。得到最后需要的随机数后,命令播放器播放编号等于随机数的那个对应的音乐。当需要播放下一首或切歌时,为了避免又播到这一首歌,我们可以将那张表上的那首音乐删除,当然是在表里删,不可能删这个文件。然后重复之前的操作。在最后一个音乐播放完成之后,表里已经没有东西了。这时有两个选择,如果用户打开了全部重复播放,那么重新建表,重新开始。如果没有,则停止。看起来是不是很完美的方案?错了!用户总是喜欢做反设计师的操作,万一用户点了上一首,怎么样才能回到上一首?那么我们就需要修改一下方案,我们要建两张表,把从表里删除的那个操作换成将它移动到第二张表里。这样如果用户需要听上一首歌,就可以读上一张表的内容。难道说这样就完美了吗?不完全,但是这个BUG我现在不说出来,大家自己思考思考吧。
除了逻辑设计,还有算法设计。我们再举一个例子:如果说我们在设计程序时需要用到质数,比如需要列出1到1000之内的所有质数。那么我们用什么方法更好呢?首先根据质数的定义,质数是一个不会被除了1和它本身的数所整除的数字,而且质数不包括1。那么接下来设计起来就很简单了,只要让当前数字不停的除以除它和1之外的在1到这个数字之间的所有数字就可以了。这很好,但是速度很慢。可能这样算1000以内的所有质数还不算太慢,那如果是10万以内呢?这得算多长时间啊……所以我们要对算法进行优化。我们知道,合数有一个特点,任何一个合数一定是由比它小的质数相乘得出的,那么接下来,我们可以这样筛选合数,首先我们算出第一个质数,在算第二个数时只要和之前算过的质数相除,能除尽就是合数,除不尽就是质数。这样是不是计算量一下就大大减少了呢?但是这还不是最优化的方案,如果说我们已经知道我们要算的最大数字是多少,那么只需要除以比这个最大数字的算术平方根小的质数就够了。这样每次算的时候需要除的数字又少了一半,算起来速度就会更快了。虽然这个算法不错,但有时我们甚至不需要这个算法就可以更好的解决这个问题。因为我说的是列出1到1000之内的所有质数,这个数字又不是很多,那么我们可以提前算好,这样就可以更快的解决问题了,这样的操作我们叫它预计算(Precomputed)。
程序设计是一个很严谨的事情,每一个方面都需要做到最好。但是人无完人,总有我们想不到的地方。尤其是计算机安全方面的事情,总有你想不到的地方,总有别人比你多想的地方,正是因为这样,才会出现黑客这样的人。这里我仍然用举例子的方式为大家展示程序设计的漏洞:我最早发现的网站漏洞似乎是在一个主机商的网站上看见的。由于一个很偶然的原因,我看到了那个主机商,而那时我正好想建一个网站,然后就在那个网站上注册了一个账号。那个主机商正好在搞活动,好像是买主机可以给你便宜5块钱,而账号初始上也有5块钱,主机最便宜的每个月也要30块钱。然后我想了想,要不然我干脆买上0.1个月的主机吧,0.1个月应该是3块钱,我应该能付的起。于是我在购买里输入了0.1,当然结果是失败的,它不能让你买小数或者是负数之类的月数。但是我返回来惊奇的发现,我的账户里居然多出来了5块钱,我想了想,它应该是对我的账户上减去了0-5元钱,毕竟是在搞活动,然后算一下5-(-5)=10。这个好啊,我感觉我可以免费得到那个主机商的主机了。于是我通过这个BUG买了1年的主机,居然成功了。当然在大约10天后被发现了,账户也被封禁了。通过这个例子我们应该明白,不要相信任何用户输入的数据,还好我仅仅是用这个漏洞买主机,很明显,这个漏洞甚至可以通过SQL注入之类的东西破坏他们的主机系统。不过这个例子似乎离日常生活有点远,那么接下来我再说一个近一点的事情:在几周前,我们不是进行了禁毒考试吗?我看了一下那个网站,很明显是一个宁夏的网站公司包办的东西。一看就知道是一个做的很不认真的网站。我在答题前看了一下源代码,发现它在批阅卷子时先在本机批一遍,只有成绩大于60分时才会把答题数据传到服务器中再批一遍。这样确实可以有效的减小网站的负载,但是这不就把答案也下载到本机上了么……于是我照着答案就在禁毒考试中得了A。这个例子又告诉了我们什么呢?就是不要将不应该让用户看到的东西下载到客户端中。
总的来说,做一个程序并不复杂,但是做一个逻辑严谨,界面美观而易用的好程序就没那么简单了。设计师在设计时需要考虑各种各样方面的东西来让用户用的舒服,又要想尽各种办法防止整个程序出现奇奇怪怪的BUG。这也就是为什么说写程序很难了。但是我希望大家听完这个讲座后能改变对写程序的看法,它看起来很复杂,但是只要仔细思考,就能解决一切问题。
以上就是我对编程以及设计的看法,也许语句中有不通顺之处,请大家谅解;如果有不对的地方,欢迎大家批评指正。
最后,谢谢大家前来听我的演讲,谢谢大家对我的支持与信任,本次演讲结束。
+38
View File
@@ -0,0 +1,38 @@
---
layout: post
title: 关于在Github Pages上使用评论的心得
tags: [Github, 评论, 心得]
---
Hi,我是Mayx,最近在Github上用Github Pages建了一个博客。<!--more-->作为一个博客,怎么说也得有个评论系统吧,所以我就在这个博客上搞了一个评论系统。
接下来我想谈谈我对评论系统的看法。
# 评论系统的选择
这个博客作为一个静态博客,自然评论只能用其他的服务,毕竟评论得有个地方存吧。首先最有名的第三方评论系统就是Disqus了。可惜在中国不能用,除非科学上网。
国内倒是也有不少这样的第三方博客系统,像什么~~多说~~(已死),畅言啥的。但是总感觉第三方服务不好,哪天挂了都没办法。所以最终考虑,还是在Github上找吧
## Github上的评论系统
我在Github上找到的比较有名的评论系统有这么几个:
1.[Gitalk](https://github.com/gitalk/gitalk)
2.[Gitment](https://github.com/imsun/gitment)
3.[Valine](https://github.com/xCss/Valine)
4.[fcomment](https://github.com/fengbjhqs/fcomment)
5.2018.10.22更新)[utterances](https://github.com/utterance/utterances)
其中Gitalk、utterances和Gitment是基于Github Issue的,而Valine和fcomment是基于Leancloud的。这几款都支持Markdown。
# 为什么选择了Gitalk
这个博客使用的是Gitalk作为评论系统,为什么选择了它呢?
首先,Gitment已经停止维护了,而且评论在评论框上面,这很难受,所以首先排除它。
utterances也是评论在评论框上面……不知这些人为什么这么设计……
fcomment和Valine倒是看起来还不错,也都有邮件提醒,当然Github Issue自身也带邮件提醒,这里没什么差距
Gitalk比fcomment和Valine差的地方是每一篇文章需要手动初始化。不过想想我更新文章的话应该也会看一下,顺带的初始化一下,这个影响也不大。还有一点就是Gitalk在IE11中默认头像会偏移,希望官方能改一下(~~IE去死~~)
fcomment和Valine的缺点我觉得就是安全性、用户识别性的问题吧,fcomment倒是还支持Github登录,Valine评论还要输一大堆东西,而且也没办法验证他们的真实性,Github至少是经过邮箱验证的,所以还是选择Gitalk了。
以上就是我对评论系统的看法。
~~其实就是先装的Gitalk,懒癌犯了不想改给自己找个借口罢了,23333~~
+56
View File
@@ -0,0 +1,56 @@
---
layout: post
title: Mayx的自检报告
tags: [Mayx,MOS]
---
Mayx最近感觉自己有些问题,所以给自己编了一个自检报告……<!--more-->
The Report is created by MOS
## 什么是MOS
>**创造MOS不是为了改变世界,而是防止世界改变自己**
不管怎么说,先介绍一下MOS吧。
MOSMayx Operating System)是为了让Mayx更好的分析、处理和解决问题存在的一个类似于辅助系统的东西。
但是自己创建的MOS我自己都解释不清~~(……我不想说什么……)~~
接下来是我分析出来的MOS存在的理由:
### 第一种解释
大脑是一个很神奇的东西,进化了这么多年,总得有些高级的地方。其实人拥有着所想即所得的能力,但是受三观控制,这个能力并不能改变现实中的东西。虽然改变不了现实,自己总能改变吧……于是,为了更好的解决现在存在的问题,大脑根据宿主所拥有的知识自行创建了一个系统。然后被我命名为MOS。
正是因为是大脑产生的系统,所以它没有代码,而且很容易出BUG。
### 第二种解释
MOS是一个用来解释我不能解释的东西的一个代替品,就如同UFO和人们定义的神一样,因为未知,而又需要一种解释的方法,于是出现了MOS。
***
## 正文
![MOS_DEMO](/images/MOS_Demo.png "MOS的大概效果图")
```
MOS Log System has been Load.
MOS Analysis System is Ready.
OUTPUT Report to the real world.
Ready...
```
### [OK]MOS - Core
* 我还死不了![OK]
### [OK]BCS(Body Control System)
* 感觉身体可以动[OK]
* 眼皮还能睁开,不错,还活着[OK]
### [OK]MAS(MOS Analysis System)
* 1+1=2[OK]
* 我还能看懂我的[MaBBS](https://github.com/Mabbs/Mabbs)[OK]
### [Warning]MCS(Memory Control System)
* 感觉忘记了很多很重要的东西……[Warning]
* 想忘记的东西忘不了……有点烦……[OK]
* 索引知识的能力比以前差了不少……[Warning]
### [ERROR]MMS(Mayx Mental System)
* 如果不是MOS - Core还能正常工作,我就学SayuriFrom Doki Doki Literature Club)当晴天娃娃,或者学MiuFrom Bungaku Shoujo)在房顶上大喊一声“你一定不懂吧”之类。[ERROR]
* 感觉脑子里好乱,是不是应该多睡睡觉?[ERROR]
### [ERROR]MES(Mayx Emotion System)
* WITHOUT MERCY![ERROR]
* HUMAN SHOULD GO DIE!!!~~(是不是中二病又犯了?)~~[ERROR]
* 在MMS恢复正常以前,还是别考虑这些了……
MOS OUTPUT PROCESS HAS BEEN HANGED
该睡了,今天就先到这里吧。
+95
View File
@@ -0,0 +1,95 @@
---
layout: post
title: Mayx的创想
tags: [Mayx, 创想]
---
这里是Mayx发布创想的地方。<!--more-->
有的时候,我会有一些想要发明的想法,但是经常忘记。现在为了防止忘记,我将在我的博客上更新我的创想。
# 关于减肥的创想
人们希望减肥,一是为了健康,二是为了舒服,三是为了活动方便。
但是减肥很痛苦,为什么?并不是因为减肥浪费时间,而是因为减肥会有糟糕的感觉回馈给大脑。
不仅如此,越胖,减肥时越难受,越难受就越不想减肥,这样就会造成恶性循环。
## 解决的发明
既然如此,那么我们只要让大脑不会感受到减肥时产生的糟糕的感觉,就可以解决这个问题了。
可是如果没有大脑的参与,人怎么能控制自己的身体动起来呢?我有一个想法:
首先通过麻醉的方式阻断大脑与身体的连接,然后使用电极的方式直接操控肌肉运动,大概感觉就是把麻醉的人绑在跑步机上,周围提供充足的氧气,然后电极按照跑步机
的速度调整腿摆动的频率,这样就能在没有意识的情况下减肥了。
直到减到运动并不会让人感到痛苦时就可以结束了。
这种减肥方式比现有的节食,还是抖抖机,甚至是抽脂都要好得多,那些方案对身体的伤害很大,而且效果也并不好。这种方案如果可以使用,我一定要试试(笑)。
# 关于键盘和鼠标的创想
既然那么多设计师设计出各种各样千奇百怪的键盘,那我干脆也设计一个好了
## 正文
我希望有一种键盘,它和鼠标在一起,也就是说,鼠标不是随便可以移动的,而是固定在键盘上,一个巴掌正好可以握住的那种。不过这样设计,就得让左撇子和右撇子用不同的键盘了……无所谓,然后鼠标上有四个按钮,一个滚轮,按钮中两个是左键和右键,另外两个可以自定义。在鼠标下面有很多像扬声器一样的孔,用来给手散热。具体的运动方式可以参考一下TrackPoint,就是那个IBM发明的在ThinkPad的小红点。那个太小,控制起来精度也不高,那么我设计成更大的,握起来也会更舒服吧。
键盘还是QWERTY的就好,我也习惯了,不过这次我想把QWERTY键盘改成单手式的,因为另外一只手被鼠标占用了,不过这样对专门打字的人有点不友好……无所谓。具体键盘使用什么技术,我这次不想谈。接下来就是鼠标和键盘的中间位置了,因为手被鼠标和键盘占用了,中间我不想弄太多控制的按钮,我希望弄点显示系统工作状态的东西,比如当前网速,当前内存占用,CPU占用等等……然后在中间弄一个大大的电源按钮,按下它,整个键盘的LED灯会随着系统的启动依次亮起,关机时依次熄灭。除了这些,我希望在键盘顶部设置调节亮度的杆,在键盘旁设置调节音量的杆,在键盘后面加一组USB Hub……
键盘整体长什么样?很简单,我觉得弄成半弧形——就是在圆环上截下来一部分的那种东西一样。
如果出了这种键盘,我会不会买呢?恐怕不会……原谅我设计不考虑性价比……但是我觉得这种键盘要是发明出来,应该会很受欢迎吧……
# 关于艾滋病的创想
前几天(今天是2018-12-2)有一个新闻,说是“世界首例免疫艾滋病的基因编辑婴儿在中国诞生”。于是我就想起来之前我所想的一个如何让艾滋病患者生出正常的小孩。
## 正文
首先,我们知道,HIV只会攻击T细胞,而感染AIDS后全身都是HIV病毒。那么可以想到,其实HIV不能攻击受精卵,那么只要在受精卵发育之前,让它脱离HIV的环境就好了。
具体原理和试管婴儿和克隆有点像,就是把受精卵移到正常的代孕母亲上就可以了。而且也不能用得了AIDS人的母乳喂养,这样,我觉得应该就可以生出正常的孩子了。
## 疑点
我不知道现在的人有没有水平在保留受精卵的同时消除HIV,如果不能,这样反倒会让代孕母亲感染AIDS……这可真是个问题……
# 关于暖气毯的创想
最近学校通暖气了。我趴在暖气片上,突然想到,为什么不把暖气用在床上呢?
## 正文
我觉得电热毯费电,而且又小(倒不是没有大的)……其实最主要的是我趴在暖气片上感觉很舒服lol。
我想做一个毯子,里面有很多空腔,然后把暖气水通到这个毯子里,然后就可以利用暖气让床变暖了。
## 自我审查
为什么没有这样的产品?我觉得可能是因为有暖气的人就用不着电热毯了,而用电热毯的人大多没有暖气,所以这个东西可能没有市场吧。
不过可以暖被子啊lol...
# 关于Mayx音乐处理系统的创想
在听音乐的时候(我听的音乐可以看作是DJ吧……),在头里就会浮现出一堆音轨和频谱之类的东西,于是我就想,能不能让机器把音乐中的音轨分离出来,这样既可以提高音质,又能方便编辑,而且也能加一些更有趣的东西……
那么接下来这个音乐处理系统主要分为以下几块:
## Player
首先在播放前解析歌曲,将音乐中的各种乐器声、人声、杂音都分离出来,得到几个音轨,然后将分析出来的音轨进行优化:比如钢琴谱用系统中更加高清的波表重制,根据实际体验除去杂音等等,最后合并音轨,这样就能得到更加清晰的音乐了。
优点:
1. 音乐更加清晰
2. 可以根据波表自行更改音乐风格(有点像Remix?)
3. 可以在提高音乐品质的同时减小音乐大小(类似于Midi,但是可以有人声和其他的声音)(当然得用特殊的文件格式,不是所有的音乐播放器都能播放)
4. 处理得出的结果可以用于更多方面(接下来会说到)
缺点:
1. 需要预处理,不能直接播放
2. 有点担心波表的声音和现实中的乐器声区别太大
## Editor
既然已经用Player将音轨拆分,那么就可以拿来编辑啦!
当然不仅仅是这样,如果只是这样的话和其他的音乐编辑器有什么区别呢?
这个音乐编辑器的优点是模块化,就如同Scratch一样,编辑音乐就和拼积木一样,让音痴也能轻易制作音乐!
## Other
其他方面我还想过很多,比如可以用到人工智能提高用户体验之类的啦:
### 自动Remix、串烧系统
根据用户听的音乐风格,可以将音乐Remix为用户喜欢的风格,而串烧则是将相似风格的音乐无缝穿插,我觉得以现在的科技水平应该是没有问题的吧……
### 全自动鬼畜系统
将素材扔进去,首先把原音乐的人声分析出来,然后转换成注音,接下来在素材中找有相似注音的片段,自动剪辑,然后和优化后的伴奏合并,变成鬼畜视频。
其实这样的话也可以把Vocaloid拉进来,就可以将任何一首歌转换为V家人员唱的歌了。
这样也能大大减少做鬼畜的难度吧(我听说一般做鬼畜都要一个月……)
### 音游谱自动处理系统
用解析出来的音轨转换为音游谱,这样自己喜欢的音乐就算没人制谱也可以玩了
### 自动编曲系统
既然新闻、诗歌都可以由机器人编写,那么谱曲应该也一样简单吧!收集所有曲谱,通过人工智能与大数据,写出评价最高的音乐也是有可能的吧!
## Talk is cheap. Show me the code
Are You Kidding Me?我一个菜鸡哪有本事写这么高级的代码,让大佬来写吧!(产品经理的思维)
---
(未完待续)
+135
View File
@@ -0,0 +1,135 @@
---
layout: post
title: 免费订阅一个属于自己的邮件日报
tags: [免费, 邮件, 日报, 心得]
---
前几天,我给自己做了一个邮件订阅系统<!--more-->,是用PHP做的。这里不得不夸赞一下PHP,PHP真不愧是世界上最好的语言,我从来没学过PHP,但是我光靠百度搜到
的东西拼凑就能搞出这个邮件订阅系统,还是很不错的,而且网上的免费PHP空间也有很多,所以就可以很轻易的给自己搞一个免费的邮件订阅系统。
# 制作方法
很简单,首先去百度上搜一个带sendmail和CronTab的免费PHP主机空间,然后在上面创建一个PHP文件,随便取什么名字都好,只要后缀是PHP就可以,然后把下面的代码
粘上去,保存,然后在主机面板上设置CornTab任务,设定为每天运行一次,然后OK……对了,记得把下面变量`$to`里面的地址换成自己的邮箱地址,不然每次发送邮件就会发
到我的邮箱了……
# 代码
``` PHP
<?php
function curl_post_https($url,$data){ // 模拟提交数据函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓异常
}
curl_close($curl); // 关闭CURL会话
$backdata = json_decode($tmpInfo,true);
return $backdata['text']; // 返回数据,json格式
}
function w_get(){
$url = 'https://yuri.gear.host/talk.php';
$data['info'] = '某地天气';
$data['userid'] = 'Mayx_Mail';
$retdata=curl_post_https($url,$data);
$data['info'] = '某地明天天气';
$retdata = $retdata . "<br>" .curl_post_https($url,$data);
$data['info'] = '某地后天天气';
$retdata=$retdata . "<br>" .curl_post_https($url,$data);
return $retdata;//返回json
}
function xh_get(){
$url = 'https://yuri.gear.host/talk.php';
$data['info'] = '讲个笑话';
$data['userid'] = 'Mayx_Mail';
$retdata=curl_post_https($url,$data);
return $retdata;//返回json
}
function xw_get(){
//RSS源地址列表数组
$rssfeed = array("http://www.people.com.cn/rss/it.xml");
for($i=0;$i<sizeof($rssfeed);$i++){//分解开始
$buff = "";
$rss_str="";
//打开rss地址,并读取,读取失败则中止
$fp = fopen($rssfeed[$i],"r") or die("can not open $rssfeed");
while ( !feof($fp) ) {
$buff .= fgets($fp,4096);
}
//关闭文件打开
fclose($fp);
//建立一个 XML 解析器
$parser = xml_parser_create();
//xml_parser_set_option -- 为指定 XML 解析进行选项设置
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
//xml_parse_into_struct -- 将 XML 数据解析到数组$values中
xml_parse_into_struct($parser,$buff,$values,$idx);
//xml_parser_free -- 释放指定的 XML 解析器
xml_parser_free($parser);
$j = 0;
foreach ($values as $val) {
$tag = $val["tag"];
$type = $val["type"];
$value = $val["value"];
//标签统一转为小写
$tag = strtolower($tag);
if ($tag == "item" && $type == "open"){
$is_item = 1;
}else if ($tag == "item" && $type == "close") {
//构造输出字符串
$rss_str .= "<a href='".$link."' target=_blank>".$title."</a><br />";
$j++;
$is_item = 0;
}
//仅读取item标签中的内容
if($is_item==1){
if ($tag == "title") {$title = $value;}
if ($tag == "link") {$link = $value;}
}
if($j == 20){
break;
}
}
//输出结果
return $rss_str."<br />";
}
}
$to = "mayx@outlook.com , unmayx@139.com";
$subject = "Mayx日报";
$txt = "
<html>
<body>
<h1>Mayx日报</h1><hr>Hi,今天是" . date("Y-m-d") . ",以下是今天的日报:<br><small>
" . file_get_contents("http://mappi.000webhostapp.com/hitokoto/") . "</small>
<h2>天气预报</h2>" . w_get() . "<h2>每日笑话</h2>" . xh_get() . "<h2>今日新闻</h2>" . xw_get() . "<hr><small>" . file_get_contents("https://api.gushi.ci/all.txt") . "</small><br><center>Made By <a href=\"https://mabbs.github.io\">Mayx</a></center>
</body>
</html>
";
$headers = "MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html;charset=utf-8" . "\r\n" .
"From: Mayx_Daily<Mayx_Site>";
mail($to,$subject,$txt,$headers);
?>
```
(2018.11.12更新:增加了今日新闻)
(2018.11.13更新:限制新闻条数为前20条)
# 后记
说实话,我更擅长用Linux Shell解决这种问题,可惜网上好像没有免费的云主机,听说Travis-CI好像也能搞这个事情,但是说实话,我英语并不是很好,让我看懂短一点的文档还可以,太长的就算了……
但我还是努力的使用Travis-CI解决了这个问题,链接:[Mayx日报](https://mayx.tk/)
对了,运营商自己带的邮箱可以设定短信提醒,所以也可以搞成给手机发短信的形式,每天给自己发一条天气预报……那么这样的话,就把天气预报里的城市换成自己的城市吧!
如果没有收到邮件,去垃圾邮件找找吧,然后把邮件地址设为白名单。
如果谁想试试这个功能,可以在下面给我留言,我在验证通过后会把你加到我的服务器里面的。
+28
View File
@@ -0,0 +1,28 @@
---
layout: post
title: 对网络免费资源的感想
tags: [免费, 感想, 资源, 网络]
---
现在的网络是真的好,好多东西都免费了!可是现实就不一样了,现实中想要免费的(任意)东西就得等到共产主义的到来了……<!--more-->
# 关于免费
以前,服务器是只有高端人士才可使用的稀有东西,而且价格昂贵。
以前,订阅天气预报和网站都是要花不少钱的。
以前,建立个人网站都是极其复杂的。
以前,域名不可能有免费的。
……
但是现在不一样了,云端存储是免费的,建立网站是免费的,注册域名是免费的,使用网站引擎也是免费的……
这不仅要感谢开源,还要感谢支持开源的公司,是他们为免费的网络资源做出了贡献。
# 关于收费
有了那么多免费资源,还要花钱建服务器干啥?
以前我不是很清楚这个,但是现在不一样了,我现在用着别人的服务器,才知道收费的服务有什么不一样。
收费的主机传输速度可以达到50MB/s啊!免费的就只有100KB/s……
# 总结
有钱可以不用在意这些,但只是为了个人使用,免费资源足已,如果想要更顺畅的服务,当然花钱也可以。
~~但是这辈子,我是不会为网络投一分钱的。~~不过我还是很愿意为网络做出贡献的。
+66
View File
@@ -0,0 +1,66 @@
---
layout: post
title: 论Mayx是怎么被抓的
tags: [Mayx, 故事]
---
今天我要讲一个我是怎么被抓走的故事(当然是虚构的!),以此表现一下互联网犯罪到底是怎么被追查的。<!--more-->
# 开端
Mayx在高考报名时发现报名系统有个不严谨的地方,可以下到身份证照片什么的……
# 前夕
2018年末,宁夏教育网机房。
“好无聊啊,居然又到了日常检查的时间,随便看看就行了吧” 某运维这么说到(说实话,我怀疑像这种地方,有可能没有运维lol)
“嗯……系统看起来挺正常,日志好像也没问题……等等,这是怎么回事?怎么近几天有一个IP日夜不停的发请求?WhatUA还是GNU/Linux,wget?这抓取的是什么?居然
在扫描我们的身份证照片?WTF?”(哈,我估计教育网的运维应该连这种水平估计都达不到)
“等等,我查下IP”他随手掏出自己的手机,输入IP查询,返回结果:香港
“凉了凉了,赶紧向领导汇报吧”说着,他拨出了一个号码。
***
2018年末,某地。
“哇,GFW怎么又ban我IP,登个服务器还要挂VPN?”Mayx说到。
“WTF?被GFWban了连国内网络都无法建立连接,好气哦……对了,我还有一台服务器,拿那台试试吧。”说着就登上了由Mayx的老师赞助的一台服务器
Mayx登上服务器后打开了自己写的抓取宁夏考生身份证照片的脚本,看着终端上不断刷出的数据,Mayx松了口气
# 发展
“什么?考生信息泄露,别说了,问问网警吧”领导气愤的说到。
## 网警的追查过程
~~“emmmm……阿里云的IP么,直接问是谁开的吧”于是Mayx的老师被抓走了……(大雾)~~
~~“嗯?Vultr的IP……emmmm看看国内有谁连接过这个IP?嗯?电信网?是1XXXXXXXXXX的用户登的吗?好,把他抓了!”于是Mayx被抓了(大雾)~~
经过多方讨论,认定这件事是Mayx干的
## 抓捕现场
2018年末,某高中高三X班,正在上课中……
他们突然冲进教室,喊道:“Mayx,你已经被包围了,不要抵抗,赶快投降!”
~~Mayx缓缓的走出教室,回过头向同学们说:“你们将永远呆在泥潭中,而我,则前往更加广阔的深渊”(羞耻感满满lol)~~
# 结局
Mayx呆在监狱里,随手一滑打开了一个终端,输入:
`MOS-CLI Drop Image World ID $this`
于是整个世界开始崩离,我回到了我的电脑面前。
# 后记
其实身份证照片也并不算特别机密的东西,不过是一个记录了名字,身份证号码,性别,样貌这样很普通信息的东西罢了,没有人会在意这些信息泄露。
只有包括家庭住址,联系电话等信息泄露,才是隐私泄露。
又因为宁夏某些程序员不严谨,运维更是无处可循。
所以,上面的故事只能在想象的世界发生。
## 这些信息可以干什么?
可以让我知道有宁夏有多少人报名了高考:70693人
可以让我知道报名的人分布于哪里。
以及起名的参考。
顺便可以找找我的初中同学lol。
+20
View File
@@ -0,0 +1,20 @@
---
layout: post
title: Mayx的博客换域名啦
tags: [Mayx, 通告]
---
由于垃圾GFWban了我的Github Pages,所以我用反向代理来帮助我解决访问的问题。<!--more-->
# 地址
<https://blog.mayx.tk/>
# 提供
由[Github](//github.com)提供Github Pages服务
由[Cloudflare](//cloudflare.com)提供CDN&DNS服务
由[花火学园](//www.say-huahuo.com)提供反向代理服务
由[Freenom](//www.freenom.com)提供免费域名
# 缺陷
由于Nginx默认不能替换网页内容,跟着教程也半天弄不好,所以Atom和Sitemap包括一些SEO的设置都是原站(mabbs.github.io)的,这一点很伤啊……
还有就是因为用的是免费域名,也不知会不会有一天就消失不见了……而且还要续费……

Some files were not shown because too many files have changed in this diff Show More