Raspberry Pi 傻瓜教程

准备Raspberry Pi 拿到RPI后第一件事就是要安装操作系统,毫无疑问,Raspbian作为RPI的官方操作系统,可以从官方下载链接获得。 下载好镜像后通过工具flash一张SD卡(也就是RPI的硬盘)。推荐使用官方的烧录工具Raspberry Pi Imager,当然 Linux下可以直接使用dd命令,Mac下可以使用balenaEtcher 烧录完成,先不要急着将SD卡放入树莓派,除非你已经准备好了外接键盘和显示器,以下操作可以在没有额外的外设的情况下使用SSH连接 打开SSH 按官方的方法只要检测SD卡根目录下有ssh的文件,就会自动打开SSH。 touch /Volumes/boot/ssh 配置WIFI网络 如果你使用无线连接,那么你需要预设好 在SD卡的根目录下添加一个名为 wpa_supplicant.conf的文件,然后在该文件内添加以下的内容

  • Peng Ziran
    Peng Ziran
2 min read

Mac开启aptX

随着越来越多的设备取消了耳机孔,蓝牙就成为了消费级音频领域的主流传输方案,然而你可能不知道,蓝牙音频居然还有这么多的编码传输协议,而这些协议的音质效果也是天差地别 下面是一些主流的协议:做为对比,消费级的CD机的音质也就是通常我们认为的无损的最低标准为44.1kHz/16bit SBC:A2DP的强制协议,所有设备都会支持,蓝牙通话通常就是用的这个协议,但是音质一般,传输码率为328kbps,延时通常为120ms AAC:杜比实验室提供的高压缩音频技术,Apple Music默认就是这种格式,与SBC码率差不多,可想而知效果要好于SBC,但也有限 aptX:CSR的提供专利技术(现在被高通收购了),更高的压缩算法(4:1)和低延时(40ms),是专业的无线音频传输方案,

  • Peng Ziran
    Peng Ziran
3 min read
Geek

Linksys WRT1900ACS折腾OpenWRT

Linksys作为WRT的发明者,Linksys WRT1900ACS(简称1900ACS)又是WRT系列性价比极高的产品,而OpenWRT是WRT开源版本,这两者组合可玩性非常高,最适合用来折腾。以下就是介绍如何在1900ACS上安装OpenWRT以及一些常用的玩法。 安装 确定硬件规格 Openwrt官网就提供了1900ACS的硬件规格,查询可知1900ACS的CPU是Marvell-cortexa9 下载镜像 到OpenWRT官方Releases仓库选择指定版本,然后按硬件索引到1900ACS镜像(通常路径为/targets/mvebu/cortexa9/,镜像的文件名为linksys-wrt1900acs-squashfs-factory.img); (截止到当前时间2018-12-16最新版本为18.06.1) 从原生系统安装 傻瓜安装,登录Web控制台,上传下载好的镜像,启动安装就可以; 常用配置 初始化 默认IP为192.

  • Peng Ziran
    Peng Ziran
2 min read
Devops

使用Docker创建Let‘s Encrypt SSL证书

如果你的网站还在非https下裸奔,那你肯定out了,过去SSL证书价格昂贵,但今天我们很幸运Let‘s Encrypt为我们提供了免费的证书服务,本文主要介绍如何利用docker-compose运行certbot免污染主机环境的申请SSL证书、Nginx下证书的安装以及证书更新。 为什么要使用https 今天再讨论为什么要使用https感觉有些多余,简单说无非就是以下几点 去掉浏览器上讨厌的不安全提示 防止网站被劫持 为了使用http2 Let‘s Encrypt是什么 Let‘s Encrypt是一个免费的SSL证书认证机构 Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 来自维基百科 Get Started Let‘s Encrypt使用ACME协议验证域名及签发证书,官方推荐使用Certbot做为ACME

  • Peng Ziran
    Peng Ziran
5 min read
Architecture

基本架构原则

我们都经历过许多架构的选择,那么我们一定也知道,没有最好的架构,只有最合适的架构。面对这么多选择,我们应当遵循什么样的原则?从设计模式到DDD,有一系列的方法论,但我认为有一些思想是通用的,以下是我的一些理解。 预测与快速响应 我们常常信誓旦旦的说,我们的系统是为未来多少年设计的,那这是如何支撑的呢? 如果能提前一步预测到未来,未来的技术趋势,未来的业务变化,未来的流量,哪怕就是眼下的未来,对技术人员来说,应对起来就变的游刃有余。所以我们的架构常常会为这种预测提前做出设计,预测什么非常重要,预测商业的变化不仅对能力的挑战非常高而且准确性低,所以前瞻首先考虑的不是商业未来的变化,而是未来业务完整的形态,因为从另一个视角看商业的变化,其实它是一个业务完善的过程。完整的视角再看当下的业务,也许当下的业务形态刚刚起步,但它一定是未来的基础,而有些未来的重要模块也可能提前被抽象出来,但当下可能仅仅是空实现。

  • Peng Ziran
    Peng Ziran
8 min read