2024年12月12日
摘要: 在chromium的进程之间使用ipc+protobuffer的方式通信,这样既能保证对模块松耦合,又可以保证独立运行时不会相互被影响。 主要用于以下两个方面: browser进程和系统适配层之间的通信;(包括:音视频播放器或者走行规制相关的接口等) browser进程和render进程之间的通信。 阅读全文
posted @ 2024-12-12 19:29 步孤天 阅读(7) 评论(0) 推荐(0) 编辑
  2024年12月11日
摘要: 目录一、RunLoop二、BindOnce和Bind相同点不同点三、scoped_refptr 在阅读代码过程中,学到的东西很多,但是仔细想想看值得记下来的却没有几个。下面是几个chromium相对具有特色的代码片段。 一、RunLoop 扒掉层层继承和实现,RunLoop相关的基本逻辑代码如下: 阅读全文
posted @ 2024-12-11 17:15 步孤天 阅读(12) 评论(0) 推荐(0) 编辑
  2024年12月9日
摘要: 在阅读Chromium源码过程中,主要看的是公司自研的部分,不能对外分享。在自研部分中,用到了很多设计模式。 比如:js注册监听函数,底层发现登录状态发生变化,产生登录或退登事件,事件从底层传到js层,就主要用到了观察者模式、代理模式、桥接模式、命令模式等。 下面内容是通过询问AI生成的文本,在此做 阅读全文
posted @ 2024-12-09 18:32 步孤天 阅读(17) 评论(0) 推荐(0) 编辑
  2024年11月15日
摘要: Chromium源码分析二:LifeofaPixel.pdf 目录LifeofaPixel个人观点ccLayer树skia、vulkan、openGL、openCVSkiaVulkanOpenGLOpenCV区别联系PrePaint LifeofaPixel.pdf像素的一生,跟随像素的一生去理解C 阅读全文
posted @ 2024-11-15 19:42 步孤天 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 目录Webkit、chromium、Google chrome各模块结构图进程模型代码结构 我的衣食父母基于Chromium实现小程序功能,现在已经开发维护代码一年多了,抽时间对公开的知识做个笔记总结。 本文内容源于《WebKit技术内幕》 Webkit、chromium、Google chrome 阅读全文
posted @ 2024-11-15 18:49 步孤天 阅读(55) 评论(0) 推荐(0) 编辑
  2024年9月20日
摘要: valgrind是一个很好的内存检测工具,可以让程序员避免用“瞪眼法”去定位内存泄露问题。下面记录一下本人在arm64上使用valgrind的过程。 目录1.下载最新版本的valgrind源码2.解压3.编译4.打包4.运行5.报错及解决方法 1.下载最新版本的valgrind源码 https:// 阅读全文
posted @ 2024-09-20 12:01 步孤天 阅读(182) 评论(0) 推荐(1) 编辑
  2023年12月6日
摘要: 每次配置 gerrit 需要用反向代理来实现auth_basic_user_file,以前用apache 进行配置,但不喜欢 apache 要换成 nginx,结果换成 nginx 之后,登录后打开project页报错“The page you requested was not found, or 阅读全文
posted @ 2023-12-06 15:33 步孤天 阅读(355) 评论(0) 推荐(0) 编辑
  2023年10月7日
摘要: 想省事用Claude(一个 依托chatgpt 的 AI)生成一段 golang 的文件浏览下载示例,结果给生成的代码大概是这样的(省去了无关部分,主要部分如下): http.HandleFunc("/*", downloadFile) http.HandleFunc("/", showFileLi 阅读全文
posted @ 2023-10-07 15:54 步孤天 阅读(365) 评论(0) 推荐(0) 编辑
  2023年8月8日
摘要: ### 一、背景 老人家人经常说谁是什么命,一般地是出自六十花甲子纳音表。 看了纳音表中的五行属性不是按顺序排的,那是怎么算的呢? ### 二、计算方法 伪代码大概是这样的 ``` //纳音,顾名思义,音只有宫商角徵羽五音,所以只能是1到5 //又因为每个五行都占相邻的两个天干地支,所以就有了下面的 阅读全文
posted @ 2023-08-08 18:38 步孤天 阅读(358) 评论(0) 推荐(0) 编辑
  2023年7月19日
摘要: ### 背景 发现磁盘满了,是由rsyslogd打印的日志占的,手动rm -f /var/log/xxxx.log后,就没管了磁盘(30GB)占用率95%,过一段时间du -sh /一看,总共才(6GB),占用还是27GB。说明并没有被释放。 ### 最终解决办法 ``` lsof |grep "d 阅读全文
posted @ 2023-07-19 10:34 步孤天 阅读(119) 评论(0) 推荐(0) 编辑
  2023年5月18日
摘要: 在线评判系统安装: https://gitee.com/yhssdl/lpszoj/blob/master/docs/install.md 其他问题升级到php7.4 https://blog.csdn.net/zhongliang415/article/details/108640682#:~:t 阅读全文
posted @ 2023-05-18 15:13 步孤天 阅读(18) 评论(0) 推荐(0) 编辑
  2023年4月14日
摘要: 正常情况如果vim只是发现行尾有^M,那么直接使用dos2unix就可以了 dos2unix yourfile.txt 但是有些文本只有^M没有换行。这是因为一般换行都是"0x0d0x0a",0x0d是回车键,0x0a是换行。只有^M没有换行,是因为只有0x0d没有0x0a,这时可以用sed替换 s 阅读全文
posted @ 2023-04-14 15:02 步孤天 阅读(333) 评论(0) 推荐(0) 编辑
  2023年4月13日
摘要: 背景 项目在运营过程中,经常会将mysql全量备份。备份的文本有10多GB。 当需要用一部分数据来重现某个项目问题时就犯难了: 10多GB导入到mysql没必要且耗时; 复制一份数据用vim将不用的部分删掉,vim打开查找的速度太慢了; 解决办法 找到所有数据库所在的行号; grep "CREATE 阅读全文
posted @ 2023-04-13 15:11 步孤天 阅读(124) 评论(0) 推荐(0) 编辑
  2022年12月21日
摘要: golang打印变量类型方法 glist = list.New() fmt.Printf("%T",mylist) 结果: *list.List golang把list中的any类型转化为目的类型 zz := new (XNSSS) glist.PushBack(zz) for element := 阅读全文
posted @ 2022-12-21 14:20 步孤天 阅读(699) 评论(0) 推荐(0) 编辑
  2022年12月19日
摘要: 今天mysql从一个mysql库中导入另一个mariadb库中是总是报: ERROR 2006 (HY000) at line 176 in file: 'xxx.sql': MySQL server has gone away 但我是在当前服务器上导入的不可能是网络问题。 解决方法 后来按如下方法 阅读全文
posted @ 2022-12-19 15:52 步孤天 阅读(216) 评论(0) 推荐(0) 编辑
  2022年11月25日
摘要: 背景 用wireshark windows版本把视频流保存出来,结果只有抓包的一半,另一半丢失了。 为了验证是视频流的问题还是wireshark的问题。不得已,研究起了tshark,最终确定wireshark 400MB抓包文件的前200MB。 tshark是可以在linux命令行中运行的wires 阅读全文
posted @ 2022-11-25 19:46 步孤天 阅读(442) 评论(0) 推荐(0) 编辑
  2022年11月3日
摘要: 转载自:https://blog.csdn.net/Garenliu/article/details/122666532 背景 想在Windows上,远程桌面操作麒麟OS。 麒麟OS操作 安装启动VNC服务端 安装服务端 桌面->右键->命令窗口 安装vncserver sudo apt-get i 阅读全文
posted @ 2022-11-03 10:33 步孤天 阅读(3413) 评论(0) 推荐(0) 编辑
  2022年10月27日
摘要: 如何把数据库字段导出成表格 参考地址: https://blog.csdn.net/dkjkls/article/details/87902067 mysql语句 SELECT TABLE_NAME 表名, COLUMN_NAME 字段名称, COLUMN_TYPE 字段类型, COLUMN_DEF 阅读全文
posted @ 2022-10-27 10:11 步孤天 阅读(212) 评论(0) 推荐(0) 编辑
  2022年10月9日
摘要: 小程序调试过程中不可能等插件审核上线之后再调试,因此需要在开发阶段就对接调试。 插件工程 插件工程(就是插件源代码)里的app.json plugins部分配置如下: "plugins": { "ssk": { "version": "dev", "provider": "wxcb111111111 阅读全文
posted @ 2022-10-09 18:25 步孤天 阅读(279) 评论(0) 推荐(0) 编辑
  2022年9月22日
摘要: golang实现telnet 网上搜了两篇golang实现telnet的,功能可以但不能持续输入,稍加修改. 代码 最终代码如下: package main import ( "fmt" "log" "net" "strings" "time" "bufio" "os" "io" ) type Te 阅读全文
posted @ 2022-09-22 13:58 步孤天 阅读(1539) 评论(0) 推荐(0) 编辑