Bilibili的弹幕文件采用xml格式存储,地址为 http://comment.bilibili.com/AV号.xml 将AV号替换为对应的数字即可。
弹幕内容的存储方式为:
<d p=”0,1,25,16777215,1312863760,0,eff85771,42759017″>前排占位置</d>
这个元素中的各个参数由逗号分割,其意义分别为:
第一个参数是弹幕出现的时间,以秒数为单位
第二个参数是弹幕的模式:1~3滚动弹幕 4底端弹幕 5顶端弹幕 6.逆向弹幕 7精准定位 8高级弹幕
第三个参数是字号:12非常小,16特小,18小,25中,36大,45很大,64特别大
第四个参数是字体的颜色:将HTML六位十六进制颜色转为十进制表示,例如#FFFFFF会被存储为16777215,因为(FFFFFF)16=(16777215)10
第五个参数是Unix时间戳,以毫秒为单位,基准时间为 1970-1-1 08:00:00
第六个参数是弹幕池:0普通池 1字幕池 2特殊池 (注,目前特殊池为高级弹幕专用)
第七个参数是发送者的ID,用于“屏蔽此弹幕的发送者”功能
第八个参数是弹幕在弹幕数据库中rowID,用于“历史弹幕”功能

将Bilibili弹幕的xml文件转为ass字幕,可以使用以下脚本:
http://tiansh.github.io/us-danmaku/bilibili/
https://github.com/tiansh/us-danmaku/

关于ass字幕格式可以参考以下文章:
https://www.douban.com/note/658520175/

能够输出自身的代码被称为Quine,以哲学家 Willard van Orman Quine (1908-2000) 而命名。
Quine在图灵完备的语言中都是可行的。在可计算性理论(computability theory)中,图灵等价指的是:对于两个计算机A和B,如果A可以模拟B,B可以模拟A,就称他们是图灵等价的。根据“丘奇-图灵”理论,图灵机是表达能力最强大的计算系统,对现实世界中的任何计算机,都可以用图灵机1来模拟它。
套用上面的定义,如果一个编程语言可以完全模拟图灵机,那么它就是图灵完备的。大部分编程语言都是图灵完备的,因为他们需要解决各种问题的通用能力,而这正是图灵机所具备的。确实存在一些语言不是图灵完备的,他们通常是被设计用来解决某些特殊的问题,比如SQL以及正则表达式。继续阅读

Electron是基于Node.js的桌面应用开发框架,所有代码均在Chrome“外壳”下运行,因而可以调用所有Node.js和浏览器的API,并且具有跨平台的特性。下面介绍如何使用Electron构建简单的桌面应用。你可以参照官方给出的入门程序:

git clone https://github.com/electron/electron-quick-start

一个Electron应用应包含以下内容:

main.js

当你使用npm start启动Electron程序时,这是最先被执行的脚本。在main.js中可以创建窗口对象以构建图形界面。一个典型的main.js如下:继续阅读


A point walks into A bar. \(\bar{A}\) says, “We’re closed.”

\(e^{x}\) is walking down the street when it sees \(\pi\) running towards him. “Help!”, \(\pi\) shouts, There’s a differential operator coming my way, and if it catches me, I’ll be reduced to nothing! \(e^{x}\) confidently says “Stand beside me, \(\pi\)! Together, we’ll be safe from any differential operators we come across!”
Suddenly, the differential operator appears and asks “Who are you?” They respond “We are
\(\pi e^{x}\). Who are you?” It smiles and says “\(\frac{\partial}{\partial{y}}\)”.

 

继续阅读

本教程以macOS 10.13为例

准备工作:

1.在ORACLE官网下载最新的JDK:

前往ORACLE官网,在底部找到Download Java for Developers,在打开的页面中找到JDK,选择Download,下载对应的版本

2.配置JDK:

下载完成后,打开dmg镜像进行安装。JDK会被安装到/Library/Java/JavaVirtualMachines目录下。为了使终端能正确运行最新的JDK,需要在~/.bash_profile中增加以下内容:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

其中将jdk1.8.0_40.jdk换成你所安装的JDK对应的目录。修改完成后,重启或使用

source ~/.bash_profile

使环境变量生效。继续阅读

JavaScript 函数调用

JavaScript 函数有 4 种调用方式。
每种方式的不同方式在于 this 的初始化。

this 关键字

一般而言,在Javascript中,this指向函数执行时的当前对象。
注意 this 是保留关键字,你不能修改 this 的值。

全局对象

当函数没有被自身的对象调用时, this 的值就会变成全局对象。
在 web 浏览器中全局对象是浏览器窗口(window 对象)。
该实例返回 this 的值是 window 对象。继续阅读