0%

一 GraphQL简介

  1. GraphQL是什么

为API而生的专用查询语言

GraphQL是一门为API和运行时而生的查询语言。它可以使用您已有的数据对这些查询进行填充。 GraphQL在您的API中,提供了一个完整的,易于理解的数据描述, 可以给予您的客户端一个权利,可以精确地描述他们所需要的数据,并不拖泥带水。 随着时间的推移,使得API的进化更加容易,并且开启强大的开发者工具

  1. 使用场景

当提起API设计的时候,大家通常会想到SOAP,RESTful等设计方式,从2000年RESTful的理论被提出的时候,在业界引起了很大反响,因为这种设计理念更易于用户的使用,所以便很快的被大家所接受。我们知道REST是一种从服务器公开数据的流行方式。当REST的概念被提及出来时,客户端应用程序对数据的需求相对简单,而开发的速度并没有达到今天的水平。因此REST对于许多应用程序来说是非常适合的。然而在业务越发复杂,客户对系统的扩展性有了更高的要求时,API环境发生了巨大的变化。特别是从下面三个方面在挑战api设计的方式:

  • 移动端用户的爆发式增长需要更高效的数据加载**

Facebook开发GraphQL的最初原因是移动用户的增加、低功耗设备和松散的网络。GraphQL最小化了需要网络传输的数据量,从而极大地改善了在这些条件下运行的应用程序。

  • 各种不同的前端框架和平台

前端框架和平台运行客户端应用程序的异构环境使得我们在构建和维护一个符合所有需求的API变得困难,使用GraphQL每个客户机都可以精确地访问它需要的数据。

  • 在不同前端框架,不同平台下想要加快产品快速开发变的越来越难

持续部署已经成为许多公司的标准,快速的迭代和频繁的产品更新是必不可少的。对于REST api,服务器公开数据的方式常常需要修改,以满足客户端的特定需求和设计更改。这阻碍了快速开发实践和产品迭代。

阅读全文 »

我的新电脑装了哪些软件

软件安装

  • Chrome
    • 登录个人账户,同步插件和设置,密码等信息.
  • Typro 最好用的markdown编辑器
  • 搜狗输入发
  • V2rayX 你懂得
  • Iterm2
    • oh-my-zsh 需要安装苹果自带的工具, 里面含有git
  • Alfred4.0.4 (原谅我可耻的使用了破解版)
    阅读全文 »

突发奇想,想要在家里的笔记本上安装个MongoDB,平时偶尔能用一下来进行测试,既然笔记本上有Docker环境,当然要利用起来了

阅读全文 »

Map学习手记

Map结构特性.

实现类

HashMap

特点

  • HashMap类是基于哈希表的map接口的实现,并且允许使用null键和null值
  • HashMap实现了Map并扩展了AbstractMap类,本身并没有增加新的方法
  • 散列映射不保证元素的顺序,元素加入容器的顺序和读取的顺序可能并不相同,而且不保证顺序是恒久不变

构造方法

阅读全文 »

设计模式模式学习

//TODO

设计模式–迭代器模式

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。

最近在看List/ArrayList/LinkedList,明白了底层的实现方式,就在想,是不是自己可以也模仿写一个简单的ArrayList

阅读全文 »

突然发现,每天深陷业务的纠缠中无法自拔,对于Java的基础部分知之甚少.所以开始看看一些java core基础的部分
今天来了解一下集合容器

阅读全文 »

因为当初双系统给Linux分配硬盘小了~ 可悲的是镜像沾满了所有硬盘.索性全部全盘全格式化了从新安装了.(没有备份,各种文件找不到)但是发现一个问题.忘了私有镜像库的配制方法...好吧原谅我老了健忘...
阅读全文 »

闲来无聊看看 Nginx .

  • 操作系统: Ubuntu 14.04
  • 安装方式: Build source
  • 安装之前使用./configure 检查是否可以进行安装是否缺少模块
阅读全文 »