Rockjins Blog

Mad World


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

一个让你面试可以多要3k~5k的面试技巧

发表于 2017-07-27 | 分类于 Mind | 阅读次数

前几天一个同事离职了,因为对公司给的薪水不满意,跳槽去了。

我只能祝福他可以找到一家中意的公司,并跟他讲了我面试的终极绝招!在这里分享给各位。

阅读这篇文章的前提是,你不是真的是一只不会动脑瓜子的菜鸟。

我们简短说说一般程序员面试的过程:

  1. 做题;

  2. 面试官拿着题,你自我介绍,接着问你些与题目有关的问题;

  3. 项目方面的介绍,发问,以及你项目中碰到过的难题;

  4. 祝你好运;

做题考的是技术,这个是硬邦邦的。如果你技术牛逼到无坚不摧,那把我当成傻比就好,大牛!

阅读全文 »

live-server快速搭建服务

发表于 2017-06-14 | 分类于 Technology | 阅读次数

争取节省大家的时间,看看有多快…

本地开发常常需要搭建临时的服务,第一时间我们会想到用http-server。

但现在流行修改文件浏览器自动刷新,好像叫hot socketing(热拔插),这时候又得用到live-reload。

既然装逼就要装到底,服务启动了,我想浏览器自动打开我的项目,再用个opener。

现在只要使用live-server就能实现这三个插件的所有功能,而且很简单就能启动一个看起来很专业的本地服务。

你只需要全局安装live-server:

1
npm install -g live-server
阅读全文 »

阿里云配置 node.js + Nginx 反向代理

发表于 2017-06-14 | 分类于 Technology | 阅读次数

学如逆水行舟

1.首先你得安装node.js,我是用nvm安装的,这样比较好控制版本,当然你也可以使用apt-get。

2.下一步是安装Nginx,不去管版本的话,直接sudo apt-get install nginx就行。

3.进入/etc/nginx目录,查看nginx.conf配置文件,在http块中找到这样两句:

1
2
# include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/*;

看看你的这两句有没有注释掉,如果注释了就把#号去掉,没有注释的话就跳过这一步。

4.进入/etc/nginx/conf.d目录,创建我们自己的配置文件,去名规则最好是域名加端口,这样以后方便找,比如我的:rockjins-com-8081.conf,配置文件写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
upstream rockjins {
server 127.0.0.1:8081; # 这里的端口号写你node.js运行的端口号,也就是要代理的端口号,我的项目跑在8081端口上
keepalive 64;
}
server {
listen 80; #这里的端口号是你要监听的端口号
server_name 39.108.55.xxx www.rockjins.com rockjins.com; # 这里是你的服务器名称,也就是别人访问你服务的ip地址或域名,可以写多个,用空格隔开
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://rockjins; # 这里要和最上面upstream后的应用名一致,可以自定义
}
}
阅读全文 »

ssh连接服务器 Operation timed out

发表于 2017-05-27 | 分类于 Technology | 阅读次数

买了个阿里云ECS云服务器,捣鼓吧…

大家知道,云服务器的默认端口是22,为了防止服务器端口被轻易扫描到,我在sshd_config中把Port改为3999(这是我随意改的一个端口号)。

今天再次进行ssh连接时,登了大概一分钟,报了这样一个错:

ssh: connect to host 39.108.55.** port 3999: Operation timed out

连接服务器超时了,第一时间我想到服务器被墙了,不过我在阿里云上买的,没道理啊,先去ping一下再说:

阅读全文 »

昨夜の梦 - 树

发表于 2017-05-24 | 分类于 Diary | 阅读次数

还是这个熟悉的地方,一片迷雾,看不清周围的环境。

在这片荒芜的土地上有一棵孤独的小树苗,大概到我腰间的高度,相比它的粗细来说已经算是高挑的了。

树枝被一根粗麻绳绑着,麻绳的另一头绑在我的脖子上。

我站在一旁,手里拿着一根不知哪来的水管,不时给小树苗浇浇水,渴了就自己喝一口,我似乎从未如此惬意、满足。

小树长得很快,不一会就和我一样高了,我就像看自己孩子长大一样幸福,唯一不足就是绳子勒的有点紧。

时间过的很快,我想如果继续这样下去,我会不会被吊死在这。

我试着松一松颈上的绳子,才发现是死结,树上绑的也是死结。

阅读全文 »

常见音乐相关中英文速查表(持续更新)

发表于 2017-05-23 | 分类于 Music | 阅读次数

叫你不好好学英语

A

英文 中文 备注
Analog 模拟(信号) 传输感很差
Acoustic 原生 相比处理过的音色而言
Acoustic Guitar 木吉他
AUX 辅助
AFL 推子后监听
Activity 动态

B

英文 中文 备注
Bass 低音、贝斯
Bpm 速度、拍子 Beat Per Minute(每分钟拍子数)
Bar 小节
Breakdown => 歌曲中夹杂着的具有“切断感”的伴奏
Birdge Plot 桥段 用于衔接歌曲段落
Brass 铜号 泛指铜乐器
Bell 金属铃
BAL/Balance 平衡
阅读全文 »

postMessage死循环与window.parent

发表于 2017-05-19 | 分类于 Technology | 阅读次数

轮回不止 生死不休

上礼拜用postMessage进行iframe跨域通信(使用postMessage解决iframe跨域通信问题),因为写的代码不够健壮,其实说到底还是了解的知识点不够多,这个礼拜BUG就提上来了…

我相当于开发一个中间层框架,在我外层有一个大框架用iframe包着我,我再用iframe包着另一个页面,如图(配色好评):

阅读全文 »

如何兼容多种模块规范

发表于 2017-05-09 | 分类于 Technology | 阅读次数

如果你也在开发模块,并且想让你的模块同时在前后端运行,那么这篇文章会让你有收获。

模块运行的环境主要有四个: Node 、 AMD 、CMD 、 普通的浏览器环境

要同时兼容这四种环境,我们只需要找出每个环境独有的特点即可进行判断:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;(function (name, definition) {
// 检测上下文环境是否为AMD、CMD
var hasDefine = typeof define === 'function',
// 检查上下文环境是否为Node
hasExports = typeof module !== 'undefined' && module.exports;
if (hasDefine) {
// AMD环境、CMD环境则define(definition);
define(definition);
} else if (hasExports) {
// 定义为普通Node模块 module.exports = definition();
module.exports = definition();
} else {
// 将模块的执行结果赋值在window变量中,在浏览器中this等于window对象,this[name] = definition();
this[name] = definition();
}
})('hello', function () {
var hello = function () {};
return hello;
});
阅读全文 »

使用postMessage解决iframe跨域通信问题

发表于 2017-05-05 | 分类于 Technology | 阅读次数

这周碰到一个让人头疼的需求:要在我的web项目中嵌入另一个第三方web项目。第一时间想到的就是用iframe了,但问题来了,我和第三方web项目是有交互的,这就违反同源策略了,处理跨域问题是最让人头疼的事之一。

需求是这样的,在我的页面点击一些按钮,要实时反馈到iframe子页面,子页面再进行响应。

当时脑子里第一时间想到的解决方案是:用NGINX把两个项目代理到同一域名下。但这样似乎有点小题大做了,有没有更方便快捷的方法呢?

在window对象下有个postMessage方法,是专门用来解决跨域通信问题的。

阅读全文 »

Meteor: Error: Depending on unknown package xxx

发表于 2017-04-12 | 分类于 Technology | 阅读次数

Versions: 1.4.1

据我在GitHub issue上了解到的,许多人都碰到这个问题。

很多朋友程序运行时没问题,但build的时候就出现这个错误,我是这样解决的:

Meteor build 时找不到新添加的包解决办法:

1.执行Meteor reset;

2.删除.meteor/local/resolver-result-cache.json文件;

这个文件包含所有package的缓存,在运行meteor build时,打包命令运行后会去读这个文件,但新添加的package并不在其中,所以会出现找不到新添加的package的问题。删除这个文件后,再次执行打包命令,程序发现找不到这个缓存文件,就会去重新读取所有的package,这时候就不存在找不到新添加的package的问题了。

阅读全文 »
123…6
余震

余震

Teenager Dream Of Freedom

57 日志
7 分类
45 标签
RSS
GitHub Weibo
© 2016 - 2017 余震
由 Hexo 强力驱动
主题 - NexT.Pisces