Why·Liam·Blog

人生若如初見

今天看到有人因为 hexo 文件遗失 以前的文章全没有了 所以我准备在 Github 备份我的代码

  1. 本地编写文章
  2. push 到 Github
  3. Travis CI 检测到代码变化
  4. Travis CI 构建代码环境,编译代码,生产博客文件,并自动部署

顾名思义,Travis CI 是一个持续集成 (Continuous integration,简称 CI) 的工具。它可以在公共的 Github 仓库上免费使用。

首先去 travis-ci 官网,点击右上角 Sign in with GitHub 通过 github 授权登录。然后去到个人信息页面,开启需要使用 travis 的项目关:

阅读全文 »

瓦片地图十分有趣,我今天第一次了解

如今互联网地图的地图内容分为两种,一种是栅格地图瓦片,一种是矢量地图瓦片。

栅格地图瓦片是一种比较传统的模式,将矢量数据渲染成为 256×256 像素大小的图片。前端 js 地图框架,如 openlayer 和 leaflet,按一定规则编排显示,如百度地图,高德地图,天地图等。栅格瓦片地图的渲染技术已经成熟,可以实现栅格渲染,矢量渲染两种。参考笔记 mapnik 笔记一: 入门及 python 接口使用。

矢量地图瓦片是一种新颖的模式。地图数据会以 json 等格式分块地传输过去,在浏览器端利用前端框架将地图在显示出来。在这个基础上,你必须懂得 canvas。整个展示的过程对点线面的渲染有很严格的规定。总体来说,矢量瓦片的数据传输量少,服务器压力小。方便渲染成为各种各样的地图,所以这也是为什么 Mapbox 首推 Mapbox GL 的原因,腾讯地图使用矢量渲染的原因。而且现在移动端不断利用矢量瓦片的技术,考虑到导航时候,需要将地图旋转成为伪 3D 界面。

对于经过墨卡托投影为平面的世界地图,在不同的地图分辨率 (整个世界地图的像素大小) 下,通过切割的方式将世界地图划分为像素为 $256\times256$ 的地图单元,划分成的每一块地图单元称为地图瓦片。
地图瓦片具有以下特点:

阅读全文 »

不知道 SAE 的价格是怎么算的,反正最近就是这么逗不够用。连续冲了 3 次钱了,上星期又被停了。

其中我的博客每月最少要花 50 元钱,它提示我的博客的访问量已经上了 50 万,我知道这事根本不可能的事情。

Google analysts 给我的数据也就 2000 左右。

总之,他又促使我有了转了博客的决心。

阅读全文 »

磕磕碰碰把软件开发好,固然是一个令人喜悦的事情。

一方面为软件可以上架而开心,另一方面软件的幼稚感令我十分的担忧。

从产品角度谈谈,自己觉得还有一下一些问题

  1. logo 过于丑陋
  2. 引导页过于简单,没有良好的引导功能
  3. 现在主页的资讯过于简单(应当实现缓存,给予个人信息的智能推荐功能)
  4. 主页的交互过于死板,还有提升空间
  5. 登入页面好 low,我正在以一个 UX 的角度重构设计
  6. 没有良好的交互模式
阅读全文 »

昨天调试完 CodeshipEC2 的连接后开始尝试,连接 Docker

Docker 之所以有用,是因为把代码从一个机器迁移到另一个机器经常是困难的。它尝试去使得软件迁移的过程变得更加可信和自动化。Docker 容器可以移植到所有支持运行 Docker 的操作系统上。

简答一点,我直接安装 Docker Toolbox.

我们使用 Terminal 进入 Docker

阅读全文 »

登入 codeshiptrivisCICircleCI 任意一个,这三个都是可以持续集成的管理工具

本文暂时以 Codeship 为例子进行配置

  1. 登入 codeship,绑定 github 或者 bitbucket,选择一个项目
  2. 修改 README,加入 Codeship Status,如
  3. Project Configyration 中配置 test settingdeployment
  4. 自行配置 测试代码
  5. 配置 部署配置
  1. Add new deployment pipeline
  2. 选择需要部署的 分支,如 master
  3. 选择部署 codedeploy
  4. AWS Access Key ID, 在 IAM 上建立的用户
  5. AWS Secret Access Key, 在 IAM 上建立的用户
  6. Region,如 us-east-1
  7. AWSCodedeploy 的应用的名字
  8. Codedeploy 上组的名字
  9. S3 的名字
  1. 提交代码,代码会进过如下步骤
  2. 生成测试环境
  3. 在测试环境中更新代码
  4. 测试
  5. 测试成功后安装 AWS CLI
  6. 上传代码到 s3
  7. s3 上的文件部署到 codedeploy
  8. ec2 中执行配置脚本
  9. 等待部署成功
阅读全文 »

上篇我们配置了一大串的东西基本完成的 AWS 的配置,接下来我们可以试一下开始部署。

  1. 进入服务器 ssh -i **.pem ec2-user@ip地址

在代码文件中创建 appspec/yml

阅读全文 »

今天基本理清了 CodeShipCodeDeploy 的用法。

在 IAM 的用户中 (USER) 创建一个用户,暂时我就把它命名为 codeship 。该用户是给 Codeship 做部署用的。

在 IAM 中创建三个策略 (Proliies)

EC2

阅读全文 »

在公司继续打杂

公司准备弄一套自动部署系统,这两天看了一堆的资料

持续部署:业界没有统一明确地定义,简单理解为将集成结果部署到不同的环境供用户使用,并且立即反馈部署结果的实践,其中不同的环境包括:开发环境、测试环境、预发布环境、生产环境

持续部署两个核心要素:持续、自动化,自动化是持续的基础

持续部署的需求场景:

阅读全文 »

因为缺乏立竿见影的时效性。

让我们看看人都喜欢做什么:

旅行,很多人喜欢旅行,到了地方,疯狂的拍照留念,吃好吃的,一个地方最重要的景点,可能一天就收在自己的相机里了,这是时效性。

赌博,你把筹码放上去,下一秒就知道输赢,就算去参加世界扑克大赛,从六千多个人里决出胜负也只要七天而已。这种及时反馈的游戏让人乐不思蜀,不用坐在那里拼命工作才能拿到月终那点薪水,坐在这里,搂着美女,谈笑风生,钱就流进来了(当然也可能流出去)。

玩。比如说游戏,游戏也是随时带着立即反馈的效应来吸引玩家的,只要你投入时间玩,你就会提升等级,获得更多的钱,亮闪闪的装备,这和现实如出一辙,只是现实中人们,只是游戏中一个月能达到的成就,现实中可能十年也达不到。喝酒,召妓,吸烟,这些能带来立即快感的东西,也让人流连忘返,人们都喜欢用最少的付出来获得及时快乐。

阅读全文 »
0%