Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >20181118_ARTS_week21

20181118_ARTS_week21

作者头像
Bob.Chen
发布于 2018-11-19 08:03:16
发布于 2018-11-19 08:03:16
59600
代码可运行
举报
运行总次数:0
代码可运行

本周算法题 Remove Nth Node From End of List,分享了 vue 工程编译生产版本时添加图片压缩的方法,分享了一点关于掘金社区裁员过冬的想法。

Algorithm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 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 了。

安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install --save-dev imagemin-webpack-plugin

使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 也能做成一本小册,这真是不要太赚。

不管怎么样,内容付费是大趋势,而历史总是波动中前进,加油,掘金。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
20181111_ARTS_week20
When to use the :empty and :blank CSS pseudo selectors
Bob.Chen
2018/12/12
7020
leetcode 19 Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.
流川疯
2019/01/18
3150
为你的网站用上 WebP 图片吧
之前写了一篇文章:jpg、gif、png和svg用于web上,我们该如何选择最合适的图像格式,介绍了这几种图片格式的特点,以及如何为网站选择合适的图片,然后评论区有位大佬让我补充下 WebP 格式,于是乎它来了。
用户4456933
2021/06/01
1.5K0
为你的网站用上 WebP 图片吧
React多页面应用7(webpack4 生产环境配置)
本教程总共9篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React多页面应用1(webpack4 开发环境搭建,包括热更新,api转发等)---2018.04.04 2、React多页面应用2(webpack4 处理CSS及图片,引入postCSS,及图片处理等)---2018.04.08 3、React多页面应用3(webpack4 多页面实现)---2018.04.09 4、React多页面应用4(webpack4 提取第三方包及公共组件)---2018.
前端人人
2018/04/17
1.2K0
React多页面应用7(webpack4 生产环境配置)
Vue 脚手架项目分析
babel-preset-env是一个新的预设,可以让你指定一个环境并自动使能需要的插件。 支持拥有超过1%市场份额的浏览器
deep_sadness
2018/08/30
1.8K0
Vue 脚手架项目分析
C语言经典编程题100例 71~80
76、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)。
C you again
2022/08/22
1.2K0
mpvue——引入echarts打包vendor过大
有一个项目需要引入图表,当时有两种选择一种是mpvue-echarts,一种是F2,而我经过踩坑之后依然决然的选择了mpvue-echarts,简单快捷容易上手,主要之前用过比较熟悉。
思索
2024/08/16
1380
[Leetcode][链表]相关题目汇总/分析/总结
题目汇总 以下链接均为我博客内对应博文,有解题思路和代码,不定时更新补充。 目前范围:Leetcode前150题 单链表 Reverse Linked List/Reverse Linked List II 翻转链表(必考) Add Two Numbers 给定两个链表分别代表两个非负整数。数位以倒序存储,并且每一个节点包含一位数字。将两个数字相加并以链表形式返回。 Remove Nth Node From End of List 删除链表中倒数第n个节点 Merge Two Sorted
蛮三刀酱
2019/03/26
8410
18款Webpack插件,总会有你想要的!
这篇文章整理了18个Webpack插件,分享给Web开发的小伙伴。Plugin是一个扩展器,它丰富了webpack本身,针对的是loader结束后,webpack打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些分段,执行广泛的任务。
王小婷
2020/10/26
1.4K0
vue-cli脚手架npm相关文件解读(2)webpack.prod.conf.js
系列文章传送门: 1、build/webpack.base.conf.js 2、build/webpack.prod.conf.js 3、build/webpack.dev.conf.js 4、build/utils.js 5、build/vue-loader.conf.js 6、build/build.js 7、build/dev-server.js 8、build/check-versions.js 9、../config/index.js 下面是webpack.prod.conf.js中相关代码和配
SmileSmith
2018/04/16
1.2K0
React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)
本教程总共7篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1.React多页面应用1(webpack开发环境搭建,包括Babel、热更新等) ----2017.12.28 2.React多页面应用2(处理CSS及图片,引入postCSS及图片处理等)----2017.12.29 3.React多页面应用3(webpack性能提升,包括打包性能、提取公共包等)----2017.12.30 4.React多页面应用4(webpack自动化生成多入口页面)----201
前端人人
2018/04/11
1.6K0
React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)
详解 Vue 目录及配置文件之 build 目录
1.1 项目目录介绍 目录/文件 说明 详解 build 项目构建(webpack)相关代码 详解 config 配置目录,包括端口号等 详解 node_modules npm 加载的项目依赖模块 详
Demo_Null
2020/09/28
2.5K0
详解 Vue 目录及配置文件之 build 目录
9102年:手写一个React脚手架 【优化极致版】
在上面的示例中,我们通过 output.filename 和 output.path 属性,来告诉 webpack bundle 的名称,以及我们想要 bundle 生成(emit)到哪里。可能你想要了解在代码最上面导入的 path 模块是什么,它是一个 Node.js 核心模块,用于操作文件路径。
Peter谭金杰
2019/08/02
9920
9102年:手写一个React脚手架    【优化极致版】
webpack 配置多页面应用的一次尝试
然后在 /build/utils.js 创建 getHtmlArray 方法,用来自动生成多个模板的配置:
神葳
2021/01/22
9030
Webpack4 搭建 Vue 项目
由于 Parcel 打包工具的影响,webpack4 也追求零配置搭建项目。而前阵子出现的 vue-cli 3.0也是基于 webpack4 零配置的思想创建的。对于一些习惯webpack3 的开发者难免有些不习惯。本文就带你绕过 vue-cli,用 webpack4 一步步搭建 vue 项目。
小皮咖
2019/11/05
1.1K0
嗯,手搓一个TinyPng压缩图片的WebpackPlugin也SoEasy啦
曾经发表过一篇性能优化的文章《前端性能优化指南》,笔者总结了一些在项目开发过程中使用过的性能优化经验。说句真话,性能优化可能在面试过程中会有用,实际在项目开发过程中可能没几个同学会注意这些性能优化的细节。
JowayYoung
2020/08/06
9610
嗯,手搓一个TinyPng压缩图片的WebpackPlugin也SoEasy啦
快速配置webpack多入口脚手架
当我们基于vue开发单个项目时,我们会init一个vue-cli,但当我们想在其他项目里共用这套模板时,就需要重新init一个,或者clone过来,这非常不方便,而且当多人开发时,我们希望所有的开发代码都在一个git目录下,这时就有了对webpack进行配置的需求,当有些页面需要多入口时,我们又产生了对多入口配置的需求,这里提供一种配置方案,希望能帮助到有需要的人,废话不多说,我们开始吧!
吴裕超
2019/01/02
9360
【webpack】从vue-cli 2x 到 3x 迁移与实践
左图项目结构为vue-cli 2x版本脚手架生成的项目,build文件夹包含了webpack配置
树酱
2020/07/03
1.1K0
【Webpack】1083- 分享15个Webpack实用的插件!!!
用途: 将css样式从js文件中提取出来最终合成一个css文件,该插件只支持webpack4之前的版本,如果你当前是webpack4及以上版本那么就会报错。
pingan8787
2021/10/08
5550
【Webpack】1083- 分享15个Webpack实用的插件!!!
十:图片处理汇总
如项目代码目录展示的那样,除了常见的app.js作为入口文件,我们将用到的 3 张图片放在/src/assets/img/目录下,并在样式文件base.css中引用这些图片。
心谭博客
2020/04/20
1.2K0
相关推荐
20181111_ARTS_week20
更多 >
加入讨论
的问答专区 >
1宣传大使擅长3个领域
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档