Ylune’s Knowledge Bank | 学习笔记库

高考过后,为暑假列了书单,侧重于 Web 技术、思维模式的学习。

十几天没动笔 我该去好好练字了

现在暑假几乎每天都在泡图书馆,前期也去打过工,但是由于种种原因,后面便辞职了,下定决心利用暑假时间好好学习。于是我利用 Dokuwiki (之前考虑用 TiddlyWiki 但是在是不会折腾) 搭建了一个个人学习笔记库,以便于更好地阅读和存储每天记在本子上的学习笔记。

Wiki 笔记库用的是我刚注册的新域名 Moeue.com,由于该域名还在备案,所以暂时存放在旧版 Hostker 的主机服务上,备案后将转存到广州的服务器。

博客的话,希望暑假会更新得比较勤吧,高二、高三两年学习间隔期落下了很多东西,也少掉了很多联系的朋友,不管大家现在怎样,反正我要回来啦。

http://wiki.moeue.com

CONVERSATION | 交流

A:我现在的生活应该是越来越俗了
B:(???)我现在每天下班就买菜吃饭,吃完了就看剧打NS,洗衣服做家务,早过上了中年妇女的生活

A:同为打工仔你就勤奋得多,你也越活越回去了?
B:不,我喜欢平淡的生活

A:可能是我虚高
B:干嘛这样对自己

A:文人清高
B:我只跟着心走,怎么开心怎么做,尽可能地满足自己的欲望愿望

A:我要超然一点,排除掉无意义的人际关系
B:你可以超脱这个宇宙吗?你经济独立吗?你的内心满足吗?不空虚、不寂寞吗?不想交流吗?不想把自己知道的告诉别人吗?不想有成就感吗?超脱佛?儒?法?道?魔?哪方面的超脱?

A:我这说法也不太恰当,你每个方面都指出,会不会太夸张?
B:你想超脱大还是小的?

A:这看你怎么界定
B:小到不小心踩到蚂蚁心里难受,还是大到湮灭宇宙无动于衷?所以你想怎么超脱?你又能多清高?高考状元?保送清华北大?

A:说到痛点了
B:抱歉,扎心了

A:[再见]
B:所以你就是作,死要面子活受罪

A:我是不是要分析下自身矛盾?
B:不用。你摆脱人际关系,和谁划清界限?超脱给谁看?谁会在意你超不超脱。你不在意有没有人在意的时候,某种意义上就是超脱了,既然不在意了,那就不用想着划清界限了。世界就是矛盾的,有存在就有消失,未来的每一秒都是薛定谔的猫,清高只是自命清高,平易近人你才会发现世界的美

A:听你说的,我该写写字judge自己了
B:这和上一个问题是一样的,你不需要这么对自己,你就问问自己做某件事开心吗?满足吗?首先,尽量不要危害到他人,要自私地满足自己,又可以自私地不顾及他人,这是很矛盾的,要自己找平衡点,人的一辈子就那么长,要让自己感到有意义,感受到开心。比如我喜欢和比人聊天,我会和路边或者商场的保洁叔叔阿姨聊保洁问题;我会和设计师一起看图纸;我会和收银员吐槽客人。这都是很开心的事,都可以更加了解这个世界

A:我之前对自私进行过一番概述,在情况未明的情况下,自私难以界定
B:自私看个人界定吧,我的原则是跟着心走,不过按照今天你的观点,我要是你会觉得很累。你对自私的分析挺好的,按你想法来说:对 A 来说是可以接受的,那 A 不觉得你自私;对 B 来说是不可以接受的,那 B 觉得你自私。其实这里不存在自私,都是内心的想法

A:对,这时只不过符不符合受影响对象的利益,然而按照我自己的概述来看,遇到损害我利益的事情,我心里还是不服
B:这就涉及到你说的人数问题了。如果和大多数不符合,大家来指责,很多时候就是道德绑架。举个例子,在公交车上,你干了一天的活累的动不了了,一位老太太上车了,你是否给她让座。不让座就是自私?道德层面上是这样的,可是对于我,我看得顺眼就让,不顺眼就不让,我也很累,我也没有多少力气站着,我在维护我自己的利益

A:按照你的说法也是对的,但这样的事情也不少见啊
B:我只是举个例子,也是很小的事,因此为什么要让别人定义你?你的思想、你的身体、你的人都是你自己的、你这个个体的。你是一个独立的生命体、独立的灵魂,为什么不自己定义自己?就像你说的超脱,活出自己就是超脱。不过前期还是得埋在土里,不然你从哪里超脱?肯定得从一个状态到另一个状态,而不是创造一个状态。

A:依照你的说法,你怎么处理自己的人际关系?
B:我认识的人很多,但我基本没有朋友,我没有特意划清界限,因为三观都有不同,私下不怎么会聊天,一聊话又说不完。

A:也许当下固化的话题太无趣了,我才形成了虚高的状态
B:其实嘛,就像你唾弃看抖音、快手的人一样,事实上每个人都很有趣,因为每个人都是独立的,他们有他们的故事,有他们的想法,他们的灵魂特色是他们特有的,不管是谁,没有人有一模一样的经历,同一件事大家的看法都不一样,和大家聊天,可以让自己感受到一些自己感受不到的东西,就像5个喜欢吃榴莲的人,你可以从他们的口中得出5种不同的对榴莲的感受

A:那就是三观的问题了,可是我不会涉及我不喜欢或不感兴趣的领域,既然连整体都不愿意干涉,又怎样和个体接触
B:那你觉得你活着想做什么,想得到什么,对于这个世界,对于这个人生,你有什么看法

A:保持着前进的方向,又不为外界所惑
B:没有外界拿来的方向,你的方向是什么

A:钱
B:钱从哪里来?

A:劳动
B:本质上就是人类的欲望,社会的发展,所以产生了货币。想着前进就不算诱惑吗?

A:货币还有信用意义,那么欲望可以产生信用?
B:信用就涉及到理性和感性上了,世界上每一个环节都是相扣的,这就是量子纠缠,你外婆出生了,她就一定会是你的外婆。我再问你,你的钱从哪里来的?

A:公司根据我的付出结算发放
B:那你参与社会关系了吗?你用劳动换来的,最根本的就是人类的欲望、最原始的需求。需求满足后产生新的需求,不停地有需求,就要不停地供给,需要供给,就需要劳动。劳动付出后,你会有收获,你会拿你的收获去满足你的需求。你要呼吸,需要氧气,这就是供求关系

A:你的意思就是说,人无法脱离外界嘛
B:对,说难听点,你有本事就去做野人啊,你还得为了新陈代谢去摄入能量,活着就是供求

A:我得花点时间思考了
B:思考就是供求,超脱是不可能超脱的。你想知道为什么这就是供求,你去寻找答案去思考着就是供给。我以前很头疼,会一个问题扣着一个整体,会因为自己的问题感到害怕,所以现在我明白了,别想那么多,跟着心走,尽量满足自己,让自己开心。知识是需要沟通交流的,多和人交流,你一种思想方式抵得过几百几千几万个人的想法吗?

A:抵不过又怎样?难道要扼杀我原有的思维方式?
B:为什么要扼杀自己?自己还是自己,为什么不多听多问多交流,把他们的变成你的?收集、整理、吸收,那你会成长更快。集百家之长,壮大己身,所以你的想法我是觉得有点极端,有我没他的那种,为什么不多点包容嘞?蝴蝶效应你知道吧,你可以告诉我一下什么是蝴蝶效应吗?

A:这有什么关系?不就是一个微小的事物可以对整体造成巨大影响
B:嗯,故事是一只蝴蝶扇了翅膀,一段时间后就形成了台风飓风。蝴蝶扇了翅膀,产生了风,风就是空气粒子的流动,假如最开始的只有一立方毫米的空气流动,它洁身自好,不去和别人的粒子接触,那它一下就消失了。可是它并没有,它接触了周围的空气粒子扩大了流动范围,将别的空气粒子纳入所产生的活动中,风越来越大,这也是量子纠缠

A:我刚才已经高度概括了,为什么还要那么生动地讲出来
B:我想表达的是,思考是为了得到信息,和风一样,将外界的信息纳入自己,将会越来越强大。

A:然而我又是固执的,固执到曾经一段时间我一直在思考,为什么亲属不让痛苦的癌症晚期的亲人过世
B:固执有固执的好处。这涉及很多方面,其实主要就是人性。至于为什么亲属不让痛苦的癌症晚期亲人过世,每个人的想法都不一样,但是很多都是大同小异的。归根到底,你只要做好自己不就好了,跟着心走,活下当下,没有那么多时间给你犹豫。为什么要给自己上那么多枷锁,增加那么烦恼,回过头来抱怨,这些东西明明都是自己给自己的,放下不就好了,知道得越多,烦恼越多

A:你的意思是,在合理合法的情况下,我们可以随心所欲?
B:是的,无知很多时候反而是快乐的,生命只有一次,为什么不好好享受你这短暂的一生?

论自私

最近些琐事让我不得不思考自私这个词语,不得不言,自私是个很微妙的词。

打个比方,当别人集体在玩乐的时候打扰到了我的休息,我们往往会认为别人是自私的,若我们出来阻止别人来维护自己休息的权利,站在别人的角度,相反的,我们是自私的。这也便形成了一个矛盾体,即此时双方都彼此认为对方是自私的。

并且从大体上看,通常一方若占多数,另一方相对而言便是狭隘的。那么我们能以一方人数多少来断定对方是狭隘的吗?举个例子,我们都知道直接民主即公共意志并非完全正确,他们能以暴力的手段去扼杀对方的正当利益,从道德与当下社会主流价值观来看都是不合理的,那么从小的来看,当对方玩乐影响我们的休息也与此相当,他人有集体娱乐的权利,而休息的你不占上风,只能忍气吞声,因此以一方人数界定自私也具有不合理性。

可是这样的自私该怎么界定呢?我做了一定的思考后便在课余向政治老师请教,他认为之所以这个自私难以界定是因为它缺乏一定的条件。首先考虑地点,在做个举例,当我们在篮球场上看见别人在打球,我们认为对方很是嘈杂,我们上前去阻止,在球场的属性和道德上来看,显然我们是错误的。但在宿舍内,我们不仅得考虑地点还得考虑时间。如果此时非休息时间,我们去阻止别人集体玩乐,我们的行为便是对他人利益的损害,而在休息时间,他人仍集体玩乐,由休息时间即可界定对方是自私的。但休息时间还需要一个依据,由谁规定,其实不难想到是校规即制度(排除舍员们自己规定的休息时间的情况),校规此时起到了不但是象征性的作用还起来到树立准则的作用,即外界约束,原因在于其排斥每个人的合理性,来达到某种平衡。若对方打破外界约束以实现自己的利益,那么自私在以上论述中不难界定了吧?

自动排档期算法

博客已经遍地是草,今天来清一清。即将退出学生会,想给学校留下一个礼物,所以编写了一个学生的广播平台,方便学生互动,并提供一个师生交流的平台,预计校运会上线。

广播部OA系统的前端大部分自主开发,包括但不限于样式表、函数库;后端部分采用 Thinkphp 框架编写,因为学习成本低。

自动排档期的算法是整个程序略为复杂的一部分,我自己有两个方案。

CONFIG

先总的介绍这一模块的数据表结构和配置:

bcs_schedule 所有工作日
bcs_schedule_day 单日节目安排表
bcs_schedule_song 节目信息

NOON_TIME = 1800 中午工作时间
AFTERNOON_TIME = 1800 下午工作时间
ALLOW_EXCEED = 185 允许超过时间

配置以秒为单位;bcs_ 为表前缀,下文省略

0x01

我们的设定是最多安排到两周的节目,所以要设置 CRON 任务,每天凌晨一点自动创建第14天的工作日,以确保第14天的节目有工作日可安排。

当一个节目要进入单日安排表时,服务器首先计算节目的时间并转换为以秒为单位的时间量,其次在数据库查询最近一个工作日的安排情况 ( shedule_day ),若节目设置在中午播放,就计算该节目与当天中午其它节目的时间总和,若小于或等于 ( NOON_TIME + ALLOW_EXCEED )的和,则安排成功,否则安排失败,服务器将继续查询下一个工作日然后重复以上操作直至第 14 日。

0x02__

第二方案十月提出,与第一方案相比主要在于减少大量的数据库查询。

服务器按节目的需求进行安排,若安排在中午时段,就一次性查询近 14 个工作日中午节目的时间量。如果该节目时间量和近一个工作日中午节目的时间量之和小于或等于(NOON_TIME + ALLOW_EXCEED),则安排到这个工作日,否则该节目时间量与下一个工作日午间节目量相加,重复以上工作直至第十四个工作日。

妹blog 数据转换 Wordpres.php

使用说明:将 imouto_article 和 wp-post 数据表放在同一个数据库,并执行该脚本

 

/**
 * Created by PhpStorm.
 * User: Ylune
 * Date: 2017/10/6
 * Time: 12:09
 */

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);

define('MYSQL_HOST', 'localhost');
if(!defined('MYSQL_DATABASE'))
{
    define('MYSQL_USERNAME', 'root');
    define('MYSQL_DATABASE', 'convert');
    define('MYSQL_PASSWORD', 'root');
}

$fields = [
    'post_author',
    'post_date',
    'post_date_gmt',
    'post_content',
    'post_title',
    'post_name',
    'post_modified',
    'post_modified_gmt',
    'post_type',
];

$DB = @mysqli_connect(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_DATABASE);

if (!$DB)
    exit('数据库连接失败');

$DB->set_charset('utf8');

$rs = $DB->query('SELECT * FROM `imouto_article`;');
$articles = $rs->fetch_all(MYSQLI_ASSOC);

for ($i = 0; $i < count($articles); $i++) {

    $field=[];
    $field['title']= $articles[$i]['title'];
    $field['date'] = date('Y-m-d H:i:s', $articles[$i]['created']);
    $field['modified_date'] = date('Y-m-d H:i:s', $articles[$i]['modified']);
    $field['text'] = $articles[$i]['text'];
    $field['post_name'] = urlencode($field['title']);

    $sql = 'INSERT INTO wp_posts ';
    $sql.= '('.implode(',',$fields).')';
    $sql.= ' VALUE(';
    $sql.= "1,";
    $sql.= "'".$field['date']."',";
    $sql.= "'".$field['date']."',";
    $sql.= "'".$field['text']."',";
    $sql.= "'".$field['title']."',";
    $sql.= "'".$field['post_name']."',";
    $sql.= "'".$field['modified_date']."',";
    $sql.= "'".$field['modified_date']."',";
    $sql.= "'post')";

    print_r($sql);

    var_dump($DB->query($sql));
    print mysqli_error($DB);

}