Aug 25 2015
编译iOS版本WebRTC

WebRTC,名称源自网页实时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准

iOS中WebRTC参考资料

Mac下编译WebRTC

准备好梯子, 按照官方教程编译, 参考这里

阅读此文

Aug 21 2015
iOS中Tranisition常用库

最近尝试在程序使用Transition, 搜索了一下github,发现以下库很不错,记录一下

iOS中Tranisition常用库
阅读此文

Aug 18 2015
VKVideoPlayer爬坑记

前言

在 iOS 开发过程中,视频播放相对来说还是比较简单,可以是用MPMoviePlayerControllerMPMoviePlayerViewController, 或者 iOS8中引入的AVPlayerViewController,如果要更底层一点,也可以使用AVKit来做, 更极端的方式就是使用 WebView 来加载视频。

这里简单说明一下他们的区别:

  • MPMoviePlayerControllerMPMoviePlayerViewController使用起来类似,不足之处就是不能自定义控件,在使用HDMI来投影屏幕的时候会出现很多莫名其妙的问题,同时在 iOS9中将被标记为deprecated并不再维护
  • AVPlayerViewController使用起来也很方便,但是在 iOS8中同样有 HDMI 投影问题
  • AVKit AVPlayer自己实现,比较麻烦
  • WebView加载使用起来也很方便,HDMI投影也有问题

最近想写一个简单的 Demo,需要播放视频,同时需要自定义播放控件,上面的都不满足条件,网上很多人说VKVideoPlayer很不错,查看了一下VKVideoPlayer, 貌似 feature 特别多:

VKVideoPlayer爬坑记
阅读此文

Aug 18 2015
升级到 Hexo 3后发现 robots.txt失效

升级到 hexo3之后一直没注意,今天查看Google WebMaster Tools发现竟然没抓去多少,查看原来的robots.txt, 是这样的:

1
2
3
4
5
6
---
layout: nil
---

User-agent: *
Disallow:
Sitemap: {{ site.url }}/sitemap.xml

打开生成的robots.txt查看,竟然没有解析, 竟然是这样的

阅读此文

Aug 7 2015
用 Python 解方程

今天无意中发现一张图片,

WIFI密码

当如可以通过数学计算网站计算得到结果symbolab%2Blog_%7B2%7DX%3D1/?origin=enterkey)

当时病犯了,不承认自己是学渣(貌似我也不是学霸),学过的数学也完全还给了老师,肿么办。只好用 Python 中的SymPy来计算一下了以下方程

$$\log_2(x-1) + \log_2x = 1$$

安装SymPy

1
pip install sympy

求解,直接上代码

1
2
3
4
5
6
#!/usr/bin/env python

from sympy import *

var('x')
print(solve(log(x-1,2)+log(x,2)-1,x))

结果是2,可是貌似还有一个负数解呢( -1 哪儿去了?)

阅读此文

Aug 7 2015
将 hexo 从2.8.3升级到了3.1.1

今天发现 blog 的 travis 编译貌似出问题了,很多东西都编译失败,所以尝试将 hexo 从2.8.3升级到了3.1.1,过程很顺利,通过官方文档就可以办到。

完成之后加入了hexo-ruby-character这个东东,安装

1
npm install hexo-ruby-character --save

测试一下:

Base (top) 佐天泪子 (xiān qún kuáng mó) 超電磁砲 (レールガン)

是不是很酷:)

添加一下数学公式的支持吧,安装hexo-math

1
npm install hexo-math --save

测试一下

$$\frac{\partial u}{\partial t}
= h^2 \left( \frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}\right)$$

$$\begin{aligned} \dot{x} & = \sigma(y-x) \\ \dot{y} & = \rho x - y - xz \\ \dot{z} & = -\beta z + xy \end{aligned}$$

最后来个牛逼的吧,薛定谔方程,大学物理考试貌似还复习过这个公式,虽然现在已经记不清是什么意思来着了:

$$ i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left( \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} + \frac{\partial^2}{\partial z^2} \right) \psi + V \psi.$$

阅读此文

Aug 6 2015
bat 中启动进程并隐藏窗口

这几天在将产品移植到 Windows 过程中需要需要启动很多服务进程, 但是需要这么多 console 窗口很难看,所以需要在启动的过程中隐藏 console 窗口,后来在 stackoverflow 上找到了cmdow 这个东东(关键协议还是 MIT),可以通过一下方式启动进程并隐藏窗口。

1
cmdow /run /hid <process_to_start>
阅读此文

Jun 23 2013
Mac OS X下安装gevent

(请确保xcode command line tools已经安装)

直接使用 =pip install= 会出现 =event.h= 找不到:

1
2
3
4
5
6
7
clang: warning: argument unused during compilation: '-mno-fused-madd'
In file included from gevent/core.c:253:
gevent/libevent.h:9:10: fatal error: 'event.h' file not found
#include "event.h"
^
1 error generated.
error: command 'clang' failed with exit status 1

这个时候需要安装 =libevent=:

1
brew install libevent

然后安装 =gevent=

1
sudo pip install gevent

安装成功之后,测试一下发现会出错:

1
2
3
4
5
>>> import gevent
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/gevent/__init__.py", line 40, in <module>
ImportError: cannot import name core

原来是因为没有安装 =cython=, 安装之

1
sudo pip install cython

并重新安装 =greenlet= 和 =gevent=

1
2
3
4
sudo pip uninstall gevent
sudo pip uninstall greenlet
sudo pip install greenlet
sudo pip install gevent

阅读此文

Jun 23 2013
用travis-ci自动生成hexo

测试一下

感谢jkeylu

1
# Deploy hexo site by travis-ci
# https://github.com/jkeylu/deploy-hexo-site-by-travis-ci
# LICENSE: MIT
#
# 1. Copy this file to the root of your repository, then rename it to '.travis.yml'
# 2. Replace 'YOUR NAME' and 'YOUR EMAIL' at line 29
# 3. Add an Environment Variable 'DEPLOY_REPO'
#     1. Generate github access token on https://github.com/settings/applications#personal-access-tokens
#     2. Add an Environment Variable on https://travis-ci.org/{github username}/{repository name}/settings/env_vars
#         Variable Name: DEPLOY_REPO
#         Variable Value: https://{githb access token}@github.com/{github username}/{repository name}.git 
#         Example: DEPLOY_REPO=https://6b75cfe9836f56e6d21187622730889874476c23@github.com/jkeylu/test-hexo-on-travis-ci.git

language: node_js

node_js:
- 0.1

branches:
  only:
  - master

before_install:
- npm install -g hexo

install:
- npm install

# Notice: Replace 'YOUR NAME' and 'YOUR EMAIL'
before_script:
- git config --global user.name 'Chen, Zai-Chun'
- git config --global user.email 'chenzaichun@gmail.com'
# - git clone git://github.com/heroicyang/hexo-theme-modernist.git themes/modernist

script:
- hexo generate

after_success:
- mkdir .deploy
- cd .deploy
- git clone --depth 1 --branch master --single-branch $DEPLOY_REPO . || (git init && git remote add -t master origin $DEPLOY_REPO)
- rm -rf ./*
- cp -r ../public/* .
- git add -A .
- git commit -m 'Site updated'
- git branch -m master
- git push -q -u origin master

是不是很简单

阅读此文

Jun 23 2013
确实很久没有更新了

很久没更新了,尽量更新吧。不然都没有动力了。

阅读此文