首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏音视频开发技术

    ffplay源码分析3-代码框架

    源码分析”系列文章如下: ffplay源码分析1-概述 ffplay源码分析2-数据结构 ffplay源码分析3-代码框架 ffplay源码分析4-音视频同步 ffplay源码分析5 -图像格式转换 ffplay源码分析6-音频重采样 ffplay源码分析7-播放控制 3. 代码框架 本节简单梳理ffplay.c代码框架。一些关键问题及细节问题在后续章节探讨。 为节省篇幅,如下源码中非关键内容的源码使用“......”替代。代码流程参考注释。 // 3) 当命令行带"-noframedrop"选项时,framedrop值为0,无论何种同步方式,均不丢弃失去同步的视频帧。

    3.9K60发布于 2019-04-02
  • 来自专栏深入理解Android

    Android开源框架源码解析系列(3)——ButterKnife源码解析

    ButterKnife是一个专注于Android系统的View注入框架,有了ButterKnife可以很轻松的省去findViewById,ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的 class,对运行时性能没有影响,本篇我们来详细学习一下它的源码。 (其他的有些注解框架可以) 6、使用Activity为根视图绑定任意对象时,如果你使用类似MVC的设计模式你可以在Activity 调用ButterKnife.bind(this, activity) .build(); } 通过createType方法返回TypeSpec,这里的TypeSpec是square公司另一个开源框架javapoet的类,这个框架主要的作用就是生成java代码,关于javapoet 如果有标记@OnClick注解,则对view进行点击事件设置 到这里,ButterKnife的源码分析流程基本结束,如有不对的地方,可以指出校正。

    1.3K30编辑于 2022-06-22
  • 来自专栏Helloted

    CoreData简介以及第三方框架MagicRecord源码解析

    childContext调用save方法,其parentContext不用任何merge操作,CoreData自动将数据merge到parentContext当中,这样可以保证每个context的数据同步 3、 三、MagicRecord源码解析 + (void) setupCoreDataStackWithStoreAtURL:(NSURL *)storeURL { if ([NSPersistentStoreCoordinator

    1.1K20编辑于 2022-06-07
  • 来自专栏漫漫架构路

    Spring 定时任务框架详解(3)——源码分析

    本篇主要结合源码分析Spring定时任务框架。 EnableScheduling { } 可以看到,@EnableScheduling主要功能就是通过@Import导入了SchedulingConfiguration配置类,@Import是Spring框架提供的导入注解 private final Map<Object, Set<ScheduledTask>> scheduledTasks = new IdentityHashMap<>(16); 总结 Spring定时任务框架的核心就是使用后处理器扫描所有

    1K10发布于 2020-09-03
  • Vue3源码解析,打造自己的Vue3框架

    Vue3源码解析,打造自己的Vue3框架分析Vue3源码并尝试打造自己的Vue3框架是一个复杂但极具教育意义的项目。 源码分析阶段克隆Vue3仓库从GitHub上克隆Vue3的官方仓库,并切换到相应的分支(通常是main或next)。 阅读源码模块划分:Vue3源码被划分为多个模块,如reactivity(响应式系统)、runtime-core(运行时核心)、compiler-core(编译器核心)等。 3. 实现阶段确定框架范围在开始实现之前,明确你的框架需要支持哪些Vue3的特性。这有助于你聚焦重点,避免一开始就陷入细节。实现响应式系统Vue3的响应式系统是其核心之一。 学习和实践:在阅读源码和实现框架的过程中,不断学习和实践新的知识和技能。社区和合作:加入Vue3的社区,与其他开发者交流和合作,共同学习和进步。通过上述步骤,你可以逐步打造出自己的Vue3框架

    31100编辑于 2025-01-02
  • 来自专栏陈满iOS

    ·FMDB:第三方数据库处理框架·用法示例篇(附源码Demo)

    这里提供我整理的源码GigHub下载链接, 觉得有需要的朋友可以直接下载Demo,而不用看本篇文章介绍。欢迎作出进一步优化与分享,笔者这个尝试也是得益于两个大神的文章。 单线程生物:FMDatabase类 ---- 1.1 对FMDB的FMDataBase类进行一层封装 1.1.1 源码 DataBase.h // // DataBase.h // FMDBDemo www.jianshu.com/p/f902712d0e5e http://www.cnblogs.com/lacklock/p/3754214.html SQL语言 http://www.jianshu.com/p/3b0d0469cf3e executeQuery:[NSString stringWithFormat:@"SELECT * FROM car where own_id = %@",person.ID]]; 1.2 模型层 1.2.1 源码 具体参考 http://www.jianshu.com/p/51269165c3e0 。

    1.3K20发布于 2018-09-10
  • 来自专栏用户7737280的专栏

    使用其他三方的IOC框架

    程序的启动基本都是通过构建主机的方式,比如之前的Web主机或者后来的泛型主机,在Minimal API中同样可以进行这些操作,比如我们遴选公务员模拟一下之前泛型主机配置Web程序的方式使用IOC的时候会使用其他三方的 IOC框架,比如大家耳熟能详的Autofac,我们之前也介绍过其本质方式就是使用UseServiceProviderFactory中替换容器的注册和服务的提供,在Minimal API中可以使用如下的方式去操作 的形式,所以Minimal Api自动处理并输出返回的信息,遴选公务员其实只要满足委托类型的它都可以处理,接下来咱们来简单一下,首先是本地函数的形式 它的作用就是简化我们解析Http请求信息也是MVC框架的核心功能

    60410编辑于 2021-12-02
  • Vue3源码解析,打造自己的Vue3框架无密分享

    Vue3源码解析,打造自己的Vue3框架随着前端技术的飞速发展,Vue.js 作为一款轻量级且功能强大的前端框架,受到了广大开发者的青睐。 Vue 3 作为 Vue.js 的最新版本,带来了许多令人振奋的改进和优化。本文将深入探讨 Vue 3源码,并基于这些理解,指导读者如何打造自己的 Vue 3 框架。 一、Vue 3 源码解析Vue 3源码基于 TypeScript 编写,采用了模块化的设计,使得整个框架更加易于维护和扩展。 这是 Vue 框架的核心模块,包含了 Vue 组件的基本逻辑。二、打造自己的 Vue 3 框架在深入理解了 Vue 3源码之后,我们可以开始尝试打造自己的 Vue 3 框架。 测试和优化:编写测试用例来验证框架的正确性,并进行性能优化,确保框架的性能表现。通过以上步骤,我们可以逐步建立起自己的 Vue 3 框架

    59810编辑于 2024-06-25
  • 来自专栏LinXunFeng的专栏

    Cocoapods 创建第三方框架

    一、上传项目到github 将框架中的主要文件放入到一个指定文件夹中,比如叫Classes或者Lib都可以 目录结构 打开终端,cd到框架目录 cd /Users/lxf/xxxx/LXFPhotoHelper // git push origin 版本号 git push --tags 二、创建并修改podspec文件 创建Spec文件 // 名称一般与工程名称保持一致 pod spec create 框架名称 {h,m}" # s.library = "sqlite3" # 框架依赖系统的sqlite3 也可以上官网的手册【Podspec Syntax Reference】上查看 这里需要我们注意的是s.version 上传成功后会自动帮我们更新本地仓库,如果无法搜索到自己的框架,可以先删掉本地的索引文件后再搜索一次 rm ~/Library/Caches/CocoaPods/search_index.json 当使用 pod search 命令可以搜索自己的框架时, 那么就意味着审核通过了

    53830发布于 2018-06-29
  • 来自专栏Node.js开发

    Taro框架使用第三方icon

    我们在使用Taro开发小程序时,有时候需要用到ico图标,但是当Taro UI 自带的icon不能满足我们的要求时,我们需要导入第三方字体图标库。 如何导入呢? } } } } }, h5: {} } 第二步:编写字体图标库 css,icon.scss,这个文件直接放在src目录下 (以下代码为 demo,参考第三方库按照下面方式引入 ),代码如下: /* icon.scss */ @font-face { font-family: 'FontAwesome'; /* 自行安装第三方字体图标库 */ src: url(' v=4.7.0') format('truetype'); font-weight: normal; font-style: normal; } /* 根据第三方字体图标库编写 */ /* 举例 {{ size: 25, color: '#78A4FA', prefixClass:'fa' ,value: 'address-book-o', }} /> 以上便是在Taro框架中使用第三方字体图标库的配置方法

    3.6K137发布于 2020-09-01
  • 来自专栏Android知识点总结

    O3-开源框架使用之Butterknife 8.8.1及源码浅析

    零、前言 我最喜欢的框架,没有之一: 编译期生成代码的方式,对运行时没有任何副作用。 加上AndroidStudio快捷键,简直好用之至。 ---- 三、源码浅析: 1、首先来看这句话都进行了哪些事:ButterKnife.bind(this); ---B0:butterknife.ButterKnife#bind(android.app.Activity try { //加载com.toly1994.butterknifetest.MainActivity_ViewBinding类生成Clazz对象bindingClass:见:--B3 ; } //将cls和获取到的构造函数放入map BINDINGS.put(cls, bindingCtor); return bindingCtor; } --B3: public abstract void doClick(View v); } ---- 后记、 1.声明: [1]本文由张风捷特烈原创,转载请注明 [2]欢迎广大编程爱好者共同交流 [3]

    90140发布于 2018-09-29
  • 来自专栏Android知识点总结

    O3-开源框架使用之Butterknife 8.8.1及源码浅析

    零、前言 我最喜欢的框架,没有之一: 编译期生成代码的方式,对运行时没有任何副作用。 加上AndroidStudio快捷键,简直好用之至。 --- 三、源码浅析: 1、首先来看这句话都进行了哪些事:ButterKnife.bind(this); ---B0:butterknife.ButterKnife#bind(android.app.Activity try { //加载com.toly1994.butterknifetest.MainActivity_ViewBinding类生成Clazz对象bindingClass:见:--B3 ; } //将cls和获取到的构造函数放入map BINDINGS.put(cls, bindingCtor); return bindingCtor; } --B3: throw new ClassCastException(cannotCastMsg(obj)); return (T) obj; } --B5:这是butterknife源码中的一个类

    71230发布于 2018-09-11
  • 来自专栏Java 源码分析

    Exectors框架 源码分析

    Exectors框架 源码分析 1. 在阅读源码时做了大量的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限,并且代码阅读起来没有 IDE 方便,所以在 github 上提供JDK1.8 的源码、详细的注释及测试用例。 由于个人水平有限,对源码的分析理解可能存在偏差或不透彻的地方还请大家在评论区指出,谢谢! 1. 3. 3.

    74370发布于 2018-04-17
  • 来自专栏方亮

    Colly源码解析——框架

            Colly是一个使用golang实现的数据抓取框架,我们可以使用它快速搭建类似网络爬虫这样的应用。本文我们将剖析其源码,以探析其中奥秘。 (转载请指明出于breaksoftware的csdn博客)         Collector是Colly的核心结构体,其中包含了用户对框架行为的定义。 但是其中只有3个方法——ParseHTTPErrorResponse、AllowURLRevisit和IgnoreRobotsTxt比较特殊,因为它们没有参数。 目前Colly公开了5个方法,其中3个是和Post相关的:Post、PostRaw和PostMultipart。一个Get请求方法:Visit。以及一个用户可以高度定制的方法:Request。 目前Colly中发送数据有3种复合结构,分别是:map[string]string、requestData []byte和map[string][]byte。

    1.4K10发布于 2019-01-16
  • 来自专栏jeremy的技术点滴

    koa框架源码解读

    虽然经常用koa作为NodeJS Web项目的框架,但一直都是只知道怎么做,但并不知道它究竟是怎么实现的。今天花了些时间来研究它,在这里记录一下。 Generator函数,Generator函数的function关键字与函数名之间有一个星号,同时函数体内部使用yield语句,定义不同的内部状态,helloWorldGenerator这个Generator函数有3个状态 greeting; } var gen = f(); var state1 = gen.next(); var state2 = gen.next(state1.value); var state3 koa的源码解读 先看一下koa最简单的使用示例。 参考文档 阮一峰的ECMAScript 6 入门 - Generator 函数 阮一峰的ECMAScript 6 入门 - 异步操作和Async函数 koa源码 koa-compose源码 co源码

    1.2K80发布于 2018-05-10
  • 来自专栏俞其荣的博客

    Volley框架源码解析

    ( ps :本文篇幅过长,可能会引起不适,请在家长的陪同下观看) 0010B Volley 使用方法 在长篇大论地解析 Volley 框架源码之前,我们先来看看平时是怎样使用 Volley 的。 0011B 在这先把 Volley 框架中几个重要的类的作用讲一下,以便看源码时能够更加明白: RequestQueue :这个大家一看都明白,用来缓存 request 的请求队列,根据优先级高低排列; 基本上在整个 Volley 框架中至关重要的类都讲到了。当然,还有一些 NetworkImageView 、ImageLoader 等源码还没解析。 在这还给出了一张整个 Volley 框架大致的网络通信流程图,对上面源码没看懂的童鞋可以参考这张图再看一遍: Volley框架大致流程图 最后,只剩下总结了。 0101B References Volley 源码解析 volley 框架剖析(四) 之HTTPCache设计 Android Volley完全解析(四),带你从源码的角度理解Volley Etag与

    2.5K30编辑于 2022-07-28
  • 来自专栏Java 源码分析

    Exectors框架 源码分析

    Exectors框架 源码分析 1. 在阅读源码时做了大量的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限,并且代码阅读起来没有 IDE 方便,所以在 github 上提供JDK1.8 的源码、详细的注释及测试用例。 由于个人水平有限,对源码的分析理解可能存在偏差或不透彻的地方还请大家在评论区指出,谢谢! 1. 3. 3.

    71360发布于 2018-04-17
  • 来自专栏四火的唠叨

    OSCache 框架源码解析

    OSCache 是一个受到争议的开源缓存框架,OpenSymphony 网站已经关闭(OpenSymphony 可是诞生过 Quartz、WebWork、SiteMesh 和 OGNL 等数个非常有名的框架的 在 JavaEE 的缓存框架领域,似乎已经是 EhCache 等其它支持分布式的缓存框架的天下了,OSCache 垂垂老矣? 但是 OSCache 的源代码依然值得一读,一度作为最常用的缓存框架,代码量却不大,绝大部分类一天的时间就可以详详细细地阅读完。 它们之间的关系如下: 值得说明的是,这张图虽然简单,却很有借鉴意义,再复杂的缓存框架,它往往都逃脱不出这样的最基本的设计。 情况 3:updateState 状态是 complete(也可以是前面情况 2 结束之后状态是 complete),就可以载入缓存中的数据返回了,否则就要抛出 NeedsRefreshException

    58520编辑于 2022-07-15
  • 来自专栏娱乐心理测试

    Ios常用第三方框架(一)

    源码分析 pull-to-refresh.swift - 是一款非常易于开发者使用的下拉刷新和加载更多组件。 EasyPeasy.swift - 编程方式自动布局框架库。 ZSSRichTextEditor - 适用于iOS的富文本WYSIWYG编辑器,支持语法高亮和源码查看。ZSSRichTextEditor包含所有WYSIWYG标准的编辑器工具。 DTCoreText源码解析。 CSGrowingTextView - 用作即时通讯文本框和评论文本框使用,可以显示多行输入。 YYText - 功能强大的 iOS 富文本框架

    7.5K31发布于 2018-09-26
  • 来自专栏iOS面试技术问题

    面试题 拓展:常用框架和第三方框架

    声明各有什么含义 @private:作用范围只能在自身类 @protected:作用范围在自身类和继承自己的子类(默认) @public:作用范围最大,可以在任何地方被访问 @package:这个类型最常用于框架类的实例变量 对于框架类的拓展: iOS常用基础框架 Foundation:提供OC基础类(例如NSObject)、基本数据类型等 UIKit:创建和管理应用程序的用户界面 QuartzCore:提供动画特效以及通过硬件进行渲染的能力 提供播放视频和音频的功能 MessageUI:提供视图控制接口用以处理M-mail和短信 OpenGLES:提供动画特效以及通过硬件进行渲染的能力 StoreKit:为应用程序提供在程序运行中消费的支持 常用的第三方开源框架 : 1.JSON json编码解码 2.GTMBase64 base64编码解码 3.TouchXML 解析 4.SFHFKeychainUtils 安全保存用户密码到keychain中 5.MBProgressHUD 很棒的一个加载等待特效框架 6.ASIHTTPRequest 等相关协议封装 7.EGORefreshTableHeaderView 下拉刷新代码 8.AsyncImageView 异步加载图片并缓存代码

    81510发布于 2020-09-21
领券