20181202_ARTS_week23

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

内容简介:本周算法题 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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Agile Web Development with Rails 4

Agile Web Development with Rails 4

Sam Ruby、Dave Thomas、David Heinemeier Hansson / Pragmatic Bookshelf / 2013-10-11 / USD 43.95

Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details. Tens of thousands of deve......一起来看看 《Agile Web Development with Rails 4》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具