看一下结构化表达的定义:
结构化表达:是基于结构化思维,理清事物整理与部分之间关系、换位思考后,进行简洁、清晰和有信服力的表达,是一种让受众听得明白、记得清楚、产生认同的精益沟通方式。
结构化表达的基本原则是:
结论先行:结论先行即用一句简单的话概括整个信息,要求清晰、凝练、易懂,从对方的立场出发。
以上统下:表达要有层级,上层是对下层的概括和总结,下层是对上层的支持。
归类分组:层级内要进行分组,分组要相互独立、完全穷尽。
逻辑递进:按照逻辑顺序组织信息,可使用演绎法按照what-why-how组织信息,或使用归类法按照时间、结构、重要性组织,或二者相结合。
一、什么是结构化思维(定义)
面对问题的时候你可以通过某种结构,把它拆解成一个个你能解决的部分。
比如如何将200ml水装进100ml的杯子?
1、金字塔结构图
结构化思维是一种从无序到有序的思考过程。下图就可以体现出结构化思维“横纵”两方面的立体化分析方式。
2、倒金字塔推理
面对有明确目标的问题比较好办,如上面的水问题。那很多时候我们往往面对的是没有目标的海量信息,需要从中间筛选、识别,最终得出结论。将金字塔结构倒过来,可以像漏斗一样思考。
一句话总结:结构化思维是一种将信息从无序到有序进行处理的思维方式,能够大大提高思考效率和解决复杂问题的能力。
二、怎样清晰表达信息(输出)
1、清晰表达四原则:论、证、类、比
论。也就是结论先行。一次表达只支持一个思想,最好能够出现在开头。
证。也就是以上统下。任何一个层次的要点都必须是它下一个层次要点的总结概括,直到最后一个层级的内容是客观事实或数据为止。
类。也就是归类分组。每一组要点必须要属于同一个范畴。
比。也就是逻辑递进。每个要点都需要按照一定的逻辑顺序进行排列。
2、重要的事情说三点
横向上要符合“类”和“比”,话题不能有遗漏和疏忽,还要有先后次序;纵向上要符合”论”和”证”,挖掘思考的深度。
在生活和工作当中,任何人问你问题,你都可以尝试用三点来回答。
一句话总结全文:信息的漏斗从上往下依次是,识别筛选➜归纳整理➜提炼总结➜表达输出
识别筛选:识别结论、理由、事实
归纳整理:MECE五种分类法
提炼总结:归纳法和演绎法
表达输出:论、证、类、比
本文来自博客园,作者:IT随笔,转载请注明原文链接:http://www.cnblogs.com/binyue/p/17409218.html
大家好,又见面了,我是你们的朋友全栈君。什么是旁路由用旁路由有什么好处旁路由怎么设置时间:2019-11-2315:48:52/来源:你好多多DIY/作者:多多2019年11月23日更新(初次发布于2019年5月13日)用旁路由和接二级路由的区别和好处:(PS:很多人吐槽旁路由这个词语非官方术语,甚至争的脸红耳赤,其实我们根本不需要太在意这个,对于普通用户来说,我们只要知道这个东西是什么,怎么用就行,比如电脑,也可以叫微机、计算机、甚至PC,何必那么纠结呢)区别:二级路由跟主路由的设备不在同一个网段;与主路由兼容性较差。旁路由属于主路由的一个客户端设备,和接入主路由的其他设备一样,与主路由兼容性好,两个路由的功能可以合并;接二级路由,如果你的宽带是200M宽带,主路由是千兆网口,openwrt路由是百兆路由,那就不能完全发挥出你的宽带优势,并且还要来回切换wifi比较麻烦;用旁路由方案,可以在整体网络环境实现openwrt路由上面的功能,并且不影响宽带速度,还不需要来回切换wifi,甚至旁路由的wifi完全可以关闭不用;首先了解下什么情况下,适合用旁路由方案:家里是200M或者以上的宽
本文源自: http://blog.csdn.net/ithomer/article/details/8138409关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities,services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。除了能声明程序中的Activities,ContentProviders,Services,和IntentReceivers,还能指定permissions和instrumentation(安全控制和测试)AndroidManifest.xml结构<?xmlversion="1.0"encoding="utf-8"?><manifest> <application> <activity> <intent-filter> <action/&g
关注【腾讯安全】微信公众号,回复「勒索病毒」获取报告PDF近日,腾讯安全正式对外发布《2020上半年勒索病毒报告》(以下简称“报告”)。《报告》显示,上半年全球大型企业遭受勒索病毒打击的事件依然高频发生。新型勒索病毒层出不穷,技术上不断进化,呈现五大最新攻击态势。腾讯安全也提供从威胁情报到安全产品的整体防护解决方案,协助企业抵御勒索病毒攻击。报告已划好重点,速看:01勒索病毒危害半年概览1.勒索病毒产业链针对政企目标的精确打击、不断革新的加密技能、规模化的商业运作,正在世界范围内持续产生严重危害。2.整体来看,2020上半年依旧十分活跃,但勒索病毒总的感染情况较去年略有下降。3.从地区分布看,广东、浙江、山东、河南、上海最为严重,其它省份也有遭受到不同程度攻击。4.从影响行业看,传统企业、教育、医疗、政府机构遭受攻击最为严重,互联网、金融、能源也遭到勒索病毒攻击影响。02上半年勒索病毒攻击的主要特点1.攻击精准,迫使受害者就范活跃勒索病毒团伙,越来越多地将高价值大型政企机构作为重点打击对象。为了追求利益最大化,多数情况下,攻击者在攻陷企业一台网络资产之后,会利用该资产持续渗透攻陷更多资
最近一直在忙,没顾得上写文章,新年的第一篇文章,希望大家可以喜欢;好了,今天接着之前的内容,来聊聊BlockManager的工作原理,上图来分析;BlockManager原理图 在DAGShceduler中有一个BlockManagerMaster对象,该对象的工作就是负责管理全局所有BlockManager的元数据,当集群中有BlockManager注册完成的时候,其会向BlockManagerMaster发送自己元数据信息;BlockManagerMaster会为BlockManager创建一个属于这个BlockManager的BlockManagerInfo,用于存放BlockManager的信息。简单介绍一下BlockManager主要的几个组件;DiskStore:负责磁盘存储 MemoryStore:负责内存存储 BlockManagerWorker:负责接收相关请求并执行任务 ConnectionManager:负责与其他BlockManager建立连接 下面我们来看看shufflewrite和shuffleread的工作原理;Shuffle
1.接口描述接口请求域名:iotcloud.tencentcloudapi.com。 查询固件升级任务状态分布 默认接口请求频率限制:20次/秒。 APIExplorer提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成SDK调用示例。 2.输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 参数名称 必选 类型 描述 Action 是 String 公共参数,本接口取值:DescribeFirmwareTaskDistribution。 Version 是 String 公共参数,本接口取值:2018-06-14。 Region 否 String 公共参数,本接口不需要传递此参数。 ProductID 是 String 产品ID FirmwareVersion 是 String 固件版本号 TaskId 是 Integer 固件升级任务ID 3.输出参数 参数名称 类型 描述 StatusInfos ArrayofSt
论文:https://readpaper.com/paper/633541619879256064 代码:https://github.com/Chenglin-Yang/LVT 1、研究动机 尽管ViT模型在各种视觉任务中效果显著,但是目前轻量级的ViT模型在局部区域效果不理想,作者认为:自注意力机制在浅层网络有局限性(Self-attentionmechanismislimitedinshallowerandthinnernetworks)。为此,作者提出一种lightyeteffectivevisiontransformer可以应用于移动设备(LiteVisionTransformer,LVT),具有标准的four-stage结构,但是和MobileNetV2和PVTv2-B0含有相同的参数量。作者主要提出了两种新的attention模块:ConvolutionalSelf-Attention(CSA)和RecursiveAtrousSelf-Attention(RASA)。下面分别介绍CSA模块和RASA模块。 2、ConvolutionalSelf-Attention
长链剖分 树链剖分可以分为三种,分别是重链剖分,动态树(实链剖分)和长链剖分(LongPathDecomposition). 长链剖分的规则是将子树包含最深的后代的儿子设为"长儿子",然后将到长儿子的边称"长边",长边组成的链称"长链",其余的边都是"短边".和重链剖分类似,长链的长度定义为它包含的节点数,或是长边数\(+1\). 前两种剖分方式,在绝大多数题目中可以相互代替,但是长链剖分的应用却和它们不同. 路径短边数量 考虑如何使用最少的节点数,构造一棵树,让它在长链剖分后,根到某个叶子的路径上,短边数量最多. 依然是重链剖分的构造方式,从边界情况开始考虑: 根到叶子最多有\(0\)个短边,最少需要\(0\)个点. 连点都不用就构造完了,没什么好解释的. 根到叶子最多有\(1\)个短边,最少需要\(3\)个点. 一个根,左右儿子都是单点,这时,两个儿子必有一个是长儿子,另一个是短儿子,有一个短边. 根到叶子最多有\(2\)个短边,最少需要\(6\)个点. 在上一棵树的基础上,在根上接一个父亲作为新的根,在这个根下面接一个长度为\(2\)的垂直的链作为长链,则旧根可以做新
EnumSet是java专门为枚举类设计的集合类。其中EnumSet中不允许加入null值,并且java专门为EnumSet提供了如下static方法来创建EnumSet对象。 1.EnumSet.allOf(enum) 这个方法是加入你所选择的枚举类的所有对象 2.EnumSet.of(enum.value1,enum.value2....);这个方法是加入某些枚举类类型的对象 3.EnumSet.noneOf(enum)这个方法是创建一个enum类型相同的EnumSet,只是其中的值为空。 4.EnumSetrange(first,last)这个方法是从对象中的一个元素到另外一个元素的遍历 5.EnumSet.complementOf(classtype)这个方法是从某个EnumSet对象中除掉EnumSet1的元素,最后返回剩下的值 如下图: 除了上面所说的方法,EnumSet还可以复制另外一个EnumSet来创建对象,或者直接复制Collection来创建对象,但是,利用Collection来创建EnumSet,必须保证Collection中的
Centos7.2配置samba文件共享服务 一、在安装前,确保 1.防火墙已关闭:使用命令 #systemctlstopiptables.service复制 若出现错误警告“Failedtostopiptables.service:Unitiptables.servicenotloaded.”则表示还没安装防火墙 2.关闭SELINUX(查看SELINUX状态:#getenforce) #sed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/config临时关闭方法#setenforce0复制 二、安装samba服务 直接yum命令安装samba安装(如果 中是给WIN访问可以只装samba) (我这里的源已经是更新了 阿里源,其它的源不太确定有没有,如果没有的话自己更新一下源) #yum-yinstallsambasamba-commonsamba-clientcifs-utils复制 启动SMB服务 并设置启动 #systemctlstarts
自古程序员爱黑Java,不黑不痛快的说,最近一周在V2EX上至少看到过不下5个黑Java的帖子,而且都是顶的老高,一共点开看了一个感觉好无趣啊。我到现在为止已经写了4年的C了,主要是做嵌入式驱动的开发,这一块的水很深,所以我平时更多的空闲时间都是用在其他方面,之前回忆了一下本科的基础数据结构和算法知识,期间对Mathematica也产生过不太浓厚的兴趣,后来发现IDEA太好用了,所以我就开始玩Java,虽然懂不懂的人都在黑。以下是我自己已经点过和最近想点的Java方面的技能树: 已点技能: 1.J2SE,Java语言基础,Java基本类库的使用;2.Android应用层开发,四大组件,SQLite使用以及其他基础知识,可以自己开发Android应用; 3.IDEA的熟练使用; 待扩展技能: 1.Java8的新特性以及明年的Java9; 2.Java并发编程; 3.Java网络编程,如果懒得玩SSH可以尝试下Play框架; 4.Jvm学习; 5.Java性能优化; 6.学习下Scala和Groovy; 目前正在巩固以下Android的应用开发以及重读《EffectiveJava》,不过
参考博客: https://blog.csdn.net/qq_35246620/article/details/68487904?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task https://blog.csdn.net/qq_24598601/article/details/85037093?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task https://www.cnblogs.com/Vincent-yuan/p/11280240.html 1.定义一个实现HandlerInterceptor接口的类 packageedu.example.hello; importjavax.servlet.http.HttpServ
1.全局安装create-react-app npminstall-gcreate-react-app 复制 2.创建新项目 create-react-appmy-app 复制 3.cdmy-app进入项目目录后,ls命令查看目录下的文件列表 4.安装redux npminstallredux--save 复制 5.打开create-react-app的配置文件 npmruneject 复制 弹出配置文件,可以自定义配置webpack 6. 使用express+mongodb开发web后台接口 npminstallexpress--save复制 项目根目录下新建server文件夹,并创建server.js constexpress=require('express');//引入express //新建app constapp=express(); app.get('/',function(req,res){ res.send('<h1>Helloworld</h1>') }); app.listen(909
Springboot框架--配置文件介绍 SpringBoot使用一个全局的配置文件 •application.properties •application.yml #一,路径: 配置文件放在src/main/resources目录或者类路径/config下 #二,介绍: yml是YAML(YAMLAin'tMarkupLanguage)语言的文件,以数据为中心,比json、xml等更适合做配置文件 •http://www.yaml.org/参考语法规范 #三,基本语法: –使用缩进表示层级关系 –缩进时不允许使用Tab键,只允许使用空格。 –缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 –大小写敏感 #四,YAML支持的三种数据结构 –对象:键值对的集合 –数组:一组按次序排列的值 –字面量:单个的、不可再分的值 对象(Map) •对象的一组键值对,使用冒号分隔。如:username:admin •冒号后面跟空格来分开键值;
堆存储和只追加存储 存储模式分为对存储(HeapStorage)和只追加存储(Append-OptimizedStorage) 堆存储 堆存储指的是默认情况下greenplum数据库使用与postgresql相同的存储模式。堆存储模式在OLTP类型工作负载的数据库中很常用,一般用于数据在初始装载后经常变化的场景.更新和删除操作需要对ROW级别做版本控制,以确保数据库事务处理的可靠性。堆存储更适合一些小表。 需要经常进行更新、删除、单行插入操作或者并行更新、删除、和插入操作的表,都适合堆存储 行存堆表是默认的存储模式;在执行CREATETABLE命令时,使用WITH子句来指明表的存储模式,如果没有指明,默认行存堆表。 #创建test表并指定分布键为id列 CREATETABLEtest(idint,nametext)DISTRIBUTEDBY(id); 复制 只追加存储 只追加存储适合数据仓库中非规范化的事实表,这些表通常都是系统中最大的表。只追加存储模式实现了更精简和优化的页面化存储结构。该存储模式强化了批量数据装载的性能,不推荐一行一行地使用插入语句来装载数据 #创建只追加表 CRE
什么是Supervisor? Supervisor是用Python实现的一款Linux/Unix系统下的一个进程管理工具,不支持Windows系统,它可以很容易监听、启动、停止、重启一个或多个进程,而且它管理的程序是非daemon程序;如果用Supervisor管理进程,当进程被杀死后,Supervisor监听到进程死后,会自动将被杀死的进程自动启动,进程就可以自动恢复了,不需要自己写shell脚本来控制。简单来说,就是用来管理进程的。 1、如果你没有安装过 EPEL,则请先安装 EPEL yuminstallepel-release复制 EPEL 也就是 EPEL源,安装完成之后你就可以直接使用yum来安装额外的软件包,有部分软件,是需要安装这个包之后,才能更方便快捷地进行安装的。如果已安装过,则可以跳过,否则,如果直接安装Supervisor,则可能会出现下面的错误提示: 2、如何安装Supervisor? yuminstall-ysupervisor#安装
1importjson 2 3fromflaskimportFlask,request,render_template 4 5fromgeventwebsocket.handlerimportWebSocketHandler 6fromgevent.pywsgiimportWSGIServer 7fromgeventwebsocket.websocketimportWebSocket 8 9app=Flask(__name__) 10 11user_socket_dict={} 12 13 14@app.route('/conn_ws<suer>') 15defws_app(suer): 16#print(request.environ) 17 18user_socket=request.environ.get('wsgi.websocket')#type:WebSocket 19user_socket_dict[suer]=user_socket 20print(len(user_socket_dict),list(user_socket_dict)) 21while
数据库中有一种特殊的“日志文件”叫Redo(重做)Undo(撤销),传统意义上的日志文件是记录系统运行状态的,主要用于系统工程师或者程序员排错。而Reod/Undo文件是数据库的一部分,主要用于数据恢复,保证数据的一致性和完整性。 用途 当执行Insert、Update、Delete动作时数据库不会真的去数据文件中执行I/O操作,而是分了两部分: 修改内存中的数据(数据库称为Buffer) 记录RedoUndo日志 只有当Buffer达到刷新条件(比如脏数据达到一定比例)才会对数据文件进行操作。数据库这么设计是出于性能考虑,因为读写数据文件是一次随机I/O 会降低系统性能;虽然RedoUndo也会写文件,但它是顺序写入,性能比较高。 这种顺序写入一般采用LSM(LogStructuredMergeTrees)算法,比如Kafka,HBase、LevelDB都采用这种结构。 因为数据并没有真正的写入数据文件,所以当数据库系统崩溃后(比如断电、系统重启、介质错误),数据库系统会利用Redo、Undo恢复数据。 如何恢复 两个原则 从前向后读取Redo,重做所有
前提:charles的说明 Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。 Charles的主要功能: (1)截取Http和Https网络数据包。 (2)支持重发网络请求,方便后端调试。 (3)支持修改网络请求参数。 (4)支持网络请求的截获并动态修改。 (5)支持模拟慢速网络。 下面主要介绍Charles的如何抓取HTTPS的数据请求。 第一部分:下载安卓Charles包 1、下载Charles包,地址:https://www.charlesproxy.com/latest-release/download.do 2、根据自己的系统版本选择对应的下载安装包到本地。 3、下载完成后,直接傻瓜式安装即可 4、安装完成后可以通过https://www.zzzmode.com/mytools/charles/,进行Charles的破解(目前