每次必说题外话

话说貌似好久没有写技术文章了,自从娃娃出来后,很少能有时间做技术研究,思考的时间也不足。不过有得必有失,世上事也就酱紫了。但是作为一个前端攻城师,不写代码,不研究技术,是会被后浪拍死在沙滩上的。

碰巧前段时间碰到个CSS问题,一直很喜欢CSS的,能CSS解决的问题绝对不用JS,于是就抽时间整整看。

什么是斜线拼接

回到本文主题上,”斜线拼接“是我自创的词语,因为我也不知道怎么描述这个需求,o(╯□╰)o,实际的效果是下面所示:

example

眼力好的筒子应该就能发现,上面这张图是两个帅锅拼接在一起的,看中间的斜线。

但是呢,刚接到这个需求的时候,开发是抓狂的——第一反应就是用canvas画图,这得多累啊,只是要显示张图片而已,竟然还要动用一坨JS,O__O "…

不过依稀记得,CSS 貌似有个遮罩的特性,可以实现图片的部分显示的效果的。

TAT.iAzrael 谈前端工程师的职业规划
In Web开发,经验心得 on 2015年04月17日 by view: 8,551
17

在敲下这个标题的时候,心里好虚。话说我一直不太喜欢发表这些看上去很假大空的文字,每个人的职业规划都是独有的,不具有太大的可复制性,把自己的经历放出去,容易误人子弟。只是最近很多师弟们(别问我为什么都是师弟,我想静静……也不要问我静静是谁!)问起这个,也就根据自己的经历发表一下对前端工程师的看法吧,“我说的都是错的”,仅供参考。另:本篇是纯文字,密集恐惧症换成勿入!

从我接收第一份前端需求开始,到现在也有五个年头了。自己也从一个愣头青变成一个快到而立之年的大叔,时间真的是哗啦哗啦的快。这五年里,其实可以分成三部分:1~2, 3~4, 5。

TAT.iAzrael 在浏览器端用JS创建和下载文件
In JavaScript on 2014年01月03日 by view: 60,170
40

前端很多项目中,都有文件下载的需求,特别是JS生成文件内容,然后让浏览器执行下载操作(例如在线图片编辑、在线代码编辑、iPresst等)。

但受限于浏览器,很多情况下我们都只能给出个链接,让用户点击打开-》另存为。如下面这个链接:

<a href=”file.js”>file.js</a>

用户点击这个链接的时候,浏览器会打开并显示链接指向的文件内容,显然,这并没有实现我们的需求。

TAT.iAzrael JS计算字符串所占字节数
In JavaScript,Web开发 on 2013年12月31日 by view: 14,982
6

废话不说,直接正题吧。

最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的。而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16。因此本文只对这两种编码进行讨论。

下面这个定义摘自维基百科(http://zh.wikipedia.org/zh-cn/UTF-8),做了部分删减。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,可以表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII相容,使用一至四个字节为每个字符编码

通常情况下,做移动开发时,如果要向后台请求数据,都会直接使用TCP通信。但实际上一来HTTP比TCP简单易用多了,二来有很多现有CGI如果要进行改造得花很大功夫。还是会有使用HTTP请求来拉取数据。

TAT.iAzrael 让Java跟Javascript更加亲密
In JavaScript on 2013年02月20日 by view: 7,952
2

在移动App开发中,为了快速迭代,通常都会使用Native+Web的模式开发。具体来说就是使用Java提供接口,使用WebView控件嵌套Web页面来实现UI和交互。

在Android中,Java可以很方便的提供接口给WebView中的Js进行调用,只要以下一行代码就能搞定:

最近搞Android项目的时候,遇到一个比较蛋疼的需求,需要从Client App调用系统浏览器打开一个页面,进行杂七杂八的一些交互之后,返回到App。如何打开浏览器和如何返回App这里就不说了,有兴趣的童鞋可私下交流。

之所以说这个需求蛋疼,是因为Android有个物理返回键啊……返回键啊……键啊……啊……

用户按下返回键后,预期应该跟点击页面上的返回键一样——返回App。然而这个返回键的被按下的时候网页完全不知道啊(onbeforeunload不算),找不到直接的办法去监听,愁死我们这全苦逼程序员鸟~

虽然啊不能直接监听,曲线救国的办法,还是有滴。

TAT.iAzrael OAuth授权的XSRF漏洞及其修复
In Web开发 on 2012年11月23日 by view: 9,494
5

话说前段时间 OAuth2.0 授权被人找出了个漏洞,各个开放平台都有影响,导致一阵恐慌。虽然后来发现其实是夸大其后果了,但也暴露出我们对这个经常用的协议仍一知半解的现状。所以花了点时间,整理了 OAuth1.0 和 2.0 的授权流程、以及其中的隐患和修复方案,供各位同学了解。由于本人也是临阵磨刀,难免疏漏,欢迎指点。

TAT.iAzrael 自动生成HTML5离线App应用的Manifest
In Web开发 on 2012年11月21日 by view: 10,695
3

碎碎念

HTML5的离线应用(Offline Application)已经广为人知了。无论是用来给WebApp提供离线使用的功能,还是仅仅用来加速页面加载,离线应用都是个让人很爽的特性。

离线应用的原理什么的就不在赘述了,google一下就有很多介绍。这里主要谈下怎么生成离线应用的配置文件。离线应用需要根据服务器上的manifest配置来决定时候要离线和更新,以及判断有哪些文件需要离线。

对于Google+的用户来说,以后在信息流里看到朋友分享某个好的Android应用时,不需要通过到Google Play里搜索再下载安装应用这么麻烦的操作了。如果有朋友在Google+里分享了某个应用的链接地址,现在可以直接在Google+里下载安装。