Kivi

没有什么远大理想,只是永远都不会满足而已


  • 首页

  • 关于

  • 标签

  • 归档

javascript原型

发表于 2016-11-09 更新于 2017-07-02 分类于 javascript
本文字数: 5.5k 阅读时长 ≈ 5 分钟

关于js原型的思考

一直想讨论js原型的问题,但却不知道怎么入手,后来突然想到,能不能从作者的角度思考呢?

我要什么

  • 我需要面向对象编程
  • 我需要一门简单的的语言,所以不需要传统面向对象编程中类的概念,还要能够实现传统面向对象编程语言中类的功能

类和对象

面向对象编程,最重要的是类和对象,我不想要类,所以最重要的就是对象,所以第一步就是一切皆对象。

虽然没有类,但是我需要实现类的功能啊!没有类怎么生成对象呢?其实由类生成对象的过程,在传统面向对象的语言中,是偏语言底层的过程。我不想搞这么复杂,算了,直接用代码生成对象吧。用代码生成对象,就是执行一段js代码,生成了一个对象。

生成对象的问题解决了,要让生成对象这个代码段规范统一起来,就要和普通的代码段不一样,我得给这个东西规范一个名字,而且代码段最能让人想到的东西就是函数了,就叫这个构造函数吧!那么现在新的问题来了,在这个一切皆对象的世界里,构造函数算什么呢?肯定不能是别的,为了更加直接简单,我让构造函数也是对象,不对是所有的函数都是对象。怎样让函数也是对象?这里先不展开,先贯彻函数也是对象的概念就好。

解决了类和对象的问题,接下来就是面向对象编程的几个重要概念的实现了。

阅读全文 »

MongoDB聚合操作小节

发表于 2016-10-26 更新于 2017-07-02 分类于 mongodb
本文字数: 13k 阅读时长 ≈ 11 分钟

为什么使用聚合

  • 聚合操作的作用

    Aggregations operations process data records and return computed results. Aggregation operations group values from multiple documents together, and can perform a variety of operations on the grouped data to return a single result.

    我的理解是,聚合类的操作提供了一个便捷的计算查询结果的方法。例如你如果使用简单的查询语句可能返回的是一组结果,需要代码去把结果进行计算处理,但是如果使用聚合操作,可以通过一个聚合语句直接返回计算结果。

  • 这里举一个官网上提供的最简单的例子

    聚合操作示例

    如果需要从左边的数据得到右边的结果,一个简单的查询是没有办法做到的,但是聚合操作就可以做到。

阅读全文 »

web端用户行为分析初探

发表于 2016-10-13 更新于 2017-07-02 分类于 Node.js
本文字数: 3.1k 阅读时长 ≈ 3 分钟

需求

任意三方网页中插入一段js脚本,采集用户操作相关信息,发送到服务端处理,产出网站用户轨迹图,鼠标热力图,或者是行为还原动画等等。

实现思路

知乎上看到了老鱼分享的文章
用户行为分析解决方案

需要解决的问题

  • 信息采集(终端平台信息,用户操作信息)
  • 跨域请求
  • 用户身份标识+会话控制
阅读全文 »

javascript面向对象编程实践

发表于 2016-10-08 更新于 2017-07-02 分类于 javascript
本文字数: 8.9k 阅读时长 ≈ 8 分钟

什么是面向对象编程

面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程范型,同时也是一种程序开发的方法。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。

阅读全文 »

Node.js生产环境部署监控方案:pm2+keymetrics

发表于 2016-08-22 更新于 2017-07-02 分类于 Node.js
本文字数: 1.7k 阅读时长 ≈ 2 分钟

为什么要使用pm2

  • 崩溃自动重启
  • 监控

pm2是什么

PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.

阅读全文 »
1…456…12
kivi

kivi

nodejs | server
58 日志
17 分类
32 标签
RSS
© 2019 kivi | 173k | 2:37
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0
|