XPS13 2018 新版顶配开箱

新笔记本到了,XPS13 2018新款高配,学人家开个箱。

2016年从前司离职的时候,为了能够移动办公,经过再三对比,选择了当时较新的 XPS13 中配版本 i7-7500T+8G+256G。XPS 是 Dell 的高端品牌,比同配置的其它品牌要贵一些,买之前心里比较忐忑,实物到手后才放下心来:真是一分价钱一分货,XPS 设计感十足、屏幕色彩丰富、散热良好、噪音很小、待机超长,确实比以前 5K 附近的笔记本好用得多。

以前做前端,对性能感受不太明显。如今我厂日常很多编译工作,对 CPU 要求颇高,这一代 CPU 低主频低睿频少核心的劣势就很明显(主要是 2017年之前农企太不给力),使用体验明显差于 2015 年买的 iMac(i7 4核4G),可以参考前文:升级依赖的一些小感受。所以我早早就动了换本子的念头,尤其是 Intel 发布第八代酷睿之后,各大笔记本厂商纷纷升级换代,我也一直都在关注。基于前面使用 XPS13 的良好体验,我的第一目标是新 XPS13 顶配版:

  1. 更轻薄体积更小
  2. 待机时间更长
  3. 带指纹识别的开关
  4. 触控屏(没办法,触控的确更符合人类天性)

不过新品 16999 的售价让我望而却步,打算等到双11,降价+优惠之后,再择机购买。这样一来老机器也能物尽其用,免得被领导批评。结果前两天我鬼使神差的打开 Dell 官网,惊讶的发现竟然直降 3000,在京东 16999 的同时,官网只要 12999 就能入手。而且使用招行信用卡可以分期,虽然不免手续费,但也还可以接受。

这……简直……不容错过呀……

于是我只有……先买为敬了……

于是我反复对比配置,确定降价的型号真的是顶配无误,才颤抖着点下下单按钮。

接下来,经过长达一周百爪挠心的漫长等候(真是被京东惯坏了……),今天终于拿到了新本子。立刻开箱:

继续阅读“XPS13 2018 新版顶配开箱”

新讲堂:职场新人必修课——社保个税创业股票贷款买房晋升考评等

5月份讲堂预告:职场新人必修课——社保个税创业股票贷款买房晋升考评等,地址:https://segmentfault.com/l/1500000014575853?_ea=3676068,欢迎光临。

按照年初制定的每月一次直播讲堂的计划,现在就要准备5月份的讲堂了。考虑再三,结合平时在 QQ 群里解答大家的问题的经验,我打算继续深挖“职场新人”的需求,这次的计划分享关于社保个税等非技术相关但又非常重要的主题。

计划围绕主角小宅,在职场生涯各个阶段面临的问题来组织这场讲堂。我也正好回顾一下自己的职业生涯:

  1. 非科班,靠自学 Flash 找到第一份工作
  2. 快速成长,当上前端组组长
  3. 遇到第一个职业瓶颈,难以突破
  4. 艰难离职,缺乏跳槽经验,找了一家外包公司,并不合适,于是半年后二进宫
  5. 产品方向取得突破,700人公司进入核心管理层,遇到第二个职业瓶颈
  6. 再次离职,工资突破性成长,突破技术瓶颈
  7. 加入初创公司
  8. 努力做大做强,跟各部门合作
  9. 创业失败,扫地出门

这么一看,我还真的很合适做这个话题,哈哈。

内容大纲

内容主要分为客观部分和主观部分:

客观部分:

  1. 社保养老医保商保公积金个税
  2. 保密协议竞业禁止接私活
  3. 买房贷款
  4. 生孩子报销
  5. 期权与股票
  6. 晋升与跳槽

主观部分:

  1. 工作中的常见误区
    1. 过分信任老板
    2. 过分信任同事
    3. 是金子总会发光的?
  2. 如何认识加班?
  3. 如何认识头衔?
  4. 学会背锅,学会汇报——升职加薪的阶梯
  5. 大城市奋斗,小城市养老?
  6. 如何突破阶层壁?

面向受众:

  1. 应届生,大学生
  2. 刚刚开始工作不久的新人

讲堂地址:

职场新人必修课——社保个税创业股票贷款买房晋升考评等

开始之前都会有早鸟票,欢迎光临。

尬聊会:第八期

尬聊会第8期实录。介绍了竞业禁止的相关知识;以及性能对比测试的相关知识。

第7期去哪儿了……

视频在此:尬聊会第八期 竞业禁止/性能对比测试

时间:2018-04-22 21:45
地点:我的斗鱼直播间 douyu.tv/meathill
回看视频:http://blog.meathill.com/tech/galiao-8.html

0. 竞业禁止

  • 什么是竞业禁止
  • 竞业禁止有哪些注意事项

1. 性能对比测试

  1. 什么是性能对比测试
  2. jsperf.com
  3. 性能对比测试的细节

实录地址:

2018-04-22 尬聊会 第8期实录

下期预告:

下下周因为 SF 直播的关系,下周没有尬聊会,下下周周日见。


欢迎加入肉山小课堂一同学习,QQ 群:肉山小课堂答疑交流群 628056148,SF 圈子:肉山小课堂继续深造中心

使用 Pug 和 Stylus 开发小程序的 watch 脚本

小程序开发有两点比较蛋痛:1. 每个页面必须有3个文件,wxml,js,wxss;2. 使用 wxml 替代 html,使用 wxss 替代 css,使得默认的编译失效。这个脚本用来帮助我们使用 pug 和 stylus 进行开发。

首先,我试用了 Wepy,丑的一逼,遂放弃。

小程序开发有两点比较蛋痛:

  1. 每个页面必须有3个文件,wxml,js,wxss
  2. 使用 wxml 替代 html,使用 wxss 替代 css,使得默认的编译失效

Webpack 在这里不太适用,因为 1,我们并非要把所有代码打包到一起。WebStorm 的 File Watcher 也不适用,因为它输出的文件扩展名是固定的(跟 pug 和 stylus 源程序有关)。于是我经过摸索了,使用 gulp 脚本解决了这个问题,代码如下:

import gulp from 'gulp';
import pug from 'gulp-pug';
import rename from 'gulp-rename';

const pugFiles = 'pages/**/*.pug';

// 通用的 pug 处理,可以把 pug 转译并改名为 .wxml 文件
async function doPUG(path) {
  gulp.src(path)
    .pipe(pug())
    .pipe(rename({
      extname: '.wxml',
    }))
    .pipe(gulp.dest('./pages'));
}

// 将所有 pug 进行转译
gulp.task('pug', async () => {
  return doPUG(pugFiles);
});

// 侦听 .pug 文件的变化,并转译被修改的
gulp.task('watch', ['pug'], () => {
  gulp.watch(pugFiles, ({path}) => {
    doPUG(path);
  });
});

接下来,开发的时候,只要运行 gulp watch 即可。

用类似的方式,我们还能处理 stylus -> css,这里就不详述了,大家可以自己试一试。

完整的 gulpfile 在 GitHub 仓库里,请自行取用。

应用创意:题海生成器

做一个题海生成器,可以生成无限多各级难度的题目,方便练习。

这个创意部分来源于梁博的微博。他为了帮助他儿子学习,做了一个加减乘除练习题的生成工具。

在应试教育的前提下,考分非常重要。要想得到高分,题海战术最为行之有效,尤其是理科,多见识题目,多练题目,将课堂上学到的知识与题目建立强关联,以期在考试时尽快完成解答,几乎是唯一途径。

获取习题的方式,在我那个年代就只有买习题集。习题集可能是抄袭最多发的地区,基本上,买一本习题集,里面完全没做过完全没见过的题目<10。结果只有大量买,反正做过的就当复习了。

其实出题是有逻辑的,而且并不复杂。举个例子,小学生的加减乘除练习题,就是几个随机数,随机运算符,计算,得出结果。这个自不用说,大家都知道,那么复杂一些的问题是怎么产生的呢?

其实就是减少条件数量,隐瞒中间步骤。比如几何证明题,已知条件 ABC,求证 G,其实就是利用 ABC,退出 DEF,然后自然得出 G。或者更复杂一点,其中一个条件是辅助线。再比如化学推断题,就是 A 和 B 反应生成 C,C 搞一下生成 D,D 又和 E 反应生成 A 这样,其实也只是把某一物质的若干个反应结合起来,考察学生的记忆推理能力。

了解这些之后,我们应该可以写出一个题海生成器:

  1. 录入所有需要掌握的知识点,比如平行线、SO2有臭鸡蛋味等
  2. 输入难度系数
  3. 按照难度系数,生成完成推理过程
  4. 模糊掉中间过程,只给出初始条件和结果

然后解答也很容易,直接揭示中间过程即可。

感觉又是一个月入百万的项目呢!

尬聊会:第六期实录

尬聊会第6期,先介绍了向上管理;然后讲解了 URL 过滤;再接着讲解了自动补全筛选。下一期将在本周日4-22,介绍性能对比测试。

尬聊会开了4期之后,我发现大家很少问具体的技术问题,多半会问关于求职面试之类的事情。于是把之前的经验整理了整理,做了两期讲堂,效果还挺好:

接下来我觉得求职面试讲的差不多了,没剩啥干货了,加上今年想转换思路,利用尬聊会慢慢讲一些大题目,所以从第五期开始,讲设计模式,之后基本就在探索。

再接下来,我在工作中遇到两个算法问题,属于不复杂但是需要耐心和一点小技巧的类型。于是我就把它们拿出来作为作业布置下去——很遗憾,没人完成,不过尝试的人很多——然后第六期就做了比较详细的讲解。

具体视频在此:尬聊会 第六期 向上管理/URL过滤解析/自动补全筛选解析

时间:2018-03-26 21:30
地点:我的斗鱼直播间 douyu.tv/meathill
回看视频:http://blog.meathill.com/tech/galiao-6.html

目录

0. 向上管理

  • 简单介绍了向上管理。
  • 平时应注意积累数据,并在汇报中包含这些数据。
  • 写简历的时候也应带上数据。

1. 问题一:URL 过滤

整理域名 问题描述

2. 问题二:自动补全筛选

生成自动补全的函数列表 问题描述

参考资料

视频中设计到的代码均可在 GitHub 课后作业 这个仓库中找到。

下期预告

上周跟我厂老板争执了两个性能方面的问题,最终以性能对比测试的方式产生了结果。本周尬聊会计划就这个过程和细节做一次分享。结束前会抽一名同学赠书一本,《CSS 世界》或《深入理解 ES6》任选。


欢迎加入肉山小课堂一同学习,QQ 群:肉山小课堂答疑交流群 628056148,SF 圈子:肉山小课堂继续深造中心

Puppeteer 笔记

记录使用 Puppeteer 的一些经验。

记录使用 Puppeteer 的一些经验。

安装使用

puppeteer 是一个“库”,没有自带的命令行功能。所以要使用的话必须写一个文件,然后实现对应的功能。

npm i puppeteer

在 WSL 下使用

因为 WSL 的环境比较特殊,直接使用会报错:

No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using –no-sandbox.

所以需要禁用 sandbox:

const browser = await puppeteer.launch({
  args: ['--no-sandbox', '--disable-setuid-sandbox'],
});

试用后抓图成功,汉字变成方框,可能跟我 WSL 里的字体配置有关,先不管了。

关于 sandbox,可以看这个文档,我其实也不太了解……

我的测试仓库和工具

参见 GitHub puppeteer-tool

关于武汉理工的两个记忆

我不喜欢武汉理工,因为上大学时给那里的一位老师做兼职,翻译英文杂志,结果最后被欠薪1000块。

这两天武汉理工事件炒得很凶,我暂时不评论。中国大学就那个德性,每年都有几个被老师压榨致死,最后多半不了了之——这是整个社会只追求效率不追求公平正义在校园里的反应,类似的事情太多见。

不过我并不喜欢武汉理工,建议大家有机会的话不要选择。我在武汉上大学,跟武汉理工有一点点联系,记录如下:

1. 紫燕百味鸡

从地大去武理比较方便,门口 709,这个终点站到那个终点站,行程大约2小时,上车就睡,撵人了就昏昏沉沉的下车,就到了。

武理公交站有一家紫燕百味鸡,我习惯拿到钱去买一份夫妻肺片,没记错的话10块钱一碗,够吃一顿,配上一碗素面,很过瘾很解馋。

这也是对武理比较好的印象。

2. 欠薪不给的老师

我之所以会坐2小时的公交去武理,是因为给那里的一位肖姓老师做翻译兼职。他可能做课题,要把一份教会杂志《Truth for Today》翻译成中文。最初是我一位同班同学接到的,他做不了,拿给我做;肖老师对我的作品很满意,评价说比他的研究生议得更好。

这份工作我做了蛮久,挣了一些钱,现在看来简直血汗工厂的要死:10块/页,A4 左右的幅面。一本杂志52页,就是520块,我当时每个月家里规定给600块,所以等于多出一个月的钱,还是很补的,所以也不觉得被压榨,哈哈。

可是就在我翻译完最后两本并交付之后,肖老师却消失了。打电话不接,去武理也找不到,甚至连他一开始特别宝贵的原版杂志也不问我要了。我也没办法,在武理也不认识其他人,去一趟往返就是4、5个小时,时间成本也很高,我自己还有很多其它事情,最后就拖着拖着放弃了。

总结

我并不是说这两件事情之间有什么联系,不过我的确不喜欢那所学校。

WP Super Cache 的 max-age 有问题

给博客上了全站 CDN,哈哈

我厂做的是高性能网关,CDN 也是其中一大功能,所以就要吃自己的狗粮。之前多次尝试在七牛上配置全站 CDN,均以失败告终,这次因为是自家的产品,可以找同事咨询,所以打算再试一次。

配置过程暂且不提,基本上很顺利。结果在缓存上遇到一些麻烦,源站(也就是我的博客)控制为:max-age=3,所以基本上完全失效。

由于这个东西很多地方都可以控制,所以只好逐一排查。首先打开 WP Super Cache 的配置——它负责缓存,所以从它找起——无果;然后 Google “wordpress cache-control”,无结果;然后 Google “max-age=3”,发现这个地址:Cache-Control max-age=3, must-revalidate,原来缓存 max-age=3 竟然是插件的问题,而且一直保留至今。

按图索骥,打开 wp-cache-phase1.php,没有找到,原来这段已经被挪到 wp-cache-phase2.php,而且亦然没改……修改为 86400,缓存就可以 HIT 了。

至于这个地方是不是 Bug?我觉得是。这么短的时间不科学,如果真的这样,不如放出来给用户选择。

应用创意:我也是大腿

写一个工具,自动生成女主播的鬼畜视频,想想都很激动呢。

直播界风起云涌,如今很多大主播的号召力已经不亚于三四线小明星,比如陈一发。相信很多人都知道,相信很多人也看过这个视频:主播真会玩鬼畜篇08:暴击女王陈一发。像我这样的中老年人其实对 B 站和鬼畜都不怎么感冒,不过对这种视频的传播效力很感兴趣。

今天百度发布了分词产品,虽然我很讨厌百度,但不得不说这个分词产品和它的语音合成产品都给我们这些不会语音合成的开发者创造了新的可能,算是百度积累的一件功德,略微降低了我对它的恶感。

接下来介绍的这个 idea 我其实琢磨一阵子了,它是一个工具,可以用来合成任意鬼畜视频。工作流程如下:

  1. 抓取直播视频,提取音频文件。现在大主播都有回看功能,应该不难。
  2. 把音频文件切割后,利用百度语音转换成文字。切割主要根据停顿,方便识别句子。
  3. 把时间点和文字入库备用。
  4. 选择一首歌,或者自己写个段子
  5. 使用 ES 之类的工具,检索出匹配度最高的句子;也可以使用百度分词工具,分词,查找最匹配的段落
    1. 合成结果类似:
      白日依山尽 ( 2018-01-01 1.mp4,10:10:10-10:10:25)
      黄河(2018-01-02 2.mp4, 10:10:12-10:10:15) 入海流(2018-01-02 3.avi,10:15:22-10:15:35)
      欲穷千里目(无匹配)
      更上一层楼(4.flv,0:0:15-0:0:35|5.mp4, 1:1:1-1:1:20)
    2. 纯文本文件,方便保存和版本管理
  6. 人工预览一遍,对个别词进行调整
  7. 自动裁剪拼接配乐输出视频
  8. 完成

这样一来,即使主播本人未播过的歌曲,也可以根据素材合成出来,比如 陈一发儿:~老公~要抱抱~要亲亲~嗯~人家要嘛~

目前这里面所有步骤都可以使用工具和比较简单的开发语言完成,如果你想积攒编程经验,又无从下手,且喜欢看各种女主播,这个 idea 就不妨拿去一试。