2020.07.05
黑色周末,今天从早上九点加班到晚上十二点,极其离谱,中间除了两顿饭一个午觉就是马不停蹄地在赶,十一点半还没到我就已经困得不行了,zkz跟我说她烧了个水,三分钟睡着三次,实在是太伤了。
临近结项确实也没有办法,一期快结项的时候差不多也是这样,本来打算在七月上旬离职,现在显然是已经无路可退了。
但愿熬过下周五天能顺利结项。晚安。
2020.07.02
项目延期,得多熬一周了。
科大讯飞开放的免费试用手写识别三个月10W次服务量,实在是良心,我的建行云宠物OCR脚本基本已经完成了,抽空记录一下
2020.06.30
补完《花开伊吕波》,PA社的作品也许只看过《TARI TARI》和花开物语,给人的感觉就是再小的故事也能写得细致,再宏大的格局也能丝滑流畅。总之花开伊吕波无愧为神作,和被奉为经典的《白色相簿2》相比,花开物语应该是全方位的碾压。
相比于芳文社大都是没有剧情的百合日常,京都动画的精美画风,优雅展开与收尾;PA社兼具两者之长,画风优雅,对主角与配角乃至龙套角色的绘制都是极其优美,日常的剧情中却能对每个人物的进行鲜明细致地刻画,推动引人深思展开,观看过程往往很轻松,结束后却有总会有沉重的共鸣。
PS:今日操作系统的网课听完,预备知识补充了一下,接下来正式进军Linux。不过近期准备抽空做个OCR任务,关于建行网上银行里的那个云宠物输数字的脚本。
2020.06.29
人的本性就是喜欢对别人,尤其是年龄相对接近,的事情津津乐道。fym事件不置可否,没有了解到全部的真相就无权做任何评论,何况上升到学校。
IPM最后一周想必不会很好过,昨天就遇到很多恶心的问题。
pyspark后处理引出的另一个问题就是无法在逻辑处理部分进行try except的异常抛出,因为后处理时所有逻辑是一个整体,不能只对局部异常进行抛出。
今日又一个未解之谜,节前写的一个函数没有报错,现在运行会报错,排查后又是一处join后的结果不能display,大概是遇到了和之前相似的问题。然后整了半天搞不明白哪里不行,阴差阳错的把这个左连接改写成右连接就跑通了
以后能不写pyspark就不写pyspark,如果能重来一次,我一定好好学java。垃圾pyspark毁我时间。
可是这次还是没有彻底搞明白这个问题,下次再碰到可咋整。。。。。。。。。
2020.06.27
在学校呆了40天不到,昨天回来继续按照原来的四公里路线跑步,发现竟然连1.5公里都坚持不到就不行了。心想也许是昨天走了背着大包小包走了一天路脚酸的不行,而且昨晚也很热,板鞋弹性也不好,跑了不到一公里就脱水了。
今天下午午觉后趁雨停,换了双好点的鞋子又去跑了一遍,结果毫无长进。硬撑着断断续续跑了2.5公里。
花了近四个月才练出的耐力,虽然在学校训练量很少,每天只做三分钟平板支撑和1200下的高抬腿,只有周末不加班才会去操场跑几圈,结果回来立刻打回原型,实在是太真实了唉。没办法,只好从头练起了,希望月底前能恢复到两公里以上的水平。
PS:才想起来前几天yc跟我说SOE又有一个大瓜,我不看朋友圈也没在意,今天在学校微博下面的评论中看到一堆小三,还有很多污秽不堪的言语,一一举报了之后才想起来还有这件事。
想着上次的qfs还没过多久,到底是哪个神仙又来搞事情。用cc的号查了查fym的信息,绩点不高,毕业论文一塌糊涂,也许是个学生会主席吧(我哪知道)。一个个四年里本事没学到多少,拼了命的想往券商四大里钻,但凡多学点技术不至于动这些歪脑筋。
人各有志,追求不同,又有什么好说的呢?
顺带发现居然可以查到每个人的毕业论文题目,查了几个,ss写的图神经网络在信贷风控的用途(居然也写了95分,确实厉害,GNN这块应该是将来Deep Learning的一大研究热点,因为GNN是可以有推理能力的),两个会计的同学写的都是我看不懂的题目...,金融的lth写的倒还正常,离谱的是sxy居然写的猪肉价格和生猪的关系(这是怎么想到要写这个话题的[汗])。
2020.06.26
如果顺利的话下周IPM结项,实习告一段落。暑假最好能达到熟练使用Linux的水平,不管怎么说,走软工的路就得在技术上面面俱到了。
2020.06.24
@echo off
echo 请勿关闭本窗口
echo 正在清除系统垃圾文件...
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp & md %windir%\temp
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q %systempdrive%\*._mp
del /f /s /q %windir%\*.bak
del /f /s /q %systempdrive%\*.log
del /f /s /q %systempdrive%\*.gid
del /f /s /q %systempdrive%\*.chk
del /f /s /q %systempdrive%\*.old
del /f /s /q %systempdrive%\recycled\*.*
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q %userprofile%\recent\*.*
echo 清除系统垃圾完成
pause >nul
准备等到最后一天再走,大概明晚楼里就只有我一个人了。
hy也许还是会选择KP,实话说本科毕业就能找个KP的咨询岗,如果没什么学术追求还读什么研。我一直觉得投研这行华而不实,总不如会计师事务所来得实在。
数了数自己的行李,寄存一个箱子,一个行李袋,一袋被子;自己带走一个箱子,一个书包,还真是轻装简行。
至少走的时候还是学生的心态,以后大概再没有这么轻松的心情了。
一如既往的悲观
2020.06.23
DDL确实永远是第一生产力,数据部分延期了整整两周,算法部分zkz竟然给硬生生的给拽回来了。
取证宣告毕业。
2020.06.21
DOS指令之Ping
# Ping命令
1. ping www.baidu.com
- 通过结果中的TTL可以看出服务器系统
- 可以看出百度服务器的IP地址
2. ping自己的网关
- ping 192.168.1.1
3. ping -t www.baidu.com
- 连续不停的ping百度
4. ping -n www.baidu.com
- 返回的数据包大小
5. ping -l www.baidu.com
- 限制发送缓冲区的大小(设小就会多发几次包)
6. ping -a 192.168.1.7
- 通过ping IP地址获取主机地址(比如返回CaoYang)
'''
所有的ping指令
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何
影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
'''
好颓废,每次快离校就做不成任何事情,除了玩。
2020.06.20
开始学习DOS指令,没有什么特别系统的教程,只好学一点是一点。下午zkz 1V1 聪哥,又整出一堆问题,搞不好明天还得加班。
# 内部命令与外部命令
1. wget: 可以用于下载URL对应的资源
2. @echo off: 关闭回显(即命令行自身的显示功能)
3. @echo %<变量名>%: 输出变量名
4. 常规的bat写法
'''
@echo off
...
pause
'''
5. 注释:
- rem <注释内容>
- :: <注释内容>
6. 退出命令行: exit
晚饭后照例想去操场跑几圈,发现操场到处都是毕业生穿着学士服、硕士服在拍照留恋,恨而离去。
hy考研失利去了北京中银,yc跟着朋友去创业,剩下我cy和yy还能再坚守几年校园生活,大约硕士还会是室友,到时候至少也是七年同寝,算是一段机缘了。
三个室友里我与yc相知最深,彼此对对方的过去都十分了解,不同于hy和yy,我们都是感情上的loser,也许正是如此才会彼此相惜。
我与hy最能谈得来,我们兴趣相投,同为江沪一带的人,教育背景也较为相似,最重要的是热爱编程技术,对代码有很强的偏执,相对于GPA则较为随缘,能考多少是多少,他运气差些,没有能像我一样擦着边拿到推免资格。
意外的是yy是四年里与我相关最为紧密的人,我们合作参加了美赛,国赛和计赛,都取得了不错的成绩,彼此对对方的实力都是认可的,而且也都成功推免,按理说我和yy应该是关系最好的人。但是yy为人豪放,交际广泛,常常夜不归宿,醉酒而归,最终还以专业前三的成绩毕业,确实是个传奇人物。而我很难融入他的圈子,更多的时候我们是共事者,而不轻易去交心。
hy yy 和我都算是院里的硬实力派,也许也是这种寝室氛围,我们三人才能都在毕设优秀率不足7%的情况下取得了90+的评定,只可惜今年不评选优秀毕业设计,真是白瞎了我整这么高的分数。
但不管怎么样,现在只剩我和yy,hy与yc大约再也不会回来了。hy临走前说他的青春结束了,不管怎么说考研失利对一个人的打击实在是很大很大,虽然中银给他开了满算20W的薪资,但是他一个上海人去北京工作实在是很不划算的事情,但愿他一个上海人能在北京有好的前程,毕竟三年或多年后我也将面临同样的抉择。
五天后我也将离开,不同于高中毕业,那时候最后一场考完就赶着去南京的火车参加自招考试,尔后又来到现在的学校参加自招。一切都急匆匆,等一切都结束也就没有了感伤。而现在我将一个人坚守在宿舍直到最后一天,我没有穿学士服,也没有拍毕业照,甚至没有按学校要求上传照片合成3D纪念照片。我总觉得并没有什么值得留念的,不管怎么说四年留给我的更多是遗恨,我也确实没有做到令人满意的程度,就这么悄无声息的离开,也罢。
2020.06.17
连续两日肝到两点,zkz表示今日必须是健康日,不加班。直到今天我才知道zkz是斯坦福毕业,只比我大四岁的话还工作了这么久大概是硕士毕业,不过同为斯坦福硕士的sgj都做到VP了,zkz咋还是个AE... 不过不管怎么说还是tql...
今天在写表连接的时候跟yy聊了几句,结果写成了表跟自己连接,一运行发现错了,赶紧想关闭jupyter,可惜已经来不及了,直接死机动不了,忍痛扒线。这个故事告诉我们写代码时一定不能分心。
今晚KOF13战绩斐然,居然五战三胜,两次遇到比我还菜的菜鸡,非常满足。
2020.06.16
昨晚遇到的pyspark两个坑点
今天新遇到的一个神坑:
在本地我生成一份带有date/timestamp类型字段的parquet,然后我将它上传到MARS的datalake中,在MARS的Azure平台的databricks使用pyspark读取该parquet文件,结果惊奇的发现所有的日期数据都向前移动了8个小时!
目前可能的原因有以下三个:
这个坑最恶心的地方是不管是timestamp还是date格式都会受影响,即便是date,也会自动给你转成timestamp变成yyyy-mm-dd 16:00:00,目前认为只能以字符串保存是最为妥当的,可是显然字符串要比时间戳占用更大的空间,而且极其愚蠢。
今日POST
KOF13 等级匹配取得4胜,代价是输了60多把了。不得不说打AI永远不能理解升龙的重要性,AI永远不会压起身。
中途有一局用火舞恶心了一把对手穿三,顿时信心大增,然后接下来把把用火舞,结果各种倒地被馆长八神压的起不了身,下C又不能防空,确实是性能太low了。麦卓也是,抢空都很强,就是抗压太差了。
2020.06.15
最早的密钥交换算法是一个本科生毕业设计的作品,可惜当时他的导师并没有意识到这个算法划时代的意义。
密码学基本过了一遍了,之后准备抽空把dos指令学一下。
# 密钥交换
## 可信任的第三方(TTP)
1. 密钥管理:
- 问题: n个用户, 彼此间都存储密钥是很困难的(要存储C(n,2)个), 如果有公钥只要一个就可以了, 每个用户都要存储n-1个密钥
- 这时候引入可信任的第三方, 让第三方来管理所有人的私钥就好了
- 每当两个人想要通信, 第三方会用他们各自的私钥加密一份共享密钥给彼此, 实现密钥共享
- 这种机制只对窃听安全, 但是对Active攻击不安全
- 我们能否设计出对于窃听和主动攻击都安全的?
+ 进一步的我们能否摆脱第三方TTP
+
## Merkle's Puzzle
- A给B发送2^32个puzzle, B随机挑选一个puzzle, 得到里面的密钥, 将剩下的发回给A, A知道了B选择了哪个puzzle中的密钥, 完成交换
- 攻击者需要整整花费2^64次才能破解这个puzzle(而A和B的工作都是2^32次, A需要准备n个puzzle, B需要解密其中一个puzzle)
- 攻击者需要花费通信者平方倍的时间: 平方鸿沟
+ 问题: 我们是否能做到比平方鸿沟更大的gap
+ 事实上分组密码不能提高这个gap
## Diffle-Hellman协议
- 指数鸿沟
- 对称密码无法做到, 需要更高级的函数: 代数
+ 选择一个大质数p和g(1<=g<=p), 构成参数
+ A选择一个a(1<=g
PS:S留长发了...
2020.06.14
关于pyspark中较为advance的join写法
# 5. 将4中得到的结果与unit_dict连接得到: 目的
join = [(stock_tab1["sku_id"]==unit_dict["sku_id"])&(stock_tab1["unit"]==unit_dict["unit_from"])]
stock_tab2 = stock_tab1.alias("table_a")\
.join(unit_dict.alias("table_b"),join,"left")\
.selectExpr(["table_a.*","denom","numer"]) # 连接完后取stock_tab1表的所有字段与denom和numer
stock_tab3 = stock_tab2.withColumn("qty_EA",F.col("qty")*F.col("denom")/F.col("numer"))
其实我还是不建议这么写,因为这样还是会发生列的重复,即便已经指定了选择哪些列。
今日POST
早起加到下午三点,接着睡又没睡着,好伤。
但愿接下来IT入场,不会再有很多事情了,能跟着去学点系统部署的经验就好了,可惜这块完全小白,去了也估计帮不上忙。
学点新东西吧。
PS:今天终于完成零的突破,遇事不决凹升龙~
2020.06.13
寻常传奇 · 水上诗
2020.06.12
七月结项准备回家养老,再这么下去我可能就见不到开学的太阳了。
2020.06.09
吐了,准备写篇博客记录一下pyspark令人匪夷所思的BUG。听前辈说pyspark确实有很多坑,我是没想到已经到了不讲道理的程度,一个正则替换的BUG直接成了世界未解之谜了。我知道现在的世道不是很讲道理,正则也不讲道理么?!
2020.06.08
100件事只做到了40件,果然是个假的SUFE人。
今天第一次遇到pyspark里的表的循环连接出现的报错,是真的给跪了。不管多少行的spark代码生成的表,实际编译都是一行,所以很容易发生循环连接的问题,关键是报了错只会告诉你java编译时在哪里出错了,又对不到python代码在哪一行,只能一行一行的运行去排错。
现在的经验是如果发生了循环连接,报的错一定又臭又长,下面的截图就是报错,我可以负责任的说,在这张截图下面还有两倍于这个截图长度的报错,我是真的日了。
2020.06.07
正则在数据库这一块确实太关键了,写udf实在是下下之策,可惜没有什么系统性的教程,很多只是零碎的知识点,只能靠经验的堆积才能达到精通的程度吗?
预感下周会是很艰苦的一周,必须全力以赴地肝了,可是还有至少整整四周才能结项,以现在的进度大概率是要延期,总结还是需求调研和业务调研不够详细,但是确实也很难一次就能把所有细节都兼顾到,与现实只是很细微的差别,哪怕只是经验上的差距,都很难靠算法来弥补。
一件趣事:
葛冬冬的COPT求解器终于大成,继LEAF求解器后又一力作。目前已经是国内第一个OR方向的COPT求解器,公司内部宣称是已经达到商用级别,在国际上在求解速度也超过了目前主流的cplex, gruby等求解器,求解器组的大佬确实是NB,也算是我们学院内部的一个顶尖成果。
前几天在公司群里群策群力求推荐一个中文名,gdd表示谁的建议最总被采纳公司直接奖励2kRMB,gdd自己也会额外赠送一份不低于公司奖励的礼品,然后群里各种什么“达摩克里斯之剑”、“朗基努斯之抢”、“赫尔墨斯之履”、“飞雷神”、“使徒18号”、“帝江”、“逐日之箭”、“男朋友求解器”,上至山海经图,上古神兽;下至北欧神话,热血日漫;总之又快又霸气就对了。
2020.06.06
pyspark与sql相关总结(1):正则替换
正则表达式:
SELECT REGEXP_REPLACE(
'Ellen Hildi Smith',
'(.*) (.*) (.*)', '\3, \1 \2') # 交换顺序
df1 = df.select(F.regexp_replace("group_id","^0*","").alias("group_id_new")) 删除group_id前方的若干个零
苦逼周末继续加班,wjs跑去做小米的项目,zkz让我把MARS的Azure上面他之前写的pyspark代码全部重构一遍,我日。
早起,然后下午睡了整整三小时,是真的困毙了。晚上出去搞了一顿,回头看操场还开放就去跑了5圈,虽然现在每天只是在宿舍里锻炼,体能相比之前在家也没下降太多。主要吃撑了,肚子跑得有点疼。
最近有些颓唐,看到很多优秀的人的事。找了部芳文社的番(A CHANNEL)来解闷,不得不说芳文社实在是太棒了。
2020.06.05
逃不过的pyspark,如果能重来我一定好好学SQL,什么数据处理都是浮云,学好数据库才是啥都不怕的王道。
2020.06.04
pyspark的dataframe转pandas可能出的一个问题:
timestamp类型的pyspark字段是不能直接转为pandas的,需要先astype("date")才能转
昨夜搞到一点半终于彻底搞清楚了CBC翻转字节攻击与这类攻击中著名的padding oracle攻击,惊叹不已,特别想在门户的登录系统上试试,不过padding oracle需要请求的次数实在是太多了,不借助先进的爬虫伪装技巧很难做到完美破解。由此特别想涉足CTF,结果发现windows根本装不了pwn包,这只能在linux系统上用,找到的代码一个都测试不了,真是太扫兴了。
然后临睡前看了看群里zkz, wq, ltt还在挑灯夜战,zkz是傍晚时让我交出我手头的代码,别跟着一起熬了。今天早上八点钟zkz又开始在群里发布文档,我是真的看傻了。
PS:
—— 夜色温柔
—— 夜色婉柔否?乃觅婉柔之人矣!
2020.06.02
今天试图破解公司的文件加密算法,然后就意识到自己真的是不自量力的很,无论是设计加密算法还是破译密钥真的都是绝顶聪明的人才能做的事情。
唯一的发现是这个文件加密算法是随机加密,然后加密后的文档里开头是固定的一串用于识别的字节,后面是在一串十六进制的字节间加入了很多类似噪声的字符,以至于无法用常规方法解码。总之既没搞清楚这个算法的逻辑是什么,也没能找得出密钥(我一直坚信既然是随机加密,而且每次加密完文件都一致的增大了8kb,那么密钥一定是藏在文件了,否则凭什么在我电脑上加密完的文件公司其他人也能在装了加解密客户端的计算机上查看),然后就一个劲地在做CPA(选择明文攻击),试图用小学生级别的找规律破解密码,实在是太可笑了。。。
明天要展示结果,7点多了谦哥和甜姐还困死在数据源上,今天我怕不也得通宵了【汗】
2020.06.01
# 使用分组密码
分组密码,也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组。
序列密码,也叫流加密(stream cyphers),一次加密明文中的一个位。是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。
分组加密算法中,有
> ECB电码本模式
> 1.简单,有利于并行计算,误差不会被传送;
> 2.不能隐藏明文的模式;
> repetitions in message may show in cipher text/在密文中出现明文消息的重复
> 3.可能对明文进行主动攻击;
> 加密消息块相互独立成为被攻击的弱点/weakness due to encrypted message blocks being independent
> CBC密文组链接
> 首先将数据按照8个字节一组进行分组得到D1D2......Dn(若数据不是8的整数倍,用指定的PADDING数据补位)
> 第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零)
> 第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C2
> 之后的数据以此类推,得到Cn
> 按顺序连为C1C2C3......Cn即为加密结果。
解密是加密的逆过程,步骤如下:
> 首先将数据按照8个字节一组进行分组得到C1C2C3......Cn
> 将第一组数据进行解密后与初始化向量I进行异或得到第一组明文D1(注意:一定是先解密再异或)
> 将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D2
> 之后依此类推,得到Dn
> 按顺序连为D1D2D3......Dn即为解密结果。
> 1. 不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。
> each ciphertext block depends on all message blocks/每个密文块依赖于所有的信息块
> thus a change in the message affects all ciphertext blocks/明文消息中一个改变会影响所有密文块
> 2. need Initial Vector (IV) known to sender & receiver/发送方和接收方都需要知道初始化向量
> 3.加密过程是串行的,无法被并行化(在解密时,从两个邻接的密文块中即可得到一个平文块。因此,解密过程可以被并行化)。
昨天加班跟zkz夸下海口,一定赶在昨晚把所有数据处理好,结果从下午两点直接肝到凌晨两点,中间除了吃饭洗澡和必要的锻炼外基本是马不停蹄地在赶(我TM就服了周六什么事也没有,就硬拖到周日下午,延迟症真是人人都有)。
然后今天中午补觉第一次做了梦中梦,先做的梦是梦到今天午睡hy和yc回来吵醒我了,他们要出去洗澡,我让他们回来别开灯,然后我就又开始睡了,结果又做梦。。。
2020.05.31
密码学学习笔记 1
# 流密码
1. 对称加密:
- 密钥空间K, 明文空间M, 密文空间C, 一般都∈{0,1}^n
- 加密过程E: K×M ==> C
- 解密过程D: K×C ==> M
- 对称加密应当满足D(k,E(k,m)) = m
- E往往是一个随机算法, D往往是确定性的算法
## The One Time Pad 一次性密码本
1. OTP是安全的, 但是是不经济的, 因为密钥长度与明文长度相同
2. 如c = m XOR k, 这个确实是安全的, 只看c绝对是搞不出明文的
3. 什么是安全的密码?
- 定理: 若明文空间M中的两个长度相等的m1 m2, 密钥空间中任意一个k加密得到c的概率是相同的
- 即Pr[E(k,m0)=c] = Pr(E(k,m1)=c)
- Shannon定理: 如果密钥绝对安全, 则必然密钥空间的大小不小于明文空间
- 显然OTP的异或加密是安全的, 对于唯密文攻击者是绝对安全的
- 并且对于指定的密文, 有且仅有一个密钥能把明文映射到该密文(唯密文绝对安全);
- 但是仍然有其他的攻击方式, OTP并非是绝对安全的;
4. 如果有办法能把与明文同长度的密钥安全发送出去, 那么直接发送明文不就完事了?
- 总之这是一种理想化的加密方法, 实际几乎不能使用
出于爬虫里遇到的JS加密的问题,近期开始自学密码学,挑了B站上一个斯坦福大学的公开课https://www.bilibili.com/video/BV1Ht411w7Re,顺带补补英语听力,目前刷了前两集绪论和流密码,感觉无论是发明加密方式还是破解密钥真的都是绝顶聪明的人才能做得到的事情,跟自己学的一些东西比简直不是一个层次的水平。
周末加班,下周客户要看初步的结果。搞一个65M的parquet文件,结果pandas怎么也读不进来,甚至设置了只读一列都OOM,我心想不会这么夸张吧。。即便是用WINRAR打包csv文件也不过只能压缩20倍不到的水平,算上去也就1G多一些。赶紧用上刚学的pyspark,轻松就可以读进来,一查竟然有十亿多行?! 粗略估计压缩率得有将近100倍,parquet的数据存储方式实在是太卓越了,终于是理解了pyspark的优越之处。
虽然这个月因为答辩和返校翘了三天班,中间也有两三天基本没有什么事情,但是zkz还是给我算了全勤,想必是把加班的都近似算进去了。即便如此扣完税还不如去做混吃等死的助管,这个实习算劳务报酬的标准来扣税可实在是太艹了[捂脸]。
2020.05.29
LATEX TIP1 LATEX脚注代码
$\footnote{We use the supscript $t$ for parameters in the $t^{th}$ round}$
一专毕设95分,登CC账号看了看院里往年的情况,90分以上不足10%,95分以上屈指可数,目前全校公布出来的700多人里最高分也只有95。可以算是完美收官了(虽然我的实验结果还是挺差的...)。
大家的日子都不好过唉,贴函证还要贴到加班,ziben剥削的本质。。。
工作做久了也挺枯燥的,最近天天熬夜弄数据,就为了明天的交付,可是交付完了还得肝一个多月。
有趣的点子不常有,实现完很空虚,实现不了也很失落。
熬着吧,但愿到九月有趣的事情会发生。
2020.05.28
PYSPARK TIP4 pyspark.sql.functions(4)
- avg(col)
- base64(col)
- bin(col) 转为二进制
- count(col)
- date_sub(df.date,1) 前一天 date_add(df.date,1) 后一天
- date_format('date','MM/dd/yyy') 将日期格式的转为字符串
- date_diff(df.d1,df.d2) # 两个日期的差距
- dayofmonth(col)
- dayofweek(col)
- dayofyear(col)
- weekofyear(col)
- decode(col)
- expr(str) # 很重要的一个函数
+ df.select(expr("length(name)")).collect()
今日POST
棘手的工作肝了一晚上,zkz跟我说年轻人少熬夜,然后又是凌晨发布文档,我心想你也不就比我大了四岁。。
明天中期交付,才熬过一半唉,确实有点压力。
2020.05.26
今天在Kaggle竞赛 ALASKA2 Image Steganalysis 了解到图片隐写技术,大约可以视为一种密码学加密方法,不过可怕的是普通的字符串加密总归还是能靠肉眼看出被加密了,这图片隐写肉眼完全是看不出来的,这要是放在WEB开发中加密真的能把搞爬虫的人心态弄炸。所以这个竞赛就是需要用机器学习算法去判断一张图片是否被隐写了加密信息。
之前听说手机拍照原图中会有图片拍摄的时间地点等信息,大概也是用隐写技术做到的。联想到前几日爬虫中常常遇到的加解密问题,如果不能熟习密码学算法,就算能找到JS中对应的加解密代码也没法看得懂。
凯爹考研失败了,周末准备陪他出去散散心。
回想昨日的消息,世事难料,几家欢喜几家愁,三年后又该何去何从呢?
2020.05.25
PYSPARK TIP4 pyspark.sql.functions(3)
- avg(col)
- base64(col)
- bin(col) 转为二进制
- count(col)
- date_sub(df.date,1) 前一天 date_add(df.date,1) 后一天
- date_format('date','MM/dd/yyy') 将日期格式的转为字符串
- date_diff(df.d1,df.d2) # 两个日期的差距
- dayofmonth(col)
- dayofweek(col)
- dayofyear(col)
- weekofyear(col)
- decode(col)
- expr(str) # 很重要的一个函数
+ df.select(expr("length(name)")).collect()
今日POST
xmh从北京外交学院考研考到北大光华。
小学的时候跟gcx,xmh平起平坐,初中她们两个考去梅岭;高中我跟xmh在扬中,gcx在附中,结果高考偏是gcx考得最好,比我高了整整14分,xmh倒是最差,比我还低5分;如今到大学毕业,成败这东西还真是随缘的很呢,无论在哪里都是分数才能说得上话。
2020.05.23
PYSPARK TIP3 pyspark.sql.functions(2)
- avg(col)
- base64(col)
- bin(col) 转为二进制
- count(col)
- date_sub(df.date,1) 前一天 date_add(df.date,1) 后一天
- date_format('date','MM/dd/yyy') 将日期格式的转为字符串
- date_diff(df.d1,df.d2) # 两个日期的差距
- dayofmonth(col)
- dayofweek(col)
- dayofyear(col)
- weekofyear(col)
- decode(col)
- expr(str) # 很重要的一个函数
+ df.select(expr("length(name)")).collect()
今日POST
网易云完结,顺带把QQ,酷我也肝了,相对来说QQ的难度稍微大一点,但基本上逻辑也没差太多。酷狗看了一下,觉得挺麻烦的不做了。
关于网易云我另外给出用selenium执行JS获取加密表单的方法,因为我总是觉得加密逻辑一旦改变,复现的逻辑就毫无意义。不过竟然两年都没有改过加密逻辑,甚至用于加密的密钥都不改(到现在都是“流泪”,“强”,“爱心”这几个短语,这竟然不定期改点词语,难道程序猿跑路没人管了?也太不敬业了)。不过个人认为逻辑大改不太可能,否则后端验证加密信息的算法也要调整,省事就啥也不改,也挺好。
之前我一直是以为没地方去了才会到博物馆,原来S是真的喜欢去博物馆。
晚上出去吃了一顿,现在这种小日子过得倒也不坏,呆宿舍里也没人叨扰我,每天打扫卫生,宿舍也不会很干净;虽然不太想出去跑步(因为懒得洗衣服),但室内有单杠哑铃也做些练习,可惜也延续不了多久了。
2020.05.22
PYSPARK TIP3 pyspark.sql.functions(1)
- lit(value)
+ df.withColumn('new_col', lit(1)) 创建新的一列默认值全是1的数据
- asc asc_null_first 同上面的df.col的方法
- ascii(col)
- atan(col)
- atan2(col1,col2)
- concat(*cols) # 非列名
- col(colName) 选定一个列(见apply的用法)
- collect_list(colName)
- collect_set(colName)
+ df2 = spark.createDataFrame([(2,), (5,), (5,)], ('age',))
+ df2.agg(collect_list('age')).collect() # [Row(collect_list(age)=[2, 5, 5])]
+ df2.agg(collect_set('age')).collect() # [Row(collect_set(age)=[5, 2])]
今日POST
做网易云音乐的爬虫,困死在盘理JS生成加密表单数据的逆向逻辑上,把网易云的JS的core代码从头看到尾,虽然找到了加密逻辑的部分,但是怎么都没搞明白是在哪里把加密信息给送出去的(我一直以为这种肯定是ajax,结果怎么也找不到在哪里发起请求的,JS毕竟三脚猫水平,拿不上台面,精通JS对爬虫还是有相当好处的)。
本想着是怎么用浏览器驱动输入JS代码运行直接拿到加密后的信息,查了一下居然已经有好几个大佬直接把加密的逻辑改写成了python代码直接生成加密后的信息用了 !? tql实在是
一直强逼着自己不用selenium,但是这个加密逻辑只要稍作改变,哪怕只是简单修改一下默认的密钥,就直接爆炸,更不要说把加密逻辑改得更复杂了(虽然我看这几个大佬都是两三年前做的爬虫了,到现在这个加密逻辑也没改过),按道理来说用selenium驱动运行JS脚本拿到加密信息来做的爬虫要更鲁棒一些。
本以为近期不会有什么事情的,结果下午晚些时候被zkz扔了一堆摸不着头的数据,晚上下班前zkz在群里打了预防针,下周阶段性交付,周末都养精蓄锐,做好每日熬夜的准备了。。。
2020.05.21
PYSPARK TIP3 pyspark.sql.functions
6. pyspark.sql.functions 模块下的诸多方法: 虽然用udf基本上可以解决大部分的问题, 但一些内置函数总归可以有好处的
- 这些函数都有一个通用的方法!!!!!!!!!!!!!!!!!
+ df.select(FUNCTION(...).alias("result")).collect()
- abs(col)
- approx_count_distinct(col) <==> 这个貌似跟理解的也不太一样
+ df.agg(approx_count_distinct(df.age).alias('distinct_ages')).collect()
- array(*cols) 返回列表(跟collect()的效果差不多)
- array_contains(col,value) 返回包含某个value的列单元(String)
- array_distinct(col) 好像跟我理解的不太一样
- array_except(col1,col2)
- array_intersect(col1,col2)
今日POST
上午开会zkz让我随时待命,我中午吃完饭就盯在电脑前没敢休息,结果整整一下午到晚上都没我事情?!
快困炸了我TM,顺手把pyspark过了一遍,基本算是掌握了,关键缺少实践。
现在我都不知道第五周之后开始部署系统和算法优化还有没有我的事情了,zkz似乎不太想让我涉足到生产系统里面,如果要我进去也挺可怕的,如果止步于此后面感觉我的事情也不是很多了。也没别的地方可去,大致先跟着做吧,数据这块烂摊子大概后期都得扔给我。
今晚开启一个大爬虫项目,我将它命名为FreeCrawl 计划,我还是很想重拾起去年的那个WEB项目的,实习总归还是个外人,能学的东西太有限了。还是做自己的事情来得快乐。
一个人呆宿舍里也挺好的,感觉比在家里效率高多了。听说SXY才开始实习,远程朝九晚九(怕不是以后都是日常噢。。。)
2020.05.20
PYSPARK TIP3 pyspark.sql框架一览
# pyspark
# 子模块sql: from pyspark.sql import *
1. sql模块下的主要模块
- pyspark.sql.SparkSession
+ DataFrame与SQL数据的函数切入点
- pyspark.sql.DataFrame
+ DataFrame数据对象
- pyspark.sql.Column
+ DataFrame列数据对象
- pyspark.sql.Row
+ DataFrame行数据对象
- pyspark.sql.GroupedData
+ Aggregation methods, 返回DataFrame.groupBy().
- pyspark.sql.DataFrameNaFunctions
+ 处理缺失值
- pyspark.sql.DataFrameStatFunctions
+ 统计方法
- pyspark.sql.functions
+ DataFrame中的内置函数
- pyspark.sql.types
+ 数据类型
- pyspark.sql.Window For
+ 窗口函数.
2. pyspark与pandas相互转换:
- sqlContext.createDataFrame(df_pandas).collect()
- df_spark.toPandas()
今日POST
完全溜不出去,进出门登记。出校门超过一小时就要请假,早晚还要测体温,真是白回学校了,就指着啥时候办完手续啥时候滚蛋了。
cc请我早上到教务处教一下新招的同事系统使用事宜,是个数学学院2015级的学姐。
女孩能在事业单位工作还是好,至少比zkz凌晨三点多在群里发pre的文件不知强到哪里去了。。
yy去离职去兴业证券实习了,果然还是券商有吸引力,听说现在在给老板做爬虫(那我上我也行)。。
2020.05.19
PYSPARK TIP2 SparkSession入门
# SparkSession 模块
1. 处理数据集的入口
2. 用于生成DataFrame, 操作SQL, 读取parquet文件
3. 属性builder:
- appName(name)
+ 设置应用名称(在UI界面展示)
- config(key=None,value=None,conf=None)
+ 设置一个配置的键值对
- enableHiveSupport()
+ 启用Hive支持
- getOrCreate()
+ 如果没有全局的SparkSession对象,就以当前配置创建一个新的作为全局对象
+ 如果有则会将当前配置应用到全局对象中去
- master(master)
+ 分配一个url: 如"local\[4\]"表示本地四核运行, "spark://master:7077"表示在集群上运行
4. 属性catalog
5. 属性conf
6. 方法createDataFrame(data,schema=None,samplingRatio=None,verifySchema=True)
- data: RDD, list, pandas.DataFrame(用于创建DataFrame的数据源)
- schema: 基本就是列字段名, 最常见即传入一个列字段名的列表, 也可以是一个Row对象
今日POST
想不到返校宿管第一句话是来的这么早还要到六月底才走,能不能不要呆这么久,早点回家去。
唉,家里被父母嫌,到学校还被嫌弃,竟然没有能容我的地方。。。
花了两个多小时终于把宿舍打扫干净了,还好没有想象中的那么脏乱。
累 睡一觉先
2020.05.18
PYSPARK TIP1 读取数据
# csv读取
csv_path = r'F:\Internship\Cardinal_Operation\Projects\Project2_Mars\data\raw\source0509.csv'
df_patient = spark.read.format('csv')\
.option('header', 'true')\
.option('inferSchema', 'true')\
.option('sep', '\t')\
.load(csv_path)
print(df_patient.printSchema())
print(df_patient.select('DEST').limit(10).show())
print("#"*64)
all_csv_path = r'F:\Internship\Cardinal_Operation\Projects\Project2_Mars\data\raw\*.csv'
df_patient = spark.read.format('csv')\
.option('header', 'true')\
.option('inferSchema', 'true')\
.load(all_csv_path)
print(df_patient.count())
今日POST
PySpark确实比较困难。
不多说,明日返校。
2020.05.17
LATEX TIP16 数学符号
\section{希腊字母}
$\alpha \beta \gamma \delta \epsilon $
今日POST
最近练拳皇98已经可以三问通关最高难度的电脑了,想之前第一次从拳皇97转到玩98连葵花都按不全,觉得自己拳皇水平已经大成。决定上STEAM匹配几把拳皇13。结果连输10把,选八草门连对手第一个人都过不去,现在总战绩0胜27负,超神到已经完全匹配不到对手了(这STEAM的匹配机制也太恶心,把把给我匹配99级的,把我打得跟弱智一样)。
2020.05.13
LATEX TIP15 数学符号
%小括号
\[
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\]
%中括号
\[
\begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix}
\]
今日POST
应该可以从毕设中解放出来了,自我感觉答辩得很好,全身心投入工作ing。
回顾一下居家四个月,基本做到了坚持每天跑步,最近很忙,每天加了2分钟平板支撑,训练量不如之前,也基本上是坚持4公里的。搞定了两篇毕业论文,实习两个多月,最重要的是刷了不少番。
上个月组里谦哥给小米的系统里架算法,结果小米只让用PySpark写,协商下来不给用pandas写数据部分的代码。痛苦的谦哥疯狂加班把所有的pandas代码重构成PySpark,并且修改了自己的工作签名为“PySpark是世界上最烂的语言”。
组里其他人还是很同情谦哥的,把所有的数据处理代码全都重构确实太恶心了。
结果这个月就轮到我们的项目组给玛氏在Azure上搭PySpark的代码了……
总之接下来准备提前先把PySpark学一下,有空想做些有趣的事。
最近发现S天天发“制作食物”的POST,很是羡慕,反正我到现在在做饭上还是零经验。。。
2020.05.12
LATEX TIP14 数学函数(4)
\subsection{自动编号}
交换律见式\ref{eq:no1}
\begin{equation}
a+b=b+a \label{eq:no1}
\end{equation}
如见公式\ref{eq:no2}
\begin{equation}
1+2=2+1
\end{equation}
今日POST
虽然还没到我答辩,不过就我听的前面这几个人的,我顿时信心大增[笑]。
亏是没有分到什么主要研究机器学习方向的老师在这个组里,应该也不至于能问倒我。
—— 答辩完毕,自我感觉良好,解放!!!!!!!!!
2020.05.08
LATEX TIP13 数学函数(3)
\subsection{自动编号}
交换律见式\ref{eq:no1}
\begin{equation}
a+b=b+a \label{eq:no1}
\end{equation}
如见公式\ref{eq:no2}
\begin{equation}
1+2=2+1
\end{equation}
今日POST
早上答辩,之前一直说好是陈述10分钟,提问5分钟,答辩前半小时临时决定只让陈述3~5分钟,结果写好的稿子和准备好的PPT又不忍心改,想要飞快的读完又被打断,提问完全一问三不知,没想到线上答辩也能紧张成这样,果然不是自己专业的东西真的讲起来没什么信心。好在老师评价说写得还是很用心的,毕竟整了两万多字,没有功劳也有苦劳唉。
刚整完了今天的活,临睡前翻了翻博客发现上线了收藏系统,居然还能有近200的收藏,一篇篇博客翻了看看,果然是那个两年前顺手写的PPT自动下载的博客收藏最多,有60个,其他一些猎奇的爬虫和竞赛也有不少收藏,有一段时间不做爬虫回看以前的东西还有些新鲜感,不过总之都只是些愚技,不足挂齿。真正有价值的技术还是需要时间的沉淀的,至少现在真的还是太年轻了。
很想在人工智能这个方向做下去,但就现在实习的情况来看又觉得真正有用的人工智能还是太难太难了,感觉技术资源上已经被完全垄断了,微软、谷歌、阿里、腾讯这些巨头,打不过若是还加入不了,都只是末流罢了。
2020.05.07
LATEX TIP12 数学函数(2)
$\sin^2x + \cos^2x = 1$
$\sqrt[2]{2x+3}$
$\sqrt[3]{2x-5}$
今日POST
莫名其妙地明天二专就答辩了,今晚才把定稿提交到答辩群里,我也真的是服了。不过看了看其他人写的,我稍微放心了一点。。。法学本专的才写了一万字出头,我吃力不讨好地整了两万多字,就怕明天答辩被要求大改就心态炸了。这线上答辩直接把稿子写好也没啥好慌的了。
现在倒是很担心下周二的一专答辩,虽然能讲不少东西,这两周电脑接连跑得都上了一层厚灰了,但跑的结果还是P都不如,只能靠灵活的话术了,反正实验结果也就那么一页,我真的是没有信心再跑了。
2020.05.02
LATEX TIP11 数学函数
\section{数学函数}
$\log$
$\sin$
$\cos$
$\arcsin$
$\arccos$
$\arctan$
$\ln$
今日POST
一专完稿,查重1.4%,就这么办了,我也没辙了,之后也许会继续调调模型,不过也有点想做些别的事情了。
戚风蛋糕是什么鬼?
2020.04.30
LATEX TIP10 设置字体
%%%%%%%%%%%%%%%%%%%%%%%
% -- 中文字体 --
%\setmainfont{Microsoft YaHei} % 微软雅黑
%\setmainfont{YouYuan} % 幼圆
%\setmainfont{NSimSun} % 新宋体
%\setmainfont{KaiTi} % 楷体
%\setmainfont{SimSun} % 宋体
%\setmainfont{SimHei} % 黑体
% -- 英文字体 --
%\usepackage{times}
%\usepackage{mathpazo}
%\usepackage{fourier}
%\usepackage{charter}
今日POST
我心态崩了,数据增强再训练之后居然模型评估丝毫没有改变,心中生疑,检查发现之前效果提升是因为模型预测输出全部都是delete,结果生成了一份空白的提交文件,离谱的是空白文件的评估结果居然也能有20%以上的Precision/Recall/F0.5,比大部分的普通模型的结果都更靠谱。。。我理解应该是损失函数要把delete的权重调低,因为equal的权重低了之后delete操作占了绝对大头,疯狂重调模型,心态真的是爆炸了。
最近筹划再买一台PC机专门用来跑代码了,这年头实习边开视频会议边跑着代码真的难顶,内存完全吃不住。
PS:今天临睡前翻了一下weibo,发现原来sxy也会发日常的POST,唉,要是我再跟高中同学聚一下怕是要给yh,jez之辈好好嘲弄一番了,也不知道我们仨“金阳光”组合其他两人现在都怎么样了,真希望还能是从前学生时的心态。
2020.04.28
LATEX TIP9 数学公式
\begin{math}
a+b=b+a
\end{math}
今日POST
大突破!马不停蹄地跑了几十种参数与架构的GEC模型,召回率一直卡死在2%不到,终于在昨天午饭时突然灵光一现,想到可能可以调整损失函数来的定义上实验出了靠谱的结果,仅在NUCLE 50000个数据集上训练下来召回率终于突破了20%,准确率也有极大的提升,总算是能交差了。
最近每天起床电脑都烫得能煮鸡蛋,真的怕这台游戏本会突然报废,到时候真的是心态炸了。
现在就看看在Lang8上1000000数据上能不能进一步提升了,关键实在是太耗费时间了,要全部跑完至少得两天两夜,留给操作的空间确实是不多了。
2020.04.24
LATEX TIP8 插入表格:个人觉得插表格实在是太繁琐了,感觉用Excel2TEX这种外部工具直接把现成的表格转成tex对于那些复杂的表格要靠谱得多,不过latex的表格风格确实是很好看,比word的大气多了。
\begin{table}
\caption{Sample table title}
\label{sample-table}
\centering
\begin{tabular}{lll} % 这代表有几列 可以写成|||就是实线 |c|c|c|就是居中
\toprule
\multicolumn{2}{c}{Part} \\
\cmidrule(r){1-2}
Name & Description & Size ($\mu$m) \\
\midrule
Dendrite & Input terminal & $\sim$100 \\
Axon & Output terminal & $\sim$10 \\
Soma & Cell body & up to $10^6$ \\
\bottomrule
\end{tabular}
\end{table}
今日POST
这几天模型跑的我真的是要抓狂了,BERT模型训练一个batch就要两三分钟,我担心一跑两三天中途意外挂掉,于是决定每100个batch就给先存一个备份模型,结果把"if n_batch%100==0:"写成了"if n_batch%100:",我TM一觉醒来磁盘直接爆掉了,给我备份了一百多个2G多的模型,我TM心态爆炸,还好可以用跑了100多个batch的模型继续训练,然后一跑才发现忘了备份之前训练的logging文件,跑了100多个batch的logging文件直接给"open(logpath,"w") as f:"给清空了,用来绘图的数据全没了。
【土拨鼠尖叫】啊啊啊啊啊啊啊啊啊啊啊——————————————————————————————
等我有钱了一定买一个顶配的GPU服务器专门给自己用[汗],回不了学校只能用PC机跑BERT真的是日了狗了。
2020.04.21
LATEX TIP7 生成目录
\makecontent
今日POST
感觉回到了去年八月份时的焦虑
2020.04.17
LATEX TIP6 多行带花括号的公式
%多行括号公式
$$
\left\{
\begin{array}{**lr**}
x=\dfrac{3\pi}{2}(1+2t)\cos(\dfrac{3\pi}{2}(1+2t)), & \\
y=s, & 0\leq s\leq L,|t|\leq1.\\
z=\dfrac{3\pi}{2}(1+2t)\sin(\dfrac{3\pi}{2}(1+2t)), &
\end{array}
\right.
$$
这里面有个大坑,\right后面的小数点一定不能省略,否则会报错到怀疑人生。总之LATEX编译报错对新手实在是太不友好了,语法不通全靠瞎蒙,不会排版全靠模板。
今日POST
纯手写了3000多行的满足我强迫症的代码,整个毕设文件夹占了50G+的磁盘,可惜并不能跑出靠谱的结果,我。。。
2020.04.14
LATEX TIP5 希腊字母(一)
\section{希腊字母}
$\alpha \beta \gamma \delta \epsilon $
今日POST
去银行办卡听说她毕业要去加拿大,也许这是我能知道的最后一个消息了。
现在想想也就大一开学见过几次,一晃四年真的就这么过去了。
2020.04.13
LATEX TIP4 无法直接打印出的符号(一)
小于号用 \textless
大于号用 \textgreater
上标用^{上标}
下标用$_{下标}$
下划线用\_
~用\~{}
今日POST
做GEC时准备创新加入词性特征,由此找到了kaggle上一个很好的词性(命名实体)标注数据集
https://www.kaggle.com/abhinavwalia95/entity-annotated-corpus/data
这个数据是命名实体识别竞赛的数据集,就是少了一点,只有五万不到,不过稍微增强一下到几十万不是问题,关键是用来做GEC的增强语料算是质量比较高的了,我总是觉得论文里说的那些wikipidea,gigaword不是很适合做GEC的语料(也许是我吃不到葡萄说葡萄酸)。
看到kaggle首页上也开始有关于COVID-2019的竞赛了,数据科学家终于也要试着拯救世界了么。。。
推荐河图新歌《无会期》
2020.04.11
LATEX TIP3 LATE设置水印
%%%%%%%%%%%%%%%%%%%%%%%
% 设置水印
%%%%%%%%%%%%%%%%%%%%%%%
%\usepackage{draftwatermark} % 所有页加水印
%\usepackage[firstpage]{draftwatermark} % 只有第一页加水印
% \SetWatermarkText{Water-Mark} % 设置水印内容
% \SetWatermarkText{\includegraphics{fig/ZJDX-WaterMark.eps}} % 设置水印logo
% \SetWatermarkLightness{0.9} % 设置水印透明度 0-1
% \SetWatermarkScale{1} % 设置水印大小 0-1
今日POST
昨天二专群给了查重接口,试查了一下自己用一周糊出来的东西,刚两万字,重复率15.1,正好够用。
然而一专到现在已经没有了风声,根本没有人催我。用latex先写了六七页理论性的东西,还在糊实验结果,整个慌得不行。
坚持了近三个月,已经可以做到18分钟跑四公里,现在体测一公里肯定是不在话下,可惜再也没有体测了。
唉,得是要到五月份才能开学了。
2020.04.08
LATEX TIP2 LATEX并排插入图片
\begin{figure}[htbp]
\centering
\subfigure[pic1.]{
\begin{minipage}[t]{0.25\linewidth}
\centering
\includegraphics[width=1in]{111.eps}
%\caption{fig1}
\end{minipage}%
}%
\subfigure[pic2.]{
\begin{minipage}[t]{0.25\linewidth}
\centering
\includegraphics[width=1in]{111.eps}
%\caption{fig2}
\end{minipage}%
}%
\subfigure[pic3.]{
\begin{minipage}[t]{0.25\linewidth}
\centering
\includegraphics[width=1in]{111.eps}
%\caption{fig2}
\end{minipage}
}%
\subfigure[pic4.]{
\begin{minipage}[t]{0.25\linewidth}
\centering
\includegraphics[width=1in]{111.eps}
%\caption{fig2}
\end{minipage}
}%
\centering
\caption{ pics}
\end{figure}
今日POST
时间推进,好多事情变得局促起来了。
先跟着把项目二期做完,12周的时间,之后再做打算了。
2020.04.07
这年头CSDN都不让发布日常POST的博客了,审核了好几遍都不让更新,做人太难了。。。
那就每次更新分享一个TIP好了,正好也算是督促自己学点新东西。
最近因为远程办公PC机上被迫安装了文件加密系统,编辑各种文件都会被强制加密导致无法在公司外部分享,所以用的是latex写论文导出pdf。就分享一些latex的小TIP吧。
LATEX TIP1 LATEX脚注代码
$\footnote{We use the supscript $t$ for parameters in the $t^{th}$ round}$
LATEX的脚注格式为 $\footnote{<脚注内容>}$,无须手动对脚注进行编号,在 <脚注内容> 中使用 $t$ 可以返回当前脚注的编号。
今日POST
上周MARS TEST&LEARN项目完结,完结当天凌晨三点半zkz在群里发布了用于pre的PPT,好在汇报十分成功,客户相当满意,也不枉这一个多月来的努力。有时候确实如此,不管996也好,007也罢,趁年轻时还有热情,能做出让自己有点成就感的事情,哪怕只有一件两件,也算是知足了。
2020.04.03
Mars Test & Learn, End
2020.04.01
这周五跟boss汇报完就项目一期就完事了。
zkz和zst几个天天都熬到一点多,搞得我只干到十二点都有点不好意思。
2020.03.31
OMG,四月新番,刀剑完结,春物完结,都是有生之年系列,青春终于都完结了。
希望别是日本疫情大爆发结果延期了,也就趁现在再追点番了,以后再追莫不被人耻笑。
2020.03.30
成功在996负压中用七天拼凑出万余字的法学论文交付给李宇了。
接下来七天面临的困难就是怎么仅靠 8核CPU 8G内存 和 4G显存 跑通令人智熄的模型,再从零开始写出一篇靠谱的实验报告。
狗被逼急了再高的墙也能跳得过去,但偏偏赶在就是这周组里项目要结项,从上到下都忙得要死。
我就纳闷了凭什么到现在还是不推迟答辩时间,当真一回学校就开始答辩了么?只靠一台笔记本真的没办法弄出靠谱的结果。可把人给急坏了。
2020.03.29
今天(周日)凌晨起来上了个厕所,发现两点半的时候项目经理给发了两份文件给处理一下。。。
虽然由于疫情还素未谋面,但是我还是很难想象一个只比我大四岁的女性职员可以这么拼。。。
这样真的对自己身体太摧残了,这么年轻就已经这个样子了,到三十岁不出问题我都不信。。。
相比那些做行政办公的真的是没法比。。。
2020.03.27
我现在发现做数据分析跟那些做审计的区别也不大,本质上不是拿出正确的分析结果,而是客户想看到的结果。
总之合上书本,就再没有正确答案可言了。
2020.03.26
DDL是第一生产力,CY你也沦落了。
2020.03.24
做了一个很惊悚的梦,先是梦到毕业去了新学校,和两个高中室友zgy和jy又住了同一间宿舍,时隔四年我们“金阳光”组合又重新聚首,特别高兴,然后就梦到上课时前桌坐着sxy和shy . . . 后面的事情就已经记不清了,只觉得梦中的自己都是大脑一片空白。这几天明明每天不是在看法学论文,就是在算各种指标,也不知道怎么就梦这么一出。
从昨晚到今天,NQC算到我怀疑狗生,我都不能说服自己相信我算出的结果,却还要给别人解释我的结论。现实跟理论总是相差的太远了,总归是纸上得来终觉浅,假若我是这次的项目经理,我可能真的会被逼疯。
2020.03.23
七天,如何从法盲到法学学士。
2020.03.21
CSDN@Saeki777 或者是 weibo@Saeki_梦乃,近期真的抽不开身,请不要再在weibo私信我了。
2020.03.19
零点,农历二月廿六。
自寻烦恼,自讨无趣。
罢了,不必做无意义的事情。
生快。托你的福,现在在杉数与比同道的人一起做自己很擅长,也很喜欢做的事情,总归觉得自己还是有点价值的。
希望你也一样。
2020.03.18
今天真是开眼界了,四个人分工开发,只给一天时间就要把数据处理,模型,仿真,评价代码全部写好,然后就要开始调参分析。人被逼急了真的啥事儿都能做得出来。
很意外有RANK三百多的大佬给我点赞。
2020.03.16
小镇恢复了以往的平静,每个人都在平凡地生活。
二十多年来故城似乎没有变化,老街旧巷依然在,就与泛黄纸张中记录着的文字一样。
以前喜欢吃的面馆现在仍喜欢;
以前喜欢去的地方现在还会去;
以前喜欢做的事情现在还在做……
于无人处独放歌。
穿着兜裆裤的小朋友,在人群中不知廉耻地游梭。
比我大不了几岁的父母们,骑着电单车在接送比我小很多的孩子们。
越发年迈的瘫痪老妪,摇着手动车在岔路口深情又无神地观望。
窗外竟是如此的平凡。
花开人聚,花败人去,他们知道,他们总会离开;
但这花,这巷,这镇它依旧是那副模样。
滴滴——
听,这嘈杂的声音;
看,这闪烁的图形。
却终有一天,我再也无法回到过去。
2020.03.15
原地爆炸,补了一天《花开伊吕波》,PA三部曲真的是名不虚传,PA社的人物作画与刻画实在是太精致精细了。
2020.03.13
一到晚上十点就困,看十分钟屏幕眼睛就感觉不太行了,真的是年老智衰了。
河图新歌《一夕光》很好听,少有的低音曲(印象中只有《倾尽天下》是比较低的了),唱起来很有韵致,词也写得相当好。
没什么好番能拿来消遣,也没有精力去找番看。
S也断了很久没有更新POST了,今天刚看到有一条wb,想必也是很忙了。
不知道这种局势下的投行的境况怎么样,总之生存且艰。
但愿这学期能有始有终,别再给我整些破事了。
2020.03.11
河图《一夕光》
2020.03.09
雨下了一天一夜,回来快两个月,第三天没有出去跑步,第一次是大年初二晚上的大雨,第二次是生日晚上的大雨。
才发现组里有一个是大我两级的试点班学姐,查了一下3.6的GPA,应该是毕业就来工作了,还是求解器组的人。总算找到个拉得上关系的人。远程也看不到人,除了工作也没什么适合交流的,工作时间版聊也怪奇怪的。早知道还是寒假前去做一周的。
时间越来越局迫,虽然不指望能有什么好事发生,但也想回去见点活人,要不就真的是凉透。
向导找我线上开课,我忽然有些不知所言。。。
想到 gcx 也困在家里快两个月了,也许大家都是最后一次呆在这个小镇上这么长时间了,她就在离我几百米的地方。可是我们还是没有见过彼此。
有些伤感,许多人莫名其妙就地在我生命中消逝不见,好在我仍能于白纸黑字上觅得踪影,却徒留遗憾。
2020.03.06
午夜零时三十分,XXX邀请你参加视频会议。
呆滞地从被窝里钻出来,一条咸鱼失去了梦想。
曾经有很多追求,现在只想保住头发。
2020.03.05
头疼欲裂,左眼太阳穴疼了一天,再也不想看着荧屏了。这就是我将来的命运吗(在秃难逃)。。。
纪念一下关注到三位数,继等级刷到LV6白嫖了个域名后,又一夙愿达成~
等我闲下来还是想写点blog,不知道毕业前还能不能有闲下来的机会了。
很想毕业前去旅游一次,否则也太遗憾了,希望到时候能请得出来假吧。
2020.03.03
生于忧患,死于安乐。
真的是安逸的日子过多了,对比之前做助管,感觉做行政是真的舒适,这给别人谋策太伤身了,午觉睡到一半还给拉去开会。晚上刚到午夜。
工作到底是为了薪酬还是价值实现?做简单的事情觉得埋汰了自己,想去做点能体现自己价值的事情,却往往会适得其反。现在有种用自己的兴趣去挑战别人饭碗的拼命,很多我要研究很长时间的问题模型可能在别人看起来直接套用就完事了。年轻时的热情或许很快就会透支,真的卡得很死,很害怕到时间做不出东西,又害怕适应了之后会觉得很无趣。
但是即便如此我仍然坚持每天抽时间出去跑六公里,这次在家时间久争取要养成一个好习惯,到现在已经坚持四十多天了,回学校可能就没这么多时间了。
一个多月没有更新博客,之前是懒,现在是真的没有时间,上天保佑毕设能拿到良好。
2020.03.02
从事算法的工程师做起事来是真的狠,一天的工作量我刚看懂要做些什么,别人已经全部做完了。。。
压力山大,没什么空闲时间写论文都,晚上都得做到十一点才能搞完一天的工作量。两篇毕设怕不是要凉凉唉,返校不严于律己就要自取灭亡了。
最近抽空补番《南家三姐妹》,不错的老番,很平实的幽默。
2020.03.01
我从未见过如此厚颜无耻的开学第一课。。。
2020.02.26
《云归处》河图/不才[演唱] · 狐离[作词]
https://www.bilibili.com/video/av55392637
手书作品,虽然表意偏于耽美而背离了歌曲词作者狐离的本意,但是风格优雅,也不失为一种美丽的曲解。
2020.02.25
女人对口红没有抵抗力,男人对口红也没有抵抗力。
女为悦己者容[苦笑]
好想彻底遗忘[苦笑]
2020.02.24
从-5℃ 宅到 25℃,晚上穿羽绒服出去跑步,别人看我的眼神跟看弱智一样。
可惜还得挨到三月底才能返校,没办法只好被迫接受远程,总不能再啃一个月。。。
眼镜折了,后悔之前在丹阳没多整几副。
2020.02.18
挺好,坚持了一个月,现在终于可以一口气跑上五公里了。
要是能把跑步坚持到跟写日记一样就好了。
2020.02.03
好了返校限制时间推迟到23号。
这次回来虽然事情没做多少,但是每天高质量睡眠9小时以上,三餐不落,牛奶鸡蛋水果管饱,每天八杯水,晚饭后趁路上没人出去慢跑一小时,坚持了半个多月来卓有成效,还有几部高质量的一月新番(今年的一月新番质量还可以,异度侵入、虚构推理、某科学的超电磁炮T,都相当好看)可以追。
要不是各方所迫,谁TM要跑回学校做苦差事,默默无闻地做个最底层的普通人,与世无争,就算是种田也算得上是件美差。
2020.02.02
用老爬虫第三次重置了自己的游戏账号密码,我发誓要是再注册账号我就是狗。
2020.02.01
我是狗。
2020.01.31
明天再不写论文我就是狗。
但真的看不进去书了,又不让我返校。
2020.01.29
堕落到每天跟阿阳、英Gay打Factoriol。
—— CY啊CY,这样是不行的!
然后明天接着打。
2020.01.28
傍晚出太阳了。
春天会远么?
2020.01.26
今天打算更新点长的,刚才看了B站凉风Kaze更新的视频https://www.bilibili.com/video/av84941209,是对U神六年前的MAD作品https://www.bilibili.com/video/av345660进行逐帧解说,令人叹为观止。
对于动漫我直到三年前才开始接触,以前我对电影,电视剧以及动漫几乎是绝缘,对我来说音乐,下棋与桌游基本是我全部的娱乐。我三岁开始下棋,不认字前象棋军棋上的汉字已经是了然于胸,后来高中被带进三国杀的坑,一直打到高考第二天的晚上。后来大学以后被室友带进B站,才开始接触动漫。
一些人对动漫有高度评价,认为那些说动漫只是给小孩子看的人是愚昧的。平心而论,真正的好动漫是极少的,没有必要把动漫吹捧得这么高。我从2017年暑假开始补第一部番《刀剑神域》,到2020年暑假为止粗略估计补了近百部番剧,还不算这几年的追番。2018年我曾经用了两天刷完了64集的钢炼,清明3天刷了200集的妖尾,到今天也可以算是有一定的阅片量了。
为什么会看动漫?对于大部分宅来说,应该都是出于欲望。我也不例外,起初都是看了像《刀剑神域》、《天降之物》(事实上天降第二季应该算是比较有深度的番了)、《约会大作战》、《俺妹》、《埃阿芒罗老师》这类的后宫番,很多人的入宅番无外乎此。这类动漫本质在剧情、深度上没有可言,桥段大致相仿,只是单纯的爽番,很容易吸引男性,但看多了自然会审美疲劳。
所以看了一段时间后我看到了第一部让我深有触动的纯爱番《龙与虎》,《龙与虎》算是第一部让我触动的番剧,我对它的评价很高,因为脚本是日本一位女性作家写的,剧情在细节上描写的极为细腻,令人遐想。难能可贵的是,这部番剧到了的尾声部分越发精彩,其结局可谓巅峰,私以为《龙与虎》是校园恋爱类中无人能出其左的番。
于是自《龙与虎》后,我看了很多这种类型的纯爱作,包括《冰菓》、《会长是女仆大人》、《赤发白雪姬》、《野良神》、《月刊少女野崎君》等,确实很甜,我也心向往之,在番剧中找到了一些所谓的慰藉。
直到我看了《白色相簿2》,虽然我知道是一部胃疼作,但还是抽时间补了。补完我就后悔了,感觉一言难尽,但我同样认为《白色相簿2》是双女主类中最顶尖的作品,因为很真实。这是我第一部看完之后还想去玩相关游戏的作品,我记得那是2018年的国庆,我全网搜白色相簿2的游戏资源,因为我想知道动画后续究竟是什么,但是很失望,《白色相簿2》能封神的只能是序章单线,终章多支线后就没有所谓的剧情可言了,因为我觉得多结局是没有意义的,我只想知道真正的结局会是什么样的。
自此后我觉得纯爱番太虚幻,理想中的乌托邦,可欲而不可及。生活中更多的是悲剧,需要的是反思。于是从《钢之炼金术师》开始,我开始看了很多自以为有深度的番剧(大部分都是悲剧,所以给人很大的思考上的压迫感)。
这段时间是我觉得动漫真正是一门艺术的时间,我觉得很多人对动漫确实是有极其错误的偏见,但到后来再看类似的作品就再难产生那种思想上的压迫感了,有几部后来看的也算是有深度的作品(《Angel Beats》《夏洛特》《可塑性记忆》,主要这些作品偏催泪向,而且很多时候看到一半就知道结局会怎样了,就没有那种触动感了),觉得真的不如之前的作品有启发。
再后来我开始看京都动漫(很遗憾京都动漫被纵火)的日常番,《玉子市场》、《轻音少女K-ONs》是我2019年印象最深的两部番剧,怎么说呢,这两部番有一个共性,就是剧情不温不火,但是就像温水煮青蛙一样,虽然剧情上不是很吸引人,不会有很大的触动,但是越看越想看,直到看完就会有失去一个朋友的那种很失落的感觉,因为真的有一种我这种人说不来的精彩。此外这类日常作中可以算是优秀的还有《Lovelive》、《干物妹小埋》(心情差的时候二刷,真的有效)等。
再后来这学期心态发生了极大的改变,开始变得看不进去动漫。只有纯少女系的百合番还能入得了眼,加之我发现了芳文社这个神奇的动漫公司,刷了一堆芳文社的作品,包括《迷途贴》、《此花亭奇谭》(这部是神作,不单是单纯的百合番)、《一起一起这里那里》(少有的芳文社的纯爱番),《恋爱研究所》等,觉得百合真的是很美好的东西(限二次元),看起来没有任何压力,绝对的纯洁,关键芳文社作画真的好。这时候看动漫已经非常单纯的就是寻求快乐,这学期有所上升之后就觉得还是需要及时行乐的。
其他零零散散的也有不少神作:
当然也有很多剧情向的作品,论深度谈不上神作但确实很耐看:
其实我今天突然想写这些,一方面是局势之下,人心惶惶,我觉得人们需要一些慰藉,对我来说看番是最好的放松方式了,有人说看完一部番就像失去了一个好朋友,我对此可以说是深有感触,跟一个真正能算得上朋友的人交流,真的很快乐。另一方面是这么多年看了这么多番,也想做个总结,虽然这里我只是列举了小几十部番剧,但我真正看过的远超这些,也不乏很多烂作,俗作,大部分也都是中庸之作。我一直觉得看番与看书一样是个学习的过程,一部真正有价值的番剧,足够让人反复观看与回味。
2020.01.25
(1)
也许S只是群发了祝福,但S无法知道是我列表中唯一给我发送新春祝福的人。
然后晚上被近期诸事烦得不行,又手贱去翻了S的微博,看到18年8月份的POST,我才发现自己是多么幼稚。
什么都怕麻烦,所以我总是把不擅长的事情想得过于简单,以为一切都能跟想象中的一样顺利。不去做会害怕失去,但没有真正了解对方就做又过于草率,到头来不过是强加意愿在别人身上。
以前我一直隐居幕后,以君子自居,以德自律,喜怒不形于色。这学期我取回了那些本属于我的名誉与认可,才发现以前只是我太弱小,只要稍微膨胀一些,也不过与俗人无异。
(2)
连续两天数字翻倍,事态堪忧。如果缺乏有效举措,在三月来临之前,结果不堪设想。
家里从爸爸咳嗽到现在妈妈也被传染了,我回到镇上后每日坚持环镇五公里的跑,身体素质还算过得去,健康状况也还良好,即便真的被传染了病毒倒也不怕会死,关键父辈祖辈这些人若当真感染了,恐怕是凶多吉少,不死也得脱层皮。
到时候我就真的是孤家寡人了,好在现在养活自己倒也没太大问题。
PS:为什么镇江到现在都没有确诊病例呢?按理说镇江也算是交通枢纽,总比我们这种偏僻小城好。醋难道真的有用。。。
2020.01.24
此城,于我已无用。 —— 李儒 · 焚城
可能有些人不想活,但在真正的灾难面前,没有人不怕死。
但为了消除灾难,总是需要有人付出代价,如今尚有老一辈人能挺身而出,等到了需要我们这一代人站出来的时候,又是否能有人愿意做出牺牲。
由俭入奢易,由奢入俭难。我们这一代人安逸的日子过得太久了,嘴上功夫是比手上功夫厉害不少,不知道在灾难到来的时候,究竟是去做救世主、炮灰,抑或是拖后腿的人。
学习强国,不只是挂在嘴边。不求能强国,但求能自强。
2020.01.23
人总是对未知的事物恐惧。
小孩子无知,所以不害怕;老年人见得多,所以也不害怕。
因此消除恐惧的方法无非有两种:
若命中自有劫数,再怎么防范也无济于事。天命这东西人活得越久,越容易去相信。
有点遗憾自己不是学医的,想想自己还有三个高中同学在武大读书,不少同学还是学医的。总是希望将来的某一天,自己学的东西能用在拯救和保护自己想要珍视的人身上。
总之诸位安好。
2020.01.22
1. 下午把阿凯买的服务器配了一下,把爬虫都挂上去,终于可以用自己的机子做正事了;
2. 相对于SARS,无论是医疗技术,媒体传播还是人口素质都不再是十七年前能同日而语的,虽然那时我们还小,很多事情都没有记忆,但怎么也算是活过来了。
2020.01.19
1. 女孩子追起星来就完全像是个小孩子了,哪还是90后的老阿姨。不过AYG确实是个唱功实力派。
所以说有信仰就能长命百岁,像我这种没信仰的注定得是挂得早的。
2. 我今天才看到她1月7日有回复邮件的,虽然也没什么区别。
3. 想要大年初一去一趟镇江金山寺,没什么特别的理由,也许确实是我身上背负了太多负能量,烧香拜佛说不定有点用。
2020.01.18
我发现自己总是在这种细枝末节的问题上钻牛角尖。
但今天算是杠上了,我要真想过审,还能拦住我不成。
果然解决问题的最好办法就是解决提出问题的人。
我本以为这种漏洞只是在91flac这种小众网站上会有,然后测试了网易云网页版,同样有类似的漏洞,所谓的版权付费真的不是智商税么,我就想知道究竟是谁在愚弄谁?
我觉得只要我愿意,我可以一个晚上给它把曲库全部弄下来,这年头一切不就是透明的么,版权如此,个人信息也是如此。
2020.01.17
意外地失眠了,脑子里满是乱七八糟的东西,到两点才睡着,三点三刻又起来赶车。
回家,空气清新,心情舒畅,似乎也是一种解脱。
我好像有点明白佛系追星是怎么回事了。。。
大补觉回了一口血,起来发现说人奖和社奖兼得者只会发一份奖金,这确定不是院里给贪污掉了吗。。。
看了几个朋友这学期的成绩,满足地离开了,哈哈哈~
2020.01.15
生命也许就是这样,多一分经验便少一分幻想,以实际的愉快平衡实际的痛苦。
2020.01.14
可以,一路水到LV6,还嫖到个自定义域名。
2020.01.13
下午跟CC算是形式上告别了,虽然还有几天才会彻底结束。
替她办了整整一年的杂活。可能这一年里陪伴我时间最长的就是CC了,对我来说陪伴是友谊最好的,也是唯一的增进方式。也算是生出点感情,就连我这种话极少的人在办公室里也会跟她聊上几句。
然无宴不散,我变得越来越容易其他人和事的影响,如果不出意外我本该继续留在CC手下。
虽然我并不喜欢锋芒毕露,但若是一直如此,再锐利的锋芒可能也会沦为鸡肋。
趁年轻还是要出去做些事情。我的青春已经留下太多遗憾,至少在还算擅长的事情上,我还想再狂几年。
2020.01.11
意义非凡的事情总是碰巧发生的。只有不重要的事才有周全的计划。 ——珍妮特·温特森《时间之间》
2020.01.08
缘是可遇不可求的。 ——Vae《不煽情》
2020.01.01
2020年想单独用一篇博客用来给自己发帖,没什么理由,就是想写。