@微信 SDK 开发者,发现一个 BUG~

迁移自本人在 CSDN 上的博客:https://blog.csdn.net/build7601/article/details/39826065 经过测试,发现微信客户端登录 SDK 有一个 BUG。注:目前只在 iOS 上测试过,可以重现。 BUG 重现 1.做一个可以用微信登陆的软件,先安装到设备。 2.更改 project 的 Bundle Identifier,只更改大小写,重新安装到设备。P.S.实际情况是包名大小写修改过引发这个问题。 3.打开第二个安装的 APP,选择微信登陆,跳转到微信。 4.点击微信登陆,则会跳转到第一个 APP 中,而不会跳转到第二个 APP。 我的 BUG 分析 这可能是因为,微信 sdk 传到微信的是一个 bundle identifier+回调函数地址,回调时找到另一个 APP 再执行回调。 可能在某处进程的名称不分大小写,按照顺序找到了第一个去了。一旦两个 APP 版本不一致,可能执行到空的地址甚至发生不可预测的行为。 经过测试,发现同一样的版本的 APP 也发生了崩溃。

Read More

用数学方法 + 数学软件去做一个物理题~

迁移自本人在 CSDN 上的博客:https://blog.csdn.net/build7601/article/details/39433177 经过测试,发现微信客户端登录 SDK 有一个 BUG。注:目前只在 iOS 上测试过,可以重现。 原题: 跳伞运动员在下落过程中,假定伞所受空气阻力大小跟下落速度的平方成正比,即 F= kv2,比例系数 k=20N·s2/m2,跳伞运动员与伞的总质量为 72 kg,起跳高度足够高,则:(g 取 10 m/s2) 跳伞运动员在空中做什么运动?收尾速度多大? 当速度达到 4 m/s时,下落加速度是多大? 做法: 我拿出我的数学大杀器,直接受力分析 + 牛顿第二定律得出 a=g-k/mvv. 我一看,这转化成数学不就是 f’’(t)=10-5/18*f’(t)^2, f(0)=0, f’(0)=0,喜闻乐见的微分方程啊哈哈! 直接丢到各种数学软件,我用了Wolfram|Alpha 瞬间得到答案: f(t) = -6/5 (5 t-3 log(e^(10 t/3)+1)+log(8)) yeah~ 看看上面那个网址里面下面的函数图像,表示第一题可以秒杀~ 好的,至于第二题,因为速度为 4,则可以写出:f’(t)=4 的方程,输入 d(-6/5 (5 t-3 log(e^(10 t/3)+1)+log(8)))/dt=4 解出 t = (3 log(5))/10 带入 f’’(t),输入 diff(diff(-6/5 (5 t-3 log(e^(10 t/3)+1)+log(8)),t),t),t=(3 log(5))/10, 得 a=5.5556. 大功造成~

Read More

写了一个程序,分析各个源文件之间的 include 关系。

迁移自本人在 CSDN 上的博客:https://blog.csdn.net/build7601/article/details/37343993 最左边是 expat,上面 zlib,左下角 mxml,中间最恶心的是 lua,右边的是 jpeg。 讲讲大概思路: 1.扫描源文件,这里判断最简单的#include,然后建立关系。 2.把这些作为一个个 body 加到 box2d 的世界里,让物理解决这一切!! 3.然后把有 include 关系的用一个 distancejoint 连接起来~你会发现他们就能保持一定距离了。但是!没有被连接的全都聚在一起,怎么办! 4.把距离近的,不和自己相连的(来个 dfs)给个反方向的力! 5.好吧,这就是最终结果,有什么更好的方法?希望大家交流。 6.我不想开源,毕竟这还只是个半成品。。。。。做好了自然会开源的 7.像那个恶心的 lua 怎么解开?文件之间的依赖太多了,成环了。 8.使用 java+libgdx+box2d 写成,也就是说 android 也支持。 9.没啥了。。。。

Read More

IntelliJ IDEA 手动更新方法

迁移自本人在 CSDN 上的博客:https://blog.csdn.net/build7601/article/details/27704683 经常,IntelliJ IDEA 更新时,会发现这个: download-cf.jetbrains.com/idea/IU-135.690-135.909-patch-win.jar 下载不了。不然只能去下载完全版重新安装一次 解决方案如下: 使用代理下载上面那个文件(视版本而定), 拷贝到 IntelliJ IDEA 安装目录, 敲击 java -classpath IU-135.690-135.909-patch-win.jar com.intellij.updater.Runner install . 注意,最后那个点表示更新到当前目录。 会输出这个:Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/log4j/Layo ut at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Layout at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.

Read More

Linux on Android 简单教程

迁移自本人在 CSDN 上的博客:https://blog.csdn.net/build7601/article/details/24544879 介绍: Linux on Android,顾名思义,就是让你能在 Android 上跑 linux。。。。 步骤: 1.下载所需的文件: 项目主页为:tinyurl.com cn3lxgz 在这里举 Ubuntu 13.10 为例,下载 tinyurl.com lp7fqw4 Core 只有最基本的东西,没界面。。但是我的 sd 卡空间过小,只好用这个, Small 就有界面了,Large 还有很多东东,具体看 tinyurl.com m5tdmkj 下面的 Readme 然后下载 Complete Linux Installer,这是用来启动 linux 的: tinyurl.com mzsbud8 还要下载 VNCViewer(浏览 linux 桌面),终端模拟器 2.做好准备工作: 解压下载好的 zip,把里面的.img 解压出来。 安装好 Complete Linux Installer VNCViewer 终端模拟器到 android 上,把解压的.img 文件传到 sd 卡上,比如: adb push ubuntu-13.10.CORE.ext2.img 你的 sd 卡路径 安装完是这个样子的: 3.开始启动! 打开 Complete Linux Installer, 选择启动系统,点击右上角 Settings,选择添加:

Read More

工具

在线工具 下面是我常用的一些在线工具: 别人编写的: https://gchq.github.io/CyberChef/ https://godbolt.org/ https://hpd.gasmi.net/ https://tcpdump101.com/ https://regexper.com/ https://crontab.guru/ https://salmanarif.bitbucket.io/visual/index.html https://mathpix.com/ https://www.falstad.com/circuit/circuitjs.html https://merricx.github.io/qrazybox/ https://www.epochconverter.com/ https://www.vultr.com/resources/mac-converter/ http://www.sunshine2k.de/coding/javascript/crc/crc_js.html https://www.easyunitconverter.com/ https://gregstoll.com/~gregstoll/floattohex/ 自己编写的: S-DES 可视化 https://jia.je/sdes-visualization/ Booth 乘法可视化 https://jia.je/booth-visualization/ 整数除法可视化 https://jia.je/integer-divide-visualization/ 在线运行 TAC 代码 https://jia.je/online_tac_vm/ 在线编译 Decaf https://jia.je/online_decaf/ 在线解码登机牌信息 BCBP https://jia.je/decode-bcbp/ 调试工具 CPU 上的调试器:GDB LLDB 编译器自带:AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer Valgrind 系列:valgrind, memcheck, cachegrind, callgrind, helgrind, drd, massif, dhat, lackey, nulgrind, bbv MPI Tracing: Pilgrim: Logger for MPI communication GPU Race Detection: iGUARD: In-GPU Advanced Race Detection NUMA Profiling: NumaPerf: Predictive NUMA Profiling OpenMP Race Detection: archer: a data race detection tool for large OpenMP applications Python Profiling: cProfile, Guppy3: A Python Programming Environment & Heap analysis toolset, PyInstrument: Call stack profiler for Python, Austin: Python frame stack sampler for CPython, py-spy: Sampling profiler for Python programs, Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python

Read More

开源软件贡献

记录我对开源软件的一些微小的贡献,以勉励自己,督促自己不忘为社区做贡献。 Maintenance 我主要参与如下开源项目的维护: canokeys lsof-org/lsof nfcim NixOS/nixpkgs aws-cdk feat(cloudfront): support Behavior-specific viewer protocol policy for CloudFrontWebDistribution bandersnatch Skip downloading based on file size and upload time instead of sha256sum cargo Don’t create hardlink for library test and integrations tests, fixing #7960 chiseltest Fix VCS simulation binary path Fix issue #428: add blackbox sources to argument of icarus-verilog and vcs Fix VcsFlags not properly passed to vcs backend FloPoCo two more bug fixes by Jiajie Chen Remove the duplicate code lines: R <= (bug reported by Jiajie Chen) Commits by me force-riscv Fixed compilation error: std::string and int64_t undefined gpaw Fix issue #269 to add additional broadcast in some cases Capture and ignore AttributeError thrown in getpreferredencoding() in newer Python versions gtkwave Fix compilation under macOS for Nix KiCad libcontext: Initial support for Apple Silicon KNEM driver/linux: use the pin API added in Linux 5.

Read More

系列

下面列举了我的博客里的一些系列文章。 教学系列 #teaching 近来做 Stanford CS140e 的一些进展和思考 #cs140e 每周分享 #weeklysharing 在 FPGA 上实现路由器 #router-on-fpga 浅谈乱序执行 CPU #brief-into-ooo 缓存一致性协议分析 #coherence

Read More

项目

jiegec 的项目 受 wangrunji0408/UndergraduateProjects 启发,我也来总结一下。 Q:时间都去哪儿了? A:刚刚睡醒 什么事 目录 计算机系课程及相关作业 时间 课程 项目 2017.10 离散数学 Props 2017.11 程序设计基础 SimpleExtFs 2018.05 面向对象程序设计基础 OnePassSynthesisDMFB,NaiveLedger 2018.06 概率论与数理统计 HLLeBPF 2018.07 程序设计小学期 DMCD,ChineseChess,SearchEngine 2018.11 软件工程 Info9 2019.02 操作系统 rCore 2019.04 人工智能导论 Pinyin,FourChess,EmotionClassifier 2019.04 存储技术基础 KVEngine,HERMES 2019.05 多媒体技术基础 RBSplit,MultimediaCompression,MultimediaSound,MultimediaAnalysis 2019.06 数字逻辑设计 NaiveRouter,router,router_mb,router_ksz8795,rgmiimux 2019.06 计算机网络原理 Router-Lab 2019.07 专业实践 GuGuMIPS,GuGuMIPSSoC,linux-gugumips,u-boot-gugumips,ucore-gugumips,usbh 2019.08 Java 程序设计与训练 JabaHomework,NewsApp 2019.08 汇编语言程序设计 asm-homework 2019.09 计算机网络安全技术 sdes-visualization 2019.10 计算机组成原理 booth-visualization,integer-divide-visualization,rocket2thinpad 2019.10 编译原理 online_tac_vm,online_decaf,gll-pg,decaf-lsp,decaf-rs-pa 2020.01 信号处理原理 SignalProcessing 2020.

Read More