合一2015加油视频的制作花絮

 •  Filed under 合肥一中

合肥一中2015年高考加油视频现已发布


bilibili(v2.0):

http://www.bilibili.com/video/av2001141/

优酷(v1.0):


既然制作完成了 就来谈谈花絮吧。

整个项目10月国庆节开始立项,初始发了一个预告片:

合肥一中15年加油视频组 预热视频

ae制作,用的是一个后期合成的模板。 做完这个后,很多人以为加油视频开始制作了(实际上我只是做着玩),然后我和徐增荣被迫开了年纪大群开始筹备。然后又拉了其他人入伙,开始讨论加油视频怎么做的问题。 具体的很多事情我也快忘了,反正当时设想的有无人机+超算,顺便用这两个我还能做下建模的副业。 =_= 然后当时和校友会联系的时候是准备拿新东方的赞助,不过因为连续长达两个月错综复杂乱七八糟的拉赞助活动后,新东方的赞助由于某些原因没有了,最后是一中商学院提供的资金。 这部分资金没有像设想的那样用于无人机和超算,买无人机钱实际是不够的,继而无人机的钱供给了微电影项目,超算原本不要钱的但是因为前面文章说到的原因没有用,因此租了服务器也耗了一些钱。 >看起来和设想很有偏差,对么。有很多很难处理的事情和差点要撕破吵架的事情都在里面,只不过没必要说而已,很多事情实际上都有很多没说出但是很关键的事情,我觉得这是我的一个感受,就像大家都以为我们做的很顺利一样,实际上不是。类似的,创业的时候看36Kr觉得别人好顺利,自己做才发现blablabla等等问题,都是一样的,真正的问题有时候很难说出来,也不想说出来。

中间这么长时间基本上在谈些乱七八糟的赞助,还画了甘特图,不过没按照图上来就是了。十二月到一月开始收集视频。一月底我放假,回家开始做。
主要的几个东西:

20FOX

左右对比 渲染前-后

地球跳转

我做了一张很大的贴图(10000×8414)用于AE渲染,地图来源:MAPBOX

制作中:

先在一台PC和一台MBP上完成制作,然后传到服务器上进行渲染&转码。

总体

使用FCPX在MBP13'上完成。

后续推广

这个单写一篇或者拿到其它主题里面吧,内容有点多。

"由于管理员设置的策略,该磁盘处于脱机状态"解决办法

 •  Filed under 服务器, 虚拟机

因为还在忙着视频渲染,所以不多废话了。等到做完视频我再好好写博客。

记录一个使用UnitedStack的问题。
购买云硬盘后显示已经挂载,但是计算机界面无磁盘符,到计算机管理里查找,发现有这个磁盘,但是提示由于管理员设置的策略,该磁盘处于脱机状态的状态。这个问题一般出现在Windows Server上。

解决办法:

转自链接

使用DISKPART.exe命令 解除策略

1.运行:cmd
2.输入:DISKPART.exe
3.DISKPART> san
4.DISKPART> san policy=onlineall
5.DISKPART>list disk
6.DISKPART> select disk 1
7.DISKPART>attributes disk clear readonly
8.DISKPART>online disk

运行的图:

1
2

春夏秋冬

 • 


Link

秋天该很好 你若尚在场
秋风即使带凉 亦漂亮
深秋中的你填密我梦想
就像落叶飞 轻敲我窗
冬天该很好 你若尚在场
天空多灰 我们亦放亮
一起坐坐谈谈来日动向
漠视外间低温 这样唱

能同途偶遇在这星球上
燃亮飘渺人生
我多么够运
无人如你逗留我思潮上
从没再疑问
这个世界好得很
暑天该很好 你若尚在场
火一般的太阳在脸上
烧得肌肤如情 痕极又痒
滴着汗的一双 笑着唱

能同途偶遇在这星球上
燃亮飘渺人生
我多么够运
无人如你逗留我思潮上
从没再疑问
这个世界好得很

能同途偶遇在这星球上
是某种缘份
我多么庆幸
如离别 你亦长处心灵上
宁愿有遗憾
亦愿和你远亦近
春天该很好 你若尚在场
春风仿佛爱情
在蕴酝
初春中的你 撩动我幻想
就像嫩绿草使春雨香

给服务建立状态页面

 •  Filed under GitHub, Cachet

状态页面(Service status)是一个很装逼的东西,能让你的服务显得很专业。
举几个例子:

Github Status http://status.github.com/
LeanCloud Status https://status.leancloud.cn/
Apple Status http://www.apple.com.cn/support/systemstatus/

这些类似于Dashboard的东西能让你的逼格上升一个档次 →_→

国外有商用的项目,叫做Statuspage,不过很贵...

不过总有OpenSource的好东西,今天在Github看到了一个项目叫做Cachet.


官方站点:http://james-brooks.uk/cachet
开发者的项目站点:http://james-brooks.uk/whats-next-for-cachet/
Github链接:https://github.com/cachethq/Cachet
>Cachet is a single-site, alternative to https://statuspage.io written in PHP with the Laravel project, supporting both SQLite and MySQL databases.

我还没有安装尝试(现在尝试了...),不过我现在在进行这个项目的翻译计划,翻译项目在此:Crowdin,截止目前,简体中文已经翻译99%(翻译完了....),剩下两个词条不清楚是干吗用的,暂留等着和开发者商议具体含义。

翻译界面:

更新:1月2日下午7:04

简体中文现在已经翻译完毕。等待审核。

我将Cachet部署在了HeroKu上面,链接在此(自备梯子)

http://justzht-statuspage.herokuapp.com/
界面可以说简洁,但不精致。当然作为一个预发布版本已经很好了,主要问题是incidents和components要自己手动发布,不能自动检测端口,实用性降低很多。

更新:1月2日下午9:23

给Cachet设计了一个后台dashboard的ui

在Coding上部署Ghost的一些问题

 •  Filed under Ghost

花了点时间给吴总搭建了一个小站,发现了一些问题,在这边说下。

注:以下问题针对Ghost平台

1.不能托管新增的图片

这个比较要命啊...只有部署时含有的图片能显示,后期上传的图片是不显示的....

解决办法:
主题文件内图片:直接把hbs内写的的图片文件放在和hbs同级的目录下,然后直接和下面一样,在img src写图片的名字。

<a href="{{@blog.url}}" title="前往 {{@blog.title}} 的主页"><img src="图片名称.后缀名" width="80" alt="{{@blog.title}} logo" class="panel-cover__logo logo" /></a>

文章内图片:传到七牛云或者其他有外链的平台,然后markdown调用。

2.评论系统

Ghost没有原生评论,用DISQUS的系统又不能自动合并不同参数同一个页面的评论,聊胜于无。
暂时用多说,虽然以前用wordpress的时候听说这个系统侵犯隐私....

Ghost的/ghost/content/themes/主题名称/post.hbs内修改:

在最底部的{{/post}}前面加上这些:

<div class="ds-thread" data-thread-key="{{slug}}" data-title="{{{title}}}" data-url="{{url absolute="true"}}"></div>
然后在`{{/post}}`后面加上这些
<!-- 多说公共JS代码 start (一个网页只需插入一次) -->  
<script type="text/javascript">  
var duoshuoQuery = {short_name:"xxxxxxxxxx"};  
(function() {
    var ds = document.createElement('script');
    ds.type = 'text/javascript';ds.async = true;
    ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
    ds.charset = 'UTF-8';
    (document.getElementsByTagName('head')[0] 
     || document.getElementsByTagName('body')[0]).appendChild(ds);
})();
</script>
<!-- 多说公共JS代码 end -->

将里面的{short_name:"xxxxxxxxxx"}换成你自己的,具体到http://你设定的域名.duoshuo.com/admin/tools/ 查看。


部署后可看到评论框

在Coding上部署你的博客(1)

 •  Filed under Ghost, Coding

这是我在Coding实验搭建后的地址

http://justzht.coding.io/

在V2EX的广告栏看到了这个项目:在Coding上写博客,是这么说的:“我们支持 Java,Ruby,Go,PHP,静态文件等等各种方式运行你的博客。”

里面有各种博客平台可以Fork,包括:

JustThink--基于 Angular 和 Bootstrap 构建的博客系统
mder--原创非官方博客生成工具,Just for coding.net
MyBlog-Typecho---基于 meltykiss 主题的 Typecho 博客
Ghost-On-Coding-Paas--Ghost 博客 Coding 修改版
Hexo--简单高效的博客系统,基于 Node.js
jekyll--一个简单的静态博客网站
php-wordpress--这个星球上最受欢迎的独立博客系统

这玩意和在Github搭博客差不多....
我选择了在Coding上部署Ghost博客,大家可以自己选择哈,我来谈谈这玩意的体验。


首先是系统配置

CPU 0.04%	 
内存 83.9 MB/256.0 MB
磁盘 80.3 MB/1.0 GB

这是我的Ghost部署容器,内存最大512MB,硬盘1G,反正作为博客肯定够够的

网速也不错,实测76.93KB/S,比从我的主机连接的速度高很多,见图。


1.机房有两个,我选的是北京,还有一个是香港但是要月费,域名是二级域名.coding.io,比如我的是justzht.coding.io。不过如果选了香港机房可以绑定自己的。
2.至于体验,基本和我在Linode上的一致,甚至更快些....毕竟国内机房
3.Coding的部署很简单,过程可以看每个项目的Readme。
建立后,可以建立WebSocket实时查看日志,比如:

2015-01-02T02:13:22.02+0800 [App/0]   OUT 103.24.228.139 - - [Thu, 01 Jan 2015 18:13:22 GMT] "GET / HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.13) 360JK qiyunce"

4.有个问题是每次部署或者重启后保存的图片都会消失,简直和学校机房一样...所以用外链或者只写字吧....

目前 我在考虑搞一个方案让Coding的文章和com域名同步


总之,目前这个东西看起来非常酷,第一个是相当于一个免费的PAAS,第二个是直接用Git的方式修改博客主题很Geek。

以后有什么小项目往上面部署,不用服务器,而且还有个二级域名,(不过估计人多了就难注册二级域名了╮(╯▽╰)╭ )


附:Coding完整支持一览:

1.Java

Servlet Spring

2.Ruby

Sinatra Rails

3.Node.js

Node Express 2048

4.Go

Go

5.PHP

PHP
WP

6.Python

Flask
Tornado

7.Scala

Scalatra
Play! 1.x
Play! 2.x

8.HTML

Nginx
Node

iOS开发的一些奇技淫巧

 •  Filed under iOS, XCode

来自cocoachina

1.令TableView不显示没内容的Cell

self.tableView.tableFooterView = [[UIView alloc] init];

2.自定义leftBarbuttonItem 同时保留左滑返回手势

self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

3.解决ScrollView不能在viewController划到顶

self.automaticallyAdjustsScrollViewInsets = NO;

4.点击self.view就让键盘收起

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}

5.像safari一样滑动的时候隐藏navigationbar

navigationController.hidesBarsOnSwipe = Yes

6.tableview里cell的小对勾的颜色改成别的颜色

_mTableView.tintColor = [UIColor redColor];

半夜救回Ghost....

 •  Filed under Ghost, 作死集

真不容易啊....明天早上还有高数,寝室里只有飞飞睡了,剩下三个里两个在做课设,我在拯救我的Ghost博客.....

起因是手贱重启了Ghost服务,然后就发现访问域名80端口就呵呵了....直接502,但是域名+:2368是可以访问的,说明Ghost至少还在2368端口正常工作。

然后看Nginx的ERROR.LOG里是这么写的:

connect() failed (111: Connection refused) while connecting to upstream

这个其实和upstream的内容没太大关系...至少是我这种状况是没啥关系,和9000端口更没关系。

解决方案

这里有两点:

1.有关重启后内容消失了的问题

很大可能是模式设置的问题。我才发现我的文章都是在Development模式下的Ghost发表的,因此当我重启时,先执行停止:

forever stop index.js

然后启动要选择development而不是production

NODE_ENV=development forever start index.js

否则你会发现你的网页什么都没有了....一篇文章也不显示,因为你现在在另外一个你没有发过文章的模式下。

2.有关端口的问题

如果Nginx里设置了2368转发80端口,那么Ghost里面的config.js就千万不要在host这个地方填写VPS的外网IP,要写127.0.0.1,否则502死死的

参见 digitalocean-community 的第一个回复:

Once nginx was configured, I was getting the Gateway error because both ghost and nginx where now listening at different ports and nginx was redirecting to the server's localhost address at port 2368.The problem here was the Ghost's config.js was still using the server's IP, rather than the localhost address.

Anyways, once I change the Ghost config.js file's "host" address back to the localhost 127.0.0.1, everything worked.

3.(另一个不算bug的问题)

注:已经解决:看这个

我用的DISQUS评论服务,我分享到朋友圈的时候我的网页后面会带一个参数from=timeline&isappinstalled=0
这导致了DISQUS会认为在from=timeline&isappinstalled=0这个页面才有评论,而真正没有参数的页面不显示评论。这不是坑爹么....

于是我收到邮件说有人评论我的网站了 然后我从朋友圈点开链接是能看到陈叔的评论 但是从电脑上就看不到了...

或者说这是Ghost和DISQUS结合的问题,导致了有参数和没参数的网页没有合并在一个评论列表里,测试后发现:

80端口和2368端口是同一网页但是识别为两个页面

http://www.justzht.com:2368/facebookpaperprojext/
http://www.justzht.com/facebookpaperprojext/

后面加上参数,比如Key=XXXX....也不能识别成一个

http://www.justzht.com:2368/facebookpaperprojext/
http://www.justzht.com:2368/facebookpaperprojext/from=timeline&isappinstalled=0 

甚至连带不带/,比如这种一个跳转的东西都无法合并

http://www.justzht.com/facebookpaperprojext
http://www.justzht.com/facebookpaperprojext/

Nginx开启Gzip过程

 •  Filed under Nginx, Gzip, Linux

我的nginx的配置文件在/etc/nginx/conf.d里面

我修改的是default.conf,其他同学可以根据需求自己找配置文件修改╮(╯▽╰)╭

default.conf加入以下内容:

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css 	application/xml text/javascript application/x-httpd-php image/jpeg 	image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";

第1行:开启Gzip

第2行:不压缩临界值,大于1K的才压缩,一般不用改

第3行:buffer,就是,嗯,算了不解释了,不用改

第4行:用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1

第5行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧

第6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了

第7行:跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",我不需要这玩意,自己对照情况看着办吧

第8行:IE6对Gzip不怎么友好,不给它Gzip了

(引用自http://www.slyar.com/blog/nginx-gzip-compressed.html)

然后重启nginx咯

service nginx restart

看看效果:访问

http://yanghao.org/tools/gzip?url=http%3A%2F%2Fwww.justzht.com

支持压缩:是
压缩类型:gzip
原始文件大小:13480字节
压缩后文件大小:4828字节
压缩率:64.18%

效果挺明显的╰( ̄▽ ̄)╮简直秒进啊

PS:记下来两个命令用,这几天不太平,老是有人想登陆我的VPS
1.查看暴力尝试ssh的对方ip和尝试次数

cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2" = "$1;}' 

2.查看成功登陆过的IP

who /var/log/wtmp

PPS:使用gzip后处理器负荷加大 但是对于我这种站点来说本来人就很少...

PPPS:刚才又登陆上去看了下....好烦啊又有55次登陆尝试....干脆把ip都贴出来吧

103.41.124.103 = 2214
103.41.124.21 = 2214
103.41.124.26 = 18
103.41.124.27 = 12
103.41.124.29 = 4725
103.41.124.46 = 666
103.41.124.48 = 705
103.41.124.50 = 9
103.41.124.58 = 12
104.130.124.127 = 21
104.41.131.157 = 12
115.231.222.45 = 12
115.238.72.33 = 7
166.62.33.250 = 17
176.58.103.233 = 13 //(这个ip是RIPE的...查不到地区)
182.18.134.5 = 9
222.219.187.9 = 11
61.183.1.8 = 1
62.210.182.90 = 10
91.83.237.230 = 4
94.124.205.140 = 1

这些ip用Zoomeye都搜不到什么信息=_=

在Linode上搭建Ghost的过程

 •  Filed under 技术, Linode, Ghost, Nginx

Ghost还是很漂亮的 而且支持实时预览 虽然没多少插件 但是作为博客就该这个样子 至于百度SEO?我觉得没啥大意义咯,又不是公司官网那种要求排名的东西。

好回到题目,今天买了Linode服务器,顺便搭建了Ghost,把过程记下来下。

(附带一句,我买的时候用的是GlobalCash的虚拟信用卡 DO是不支持这种卡的,会自动识别成储蓄卡不给通过,因此我没有使用DO的5刀月套餐,转而买了Linode,Linode月计划最低10刀啊心疼⊙︿⊙)

参考文章:http://www.howtoinstallghost.com/how-to-install-ghost-on-linode-vps/


1.Linode要部署一个系统即Rebuild,我用的是CentOS7.
2.SSH啦,登陆上去,更新下yum啥的 安装DevelopmentTools等等

ssh root@“你的linode的IP”
yum update
yum upgrade
yum groupinstall "Development Tools"      
  1. Nodejs的编译和安装

    cd /tmp
    wget http://nodejs.org/dist/node-latest.tar.gz
    tar -xzf node-latest.tar.gz
    cd 到那个解压后的文件夹名字(不知道文件夹名的话ls命令下咯)
    ./configure
    make
    //(会走很长时间的过程)
    make install
    4.安装Ghost

    mkdir -p /var/www/
    cd /var/www/
    wget -O ghost.zip https://ghost.org/zip/ghost-latest.zip
    unzip -d ghost ghost.zip
    cd ghost
    npm install --production
    cp config.example.js config.js

5.修改config.js,这个在/var/www/ghost目录里面

host: '127.0.0.1',
//改成你自己的ip,记得改production下面的那个 当然你改完所有的我也没意见╰( ̄▽ ̄)╮
useradd ghost
//建立服务器的用户
chown -R ghost:ghost /var/www/ghost/

6.运行ghost

su - ghost
cd /var/www/ghost/
npm start --production
//注意这个npm是个坑 一旦断了ssh网站就呵呵了 因此需要forever来保证npm是一直后台运行中
//解决方案参见http://docs.ghostchina.com/zh/installation/deploy/ 中的“让 Ghost 一直运行”

7.第一次访问博客会按照你的需求 建立博客的账户 这个随意 不过这个时候网站的端口是:2368要记得..不然你啥都看不到
8.nginx安装和代理

//这部分参考http://www.allaboutghost.com/how-to-proxy-port-80-to-2368-for-ghost-with-nginx
//建立一个nginx的源的文件 
vim /etc/yum.repos.d/nginx.repo
//里面写下面的内容
[nginx] 
name=nginx repo 		baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0
enabled=1
//把$releasever改为你的系统版本 我的是7
sudo yum install nginx -y 
sudo service nginx start 
sudo chkconfig nginx on

9.建立配置文件把80端口也能访问2368端口

cd到: /etc/nginx/conf.d/
//然后改default.conf,直接执行
vim default.conf
内容全删掉 替换成下面的:
server {
listen 80;
server_name hahahahahah.COM;
location / {
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   Host      $http_host;
    proxy_pass         http://127.0.0.1:2368;
	}
}
//hahahahahah.COM改为你的域名 我的是justzht.com
sudo service nginx restart

这个过程记得把域名解析做好 不然会有奇怪的问题