TAT.iAzrael 使用 CSS mask 实现图片的斜线拼接
In 未分类 on 2016年02月04日 by view: 15,604
21

每次必说题外话

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

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

什么是斜线拼接

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

example

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

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

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

TAT.iAzrael 谈前端工程师的职业规划
In 未分类 on 2015年04月17日 by view: 30,491
20

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

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

TAT.iAzrael 在浏览器端用 JS 创建和下载文件
In 未分类 on 2014年01月03日 by view: 106,718
42

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

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

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

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

TAT.iAzrael JS 计算字符串所占字节数
In 未分类 on 2013年12月31日 by view: 29,429
7

废话不说,直接正题吧。

最近项目有个需求要用 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 相容,使用一至四个字节为每个字符编码

TAT.iAzrael 千方百计加速 Web 之加速 DNS 解析
In 未分类 on 2013年10月30日 by view: 10,424
4

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

TAT.iAzrael 让 Java 跟 Javascript 更加亲密
In 未分类 on 2013年02月20日 by view: 10,216
2

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

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

TAT.iAzrael 从网页监听 Android 设备的返回键
In 未分类 on 2013年02月05日 by view: 27,632
9

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

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

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

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

TAT.iAzrael OAuth 授权的 XSRF 漏洞及其修复
In 未分类 on 2012年11月23日 by view: 13,088
5

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

TAT.iAzrael 自动生成 HTML5 离线 App 应用的 Manifest
In 未分类 on 2012年11月21日 by view: 11,963
3

碎碎念

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

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

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