精华内容
下载资源
问答
  • USB握奇驱动组件运行,下载解压安装包点击软件运行驱动即可!
  • Mydriver Onekey System Fix Tools 是由驱动精灵官方网站推出的一键修复系统组件工具,软件功能强大,主要用于解决由于系统组件缺失(例如:微软.net framework没有安装)导致的驱动、软件无法正常运行等问题,有...
  • 在实践中,发现面向组件,状态机,消息驱动。如果整合起来的模型,能够更为自然和简单的进行抽象。当然这些都是以面向对象为基础,更进一步的抽象扩展。本文,先会分别介绍一下,面向组件,状态机,消息驱动的各自...

    在实践中,发现面向组件,状态机,消息驱动。如果整合起来的模型,能够更为自然和简单的进行抽象。当然这些都是以面向对象为基础,更进一步的抽象扩展。本文,先会分别介绍一下,面向组件,状态机,消息驱动的各自特点。然后,介绍如何整合三者。最后,给出代码示例。


    第一,面向组件

    在游戏开发中有些引擎会使用基于组件的架构。比如unity3d就是其中的典型。基于组件,有以下特性。

    • 基类Componet负责组件的生命周期和状态管理。
    • Entity对象,也就是unity里面的GameObject,负责管理Component组件。Entity对象拥有任意多个组件,这里是组合模式。
    • 所有的功能可以组件化,就是具体的功能继承Componet来实现,作为一个组件,可以复用到Entity对象上。
    • Entity做为一个功能的集合抽象,与其他Entity可以发生交互,或者消息交换。Entity的功能大多来自于可复用的Componet,功能绑定的力度需要具体由设计者决定。
    • Entity可以再运行时,动态的增加或者减少Componet,或者修改Componet的状态。
    面向组件架构,倾向使用组合模式,通过组件来复用功能。其实,就是把通过继承得到的功能复用,拆散到组件里,然后组合起来使用。面向对象有以下几个问题。
    • 为了一个功能去继承,就获得了父类所有其它无用,甚至不想关的功能,造成冗余。
    • 当继承链超过3层的时候,对象职能无法保持单一,不便于记忆和使用。
    • 继承可以操作父类的某些属性,在继承链中各自对象的操作,可能带来潜在的冲突。
    • 面向对象一般是通过一个角度切入进行抽象,如果需要进行多层面的角度去抽象,面向对象很难划分对象结构去进行描述。
    面向对象中的对象,是一种视角的抽象描述。我们如何去划分这个对象,至关重要,以及人为的去限制对象的边界。但现实世界,是多个角度,横看成岭侧成峰的,当用一个视角抽象对象的时候,换一个视角原来的抽象就会不兼容或是面目前非。

    面向组件,这里的组件是抽象力度更小描述。具有原子性和单一功能性。很难再去分割,或是换个角度去理解。这就保证了组件的复用不会带来副作用。组合模式相比较继承,带来了隔离性,不会传递继承链上的属性和功能和潜在的副作用。


    第二,状态机

    状态机是容易理解的,但有惊人的作用。

    • 任何事物都会有状态
    • 状态机是一种视角,通过变化的切入点,来抽象和描述
    • 如果说组件或是对象,是一种静态上的描述。那么状态机就是从动态角度去描述。
    • 当我们用代码去抽象现实的时候,现实是变化的,有了状态机就可以捕捉这些变化,描述变化。

    第三,消息驱动

    有了组件化的静态描述,和状态机的动态描述,那么剩下的就是交互。消息的传递和处理,用来驱动状态的变化,状态的变化通常是属性的变化所表现出来的。有了消息驱动,我们就能让一切都运转起来,让抽象的描述变化起来,可以交互。

    消息驱动,一般利用观察者模式,消息订阅,或是消息轮询来实现。


    =============================================================================


    如果,我们把以上3个整合起来,做为一个最基本的结构。可以想象,一个原子化的组件实现了一个单一功能,有自己的状态变化,能够发送消息,也能够接受处理消息。我们把这些组件自由的组合起来。那么就可以描述任何系统,抽象任何现实,只要不断的丰富组件,自由的发挥想象去设计构建功能对象,完善交互。


    下面,来看看我的实现,使用C语言实现的,但了解了这个思想可以很容易,用任何语言来构建。


    首先,我们看状态对象。

    struct ComponentState
    {
    	/**
    	 * Bind data can not get from context
    	 */
        void* userData;
    
        /**
         * Key in Component's stateMap
         */
    	int   id;
    
    	/**
    	 * When ComponentState active first called
    	 */
    	void (*OnEnter)  (Component* component);
    
    	/**
    	 * When ComponentState end last called
    	 */
    	void (*OnExit)   (Component* component);
    
    	/**
    	 * Active ComponentState called per frame
    	 */
    	void (*Update)   (Component* component, float deltaTime);
    
    	/**
    	 * When message received called
    	 * if return true means consumed event then will stop event pass
    	 */
    	bool (*OnMessage)(Component* component, void* sender, int subject, void* data);
    };

    这是一个组件的状态对象,提供了组件一个状态形式。每个状态拥有以下功能。
    • 唯一标识id,用来让状态机管理查找删除的。
    • 进入状态回调OnEnter
    • 退出状态回调OnExit
    • 每帧调用处理逻辑的回调Update
    • 用来接收消息的回调OnMessage


    其次,组件对象如下。
    struct Component
    {
    	/**
    	 * Bind data can not get from context
    	 */
    	void*                        userData;
    
    	/**
    	 * Order in parent when add
    	 * changed it and reorderAllChildren will sort by zOrder
    	 */
    	int                          zOrder;
    
    	/**
    	 * When append child
    	 * child zOrder auto increment by appendZOrder add last child zOrder
    	 * default 20
    	 */
    	int                          appendZOrder;
    
    	Component*                   parent;
    
    	/**
    	 * Current active state, default empty state with stateId 0
    	 */
    	ComponentState*              curState;
    
    	/**
    	 * Previous active state, default empty state with stateId 0
    	 */
    	ComponentState*              preState;
    
    	/**
    	 * Children mapped by Component zOrder
    	 */
    	ArrayIntMap(Component*)      childMap   [1];
    
    	/**
    	 * Component notification observers
    	 */
    	ArrayIntMap(Component*)      observerMap[1];
    
    	/**
    	 * All ComponentStates mapped by ComponentState's id
    	 */
    	ArrayIntMap(ComponentState*) stateMap   [1];
    };

    • 组件是一个递归的树结构,也就是说每个组件有父组件,有子组件。父组件只有一个parent,子组件是一组ChildMap。子组件通过zOrder排序存储,可以调节子组件的顺序。
    • 组件整合了状态机自己所有的状态都存放在stateMap中。每个组件有一个curState和preState,也就是说组件一定处在某个状态,并且可以切换状态。这个状态就是上面的ComponetState。
    • 由于组件能够发布自己的消息,所以有一组观察者存放在observerMap,组件会对观察者发送特定的事件。

    最后,就是消息处理和状态切换
    typedef struct
    {
    	/**
    	 * Add observer to sender, will receive notification by sender
    	 */
    	void (*AddObserver)            (Component* sender, Component* observer);
    
    	/**
    	 * Remove observer from sender
    	 */
    	void (*RemoveObserver)         (Component* sender, Component* observer);
    
    	/**
    	 * Call self and children's ComponentState update
    	 */
    	void (*Update)                 (Component* component, float deltaTime);
    
    	/**
    	 * Call self children's ComponentState onMessage
    	 * if return true means consumed event then will stop event pass
    	 */
    	bool (*SendMessage)            (Component* component, void* sender, int subject, void* data);
    
    	/**
    	 * Notify sender all observer's ComponentState onMessage
    	 */
    	void (*Notify)                 (Component* sender, int subject, void* data);
    
    
    	/**
    	 * Change Component current active State
    	 */
    	void (*SetState)               (Component* Component, int stateId);
    
    	/**
    	 * Add Component in Component which create with state id
    	 */
    	ComponentState* (*CreateState) (Component* Component, int stateId);
    }
    _AComponent_;

    这里,代码只留相关的部分。
    • 可以对组件添加状态,切换状态。
    • 添加消息观察者,消息观察者。
    • 组件状态中OnMessage是处理消息的函数,消息可能来自发布者,也可能来自父类的消息发送
    • SendMessage 就是父类想子类发送消息
    • Notify 就是发布者,向订阅者发送消息

    以上,就是所有的思路,完整实现的代码就不贴。

    展开全文
  • 出场率100%的Vue面试题

    千次阅读 多人点赞 2019-11-06 17:26:57
    出场率100%的Vue面试题 前言 注意本次用cdn形式引入js学习,有node.js的玩家可以用node.js。...有一个强大的地基才能写出健壮的程序!请先阅读博主关于:Windows10用...,注意:下面的案例请自己手打一下运行效果查看...

    出场率100%的Vue面试题


    前言


    注意本次用cdn形式引入js学习,有node.js的玩家可以用node.js。CDN下载地址:https://vuejs.org/js/vue.min.js以及Node.js:Vue系列: windows下npm安装vue

    有一个强大的地基才能写出健壮的程序!请先阅读博主关于:Windows10用npm安装Vue!,注意:下面的案例请自己手打一下运行效果查看


    正题

    • 说一下 Vue 的双向绑定数据的原理

      • vue 实现数据双向绑定主要是:采用数据劫持结合“发布者 - 订阅者”模式的方式,通过 Object.defineProperty() 来劫持各个属性的 settergetter,在数据变动时发布消息给订阅者,触发相应监听回调。
    • 解释单向数据流和双向数据绑定

      • 单向数据流:顾名思义,数据流是单向的。数据流动方向可以跟踪,流动单一,追查问题的时候可以更快捷。缺点就是写起来不太方便。要使 UI 发生变更就必须创建各种 action 来维护对应的 state
      • 双向数据绑定:数据之间是相通的,将数据变更的操作隐藏在框架内部。优点是在表单交互较多的场景下,会简化大量与业务无关的代码。缺点就是无法追踪局部状态的变化,增加了出错时 debug 的难度。
    • Vue如何去除URL中的#

      • vue-router 默认使用 hash 模式,所以在路由加载的时候,项目中的 URL 会自带 “#”。如果不想使用 “#”, 可以使用 vue-router 的另一种模式 history:new Router ({ mode : 'history', routes: [ ]})
      • 需要注意的是,当我们启用 history 模式的时候,由于我们的项目是一个单页面应用,所以在路由跳转的时候,就会出现访问不到静态资源而出现 “404” 的情况,这时候就需要服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 “index.html” 页面。
    • 对 MVC、MVVM 的理解

      • MVC特点:所有通信都是单向的。
        • View 传送指令到 Controller;
        • Controller 完成业务逻辑后,要求 Model 改变状态;
        • Model 将新的数据发送到 View,用户得到反馈。
      • MVVM 特点:
        • 各部分之间的通信,都是双向的;
        • 采用双向绑定: View 的变动,自动反映在ViewModel,反之亦然。
    • Vue 生命周期的理解

      • beforeCreated():在实例创建之间执行,数据未加载状态。
      • created():在实例创建、数据加载后,能初始化数据,DOM 渲染之前执行。
      • beforeMount():虚拟 DOM 已创建完成,在数据渲染前最后一次更改数据。
      • mounted():页面、数据渲染完成,真实 DOM 挂载完成。
      • beforeUpadate():重新渲染之前触发。
      • updated():数据已经更改完成,DOM 也重新 render 完成,更改数据会陷入死循环。
      • beforeDestory()和destoryed():前者是销毁前执行(实例仍然完全可用),后者则是销毁后执行。
    • 组件通信

      • 父组件向子组件通信
        • 子组件通过 props 属性,绑定父组件数据,实现双方通信。
      • 子组件向父组件通信
        • 将父组件的事件在子组件中通过 $emit 触发。
      • 非父子组件、兄弟组件之间的数据传递
        • /*新建一个Vue实例作为中央事件总嫌*/ let event = new Vue (); /*监听事件*/ event.$on( 'eventName' , (val) => { //......do something }); /*触发事件*/ event.$emit( 'eventName' , 'this is a message.' )
    • vue-router 路由实现

      • 路由就是用来跟后端服务器进行交互的一种方式,通过不同的路径,来请求不同的资源,请求不同的页面是路由的其中一种功能。
    • v-if 和 v-show 区别

      • 使用 v-if 的时候,如果值为 false ,那么页面将不会有这个 html 标签生成。
      • v-show 则是不管值为 true 还是 falsehtml 元素都会存在,只是 CSS 中的 display 显示或隐藏。
    • $route 和 $router 的区别

      • $routerVueRouter 实例,想要导航到不同 URL,则使用 $router.push 方法。
      • $route 为当前 router 跳转对象里面可以获取 namepathqueryparams 等。
    • NextTick 是做什么的

      • $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM
      • 具体可参考官方文档:深入响应式原理(https://cn.vuejs.org/v2/guide/reactivity.html)
    • Vue 组件 data 为什么必须是函数

      • 因为 JS 本身的特性带来的,如果 data 是一个对象,那么由于对象本身属于引用类型,当我们修改其中的一个属性时,会影响到所有 Vue 实例的数据。如果将 data 作为一个函数返回一个对象,那么每一个实例的 data 属性都是独立的,不会相互影响了。
    • 计算属性 computed 和事件 methods 有什么区别

      • 我们可以将同一函数定义为一个 method 或者一个计算属性。对于最终的结果,两种方式是相同的。
      • 不同点
        • computed:计算属性是基于它们的依赖进行缓存的,只有在它的相关依赖发生改变时才会重新求值。
        • method:只要发生重新渲染, method 调用总会执行该函数。
    • 对比 jQuery ,Vue 有什么不同

      • jQuery 专注视图层,通过操作 DOM 去实现页面的一些逻辑渲染;Vue 专注于数据层,通过数据的双向绑定,最终表现在 DOM 层面,减少了 DOM 操作。
      • Vue 使用了组件化思想,使得项目子集职责清晰,提高了开发效率,方便重复利用,便于协同开发。
    • Vue 中怎么自定义指令

      • 全局注册

      • // 注册一个全局自定义指令 v-focus Vue .directive( 'focus' , { // 当被绑定的元素插入到 DOM 中时…… inserted: function (el) { // 聚焦元素 el.focus() } })

      • 局部注册

      • directives: { focus: { // 指令的定义 inserted: function (el) { el.focus() } } }

      • 参考官方文档:自定义指令(https://cn.vuejs.org/v2/guide/custom-directive.html)。

    • Vue 中怎么自定义过滤器

      • 可以用全局方法 Vue.filter() 注册一个自定义过滤器,它接收两个参数:过滤器 ID 和过滤器函数。过滤器函数以值为参数,返回转换后的值。
      • Vue .filter( 'reverse' , function (value) { return value.split( '' ).reverse().join( '' ) })
      • <span v-text = "message | reverse"></span>
      • 过滤器也同样接受全局注册和局部注册。
    • 对 keep-alive 的了解

      • keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。
      • <keep-alive><component><!-- 该组件将被缓存!--></component></keep-alive>
      • 可以使用 API 提供的 props,实现组件的动态缓存。具体参考官方API(https://cn.vuejs.org/v2/api/#keep-alive)。
    • Vue 中 key 的作用

      • key 的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。如果不使用 keyVue 会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。
      • 有相同父元素的子元素必须有独特的 key。重复的 key 会造成渲染错误。
      • 具体参考官方API(https://cn.vuejs.org/v2/api/#key)。
    • Vue 的核心是什么

      • 数据驱动、组件系统。
    • Vue 等单页面应用的优缺点

      • 优点
        • 良好的交互体验
        • 良好的前后端工作分离模式
        • 减轻服务器压力
      • 缺点
        • SEO 难度较高
        • 前进、后退管理
        • 初次加载耗时多

    最后

    • 更多参考精彩博文请看这里:《陈永佳的博客》

    • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!

    展开全文
  • Android基本常识1.1 Android系统架构1.2 Android四大组件2. Android项目创建 1. Android基本常识 1.1 Android系统架构 Linux内核层 Android系统是基于Linux内核的,为Android设备硬件提供底层驱动 系统运行层 C/...

    1. Android基本常识

    1.1 Android系统架构

    • Linux内核层
      Android系统是基于Linux内核的,为Android设备硬件提供底层驱动
    • 系统运行层
      1. C/C++库为Android系统提供特性支持
      2. Android运行时库,包含ART运行环境1
    • 应用框架层:即构建程序的API
    • 应用层:即程序

    1.2 Android四大组件

    • 活动(Activity)
      活动是所有Android应用程序呈现出的页面,即包含用户界面的组件
    • 服务(Service)
      在后台运行
    • 广播接收器(Broadcast Receiver)
      接收/发送广播消息(电话、短信)
    • 内容提供器(Content Provider)
      程序间共享数据

    2. Android项目创建

    • 打开Android Studio,点击【File】——【New】——【New Project】,打开“Create Android Project"对话框
      Android项目创建第一步
    • 选择项目的最低兼容版本(默认)
    • 选择活动模板(以Empty Activity为例)
      创建空活动

    3.Android项目目录结构

    Android项目目录

    3.1 app模块目录结构

    app模块目录

    3.1.1 引用res中的资源

    • 在代码中获得引用:R.文件夹.文件
    • 在XML中获得引用:@文件名/文件

    3.2 build.gradle文件

    3.2.1 项目的build.gradle文件

    buildscript {    
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
        }
    }
    //1.jcenter:代码托管仓库
    //2.classpath:声明Gradle插件,用来构建Android项目
    

    3.2.2 app模块的build.gradle文件

    apply plugin: 'com.android.application'	//表示是应用程序模块
    //apply plugin: 'com.android.library'		//表示是库模块
    //android闭包:配置项目构建的各种属性
    android {
        compileSdkVersion 28	//指定项目编译版本
        defaultConfig {
            applicationId "com.example.helloworld"	//指定项目包名
            minSdkVersion 15	//项目最低兼容的Android系统版本
            targetSdkVersion 28
            versionCode 1		//指定项目版本号
            versionName "1.0"		//指定项目版本名
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        //buildTypes指定生成安装文件的相关配置,包含两个子包
        //1.debug:指定生成测试版安装文件的配置
        //2.release:指定生成正式版安装文件的配置
        buildTypes {
            release {
                minifyEnabled false	//是否对项目代码进行混淆
                //1.proguard-android.txt:在Android SDK目录下,是所有项目通用的混淆规则
                //2.proguard-rules.pro:当前项目根目录下
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'	//指定混淆的规则文件
            }
        }
    }
    //指定当前项目所有依赖关系
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    

    4. HelloWorld项目解析

    4.1 AndroidManifest.xml文件

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".HelloWorldActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    //1.android:allowBackup:是否备份
    //2.android:icon:应用图标
    //3.android:label:应用名称
    
    <activity android:name=".HelloWorldActivity">
    	<intent-filter>
    		<action android:name="android.intent.action.MAIN" />
    		<category android:name="android.intent.category.LAUNCHER" />
    	</intent-filter>
     </activity>
     //<activity>标签用于注册活动,没有在AndroidManifest.xml文件中注册的组件不能使用
     //活动的注册声明放置在<application>标签内
    
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    //表示该活动是项目的主活动
    

    4.2 HelloWorldActivity.java

    public class HelloWorldActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.hello_world_layout);
        }
    }
    //1.onCreate():在activity初始化时调用
    //2.setContentView():引入布局
    

    1. ART运行环境使每个Android应用都运行在独立的进程中 ↩︎

    展开全文
  • AccessDatabaseEngine2007 Office system 驱动程序:数据连接组件此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,例如从 Microsoft Office Access 2007...

    AccessDatabaseEngine
    2007 Office system 驱动程序:数据连接组件
    此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls、xlsx 和 xlsb)文件中读取数据。这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。

    此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

    使用:
    如果您是应用程序用户,请查阅应用程序文档以获得有关如何使用相应的驱动程序的详细信息。
    如果您是使用 OLEDB 的应用程序开发人员,请将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.12.0”
    如果要连接到 Microsoft Office Excel 数据,请将“Excel 12.0”添加到 OLEDB 连接字符串的扩展属性中。
    如果您是使用 ODBC 连接到 Microsoft Office Access 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”
    如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”

    下载地址:
    微软官方:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891

    展开全文
  • Linux安装NVIDIA显卡驱动的正确姿势

    万次阅读 多人点赞 2018-08-20 21:05:58
    Linux安装NVIDIA显卡驱动的正确姿势 什么是nouveau驱动? 检测NVIDIA驱动是否成功安装 集显与独显的切换 使用标准仓库进行自动化安装 使用PPA仓库进行自动化安装 使用官方的NVIDIA驱动进行手动安装 Linux...
  • 微信小程序面试题总结

    万次阅读 多人点赞 2019-10-23 09:43:07
    一、WXML (WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。内部主要是微信自己定义的一套组件。与html差不多。 二、WXSS (WeiXin Style Sheets)是一套样式...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
  • Windows10下安装Linux子系统

    万次阅读 2019-07-09 22:45:29
    系统驱动器上仅运行于 Linux 的 Windows 子系统 (通常这是你C:驱动器)。 请确保发行版都存储在您的系统驱动器上: 打开设置 -> 存储 -> 更多的存储设置:保存新内容的更改 [外链图片转存失败(img-HUtbcL1p-...
  • 史上最管用的C盘深度清理秘籍

    万次阅读 多人点赞 2019-03-09 15:37:43
    使用电脑的用户都知道,使用电脑一段时间后,会堆积很多无用的文件,不仅占用磁盘空间,而且导致系统运行速度变慢,所以清理c盘垃圾是非常有必要的。 无论我们给C盘分多大的分区,Windows都有办法把它填满。像休眠...
  • 最新纯净版win7系统下载

    万次阅读 2017-01-08 11:31:26
     1、集成vb、vc++ 2005、2008、2010运行库库支持文件,确保绿色软件均能正常运行;  2、安装日期数字模式命名计算机,不会出现重复,无需记忆;  3、系统经严格查杀:无木马程序、无病毒、无流氓软件及相关...
  • 一、固件 每个硬件都有一个固件。 ...顾名思义是不是存放固件系统的硬件是不是叫做主控芯片? 固件是存储在非易失存储器(如ROM、EPROM、E2PROM或FLASH)上的...通过固件,标准驱动程序才能实现特定机器的操作。 固...
  • OpenStack服务2.1 8个核心服务2.2 8个核心组件2.3 组件的详细解释2.3.1 Nova(核心组件)(负责生命周期管理)2.3.2 Neutron(负责虚拟网络的管理)2.3.3 Keystone(全局组件)2.3.4 Horizon(Ui页面)2.3.5 Glance...
  • Linux内核的五大组件

    千次阅读 2018-07-11 15:58:18
    一个完整的Linux内核一般由五...Linux内存管理支持虚拟内存,而多余出的这部分内存就是通过磁盘申请得到的,平时系统只把当前运行的程序块保留在内存中,其他程序块则保留在磁盘中。在内存紧缺时,内存管理负责在磁...
  • 我一开始以为storybook是做组件库用的,随着我后面了解越来越深发现压根不是这么回事。 我在写组件库中发现,很多功能比如umi-library(现在改名umi-father)都有了,storybook和umi-farther用的都是docz,那我直接...
  • 详解vue组件三大核心概念

    万次阅读 多人点赞 2019-05-30 13:12:04
    本文主要介绍属性、事件和插槽这三个vue基础概念、使用方法及其容易被忽略的一些重要细节。如果你阅读别人写的组件,也可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能。 本文的代码请猛戳github...
  • Android软件层次结构(1)操作系统层显示驱动(Frame Buffer),Flash内存驱动,照相机驱动,音频驱动,WiFi驱动,键盘驱动,蓝牙驱动,Binder IPC驱动,Power Management ,这些都包括在Linux内核里。(2)各种库和...
  • LoadRunner使用教程

    万次阅读 多人点赞 2013-11-12 11:03:17
    1.了解Loadrunner 1.1 LoadRunner 组件有...➤ Controller 用于组织、驱动、管理和监控负载测试。 ➤ 负载生成器用于通过运行虚拟用户生成负载。 ➤ Analysis 有助于您查看、分析和比较性能结果。 ➤ Launch
  • XPE设备驱动组件开发过程

    千次阅读 2010-06-02 11:38:00
    本文,介绍了XPE设备驱动组件的一般开发过程,给出了创建设备驱动列表组件的最佳办法,同时对驱动组件开发可能存在的几个问题提出了解决办法,对于设备驱动组件开发及测试具有一定的帮助作用。 设备驱动组件开发是...
  • AUTOSAR 软件组件介绍

    千次阅读 2018-01-05 13:46:38
    在AUTOSAR中,应用软件是由一系列相互交互的软件组件构成的。在基于AUTOSAR的应用软件开发过程中,软件组件是整个应用软件的基础,其他软件开发工作如配置、映射等,都是围绕软件组件展开的。本小节重点介绍AUTOSAR...
  • 系统补丁模块可以快速检测到系统的高危漏洞并下载修复补丁,系统组件可以检测系统中缺少的组件并下载,当缺少某一组件时可能会导致部分游戏及软件报错或无法运行。软件管理可以管理系统中已经安装的软件,提供卸载及...
  • 在前端来说数据驱动式框架,必然离不开事件驱动,事件驱动一定程度上弥补了数据驱动的不足,在dom操作的时代通常都是这样操作: 通过特定的选择器查找到需要操作的节点 -&gt; 给节点添加相应的事件监听 响应用户...
  • ifconfig -a 查看有没有无线网卡,或者运行iwconfig,可以看到系统中没有wlan0 wlan0: flags=803,BROADCAST,NOTRAILERS,PROMISC,ALLMULTI> mtu 1500 unspec xxxxxxxx txqueuelen 1000 (UNSPEC) RX packets 16663 ...
  • k8s篇-k8s集群架构及组件详解【史上最详细】

    千次阅读 多人点赞 2019-12-26 19:14:23
    1)NoSchedule:新的 Pod 不调度到该 Node 上,不影响正在运行的 Pod 2)PreferNoSchedule:soft 版的 NoSchedule,尽量不调度到该 Node 上 3)NoExecute:新的 Pod 不调度到该 Node 上,并且删除(evict)已在...
  • GitChat 作者:冰尘 这个Chat笔者将会和大家一起探讨下面的主题: 什么是行为驱动开发(BDD)? 为什么使用行为驱动开发(BDD)? 如何做行为驱动开发(BDD)? 遗留系统适合使用行为驱动开发(BDD)吗?
  • Angular cli-1 Angular 脚手架的脚本是 TypeScript 环境搭建 使用 node.js 配置 Angular-cli 的环境。 命令: npm install -g @angular/cli 创建新的项目 ng new my-app ...ng new 命令执行时,会...运行项目 cd my-a...
  • 虽然jQuery UI能起到很好的作用,但是还有其它的一些框架,拥有很好的高品质控件。在这篇文章中,将会分析其中的几个框架并做比较。
  • 目前比较火的前端框架及UI组件

    万次阅读 多人点赞 2018-03-27 10:36:33
    Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 206,770
精华内容 82,708
关键字:

一些驱动组件正在运行