精华内容
下载资源
问答
  • 5W1h分析法分析---play框架

    千次阅读 2017-09-23 18:46:41
    5W1h分析法分析---play框架 5W1H(WWWWWH)分析法也叫六何分析法,是一种思考方法,也可以说是一种创造技法。 一、play框架是什么(What)  Play是一款开源、轻量、无状态、Web友好的架构,使用Java语言编写并...
    5W1h分析法分析---play框架


    5W1H(WWWWWH)分析法也叫六何分析法,是一种思考方法,也可以说是一种创造技法。

    一、play框架是什么(What)

            Play是一款开源、轻量、无状态、Web友好的架构,使用Java语言编写并遵循MVC模式,集成了当今Web开发所需的组件和API。此外Play可以给应用程序提供可预测的和最小的资源消耗(CPU,内存,线程),可构建高扩展的应用程序。

    play官网:http://www.playframework.com/

    中文社区网站:http://play-framework.herokuapp.com/

    下载play框架的链接是:http://www.playframework.com/download


    二. 在何种场合下用(where)

      1.  play 2.3.1版本以上需使用jdk6.0以上的版本

      2.  敏捷异步开发小型网站,必须符合play框架的规则约定

      3. play+mongodb 实现json to json的处理方式来处理业务

      4.  使用scala减少代码的重复和冗余

      5. netty(akka)+reactiveMongo+wsClient异步构建系统,轻负载响应快

      6. 用docker+nginx实现动态横向扩展

      7. 从开发到测试、发布都可以通过Jenkins及相关插件完成,完成的dev自动化提高团队效率


    三.时间和程序(when)

           在快速搭建小型网站时使用。


    四.哪些人适合用这个框架(who)

            这个框架适合做java后台开发的朋友学,快速开发原型,以及掌握scala语言和groove的朋友学。


    五.为什么要用这个框架(why)


    优势:
    1. Play2的模板引擎

    Play2的模板是很强大并且容易上手的. 相对于Java领域其他模板引擎(Freemarker, Velocity, JSP, Groovy, etc), 主要有三个特点.

    使用 Groovy 作为视图层模板使用的表达式语言。模板之间的继承机制避免了重复的代码。

    1) 简单易上手, 没有JSP里面繁杂的内置对象和指令, 所有功能都通过方法调用完成.
    2) 主流IDE中都支持Play模板的静态类型检查, 类似JSP.
    3) 支持反向路由,支持异步开发。
    2. 热部署

    2. 无需重启服务器


    3. 内置dev/prod环境,内置部署脚本

          平常开发的时候使用run启动Play,是跑在dev模式。 Play会定时扫描源码目录进行热更新,并且类都是访问的时候再加载,提高启动速度。 使用start启动项目就运行在prod模式。Play内置dist命令,可以把所有的文件打包成一个zip,解压之后直接运行bin目录下的可执行文件即可启动项目,除了JDK之外无须任何其他外部依赖。 这大大减轻了运维成本,同时也能够很方便的进行持续集成(CI)。

    4. 使用Play开发的Server大部分能做到Stateless

    这个之前也说过,Play抛弃了Servlet/JSP里Session等概念, 内置没有提供方法将对象与服务器实例进行绑定(你要使用HashMap存的话Play也没办法)。 推荐的做法是使用外部缓存, 比如Redis, Memcached等。可能有人会觉得没有Session是Play的一个缺点(Play里的Session和Servlet Session不是一回事), 但是只要你开发过流量大一点的应用, 你就会理解这点。无状态,可拓展性好。比如它的session是以加密方式保存在cookie中的。
    5. 好用的配置库

    如果你之前开发过Java项目, 肯定写过**.properties或者管理过一大堆的xml。Java内置库对properties文件的处理是很弱的,你不得不自己写一些工具类去进行处理, 而且properties文件还不支持更复杂的语法。Play使用Typesafe Config库,配置文件使用HOCON格式,默认配置文件为application.conf。 你能很容易读取里面的配置, 并且你也可以把自己的配置写在里面。所以项目中基本不需要使用properties或者xml文件了,除了第三方库需要的。
    6. Play插件

    RoR框架之所以好用,主要原因之一就是围绕RoR有相当丰富的插件可供选择,很多业务功能甚至都不需要开发就能实现。Play的插件数量当然相对于RoR还是要少一些, 不过你遇到的需求基本都有现成的插件可以使用。比如发邮件, 授权和验证, sitemap生成,第三方登录等等。自己写一个插件也很简单。
    7. 优秀的测试支持

    因为Play诞生的时候TDD已经很火热,所以Play对测试的支持非常好。
    8. 优秀的REST支持

    Play2从诞生起就能很容易的支持RESTful风格的架构

    劣势:
    1. 编译速度太慢
    2. 反传统的Java框架,完全抛弃Servlet
    3. play!社区比较沉稳,没有太多的市场宣传和功能承诺,目前还不太会吸引不太懂技术的人或者说要有hacker精神才会进行尝试。
    4.由于约定和封装太多,不适合企业应用的灵活性和高扩展性需求。
    5.对大型的网站来说,性能,安全性等方面可能不太适合



    六.怎么用这个框架(how)


    1.配置好jdk 1.6 版本以上这个就不多说了


    2.下载play框架,配置路径:


    下载play框架,然后配置环境变量到path;



    输入play  help看到控制台如下:




    3.创建新的play应用:

    play new firstApp  ====》 firstApp===》2




    然后查看目录,可以看到:


    app/ 存放一些CODE的地方。比如类,领域模型什么的。

    conf/ 很明显是存放配置文件的。

    lib/ 系统中需要用到的JAR包。

    public/ 应该是放一些资源文件的地方,比如HTML里的图啦,CSS啦,JS文件什么的。

    test/ 测试类,把测试的东西都放这里。

    注意:PLAY使用UTF-8字符集,所以我们所有的格式应该使用UTF-8。


    4.  cd  helloworld, play run helloworld   运行play application,然后输入http://localhost:9000/跳转到指定页面就算成功了。

    进入到工程目录下,运行程序:




    浏览器中输入http://localhost:9000/出现如下页面,说明成功了









    展开全文
  • 基于N2框架结构抗震性能分析,程玲,董景刚,N2方法作为一种相对简单的抗震分析方法,该方法通过将多自由度体系(MDOF)等效为单自由度体系结构,通过对单自由度体系的抗震性能
  • 提出在空间一阶弹性分析的基础上,采用《钢结构设计规范》(GB50017-2003)推荐的简化P-△进行二阶分析,可考虑各榀框架间的相互作用,更符合结构的实际受力情况,并与大型通用有限元程序ANSYS的计算结果进行对比...
  • 以钢框架结构为研究对象,针对影响钢结构承载力的几何非线性和连接非...然后,针对半刚性钢框架,建立了无网格与有限元耦合的分析方法。通过一榀典型的半刚性钢框架几何非线性分析,验证了本文方法的实用性和可靠性。
  • 根据钢筋混凝土框架以及半刚性连接钢框架的受力特点,并基于拟力的基本假定与思路,得出了钢筋混凝土结构中塑性铰和半刚性连接钢框架中连接的弯矩-相对转角关系,从而推导并获得了拟力框架结构静力弹塑性分析中的...
  • 回溯的算法框架 具有限界函数的深度优先生成称为回溯。 运用回溯解题通常包含三个步骤 例如,对于有n种可选物品的0-1背包问题,其解空间由长度为n的0-1向量组成
  • 欧盟文化统计框架分析与启示,林芳,,采用文献内容分析法和比较分析方法,梳理欧盟文化统计框架开发的历程,重点分析《欧盟文化统计:领导小组最终报告》和《欧洲统计
  • 系列文章解读&说明: 本系列文章主要内容是 思维导图 基础课,旨在帮助更多 热爱...框架分析:针对大部分文章,可以了解文章的框架 和 部分重要细节,同时便于回忆和复盘。 背诵记忆:一般针对古诗词和古文,...

    系列文章解读&说明:

    本系列文章主要内容是 思维导图 基础课,旨在帮助更多 热爱学习的伙伴 更具体的了解思维导图,同时也会让 更多的伙伴从 思维导图 认知 误区中走出。

    系列文章总纲链接为:专题总纲目录(01)学习能力 总纲 目录


    文章的分析 主要有以下2种方式

    1. 框架分析:针对大部分文章,可以了解文章的框架 和 部分重要细节,同时便于回忆和复盘。
    2. 背诵记忆:一般针对古诗词和古文,通过思维导图的方式 绘制完导图 记住古诗词/古文。

    框架分析

    这里以 一篇文章《真理诞生于一百个问号之后》为例,解读下 如何做 文章的框架式阅读(同时后期我们将会有 更多的 专栏文章 解析,即 更多系统性的案例 给大家展示 )。框架分析步骤如下:

    1. 快速浏览,划分框架结构
    2. 提取关键词,并确定逻辑关系(总分 并列 递进 因果)
    3. 在重点、难点、抽象、难理解 地方 匹配相应图像,从而形成 图文并茂的笔记形式

    1 《真理诞生于一百个问号之后》原文(共8段)

    有人说过这样一句话:真理诞生于一百个问号之后。其实,这句话本身就是一个真理。

    纵观千百年来的科学技术发展史,那些定理、定律、学说的发现者、创立者,差不多都很善于从细小的、司空见惯的自然现象中看出问题,不断发问,不断解决疑问,追根求源,最后把“?”拉直变成“!”,找到了真理。

    洗澡是一件非常普通的事情。而美国麻省理工学院机械工程系的谢皮罗教授却敏锐地注意到:每次放掉洗澡水时,水的漩涡总是朝逆时针方向旋转的。这是为什么呢?谢皮罗紧紧抓住这个问号不放,进行了反复的实验和研究。1962年,他发表了论文,认为这种漩涡与地球的自转有关,如果地球停止旋转,就不会产生这种漩涡。他认为,在北半球,洗澡水朝逆时针方向旋转;如果是在南半球,洗澡水的漩涡将朝顺时针方向旋转;而在赤道,则不会形成漩涡。他的这个见解,引起各国科学家的极大兴趣,他们纷纷在各地进行实验,结果证明谢皮罗的结论完全正确。

    无独有偶。17世纪的一个夏天,英国著名化学家波义耳正急匆匆地向自己的实验室走去,刚要跨入实验室大门,阵阵醉人的香味扑鼻而来,他这才发现花圃里的玫瑰花开了。他本想好好欣赏一下迷人的花朵,但想到一天的实验安排,便摘下几朵紫罗兰插入一个盛水的烧瓶中,然后开始和助手们做实验。不巧的是,一个助手不慎把一滴盐酸溅到紫罗兰上,爱花的波义耳急忙把冒烟的紫罗兰用水冲洗了一下,重新插入花瓶中。谁知当水落到花瓣上后,溅上盐酸的花瓣奇迹般地变红了,波义耳立即敏感地意识到紫罗兰中有一种成分遇盐酸会变红。那么,这种物质到底是什么?别的植物会不会有同样的物质?别的酸对这种物质会有什么样的反应?这对化学研究有什么样的意义?这一奇怪的现象以及一连串的问题,促使波义耳进行了许多实验。由此他发现,大部分花草受酸或碱的作用都会改变颜色,其中以石蕊地衣中提取的紫色浸液最明显,它遇酸变成红色,遇碱变成蓝色。利用这一特点,波义耳制成了实验中常用的酸碱试纸--石蕊试纸。在以后的三百多年间,这种试纸一直被广泛应用于化学实验中。

    最有趣的是一位奥地利医生。一次儿子睡觉时,他发现儿子的眼珠忽然转动起来。他感到很奇怪,连忙叫醒儿子,儿子说他刚才做了个梦。这位医生想,眼珠转动会不会与做梦有关呢?会是什么关系呢?他百思不得其解。于是,带着一连串的疑问,他以儿子、妻子、邻居为实验对象,进行了反复的观察实验,最后得出结论:当睡觉的人眼珠转动时,他确实正在做梦。如今,人们研究梦的生理学,便根据眼珠转动的次数和时间,来测量人做梦的次数与梦的长短。

    洗澡水的漩涡、紫罗兰的变色、睡觉时眼珠的转动,这些都是很平常的事情。善于“打破砂锅问到底”的人,却从中有所发现,有所发明,有所创造,有所前进。

    在科学史上,这样的事例还有很多,它说明科学并不神秘,真理并不遥远。只要你见微知著,善于发问并不断探索,那么,当你解答了若干个问号之后,就能发现真理。

    当然,见微知著、善于发问并不断探索的能力,不是凭空产生的。正像数学家华罗庚说过的,科学的灵感,决不是坐等可以等来的。如果说,科学领域的发现有什么偶然的机遇的话,那么这种“偶然的机遇”只能给那些有准备的人,给那些善于独立思考的人,给那些具有锲而不舍精神的人。


    2 对应文章的思维导图 绘制过程 如下:

    @1 绘制 中心主题

    “真理”用“显微镜”来表示,“诞生”用“打碎的蛋壳”代替,“?x 100”表示“100个问号之后”,绘制后如下:

    分析 文章结构后 知道 文章体裁 是 议论文,1-2 是 第一部分,3-6是第二部分,7-8是第三部分(上面文章为了方便看出段落,采用了不同颜色的分类方式),勾出每部分的核心关键词。

    @2 接下来绘制文章的第一部分,用“论点”一词概括,真理用一根“!”代替,“?”是问题,绘图如下:

    @3 接下来绘制文章的第二部分,用“举例”一词概括,分析一个实例,这里用 五何公式( 时间 地点 人物 事件,这里去除了 起因),同时 第二部分一共有三个例子,分别是:洗澡水的漩涡,紫罗兰变色,眼珠转动。绘图如下:

    @4 接下来绘制文章的第三部分,用“总结”来概括,“大破砂锅问到底”因为 不便于拆分,因此用图像来说明,绘图如下:

    @5 在重点地方添加图像,比如“论点”用“话筒”表示,“举例”用 手指123表示,“总结”用“本和笔”来表示,绘图如下:

    这样,一张完整的框架型 思维导图就画好了。


    3 对比思维导图笔记 和 文章,我们会发现

    • 信息负荷 降低了大概10倍,原文1315字,导图 126字
    • 分类结构 更加容易理解,吸收和记忆
    • 图像让大脑更轻松,容易记住 重点内容

    而这也正是 为什么这么多人都喜欢用思维导图的原因。


     

    展开全文
  • 问题分析框架

    2021-03-18 01:24:09
    一年前,我读了高杉尚孝著的《麦肯锡问题分析与解决技巧》,其中对于问题的清晰定义和MECE 分析法让我印象深刻(只记得这两个了)。 我觉得清晰定义问题是什么,是决策的根基。一切决策应当从问题出发。 因此基于...

    一年前,我读了高杉尚孝著的《麦肯锡问题分析与解决技巧》,其中对于问题的清晰定义和 MECE 分析法让我印象深刻(只记得这两个了)。

    我觉得清晰定义问题是什么,是决策的根基。一切决策应当从问题出发。
    因此基于此书的 1~4 章节,以及个人的深度思考,我实践总结了一套思维框架,与你分享一下。这个框架的目标是清晰辨识问题,快速分析出问题的本质。

    不过在谈问题分析之前,先来看看在问题的认知上,我们可能会陷入什么误区。

    认知误区

    问题认知不清会导致决策模糊,从而执行没有重点,无法高效解决问题,甚至解决不了问题。
    在认知问题上,我总结了以下几个典型的误区:

    • X-Y 问题
      该类问题的具体说明本文不赘述,请阅读陈皓写的《X-Y PROBLEM》。避免这类问题的方法很简单:明确因果关系。

    • 以偏概全
      只看到问题的一小部分,却当做问题的本质来处理。最终只是治标不治本。

    • 小题大作
      很小的问题,却花很大的成本处理。虽然解决了问题,但付出太多容易让自己和别人身心俱疲。

    • 相关当因果
      两件事情只是有联系,并不是因果关系。处理问题必须要找到源头,旁敲侧击也只是治标不治本。
      举三个《麦肯锡问题分析与解决技巧》一书里提到的例子:

      1. 投诉增加,因此增加客服人员。但如果产品本身有问题,便只是治标不治本。
      2. 公司的营业额减少,因此打出华丽的宣传广告,但如果市场已经饱和,很难产生效果;
      3. 发烧后吃感冒药,但说不定是罹患肺炎;
    • 一个问题中混杂多个问题
      混杂多个子问题,或者混杂多个不相关的问题。这不仅容易让人分散精力,还让人抓不住重点。

    • 对现状认知模糊
      在不成立的条件上进行提问。首先要「先问是不是,再问为什么」。

    • 对期望认知模糊
      不知道想要达成什么目标状态。

    • 从结果逆推出原因
      这是一种基于经验只是的预测(猜),但缺乏严瑾的推导过程。能猜中固然好,不能猜中就会走很大的弯路。
      严谨的做法是分析初始状态到事后状态的变化过程,推导出问题原因。

    • 治标不治本

      在大多数的情况下,如果找不出发生不良状态的原因,那么任何应对策略其实都只是一种紧急处理。总之,没有正确分析出原因,问题就不能根本解决。

      没有从问题本身出发,从而导致只比较解决方案间的优劣。

    • 偏信经验,不实事求是
      依靠经验相似度来选定方案,或者靠着权威来决策。缺少严谨的从现象到问题到方案的推导过程。
      经验只是提供一个猜想方向,论证要脚踏实地,因地制宜。
      排查问题的时候注意不要轻易认同,谁都不能相信,包括自己。要做实验看数据从头分析。因为环境在变化(至少时间在变),一点细微的偏差,都可以导致结果千差万别。

    • 把话题当问题
      比如「如何评价 XXX」,这是话题不是问题,因为没有构成期望和现状的落差。什么是落差?请建看下文「问题的定义」。

    为了避免以上误区,我认为关键在于理清「问题」的定义,梳理元认知。

    问题的定义

    首先,什么是「问题」?
    对于这个问题,在生物学、心理学、数学等领域,有各种不同的解答。
    在分析问题的场景里,我们需要有一个关于「问题」的定义(共识),以便接下来的探讨。

    问题的本质是期望与现状的落差 [1]

    这句话给我深刻的启发。基于这句话,我补充几点概念并给出一个新的定义:

    问题是由当前上下文、未来上下文、当前状态、期望状态这四点确定的。

    期望和现状之间的落差是发现问题的入口。当前上下文是描述问题发生的环境条件。未来上下文是解决问题时理想的环境条件。

    总结成公式就是:问题 ∝ (期望与现状的落差) * (未来上下文的认知程度 + 当前上下文的认知程度)
    你会发现(我特意写得)跟梯形面积计算公式很像。因此,可以画出一张图来直观地理解问题,

    问题的定义.png

    问题定义图

    基于问题定义图的可视化分析

    由此能展开很多分析,可视化地比较(不是计算)问题域的相对大小,投资回报率 (ROI) 等等。

    问题的范围.png

    问题的范围

    我们解决问题的路径,理想的是从起点到终点是一条直线。而现实往往是曲折的线路。
    因为我们能力不足以站在上帝视角纵观全局,当前状态和期望状态可能处于一个模糊的范围,起点和终点都不能确定。大多数人会边走边缩小范围,最后达到终点。

    解决问题的过程.png

    解决问题的过程

    对于达到目标状态的路径不止是曲折的,通常还是不连贯的。对于不能一步到位的长远目标,我们会划分为几个阶段,每个阶段有各自的期望和资源投入。
    在这个过程中,上下文,期望可能都会变动。

    非连贯的状态迁移@2x.png

    非连贯的状态迁移

    以上的可视化分析只是众多问题分析法中的一个方法,并不是框架。因为是我自创的,所以提前拿出来说下。
    下面来谈谈框架。

    问题分析框架

    问题从发现到解决必然经过以下过程:
    认知现象 => 发现落差 => 描述问题 => 判断问题有效性 => 分析问题 => 评估方案 => 方案落地 => 验证结果

    在尝试解决问题的过程中,分析是首要的,执行其次。因为如果读题错误,无论解答再聪明,得到的结果必然错的。

    发现问题

    认知过程.png

    黄金圈理论

    发现问题是从认知现象开始的,先是发生了什么 (What),被现象激发兴趣,研究它是如何产生的 (How),接着是探索为什么会这样 (Why)。
    当人意识到现状和目的状态的差距,就会意识到问题。

    期望与现状的落差@2x.png

    《麦肯锡问题分析与解决技巧》第一章将问题分为这三种类型,总结得非常好,我做了些补充修改,重新画了一张图。

    描述问题

    问题的表述范围.png

    我们提问或者描述问题时常常会附带很多干扰项,问题的表述所带的信息量永远比问题的本质要大。
    这里的重点不是如何作为提问者来描述问题,而是作为解答者的角度来看问题的描述,排除干扰项,从中发现问题的本质。

    缩小范围,排除干扰项

    同一个问题,可以有 N 种表述(表达方式)。那么问题的本质究竟是什么?

    问题的表述.png

    如图,灰蓝色是问题实际所在区域。表述 A 和表述 B 都没能准确描述问题的核心。
    表述 C 的问题域包含表述 D 的问题域,C 相对模糊,D 更精准。
    同时,表述 B 和表述 C 没有交集,说明是两个独立的问题。

    当然这只是从结果反推原因时画的图,在不知道问题本质时应该做不到那么清晰的判断。我只是想表达一个观点:在不同的描述中寻找交集就能发现真相。

    当前上下文是什么?

    对于同样的问题,不同人会有不一样的看法。因为每个人的初始状态不同(当前上下文不同)。所以即使对于同样的期望状态,问题域是不一样的。从而因此解决方法也会有差异。

    描述上下文的内容可以用 4W1H 方法:

    • WHO 人物
    • WHERE 地点/领域
    • WHEN 时间
    • WHAT 相关资源
    • HOW MUCH 程度

    当然还可以加上更多描述信息,总之信息越详细,上下文越精准,干扰项越少,问题越清晰

    当前状态是什么?

    指的是问题相关的当前状态,从 WHAT 方面着手描述。遵循事物的真实与客观,不要代入自己的主观臆想。

    期望状态是什么?

    指的是问题相关的当前状态,从 WHAT 方面着手描述。遵循事物的真实与客观,不要代入自己的主观臆想。

    未来上下文是什么?

    主要比较当前上下文和未来上下文是否有变化。一般来说不会有变化。但是若不一样的地方,就要注意为什么会产生这样的不同,会产生怎样的影响?

    整理描述

    然后根据以上四要素画出问题定义图。

    又或者写成一段话描述。参考句式:我现在是______(描述上下文),现在问题是_____,我的期望是_____(描述期望状态和未来上下文)。

    判断问题有效性

    这个概念我在《提问的框架》也提到过。还是那句话,「先问是不是,再问为什么」。如果问题无效,那么就不值得投入去分析问题。

    分析问题

    我将介绍以下几种方法:

    1. 基于问题定义图的可视化分析。这个已经在上文讲过了。
    2. 5W2H
    3. MECE 分析法
    4. 差异分析法
    5. 对话式分析法
      1. 小黄鸭分析法
      2. 向别人提问

    5W2H

    回答以下 7 个问题。

    • WHAT 问题是什么?
    • WHO 解决谁的问题?
    • WHERE 场景是什么?
    • WHY 为什么要解决?
    • HOW 怎么解决?
    • WHY NOW 为什么到现在才能解决?
    • HOW MUCH 投入多少?

    MECE 分析法

    MECE 是麦肯锡的经典分析法,尽在「相互独立,完全穷尽」一言。

    • 完整性,说的是分解工作的过程中不要漏掉某项,要保证完整性;
    • 独立性,强调了每项工作之间要独立,每项工作之间不要有交叉重叠。

    篇幅问题我不赘述了,具体可以参考这篇文章
    这里只提一下如何分解,基于上文提的问题定义图的概念,我归纳了两个分解子问题的方法。
    根据领域经验和上下文做「垂直切分」,和根据调整期望做「水平切分」。具体看图。

    问题的切分.png

    差异分析法

    用差异分析法找原因。将发生问题的对象与其他没发生问题的对象,做一番比较,找出彼此之间的差异。
    另外,还可用控制变量法,尝试多组变量的实验。根据结果,排除干扰项,缩小问题范围,直到找到原因。

    对话式分析法

    小黄鸭分析法

    小黄鸭调试法 其实是一种对话式的通过提问引导分析的方法 (Problematization)。非常有用!

    小黄鸭.jpg

    我家就有好几只小黄鸭

    向别人提问

    提问也是分析问题的一种方法。提问 (Question) 是问题 (Problem) 的表达形式。同一个问题,可以有 N 种表达方式。
    因此同一个 Problem,会有多个 Question。而且这取决于提问者的上下文。由此可知提问不等价于问题。

    那么如何提问?请参考《提问的框架》

    补充一下,当在探讨问题的时候,首先需要建立一个认知基准(共识),比如对于上下文内容概念的认知基准,如果双方不再同一个上下文里,再怎么交流都不会达成共识。

    阐明原因

    当你大概心里有数后,最好找个人或者对自己阐明梳理一遍前因后果。以校验是否符合问题本质,分析是否合理。

    评估解决方案

    不是本文重点,略过。

    执行方案,验证结果

    就是这样。

    总结

    以上是心法,最后放一张思维框架的思维导图作为备忘。

    问题分析框架.jpg

    P.S. 强调一下,以上所有图片都是我自己画的,若无授权禁止转载,本人保留所有权利

    参考 (Bibliographies)

    引用 (References)


    1. 《麦肯锡问题分析与解决技巧》 的第 1 章。 

    展开全文
  • windows10 tensorflow(二)原理实战之回归分析,深度学习框架(梯度下降求解回归参数) TF数据生成方式:参考TF数据生成12 TF基本原理与概念理解: tensorflow(一)windows 10 64位安装tensorflow1.4与基本...

    windows10 tensorflow(二)原理实战之回归分析,深度学习框架(梯度下降法求解回归参数)
    TF数据生成方式:参考TF数据生成12法
    TF基本原理与概念理解: tensorflow(一)windows 10 64位安装tensorflow1.4与基本概念解读tf.global_variables_initializer
    模型:

    一个简单的线性回归y = W * x + b,采用numpy构建完整回归数据,并增加干扰噪声

    import numpy as np
    #建立一个一元线性回归方程y=0.1x1+0.3  ,同时一个正太分布偏差np.random.normal(0.0,0.03)用于见证TF的算法
    num_points=1000
    vectors_set=[]
    for  i in  range(num_points):
        x1=np.random.normal(loc=0.0,scale=0.66)
        y1=x1*0.1+0.3+np.random.normal(0.0,0.03)
        vectors_set.append([x1,y1])
    x_data=[v[0] for v in vectors_set]
    y_data=[v[1] for v in vectors_set]
    

    Graphic display出数据分布结果

    import matplotlib.pyplot as plt
    #https://www.cnblogs.com/zqiguoshang/p/5744563.html
    ##line_styles=['ro-','b^-','gs-','ro--','b^--','gs--']  #set line style
    plt.plot(x_data,y_data,'ro',marker='^',c='blue',label='original_data')
    plt.legend()
    plt.show()
    

    这里写图片描述
    通过TensorFlow代码找到最佳的参数W与b,使的输入数据x_data,生成输出数据y_data,本例中将会一条直线y_data=W*x_data+b。读者知道W会接近0.1,b接近0.3,但是TensorFlow并不知道,它需要自己来计算得到该值。因此采用梯度下降法来迭代求解数据

    import tensorflow as tf
    import math
    #一、创建graph数据
    #随便构建一个一元回归方程的参数W与b
    W=tf.Variable(tf.random_uniform([1], minval=-1.0, maxval=1.0))
    b=tf.Variable(tf.zeros([1]))
    y=W*x_data+b
    
    #定义下面的最小化方差
    #1.定义最小化误差平方根
    loss=tf.reduce_mean(tf.square(y-y_data))
    #2.learning_rate=0.5
    optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.5)
    #3.最优化最小值
    train=optimizer.minimize(loss)
    
    #二、初始化变量
    init=tf.global_variables_initializer()
    
    #三、启动graph
    sess=tf.Session()
    sess.run(init)
    
    for step in range(8):
        sess.run(train)
        print("step={},sess.run=(W)={},sess.run(b)={}".format(step,sess.run(W),sess.run(b)))
    

    以下是迭代8次的结果。梯度就像一个指南针,指引我们朝着最小的方向前进。为了计算梯度,TensorFlow会对错误函数求导,在我们的例子中就是,算法需要对W和b计算部分导数,以在每次迭代中为前进指明方向。
    这里写图片描述
    下面是每次迭代的可视化效果图:

    #Graphic display
        # print(sub_1+'41')
        #注意:各参数可以用逗号,分隔开。第一个参数代表子图的行数;第二个参数代表该行图像的列数; 第三个参数代表每行的第几个图像,从左致右,从上到下一次增加。
        plt.subplot(4,2,step+1)
    	plt.plot(x_data,y_data,'ro')   
    	plt.plot(x_data,sess.run(W)*x_data+
    	sess.run(b),label=step)
        plt.legend()
    plt.show()
    

    这里写图片描述

    微信号
    展开全文
  • 采用沿高度方向连续化的方法,建立了框架-剪力墙-薄壁筒斜交结构自由振动分析的连续化计算模型。将沿高度方向的坐标虚拟成时间坐标,导出了问题的状态空间表达式,用状态空间理论的方法求出了状态向量表达式,由结构的...
  • 原标题:Android-逆向分析ButterKnife框架这...唯物主义辩证认为,世界上一切事物都是具有普遍的联系 ,我们首先从ButterKnife的使用步骤开始,倒推分析框架使用了什么样的技术,然后自己写一个简单的ButterKnif...
  • 层次分析法的理解

    2020-08-07 11:39:31
    一致矩阵的特点:一致矩阵的引理:一致性检验的步骤判断矩阵计算权重算术平均法求权重几何平均法特征值法求权重层次分析法的局限性层次分析法框架图 层次分析法 评价类问题可用打分来解决,也就是说通过分数来量化一...
  • 层次分析法昆明理工大学2013.12.17框架第一节 指标体系的建立第二节 指标权重的确定第三节 层析分析法的思想和原理第四节 层次分析法的模型和步骤第五节 层次分析法的应用第一节 指标体系的建立一.指标体系的建立应...
  • 逻辑框架法在灌区节水改造工程效益评价中的应用,陈宪梅,,逻辑框架法是项目定性分析的一种有效方法,可以广泛地应用于项目前期决策分析和后评价。逻辑框架法是通过垂直逻辑关系检验项目的
  • 因子分析与因子分析法主成分分析通过线性组合将原变量综合成...因子分析法(Factor Analysis)就是寻找这些公共因子的模型分析方法,它是在主成分的基础上构筑若干意义较为明确的公因子,以它们为框架分解原变量,以此
  • Linux USB驅動框架分析

    千次阅读 2011-02-21 13:13:00
    <br />Linux USB驅動框架分析 (一)(轉)  初次接觸與OS相關的設備驅動編寫,感覺還挺有意思的,為了不至於忘掉看過的東西,筆記跟總結當然不可缺,更何況我決定為嵌入式賣命了。好,言歸正傳,我說一...
  • 第二章 建立分析服务的分类框架;21 对服务进行分类; 服务分类的价值;21 对服务进行分类 212 服务分类的难度和误区;22 托马斯分类供应的角度;表2-1 从供应的角度对服务分类;22 托马斯分类供应的角度;23 蔡斯分类...
  • Soot通过objectweb来进行字节码构建成语树 首先scene会去查找一些基础的JVM的类 基础的对象Object, Boolean, Void, Integer, Long, Float等 字符串操作:String, StringBuffer的类 Exception, Throwable,以及...
  • 刚度用于结构的矩阵分析。 该程序可用于分析平面桁架、空间桁架、梁、平面框架和空间框架。 该程序也可以应用框架单元中构件的端部释放和支撑位移。
  • 这一篇文章,我们不谈ButterKnife...唯物主义辩证认为,世界上一切事物都是具有普遍的联系 ,我们首先从ButterKnife的使用步骤开始,倒推分析框架使用了什么样的技术,然后自己写一个简单的ButterKnife小框架。 ...
  • 思维:分析框架化,模型化

    千次阅读 2017-09-11 12:19:40
    将无序的逻辑,片面的思维,有限的思考整理成具有一定价值意义的 分析思考的框架和模型; 分析框架;...pest分析法; 分析模型; 业务领先模型; 竞争性文化价值模型; 国家文化模型;
  • 文章在对已有后评估方法分析的基础上,得出逻辑框架法优势;结合工程监理项目,研究了工程监理项目后评估流程,包括后评估的内容和范围、专家选择、指标体系建立、实施步骤及评估反馈等问题;用逻辑框架法对某监理...
  • 5W2H 分析法

    2019-08-06 12:20:37
    5w2H 分析法是以五个 w 开头的英语单词和两个 H 开头的英语单词进行提问,从回答中发现解决问题的线索,即 何因 ...分析法的总框架。 该方法简单、方便,易于理解和使用,富有启发意义,广泛用于企业营销、管理活动...
  • 框架结构教学楼抗震性能评估方法分析,李淑一,张静,本文通过分析钢筋混凝土框架结构教学楼抗震性能鉴定中遇到的具体问题:根据楼层综合能力指数进行抗震能力验算和运用push-over进行
  • 针对铬盐生产系统风险分析中非定量因素难以量化的问题,采用层次分析法对系统风险进行分析.以系统风险因素框架图为模型,通过双参数比较决定优先权,利用严密的数学公式计算出各因素风险概率,然后由分因素风险概率...
  • 这一篇文章,我们不谈ButterKnife的基本使用,只谈如何通过JavaSe的技术,思考并分析ButterKnife这一Android开发界内排行前十的注解框架。 唯物主义辩证认为,世界上一切事物都是具有普遍的联系。我们首先从...
  • 以牙克石-五九煤田矿区总体规划为例,采用逻辑框架法,通过相关利益群体分析、问题分析、目标分析和策略分析,从社会环境、经济发展状况、外部建设条件、资源条件、目标市场等方面分析了矿区存在的问题,总结出规划的...
  • 提出一种应用于剪切型支撑框架的假想荷载,将假想荷载作用于框架楼层.与其他荷载组合进行二阶弹性分析框架柱即可取层高为计算长度进行设计.推导了有水平力和无水平力作用时的假想水平力,发现水平力的作用不...
  • 本文采用ANSYS有限元分析法,进行框架结构地震作用按照地震谱响应计算的分析,以某十层钢框架结构为例,进行模态求解,谱响应分析,模态扩展,模态合并以及时程分析的模拟。结果表明,模态分析得到钢框架的固有频率和振型,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,431
精华内容 572
关键字:

框架分析法