开发思想 – 不确定性雪糕筒、薛定谔的猫、海森bug、最不可能的可能

薛定谔的猫/海森bug

之前说过薛定谔的猫,在量子物理学中,这种状态叫纠缠态。在开发过程中,这叫做:“海森bug”,是开发过程中的不肯定性,具体参考这里:软件开发思想-1-斩草除根

 

不确定性雪糕筒

说起不肯定性,在开发过程中,我们对开发项目的估计,最开始的时候,是与实际情况偏离得最大的,随着开发的进度不断推进,这个不肯定性会不断缩小,到开发的末期,这个估计会和实际情况非常接近,这个过程,我们用2条曲线表示(正负误差),就是一个雪糕筒的形状,这就是不确定性雪糕筒(Cone of uncertainty)。

最不可能的可能

OCaml的主开发人员在给VIP客户做技术支持的时候发现一个诡异的bug,第一反应是CPU有问题,但是客户不配合验证不了他的想法,1年之后,Intel终于确认了其CPU有问题:http://gallium.inria.fr/blog/intel-skylake-bug/
一般来说,我们给系统排错,一般是这样的顺序:
  1. 首先是看某个具体的功能,可能性是95%
  2. 再看模块中各种类型/函数的调用,可能性是50%;
  3. 然后看整个系统的数据流转、API/服务调用关系等等,可能性是25%,
  4. 之后才会考虑可能是第三方的组件/服务的问题,可能性是10%
  5. 接着会考虑是系统的DLL/配置问题,可能是1%
  6. 如果上述都不是,我们才会考虑是编译器/解释器的问题,可能性是0.1%
  7. 如果还没有发现问题,我们才可能考虑是硬件问题,譬如磁盘、内存等,可能性是0.01%
  8. 如果这还没有发现问题,那我们只能怀疑CPU,可能性是0.001%
所以,你会发现,不管可能性有多低,排除了所有其他可能性,剩下了的,不管看起来多荒谬、多不可能,那也会是答案。

爆栈之旅

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。

爆栈之旅-.NET- C# – 数据访问

目录

这是爆栈之旅的1对1私人定制授课的第十二讲,视频+讲义+问答+测试+代码审查等等。

 

 

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。

每周新技术/文章/心得 – 4

爆栈网会员服务包括每周新技术/文章/心得的分享。

本周,我们可以学一下:

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

软件开发思想-2-开发人员应该掌握什么语言/技术?

一技防身

每个开发人员,如果要做得好,都起码熟练掌握一门语言/技术。我们读书的时候学过:学会数理化,走遍天下都不怕。李永乐老师就是一个很好的例子,他的视频大家应该看看。

全栈

不是每个人都能达到全栈,甚至爆栈。

那该掌握什么?

生存和兴趣,你想选哪个?

如果是为了生存,那可以选择那些市场上热门、迫切需要的技术,因为这些技术一般意味着较高的薪酬,譬如最近比较火热的区块链、人工智能/机器学习等等。

如果是为了兴趣,那你可以尽情选择你喜欢的技术、语言。

单纯就语言来说,我觉得应该掌握以下三种:

  • 一种静态语言
    • 譬如C#因为高产开放和跨平台高性能
    • 譬如Java或者Kotlin
  • 一种动态语言
    • 譬如JavaScript因为前端现在是主流开发
    • 譬如Python/Ruby
  • 一种DSL领域专用语言
    • 譬如sql server的t-sql存取数据。

如果都掌握了,那就是初级的全栈:前端、后台、数据存储三个端。

 

爆栈之旅

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。

学员问答精选 – 1 – 数据库表拆分

问题

有学员提问,说他在用一个数据库,里面有一个典型的ToDoList表:

  • id
  • title:标题
  • isFinished:是否完成
  • isRemind:是否提醒
  • remindDateTime:提醒时间
  • remark:备注

因为在用户长时间使用后,已完成的任务会很多,如果把两个表写成一个,可能会有比较多的不必要的检索。

所以,他把这个表拆成两个,结构完全一样,一个叫Undone(未完成),一个叫Done(已完成),Done里面的isFinished的值是true。

可是他后续写业务逻辑的时候,发现这样的写法,当切换任务是否完成的状态的时候,需要更新该任务的isFinish,并将该项从原来的表删除,再加入新的表。

因为该数据库没有提供能直接移动该项到另一个表的方法,后来他也想了想这个结构,感觉有点问题,可是他又说不上来是什么问题。

 

大家觉得这个设计有什么优劣点?你是否能提供更好的解决方案?我下面会提供我的建议。

 

阅读更多

爆栈之旅-.NET- C# – 基础语法

目录

这是爆栈之旅的1对1私人定制授课的第十一讲,视频+讲义+问答+测试+代码审查等等。

 

 

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。

纯技术探讨:大数据分析日本AV究竟谁的评分最好

前言

大家是否想过:岛国动作爱情片,谁都口碑最好?

作为技术人,想知道一样事情,第一反应就是:写个程序验证一下啊!

声明

这是纯技术讨论,本人不提供任何形式的资源,请不要私信。如果你有需要,请自行搜索,谢谢。

数据样本

首先,采集了13574部片子的信息,总共有3405位女优参与演出,平均一位女优参与了4部片子。

需要说明一下的是:

  • 这个数据不完整
  • 这个分数应该考虑个加权值,不应该单纯地做平均数
  • 可以分析更多的信息,譬如
    • 按厂牌
    • 按年份
    • 按类型

分析

按参与演出片子数量来算,以下是数量最多的女优:

女优片子数量
波多野结衣130
佐佐木亚希110
吉泽明步84
水野朝阳70
麻里梨夏70
椎名空69
天海翼61
希崎杰西卡59
若菜奈央57
爱乃娜美54
古川伊织53
铃村爱里49
小岛南48
希岛爱理48
AIKA48
葵玲奈47
KMP成员47
上原亚衣46
波木遥46
蒂亚46
篠田步美44
荣川乃亚44
安部未华子44
希美真由44
PRESTIGE成员44
天使萌43
大槻响42
星野娜美42
迹美珠里42
香椎梨亚41
奥田咲41
川上奈奈美41
澁谷果歩41
冬月枫41
彩美旬果40
园田美樱40
葵S140
梦乃爱华39
京香julia39
长谷川留衣39
樱由罗39
宇都宫紫苑39
葵司38
向井蓝38
石原莉奈38
浅田结梨37
通野未帆37
由爱可奈37
樱井彩37

 

如大众点评、口碑网之类网站,岛国动作爱情片也会有网友的参与打分,这样比较好地反映大众的观点。

按网友的综合打分来算,以下是最后欢迎的女优:

女优分数
松田真夏9.2
松田美羽9.2
相川润9.15
北原るか8.9
白百合真白8.9
长谷川由香8.9
宮村ななこ8.9
川崎舞莉8.9
坂口あこ8.9
真島かおる8.9
仮名8.9
里中亜矢子8.9
山本菊恵8.9
早野いちか8.9
朝川奈穂8.9
城星凜8.9
羽奈美すず8.9
雨宮める8.9
平林あさみ8.9
佐山渚8.9
あすかみさき8.9
MISA8.9
花澤アン8.9
原羽瑠8.9
あゆみ翼8.9
宫咲羽音8.9
天野诗织8.9
柚木彩華8.9
松下光8.9
8.9
甲斐ミハル8.87
新城みなみ8.87
结城美佐8.85
鎌沢朋佳8.8
若宮未來8.8
桐山美步8.8
愛原りの8.8
艶堂しほり8.8
吉沢さりぃ8.8
平野里美8.8
双海ゆい8.8
石川琳8.8
武藤えり8.8
瀬戸愛莉8.8
秋月しずこ8.8
長野ゆり8.8
樱子8.8
未来りお8.8
乃木ちはる8.8
樱木英里奈8.8
天野弥生8.8
神崎莉乃8.8
美咲あいみ8.8
幸田李梨8.8
酒井あずさ8.8
愛乃まほろ8.8
花桃ひとみ8.8
西川紗菜8.8
一色美桜8.8
芦川芽依8.8
中西愛美8.8
優陽にこ8.8
潮崎米亚8.8
美咲ゆうら8.8
爱田奈奈8.8
宮藤まい8.8
あらがきりあ8.8
今野由美子8.8
朝倉ことみ8.8
河合心8.8
水星有贵8.8
北条桃香8.8
徕梦8.8
佐伯奈々8.8
星野景子8.7
鸣泽百合8.7
音羽ななみ8.7
要ユリア8.7
沢田桜8.7
星川麻紀8.7
中村幸子8.7
佐佐波莉乃8.7
合田柚奈8.7
高岡青葉8.7
真紀ナオミ8.7
8.7
杏璃さや8.7
桜井美幸8.7
喜山绘里香8.7
立花涼子8.7
菜菜美ねい8.7
藤季咲良8.7
板野有紀8.7
铃代绘奈8.7
南澤ゆりえ8.7
伊澄知世8.7
川越唯8.7
Runa8.7
響まい8.7
あかね8.7
ふわりゆうき8.7

第十讲-数据存储-基础

目录

这是爆栈之旅的1对1私人定制授课的第十讲,数据存储,视频+讲义+问答+测试+代码审查等等。

 

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。

每周新技术/文章/心得 – 3

爆栈网会员服务包括每周新技术/文章/心得的分享。

本周,我们可以学一下:

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

爆栈之旅-.NET-进阶-如何优化别人的代码

目录

这是爆栈之旅的1对1私人定制授课的第九讲,拿斗地主游戏源代码来做实战优化,视频+讲义+问答+测试+代码审查等等。

 

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。