Skip to main content

proxychians 刚装上就拉了

· 2 min read
VisualDust
Ordinary Magician | Half stack developer

疼逊云服务器打折忍不住买了五年,刚装上 proxychains 写好配置文件之后第一次用就出现 ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. Opening in existing browser session. 异常。看了一下 libproxychains.so.3 这个文件是在的:

in:

whereis libproxychains.so.3

out:

libproxychains.so: /usr/lib/x86_64-linux-gnu/libproxychains.so.3

后来发现其实是 proxychains 启动脚本文件里写的文件位置是这样的:

关于 setTimeout 的一些小故事

· 5 min read
VisualDust
Ordinary Magician | Half stack developer

@lideming曾经向我举过几个setTimeout的有趣例子。我先前不是很了解 JavaScript 的并发模型和事件循环,这些例子对我来说都算得上是巨坑无比了。

setTimeout 和事件循环

函数 setTimeout 接受两个参数:待加入队列的消息和一个时间值(可选,默认为 0)。这个时间值代表了消息被实际加入到队列的最小延迟时间。如果队列中没有其它消息并且栈为空,在这段延迟时间过去之后,消息会被马上处理。但是,如果有其它消息,setTimeout 消息必须等待其它消息处理完。因此第二个参数仅仅表示最少延迟时间,而非确切的等待时间。

下面的例子演示了这个概念(setTimeout 并不会在计时器到期之后直接执行):

React 异步渲染内容

· 2 min read
VisualDust
Ordinary Magician | Half stack developer

在React(typescript)中渲染需即时加载的元素。主要思路是使用useEffect Hook加载内容,而后使用useState Hook在加载完成时重新渲染界面。简短的代码描述如下:

interface AsyncCompomentProps {
func: () => Promise<JSX.Element>;
default?: JSX.Element;
}

function AsyncComponent(props: AsyncCompomentProps) {
const [loaded, setLoaded] = useState<JSX.Element>(null);
useEffect(() => {
props.func().then((result) => {
setLoaded(result);
});
}, []);
return loaded ? loaded : props.default ?? <div>Loading...</div>;
}

<AsyncComponent
func={async () => {
await new Promise((r) => setTimeout(r, 3000));
return <div>hi</div>;
}}
default={<div>I'm loading...</div>}
/>;

code review 常用黑话(×)

· 2 min read
VisualDust
Ordinary Magician | Half stack developer

经常忘记所以记下来(其实是网上冲浪的时候到处抄来的)

缩写英文释义中文释义
ATMat the moment现阶段
AFAIK/AFAICTas far as I know / can tell就我所知
TBHTo be honest老实说
TL;DRToo Long; Don't Read.PR 内容太多,没办法看
PRPull Request.拉取请求,给其他项目提交代码
PTALPlease take a look.请看一看
LGTMLooks Good To Me.代码已经过 review,可以合并
SGTMSounds Good To Me.和上面那句意思差不多,也是已经通过了 review 的意思
WIPWork In Progress.告诉项目维护者这个功能还未完成,方便维护者前 review 已提交的代码
PTALPlease Take A Look.提示项目 Owner/contributor review
TBRTo Be Reviewed.提示维护者进行 review
TBDTo Be Done (or Defined/Discussed/Decided/Determined).根据语境不同意义有所区别,但一般都是还没搞定的意思
IMOIn My Opinion在我看来、依我看、依我所见
IMHOIn My Humble Opinion IMO谦虚的说法
DNMDo not merge.不要合并