code just like a piece of shit.

Windows 版的 Time Machine - 文件历史记录

文件历史记录是一个备份应用程序,它会持续保护存储在库、桌面、收藏夹和联系人文件夹中的个人文件。它定期扫描(默认情况下每小时一次)文件系统中的更改并将更改的文件复制到另一位置。每当您的任何个人文件发生更改时,其副本都将存储在您选择的专用外部存储设备上。随着时间的推移,文件历史记录将会建立对任何个人文件所做更改的完整历史记录。

这是 Windows 8+ 中推出的一项新功能,可为消费者提供一种保护文件的新方式。它将取代 Windows 7 中现有的 Windows 备份和还原功能。

最重要的一点,它是增量备份的,不用担心上千个备份会占用大量磁盘空间

配置方式非常简单,在控制面板中点击“文件历史记录”,设置好备份的磁盘启用就行

要添加自定义目录,可以新建一个库,例如代码库,然后将要包含的文件夹(例如E:\Workspace)加到库中,那么里面的文件将会自动备份

- 阅读剩余部分 -

四月是你的谎言 补完纪念

十月新番 四月是你的谎言 (四月是你的遗言) 漫画版已经完结了

看完最新一集实在忍不住去补漫画了

好像是第二次等不下去动漫直接翻的漫画(第一次是FA

这番剧情真心虐,贴一下结局好了
以下内容涉及剧透,自己看着办吧

被我用权宜之计带来的你,和想象中不同。
比想的要更加,更加阴暗,更加自卑,固执,是一个纠缠不休的偷拍狂;
比想的要更加声音低,比想的要更加男孩子气。
但却和想象中一样,是一个温柔的人。

从度胸桥上跳进的河流,冰冷却舒服;
和电车赛跑,觉得自己真的赢了;
偷看着音乐教室的满月,像是包子一样美味;
两个人在自行车上唱的小星星,音程偏移了好多,歌声有些绝望呢。

夜晚的学校,绝对有什么吧。
雪,和樱花的花瓣很相似呢。

明明是演奏家,舞台之外的东西却充满了内心,是不是很奇怪啊。
忘不掉的风景,都是这么细微的事物,真的很奇怪呢。

你,会怎么做呢?
我能够在谁的心里驻足呢?
我啊,能够住在你心里吗。
我可是没脱鞋子就拼命地挣扎到现在哦。
就算只是一点也好,你会想起我吗——
如果忘了——
明明都要变成幽灵了——

Reset什么的才不要呢。
不要忘了哦。
说好了哦。
果然,是你的话太好了。

传达到了吗。传达到了就好了。有马公生君。
我喜欢你,喜欢你,喜欢你。

卡纳蕾(一种法式蛋糕)没办法全部吃光了,对不起。
打了你很多次,对不起。
净是那么任性,对不起。
好多,好多的,对不起。

谢谢你——
P.S. 我的宝物也一起放在信封里。 我不在之后就请撕了扔掉吧。
宫园薰

七色シンフォニー 今鮮やかなシンフォニー 七色シンフォニー 忘れようとすることで 傷が癒えないのは 忘れようとすることで 思い出されるから 僕は 巡り巡り巡り巡り巡ってく 止まった時計の前で 立ちつくすのはやめよう いつまでも 君といたいと 強く強く思うほど いてもたっても いられなくなるよ 僕は雨 君は太陽 手を繋ごう 僕らはここにいる 今鮮やかなシンフォニー 七色シンフォニー ひとりじゃ出せない音が あることに気が付いたよ 泣いて笑って ドレミファソ 想い響き合うシンフォニー 白いため息は いつの間にか空に消えて 見上げれば 桜はピンクのつぼみをつける 僕は 巡り巡り巡り巡り巡ってく 喜びも切なさも背負って 春を待っている 不思議だよ 君の笑顔は モノクロームの街を 色鮮やかに 染めてゆくんだ ねぇ 今この一瞬を抱きしめよう 僕らはここにいる 空に花びらひらり 春色シンフォニー 今しか出せない音が あることに気が付いたよ 君がいるから 笑えるよ 時を分かち合うシンフォニー 君はいつも 魔法使い 普通の日々のメロディー そのすべてを 名曲にするんだ そう まるでチャイコフスキー 勇気に満ちた音をくれるんだ 今鮮やかなシンフォニー 七色シンフォニー ひとりじゃ出せない音が あることに気が付いたよ 駆け上がるように ドレミファソ 僕が奏でてるメロディー 君が奏でてるメロディー 想い響き合うシンフォニー

同步本地 / 服务器代码 - Git 篇

已经习惯用 Git 进行开发了,不得不说 Git 的确是个很好用的开发工具

有的时候经常会需要一边维护一个 Git 库,一边将代码部署到服务器上
例如团队共同进行开发,希望 commit 后自动部署到团队的测试服务器上,就可以采用下面的办法

首先先在服务器上创建一个 Git 库

git init --bare

然后打开 .git 文件夹,找到 hooks 文件夹,创建一个 post-receive 文件

#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".

#exec git update-server-info

cd /var/www/buildbot.ikk.me/snapshot/KanColleTranslation/

env -i git pull

然后给这个文件赋予执行权限即可

由于我提前在网站上 git clone 过,于是直接 Pull 就行了
由于这是开放的库,就没有限制 .git 文件夹,如果需要限制可以在上面加 rm 命令,或是 nginx 屏蔽
当然想简单的话个人推荐把 git pull 换成 cp 简单粗暴

终极防跨站策略 Content-Security-Policy

听说 Discuz 又爆跨站漏洞了,唉……
不得不让我想起了 Content-Security-Policy 这一大神器

最早接触 Content-Security-Policy 还是在开发 Chrome 扩展程序的时候
Chrome 的安全性众所周知,开发的时候也遇到了各种坑,其中一个就是 Content-Security-Policy,不支持 HTML5 Import 标签就是这货导致的,于是 Polymer 被我搁(鸽)置了

Content-Security-Policy 可以保护网页,要求所引用资源必须来自指定的几个域,也可以要求禁用一些常用的、容易被 XSS 的特性
比如 Chrome Extensions 中就禁用了上下文的 Script 代码,所有 JavaScript 必须来源自 js 文件,不允许直接通过 script 标签运行

针对网络留言版、社区等网站,还允许禁用 html 标签的 onclick、onmouse*** 等在 html 中定义 js 事件,就算有 XSS 漏洞你也无能为力了 = =
PS:其实这样挺好的,当年 Flash 在 ActionScript 2.0 就是这种方式,在 ActionScript 3.0 已经全部换成监听器的设计了,这样看起代码来也清晰多了

如果你对 CSP 有兴趣,这里是一篇在 HTML5Rocks 上的文章,如有需要可供参考

给博客重新弄上了 HTTPS

继两步验证之后,折腾了一会,重新给博客弄上了 HTTPS。

这回弄上 HTTPS 之后发现 Chrome 依然报安全问题,搞了半天才发现是用了 SHA1 的中间证书……
现在 Chrome 就直接提示安全了

另外顺带给博客上了 STS - Strict Transport Security,只要通过 https 访问过之后,你就无法降级到 http 啦(斜眼笑)
然后现在如果通过 HTTP 访问,那么你有一定几率触发下面的对话:

- 阅读剩余部分 -

AJAX Comment

因为新风格与 AjaxComments 插件不兼容,尝试修改未果,干脆自己动手做一个 AJAX 评论出来

新的评论插件大部分由 JavaScript 实现,并且效果很配这个风格。

在开发过程中,想实现 bootstrap 的弹窗效果,但是 bootstrap 的 Modal 实在太麻烦了,必须要先建好 div 才能用。
能不能实现类似贴吧签到助手那样的用法呢?答案当然是肯定的
最后结果已经放到GitHub上了:https://github.com/kookxiang/BootstrapModalHelper

用法很简单:

newBootstrapModal()
    .setTitle('系统消息')
    .setContent('您的账号在另一地点登录,您被迫下线。')
    .addContent('如果这不是您本人的操作,那么您的密码很可能已经泄露。建议您修改密码。')
    .addContent('如有疑问,请点击这里')
    .addButton('重新登陆', null, function(){
        window.open('http://aq.qq.com');
    })
    .addButton('确定', 'primary')
    .show();

把 QQ 密码发到评论框 把上面的代码复制到 F12 Console 里运行查看效果

现在试试评论吧 XD

KK LRC 新版开发笔记

  1. 首先改名叫 KK Player 了,现在歌词是可选部分
  2. 现在 HTML5 Audio 元素也有属于自己的界面了
  3. 重写歌词部分代码(进行中)
  4. 现在歌词将显示在 KK Player 的界面中,并可以自由关闭
  5. 使用 CSS3 Transform 替换原有滚动函数(Pending,见注1)
  6. 将音频下载转移到播放器右键菜单中(Pending)

注1:测试发现,CSS3 Transform 并不会触发浏览器重绘,可以提升效率,平滑滚动可以借助 CSS3 Transition,不再需要 JS 辅助,毕竟 Transition 是有硬件加速的嘛

注2:看上面的列表就知道,现在新版还没有做完,具体要做到啥时候我也不知道,现在暂时没有做下去的动力……除非我能找到一款好点的 JS 混淆器 23333

给 Typecho 添加双因素认证支持

不得不说双因素认证的确是一种保护账号安全的有效方法,Google、GitHub和众多网站纷纷支持双因素认证保护账号,这次我把双因素认证移植到了 typecho 上

首先不得不说下,typecho 并没有给登录预留插件接口,只有登录成功和登录失败的处理接口,登陆界面也没有可以插入的地方,所以这回直接对 Typecho 源代码下手了

首先下载修改后的 Typecho 分支:
https://github.com/kookxiang/typecho

然后执行 SQL:

ALTER TABLE `typecho_users` ADD COLUMN `twoFactorAuthKey` varchar(18) NOT NULL;

(本来可以放到 Typecho 更新程序中自动执行的,考虑到日后升级问题,就没有放过去)

登录到后台,点击控制台 个人设置,最下方可以看到“双因素认证”,有随机生成的一组 Key,手动添加到 Google Authenticator 或者 Authy 中就可以使用了。当然也可以通过二维码方式添加,不过考虑到 Google API 在国内的可用率还是建议开着梯子访问。

添加到手机之后将当前验证码填写到确认框中点击启用即可启用。此后每次登录后台不论密码是否正确都将要求输入动态密码(增加暴力破解难度)

如需取消,可以登录后台输入动态密码取消。
如果无法登录后台,可以到数据库中清空对应用户的 twoFactorAuthKey 字段

就是这样~
Why? キミに問いたい そのアツい情熱の進化 「ギミー!レボリューション」 作詞:こだまさおり 作曲:田淵智也 編曲:やしきん 歌:内田真礼 待って 違和感の理由 恋じゃまだ弱いな 100通りの好きが飽和しても なりたいのはオンリーワン 思わず成長してく この髪は卒業? キミがちゃんと振り向いてくれたら きっとそれが完成形 理屈じゃないとか どこかで読んだコトバより めえいっぱい(わあ)背伸びしたい(YES!!)はじめての挑戦かもね (Growing UP!! Next phase) Tell me why キミに問いたい そのアツい情熱の進化 そうキミがキミである 存在が語るミラクル(Uh, baby) ねえ、もっと知りたい この胸が高鳴る仕組み もはや恋さえ凌駕しちゃう アタラシイ革命の予感 今日もS.O.S 駆けつけて来てねヒーロー Rescue!! すー、はー、Check, Check, テス オーライ キミの言い分 なんかフに落ちちゃった いろんな自分 会えないままなんて ひとりぼっちと変わんないし 理解はあとから? メクルメイテどうしたらいい? エスコート(きゃ)お願いね(やった)ふたりならなんでもできそう (You are my HERO!!) Take me high キミと目指すの あの遥か情熱のパラダイス もうキミがキミでなきゃ この星がピンチなんだよ(Uh, baby) ねえ、いつか言わせて トキメキが生みだすコトバ それは愛ともリンクしちゃう オトナ未満わたしの革命 Wao!! GOGO!! どっち? Oh my god… OK! Come on! うん、行くよっ いつも今が最高でしょ Ready GO!! ねえ、教えて 聞かせて これからどうなるの? これ以上ないくらい トキメキが加速しちゃうよ (Growing UP!! Final phase) 目覚めてく わたし達だけのカタチ Tell me why キミに問いたい そのアツい情熱の進化 そうキミがキミである 存在が語るミラクル(Uh, baby) ねえ、もっと知りたい この胸が高鳴る仕組み もはや恋さえ凌駕しちゃう アタラシイ革命の予感 今日もS.O.S 駆けつけて来てねヒーロー Rescue!!

干掉狗日的 XLServicePlatform

国产流氓软件真是让人受不了(毕竟狗改不了吃屎嘛)

迅雷这骚逼现在学会自动修复 XLServicePlatform 服务了,如果你关闭了这个服务,那么他就会悄悄设置成自动启动模式,没有任何提示

这回直接用 Windows 的权限控制来治一治这骚货

  1. 首先把你的迅雷退了
  2. 打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XLServicePlatform
  3. 右边修改 Start 为 4 (禁用)
  4. 修改 ImagePath,比如我用的是 Xunlei.com/AssHole,防止它自动启动
  5. 左边找到 Parameters 子项,删除 ServiceDll
  6. 心情好可以改改 Description,我就懒得写脏话了
  7. 右击 XLServicePlatform 选择 权限
  8. 依次点击 高级 添加 选择主体 高级... 立即查找 选择 Everyone,点击 确定*2
  9. 显示高级权限,勾选 删除 设置数值 创建子项,然后将上方类型修改为 拒绝,确定
  10. 点击 使用可从此对象继承的权限项目替换所有子对象的权限项目 确定*N

PS:Windows 会弹出关于权限的提示,无视就好
PSS:要是迅雷将来学会修改权限了,就干脆把整个项的所有权限都禁了,既然这么贱就大家都别都写了

Material 大法好

Android 5.0 用久了越看越顺眼了
说实话,论扁平化设计,个人感觉做得最渣的是微软,苹果其次,Google 的扁平化看了是真的整个人都舒服了
最近在学习 Google 的 Polymer,里面提供了封装好的 Material 控件:paper-element,而且开发起来也很方便
最后还是把博客主题换掉了,确切的说应该是改掉了吧……

So,送上西野加奈洗脑神曲一首
「missing you」 作詞∶Kana Nishino/Sakura Leon 作曲∶Kotaro Egami(SUPA LOVE) 歌∶西野カナ もう戻れないの 分かってても 気がつけば Flash back 強がっても 君だけをまだ今でも I'm just thinking of you Oh 曖昧な理由 聞けないまま 眠れない夜 何度越えても 会いたい 胸が痛いよ Oh boy, now I'm still missing you (I don't know what to do) じゃれ合って何度もKissしたり くだらないことでケンカしたり Where's love? 帰れない場所があると 初めて知ったよ (I just wanna stay by your side, again) サヨナラが (I'm crying for you) ひとしずく (I'm calling your name) この胸に (Oh, I always feel just the same) こぼれてふるえる もう一度 (I'll sing for you) 戻れたら (I'll stay here for you) 誰よりも (I wanna give you all my love) 優しくできるのに(It's hard to say good bye) 新しいブレスつけてみても 君からのメッセージ 消してみても 笑ってみても… can't go on 何も変わらないよ (I don't know what to do) 特別な二人だって ずっと信じていたのに Where's love? 今君はどこにいるの?何を想ってるの? (I just wanna stay by your side, again) サヨナラが (I'm crying for you) ひとしずく (I'm calling your name) この胸に (Oh, I always feel just the same) こぼれてふるえる 立ち止まる (I'll sing for you) 時間たち (I'll stay here for you) 明日には (I wanna give you all my love) 歩き出せるのかな まなざしに 指先に くちびるに 心に あの場所に あの歌に 今も 君を感じてるよ I'm crying for you I know I love you babe I think of you,no matter what I do Come back to me Kiss me one more time I'm missing you こんなにも心が 叫んでも届かない この思い抱いたままずっと 離さないから もう一度 (I'll sing for you) 戻れたら (I'll stay here for you) 誰よりも (I wanna give you all my love) 優しくできるのに サヨナラだね I'm crying for you I know I love you babe I think of you,no matter what I do Come back to me Kiss me one more time I'm missing you

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. ...
  8. 11