使用 JavaScript 来导出 CSV

造了个油猴脚本的轮子

由于要做一个 UserScript 用到了这个功能,便顺便记录下来。

数组结构

var data = [
{
"title" :value,
"href" : value
},
...
]

生成 CSV 字符串

function convertArrayOfObjectsToCSV(args) {  
        var result, ctr, keys, columnDelimiter, lineDelimiter, data;

        data = args.data || null;
        if (data == null || !data.length) {
            return null;
        }

        columnDelimiter = args.columnDelimiter || ',';
        lineDelimiter = args.lineDelimiter || '\n';

        keys = Object.keys(data[0]);

        result = '';
        result += keys.join(columnDelimiter);
        result += lineDelimiter;

        data.forEach(function(item) {
            ctr = 0;
            keys.forEach(function(key) {
                if (ctr > 0) result += columnDelimiter;

                result += item[key];
                ctr++;
            });
            result += lineDelimiter;
        });

        return result;
    }

生成 CSV 文件,并下载

function downloadCSV(args) {  
        var data, filename, link;
        var csv = convertArrayOfObjectsToCSV({
            data: data
        });
        if (csv == null) return;

        filename = args.filename || 'export.csv';

        if (!csv.match(/^data:text\/csv/i)) {
            csv = 'data:text/csv;charset=utf-8,' + csv;
        }
        data = encodeURI(csv);

        link = document.createElement('a');
        link.setAttribute('href', data);
        link.setAttribute('download', filename);
        link.click();
    }

 

 

代码来源:https://halistechnology.com/2015/05/28/use-javascript-to-export-your-data-as-csv/

你永远不会习惯他

有的人,生活态度积极,对待自己的生活也极为严谨,在选择伴侣之时,一丝不苟。

有的人,生活态度消极,对于自己的终身大事,不过得过且过,在和异性交往时,对于异性的一些小的毛病和习惯选择了忍耐,心中总是告诉自己『习惯就好了』。

然而,你永远不会习惯他。

习惯本身便是无奈之下的选择,这种无奈之下的选择会为你带来持续的痛苦,让你持续的呆在痛苦之中,最终爆发。

悲愤中的妥协,爆发或者死亡。

致新生 —— 电子信息学院2017级新生演讲

终于,我这个老腊肉走入大四,今年由我来为新生进行演讲。这里将我演讲的资源分享出来,供大家参考。

[title]小览[/title]

[title]致谢[/title]

在编写的过程中,多次参考了吴军先生的《硅谷来信》中的内容

[title]下载[/title]

演讲稿

PPT

如何让 HTML5 的 Video 标签中的 poster 占满整个区域?

在帮导师上传视频时,遇见了一个问题

为了让页面不那么空白,在放置 Video 标签时,我添加了 Poster 属性,从而使视频未播放时,可以正常的显示一张图片。一方面可以保持原有的体验不变(这里之前就是一张图片)。

但是当我真正放好了以后,发现一个问题,就是 Poster 无法完整的覆盖整个区域,大概就是填满我下方截图中所圈出的区域。两侧会有留白。而我的 CSS 是有边框的,所以会非常的丑。

一开始,我认为是 Poster 的比例问题,但是在我按照播放器的比例来切割 poster 尝试多次无果之后,我觉得问题不是出在这里。

问题出在哪里我目前还不清楚,无空深究,这里只把解决方案贴出,具体的原因待以后有空再来深究。

可行方案

当前的方案是采用的 background 来实现的。

首先,删除 video 标签的 poster 属性,然后将其 preload 属性设置为 none,

接下来,添加 CSS 代码

 video {
   background: transparent url('video-image.jpg') 50% 50% / cover no-repeat ;
 }

实现后的效果如下

跳变的原因不明,后续研究。

[title]Todo[/title]

  1. 搞清楚为何 Poster 没有占满
  2. 搞清楚为何出现跳变

[title]拓展阅读[/title]

https://stackoverflow.com/questions/10826784/make-html5-video-poster-be-same-size-as-video-itself

Google 搜索结果导出 CSV

初衷

由于需要统计某个网站中包含特定关键词的文章,该工作借助 google 搜索引擎的特殊语法来完成。

site: domain intitle:keywords

但是结果较多时,依次复制粘贴至 Numbers 中较为麻烦,便制作了该脚本,来快速导出搜索结果。

特性

  • 导出 Google 搜索结果为 CSV 文件

安装方法

  1. 在 Chrome/Safari 上安装 TamperMonkey (Firefox 为  Greasemonkey)
  2. 访问 http://dwz.cn/ggoutput  进入到插件页面
  3. 点击页面上的安装此脚本

使用方法

  1. 搜索后,在搜索结果页的左侧会出现一个下载搜索结果
  2. 点击按钮后,设置保存的文件名,即可将搜索结果导出为csv

结果默认导出 title 和 link

补充说明

使用时建议调整搜索设置,将搜索结果设置为100条,效果更好。

如何处理 TS 文件?

TS 文件是现在在移动端用的比较多的视频格式。

下午导师转发给我一个链接,希望我能把链接中的视频放在会议的官网。自然没有拒绝

晚上回来审查了下元素才发现原来是 ts 文件,以往没有处理 ts文件的经验,今天顺便记录下

下载 TS 文件

TS 文件的命名很有规律,一般都是 xxx-01.ts 到 xxx-99.ts 具体的数目取决于视频的大小。你可以通过 Google Chrome 的开发者工具来看最终有多少个文件。

然后,可以使用下面的命令来一键下载

wget -r http://www.example.com/filename-{1..99}.ts

这样我们就成功的下载了这个视频的所有分片。

部分视频网站可能会有一些检测的机制,可能会比较麻烦

合并 TS 文件

下载完成后,我们就要来合并 TS 文件了。使用下面的命令,就可以合并文件了

echo 'filename-'{1..99}.ts | tr " " "\n" > tslist
while read line; do cat $line >> filename-all.ts; done < tslist

通过上述的命令,我们可以把99个ts文件合并成为一个 filename-all.ts 文件,这个ts文件就可以借助播放器来直接播放了。

将 TS 文件转码为 mp4 文件

这里为了方便浏览和兼容,我将 ts 文件转为 mp4 格式,代码如下

ffmpeg -i source.ts -acodec copy -vcodec copy target.mp4

 

延展阅读

https://gistpages.com/posts/download-streaming-video-ts-files

如何做好音频课程

做好一门音频课也不容易啊……

随着知识付费的崛起,各种知识付费产品也开始兴起。音频课程便是其中一例。今天,我来分享一下如何做好音频课程。

音频课程并不是简单的声音录音,大多进行了一定的后期处理,才能达到更好的让学员学习的目的。整个课程的制作下来,可以归结为三个部分:

  1. 编写课程文案
  2. 录音并进行编辑
  3. 配乐和其他处理

1. 编写课程文案

音频课程由于不如现场讲授课程那样及时,听众会非常容易听出你的课程中的一些小的瑕疵,所以在课程的录制时,应尽可能的减少出错的可能,从而降低后期编辑的难度,也能使得声音整体更加自然和流畅。

在编写文案时,应该做到 逐字写稿,每个字都要写清楚。即使是课程中的语气词,如 啊、哦、嗯、呃等等,都要在文案中表明,从而让你的课程在录音时不会觉得太过于口语化。

在讲课前,将文案打印下来,多读几遍,以免出现不通顺的地方,导致在正式录制时浪费时间。同时,对于文稿中的特别的部分,加上一些阅读的标示,比如:这里重读、这里要叹气、这里语调激昂等等,这样可以让你在录制时更加注意,让你的课程更具魅力。

PS. 编写正式的文案之前,可以先列大纲,这里我推荐你使用幕布。写文案时也可以使用石墨来编写。通过在线工具来编写你可以在任何时间和地点下进行。

2. 录音并进行编辑

录音分为三部分,分别是环境、硬件、软件。对于看文章的大部分人来说,都不是专业的音频工作者。所以给出的建议也都是普通人可以做到的。

首先是环境:在录音时,尽可能选择比较安静的环境和时间,这样可以减少你后期处理的麻烦,比如在自家的书房,无人的办公室等。在录音前,记得将手机调成静音模式(震动模式会在桌子上造成很大的噪音,不推荐),将一些社交 App 都退出掉,以免产生提醒。

在硬件上,如果你是 Mac ,可以直接使用 Mac 笔记本上自带的麦克风,如果你是 Windows ,建议你购买一个外接的麦克风(大部分 Windows 自带的麦克风录音效果不怎么理想),可以在淘宝搜索「电容麦」,价位大致在 120 ~ 220 元左右的即可。购买时注意接口类型,不要购买成手机用的麦克风。

除此之外,要记得给 麦克风 配上一个防喷罩,我们不是专业的歌手,没有办法很好的控制,配上一个防喷罩会让你在编辑时节省大量的时间。

在软件方面,我向你推荐 Adobe Audition ,你可以使用 Au 完成所有的录音、编辑、配音的工作,学会一个,就可以完成所有任务,性价比很高。关于 Au 的使用教程,我给你推荐两个

  • 免费:http://study.163.com/course/introduction/266005.htm
  • 付费:http://study.163.com/course/introduction.htm?courseId=1004264011

这两个课程都不错,付费的课程是针对电台制作的,如果不缺这十块钱,建议看付费课程。

在编辑音频时,主要做的事就以下三条

  1. 降噪
  2. 删掉口误
  3. 适当调整节奏

前两个在上面的两个课程中都有涉及,就不再细讲。

调整节奏主要是你自己在录制过程中可能不自然的就加快了语速,这个时候,你可以在语音之前加一个0.5秒的停顿,来使节奏放缓。

3.配乐和其他处理

在选择音乐时,要根据你讲的内容选择合适的音乐,不然就会给听众一个怪怪的感觉。

在播放音乐时,需要调整音乐的【音量】和【节奏】,不要让音乐盖过人声。

同时,可以借助 Au 的功能,对音乐执行「渐入」、「渐出」,来让音乐出现的更加平滑,不突兀。

借助多轨道来完成音频的处理

更多

如果你有更好的建议不妨在留言中留下你的建议,我会添加到文章中,后续也会对文章进行更新。

书摘 · 晨间日记的奇迹

读 《晨间日记的奇迹》,摘录了一些不错的语句

#1 早上写日记的好处

  1. 可以做好一天的准备。(计划性)
  2. 可以正确地写出昨天所发生的事情。(效率性&忠实性)
  3. 冷静思考前一天的事情,可以中立地看待事情。(中立性)
  4. 对于一个午餐和晚餐都要忙于迎合客户的上班族来说,早上是自己最自由自在
  5. 的个人时间,不会让写日记的习惯中断。(持续性)
  6. 可以将过去宝贵的经验或回忆,运用在当天。(灵活运用性)

#2 为什么要用电脑来写晨间日记

佐藤先生还强调,一定要用电脑来写”晨间日记”,一开始我还以为是为了方便的缘故,后来才明白原来当我们用双手在早晨打电脑的同时,也同时开启了我们的左右脑。

感悟:双手同时进行的工作都会在一定程度上起到开启左右脑的效果

#3 什么是晨间日记

“晨间日记”可分成二部分。一部分是书写过去发生事件的”过去日记”,和书写今日应做之事、及未来想执行事项的”未来日记”,这一切的开始,也同样始于这个”命运之日”!

#4 如何写晨间日记

发生的事件内容,和当下自己的感受,对日记来说,如同车子的双轮一般,缺一不可,所以我建议大家可以尽量将自己的情绪书写出来。这是为什么呢?假如两者缺一的话,便无法看到内心深处的自己,因此我们会很难从过去的经验或智慧当中获得宝贵的启示。能写多少、就写多少的话,只不过是一种像”日志”一样的流水帐而已,并不是真正的”日记”。
假如只单纯写下自己情绪的话,回头看日记时,无法知道自己为什么会产生那样子的情绪,也无法得知最重要的原因。根本搞不懂”为什么我自己会这么开心?”或者”为什么我自己会这么难过?”。
看到这里,可能有些读者会提出以下的疑问:”能够了解有人只会在日记里写下发生的‘事件’,但是,有人会只在日记里写下’情绪’吗?”。因为通常写日记的时间是在当天晚上,所以写日记的时候,一定会受到当天情绪的影响。其实正确地来说,我们不能只在日记里面写自己的”情绪”,因为这样会变得不客观。如果只写情绪的话,日后将日记本拿出来看,一定会发现内容几乎都是跟着情绪在走的。
人类只要一变得情绪化,原本能够解决的问题,也变得无法解决了。”晨间日记”可以拉长我们跟前一天晚上的时间距离,可以让我们更容易地去解决问题。也就是说,”晨间日记”可以让我们更客观地去分析问题的本质,变成是一本可以帮助我们分析、解决问题的”问题解决”日记。只要我们能够以客观的态度来正视问题,不但能够客观地检视自己,更能站在对方的立场来思考事情。而这样子的改变,只要稍微改变一下自己的态度或行为就可以了。这个”微小的变化”便是一切好事的开始。

隔天早晨再次做确认、提高执行力

#5 关于运气

世上成功的人常常在说的”运气”,其实是成功的必要元素。成功者懂得抓住突然出现的机会,以旁观者的立场来看,也许会觉得成功的人运气真好,事实上,这是因为成功者经常把自己的梦想放在心上,懂得适时地抓住每一个机会不让良机逃走。不是运气好的人抓住了机会,而是不懂得经常把梦想放在心上的人,让大好机会逃走了。梦想绝对不会背叛我们,只有我们会舍弃梦想而已。

#6 你需要的不是闹钟,而是梦想

实现梦想的行动或生活态度的时间,不能只是偶尔的”期待”,必须是长期的”期待”,而且是可以平稳、长期持续下去的”期待”。
在世界舞台上大放异彩的经营者或有名的运动选手,之所以会有那么多不可思议的经历,全是因为这种”平稳、长期期待”的心情在支持他们的。所以,早上很会赖床的人,在买一个巨大的闹钟之前,请先将满布在自己梦想周围的浓雾清除掉。接着,为了自己的梦想,请坚定地下定决心,开始书写可以让自己美梦成真的”晨间日记”。

#7 早起的方法

  1. 首先是任何人都可以办到的,就是”设定自动播放音乐”,可以将音乐设定在自己预计起床的时间,同时播放自己喜欢的音乐,这么一来,就可以愉快地起床了
  2. 使用音乐还没有办法被唤醒的人,建议可以使用”香味”,比方说,当我们在被窝里听到音乐,感到昏昏欲睡的时候,便可以将放在床边的精油拿来闻一下,就可以让头脑清醒一点。
  3. 如果这个方法还是不行的话,建议可以利用”光线”。光亮是最可以帮助自己清醒的。如果可以让阳光照进房间,只要将所有窗帘都打开,一定可以让自己很快清醒的。

 

#8 借助晨间沐浴清醒

走到浴室里,然后依序从脚底→会阴→生殖器→气海丹田→胸线→手心→喉咙→额头→百会(头顶)等顺序,为自己冲一个愉快的澡

音乐、香味、光线(尤其是太阳光)、淋浴等可以帮助大家早起的方法。这些不一定只能单一使用,综合使用的话,会让功效更加倍。
尤其是光线和淋浴的两种方法。光线可以让大脑的开关开启,冷水(热水)淋浴可以让身体的开关开启,分配担任不同的开启者角色。

在淋完浴之后,是写”晨间日记”的最佳时间。

#9 早上是和自己相处的最好时机

利用早上的闲暇时间,跟自己对话,可以重新检视自己真正想走的道路、也可以重新再检视大局。虽然大家都觉得和别人的沟通能力很重要,但是和自己沟通的能力也是很重要的。

早上的一小段时间,假如可以拥有笑容满面和平静的”静”与”闲”,那么之后”动”与”忙”的时间,就会变得更灵活了。

以随笔作家闻名的山崎拓巳先生,问他在巴黎舞台相当活跃的朋友们:”什么时候做工作最好?”几乎所有的朋友都告诉他:”早上是最好的。早上起床之后,还有点想睡的时候是最好的,因为这个时候是捕捉良好灵感的关键时间。”

山崎先生热情地建议大家:”这时如果可以把握右脑最活泼的早晨,可以借此为人生带来巨大的变化,这个变化保证让自己笑口常开。”他自己也是,假如你问他起床后的第一件事情是什么,他一定会回答:”把睡觉是发酵了一整晚的创意写下来。”

#10 为什么要写日记

假如不能将日积月累的宝贵经验,以及不断涌出的智慧记录下来,就这么让宝贵经验错过的话,可说是天底下最浪费的事了。假如没有写日记,就好像是将每天贵重的财产丢弃一样。
记录了自己的生活,假如不能够将以前的经验活用在未来的话,只会让日记变成一本只能满足自己的“日志”、“日报”而已。我想要一本真正可以派上用场的日记!想要实现自己梦想的人,一定发现到了写日记的优点,并且付诸行动地写下日记,所以才会有这股日记风潮。

#11 写日记的好处

  1. 提升写作能力
  2. 谈话题材源源不断
  3. 提高贵人运
  4. 发现自我肉体与精神的状况及模式
  5. 在自己身上挖宝,彻底改变人生

有很多人都想要改变世界,但却很少人想要先改变自己。很多人都把自己的不顺遂归罪于外在的环境,却很少有人会去反省自己。所以,很多人就会去上课、看书,试图要求解决自己以外的外部问题。可是,假如我们不改变我们的梦想、工作、人际关系、爱情等本身的“本质”,一切是不可能变好的。为了让自己的人生可以走向更光明的道路,需要做改变的不是运气也不是社会,这些都只是其中的一小环而已。实现梦想的最关键元素就是“自己”。所有的问题都出在自己身上。

写日记的习惯,可以帮助我们在自己身上“挖宝”,而且是一个通往成功的跳板

日记是创作灵感的来源

人一过了三十岁之后,留下的只有习惯

#12 成功的习惯

“我是一个有梦想的人。而且,我的成功习惯可以帮助我实现梦想。所以,我不想把我伟大的精力花费在无谓的琐事上。我没有时间对小事犹豫。我想把自己全身上下的宝贵能量,用在实现自己的梦想上。”

#13 晨间日记的镇静功效

有一句话叫做“束手无策”‘,指的是不管怎么样做,都找不到解决的方法,陷入一种极度低潮的状态。不管是什么样的人,在人生的路途上,一定都有束手无策、非常无助,甚至向现实投降的时候吧!不管怎么想、找谁商量,还是一点方法都没有。

在束手无策的时候,请拿起过去的日记来阅读吧!你一定会看到某一行文字,是可以帮助你突破现状的,这一行文字便可以引导你解决问题。

#14 晨间日记的记录功效

每个人都会听到一段话,对自己来说就是十分受用的。当自己遇到这种宝贵启示时,只要简单地将它记录下来,往后随时都可以翻阅。

#15 刚开始的七天请务必积极

在刚开始写“晨间日记”的前七天,请只写“好事”。尤其是头脑特别聪明的人,很容易看出自己的缺点及不足的地方,因此,往往会在日记里面写一大堆比较负面的内容。这样子的行为,完全都是因为我们在学生时期,老师常常叫我们把“还要努力”、“再加油、再加油”、“这样不行喔!”的字句挂在嘴边,把我们训练成一个很会反省的人,所以我们才会这么容易就陷在反省的泥沼中。假如我们只把焦点放在自己必须改善的地方,我们的心中永远都会缺乏成就感、同时心中也会充斥着“不满足”的感觉。像这样的不满足及失落感,在人类的潜意识里,会像雪一样,静静地堆积成高塔。

“晨间日记”变成习惯之后,当你感觉日记已经成为生活一部分的时候,再开始慢慢地反省自己就好了。即使如此,写了一个反省的地方之后,也要再写三个优点来鼓励自己。 为了要实现自己美梦而写的“晨间日记”,小心不要让他成为只收录“反省日记”的文集了。只有这一点,请大家要特别注意。

#16 电脑记日记的好处

  1. 可以设密码保护,隐密性极高
  2. 一天的日记书写栏位几乎是无限大
  3. 可以永久地持续书写下去
  4. 容易备份
  5. 数据可表格化
  6. 可利用“寻找”功能找出遗忘的那一天
  7. 不只能用文字表达,还可以使用图片,甚至动画
  8. 电脑可以念日记给自己听
  9. 也可以通过声音输入来做记录
  10. 管理容易

#17 成功习惯化的三大考验

让书写“晨间日记”变成习惯,总会遇到三个“考验期”。分别是“三天”、“三月”、“三年”这三大考验期。
首先是还很兴奋的前三天。这跟飞机刚开始启动喷射引擎,在暖身的动作一样。假如没有办法度过这三天的考验期,就真的会变成三天打鱼两天晒网的人了。
第四天时,开始走出跑得。接着,机体开始会慢慢地小幅摇动,大概三个月左右便可以水平飞行。经过三年之后,就进入了稳定飞行的境界。能够持续写上三天之后,接着就是要克服三个月的考验期了。
因此希望大家能够记住以下三大原则和七大作战守则。请大家务必要以此做参考。

原则一:早上不要花三分钟以上的时间

三分钟就可以了,如同之前所说的,只要分类书写以及做适当的暖身,只要花上三分钟就可以写完“晨间日记”。所有重要的事情,只要花三分钟就可以书写完了。
假如想写的内容太多,可能会超过三分钟的话,只要在自己时间较充裕的时候,再把内容补起来就可以了。
等到写日记变成习惯之后,同样的事情可能要写上好几十次、好几百次,这样的动作是为了唤起身体的韵律感,这种韵律感是很重要的。

只要身体记住三分钟的韵律,之后要再多花几分钟都没关系了。不过,还是请大家记住一个大原则——“早上不要花费超过三分钟以上的时间。”

原则二:先决定书写的地点

“先决定书写的地点”,也是为了让动作变成习惯的关键。早上起来,冲个澡之后,坐在椅子上,打开日记本。

每天持续做相同的动作,便是习惯化的第一步。

原则三:写一个字也没关系

刚开始写晨间日记的时候,可能会有几天,是完全不知道要写什么内容的。这个时候,可以只写一个谢谢的谢字。

即使没有什么内容好写,早上起床,冲完澡之后,还是要坐在椅子上,将日记薄打开,让自己继续保持固定的行为模式是很重要的。

作战守则一:开心日记作战法

在写日记还没有变成习惯之前,记得只要写“快乐的事情”就可以了。这个世界上到处都充满了负面的新闻,所以,我们没有必要将自己的日记也变成一个黑暗世界。写一个自己在反复阅读日记时,可以让自己元气加分的日记吧!让人愈看愈觉得开心的日记,有加速度效果,让人即使想停都停不下来。“我今天获得了赞美”、“变得有自信了”、 ”心情真好”、 ”觉得好兴奋”、 ”存了钱”、 ”先生很优秀”、 ”我喜欢自己这一点”等等,多写一些光明面的句子吧!刚开始的前七天,请一定要让自己的日记变成一本开心的日记。

作战守则二:ONE TWO 作战法

让写日记的动作,变得跟打开水龙头,自然就会有自来水流出一样,让写日记变成是
一个很自然的动作。

简单的 ONE、TWO 两个动作,是最容易变成习惯的。等到前两个步骤都顺利变成了习惯之后,就可以往 ONE、TWO、THREE 的三个动作迈进,渐渐地就可以变成一连串的习惯动作。

作战守则三:“巴甫洛夫的狗”作战法

充分利用我们的反射条件。所以在写晨间日记之前,一定要订个开始的仪式。比方说,播放悦耳音乐之类。假如每天早上,在写晨间日记之前,都先播放一段自己喜欢的音乐。那么,日子久了以后,可能光只听到该曲子,我们的心里也准备好要写日记了。

作战守则四:奖励自己作战法

我自己的做法是,当自己能够持续写一个星期的日记时,我就会犒赏自己,请自己去按摩。在这样的奖励下,我持续写了三个月之后,写晨间日记变成了我的习惯。到目前为止,已经变成我生活的一部分了。奖励自己的那一天,把自己想要的奖品写下来,更能达到奖励的效果!假如从七月七日开始写晨间日记的话,可以在隔年的七月七日那一天,写上自己想要的东西。

作战守则五:宣告众天下作战法

写日记的时候,不需要怀着悲天悯人的心情来写,因为晨间日记和夜晚日记不一样,晨间日记是一本会让人小鹿乱撞、既期待又怕受伤害的日记。

作战守则六:一千日作战法

不管什么样的习惯,只要能够持续一千日以上的话,就可以完全变成习惯了。一千日大约是三年,在密宗里面的一千日也是代表一个重要的区隔时期。
建议大家可以在自己的记事薄上,记录当天为开始写晨间日记之后的第几天,例如第三十九天,或者第一百一十四天等等。

作战守则七:为别人努力作战法

晨间日记是一本自己和自己沟通、为了自己而写的日记。可是,很不可思议的是,晨间日记也可以让我们变得更懂得去体谅别人,是一本可以帮助自己和别人得到幸福的真心日记。

因为晨间日记让我们凡事不为自己的利益,而是为自己重要的人而努力、为了让世界更好,而继续坚持善行。

不要每天让工作压得喘不过气来,把自己最重要的时间,留下来给自己最心爱的人吧!只要身旁的每个人都能获得幸福,大家一定能够笑颜常开。

如何拯救你被多任务并行谋杀的效率

多任务并行造成的注意力残留和认知负担和 GTD 的思想刚好相反。

为什么多任务并行会谋杀你的工作效率?

首先,我们来看一个场景,或许是一个你非常熟悉的场景

下午两点要开会作报告,但是手上还有几封邮件没有回完,手上回着邮件,脑子里想着作报告,这时候午饭时间到了,不如先吃个午饭刷刷朋友圈,一边刷朋友圈一边想着邮件和报告还有一堆事情,感觉自己已经淹没在了未完成 list 里面,焦虑到没有胃口吃午饭。

看起来和你的生活非常的相似,对么?

为什么我们尝试去同时完成多项任务,却一事无成?看起来的高效率反而让我们的效率愈加低下。

这是因为任何一个工作,都会让我们受到影响,占用我们的注意力资源(将注意力视为资源的说法,我初次听到是吴修铭先生的《注意力商人》,做运营、媒体的朋友可以去看看),这种注意力资源的占用,会导致我们产生注意力的残留(当你从一项未完成的任务切换到新任务是,大脑中有一部分资源,仍然在处理旧任务),这种注意力的残留会导致我们对新任务的投入程度的降低,同时,还会让我们造成「多目标焦虑」,对我们造成一种心理上的压力(和 GTD 的思想不谋而合),使我们无法在新任务上有较好的表现。

连续多次在不同的任务之间进行切换,会让我们不断的降低效率,加重我们的焦虑感。

如何拯救我们的效率?

看了上面的内容,我想你肯定是会选择单个任务不断的进行,而不是选择多任务进行。但是我们可以用一些方法,来加强我们对于单任务的集中,来更好的提升效率。

  • 向自己提问:将任务转化为一个问题。
    问题可以让我们更好的找到自己的目标;问题的形式也可以很好的把控我们的注意力资源,把我们的工作转化为寻求一个答案,这样的方法能够有效的提高我们的注意力。
  • 借助白噪音:去除工作环境周围的噪音。
    很多时候,我们在工作、学习时,周围的环境都没有很好,往往会有很多杂音。购买一个主动降噪耳机成本会比较高,并不是每个人都愿意在这个方面投入那么多,而白噪音本身没有任何信息,可以降低工作干扰,基本也没有什么成本(下载一个音乐 App 即可。)。如果你不喜欢白噪音,也可以听一些纯音乐,但是注意,不能有歌词,节奏感也不能太强。这里推荐一个我自己听的专辑《Spiral Universe(螺旋的宇宙)》
  • 琐事集中处理:减少任务切换的可能
    将琐碎的事务(如回复微信、收发邮件等)安排在某个特定的时间来完成,从而减少任务切换的频次和可能。记住,地球离了谁都会转,你没有想象中那么重要
  • 隔绝干扰:减少干扰源
    如果有可能,尽可能的选择一个不会受到干扰的地方,如空闲的会议室、安静的书房等

明白了如何解救,接下来我们所能做的,便是去实践它!Just Do It!

继续阅读“如何拯救你被多任务并行谋杀的效率”

Swift 实现 横线样式的输入框

输入框样式的输入框是我们在做项目时经常会使用到的。除了引用一些第三方的库来实现这样的样式,我们还可以通过代码来实现这样的效果。

具体的代码如下

func setBottomBorder(textField:UITextField){
        let border = CALayer()
        let width = CGFloat(1.0)
        border.borderColor = UIColor.white.cgColor
        border.frame = CGRect(x: 0, y: textField.frame.size.height - width, width:  textField.frame.size.width, height: textField.frame.size.height)
        
        border.borderWidth = width
        textField.layer.addSublayer(border)
        textField.layer.masksToBounds = true
    }

调用时,使用

@IBOutlet weak var firstPagePhone: UITextField!


 setBottomBorder(textField: firstPagePhone)

 

Swift 退出 Segue (转场)

在一个 StoryBoard 中,我们可以通过拖拽来生成两个 View Controller 之间的跳转。就像下面这样

这样我们只是实现了从一个 View Controller 跳转到另外一个 View Controller ,那我们如何从 其中跳出呢?

可能有的人想到可以再跳回去,的确,我们可以调整回去,但是那样并不是跳回,而是加了一个新的 View Controller ,本来两层,变成了三层,长此以往,会导致我们的应用出现占用了大量的内存和CPU的情况。

所以我们需要做到退出的功能。

退出一个 Segue 效果需要以下几步

  1. 创建一个 Button 用于点击退出。
  2. 在 ViewController.swift 中添加如下代码
    @IBAction func unwindToSegue (segue : UIStoryboardSegue) {
        }
  3. 然后将 按钮拖拽到 ViewController 中的 Exit 按钮中,选择其中弹出的 unwindToSegue 方法即可。

Insert Update Time – WordPress 的链接分享插件

又一个轮子

初衷

在使用 Dokuwiki 时,可以使用按钮一键添加一个编辑记录的标签

我在写博客时,有更新旧文的习惯,但是由于没有更新记录,对读者来说不慎友好,故而做出这个插件,来一键生成编辑记录。

插件信息

插件名为 Insert Update Time ,目前已经上架 WordPress 官方插件库,可以通过在博客后台搜索直接下载

插件使用说明

插件默认会在你的编辑器内添加一个按钮,点击按钮,就会自动生成一个更新记录。

更新记录中包含一个 更多标签和一个包含用户信息和更新日期的标志。

插件使用动态图

TinyMCE

QuickTag

插件安装方法

1. 在 WordPress 后台搜索 Insert Update Time 或搜作者 Bestony ,即可找到这个插件
2. 前往插件主页下载插件,并上传到 WordPress 中 https://wordpress.org/plugins/insert-update-time/

我的其他插件

LinkShare – WordPress 链接分享插件

cin 如何设置小数点输出位数?

C++ 在某些方面确实不如 C,比如格式化输出,要麻烦一些。

C 语言可以通过设置输出时的格式来进行样式控制,而 C++ 默认没有这样的方法,我们需要通过引入特别的库来实现 —— iomanip

#include<iostream>
#include<iomanip>
using namespace std;


int main(){
    cout.setf(ios::fixed); // 设置余位补零
    int a;
    double PI;
    cin>>a;
    PI = 3.14159265358979323;
    cout<<setprecision(7)<< a*a*PI <<endl; // 设置小数点后输出 7 位
    
}