摘要: def foo(a, b=[]): b.append(a) return b ​ print(foo(1)) print(foo(1)) print(foo(1)) 这段代码会产生许多人可能意料之外的结果。以下是代码的行为以及背后的原因: 代码行为 def foo(a, b=[]): # 默认参数 阅读全文
posted @ 2024-12-03 16:02 Abraham_Xu 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Python 的函数参数传递并不一定比 C 语言更高效,两者在效率上的差异主要取决于底层实现和具体的使用场景。以下是详细的比较: C语言参数传递 效率 按值传递(Pass by Value)是 C 中的默认方式:函数调用时,实参的值被复制到形参。这意味着函数内部的修改不会影响外部变量。 C 使用编译 阅读全文
posted @ 2024-12-03 15:52 Abraham_Xu 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 合法 gcount = 0 def global_test(): print (gcount) global_test() 不合法,报错行: tmp = gcount + 1 gcount = 0 def global_test(): tmp = gcount + 1 gcount = tmp pr 阅读全文
posted @ 2024-12-03 15:28 Abraham_Xu 阅读(5) 评论(0) 推荐(0) 编辑
摘要: GNU “GNU”是“GNU's Not Unix!”(GNU并非Unix!)的首字母递归缩写。 平衡二叉树 也叫AVL树,它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和左子树的高度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。 前序遍历 (preorder 阅读全文
posted @ 2024-11-20 09:56 Abraham_Xu 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 说来惭愧,做CUDA相关工作已经有两年多,但是对CUDA编程的研究并不深入,最近想夯实一下基础,于是找了一个教程“cuda crash course“。 这个教程在B站和youtube上都有: B站:https://www.bilibili.com/video/BV127411G76m?p=1&vd 阅读全文
posted @ 2024-03-24 12:48 Abraham_Xu 阅读(131) 评论(0) 推荐(0) 编辑
摘要: list(map(lambda x: self.xxxx(*x), iterable_input)) 注意: 1. map函数在序列化之前是不会执行的。 2. 我这里的iterable_input是一个类型为tuple的迭代器,所以需要用*x来unpack。 3. 用lambda函数来解决self传 阅读全文
posted @ 2024-02-23 14:38 Abraham_Xu 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 我所说的软件工程能力指的是编程与代码架构以外的能力,主要分为三大部分,编译链接、脚本语言、版本依赖或其他脑筋急转弯类的问题。 编译链接问题分为三个层次,编译链接基础、Makefile、cmake。 脚本语言能力主要是shell和python(python as a script language)。 阅读全文
posted @ 2022-08-08 09:26 Abraham_Xu 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 1. 规律运动 2. 早睡早起 3. 平衡压力,保持情绪稳定 4. 不划水不突击 5. 有业余爱好可以放松自己 6. 注意积累工程能力,保持成就感 阅读全文
posted @ 2022-07-22 09:16 Abraham_Xu 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 大厂的程序员需要的是两种素质,聪明而且扎实,既要有足够的经验应付日常工作,又要从极强的快速学习构建新领域知识能力,关键是落地要稳,日常的东西不能出错,新的东西要快速验证。 阅读全文
posted @ 2022-04-02 21:28 Abraham_Xu 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 2021年6月 能力优势 工作积极,热爱学习,学习能力强,执行力较强 能力劣势 提高解决问题、规划工作的能力 待改进点描述: 1. 开发遇到较大困难的时候容易找不到思路。 2. 有时对工作进度的把握不够精确,多工作任务时不够详略得当。 3. 计算机基础能力有待进一步夯实。 原因分析: 1. (1)对 阅读全文
posted @ 2021-06-22 10:42 Abraham_Xu 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 公司网上不去豆瓣之后,都没有一个可以说话的地方了,就放在这里吧,虽然博客园是个讨论技术的地方,谈谈工作谈谈理想也不为过。 还差三个月,来公司有三年了,其间,学到了一些东西,也遗失了一些东西。学到的有Linux、计算机体系结构、数据机构与算法、C++面向对象、C++11、OpenCL。遗失的,恐怕是一 阅读全文
posted @ 2021-06-03 10:13 Abraham_Xu 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 工作领域是异构并行计算加速,用的语言是C++、Python、OpenCL等等,随着工作的进行,发现要学的越来越多。As you know more, you know that you know less. 气宗: 计算机体系结构,编译原理,操作系统,数据结构与算法,设计模式 剑宗: C++面向对象 阅读全文
posted @ 2021-03-09 10:49 Abraham_Xu 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 一年未更,沉淀积累。 今日立春,万象更新! 这两天花了大概10个小时尝试在Windows环境下使用TVM工程的FFI Navigator插件,最终成功,在此记录。 传送门:只想看方法不想看过程的直接跳至分支B处阅读。 背景: 1. FFI 是多语言交互接口,在TVM工程中大量使用它来实现后端C++与 阅读全文
posted @ 2021-02-03 14:31 Abraham_Xu 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 本科专业 光信息科学与技术 计算机相关课程:《C语言程序设计》、《计算机组成原理》 研究生专业 光学 计算机相关实践:Matlab编程、VB编程 第一份工作 事业单位 + Matlab 1 year 第二份工作 数字信号处理 + 小波分析(前两项Matlab Python辅助)+ 自学吴恩达课程(P 阅读全文
posted @ 2020-03-10 17:45 Abraham_Xu 阅读(193) 评论(3) 推荐(0) 编辑
摘要: 多年以后,当Abraham凝视着一行行新时代的代码在屏幕上川流不息的时候,他会想起2019年4月17日那个不平凡夜晚,以及在那个夜晚他发现的那个不可思议的Bug。 虽然像无数个普普通通的夜晚一样,我在公司加班,一样ssh到公司在北京的服务器,但是发现resnet50的计算精度比上一版代码低了1%。一 阅读全文
posted @ 2019-04-17 22:14 Abraham_Xu 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1. array如果维度多了,就变成ndarray。 2. list切片类似C数组,多维度分别用”[]“索引,单维度切片用”:“,如: 但是这样做第二个维度索引不起作用: 把list当作ndarray去slice也是不对的: 3. ndarray切片用一个”[]“里面加逗号的方式,如: 这样做第二个 阅读全文
posted @ 2018-07-20 11:07 Abraham_Xu 阅读(10491) 评论(1) 推荐(2) 编辑
摘要: 源地址:https://blog.csdn.net/liangkaiming/article/details/5895052 问题的引出:在某型号的核心网络交换机设备中,为调试方便,实现了一个把内存内容从终端打印的功能,也就是dump memory,屏幕的左边显示十六进制,右边以ASCII形式显示, 阅读全文
posted @ 2018-07-19 13:55 Abraham_Xu 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 问题: 在TestFunc函数中int sum = 0;语句处设置断点欲查看array数组的所有元素内容,变量查看器中如何设置变量名? 1. Windows + VS2010 array,200 2. Linux + QtCreator 3.3.0 (int[200])array 阅读全文
posted @ 2018-03-21 09:53 Abraham_Xu 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 查询并排序db.getCollection('working_history').find({"identification" : "76170178"}).sort({"pick_time":-1}) 多条件查询db.getCollection('working_history').find({" 阅读全文
posted @ 2018-03-21 09:43 Abraham_Xu 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 常用 git status 跟踪状态git commit -m "xxx" yyy.cppgit pull git pushgit mergetool --tool=meld 合并工具 版本 git log 查看版本日志 git reflog 查看命令日志 可用于回退后再返回git log中已经消失 阅读全文
posted @ 2018-03-21 09:40 Abraham_Xu 阅读(316) 评论(0) 推荐(1) 编辑