关于Javascript 中的 FileReader, XMLHttpRequest, Blob, ArrayBuffer, DataURL 等
FileReader 用于读取 Blob 和 File
Blob 是 HTML 中内嵌对象的媒体数据, 如Jpeg文件内容
File 就是 HTML 中 的文件
如:
var reader = new FileReader();
reader.readerAsArrayBuffer ( fileOrBlob );
当 reader 真正加载数时, 会调用 reader.onload
Nginx 在 Windows 平台上编译
在Windows平台上编译Nginx遇到一些问题, 最终都逐个解决了, 记录一下过程.打开网址http://nginx.org/en/download.html其中 nginx/Windows-1.10.1 是直接下载编译好的Windows版本的二进制程序
而要下载源码需要使用 Mercurial 去 clone, 源代码地址是 http://hg.nginx.org/nginxMercurial
Windows 下配置 Nginx PHP
自己记录一下,备忘下载Nginx for Windows
打开网址
http://nginx.org/en/download.html
其中 nginx/Windows-1.10.1 是直接下载编译好的Windows版本的二进制程序下载PHP for Windows
http://windows.php.net/download
我下载的是 PHP5, 版本是 PHP 5.6 (5.6.2
可变模板参数 和 元组
事情的起因是要解决这么个问题, Opengl渲染时需要指定的VBO有多种, 主要是因为顶点格式可自定义导致的, 类似D3D的FVF, 顶点的格式可以是 坐标和法线, 也可以是坐标,法线和纹理坐标等等, 我需要实现一个通用的对Renderable渲染的方法, 当然也需要很好的去设计Renderable的数据结构
为了求效率, 不想用太多的多态, 多态意味着函数不能内联, 也不想用太多的if else
C++ 程序 startup code 相关
C++ 程序启动 在进入main()前 会 调用两次 _initterm, 在 main() 结束后 还会调用 两次 _initterm
第一次 _initterm 初始化 C 环境(与多线程有关)
第二次 _initterm 创建 C++ 全局变量, 如果是自定义类型, 会 调用 atexit() 传入 全局对象的析构函数, 注: atexit 内维护的是 栈, 不是队列, 先传入的函数 会 后调
Java 装箱后数字的比较
Java中处理Integer这种装箱类型时, 做了类似C++中字符串表的优化, 对 -128 到 127 直接的整数做了统一堆对象的引用, 如 值是 100 Integer 在堆中已存在一份, 所以可以使用 == 来判断, 而 不在此范围内的 就会是多份, 测试如下
对 Java 中 clone 方法的思考
clone 方法是由 Object 类提供, 但为 protected, 只能由派生类调用, 分析设计者的思路: 如果一个类想要提供一个 克隆 的方法 给 外部调用, 就必须要 override Object 中的 clone方法, 并标记为 public, 而且, 从 Object 派生的 类, 默认是不能 clone 的
Object 的 clone 方法 返回的 是 Object 类型, 但并
Java Proxy 理解
Java 的 Proxy 是指 在运行时 动态构造出 一个接口的 实现类(也可以是一次实现多个接口的一个类), 并创建出一个实例 (如果该类之前有动态构造过, 就直接创建实例), 这个实例中所有方法的实现 都是 调用 一个指定好的 InvocationHandle 对象 的 invoke 方法, 通常的做法是 在 InvocationHandle 中(其实应该是派生类) 包含一个真正的实现类的对象,
Javascript require 的实现
require(路径.扩展名):
如果 路径.扩展名 存在
执行加载 并 返回
否则
抛出异常require(路径):
如果 路径.js 存在
执行加载 并 返回
如果 路径.node 存在
执行加载 并 返回
如果 路径/package.json 存在
执行加
React Redux 总结
一个 Container 对应 一个 Component
设计外观时 我们只用关注 Component, 而 Container 由 connect 方法生成, 其实生成完的 Container 也是 一个 React 的 Component
这个 表示 外观的 Component 可以设计成与业务无关的, 比较好的设计是不要直接调用 dispatch 发送 action
Component
ES6 export import
ES6 支持模块, 模块间可以通过引用的方式复用代码, 基本的 使用 export 导出一个变量, 使用 import 导入 一个变量// 命名导出, 即导出的变量是带名字的
lib.js:
export a = 1
export b = 3.14
export c = ()=>{alert(‘haha’)}
class d{}
export d// 导入时, 必须 以解包的方式 指定你
Promise 基础 与 使用套路
Promise 是 ES6 中内置支持的对象
其构造函数接受一个参数, 该参数是一个函数, 该函数有两个参数, 两个参数都是函数, 一个在成功时调用(resolve), 一个在出错时调用(reject)
let myPromise = new Promise(
function(resolve, reject){
if (成功){
resol...
emscripten update 时无法使用新版的Node的问题
之前的emsdk安装和更新时没有注意, 一直使用的是 node 4.1.1, 直到又一次尝试使用npm run 一个本地操作系统的命令时 发现居然不支持, 提示升级node, 才发现 emsdk 激活使用的 node 版本太老了, 是4.1.1
查了一圈, 发现 emsdk update 使用的是 Python脚本, 然后安装时会参考根目录下的emsdk_manifest.json文件, 里面记...
说说position,display
1、display属性的值与作用
常用的值有none、inline、block、inline-block
none
1)表示该元素不会显示,并且该元素的空间也不存在,可理解为已删除;
2)visibility:hidden只是将元素隐藏,但不会改变页面布局,但也不会触发该元素已经绑定的事件;
3)opacity:0,将元素隐藏,不会改变页面布局,但会触发该元素绑定的事件。
in...
理解浮动以及解决浮动带来的问题
要解决浮动带来的各种问题,首先我们得了解浮动的特点和造成的问题,方能对症下药。
一、浮动的特点
在CSS2.1 规范中,对浮动的解释如下:
浮动元素脱离文档流,在当前行的左边或是右边对齐,如果当前行没有足够的空间,它将下移一行,直到有足够的空间。浮动元素碰到包含它的边框或者浮动元素的边框停留。
二、浮动造成的问题
(1)父元素的高度无法被撑开
关于这个一点,就不演示了。
(2)浮动元...
FLEXBOX(弹性盒布局模型)以及适用场景
FLEX布局是什么?
2009年,W3C提出了一种新的布局方案—-Flex 布局,可以简便、完整、响应式地实现各种页面布局。 目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
2.知识剖析
一,怎么运用FLEX布局
flex布局非常灵活,任一容器都可以指定为flex布局。块状只需要display属性规定为flex即可。 行内元素也可以指定为flex布局,将d...
block,inline和inline-block的区别
总体概念
block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素)。block元素通常被现实为独立的一块,会单独换一行;inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。
大体来说HTML元素各有其自身的布局级别(block元素还是inlin...
今日推荐
周排行