女王控的博客

全部

232 篇文章

Python源码剖析

源码结构 重点介绍标红行的内容 对象模型 概述 Python 是一门面向对象语言,实现了一个完整的面向对象体系,简洁而优雅。 一切皆对象 首先,在 Python 世界,基本类型也是对象,与通常意义的“对象”形成一个有机统一。换句话讲,Python 不再区别对待基本类型和对象,所有基本类型内部均由对象实现。一个整数是一个对象,一个字符串也是一个对象: 其次,Python 中的类型也是一种对象,称为类型对象。整数类型是一个对象,字符串类型是一个对象,程序中通过 class… »

WebGL 零基础入门学习

快速入门 绘制一个点 着色器代码放在 script 标签中 绘制一个矩形 attribute 关键字 声明顶点相关数据的时候需要用到 attribute 关键字,目的是为了 js 可以调用相关的 WebGL API 把顶点相关数据从 js 传递给顶点着色器 attribute 声明的变量。 drawArrays 整体执行顺序 硬件相关 着色器语言编写的程序称为着色器程序(shader program),在 GPU 顶点着色器单元上执行的是顶点着色器程序,在 GPU… »

CSS新世界全新的布局方式

之前,CSS 世界中除受限诸多的表格布局之外是没有专门的布局属性的,随着 Web 应用越来越复杂,显示设备越来越多样,原有的 CSS 特性已经无法满足现代 Web 开发需求了。于是,CSS 定义了很多全新的布局方式,这些新的布局 CSS… »

系统设计入门学习

背景知识 系统设计 系统设计主题:从这里开始 认识以下一般性原则 可扩展性视频讲座 哈佛大学可扩展性讲座 垂直扩展(Vertical scaling) 水平扩展(Horizontal scaling) 缓存 负载均衡 数据库复制 数据库分区 可扩展性文章 Clones 数据库 缓存 异步 接下来的步骤 接下来,我们将看看高阶的权衡和取舍: 性能与可扩展性 延迟与吞吐量 可用性与一致性 记住每个方面都面临取舍和权衡。 然后,我们将深入更具体的主题,如 DNS、CDN… »

WebGL 理论基础——二维

WebGL 二维平移 平移就是普通意义的“移动”物体。这里有个例子基于前一个例子。首先我们来定义一些变量存储矩形的平移,宽,高和颜色。 然后定义一个方法重绘所有东西,我们可以在更新变换之后调用这个方法。 在下方的例子中,我添加了一对滑块,当它们值改变时会更新 和 并且调用 drawScene 方法。拖动滑块来平移矩形。 到目前为止还不错!但是想象一下如果对一个更复杂的图形做类似操作怎么办。 假设我们想绘制一个由六个三角形组成的 ‘F… »

0%