0%

2019 年我的生活有了很多变化。

生活

东北

元旦,也就是 2019 年的第一天,就跟着同事去东北玩了,想想也是神奇。

那天早上同事问我元旦假期要不要去东北玩,我想都没想就答应了,连行程和时间都没问。回想起来可能是那会工作的太压抑了,需要放松一下,所以一听到出去玩,就直接答应了,至于去哪怎么玩都不重要。

现在回想起来,去了哪些地方都已经不太记得了。

印象深刻的就几件事情:

- 和同事以及滴滴司机说服了另一位同事不去冰雪大世界
- 凭着不怕摔的精神,学会了滑雪,说到学滑雪就让我想起来第一次去滑冰的时候,也是凭着这样的精神学会的,虽然摔的很惨,还是挺欣赏自己的勇气的
- 与旅游团的伙伴一起玩黑魔法 & 狼人杀,其乐无穷
- 和团里所有的妹子合了一张影
- 最重要的,认识了现在的女朋友

所以这次东北之行还是收获颇多,这也是第一次主动和同事出去玩。

阅读全文 »

背景

最近接手公司的一个移动端项目,是通过 Rax 作为 dsl 开发的,在发布的时候构建多分代码,在 APP 端编译为能够运行在 weex 上的代码,在 H5(跑在浏览器或者 webview 里面,不管什么技术我们统称 H5) 端使用降级的 weex

这一套开发体系,看起来很完美,一次开发,三端运行。但是真实在开发的时候,就不是这么完美了。由于毕竟是跑在 weex 上的,而不是浏览器。所以在开发方式上也很难直接从 web 端的开发方式平移过去,为了实现跨端运行,所以在样式上只实现了 Css 的子集, DOM API 也是如此,开发的时候,在浏览器里面调试的时候,一切正常,但是等发布到 APP 端用 weex 跑的时候又是各种问题,开发体验很不流畅。

当然,有人会说那是因为你对 weex 的 api 不了解,也对,一直以来对与这种自己搞一套非标准体系来实现各种魔法功能的东西都不怎么感兴趣 但是如果了解它的成本大于了它带来的收益,那么对我们来说,就没有必要做这件事情。

weex 相对于 H5 ,最大的优点在于交互性能上要更好一点。

而随着手机性能的提升,以及 webview 的不断优化,H5 的页面也越来越流畅了,尤其是纯展示形页面上。而且相较于 H5 ,weex 天生不具备 seo 能力,同时存在分享传播困难的缺点,这样看来,使用 weex 的理由就更少了。而且我们在一个新业务上使用 H5 开发了一个页面,借助同构以及提前缓存的能力,已经把首屏打开速度做到了全球秒开,而且业务数据也达到预期,所以我们打算把现有的存量业务都迁移到 H5 上。

这就是我为什么要把基于 Rax 开发的模块代码转换为 React 代码,也就有了本篇文章。
本文针对的 rax 版本是 0.6.8 ,1.x 的版本改动很大,不再本文讨论范围内。

期望的目标

对于一个 rax 模块,我们期望通过编译后:

  1. 能够在 react 下运行
  2. 尽可能提取样式到 css 文件里,不使用内联

不同之处

Rax 在开发之处,就是为了能够使用 React 的语法来开发 weex ,所以一开始在语法上和 React 几乎一致。后续随着 rax 的不断迭代,渐渐和 react 有了一些不一样的地方,但是差距不大。
我们对比一下同一个模块在 rax 和 react 的实现代码:

rax module

import { Component, createElement, findDOMNode } from 'rax';
import Text from 'rax-text';
import View from 'rax-view';
import styles from './index.css';

class Kisnows extends Component {
constructor(props) {
super(props);
this.state = {
count: 1,
};
}

handleClick = () => {
this.setState({
count: this.state.count + 1,
});
};

render() {
const { count } = this.state;
const { name } = this.props;
return (
<View style={styles.wrap}>
<Text style={[styles.name, { color: 'red' }]}>{name}</Text>
<View onClick={this.handleClick}>怕什么真理无穷,进一步有进一步的好。</View>
<View>点击进步:{count}</View>
</View>
);
}
}

export default Kisnows;

react module

import { Component } from 'react';
import { findDOMNode } from 'react-dom';
import styles from './index.css';

class Kisnows extends Component {
constructor(props) {
super(props);
this.state = {
count: 1,
};
}

handleClick = () => {
this.setState({
count: this.state.count + 1,
});
};

render() {
const { count } = this.state;
const { name } = this.props;
return (
<div className='wrap'>
<h1 className='name' style={{ color: red }}>
{name}
</h1>
<div onClick={this.handleClick}>怕什么真理无穷,进一步有进一步的好。</div>
<div>点击进步:{count}</div>
</div>
);
}
}

export default Kisnows;

可以看到他们的区别如下:

阅读全文 »

三年前写了一篇网易一年工作工作总结,如今换工作到了阿里,到今天也算满一年了,总结一下这一年的工作。

本想如法炮制,再写一篇总结,谁知从 6.4 号刚好满一周年到今天,已经拖了一个月了。

虽然已经拖了一个多月了,但真的没空写。

估计这篇文章后面也不会有时间写了,就这样吧。

过了今天,就在这个世界上满满的混了 25 年了,如果要活 100 岁的话,现在过了 1/4 ,算是一个里程碑吧。

回首过去

过去 25 年,整体上还算比较顺利。

侥幸

高一班级组织春游,大家去爬山,爬到山顶休息聊天,我看到山下有两个同学。不知道是脑抽了还是怎么了,就非常想下去找他们聊天,于是就往山下走。由于走的不是常规下山路线,所以不是台阶式的,都是野路。就那么走,谁知重力作用导致我越走越快,最后跑了起来。是的,要在外人看来应该就是一个傻逼从山上往山下跑,我就记得我眼前的景象越来越模糊,速度妥妥地超过博尔特了。结果,腿实在换不过来,绊了一下,结果就以前空翻的姿势朝山下滚去,那几条人体抛物线应该是画的挺完美的。当时我的大脑一片空白,想着可能我这伟大的一生竟然就要交代到这里了,叹息,不过想想这毕竟也是埋皇帝的地方,值了。还没来得及想其他的,突然被一块超大的石头挡住了,就那么把我拦在了半山腰了。停下来后,感觉头上好像在流汗,就下意识去擦,擦完一看,我靠,竟然红色的,完了,完了,这回得躺医院了。
结果呢,最后去医院检查,只是皮外伤加轻微胃出血,掉了两天消炎针就活蹦乱跳的去学校了。

真是幸运,如果没有那块大石头可能就真的交代到我大 x 陵的半山腰了。

求学

后来高中就愉快的打了三年游戏,导致高中三年实验班、重点班、普通班,通通呆了一遍。印象深刻的是,高三的一节化学课上,老师说这个高二已经学过了,我们就不讲了,我:一脸懵逼.jpg。回家赶紧去翻化学课本,发现还真有,就花了一个月的时间把高二课程好好补了下,然后就又愉快的去玩毒奶粉了。以至于高中三年玩网游的经历,直接让我看透了网游的本质,毕业到现在也再没碰过。还有一件有意思的事情,有天晚上我通宵上网,第二天上早读直接趴桌子睡了。我们班主任,一个数学老师,人称“老汉”。过来看我在睡觉,拧着耳朵就把我从课桌上拎了起来,然后让大家安静,“大家不要学他,老是晚上开夜车学习,不知道这样睡太晚会影像第二天上课的吗?” 全班哄堂大笑,都知道我去通宵打游戏了
后来高考,虽然语文没考好,但英语超长发挥,勉强上了大学。

大学吧,选了石油地质专业,想着以后就要向李四光一样为祖国找油了,怀揣着这么一种悲壮的英雄主义情怀进了大学,然后又打了四年游戏。到大三下学期找工作的时候,四级考了四次没过,还连着考了两次 424 。以至于中石油来校开双选会,面试人家前面都聊的好好的,一看四级没过,直接刷了。我当时非常沮丧,然后回宿舍继续愉快的打我的 Dota 。还有件有趣的事情,斯伦贝谢来我校招聘,我去面试。人家一面纯英文面,我这渣渣英语赶紧好好准备了一下,到我的时候我就开始背我准备的自我介绍加专业知识,结果没背两句就忘了后面的,于是就在那胡诌,皱了半天我都不知道我说的是啥。完事,人面试官给我来一句,“you are so lovely” , 然后就这么过了一面,神奇。因为四级没过,当时找工作非常不顺利,然而我还一点都不慌,后来没复习又考了一次四级,竟然过了。

成绩单还没下来的时候,中海油来校招,拿着简历 + 网上打印的成绩单去面试,终于面过收到了 offer ,不容易。

工作

哪里有石油,那里就是我的家

大学毕业,先去中海油总部天津培训了一个月,然后被分到了深圳分公司,去开发南海。哇,南海啊,祖国的蓝色国土啊,就要靠我了。在深圳搞了好久的安全培训,然后再一次迎新酒会上,被告知我分到了 HYSY981 平台。我的天,我很是太幸运了,981 可是当时国内最先进的半潜式平台,当时别提有多高兴了。天天盼着出海,在盼星星盼月亮等出海的过程中,本着怕掉海里淹死的恐惧强行自学了游泳。
大概到 9 月底的时候告诉我们可以出海了,然后一帮同事从深圳搞到了湛江分公司,在那里领导请我们大吃了一顿,从下午五点吃到凌晨两点,说是为我们送行。第二天又坐船从湛江到海南,等直升机又等了将近两周。直升机来的前一天,一帮大佬又请我们大吃了一顿。说是出海前吃点好的,从海上回来要再大吃一顿,这是一种习俗,毕竟有出去回不来的危险。

阅读全文 »

泰国

落地签

我是飞到曼谷素万那普机场,下机后跟着人流直走,头上有指示牌,可以一路走到办理落地签的地方。
办理落地签有两个通道,一个普通通道,一个快速通道。快速通道 2200🐖,普通通道 2000🐖。
建议走快速通道,能省很多时间。

阅读全文 »