20181118_ARTS_week21
栏目: JavaScript · 发布时间: 5年前
内容简介:本周算法题 Remove Nth Node From End of List,分享了 vue 工程编译生产版本时添加图片压缩的方法,分享了一点关于掘金社区裁员过冬的想法。这题一开始一直没思路,然后看了 leetcode 的讨论,这个解法还是比较精妙的,用两个指针,然后距离就是 n,等到最后一个碰到末尾,要踢掉的元素就是 前一个指针的后一位。这周 review 暂停了,参加了水滴阅读一个活动,每天花十分钟,100 天阅读几本全英著作,水平太次,我还是从童话开始 :-)
本周算法题 Remove Nth Node From End of List,分享了 vue 工程编译生产版本时添加图片压缩的方法,分享了一点关于掘金社区裁员过冬的想法。
Algorithm
/** * Remove Nth Node From End of List * https://leetcode.com/problems/remove-nth-node-from-end-of-list/ * * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @param {number} n * @return {ListNode} */ var removeNthFromEnd = function (head, n) { let nodeToReturn = head; //Have two pointers, one that is n ahead of the other let pointer1 = head; let pointer2 = head; //Move pointer2 to be n ahead for (let i = 0; i < n; i++) { if (pointer2) pointer2 = pointer2.next; } //If pointer2 doesn't exist, that means we must remove the head of the list if (!pointer2) { return nodeToReturn.next; } //Move both pointers until pointer2 reaches the end while (pointer2.next) { pointer1 = pointer1.next; pointer2 = pointer2.next; } //Save the node two places ahead of pointer1; pointer1.next = pointer1.next.next; return nodeToReturn; };
这题一开始一直没思路,然后看了 leetcode 的讨论,这个解法还是比较精妙的,用两个指针,然后距离就是 n,等到最后一个碰到末尾,要踢掉的元素就是 前一个指针的后一位。
Review
这周 review 暂停了,参加了水滴阅读一个活动,每天花十分钟,100 天阅读几本全英著作,水平太次,我还是从童话开始 :-)
Tip
vue 项目图片压缩。
项目中图片压缩还是很有必要的,你压缩那么多 css,js,一张图片就可以让你的压缩白费。
要在 vue 项目中实现图片压缩,需要对 webpack 配置做一些修改。
网上有提到使用 image-webpack-loader ,但是使用 这个需要修改 webpack.base.conf.js,不太合理,理论上只在编译 prod 版本时去做图片压缩,所以相应的配置也是应该在 webpack.prod.conf.js 。
对比之后选择了 imagemin-webpack-plugin ,只需要在 webpack.prod.conf.js 中加入这个插件就 ok 了。
安装
npm install --save-dev imagemin-webpack-plugin
使用:
var ImageminPlugin = require('imagemin-webpack-plugin').default // Or if using ES2015: // import ImageminPlugin from 'imagemin-webpack-plugin' // 在 CopyWebpackPlugin 之后加入相关的内容 module.exports = { plugins: [ // Copy the images folder and optimize all the images new CopyWebpackPlugin([{ from: 'images/' }]), new ImageminPlugin({ test: /\.(jpe?g|png|gif|svg)$/i }) ] }
注意这里,如果用 require,后面有个 default,和一般的插件有点不一样。
Share
这周看到个不好的消息,由于资本寒冬,掘金社区需要裁员过冬了。
挺惋惜的,我加入掘金社区比较早,虽然现在比较少在上面发文章了,但还是会一直关注着它。这三年,掘金社区发展的很快,从一开始只是分享文章上去,到可以原创,再到沸点,掘金小册等。甚至由于掘金社区的影响力,甚至一度成为培训班标配的发文章地点。
然而,社区类产品想要盈利还是比较困难的,于是做了掘金小册产品。
也许知识付费类产品永远要面对一个问题就是面向的人群,面向初学者容易被骂骗钱,面向高级程序员,又卖不动。除此之外,还有头疼的品控问题,品控强了,推出的慢,更新的慢,作者又少,品控弱了,内容就水了。
于是可以看到某个国内知名前端团队,开发了个框架,然后用自己开发的框架写个 todo list 也能做成一本小册,这真是不要太赚。
不管怎么样,内容付费是大趋势,而历史总是波动中前进,加油,掘金。
碎碎念
记录一些所思所想,写写科技与人文,写写生活状态,写写读书心得,主要是扯淡和感悟。 欢迎关注,交流。
微信公众号:程序员的诗和远方
公众号ID : MonkeyCoder-Life
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。