Memcached 源码阅读笔记
阅读 memcached 最好有 libevent 基础,memcached 是基于 libevent 构建起来的,通由 libevent 提供的事件驱动机制触发 memcached 中的 IO 事件。个人认为,阅读源码的起初最忌钻牛角尖,如头文件里天花乱坠的结构体到底有什么用,源文件里稀里哗啦的函数是做什么的,刚开始并没必要事无巨细弄清楚头文件每个类...
2024-01-10手写Redux-Saga源码
上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Redux-Saga来处理复杂副作用。本文要讲的就是Redux-Saga,这个也是我在实际工作中使用最多的Redux异步解决方案。Redux-Saga比Redux-Thunk复杂得...
2024-01-10vue集成cesium,webgis平台第一步(附源码下载)
Vue结合Cesium的web端gis平台初步效果笔记本性能限制,运行Cesium温度飙到70度以上。所以平时开发时先开发界面,之后加载Cesium地球当前实现的功能组件化,模块功能分工集成Cesium操作面板可切换操作面板增加关闭按钮接下来待实现具体功能用户登录标注涉及后端,后端将开源,springboot...
2024-01-10【JS】webpack5源码导读:如何实现自定义 target
webpack5 正式版已经发布三个月了,目前最新版本是 5.11.1。具体的迁移指南请参考 webpack 官方的文档:Webpack 5 releasemigrating to webpack 5建议参考 webpack 官方的这些文档,比参考一些不完全、不准确的翻译有效的多,唯一的问题是有可能每个词都认识,连在一起却不知道是什么意思。1. 阅读源码的初衷...
2024-01-10HyperLedgerFabric日志系统改造(源码改造)
目前fabric的日志系统是将所有的日志输出定向到stderr,这在生产环境中显然是不可以接受的,日志持久化成了一个亟待解决的问题。本篇文章将从源码入手,改造fabric的日志系统,实现日志的持久化、日志自动切割等功能。源码修改环境准备获取源码go get github.com/hyperledger/fabric 切换到 1.4.4版...
2024-01-10WebRTC源码研究(1)WebRTC架构
@[TOC]WebRTC源码研究(1)WebRTC架构本人最近主要聚焦于音视频领域的学习,学习了很多相关视频和书籍,目前还在学习中,写的这些博客很多内容都是来源于慕课网李超老师的视频,想学习音视频的强烈建议去购买李超老师的视频,讲的很好,价格不贵 ,购买李超老师的视频点击这里。WebRTC 是一个音...
2024-01-10跑马灯带你深入浅出TextView的源码世界
一、背景想必大家平时也没那么多时间是单独看源码,又或者只是单纯的看源码遇到问题还是不知道怎么从源码的角度解决。但是大家平时开发过程中肯定会遇到这样或那样的小问题,通过百度、Google搜索都无果,想尝试分析源码又不知道从什么地方开始分析起,导致最终放弃。本篇文章就是通过一个小...
2024-01-10多线程进阶——JUC并发编程之Semaphore源码一探究竟
百度翻译如下:计数信号量。从概念上讲,信号量维护一组许可。如果需要,每个acquire()都会阻塞,直到有许可证可用,然后获取它。每个release()添加一个许可,可能释放一个阻塞的收单机构。但是,并没有使用实际的许可对象;信号量只是保持一个可用数量的计数,并相应地进行操作。2、...
2024-01-10Vue源码分析之实现一个简易版的Vue
使用 Typescript 编写简易版的 vue 实现数据的响应式和基本的视图渲染,以及双向绑定功能。参考 https://cn.vuejs.org/v2/guide/reactivity.html测试代码中,编写vue.js是本篇的重点,基本使用方法与常规的Vue一样:<div id='app'> <div>{{ person.name }}</div> <div>{{ count }}</div> <div v-text='person.name'></div> <input t...
2024-01-10Redux异步解决方案之Redux-Thunk原理及源码解析
前段时间,我们写了一篇Redux源码分析的文章,也分析了跟React连接的库React-Redux的源码实现。但是在Redux的生态中还有一个很重要的部分没有涉及到,那就是Redux的异步解决方案。本文会讲解Redux官方实现的异步解决方案----Redux-Thunk,我们还是会从基本的用法入手,再到原理解析,然后自己手写一个Redux-T...
2024-01-10源码|解析RedoLog实现方式
柯煜昌 顾问软件工程师目前从事 RadonDB 容器化研发,华中科技大学研究生毕业,有多年的数据库内核开发经验。| 前言提及 Redo Log(重做日志)与 LSN(log sequece number)时,经常被问及以下问题:MySQL 的 InnoDB 为什么要有 Redo Log?LSN 是什么?LSN 与 Redo Log 之间有什么相互关系?Redo Log 如何轮换?...
2024-01-10Vue源码分析(二) : Vue实例挂载
Vue源码分析(二) : Vue实例挂载author: @TiffanysBear实例挂载主要是 $mount 方法的实现,在 src/platforms/web/entry-runtime-with-compiler.js & src/platforms/web/runtime/index.js 等文件中都有对Vue.prototype.$mount的定义:// vue/platforms/web/entry-runtime-with-compiler.jsVue.prototype.$mount = ...
2024-01-10通过源码角度看看AccessibilityService
简介AccessibilityService的设计初衷是为了辅助有身体缺陷的群体使用Android应用,它的设计贯穿着Android的控件树View, ViewGroup, ViewRootImpl体系。借助于system_server进程的中转,能够注册Accessibility事件的客户端可以具备通过system_server提供的Accessibility服务来实现监听、操作其它应用视图的功能。这个功能十分强...
2024-01-10【JS】vue3源码分析一 首次渲染流程
版本是3.0.4的,直接访问这里看完整源码先看下面的简单例子:运行效果是这样的:现在我们一起看看“哈哈哈”这三个字是怎么渲染出来的,先看看源码的这个位置打印出这些内容这里可以看出其实就是对这段代码的描述最外层包含tag是div,里面包含一个子元素children,children里面含有一个conte...
2024-01-10求助各位大佬,vue源码篇
<script>var one = {template: "<h4>123456</h4>"};var app = new Vue({el: '#app',components: {"one": one},data: function() {return {msg: 123}},template: "<one></one>"})</script>调式源码,Vue.extend这个是在哪里调用的,一直没找到回答给开发者使用的 API ,源码里只需要负责实现,用不到的话就不调用了。...
2024-01-10vue 源码(依赖收集)
**slice()** 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。依赖收集部分问什么要用这个slice(),浅拷贝,那直接赋值不是也可,这样又什么好处?有点疑惑。。。回答没啥卵用,反倒因为内存拷贝多了一点开销。可能最...
2024-01-10vue 源码资料
Vue.js 技术揭秘https://ustbhuangyi.github.io/vue-analysis/v2/prepare/Vue源码阅读 - 文件结构与运行机制https://segmentfault.com/a/1190000015440980 ...
2024-01-10vue3源码ref TS阅读
这里的ref函数返回的[T] extends [Ref] ? T : xxx我特意查了一下TS官网这里是为了防止传联合类型才做了一层保护。但是我觉得放在VUE 这里 语境好像不对,有大神解释一下吗?回答:我觉得语境没啥问题吧,就是为了约束联合类型分配。如果有一个类型如下:interface A { a: number}type Test = A | Ref如果不约束类型分配,在进行 e...
2024-02-07vue2 源码调试,如何调试 .vue文件?
想要实现的目的是:调试 .vue 文件,能在src源码中打断点// Vue-2.6.14 package.json"scripts": { "dev": "rollup -w -c scripts/config.js --environment TARGET:web-full-dev --sourcemap", "dev:compiler": "rollup -w -c scr...
2024-02-22CentOS7.6源码安装libevent2.1.8
获取libeventlibevent官网:https://libevent.org/GitHub-libevent项目链接:https://github.com/libevent/libevent要获取libevent源码包,可以在上面两个网址链接上获取到。本人下载的是libevent-2.1.8-stable版本,源码包文件名为:libevent-2.1.8-stable.tar.gz。《注意》安装需要有root权限,最好是在root用户下进行,如果不是root用户...
2024-01-10Java8 Stream源码分析
StreamStream是在Java SE 8 API添加的用于增强集合的操作接口,可以让你以一种声明的方式处理集合数据。将要处理的集合看作一种流的创建者,将集合内部的元素转换为流并且在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选,排序,聚合等。元素流在管道中经过中间操作(intermediate operation...
2024-01-10Java 容器类源码详解 Set
前言Set 表示由无重复对象组成的集合,也是集合框架中重要的一种集合类型,直接扩展自 Collection 接口。在一个 Set 中,不能有两个引用指向同一个对象,或两个指向 null 的引用。如果对象 a 和 b 的引用满足条件 a.equals(b),那么这两个对象也不能同时出现在集合中。通常 Set 是不要求元素有序的,但...
2024-01-10【Java】通俗易懂的JUC源码剖析-LongAdder/LongAccumulator
首页专栏java文章详情0通俗易懂的JUC源码剖析-LongAdder/LongAccumulator小强大人发布于 今天 14:59 一、有AtomicLong为什么还需要LongAdder/LongAccumulator?大家对AtomicLong应该比较熟悉(如果未接触过,请翻看另一篇博客,通俗易懂的AtomicLong源码剖析),但JDK1.8为什么又新增了LongAdder/LongAccumulator2个类?Ato...
2024-01-10lodash源码的getTag
为啥要单独判断undifined和null不需要单独判断用toString也有呀这不是多次一举吗回答MDN 上有一段类似的实现:typeof - MDN作为一个 star 数逼近 50k 的项目,考虑的肯定要比较全。因为要兼容 IE。IE7 以前 null、undefined 你要直接 toString 的话结果都是 '[object Object]'。...
2024-01-10Hadoop源码分析四远程debug调试
1、 hadoop远程debug从文档(3)中可以知道hadoop启动服务的时候最终都是通过java命令来启动的,其本质是一个java程序。在研究源码的时候debug是一种很重要的工具,但是hadoop是编译好了的代码,直接在liunx中运行的,无法象普通的程序一样可以直接在eclipse之类的工具中直接debug运行。对于上述情况java提...
2024-01-10SpringCloudOpenFeign源码解析
0. 入门demo此代码是 OpenFeign 的示例代码,获取一个Github 仓库的所有贡献者,创建一个issue。 建议由此开始 DEBUG 调试阅读源码interface GitHub { @RequestLine("GET /repos/{owner}/{repo}/contributors") List<contributor> contributors(@Param("owner") String owner, @Param("repo") String repo); @RequestL...
2024-01-10代码不止|想制胜海外市场?Google 来帮你!
谷歌开发者大会火热继续Google Cloud、Google Assistant、游戏和移动应用、Firebase带来制胜全球市场的开发秘籍1分钟了解谷歌如何助力开发者赢在全球https://www.qq.com/video/p320...前往大会官网日程页,回顾每天精彩内容!明天下午一点不见不散最后一天亮点先知道跟着谷歌艺术和文化、ARCore by Google、Wear...
2024-01-10JAVA源码之JDK(二)——Integer、Long、Double
这篇文章继续java.lang包下的源码学习,笔者也是找了几个比较常用的来阅读。下面针对Integer、Long、Double这样的基本类型的封装类,记录一些比较经典、常用的方法的学习心得,如toString()、parseInt()等。java.lang.Integer1. public static String toString(int i) 说起toString(),这是从Object类中继承过来的,当...
2024-01-10Sophos UTM 固件反编译 Perl 源码
作者:极光无限维阵漏洞团队负责人—仙果 原文链接:https://mp.weixin.qq.com/s/4TXJrYWnSVeGaM6-p0K8QA一. 题记网络设备或其他IoT设备提取到固件之后进行安全分析和漏洞挖掘工作,对 Sophos UTM 进行安全分析时,发现其具体提供Web 功能的是一个Linux 文件,并没有发现web功能实现的html代码,通过 Burp Suite 抓包We...
2024-01-10如何使用Google的新密码检查工具
一个简单的扩展名让您知道何时需要更改密码。似乎每隔一周就会发生某种数据库泄露或用户名,密码和其他个人信息泄露的情况。 跟上哪些服务泄漏了哪些信息,这些信息令人生畏并且需要大量时间。值得庆幸的是,已经存在诸如1Password的守望台,“我是否已被抵押?”之类的服务,以及现在的Goo...
2024-01-10PostgreSQL源码学习(1)Page页
The Internals of PostgreSQL中对于存储的描述http://www.interdb.jp/pg/pgsql01.html#_1.2.每个表或索引都作为一个page数组存储于物理数据文件中(page大小默认为8k,编译时可以指定),单个的表数据文件中包含多个page页(默认单个表文件最大1G,超过1G后会新建同名+“.1”后缀的数据文件,依次累加,同样在编译时可...
2024-01-10