A

我觉得吧,我是得好好反省反省了,这周是“最长的不重复字符串”那道题,不仅如上周般偷懒继续扩大那个已经破了只用数组和自制链表得金身上过的伤口,结果也是惨不忍睹

image.png
不一定下周了,需要从头捋一遍好好的回顾反省总结下

这个每一次代码的准确记录,应该提到git里面相对存档会好一点吧,这一次的是

R

Jenkins 得一个文档

我看了一部分,烂尾了,主要是一开始就是它一直劝退的感觉

还好我忽然发现了一个我确实想精读一下的,又不是很长的东西,对于下周能尽快和老赵那边落实下一些实质的东西,也是有帮助的

就是,这个古老的,玩意儿

宣言本身,也就是通常认为的,价值观部分,太简单了,但本着scrum不过度承诺的准则,我就不去非得让自己把它英文原文背下来了,虽然不难吧,先捋完价值观部分,然后再看12条有没时间,按说也要捋一下,否则太像充数了

虽然正文很短,但是这个所谓的宣言页,还是有很多内容的,浏览下来,应该认为是十二个部分:

话不多说,一个一个来吧

第一部分:标题

原文

Manifesto for Agile Software Development

解读

  • 这个没啥好翻得
  • 主要是manifesto,这个词儿,确实不常见,查了一下有道词典,这个是托福GRE词汇
    • 我第一次看见这网站时候,或者也算是第一次听说有敏捷宣言这么个玩意儿的时候,其实心中有些不以为然,虽然知道这里面有Martin Fowler、Kent Beck 、Andrew Hunt、Robert C. Martin这几位,毕竟自己不得不承认是这些大师们不入流的学生
    • 但是特么的,这东西自然让我想起人权宣言,独立宣言这两个玩意儿
    • 觉得,米国的小资产阶级还是太不严肃了
    • 但也许是严肃的,因为那两个玩意儿,英文都是Declaration,这俩有啥不一样呢?给自己留个也不知道什么时候能做完的思考题
    • 而且那俩好像介词都是 of 呦,这个用的 for 呦,这个又多了一个不知道什么时候完成的思考题
    • Wikipedia竟然还专门有一个条目,更搞不懂了

第二部分,导语

原文

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

解读

  • 原文带节奏强翻第一句:
    • 我们通过亲自(开发软件)的和帮助他人(开发软件)来uncovering 更好的开发软件的方式
    • doing it 应该就是developing software
    • uncover,四级词汇… 揭开盖子,应该等同于discover吧
  • 原文带节奏强翻第二句:
    • 通过这项工作,我们得到了(have come to)(如下——主要是指第三和第四部分,这个中文的介词则是我自己带节奏了)价值观
    • come 确实是英文百搭词之一啊

      第三部分,四项价值观

      原文

      Individuals and interactions over** processes and tools Working software _over_ comprehensive documentation Customer collaboration _over _contract negotiation Responding to change over **following a plan

解读

  • 右项的事其实很多人都说过了,需要第四部分,也就是现在通常被人们认为的第五项价值观(也被过度解读了?),这里扯一些左项中都容易被忽略的
  • Individuals,个体,不管是四项还是五项价值观,第一个词啊,第一句往往都把重点放在interaction上了,个体不强,组织事实上也强不到哪儿去,这可能是我的过度解读,但是12原则中是有支持的
    • 这里再加一点个人的过度解读,interaction 和 后面的所谓collaboration,也都要注意对个人的支持、帮助、信任、尊重上
    • 没错,我说的就是不要肆意的去打扰我们的程序员,甚至每一个人
  • Working software 这里更多的是作为一个沟通的媒介的价值,12原则段落还有更多的内容,价值观部分的重点和原则部分的还是各有侧重,这个还会经常被解读为那种被错误理解的结果导向,好像一切,都是为了最后出来一个working software,其实不是的,working software更多的是以结果导向为指引的那个审慎过程中的一个度量标准
  • Customer 应该被理解的更宽泛一点,而不单单是指 Biz的people
    • 比如,如果写一个http的endpoint,那么调用它的web application的coder,就是这个endpoint 的coder的customer
    • 所以类似的,互动角色组合的默契和共识,over 过纠结一个纸面上的约束
  • Responding to change ,只是Responding … 而并不意味着无条件服从,就好像它over的follwing plan这个事儿一样,既然不能不管不顾的只following plan,那当然也不能无条件的 following change啊
    • 具体的如何responding,这个就得看具体的框架的一些惯常的做法了
    • 比如scrum,sprint backlog 是个计划,如果为了responding to change,对backlog做出调整,那么通常有一个原则要遵循,比如,就是临时加了个需求,那么要移出等量的需求
  • 最后就是over 这个词儿,它肯定是表示的左项在某种意义上是在右项之上的意思,否则:
    • 就没有下一个部分特别强调了value … more了
    • 但是好多地方把它翻译成优于,胜于,这难免不让人过度的解读了这个over,以为就是抑右扬左
    • 被官方接受的那个翻译,高于,我觉得也差点意思,还是没完全领略其精髓
    • 已经由很多人对第四部分,也就是宣言结语,或者被现在基本认为的第五条价值观的深化解读,主要是承认右项价值这个事情,强调了,在敏捷目标指引之下,右项的意义,但我觉得其实还是不足够的
    • 具体怎么翻译我是没个主意,但是如果把它当成在右项基础之上进而执行左项,实践上会是一个很有意思得事情

第四个部分,结语,暗含的第五项价值观

原文

That is, while there is value in the items on the right, we value the items on the left more

解读

  • That is ,这个习惯用语?
  • 其他应该目前中文社区没啥太多异议,不管while是尽管,还是表示更弱的比较关系而后面的怎么怎么样,都还是认为左侧更有价值,但是右侧也不是就给扔了

    第五个部分

    这就没啥好翻的了,17个人名,很多算是如雷贯耳

    第六个部分

    原文

    © 2001, the above authors

this declaration may be freely copied in any form,

but only in its entirety through this notice.

解读

  • 版权保护,其实一直不知道copyright这个年份是啥意思
  • 版权归上面17个人
  • 后面一段话也没啥可翻的,但是这里叫declaration了,玩儿我就是…

    第七个部分

    敏捷软件的12原则的link,稍后专门的跟他较一个劲,这周算了,哈哈,偷懒了

    第八个部分

    本身又指向了一页索引,它叫做所谓 Independent Signatories of The Manifesto for Agile Software Development,敏捷宣言的导语,四项,结语的三个主要段落又复述了一遍,然后就是一堆link,点进去看就算是各个时间捧场的吧,看最后的记录在2016 July 10

第九个部分

连接到一页,是宣言初始签署那些人的一个简介,不过要注意的是,前面第五部分17个人名,这里竟然只有14个,没仔细数没谁的名字

第十个部分

连接到一个专门的页面,敏捷宣言诞生历史吧,也后面单独写,下周和下下周都有了啊

第十一个部分

  • 连接到各个语言版本的,中文都排最底下、
  • 中文的,不管是简体还是繁体,都只翻译了宣言本身和12原则,没有翻译上面的第九和第十这两个部分

第十二个部分

site design and artwork © 2001, Ward Cunningham

这个网页是17个人里面的一位,这位…不知道

总结一下吧

文章本身其实没太多总结的,主要还是人、over、右项这些,一会儿睡觉前背一背

确实有点短了,但是…反正这个review也没限定,这属于规则内玩儿法吧,另外这个应该算是Respond to change了,虽然change的是我的内心,反正plan的目标完成了,每周ARTS踩到,并且这两周要在周五完成,虽然是周五凌晨1点,但是没到周六,也算略有进步吧

T

日拱一卒吧,虽然有点作弊的嫌疑
image.png
但是确实看着挺酷得功能,列(模式)选择,还是多选

  • 先按着alt+shift+ins
  • 第一个fragment区域不用快捷键,从要多重选定得第二个区域按下鼠标拖拽前,就press and hod ctrl+alt+shift就行了

我试了一把是这样的
image.png
然后按ctrl+c copy,是这样的

image.pngimage.png
嗯…所以总的来说,其实没什么卵用

S

评论一下nginx这个算是有点关联,但其实没什么关联的设计吧:

首先我得表示我理解了它

  • 前者,其实是一个客户端的配置,本身upstream block也是nginx作为客户端连别人么
  • 后者,是两个服务端的配置,一个是服务端自身维护keep alive connection设置的idle超时,另一个是“告知”客户端,服务端这个超时可能会维持的时间,第二个参数是可选的,如果设置上,将会通过响应头部的Keep-Alive: timeout=xxx来达到这个告知的目的

下面开始我的抨击,也算是强抨吧,否则也不知道怎么来验证自己真的懂了

  • 一个客户端配置,一个服务端配置,用了相同的名称,但由于是不同的目的,不同的效果(虽然多少有点关联,这个因为keep alive这个机制在http 1.x里面太过于含蓄,所以搞得水有点深),这么做是会给本来就容易混淆的http的keep alive概念,搞得更加混乱
  • 其次是服务端的这个配置,文档里面没有提到idle,但实际上是和空闲有关的,也许,nginx文档维护者假定读者都是http协议滚瓜烂熟吧,但是关键概念的缺失…不值得洗吧,截个图,真的没有idle字样,只有stay open,我现在看得文档现行版本是1.18 stable和1.19 mainline

image.png

  • 最后再强弩一个,服务端这个配置参数,第二个可选项没有缺省值,有可能导致配置不正确而达不到效果,具体一些使用技巧可以参考这篇文章,其实这个share的一切事情也是从这里搞出来的