别了Amazon——一个工程师在Amazon两年的感悟 | 不厌其烦 

作者:JerryXia | 发表于 , 阅读 (49)

我于2014年11月3日正式入职Amazon在温哥华的办公司,到2016年12月2日离职,历时整整2年1个月。由于已经有了下一个职业目标,所以我在提出辞职的时候比较轻松。哪知真到了离职的这天,我却赫然发现心中隐约的依依不舍:不但是对优秀的同事,甚至还有对Amazonian(亚马逊人)这个身份。
我离职前恰逢一件意外发生:一个西雅图Amazon总部的工程师因为被老板放到了PIP中,愤而跳楼了(注:PIP即Performance Improvement Plan,大公司用于开除人的工具)。这让亚马逊的“特别”的企业文化继去年纽约时报的批评之后又一次走上了风口浪尖。也不断朋友问我这是不是我离开亚马逊的原因,对此我的回答很简单:我决定离开的原因是因为我相信下一个机会更适合我。
抛开企业文化这个有争议的话题不说,亚马逊可以从一个小小的卖书网站成长为全球范围内电商的霸主,技术上在云计算领域也是绝对的第一名,我们不妨来看看它积极地独一无二的一面。于是,我想回顾一下个人在亚马逊学习到的东西和感悟,作为对于过去两年的一个总结。这篇文章并非技术帖,更多是我个人成长更多的非技术领域。
Owners...阅读全文

MVP+RxJava+Dagger打造的Android Album

作者:JerryXia | 发表于 , 阅读 (47)
这个Demo类似Android的图库一样能扫描手机目录的大部分的图片,查看,管理,操作图片。这个Demo的组成是以MVP作为App的主要框架, Rxjava, Dagger作为辅助工具。
App的展示: 

需要说明一下,我这个Album Demo只是我这个AllDemo的一个子Demo,里面还包括了几个Demo的。而整个AllDemo也是采用MVP框架的。
这个Album Demo所涉及的代码文件有这些:

首先来说下ImageLoader和一些功能类。
这个类主要用来加载手机内的绝大部分图片,这不包括全部,原因有些其他App的图片是私有的。loadDeviceImages方法用来加载手机图片,并返回Observable对象,这是RxJava的一个对象。想了解更多RxJava可以到官方wiki查看,毕竟我还没到熟悉程度,还在学习当中。
/*** load device images* @return Observable<List<Folder>>*/private Observable<List<Folder>> loadDeviceImages() {return...阅读全文

我的web前端面试经历————百度 | 娜酱骑士团

作者:JerryXia | 发表于 , 阅读 (43)
写在前面的话博主就读于电子科技大学,大三狗一枚!面试是个漫长的过程,从海投到收获电话面试,一面、二面、三面,一个步骤出错那么后面就宣告终结。同时,面试过程中你也可能会遇到一些面试官的刁难,甚至部分面试官会说些比较打击你的话,但是大部分面试官都是很棒的!
面试前的准备基础知识必须有牢固的基础知识,足够丰富的项目经历(就我而言差不多是三个完整项目经历,时间累计差不多接近一年)。至少这上面的面试题你能全答出来,说得足够清楚!web前端面试宝典1web前端面试宝典2
表述能力表述能力,你要能把你的答案给面试官描述清楚,注意专业词汇,这将大大提高面试官对你的印象分!
简历简历尽量一页,不要超过两页。简历内容要直奔主题,姓名、电话、邮箱、学校、项目经历!兴趣爱好之类的大部分面试官会视为垃圾信息直接过滤掉,如果你Github有什么star很多的项目千万记得贴上,这点加分非常高!如果你有自己的博客,博客上有一些含金量较高的文章的话也记得贴上自己的博客。当然最重要的一块肯定是你掌握了哪些技术,但是千万不要用网上现在比较火的进度条去表示你对技术的掌握情况,这是非常愚蠢的行为,到底什么算掌握、熟悉、精...阅读全文

web前端面试问题总结 | 娜酱骑士团

作者:JerryXia | 发表于 , 阅读 (21)
JavaScript数组的操作方法有哪些?各自什么作用?.join() 数组转字符串,无参数的时候默认以,进行分隔。.reverse() 数组颠倒排序.sort() 数组排序,默认字母顺序排,自定排序需传入排序函数.concat() 数组拼接,可跟多个参数,参数可以数组,也可以是值.slice() 返回数组片段.splice() 删除数组片段,第一个参数代表起始下标;第二参数代表删除个数,忽略则代表全删;第三、四…………个代表从删除位置开始要插入的内容.push() 数组末尾加入指定参数,返回值为数组长度.pop() 删除数组末尾元素,返回删除数值.unshift() 数组首部加入指定参数,返回数组长度.shift() 删除头部元素,返回删除的数值.toString() 转字符串,以都,隔开,与无参数的.join()相同.toSource() 只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,说明ajax的优缺点优点:
无刷新页面,给用户体验好异步与服务器通信,不打断用户操作,具有更迅速的响应能力前端和后端负载平衡,AJAX可以把以前一些服务器负担的工作转嫁到客户端,...阅读全文

200行代码实现web在线聊天室 | 娜酱骑士团

作者:JerryXia | 发表于 , 阅读 (35)
项目介绍基于websocket的一个简单的聊天室技术栈 express+socket.io+animate.css+angular关于websocket不了解的点我,而socket.io是对websocket进行封装,提供通用接口。Github项目地址
安装与使用1234567git clone https://github.com/ShanaMaid/websocket-express-webchat.git  #下载项目npm install  #安装依赖node app.js  #启动服务访问  http://localhost/  #进入聊天室功能进入房间通知离开房间通知消息接收与发送在线列表服务器端信息备份动态GIF在线聊天室Demo手机与电脑均可访问,点我进入在线版
实现思路利用on绑定事件,emit触发绑定事件,服务器端与客户端进行交互12socket.on(eventName,callBack)  #绑定事件,eventName可以自定义socket.emit(eventName,data) #触发事件,发送data
更多关于socket.io的详细信息请移步官方...阅读全文