使用flv.js做直播
· ☕ 6 分钟 · ✍️ 浩麟

为什么要在这个时候探索flv.js做直播呢?原因在于各大浏览器厂商已经默认禁用Flash,之前常见的Flash直播方案需要用户同意使用Flash后才可以正常使用直播功能,这样的用户体验很致命。

在介绍flv.js之前先介绍下常见的直播协议以及给出我对它们的延迟与性能所做的测试得出的数据。
如果你看的很吃力可以先了解下音视频技术的一些 基础概念


Linux 中 profile,bashrc,bash_profile等的区别
· ☕ 2 分钟 · ✍️ 茶歇驿站
这是一篇有关环境变量加载的入门介绍(不太确定)。

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从 /etc/profile.d 目录的配置文件中收集 shell 的设置。如果你有对 /etc/profile 有修改的话必须得 source 一下 你的修改才会生效,此修改对每个用户都生效。

/etc/bashrc: 为每一个运行 bash shell 的用户执行此文件。当 bash shell 被打开时,该文件被读取。如果你想对所有的使用 bash 的用户修改某个配置并在以后打开的 bash 都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个 bash 即可生效。

~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的 .bashrc 文件。
此文件类似于 /etc/profile,也是需要需要 source 才会生效,/etc/profile 对所有用户生效,~/.bash_profile 只对当前用户生效。

~/.bashrc: 该文件包含专用于你的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该文件被读取。(每个用户都有一个 .bashrc 文件,在用户目录下)
此文件类似于 /etc/bashrc,不需要重启就可以生效,重新打开一个 bash 即可生效,/etc/bashrc 对所有用户新打开的 bash 都生效,但 ~/.bashrc 只对当前用户新打开的 bash 生效。

~/.bash_logout: 当每次退出系统(退出 bash shell)时,执行该文件。


为 Github Pages 自定义域名博客开启 HTTPS
· ☕ 2 分钟 · ✍️ starifly
这是转载文章。

为什么要使用 HTTPS 协议呢?

  • 在浏览器和网站之间提供更安全的通讯
  • HTTPS 比 HTTP 的速度更快
  • 能提高搜索引擎的优化排名

HTTPS 协议的网站在地址栏前会有绿色锁的图标,感觉有点逼格,就冲着这点,果断 HTTPS 走起。

Github Pages 本身支持 HTTPS,但仅支持 github.io 域名。如果绑定了自己的域名,就不支持 HTTPS 了。幸运的是,CloudFlare 提供免费的启用 HTTPS 的解决方案。


使用CMake编译跨平台静态库
· ☕ 5 分钟 · ✍️ 0owen

在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑。因为很多开源的程序,比如png,都是自带编译脚本的。我们可以使用下列脚本来进行编译:

./configure  --prefix=/xxx/xx --enable-static=YES
make 
make install

相信手动在类Unix系统上面编译过开源程序的同学对上面的命令肯定非常熟悉。但是,如果不配置编译器和一些编译、链接参数,这样的操作,最后编译出来的静态库只能在本系统上面被链接使用。比如你在mac上面运行上面的命令,编译出来的静态库就只能给mac程序链接使用。如果在Linux上面运行上述命令,则也只能给Linux上面的程序所链接使用。如果我们想要在Mac上面编译出ios和android的静态库,就必须要用到交叉编译。


一套交叉编译脚本
· ☕ 4 分钟 · ✍️ 0owen

现在移动平台非常火热,我们在使用C/C++开发一些移动应用的时候,经常可能需要将一些第三方c/c++库编译成对应的iOS/Android/WP/Tizen上面的静态库。
之前我介绍过 如何使用CMake来编译跨平台库
那种方法有一个局限性,它只针对一些提供了CMake支持或者源码本身不需要configure的库来说,使用会非常方便,但是如果库本身没有提供CMake或者
在编译之前需要configure的库,使用起来就会很麻烦了。最好的做法,其实是重用它本身提供的编译系统,然后提供交叉编译所需要的一些参数即可。


使用Webhook和Github实现hugo的自动部署
· ☕ 2 分钟 · ✍️ zhoucaiqi@gmail.com

之前 《通过github和caddy实现hugo的自动部署》,使用的是 caddy 的 http.git 插件。最近发现,那方法不管用了,不知道原因。

所以决定使用传统的 webhook 。原理是:在 vps 运行 webhook 监听程序,github 收到 push 事件后,

就通知该监听程序,由该监听程序执行相应的命令。现在记录一下。


通过webhook将Hugo自动部署至GitHub Pages和GitCafe Pages
· ☕ 5 分钟 · ✍️ coderzh

本文的主要内容如标题所示,通过webhook将Hugo自动部署至GitHub Pages和GitCafe Pages。如果你正好有这个需求,看这篇文章正好,可以节省你不少时间。如果不是,了解一下也无妨。


无比强大的 Alfred Workflow
· ☕ 1 分钟 · ✍️ 茶歇驿站
这是一篇非常有价值,里面的每一个都非常值得大家实践。 Alfred workflow 的详细说明,我就不再赘述了,大家可以直接看最后的参考资料,我把我在用的 Alfred workflow 列一下,以

使用 CMake 不用路径地调用 libclang
· ☕ 4 分钟 · ✍️ ice1000
作为一个有高尚的情操的程序员,应该学会在写非练手项目的时候构建流程不使用与本机路径相关的依赖,这样把代码往 CI 上部署、在公司与个人电脑间传输、

为 Markdown 生成 TOC 的 Vim 插件
· ☕ 3 分钟 · ✍️ 码志
因为饱受 GFM 和 Redcarpet 两种 Markdown 引擎生成 TOC 链接的差异的折磨,而我又不得不同时使用它们——博客基于 Jekyll 使用 Redcarpet(Update 2016/09/16: GitHub Pages 现在已经改为

Git 和 GitHub简易入门
· ☕ 6 分钟 · ✍️ Bruce Zhao
开始 拖延症与强迫症严重一直拖到了今天2月23号才开始写。这一段时间我也明白了博客最重要的是keep blogging,所以 想到什么就写什么,没


点击屏幕右上角的 ···
在弹出的窗口中选择 在浏览器中打开