码迷,mamicode.com
首页 > 其他好文 > 详细

逻辑自恰,成为一个体系化思考和解决问题的工程师而不是面向搜索引擎的代码搬运工

时间:2020-09-18 17:23:43      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:证明   nginx   统计   code   引擎   解决   如何   用户   能力   

由 shell sed 替换规则 s/pattern/replacement/flags 引起的一些小想法:

以前在vim 替换所有的时候,Googel 上搜索一下,vim 字符串替换,然后直接执行 s/a/b/g 将所有的a替换成b, 那么为什么会这样写,要这样写呢?如果问自己的话,自己会说不知道,这个时候说明自己是一个面向搜索引擎的工程师,如果搜索引擎返回出来的结果和自己的场景不一样呢,或者说有一些参数或者配置是需要根据具体业务配置呢,网上的博客或者文章没有写出来,自己使用了,那么会不会引起不一样的效果和场景呢。这个是真实存在的,昨天需要统计nginx 的每小时的访问次数,也是搜了一下,去做,最后发现思路是正确的,只是自己没有理解清楚命令的使用场景然后将数据统计错了。场景如下:

目的:是分小时统计关键词匹配到的请求数

cat access.log | grep ‘keyworkd‘ |cut -c 32-33 |sort|uniq -c
cat access.log | grep ‘keyword‘ | awk ‘{print $4}‘| cut -c 14-15 | sort|uniq -c

第一种为什么是错误的呢 ,因为并没有获取到时间这条记录 [18/Sep/2020:00:00:21 +0800],cut -c 32-33 字符的时候,cut -c 是截取字符,也就是截取32-33的字符显示,那么一定是32-33的字符么,后面验证下来是不一定的,因为ip地址的位数是变化的,所以思路是正确的,自己的使用是不正确的。所以 尽可能的想清楚,搞清楚远离,然后动手实践,如果实在理解不了或者说是没有搞清楚,就动手去实践,看看真实的情况和场景是什么样的。
那么 s/pattern/replacement/flags 是什么意思呢:

在Linux 命令行与Shell 脚本编程大全 19.2 sed编辑器中有提到替换标记
s/pattern/replacement/flags
有4种可用的替换标记:
? 数字:表明新文本替换第几处模式匹配的地方
? g,表明新文本将会替换所有匹配的文本
? p,表明原先行的内容要打印出来
? w file,将替换的结果写到文件中

去做一个有品位,有态度,有能力的Engineer吧,多看书,多思考,多动手实践。

总结:

  1. To be a Engineer:工程师是有代码品味的,有代码设计,对自己写的代码有追求,同时不断精进自己写代码的能力,善于学习,乐于学习的人

  2. 体系化思考和学习:

    真正的学习成长都是一点一滴的积累,从经典的计算机图书/视频/教程中,不仅仅是看,还要动手实践中学习而来的,不是遇到不会的东西搜一下解决了,就是会了,这仅仅是用,禁不起推敲,经不起打磨,经不起时间的考验和海量用户的请求的。

  3. 多多实践,自己想的并不是正确的

不仅要看书,还要动手去做,看了书,你并不一定是理解了,你以为自己理解了,发现真正动手做的时候还是出错,还是没有思路,这个现象证明你还是没有真正理解这个问题的本质和如何解决这个问题,也就是你没有学会和理解。而且一些未接触过的知识本来就是有难度的,你还不动手去实践,去理解里面的细枝末节,仅仅是在外面看,是学不到真正的东西的。如果一个东西真正理解了, 你可以用最简单的话将这个东西讲清楚的,如果你讲不清楚,说明你还是没有真正的理解(费曼学习法)。

逻辑自恰,成为一个体系化思考和解决问题的工程师而不是面向搜索引擎的代码搬运工

标签:证明   nginx   统计   code   引擎   解决   如何   用户   能力   

原文地址:https://www.cnblogs.com/zhangpengfei5945/p/13691161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!