20181202_ARTS_week23

栏目: JavaScript · 发布时间: 6年前

内容简介:本周算法题 Length of last word;看了一篇讲 ES6 结构以及应用场景的文章;分享使用 npm audit 来检查项目中依赖的风险;分享了『程序员到一定年龄之后竞争力是什么』的一点想法。这个没啥特别好说的,还是比较容易的,就是一开始要去掉头尾的空格。ES6: Understanding the destructuring assignment syntax in Javascript

本周算法题 Length of last word;看了一篇讲 ES6 结构以及应用场景的文章;分享使用 npm audit 来检查项目中依赖的风险;分享了『程序员到一定年龄之后竞争力是什么』的一点想法。

Algorithm

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function (s) {
    s = s.trim();
    let words = s.split(" ");

    return words[words.length - 1].length
};

console.log(lengthOfLastWord("Hello World"))
console.log(lengthOfLastWord("a "))

这个没啥特别好说的,还是比较容易的,就是一开始要去掉头尾的空格。

Review

ES6: Understanding the destructuring assignment syntax in Javascript

https://hackernoon.com/understanding-the-destructuring-assignment-syntax-in-javascript-c3bf8e1e908a

这篇文章讲了 ES6 中解构语法的作用。

比如结构 object:

const car = {
  brand: 'ferrari',
  type: 'sportscar',
  horsepower: 600,
  wheels: 4
};

const { brand, type } = car;

console.log(brand); // ferrari
console.log(type); // sportscar

同时还介绍了一些使用场景:

const carFunction = ({ brand, engine: { horsepower, liters }}) => {
  return `${brand} with engine of ${horsepower} horsepower and ${liters} liters`
}

const car = {
  brand: 'ferrari',
  type: 'sportscar',
  engine: {
    horsepower: 600,
    liters: 4,
    fuel: 'gas'
  },
  wheels: 4
};

console.log(carFunction(car)); // ferrari with engine of 600 horsepower and 4 liters

如果对解构语法不是很了解的话,推荐看看。

Tip

最近爆出了 npm 包 event-stream 被人恶意篡改,依赖中加入了恶意代码,而这些依赖代码会窃取用户的数字货币。

严重的是 event-stream 被很多很多前端流行框架和库使用,包括 Vue 的脚手架 vue-cli。

其实 npm 6 之后,有加入相关的支持。可以使用 npm audit 命令来检查你的项目是否有风险。必要条件需要 package-lock.json ,如果项目里面没有这个文件可以用 npm i --package-lock-only 来创建一个。

这个命令之后也会提示现有项目的依赖是否有什么风险:

found 53 vulnerabilities (18 low, 20 moderate, 14 high, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

更多信息可以看 npm 的文档 https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities

Share

最近在想一个问题:程序员到一定年龄之后竞争力是什么?

当然,我现在也只有一点朦朦胧胧的想法,还不是很具体,也可能很一厢情愿。

可能有人觉得竞争力是编程经验,但是老实说,技术世界瞬息万变,如果不努力学习,经验很可能变成枷锁。比如以前一直以为 Hibernate 会是 Java 语言和数据库交互的第一选择,然而不过几年,MyBatis 的受欢迎程度已经远远超过了 Hibernate。

也有人觉得可能是学习能力,但是老实说,学习能力并不完全随着年龄增长,甚至在一定年龄之后有太多东西让你分心,家庭,孩子,父母,自己的身体等等,你能投入学习的时间精力也会被压缩。冲劲往往也比不过一些年轻人了。

到最近因为一些事情,让我开始有一点朦胧的想法,我觉得有可能是产品力。 可能很多人会觉得我就写好代码,产品的事情产品做就好了。其实不然,如果你只闷头写代码,只是一个完成需求的机器,也就是真正的码农。

而正因为你年纪大了,经历的产品多了,用过的产品多了,同时也懂技术,有眼界有视野,这样往往能有一些特别的想法,不再仅仅局限于一个程序员,而是能围绕整个产品有想法,这种能力不是年轻努力就能达到的,一定程度上说,也是有独特竞争力的。

暂时也只有这种朦胧的想法,还是要继续去思考。

碎碎念

记录一些所思所想,写写科技与人文,写写生活状态,写写读书心得,主要是扯淡和感悟。 欢迎关注,交流。

微信公众号:程序员的诗和远方

公众号ID : MonkeyCoder-Life

20181202_ARTS_week23


以上所述就是小编给大家介绍的《20181202_ARTS_week23》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构教程

数据结构教程

彭波 / 第1版 (2004年3月1日) / 2004-3-1 / 34.00元

精心策划,准确定位 概念清晰,例题丰富 深入浅出,内容翔实 体系合理,重点突出一起来看看 《数据结构教程》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具