日志

  • 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 就能入手。而且使用招行信用卡可以分期,虽然不免手续费,但也还可以接受。

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

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

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

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

    (更多…)

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

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

    按照年初制定的每月一次直播讲堂的计划,现在就要准备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. 刚刚开始工作不久的新人

    讲堂地址:

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

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

  • 尬聊会:第八期

    尬聊会:第八期

    第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 脚本

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

    首先,我试用了 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. 模糊掉中间过程,只给出初始条件和结果

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

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

  • 尬聊会:第六期实录

    尬聊会:第六期实录

    尬聊会开了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
    

    在墙内安装

    puppeteer 里面包含完成的浏览器程序,少说也是 100MB,所以需要下载比较长的时间,在墙内则经常会失败。所以建议国内开发者用淘宝的源:

    npm config set puppeteer_download_host=https://npm.taobao.org/mirrors

    Could not find browser revision xxxxx

    如果安装依赖时,默认的浏览器下载不成功,使用时可能会报这个错误。里面的 xxxxx 是某个版本号。此时可以使用 npm i puppeteer --force 重新安装。如果是墙内用户,那么按照上一小节设置源之后再安装,多半就可以解决问题了。

    在 WSL 下使用

    关于 WSL 使用,请参考这篇博文:在 Windows 10 WSL 中使用 Puppeteer

    我的测试仓库和工具

    参见 GitHub puppeteer-tool

  • 关于武汉理工的两个记忆

    关于武汉理工的两个记忆

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

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

    1. 紫燕百味鸡

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

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

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

    2. 欠薪不给的老师

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

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

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

    总结

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

  • WP Super Cache 的 max-age 有问题

    WP Super Cache 的 max-age 有问题

    我厂做的是高性能网关,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-content/plugins/wp-super-cache/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 就不妨拿去一试。