6/17 今天开始完成上周的想法。我并没有api能获取北大附的全部课程信息,于是我采用了一种新的办法,每绑定一个学号,就获取他的全部课程,分词并动态更新词库,这样既可以达到效果又可以不影响用户体验。分词我使用jieba库,将一个句子不断细分得到所有可能的词组,维护一个txt文件作为识别词库,我不用SQL的原因是sql那该死的缓存机制,一次修改后必须要重启程序才能重新读入,加上我这个是单键搜索,就直接采用了轻量化易编辑的文本文档。然后我就可以通过词库在client内从一个长并包含无用文本字符串里获取其filter,如“东西方文化简史什么时候”中的filter是“东”“西方”“文化”“简史”,我再从该学生的课表里查找可以全部满足这个filter的课程,输出就可以了。

6/18 最近服务器有个问题,就是经常自动关机,而且是只有我的虚拟主机才自动关机,昨天我写代码的时候就出现了两次写着代码就关机的情况,好在我保存了,起初我只把它当做一个突发情况,直到昨天晚上服务器又关机了,导致XiaoHu的服务中断了12个小时。第二天毛老师重启后猜测是winServer许可过期了,于是中午他为服务器增加了180天的许可,XiaoHu就没有再次出现这种问题。今天我还优化了学科查询的语料。

6/19 今天准备给XiaoHu增加一个识别语音消息的功能,步骤很简单,拿到语音文件,交给api识别成文字,然后交给消息主函数。获得语音文件要先获得微信的access_token,发get请求。在写这个的过程中我还突然顿悟到之前出现过的XiaoHu查课功能崩溃的原因是不是因为希悦的accesstoken过期,结果果然如此,我增加了一个记录上次get时间的变量,每次使用token时把这个变量和当前时间对比一下,如果超过保质期就重新获取,于是我也就顺便修复了一个重大bug。希悦的token保质期24小时,微信的token保质期2小时,不过又出现了另一个困难,就是微信的access_token有一个ip白名单,不在这个白名单内的ip发get请求会出现报错,然而学校服务器没有外网ip,每次路由器发出去的ip都是在一定范围内变化的,我根本无法通过这个服务器获取到token,也就无法获得语音文件了。我的另一个想法是把这些代码放到我运行在外网的nodejs转发器程序里,每次公众号程序向转发程序发请求,转发程序获取token后返回给公众号程序,虽是可行,但是需要编写的代码量太大,还不能保证效率,可能丢包。我没有采用这种方法,而是找毛老师问他能不能让路由器不要使服务器ip改变,这样就可以用之前的思路写了,他说回去问网管。今天还添加了一个功能使一个微信用户可以重复绑定不同学号,其实是某微信号绑定一个新学号后会自动删除其之前的学号记录。在之前我的数据库程序会自动读取数据库里的最后一行符合要求的信息,所以一个微信号会存在绑定多个学号的记录,但是生效的是绑定的最晚的那个,所以我不用做出过多的处理去处理那些冗余的数据,但是这两天它的机制变成了读取最前的那个记录,为了保持效果,我在代码中加入了加入记录前删除该微信id的所有记录的语句。有些时候不应该为了方便就把一些功能将就过去,当不可控因素改变时可能会造成一些严重的后果。

XiaoHu日志 6/17~6/19相关推荐

  1. XiaoHu日志 4/17

    4/17 今天打算把小虎的聊天记录数据库改成MySQL,因为XML格式虽然技术层面上已经解决,但是xml本身并不是一种好的存储数据的方式,而且在高频率的读写下会出现问题,比如多存一些字符.这导致在一次 ...

  2. 西安电子地图下载 来自谷歌电子地图库 地图展示15、17、19级

    西安电子地图下载 来自谷歌电子地图库 地图展示15.17.19级 一般来说商业用图几乎相同就是17级左右,提供的下载全然满足大多数人浏览使用,假设用于旅行外出当然级数越高越好,假设是驴行,那就更有必要 ...

  3. 你需要了解的 C++ 17 Top 19 新特性(附精彩评论)

    什么是 C++17? C++17(或 C++1z)是继 C++14 之后 C++ 编程语言 ISO/IEC 标准的下一次修订的非正式名称.C++17 现在功能已齐全,正在成为国际标准的路上.它的规范已 ...

  4. 广州电子地图下载 来自谷歌电子地图库 地图展示15、17、19级

    广州电子地图下载 来自谷歌电子地图库 地图展示15.17.19级 一般来说商业用图差不多就是17级左右,提供的下载完全满足大多数人浏览使用,如果用于旅行外出当然级数越高越好,如果是驴行,那就更有必要下 ...

  5. 黑马程序员 一步一步往上爬 学习毕老师java视频第17,18,19天

    ---------------------- <a href="http://edu.csdn.net/heima" target="blank"> ...

  6. 北京电子地图 谷歌-百度-高清-搜狗电子地图 地图14、17、19级图片

    北京电子地图  谷歌-百度-高清-搜狗电子地图 地图14.17.19级图片 一般来说,互联网的地图网站,包括一些官方软件.手机软件等,均能浏览地址资源,但是不能够下载地图,特别是一些大型地图.高质量卫 ...

  7. 杭州电子地图 高清15、17、19级别 谷歌电子地图资源

    杭州电子地图.下载与谷歌电子地图库.最高级别19级.商用级别17级别.预览图为15.17.19级别,百度网盘打开下载,假设须要很多其它电子地图请下载专业谷歌电子地图下载器. 百度网盘下载资源:http ...

  8. XiaoHu日志 9/7~9/17

    9/7~9/17 这几天我把过评查询的功能调试得可以投入使用了.我计划在这几天把XiaoHu搞出一个版本,并在学校范围作宣传.在做宣传之前我需要先解决身份认证的问题,如果不搞验证,那么任何人都可以查别 ...

  9. XiaoHu日志 4/24~5/22

    4/24 开始调试摄像头,这个摄像头需要网线和充电线,所以如果要挂在教室里还需要把两根线引上去.第一次调试成功,激活了摄像头,设置了它的ip,可以从网络上看到摄像头的景象,下一步就是搞rtsp协议.但 ...

最新文章

  1. ETSI GS MEC 011,Edge Platform Application Enablement API
  2. python画折线图详解-利用python画出折线图
  3. systypes的详解
  4. 局域网内其他电脑通过SSH访问NAT模式下的虚拟机
  5. QT的QLineSeries类的使用
  6. 从Adobe Photoshop CC 2018的“新建Web”看Web网页常见分辨率
  7. es6 --- Thunk函数的作用
  8. 程序员面试金典 - 面试题 16.26. 计算器(栈)
  9. 时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone) -- IOS(实例)
  10. 关于ShowModalDialog数据缓存的清除
  11. 实现系统菜单的两种方式
  12. C语言(二)C语言程序结构及简单的C程序举例
  13. 明月传说怎么在电脑上玩 明月传说电脑版玩法攻略
  14. 计算机一寸照编辑教程,超简单的一寸照制作及排版教程,再也不花冤枉钱!
  15. word自带公式编辑_怎么在Word上编辑数学公式?教你一招
  16. java计算机毕业设计直播购物平台源码+数据库+系统+lw文档
  17. do sb suggest to_suggest_suggest to do 和 suggest doing 的区别
  18. html中咋样上传照片,如何通过html上传照片(自定义上传图标)
  19. java 某字段重复的数据库,excel表格两个字段去重复的数据库【用JAVA程序向SQL数据库导入Excel表,判断出SQL表中已存在的重复数据,并跳过重复的继续导入其他记录.】...
  20. 2022年8月止,国外最佳游戏榜出炉

热门文章

  1. 面向对象之:三大特性:继承(已讲),封装,多态
  2. 墨客科普---MOAC分层分片技术
  3. 计算机同S7-300PLC通讯,S7-300PLC主站之间的PROFIBUS-DP通讯详解
  4. Mask RcNN论文翻译
  5. 博创联动陶伟:农业机器人难做在哪儿?
  6. win7安装linux子系统,linux系统装win7系统安装教程【图文教程】
  7. 安卓设置热点ssid和密码
  8. ImportError: cannot import name ‘xxx‘ from ‘xxx‘
  9. 计算机网络安全(清华大学出版社)
  10. 微信小程序云开发|个人博客小程序