Fork me on GitHub
最新文章

【读书笔记】编程珠玑

读书笔记 2017-10-29 读书笔记

编程珠玑

显示全文

【web】memcached相关记录

web 2017-10-29 web

Memcached

Memcached官网

Memcached wiki

Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中缓存数据和对象来减少读取数据库的次数,提高系统访问速度。

  1. 用户请求时检查数据是否有存在缓存中,存在返回,不存在读取数据库并存一份数据到缓存
  2. 数据变动时(如更新、删除的情况下),重新同步缓存信息
Cache Results

function get_foo(foo_id)
    foo = memcached_get("foo:" . foo_id)
    return foo if defined foo

    foo = fetch_foo_from_database(foo_id)
    memcached_set("foo:" . foo_id, foo)
    return foo
end
显示全文

【web】redis相关记录

web 2017-10-23 web

安装

brew install redis
brew services start redis

redis-cli

redis-cli, the Redis command line interface

redis-cli –help

显示全文

【大数据】impala

大数据 2017-04-16 大数据

impala

impala-wiki

impala-documentation

显示全文

【linux】正则表达式

linux 2017-03-25 linux

正则表达式

显示全文

【web】javascript-object

web 2017-03-07 web javascript

完整内容请查看You-Dont-Know-JS,仅作为笔记参考。

对象定义

object的两种定义形式:声明形式和构造形式

//声明
var myObj = {
    key: value
    // ...
};

//构造
var myObj = new Object();
myObj.key = value;

JavaScript 引擎在初始化时,会构建一个全局对象,在客户端环境中,这个全局对象即为window。

内置对象,在JavaScript中,实际上只是一些内置函数,可用当作构造函数(由new调用函数),构造一个对应子类型的新对象。

  • String

  • Number

  • Boolean

  • Object

  • Function

  • Array

  • Date

  • RegExp

  • Error

var strPrimitive = "I am a string";
typeof strPrimitive;                            // "string"
strPrimitive instanceof String;                 // false

var strObject = new String( "I am a string" );
typeof strObject;                               // "object"
strObject instanceof String;                    // true

// inspect the object sub-type
Object.prototype.toString.call( strObject );    // [object String]

在必要时语言会自动把字符串字面量转换成一个String 对象,不需要显式创建一个对象

显示全文

【web】pwa

web 2017-03-03 web

渐进式Web应用

渐进式Web应用(Progressive Web Apps)简称PWA

PWA 关键技术

Web App Manifest

Service Worker

Cache Storage

PWA特点

  • 安全 – 通过 HTTPS 来提供服务来防止网络窥探,保证内容不被篡改。

  • 渐进式 – 能够让每一位用户使用,无论用户使用什么浏览器,因为它是始终以渐进增强为原则

  • 响应式 – 适应任何环境:桌面电脑、智能手机、平板电脑,或者其他设备。

  • 不依赖网络连接 – 通过用 service workers 增强,可以在离线或者低质量网络下工作

  • 类原生应用 – 有像原生应用般的交互和导航给用户原生应用般的体验,因为它是建立在 app shell model 上的。

  • 持续更新 – 受益于 service worker 的更新进程,应用能够始终保持更新。

  • 可发现 – 可识别为“应用程序”,是得益于 W3C manifests 元数据和 service worker 的登记,让搜索引擎能够找到 web 应用。

  • 可再次访问 – 通过推送通知等特性让用户再次访问变得容易。

  • 可安装 – 允许用户保留对他们有用的应用在主屏幕上,不需要通过应用商店。

  • 可链接 – 通过 URL 可以轻松分享应用,不用复杂的安装即可运行。

参考

显示全文

【web】service worker

web 2017-03-01 web

Service Worker 是什么?

service worker 是独立于当前页面的一段运行在浏览器后台进程里的脚本。

service worker不需要用户打开 web 页面,也不需要其他交互,异步地运行在一个完全独立的上下文环境,不会对主线程造成阻塞。基于service worker可以实现消息推送,静默更新以及地理围栏等服务。

service worker提供一种渐进增强的特性,使用特性检测来渐渐增强,不会在老旧的不支持 service workers 的浏览器中产生影响。可以通过service workers解决让应用程序能够离线工作,让存储数据在离线时使用的问题。

显示全文

【算法】常用算法设计思路

算法 2017-02-26 算法

分治算法

原理

分而治之,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。

步骤

  1. 分解:将原问题分解为若干个规模较小,相对独立,与原问题形式相同的子问题

  2. 解决:若子问题规模较小且易于解决时,则直接解。否则,递归地解决各子问题

  3. 合并:将各子问题的解合并为原问题的解

显示全文

【web】3D effects

web 2017-02-23 web css

原文protip-nobody-expects-3d,只是觉得有趣记录一下,并非完整翻译。

基础3D

一个简单的制造深度感觉的方式是混合使用box-shadow, scale and transform。

显示全文