Talk is cheap, show me the code.

元宇宙技术调研报告

定义虚拟世界 3D建模 常规建模 通过对模型的矢量定义建模 标准化建模 将部分组件标准化,通过简单的拼装实现复杂世界的建模; 目前主要的建模组件,可以在10分钟内构建一个大约20平米的可交互空间 成熟度:4 主要的技术实现: * 沙盒建模游戏:如Roblox、Minecraft * 3D引擎:Unreal Engine、Unity 渲染 基本视野渲染 本质上是将空间直角坐标系的建模,渲染为以双眼为原点的极坐标系,再合并角度采样并输出为平面坐标。 高级渲染让世界更真实 基本视野渲染是以眼睛为出发点,向外直线扩散,将直线碰到的实体像素信息转化为可见的像素,这种方式简单的认为是每个物体都在发光,光沿着直线传递到人的眼睛。但真实世界,眼睛的成像是由光源发出的光,经过不同物体表面的反射,最终传入到人的眼睛的,非光源只会反射自身不会发光,这就造成了直极坐标转化的方式无法表达很多真实世界的细节,如物品的阴影,水的倒影,水底的折射等等,造成人很容易的区分出真实世界和模拟世界 成熟度:2 主要的技术实现: 光线追踪:是记录光的轨迹
6 min read
Geek

Ubnt ER-X 安装配置

基础安装配置 初始化 网线接入第一个网口(只能第一个网口),通过浏览器访问控制台,初始化配置 开启硬件NAT 开启NAT需要使用SSH登陆,帐户为在初始化设置的管理员账户 show ubnt offload configure set system offload hwnat enable commit save sudo reboot 高级配置 UPNP UPNP可以让你的设备点对点通信,以及自动的NAT穿透 以下配置仅适配PPPOE模式,不适配DHCP模式 show ubnt offload sudo su configure set service upnp2 wan pppoe0 set service upnp2 listen-on switch0 set service upnp2 nat-pmp enable set
2 min read

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的文件,然后在该文件内添加以下的内容 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev network={ ssid="$ssid" psk
2 min read

Mac开启aptX

随着越来越多的设备取消了耳机孔,蓝牙就成为了消费级音频领域的主流传输方案,然而你可能不知道,蓝牙音频居然还有这么多的编码传输协议,而这些协议的音质效果也是天差地别 下面是一些主流的协议:做为对比,消费级的CD机的音质也就是通常我们认为的无损的最低标准为44.1kHz/16bit * SBC:A2DP的强制协议,所有设备都会支持,蓝牙通话通常就是用的这个协议,但是音质一般,传输码率为328kbps,延时通常为120ms * AAC:杜比实验室提供的高压缩音频技术,Apple Music默认就是这种格式,与SBC码率差不多,可想而知效果要好于SBC,但也有限 * aptX:CSR的提供专利技术(现在被高通收购了),更高的压缩算法(4:1)和低延时(40ms),是专业的无线音频传输方案,aptX还有多个版本 * 默认:aptX,传输码率352kbps,刚好可以传输CD的音质(44.1kHz x 16bit x 2声道 / 4压缩率 = 352.8kbps) * 高清音频:aptX HD,
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.168.1.1,使用IP登录Web控制台初始化,第一次登录会提示设置密码,同时记得把SS
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 Client客户端,可以在 Certbot官网首页获取
5 min read
Architecture Featured

基本架构原则

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