20200821去客户(某公安局)现场开发

Aug 25, 2020

记录最近去客户(某公安局)那做现场开发20200821

公司主力产品与客户内部系统脱钩,需要做一个中间层,我在公司做过一个类似的,于是我就肩负着该任务。

之前来过两次获取需要的数据材料,同事大佬顺路用小车带我去的,这周开始便是自己前往(自己小电驴)。

周一约好前往,下午两点半在大门等同事大佬(产品大哥),他们稍微慢一些到,太阳有点辣,手都嗮疼了。门口领牌客户对接人签字带进去。

上去后,由于他们开会,我和同事大佬等到了近5点。他们开完会,我说我要求的机器等,然后和客户部门大大佬打好招呼,说要装两个单机软件、和U盘复制文件需求: 要小心哦,别把那个专网服务器搞坏了。我小心翼翼的答应着。

5点半开始摸到了电脑:4G windows 7, 不能乱装软件,不能乱连网,否则报警的话,史上最快被抓的就是我了 – 右边大哥把手搭我肩上,就把俺抓了。接下来就是来回来回的拷贝文件,接下来的几天都是如此,且听接下来故事。

将其中一个软件安装,另一个软件联系公司同事发送来,拷贝(拷贝超级慢),稍微调整就已很晚,只能先回去。明早去公司多多做好准备,当前至少知道软件起不来,似乎数据库启动不起来。走时和对接民警说了相关需求,帮我将内存提升到16G,那就太好。

中午的时候遇到浦东哥们来这处理业务,晚饭一起去食堂吃。哇,超级实惠。一大荤一小荤一素一汤一饭9块,滴,内部证件。美滋滋。晚上搞到9点,回去回去,离住处好近,不错。

第二天到公司之后,赶紧拿公司几个相似的机子试验起来,包括软件许可这关,幸好早晨可以过来试验,省去了到那边之后各种交流不畅、无法相关测试问题。客户那边说,内存只能提高到8G。也行,应该OK。下午又自己屁颠屁颠开着自己的电驴过去了。

到了之后,把早上得到所得经验用上: 许可安装 - 成功;mongo本地启动 - 启动被链接成功。开心啊,马上就要到输入数据了,有点激动,第一次用这个软件,有点生疏,数据进去了,开心。咦,主题生成了,但是,数据包没有?没关系,公司同事说,没事,淡定,少了某个数据库,没事,整起。那,那就整起吧。哦吼,连接专网程序,成功!!!

咦,但是,为什么任务跑发现没有下载到包?我就是来整合包的,难道某个数据库同样很重要?同事之前说了没事的啊???

今天折腾一天了: 解决其中各种各样麻烦、测试数据等等。。。

晚上又是和浦东哥们吃饭,因为昨天同事没搞好,浦东哥们又被喊过来了。今天两大荤一小荤一汤一饭10块,滴,内部证件。晚上又遇到问题,解决不了,搞了搞会就回住处了。

第三天,其实是周三,早上又来公司,和周二一样,一早就有各种问题(其他项目的问题)。东搞搞西搞搞,同事说去下个符合windows7 的neo4j 数据库。我觉得现场设备配置清晰,去那边下吧,似乎网络很快哟。去了之后,没想到网络好慢好慢,求助同事。老大帮我下好了该数据库。我想了想,要不看看那个单机软件自带的数据库为啥就启动不起来,terminal 看了之后原来是有个文件路径不对,和csdn 一篇文章相同问题,修改就运行成功了。美滋滋。现在再次上传一个案子之后,果然和昨天不一样,心里开心啊。

全部数据都齐全之后,这回是真全了,我也就接触这个系统一两天。东西一跑,咦,下载包有问题,先绕过这个吧,回去看,这个好实现。直接到上传包,奇怪,我怎么都上传不上去。各种各样的方案,使出十八般武艺,把他的源码脚本都艹出来,就是失败,就返回status200,,即使对比该系统真实手动上传相同包的情况,其他基本相同就是上传不了。

当前就知道Content-length 与他不同;form-data boundary 的md5 也不同。

时间已经很晚了,今天浦东同事没来,人不熟,没借警官卡,没法滴滴滴了。先搞把,说不定就好了?-_-

晚上还是想不出来问题,和同事、老大想想对策。老大推荐wireshark 把进出数据对比出来。我把数据拿到。得,10点半了。饿,下午4点就开始开始饿了。

先回去吃,吃麻辣烫要的微辣,该死,吃起来好辣,,,吃完11点半,家里跪地上趴在床上玩了下手机就0点,赶紧洗洗屁屁睡觉。

第四天,早上又是忙别的事,顺便好好分析了下昨天搞到的数据样本。中午终于知道wireshark 怎么用,对比了下,其估计是为老项目,文件 type 为application/zip 格式,我传输的一直是octet-stream. 当前猜测是文件类型不支持,自己的传输方式试了好多次,都是OK的。

简单的,才是最难的。简单的,做出来难,对于想操作,如果遇到了某种原因导致失败,那就更毫无头绪。

之前在浏览器中没有任何报错,status 200. 所以我心底才会想简单的,才是最难的

今天搞了搞,就已经很晚了,不能过去了。明天来吧,希望明天会有好运!

周五早上和老大交流,不同点有两个,一个是application/zip 的文件type,一个是上传文件field 在ajax加载时被转换为另一个。中午过去先试了修改文件type,没用,心里着急啊,只剩最后一个方案,最后一个也失败真完蛋。但是想了想,其又未对系统做什么超级难设置,肯定能成功这次。果然,field 改为抓包看到的终于成功。哇,内心超级激动,哇卡卡卡卡。

这几天来来回回小房间拷贝文件,然后到工作测试那台机器复制后运行。工具代码执行编译、复制拷贝;一些工具包拷贝;案件内容拷贝;拷贝拷贝拷贝, 小心的拷贝。拷贝文件是最慢的,3kb/s

记录修改操作

  1. mongodb 需要使用另一个包,3.4那个包

执行语句: D:\1xx\mongodb\bin $mongod –dbpath “D:\1xx\mongodb\data”

此时mongodb 直接就建立起来,并可以连接了。

  1. neo4j 中出现 Import-Module: 未能加载指定的模块"\Neo4j-Management.psd1"

更改neo4j.ps1 文件里Import-Module "$PSScriptRoot\Neo4j-Management.psd1" 为绝对路径

该文件就是neo4j 中的 Neo4j-Management.psd1 文件

执行语句: C:\Users\xxx\AppData\Local\Honglian\WebTrace\database\Neo4j\bin\neo4j.bat console

遇到FormData 上传文件, multer 没有响应

后端用multer 中间件,frontend上传文件:

1
2
3
4
const formData = new FormData()
formData.append("file", new Blob([html], { type: "text/html" }))
formData.append("otherField", JSON.stringify(largeJSON_object)) // vary large json object
axios.post(url, formData)

这时出现时不时能上传成功或失败,没有任何规律。想了一晚没想出来。

隔天早上在multer issues 里面看到原因: 需要把上传的文件放到最后才解决了问题。