Wbq's Blog

「一啄一饮,莫非前定」

差点被骗了一个ETH

起因 前段时间在群里看到群友发了一个油管的链接,视频内容大致就是你只需按照他的代码部署机器人的EVM合约即可躺赚收益,原理就是狙击在Uniswap在某些大额交易变成“事实”之前抢先插队在大额买入或卖出之前买入,并且在大额买入或卖出成功后立马卖出或买入完成套利。 经过 抱着怀疑态度,看了下评论(当时觉得800多条评论,不可能是假的吧),觉得卧槽牛逼,赶紧试一下。作者还为大家解惑,为什么免...

聊聊libffi的调用机制

背景 花了点时间分析了下libffi的调用机制,做个总结。 什么是libffi libffi是ffi的主流实现方式,其主要是用C和汇编来实现的。 原理和用法市面上已经很多,下面这两篇是我觉得讲得较为通俗易懂的,这里就不做过多的解释了。 外部函数接口 FFI —— 虚拟机中重要但不起眼的组件 使用 libffi 实现 AOP libffi的调用流程 PS:最近换了M1,所以以下...

在FlutterBoost下FadeInImage反复刷新问题

问题背景 路由框架采用flutterboost,根视图UITabbarController的其中一个item的页面是flutter,该flutter页面采用了FadeInImage显示图片,其余都是native。在剩余的native中可以点击进入flutter页面。直接看现象: 结果:只要切换了别的flutter页面再回内嵌在TabbarItem的flutter页面,页面中的图片就会...

浅谈区块链(一)

比特币总结

这篇文章本来是发在简书,发出去的一刻,直接被锁,只能自己可见,估计是文章关键字扫到了,看来目前国内对这个管控还是挺严。 话说很早就开始玩币了,从17年开始,从来没有赚过钱,当时是在网上冲浪发现这个东西,下了个火币来玩一玩,买了500块eos,事实证明eos到现在还是那个鸟样。这几天心血来潮,想要系统性地学习一下区块链的知识,再好好去研究一下别的项目,区块链的知识量真的是太大了,先总结第一篇,...

Xcode13.0 iOS15 debug异常崩溃

早上应用各种崩溃,一个应用WKWebiew莫名崩溃、另一个则是起都起不来。只要不是处于调试模式下都OK,即便是从模拟器点开app。分析了半天还是同事告知是苹果出了问题…. iOS & iPadOS 15 Release Notes 临时解决办法 1 2 Workaround: In Xcode, select Product > Scheme > Edit Sche...

如何设计一个好的WebView容器

前言 众所周知,iOS的网页组件很封闭,基本就是基于WKWebview修修改改。看起来能做的不多,但是一个好的webview容器,其实能做的事情还有很多。今天想聊一下,一个好的webview的容器,除了自己本身的功能,还需要哪些设计。 1.jsbridge的设计 wk很容易就可以使用jsbridge,只要在configuration.userContentController注入调用名...

聊聊热更新

想写这篇文章挺久了,今天我们来聊一聊热更新。 0x01.前言 国内开发者对于热更新不可谓不热衷,前仆后继地发明一个又一个新思路,我自己也是对热更新特别感兴趣,尤其对iOS来说,这更是一片敏感的灰色地带,自从jspatch被苹果警告之后,各家公司的热更需求依然没有减弱,因此这个话题变得相当微妙,各家公司都有一些自己的方案,并且不再开源,因为开源意味着会像jspatch一样变成把子,业界最著...

C++语法笔记

语法笔记总结

最近需要用C++做一些跨平台的组件,我自己本身对C++的语法不是特别熟练,也算是边写边学。 记录了一些平时开发过程中用到的语法笔记。 1.C++支持函数重载,C不支持。底层用了namemangling技术,通过编译器把函数名字改掉,每个方法名不一样。不同编译器有不同的生成规则。 2.extern “C”: 被extern “C” 修饰的代码会按照C语言的方式去编译。 ...

编译原理(一)

编译原理学习

最近在看基于DSL的热更新框架,瞬间对编译器原理产生了浓厚的兴趣。百度、知乎了很久,给自己定了一套学习路径(🐶)。龙书,虎书,鲸书这些是必看的,但是书还在路上。《Engineering a Compiler》和《游戏脚本高级编程》看起来口碑也不错。不过我的入门,从一本叫《两周自制脚本语言》开始(以下简称《两周》)。希望这个主题会有第二篇、第三篇….吧。 0x01.前言 在计算机的世界里,...

彻底搞懂HashMap

一些HashMap的原理

前言 关于Java的HashMap的资料真的太多了,用被研究“烂”了形容也一点不过分😂,此篇文章就几个疑难问题加上自己这两天的研究,做个总结。 1.原理实现细节总结 1.hashMap在Jdk1.7和1.8略有不一样,1.7是数组+链表,1.8是数组+链表+红黑树。 2.通过系统提供或者自定义的hashCode()算法算出key的hashCode&table.lenth - ...