字母数字排序的 sortX 的实现

字母数字排序的 sortX 的实现

昨天和一个刚刚转前端的朋友聊天时,他说之前面试时有道 javascript 排序题思路不是很清楚,让我把这道题详细的讲解一下。本文主要是记录我的实现方法,欢迎大家一起讨论,如有更好的方法请给我留言。

题目如下

给定一个只包含大写字母和数字且无重复元素的混合数组,按照以下要求排序

  1. 字母按在字母表中的位置和数字从小到大排序
  2. 字母优先排在前面

例如:

sortX 为该方法,则执行 sortX([“1”, “A”, “B”, “4”, “E”, “C”, “6”, “7”]);

结果为:["A", "1", "B", "C", "4", "E", "6", "7"]

阅读更多
如何正确的提交本地仓库到远程仓库

如何正确的提交本地仓库到远程仓库

背景

初始化一个本地仓库并添加一个新文件(README.md),然后将本地仓库上传。

先 pull,因为两个项目不同,发现refusing to merge unrelated histories,无法合并。

注:查看解决方法,请直接跳过操作过程。

操作过程

新建项目并初始化

1
2
3
mkdir -p learning/test // 新建一个项目目录
cd learning/test // 进入项目目录
git init // 初始化仓库

关联远程仓库

1
git remote add origin https://git.oschina.net/hxrealm/test.git

查看仓库地址

1
2
3
$ git remote -v
origin https://git.oschina.net/hxrealm/test.git (fetch)
origin https://git.oschina.net/hxrealm/test.git (push)
阅读更多
LazyMan 的实现

LazyMan 的实现

LazyMan 是一道 javascript 面试题,第一次听说 LazyMan 一词是与ing70聊天中获得,本文主要是说说自己的实现思路和方法。

题目如下

实现一个 LazyMan,可以按照以下方式调用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
LazyMan("Hank")输出:
Hi! This is Hank!

LazyMan("Hank").sleep(10).eat("dinner")输出
Hi! This is Hank!
//等待10秒..
Wake up after 10
Eat dinner~

LazyMan("Hank").eat("dinner").eat("supper")输出
Hi This is Hank!
Eat dinner~
Eat supper~

LazyMan("Hank").sleepFirst(5).eat("supper")输出
//等待5秒
Wake up after 5
Hi This is Hank!
Eat supper

以此类推。

分析思路

根据经验猜测此题可参考 jQuery 中delay()、PHP 中sleep()Express中 next()中间件等方法的实现原理。也是典型的 JavaScript 流程控制,因此问题的关键是如何实现任务的顺序执行。

阅读更多
chartJs 在项目应用中的一些总结

chartJs 在项目应用中的一些总结

Chart.js 是一款流行的 javascript 图表库,基于 HTML5 Canvas 开发,具有简单、灵活、兼容主流浏览器等特性。

本文主要是对新版 Chart.js (v2.0+)在项目应用中的一些小总结,请特别注意目前国内翻译的 Chart.js 中文版本相对比较旧,大家在使用过程中请注意,在此推荐查看 Chart.js 官网。

官方版本

中文版本

下面主要记录 Chart.js 在实际项目应用场景中的一些设置,主要以问答方式体现如下:

1、 如何设置线条大小、颜色?

1
2
3
4
5
6
7
8
9
10
data: {
labels: "labels",
datasets: [{
label:'',
data,
borderWidth: 2, // 线条宽度
borderColor:'rgba(255,255,255,.6)', // 线条颜色
backgroundColor:'rgba(255,255,255,.2)', // 线条到坐标区域背景色
}]
}
阅读更多
注意亚马逊的 AWS 提供免费一年的套餐到期后扣款

注意亚马逊的 AWS 提供免费一年的套餐到期后扣款

亚马逊应该是目前实际上云服务商中最最知名的,早就听闻了它的云服务器业务,和阿里云的差不多,就是可以自己搭建自己的云服务器。

亚马逊的 AWS 提供了拥有免费一年的套餐,当时也是为了体验一下 AWS,所以就注册并开通了 AWS 中的 EC2,从体验过程中感觉 AWS 操作相对复杂,不是很适合个体用户,最终还是选择了 linode。

今天主要是分享一下亚马逊云服务器取消操作以及在此过程中的一些体会。

背景

无意中发现本人信用卡消费记录中有一条 Amazon web services 扣款$12.19 的记录,通过排查发现一年前开通的 AWS 服务已到期,正常思维是没有使用,不应该产生费用。

调查收集

  • 通过信用卡帐单查询发现 AWS 服务到期后每月都有不固定的扣款记录
  • 通过登陆 AWS 官网点击进入帐单与成本管理界面可查询详情消费记录
  • 研究 AWS 收款规则

关闭服务

打开页面: https://console.aws.amazon.com/billing/home#/account (这个页面最下面有提供关闭服务,不会再被收取任何费用,正常情况下直接关闭服务即可)

注:如果开通的不是基础服务则需要先取消相关服务,点击“Cancel Services,” 下面的“Click Here”,点击“Change Plan”,选择“Basic Support” 然后点击“Change Plan”,保存后关闭服务即可