-
需求 最近开发Electron的软件,前端vue,后端使用Python。每次在启动开发环境时,或者需要将前后端分别打包时,感觉有些麻烦。比如启动python程序运行,需要先进去后端路径并激活虚拟环境,然后启动。然后在回到前端路径,启动前端。打包也是,先进入后端激活python虚拟环境,打包。然后再回到前端路径,打包。更省力气的做法是,在Windows环境下,我想双击脚本就完成开发环境的程序运行,或者完成前后端的分别打包,这样给开发工作增加一些小小的幸福感。 实现 经过研究bat脚本的语法,终于实现了以上需求,记录如下。整体思路是脚本一步一步模拟人工操作,并且要确保完成上一步再执行下一步。 一键启动前后端开发环境的批处理bat脚本如 …
阅读更多 -
最近ChatGPT很货,我们程序员起始是最早知道它的一批人,当时在圈子里并没有多大波澜,可能是觉得它只是之前产品的一种改进,并没有达到革命性的地步。不过随着这一段时间ChatGPT被越来越多的人知道,加之它的输出结果确实惊艳,这个产品开始在社会上持续发酵越来越火,不少人觉得这个能代替人类做很多工作了,对自己的饭碗产生危机感。 就我看来,这个产品输出的其实只是貌似流畅的文字组合,但隐藏的细节可能会经不起推敲。因此只能用在一些不重要的地方作为一种助手、参考。如果把它用在重要的地方或者正式的地方,那其实还要花很多时间进行审阅,并且还有可能隐藏审阅没发现的错误,所以其给出的结果并不能让人放心的使用在正式场合。另外,需要更多创意的时候,其实也 …
阅读更多 -
看到了一直很喜欢的博主“程序员的喵”写了一篇《我的2022》,写得很好。受之启发,我也简单回顾一下我的2022。 工作 首先说说工作。工作方面今天发生了重大变化,我还专门写了一篇文章说这个事。简单来说,我所在的部门被解散了,我也从原来部门的小头目转岗去另一个部门当了小兵。一部分原因也是我的主动选择,做专业的编程方向工作,综合来说更符合我未来期望。而原来我的工作主要内容是去保证数据有效的高质量的收集,编程只是辅助。我的工作理念,工作一定要自己感兴趣有激情,也是因为这个原因我从生物学研究,转到了现在的临床试验编程。转了方向后,我现在的主要目标是尽快积累SAS编程的经验,积累做临床研究编程的实践经验,尽快成为资深高手。最近我做了一个月突击 …
阅读更多 -
感染 我一直支持国家的疫情防控政策。疫情的严格防控持续了3年,到了今年的12月初,终于走到了逐步放开的阶段。我觉得这是和新冠的客观发展情况匹配的,动态清零防控的收益已经不足以抵挡经济和人们心理承受的能力。而且客观来说,病毒的致命性已经大大降低。所以这一阶段的放开,是大势所趋。 放开后,大家终于感受到了奥密克戎那恐怖的传播力,北京市民以难以想象的速度迅速感染。我们家是孩子先开始发烧,好在只烧了一天,什么药也没吃,第二天就好了,基本没有任何症状。退烧后试剂盒检测发现阳性了。家里的传染源大概率来自我们家的钟点工阿姨,他在孩子出现症状前一周咳嗽,并且和我们待了一天。后面告知我们是阳性了。 家里孩子先阳了以后我们两个大人也不做任何防护了。我媳 …
阅读更多 -
为啥要认真健身了 我的体重常年在175斤以上,以不到175cm的个头,妥妥偏重。最近两年痛风,带状疱疹都发作过。马上奔40了,为了以后少在疾病上花费金钱和承受痛苦,今年决定认真健身了。我是这么想的,在健身上每花一分钟,我大概能在病床上少躺三分钟,很划算。 健身方式 我主要的健身方式是跑步,游泳,和跟刘畊宏跳操。跑步主要是在时间比较充裕的晚上,或者陪孩子上游泳课时顺便在健身房的跑步机上跑五公里。跑步夏天比较勤,每周能有2,3次。每次跑步我还要听上最爱的财经公众号学习当前的时事热点财经分析,锻炼也能轻松惬意,还能学点东西。游泳是每周五和周日陪孩子上篮球课,顺便在楼下游泳馆游上900米。我每次的游泳距离从600米,涨到800米,稳定 …
阅读更多 -
摘要 为处理计算包含54万患者,共8个单个大小超过2G的CSV数据,应用了本地sqlite数据库来实现分批处理,减小内存压力。并应用了multiprocess模块来实现多进程处理,充分利用多核CPU来减少运算时间。 直接运算的问题 使用pandas读取大于2G的数据,需要占用远远超过2G的内存,就算主机有32G,在读取多个文件,在加上多个复杂计算的代码后,内存也很快被挤爆。而且运算需要的时间过长,不做多进程设计的情况下,16核的CPU只有可怜的一核在做运算,其他核处于围观状态。就算内存没被撑爆,运算时间也需要10个小时以上。直接不加处理运算在面对此情况下的需求时,变得一筹莫展。怎么破? 破解思路 首先要解决数据太大占用内存过高的问 …
阅读更多 -
买车经过 在北京那么多年,总算于今年6月拿到了新能源指标,但是到底买不买车却一直在纠结。纠结点在于我们小区是个老小区,停车位非常紧张,更不用说装上配套的充电桩,所以一度想把车牌租出去。直到这个月,指标时间有效时间过了大半,才决定还是自己买,因为要租出去的各种风险,我们家感觉难以把握。目标车型是体积一定要小,我们这个老小区小一点车还好插一下各种缝。再有就是续航要有400公里,满足没有固定充电桩和跑长途的基本要求。最后就是要有快充。这几项条件筛选下,五菱宏光的mini ev本来是我首选,体积符合,但其他性能太渣。最后定在几何E,一个小suv;零跑T03,满足条件中体积最小的;还有就是比亚迪海豚。最后结合夫人颜值筛选,和考虑到销量,技术先 …
阅读更多 -
最近有些疏于更新博客,必须检讨。换了部门以后比以前忙了很多,做了一些我感兴趣的工作,比如下面这个软件工具。 需求分析 在临床试验的标准提交文档中,有一项是CRF的注释版本文件,叫做注释CRF(annotated CRF, aCRF)。传统做这个工作是比较耗时的,因为只能用pdf编辑软件,手动的插入一个一个的文本框,输入文字后,往往还有调整颜色位置,方框的大小等等。做一个项目评论需要3个工作日。还有一个痛点是,注释和CRF是耦合在一起的,一旦CRF更新,意味着要从头再做一遍aCRF。业界有一些实践,一般是使用SAS来编辑pdf的xml文件再合成。这次转入新部门后,统计编程团队的老大,看到我之前对这方面的自动化有一些探索,他对实现这项工 …
阅读更多 -
需求 很多时候,我们要把自己本地开发的python程序发送别人或者转移到另一个环境中运行使用。转移的目的环境有可能无法直接联网下载安装包,这时我们就需要把安装包提前在自己环境中下载好,然后连同依赖包文件一起发送给其他使用环境,并进行离线安装。下面介绍pip的相关命令来进行依赖包的下载和安装。 下载依赖包 - 构建安装包列表文件 我们可以根据需要来构建一个requirement.txt的配置文件。这个文件可以直接由以下命令生成,生成以后可根据目标程序的需要进行一些删减。这样就得到了我们的依赖包列表。 1 pip freeze > requirement.txt 下载依赖包文件 使用下面这行简单的命令来把上述列表中的python包 …
阅读更多 -
前言 开始学习SAS,看到之前的很多程序多有很多繁杂的OPTIONS设置,遂收集了一下常见options的意义,总结于此。 常用options的意义 - 名称 解释 ls 每页行数 ps 每行列数 obs 表示需要处理的最后一行observation 指定为max就表示处理到最后一条观测 firstobs 表示需要从第几行observation开始处理 默认是1 msglevel 默认值为N 仅打印 notes warning 和 error信息;如果为I,则额外打印附属信息,索引的使用 合并处理 排序等附加信息 errors 指定最多有多少错误可以在log中显示 macrogen 将宏扩展的结果显示在log …
阅读更多