Category: 技术

通过AWS Lambda / API Gateway 架设负载均衡API服务器 (Load Balancer)

AWS Lambda AWS Lambda是无服务Serverless的领导者, 同类产品有 CloudFlare 的 Worker, 微软的 Azure Function. 我们用Lambda可以省去维护升级服务器的费用的时间. 并且Serverless的本身都是非常可扩展(水平)的. 负载均衡 Load Balancer 负载均衡Load Balancer服务器的目的是把流量转发(Route)到较空闲的服务器的, 以避免单服务器过载和单点错误(Single Point of Failure). 和CloudFlare Worker一样, 我们可以用AWS Lambda做一个Serverless的负载均衡服务器. 基于AWS Lambda的负载均衡服务器 LB采用的均衡算法可以是基于DNS, …

通过BASH脚本显示树莓PI的温度和频率

我们很容易可以通过以下BASH脚本来显示当前树莓PI的温度和频率. #pi@raspberrypi:~ $ cat ./cpu_freq.sh #!/bin/bash temp=`head -n 1 /sys/class/thermal/thermal_zone0/temp | xargs -I{} awk "BEGIN {printf \"%.2f\n\", {}/1000}"` echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq`/1000)) MHz, $temp degrees 然后, 我们可以每3秒来显示这个信息: # 每3秒显示 while …

我的面试谷哥GOOGLE伦敦SRE的经验和教训

今年疫情, 接到了谷哥和FB的面试邀请, 想着试试现在的水平如何便欣然接受. 每年都面试, 并不是说一定要换工作, 这是一个很好的让你在人才市场中保持竞争力, 查看自己不足, 检验你坚持刷题的一个好方法: 阶段性刷题的考核和目标. 谷哥(Google, 狗家 或被称为G家)是很多软件工程师梦寐以求的公司, 可能是媒体宣传他们家的福利有多么多么好: 有免费的员工餐厅, 有各种娱乐休闲的活动, 给的工资还高. 我5年前接到过面试邀请(当时问了一道队列+哈希表的题), 可惜当时水平太差连第一面45分钟的 coding 都没过. 再后来这几年一直投, 甚至去年找朋友内推都没法过简历关. 据统计: Google 面试成功率不到 0.2%(1000人不到2人), 难度甚至比上哈佛更大. 第一面要过一般是要BUG FREE而且不能卡. …

服务器搬到车库然后远程云桌面 Cloud Desktop

我的HPZ800服务器稳定, 因为用了ECC较验内存, 今年又加了四个新硬盘, 估计还能再战几年. 但有一个问题就是很吵, 而且我发现越来越吵了. 查了一下原因, 有可能是风扇正常寿命老化, 还有就是灰尘. 虽然平时时不时用吸尘器吸了一下, 但是效果不大. 主板太老, 也不想再折腾, 于是就想了一招, 把它移到车库. 这几天听着机箱翁翁声音都觉得快神经衰弱了. 车库堆满了杂物, 平时就是放不用的东西还有就是疫情屯的一些厕所用纸. 刚好车库里有电源插座, 于是用上电力猫, 接上网线, 效果还不错. 少了服务器办公的房间桌面一下整洁干净了许多. 很多线都可以收起来了. 现在很流行在云端办公, 意思就是说登陆 SSH/远程桌面到服务器上写代码工作, 这样有一个好处就是数据都放在中心化地云端, 而且一般很可靠不会因硬件损坏而丢失. …

通过CloudFlare Worker搭建负载均衡服务器

Cloudflare Worker 是和 Amazon Lambda, Google Function 类似的无服务器 Serverless 技术. 我们可以写一些代码(JS)部署到 CloudFlare 的网络节点中. 这项技术的好处是我们并不需要去维护服务器(减少运维成本), 而且通过Serverless技术很容易就可以把程序跑在成千上万的节点上 (较强的可扩展性). 负载均衡服务器(Load Balancer)用于把用户的请求重新分配(Route)到提供真正服务的源服务器(Worker). 我们可以通过负载均衡来实现水平扩展(Horizontal Scaling). 当然如果负载均衡只有一台服务器, 也是会有单点故障的 (Single Point of Failure). 如果通过CloudFlare Worker来搭建负载均衡, 这样我们的负载均衡服务器会被自动部署到成千上万的CloudFlare节点中 …

Microbit 游戏编程: 不会吃胖的贪食蛇 (自带人工智能)

上周, 我们介绍了简单的人工智能, 让Microbit玩接苹果游戏 (Microbit 编程: 简易人工智能让电脑玩游戏). 这周, 我们将设计一个简易的贪食蛇游戏, 并且让电脑有AI自己能玩(对的, 让我们看它玩). 经典的贪食蛇游戏在手机洛基亚时代得到了推广, 当时还不是智能手机, 在黑白的像素点的小屏幕上贪食蛇游戏是最适合不过的了. 不过, 贪食蛇游戏一般会让你能按4个方向键, 很直觉的操作, 而这周, 我们将设计一个简易的贪食蛇游戏, 主要有下面两点: 我们这次的贪食蛇光吃不长胖, 也就是身体不会变长. 由于Microbit只有两个键 A 和 B, 我们需要将操作改成 A 向左, B向右. …

Microbit 编程: 奔跑的像素点

上周, 我们简单介绍了 Microbit 的编程基本知识, 我们介绍了 Javascript 的循环 (for, while), 这周, 我们将学习如何在 Microbit 的 LED 显示屏上编程. LED基本知识 LED是Microbit具有的微小”屏幕”. 它是一个25像素输出设备(5行5列). 我们将行称为Y轴, 列为X轴. 计算机通常从零开始而不是从1开始计数(索引). 因此, 左上角(第一像素)被称为X = 0, Y = 0, 第一像素第二行被称为X …