语言消息> 红包 > 公众号 > 小程序 前 2 步只是解决基本需求,后面 2 步布局 ,公众号成功才引出小程序,现在微信就是另外一个小型的互联网。
> 之前看书说单线程 Eventloop 处理事件时候可能因执行时间过长把线程阻塞了,所以演变成每个事件处理都用线程池里的线程去处理。
你这句话根本不成立,多线程的 eventloop 执行也不应该长时间跑,如果长时间要跑就单独丢到其他线程队列任务中去,做完再回调回去即可。eventloop 本质用来推动事件流动,而不是在里面跑很长的业务。不然你的程序业务大了,你怎么保证稳定性。
演变线程池只是业务事件太多,提高 event 处理能力,同时利用多 CPU 资源。。
图片:单个文件压缩算法,不就是帧内压缩, 能压缩就那么大。
视频:压缩体积大的原因,通过帧间压缩。
自己写一个手机协同工具,开始用一张张图片压缩后传送到 PC ,网络传送可以大概一直是 8M ,后面欢用 h264 基本就是 200 多 KB 。
h264 说白就是 前和图片有关联只要传送变化就可以了, 以前看远程控制的软件,没有用 h264 ,自己写压缩算法,就是计算前后图片的改变内容,然后传送改变的 rbg 值。。。
程序员吧,只是不用考虑盈利,想开发产品就开发什么产品,想研究什么技术就研究什么技术。
自己用的所有软件,全部自己实现一遍。。
H5 渲染和 flutter 逻辑不都是自己画界面,屏蔽跨平台,给上层提供统一接口,有什么区别。。。
只是应用场景不一样,效果不一样而已。感觉这个离线没有关系,electron 我们开发桌面时候,如果不需要网络不一样可以离线使用。
如果当 H5 渲染速度最够快,能够解决足够多的场景,那么其他跨平台方案也没有必要,目前就是无法达到,才需要别的跨平台方案来满足不同的场景
2 和 3 楼方法已经说出来了,连接要重连机制,不管你是长连接还是短连接,这块可以借鉴微信开源的网络库 mars
我感觉作者想要一个类似 ngnix 代理,可以考虑在业务程序前加一个前置程序(一般游戏登录服务器),然后再分配到具体业务服务器。
A[前置] + (B+C+...)[业务服务器]
B+C 等业务服务器状态通过 redis 同步数据。
我会回答第五条:
依赖不同版本,可以用 GetProcAddress 指向不同版本的运行库。
我自己小米笔记本,但貌似不是 Pro ,一个风扇巨响,只要转就响。
我自己找 B 站 找到一个视频只要滴油就可以了,我自己亲测也是可以。有这样子问题,你们可以试试。
我自己滴食用油,因为当时看到视频,来不及买润滑油。。
在 B 站搜索 小米笔记本 风扇 响 应该能找到。
完全得 P2P 只有到一定规模才可高,如果没有中心服务支持,服务没法保证得。
你看 BT 在国内使用率与迅雷 P2PSP 使用率比例是多少?
上面想法很多年前就提出来了,只是落地很难。
前几年:
在公司开发项目从无到有,从没有用户到有一批忠实的用户 这个过程。
实现功能会首先考虑产品基础上,用什么技术会根据 产品和公司的资源考虑,以前只要实现功能就可以了,代码丑一点没有关系。
过几年:
看了几本于认知和思考书籍,我发现以前多走了一些弯路,慢慢考虑之前认为虚无的问题。。。。
我看了好多回答,感觉本质为什么产生大小端问题还是没有答出来?
我们看的书籍都说跟 CPU 有关系,CPU 处理 机器码 是没有语言,没有类型可分,他只人 0 1,更加不存在 int short long 这些所谓类型逻辑,既然跟 CPU 有关系,CPU 执行机器码时候是不关心,所以只有在机器码上一层才会有可能,所以我在上面回答说 汇编层的问题, 汇编进行的操作数才有这个问题。汇编代码也跟 CPU 厂商有关系。intel 与 IBM 汇编代码实现不一样,导致操作数在内存不一样,所以才会出现大小端问题。
大小端是电脑对 short 和 int 读写处理规则而已,这个跟 JSON 和 xml 解析类似的原理,只是大小端针对二进制数据处理,所以不是那么直观理解。
这种描述不是很好理解,你可以写代码测试。
C 语言
int i = 0x12345678;// 如果小端 CPU 跑的程序内存二进制是:0x78562312
int i = 0x12345678;// 如果大端 cpu 跑的程序内存二进制值是:0x12345678
int i = 0x12345678;
unsigned char* c = (unsigned char*)&(i);
for( int n = 0; n < 4; n++){
printf("%x",c[n]);
}
window pc 电脑 一般是小端:
打印结果 :78563412
我的理解:
我们写代码 int i = xxxx,但编译器根据 cpu 类型换成对应的汇编代码。32 位的程序,汇编中有 word dword 来表示 2 个字节和 4 个字节。但由于历史发展原因,汇编表示 word dword 存放顺序不统一,才产生大小端由来,cpu 厂商不一样,想法一样,这个跟当初浏览器 保准不同一类似。
总结:
大小端问题其实汇编层问题,所以我们用高级语言时候是了解不到整数在具体存放方式,所以不是那么容易理解。
我们 char 根本没有大小端问题,因为汇编层只是针对 word dowd 存放不一致。但不要理解 int i = 0x12345678;
writeFile((char*)&i); 这样子是没有解决内存的问题,而是你要把 i 分解成 char c1 = 0x12, c2 = 0x34, c3= 0x56,
c4 = x078, 然后分别写入到字节流去。
如果你传递数据是 char 或者准确说字符串是不用关心大小端问题,你看 http 传送根本不用关心大小端,只有传递二进制
数据结构
{
int id;
int len;
char [xxxx] packet;
}
类似含有 short 和 int,long 字节形识,就要考虑大小端问题。
上面是我自己对大小端理解,可能一些解释不是很正确,麻烦谅解。
场景:
大小端一般用于网络通信,因为用户电脑 CPU 可能不一样,所以通信字节必须统一(可以统一为小端也可以统一为大端,看客服端与服务器约定),现在高级语言都有 buffer,对整数或者 long 或 short 进行大小端操作方法,非常方便。
miui 手机管家不要点击立即优化就可以,就不会自动关闭开发者模式。
感觉这个思路有问题,如果你的电脑摄像头都入侵了,说明你的电脑都被入侵了。它可以入侵你的局域网电脑,入侵你公司或者家的摄像头或者其他。那为什么不直接加强自己电脑安全呢?但入侵你的电脑,你电脑的资料没有隐私吗?浏览器保存密码不是隐私吗?你的网页登录账号 cookie 不是隐私吗?
感觉有点本末倒置搞法
如果远程父母手机,可以考虑 uu 远程,无需 root 。
每个人追求不一样。。。
有时候会想如果明天是世界末日,你回看自己一生是否会后悔。如果如果觉得后悔说明你现在生活不是你想要的,那么你就可以进行改变
关键词匹配,然后自己解析调用自己实现接口。
用户每次连接,可以自动推送帮助文档即可。
用户场景应该很明确才对。。。
应该是下载没有走代理,你自己都比对了。
具体为什么走代理,就要你自己排查。
pac 模式 ,PAC 没有包含网址或者匹配规则不对
全局模式,chrome 浏览器是不是开启具有代理的插件,这样子代理会走最后设置的代理