精华内容
下载资源
问答
  • ES文件浏览器是一个能管理安卓设备本地、局域网共享、远程FTP、蓝牙设备和云存储的系统工具类移动软件。全球主动下载超过2亿次,安卓文件管理第一品牌。 ES 文件浏览器 ES File Explorer 中文版ES 文件浏览器 ES ...
  • ES文件浏览器( ES File Explorer)是一款功能强大免费的本地和网络文件管理器,帮助你更好地管理手机、平板、家用电脑和云端网盘等设备。在全世界已超过10亿的用户下载使用。 主要特性: 类似Windows的平易UI,多...

    应用介绍:

    ES文件浏览器( ES File Explorer)是一款功能强大免费的本地和网络文件管理器,帮助你更好地管理手机、平板、家用电脑和云端网盘等设备。在全世界已有超过10亿的用户下载使用。

    主要特性:

    类似Windows的平易UI,多视图和排序,简单易用;
    同时功能强大,高度可定制,多选、搜索、剪贴板的功能提供给资深用户使用;
    网络和本地的统一的操作和UI,简单的复制和粘帖代替了文件上传、下载等专业概念;
    丰富的系统管理功能,包括内存、进程、SD卡、计算机、网盘、局域网、OTG设备等;

    主要功能:

    文件管理:多种视图列表和排序方式,查看并打开各类文件,在本地SD卡、局域网、OTG设备、互联网的计算机之间任意 传输文件。多选、复制、粘帖、剪贴板、查看属性、解压、重命名、置顶等文件功能;
    应用管理:安装、卸载、备份程序、创建快捷方式等;
    压缩/解压:文件压缩或解压支持ZIP,7Z和RAR;
    文本编辑:内置强大的文本编辑器,可查看及编辑文本;
    FTP功能:可以通过移动网络、wifi等方式来访问远程的FTP服务器,远程查看图片、视频等多媒体文件;
    局域网功能:可以通过wifi来访问局域网内的所有计算机,远程查看图片、视频等多媒体文件;
    网盘功能:支持多账号同时登录访问你的网络存储空间(百度网盘,Dropbox, Box.net, Sugarsync, Google Drive, OneDrive(SkyDrive), Amazon S3, Yandex等);
    视频编辑:视频转GIF,视频拼接,添加音乐/字幕/图片/背景,视频调速/ 剪切/旋转/裁切;
    蓝牙支持:通过蓝牙浏览/操作其他设备中的文件;
    其他功能:文件加密/解密、ROOT浏览及权限修改、设置壁纸、显示/隐藏文件、查看·nomedia、SD卡分析等;

    下载地址: http://www.91apps.cn/android-27.html

    展开全文
  • 这是OpenglES2.0的教程,花了本人很大力气去找的! 里面include的,具体放在什么地方可以去百度一下opengl的配置!类似的! 运行例子需要进行一些配置: 项目esUtil,配置属性-库管理器-常规-输出文件,把$(OutDir...
  • es文件遍历 允许按其import / require链遍历ECMAScript(JavaScript)文件,构建文件列表,还可以选择执行带文件名,源和AST的回调。 安装 npm i es-file-traverse 与其他项目的比较 该项目类似于import-visitor ...
  • 选项与rootDir类似,您还可以在此处将rootDir指定为对象,以及模板将要使用的扩展名。 有关所有可用选项,请参见defaults/index.js 文件名模板文件的名称 价值观JSON对象,键为变量名,在文件名中使用,值作为值 ...
  • ECMAScript 2015(=第6版)语言规范,格式为 (带和 )。 请注意,它不一定符合这些格式的最新(或任何版本)。 事情在不断变化。 (另请参阅 ,以了解使用不同的markdown方式进行的类似工作。) 文件 简要描述...
  • es源码解析

    2020-05-05 20:32:35
    类似java的jar打包文件。适用于常驻内存。提高加载效率。 2、getpwd()方法返回文件的当前执行目录。 3、composer的理解:主要是在composer里注册了spl_autoload_register函数,并且维护了一个类,类中项目里...

    1、phar的使用,打包php文件。类似java的jar打包文件。适用于常驻内存。提高加载效率。

     

    2、getpwd()方法返回文件的当前执行目录。

     

    3、composer的理解:主要是在composer里注册了spl_autoload_register函数,并且维护了一个类,类中有项目里所有文件的地址目录,当new一个类时找不到文件,则会调用register中的方法,去这个类中找相应的文件,并include进来,实现自动加载。所以当自定义的目录报错 not found某个类的时候,就是因为composer的文件目录没有更新,需要调用composer dump-autoload 命令,就会将自定义的目录加载到地址类中。从而就可以实现自动加载。

     

    4、启动命令command实现思路:

    1)、所有命令(start stop等)实现统一的接口。

    2)、定义一个命令容器将所有的命令都加入到容器的私有属性中(构造方法中,一旦调用就初始化)

    3)、当命令进来的时候判断命令是否在容器的私有属性中,在的话执行接口中定义的方法。不在则给一个默认的help方法供开发调用。

     

    5、<<<EOF 是方便字符串的定义方法。对字符串的拼接可以不用 . 或 , 进行连接。

     

    6、框架默认的是dev开发环境,通过 php easyswoole start produce 命令可以实现加载produce的文件实现dev和生产环境的切换。

     

    7、easyswoole的tablemanager 使用方法。

    先服务启动前 add 生成表,在ctl中调用get获取table,然后看swoole调用table的一些方法。

    table相当于是一个表,初始化的时候,给定每一列的值。比如123,那么设置值的时候,需要用户自己设置每一行的key,然后value自动存储到123这一列的下面。

     

    8、core和ServerManager文件

    首先要了解swoole的运行机制,server配置,回调设置,server启动。这两个文件就是针对这个流程所做的封装。

    首先 swoole有很多回调函数,使用 EventRegister封装。当需要添加自定义的回调,都从这里面获取。

    serverManager类直接面对swoole的服务创建配置启动工作。

    core核心类,调用serverManger类来完成swoole的启动工作。

     

    通过暴露出mainServerCreate 方法,用户可以自定义注册各种回调处理,因为在Register中已经规定了可以注册的方法种类,可以保证注册的方法是可以用的。

     

     

    9、路由处理方式

    代码中如何根据路由找到controller的细节,还有如何解析出请求的方法,先忽略。

    引出的问题:

     

    a: channel在什么地方使用

    在任何地方都可以用channel,如果是在服务启动后,那么channel里的变量是单进程里共享变量的。如果是服务启动前,那么就是所有进程共享。channel并不是全内存共享,而是进程内内存共享,不同的进程channel数据并不共享。

    代码中的体现,控制器对象回收实现。将控制器对象保存在channel中,那么当前进程内的请求是可以共用channel中的数据,可以对channel中的数据进行判断,如果不存在则创建,如果已经存在,但是数据为空,则new一个(这里限制下个数,如果个数已经超过,则直接pop,当有数据时会自动pop出来,这里相当于进行了协程调度),结束了回收到channel中。

     

    b: 回调方法中的变量作用域以及有效期是多久

    作用域就是当前请求期间有效,比较特别的是static的静态变量和函数,当前进程内全局只有一份。当进程销毁后所有请求的变量就被销毁。

     

     

    10、pool源码解析

    流程:mysql或者redis或者其他的对象池继承抽象类连接池AbstractPool,实现创建方法。

    当有需要调用的时候,调用poolManager管理工具注册对应的对象,当需要获取的时候,也用poolmanager管理工具去获取。

    poolManager的原理:当注册的时候将redis对象池类注册到poolManager管理工具中,当需要使用的时候,先实例化redis对象池类为对象,再从对象池中获取对象,并将这个对象放到channel池中,便于复用。

     

     

     

     

     

     

     

    展开全文
  • opengl es 纹理

    2017-07-21 15:38:58
    每个二维纹理都是由许多小的纹理元素组成,他们是小块数据类似像素。通常,直接去加载一个图像文件来作为纹理。每个二维纹理都自己的坐标从(0,0)到(1,1)如下: 在opengl es2.0中规定每个纹理不必是正方形,但每...

    纹理:
    简单说来纹理就是一张图像或者照片能被加载进opengl。opengl中的纹理可以用来表示图像,照片,甚至由一个数学算法生成的分形数据。每个二维纹理都是由许多小的纹理元素组成,他们是小块数据类似像素。通常,直接去加载一个图像文件来作为纹理。每个二维纹理都有自己的坐标从(0,0)到(1,1)如下:
    这里写图片描述
    在opengl es2.0中规定每个纹理不必是正方形,但每个维度必须是2的幂。

    加载纹理:
    在本例代码中,TextureHelper类如下:

    public class TextureHelper {
        private static final String TAG = "TextureHelper";
    
        /**
         * Loads a texture from a resource ID, returning the OpenGL ID for that
         * texture. Returns 0 if the load failed.
         * 
         * @param context
         * @param resourceId
         * @return
         */
        public static int loadTexture(Context context, int resourceId) {
            final int[] textureObjectIds = new int[1];
            glGenTextures(1, textureObjectIds, 0);
    
            if (textureObjectIds[0] == 0) {
                if (LoggerConfig.ON) {
                    Log.w(TAG, "Could not generate a new OpenGL texture object.");
                }
                return 0;
            } 
    
            final BitmapFactory.Options options = new BitmapFactory.Options();
            options.inScaled = false;
    
            // Read in the resource
            final Bitmap bitmap = BitmapFactory.decodeResource(
                context.getResources(), resourceId, options);
    
            if (bitmap == null) {
                if (LoggerConfig.ON) {
                    Log.w(TAG, "Resource ID " + resourceId + " could not be decoded.");
                }
    
                glDeleteTextures(1, textureObjectIds, 0);
                return 0;
            } 
            // Bind to the texture in OpenGL
            glBindTexture(GL_TEXTURE_2D, textureObjectIds[0]);
    
            // Set filtering: a default must be set, or the texture will be
            // black.
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
            // Load the bitmap into the bound texture.
            texImage2D(GL_TEXTURE_2D, 0, bitmap, 0);
    
            // Note: Following code may cause an error to be reported in the
            // ADB log as follows: E/IMGSRV(20095): :0: HardwareMipGen:
            // Failed to generate texture mipmap levels (error=3)
            // No OpenGL error will be encountered (glGetError() will return
            // 0). If this happens, just squash the source image to be
            // square. It will look the same because of texture coordinates,
            // and mipmap generation will work.
    
            glGenerateMipmap(GL_TEXTURE_2D);
    
            // Recycle the bitmap, since its data has been loaded into
            // OpenGL.
            bitmap.recycle();
    
            // Unbind from the texture.
            glBindTexture(GL_TEXTURE_2D, 0);
    
            return textureObjectIds[0];
        }
    }
    

    如参resourceId为图片资源id, glGenTextures(1, textureObjectIds, 0);是创建一个纹理对象,由于opengl不能读取png,jpeg这些图片压缩格式,需要读取图片的元素数据,所以需要先解码压缩图片,可以利用Android本身自带的图片解码工具,

           final BitmapFactory.Options options = new BitmapFactory.Options();
            options.inScaled = false;
    
            // Read in the resource
            final Bitmap bitmap = BitmapFactory.decodeResource(
                context.getResources(), resourceId, options);

    options.inScaled = false;意思是不缩放,按原始数据。
    // Bind to the texture in OpenGL
    glBindTexture(GL_TEXTURE_2D, textureObjectIds[0]);
    是告诉opengl后面的纹理使用这个纹理对象(纹理也是一种状态机)。
    纹理过滤器:
    当我们在使用纹理绘制渲染的时候,可能无法精确映射到opengl生成的片段上。有可能被放大或者缩小。通常有两种过滤模式:最近邻过滤和双线性插值

    最近邻过滤:这个方式为每个片段选择最邻近的纹理元素,当我们放大纹理的时候,他的锯齿效果会相当明显。如下,每个纹理单元都清楚的显示为一个小方块。
    这里写图片描述
    而当纹理缩放时,由于没有足够的片段来绘制所有的纹理单元,很多纹理细节会丢失。

    双线性插值:双线性过滤使用双线性插值平滑像素之间的过滤,而不是每个片段使用最近的纹理元素,opengl会使用4个邻接的纹理元素,并在他们之间用一个线性插值算法做插值。双线性过滤很适合纹理放大,但缩小就会失去很多细节。
    mip贴图:
    当生成文理的时候,opengl会使用所有的纹理元素生成生成每个级别的纹理,当过滤时还要保证所有的纹理元素都被用上。当渲染时,opengl会根据每个片段的纹理元素的数量为每个片段选择合适的纹理级别。使用mip贴图会消耗更多的内存,但是渲染也会更快,这是因为较小级别的纹理在gpu的纹理缓存中占用更少的内存。如下图为不同级别的mip贴图:
    这里写图片描述

    三线性过滤:
    在使用mip贴图级别之间来回切换有时候可能看到明显的跳跃或线条。这个时候可以告诉opengl先切换到三线性过滤,这样在两个最邻近的mip贴图之间也要插值,这样有利于每个mip之间的过度,得到一个更平滑的图像。

    在代码中,
    // Set filtering: a default must be set, or the texture will be
    // black.
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri是设置过滤器,GL_TEXTURE_MIN_FILTER指是缩小情况用GL_LINEAR_MIPMAP_LINEAR,即告诉opengl使用三线性过滤。GL_TEXTURE_MAG_FILTER指放大情况,使用GL_LINEAR,即告诉opengl使用双线性过滤。其他情况可以参考下表:
    这里写图片描述
    最后使用android.opengl.GLUtils.texImage2D(GL_TEXTURE_2D, 0, bitmap, 0);告诉opengl读入bitmap定义的位图数据,并且赋值到当前绑定的纹理对象。既然这个位图数据已经被赋值到opengl了 我们在java层就不在需要了,调用 bitmap.recycle();立刻释放。如果我们想在opengl使用mip贴图也只需要 glGenerateMipmap(GL_TEXTURE_2D);告诉opengl生成所有纹理必要的级别。我们已经完成了纹理的加载,所以最后防止修改,最后我们解绑与这个纹理的绑定 // Unbind from the texture.
    glBindTexture(GL_TEXTURE_2D, 0);只需传入0,最后返回纹理对象textureObjectIds[0]。注意这里虽然解绑,但是textureObjectIds依然是纹理对象,这是一种状态机,对状态机不了解的可以自己google之。
    回到代码,为了使用纹理我们在texture_vertex_shader.glsl文件代码如下:

    uniform mat4 u_Matrix;
    
    attribute vec4 a_Position;  
    attribute vec2 a_TextureCoordinates;
    
    varying vec2 v_TextureCoordinates;
    
    void main()                    
    {                            
        v_TextureCoordinates = a_TextureCoordinates;          
        gl_Position = u_Matrix * a_Position;    
    }          

    引入了a_TextureCoordinates,他有两个分量,S坐标和T坐标,所以被定义为vec2 。我们把这些坐标传递给顶点着色器被插值的varying ,称为a_TextureCoordinates。
    同理在片段着色器texture_fragment_shader.glsl,

    precision mediump float; 
    
    uniform sampler2D u_TextureUnit;                                        
    varying vec2 v_TextureCoordinates;                                          
    
    void main()                         
    {                               
        gl_FragColor = texture2D(u_TextureUnit, v_TextureCoordinates);                                  
    }

    为了把纹理绘制在物体上,opengl会把会为每个片段都调用这个片段着色器,并且每个调用都接收v_TextureCoordinates的纹理坐标,片段着色器通过
    uniform sampler2D u_TextureUnit接收实际的纹理数据,u_TextureUnit被定义为一个sampler2D这个变量是指一个二维纹理数据的数组。
    被插值的纹理坐标和纹理数据被传递给着色器函数 gl_FragColor = texture2D(u_TextureUnit, v_TextureCoordinates),他会读取特定纹理坐标处的颜色值,结果通过吧结果赋值给gl_FragColor 设置片段的颜色。
    本例代码对之前代码进行了整理,VertexArray,Mallet,Table,ColorShaderProgram,TextureShaderProgram等类。
    代码路径:
    https://github.com/pangrui201/OpenGlesProject/tree/master/OpenGlesProject_lesson6

    展开全文
  • Solr 介绍/ES

    2020-10-17 19:34:48
    倒排索引的文件我们称为倒 排索引文件,简称倒排文件(inverted file) Solr 是一个独立的企业级搜索应用服务器,它对外提供类似于 Web-service 的 API 接口。用户可以通过 http 请求,向搜索引擎服务器提交一定...

    倒排索引

    倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包
    括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性
    值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒
    排索引文件,简称倒排文件(inverted file)

    Solr 是一个独立的企业级搜索应用服务器,它对外提供类似于 Web-service 的 API
    接口。用户可以通过 http 请求,向搜索引擎服务器提交一定格式的 XML 文件,生成索引;
    也可以通过 Http Get 操作提出查找请求,并得到 XML 格式的返回结果.
    基于 Lucene 的全文搜索服务器。同时对其进行了扩展,提供了比 Lucene 更为丰富
    的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的
    功能管理界面,是一款非常优秀的全文搜索引擎
    特点:

    1. solr 可以根据数据库表自动生成索引文件.
    2. Solr 可以动态的定期自动更新索引(对更新的数据进行索引的修改)
    展开全文
  • ES部署坑纪录

    2020-01-03 17:11:36
    ip绑定问题,部署后无法访问 起初以为腾讯云的安全组没生效,重启了一下依旧无效。后来想到了服务ip绑定,yml配置文件中 修改网络配置 network....之前部署mongo等其他软件也有类似的配置,没想到在这卡了半天。。 ...
  • andriod与MFC开发环境类似一个资源视图(xml文件),显示各种控件;还有一个java文件,相当于MFC开发的cpp文件。在这个例子里,我在视图中添加一个TextView控件(相当于MFC里的Text),然后让它显示出手机支持的...
  • 近期因为项目上安卓平台上要对接摄像头流,但是使用ffmpeg软解码,...注:假如是其他格式的流或者文件类似,相应的修改open_input_file()就好了,网上很多,这就以rtsp流为例。 解析MP4文件的话注意下h264_mp4t...
  • 在使用ES文件浏览器的时候,当浏览SD卡下的文件或者其他地方的文件时,如果...至于做一个类似ES文件浏览器 一样的软件,也是可以做的。 需要给 AndroidManifest.xml里加上权限: <uses-permission android:n...
  • Android手机SD卡文件或目录拷贝、复制、粘贴功能实现代码 在使用ES文件浏览器的时候,当浏览SD卡下的文件或者其他地方的...至于做一个类似ES文件浏览器 一样的软件,也是可以做的。 package com.copy.file; /**
  • 简介时间研究下开源库的源码,总是会有些收获的。...刚好最近一些类似的需求,需要批量以单个文件的方式转换一些其他语法的文件到 es5 兼容的js文件,于是就把 Atom 的转换机制拆分了出来,写成一个 cli。
  • Gulp配置使用ES6或SCSS或类似的东西创建一个漂亮的(意义的)网页。 如何使用 充分利用git clone或ZIP下载获取此项目 cd webcreater并移动到包含package.json的文件夹 运行npm install。获取所有依赖的库(这需要...
  •     在使用ES文件浏览器的时候,当浏览SD卡下的文件或者其他地方的文件...至于做一个类似ES文件浏览器 一样的软件,也是可以做的。   需要给 AndroidManifest.xml里加上权限: &lt;uses-permissio...
  • 如果您想了解获得与这一步骤类似的ReactJS项目所需的基本步骤,可以遵循。 我将components , server和client代码构造到单独的文件夹中,以实现更好的分离。 共享对象位于lib文件夹中 了解到在尝试填充Mongo....
  • react-data-grid 安装 npm install react-data-grid react-data-grid 作为 ES2019 模块发布,您可能希望使用 Babel 和 browserslist 将它们转换为目标浏览器的脚本。 示例 browserslist 配置文件 最后 2 个 chrome ...
  • OpenGL ES 理解纹理与纹理过滤

    千次阅读 2015-11-09 16:58:01
    每个二维的纹理都由许多小的纹理元素组成,它们是小块的数据,类似于我们前面讨论过的片段和像素。要使用纹理,最常用的方式是直接从一个图像文件加载数据。 每个二维纹理都其自己的坐标空间,其范围是从一...
  • 由于项目需要,要求开发一个类似于“ES 文件浏览器“的模块,这个模块当然不需要像 ES一样那么功能强大,只需要具备ES文件浏览器的最核心功能,可以操作管理本地sdcard和外置sdcard的文件和文件夹,包括查询,删除,...
  • MpegTS之TS,PES,ES结构分析 TS流复用和解复用是一个相逆的过程。TS解复用得到的是音视频的PES裸流。一般来讲,每个TS包的长度是188个字节,也一种204个字节的,就是在每个包后面加上16个字节的RS冗余校验信息。...
  • 对外的输出操作都要利用Sink完成。最后通过类似如下方式完成整个任 务最终输出操作。 myDstream.addSink(new MySink(xxxx)) 官方提供了一部分的框架的sink。除此以外,需要用户自定义实现sink。 pom文件说明...
  • 它们是小块的数据,类似于我们前面讨论过的片段和像素。要使用纹理,最经常使用的方式是直接从一个图像文件载入数据。 每一个二维纹理都其自己的坐标空间,其范围是从一个拐角的(0,0)到还有一个拐角的(1。1...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 133
精华内容 53
关键字:

有类似es文件