github.com 提速(下载及clone, 树莓派等)
亲测有效
sudo vi /etc/hosts
151.101.72.249 github.global.ssl.fastly.net
192.30.255.112 github.com
亲测有效
sudo vi /etc/hosts
151.101.72.249 github.global.ssl.fastly.net
192.30.255.112 github.com
朋友求助,他儿子停学不停课家长在家要监督上网课,容易错过上课签到。找来了个python的课程表导入工具问我怎么整。(链接文末)。
我看了下,要自己整理excel模板,还得手动编辑json文件,又要py环境。对文科生确实不太友善的样子。
我想既然目的是生成一个可以导入outlook日历/google日历/ios日历的 ics文件,我直接看看源码是个什么结构语法吧。
py代码片段
def icsCreateAndSave():
icsString = "BEGIN:VCALENDAR\nMETHOD:PUBLISH\nVERSION:2.0\nX-WR-CALNAME:课程表\nPRODID:-//Apple Inc.//Mac OS X 10.12//EN\nX-APPLE-CALENDAR-COLOR:#FC4208\nX-WR-TIMEZONE:Asia/Shanghai\nCALSCALE:GREGORIAN\nBEGIN:VTIMEZONE\nTZID:Asia/Shanghai\nBEGIN:STANDARD\nTZOFFSETFROM:+0900\nRRULE:FREQ=YEARLY;UNTIL=19910914T150000Z;BYMONTH=9;BYDAY=3SU\nDTSTART:19890917T000000\nTZNAME:GMT+8\nTZOFFSETTO:+0800\nEND:STANDARD\nBEGIN:DAYLIGHT\nTZOFFSETFROM:+0800\nDTSTART:19910414T000000\nTZNAME:GMT+8\nTZOFFSETTO:+0900\nRDATE:19910414T000000\nEND:DAYLIGHT\nEND:VTIMEZONE\n"
global classTimeList, DONE_ALARMUID, DONE_UnitUID
eventString = ""
for classInfo in classInfoList :
i = int(classInfo["classTime"]-1)
className = classInfo["className"]+"|"+classTimeList[i]["name"]+"|"+classInfo["classroom"]
endTime = classTimeList[i]["endTime"]
startTime = classTimeList[i]["startTime"]
index = 0
for date in classInfo["date"]:
eventString = eventString+"BEGIN:VEVENT\nCREATED:"+classInfo["CREATED"]
eventString = eventString+"\nUID:"+classInfo["UID"][index]
eventString = eventString+"\nDTEND;TZID=Asia/Shanghai:"+date+"T"+endTime
eventString = eventString+"00\nTRANSP:OPAQUE\nX-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC\nSUMMARY:"+className
eventString = eventString+"\nDTSTART;TZID=Asia/Shanghai:"+date+"T"+startTime+"00"
eventString = eventString+"\nDTSTAMP:"+DONE_CreatedTime
eventString = eventString+"\nSEQUENCE:0\nBEGIN:VALARM\nX-WR-ALARMUID:"+DONE_ALARMUID
eventString = eventString+"\nUID:"+DONE_UnitUID
eventString = eventString+"\nTRIGGER:"+DONE_reminder
eventString = eventString+"\nDESCRIPTION:事件提醒\nACTION:DISPLAY\nEND:VALARM\nEND:VEVENT\n"
index += 1
icsString = icsString + eventString + "END:VCALENDAR"
竟然不是json也不是xml。BEGIN:VCALENDAR
这格式好眼熟,和10多年前我做二维码名片的时候那个VCARD
协议很像,经过一番搜索,果然!
那就自己做一个网页版的好了!
最终成品如下:
https://gen8.orz.com.cn/beta/classtab/
用法:
设定一周的课程安排、
设置提前提醒的时间、
设置提醒的截止日期(不设置会永远每周循环下去),
点生成,就能到一个ics文件
在iphone/ipad/win10的outlook/部分安卓手机 上打开ics文件(或浏览器下载)
即可把日程导入到日历,可以随时查看和得到提醒。
作为变体,也适用于 周例行工作提醒、电视节目(追番)表、健身计划 提醒。
以下是实现的原理结构,前端细节就不po了,源码打包了可以下载自行研究
20年前构思过想要实现的这个东西,当时刻录盘太多了,需要找到某个东西很难。如今我把东西都往仓库硬盘里塞,逐渐硬盘数量也多起来。想找部旧电影来重温太麻烦,反复插拔了几个盘都没找到。
不能忍,用1小时把代码写了顺便把全部硬盘里的主要文件做了索引。
当年没有这个技术,现在用python+php+mysql实现起来相当简单的样子。
也不知道是技术变得平易近人还是我变厉害了..
无意间找到一个python 的微信库,授权后可以实现微信机器人
试用发现原理是模拟web版微信。可惜2019-7月微信已经砍掉了web版,所以这整个库已经作古。
君生我未生我生君已老
有那味了..
不说不能说的,仅备忘网上能搜到的教程的一些遗漏点。
路径 Compute Engine
-> VM实例
在secure上创建公钥,选rsa openssh格式(或普通格式再转换也行),需要对key加密,记住密码
在 Compute Engine
-> 元数据
-> SSH秘钥
中添加秘钥。格式为
ssh-rsa <value of key> <username>
ssh2 用 上一步的 username 登录,按提示输入第1步的公钥密码。
ssh登录上后
sudo su -
*安全起见建议不要端口全开应按照自己的服务需求设置,下面这个范例只是我偷懒
控制台上搜搜 VPC
VPC网络
-> 防火墙规则
-> 创建防火墙规则
0.0.0.0/0
网络中的所有实例
(免配置), 或 指定的目标标记
命名后,后续配置 VM实例 选中添加该规则入站
允许
貌似这个应该先说。创建VM实例选台湾或香港机房,随机分配获得的 IP 先不要使用,从本地ping 其IP,选延时丢包少的使用。
如数值不理想删掉 VM实例即可。不扣费。