其实设计思维介入在项目里面是影响了一种顺序,我们都知道,做一个可以卖的东西,无非是: 找市场(可以呆多久) 找需求(这个就是客户为什么埋单的原因) 找客户(谁埋单) 做产品(你卖的实物) 一直做下去...但是凡此种种你先打住,根本不可能解决什么,核心冲突是,客户要什么,你给了什么的问题。除了一些领域你可以拿捏住人的本性以外,可以驯化你的客户。但是大多数的情况是陌路不相干。...另外就是为什么我们为什么会批评一个东西的优点和缺点,优点不说,永远OK。缺点的事情上,有一种是设计的时候确实是没有想到你会拿来做这种事情???工程师也无语啊。 工程师内心OS:WOC???...还有的情况是:物理的限制。 很多人都迷恋尺寸小的手机,但是为什么没有厂子大规模的生产呢? 我以前写了个爬虫看了下大致的评论,对于小屏幕的手机来说,续航是一个绕不开的问题,甚至是尿点就在这里。...设计思维这类工具就好像作弊一样,我不妨先把自己当成用户(换位思考,或者是共情),来看看用户真真正正的使用场景是什么?以及ta真的会为此埋单吗? 为什么要用访谈这种形式呢?
Jackson 原标题: 《Why Curry Helps》 原文地址:https://hughfdjackson.com/javascript/why-curry-helps/ 译者:the5fire 为什么柯里化是有用的...什么是柯里化,以及为什么它如此美味?...针对这种情况我们能做些什么?啊——如果映射(map)可以被部分的配置到函数上,而不是集合上呢?...虽然方法是个美好的东西——允许多台,并且代码可读性好——但它们不总是工作需要的工具,比如在重度异步的代码中。...在这个玩具示例中,让我们从服务器端“拿”一些数据,然后通过有用的方式来处理它。
也许过去十年在计算机视觉和机器学习方面的突破是GANs(生成式对抗网络)的发明——这种方法引入了超越数据中已经存在的内容的可能性,是一个全新领域的敲门砖,现在称为生成式建模。...其中一种方法是“扩散模型”——一种从气体扩散的物理过程中获得灵感的方法,并试图在多个科学领域对同一现象进行建模。然而,在图像生成领域,它们的应用最近变得越来越明显。...然而,需要注意的是,这种细粒度图像生成也是扩散模型的主要优势之一,因此,使用它们是一种矛盾。 另一个来自NLP领域的非常著名的方法系列是transformer。...它们比其他技术更好地捕捉文本甚至图像中的语义结构。然而,与其他方法相比,transformer需要大量的数据,并且在许多视觉领域也面临着性能方面的平台。...与其他方法相比,它们不仅节省了内存,还产生了多样化的、高度详细的图像,保留了数据的语义结构。简而言之,LDM是潜空间而不是像素空间中扩散过程的应用,同时结合了来自transformer的语义反馈。
在文章Batch Normalization:Accelerating Deep Network Training by Reducing Internal Covariate Shift中,其对与ICS是这样解释的...对于没有BN的神经网络,其loss函数是不仅非凸,并且还有很多flat regions、sharp minimal。这就使得那些基于梯度的优化方法变得不稳定,因为很容易出现过大或者过小的梯度值。...2.2 是否BN是最好或者唯一的方法来对优化空间进行平滑 对比实验: 不使用BN 使用标准BN 使用L1 归一化方法 使用L2归一化方法 使用L 归一化方法 结论: 很多normalization
而TCP是一种面向连接的协议,也就是说,在收发数据前,必须和对方确认已经建立了可靠的连接。 建立连接的方式又称为三次握手: 第一次握手,主机A向主机B发出请求数据包:“我想给你发数据,可以吗?”...第二次握手,主机B向主机A发送同意连接,并要求同步的数据包(同步就是两台主机协调工作,一台在发送,一台在接收):“可以,你什么时候发?”这是第二次对话。...这三次对话的目的是使数据包的发送和接收同步,TCP协议是一定要经过这三次对话之后,主机A才可以向主机B正式发送数据。...UDP主要有以下几个特点: UDP是一个非连接的协议,传输数据之前,源端和终端不建立连接,当它想传送时,就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。...UDP是面向报文的。发送方的UDP对应用程序传过来的报文,在添加包头后就向下交付给IP层。
什么是 WebSocket? 在当今高度互联且不断在线的世界中,我们希望即时获得信息。想一想我们用来发送消息或在一天内接收实时、最新通知的所有应用程序。...WebSockets是用于构建提供即时、实时更新和通信的 Web 应用程序的众多不同工具之一。 WebSocket 有什么用? WebSocket 协议在客户端和服务器之间建立全双工、双向通信。...在本指南中,我们将解释什么是 WebSocket,并详细说明将它们用于实时应用程序的一些好处。我们将回顾实现 WebSockets 的最佳用例,并讨论您可能想要使用的其他选项。...WebSocket 有什么用? WebSockets 是由开发人员发明的,以有效地促进实时结果。WebSockets 通过在客户端和服务器之间发起连续的全双工通信来工作。...总结 总而言之,WebSockets 是一种非常有用的协议,可用于跨 Web、移动和桌面变体构建实时功能,但它们并不是一种放之四海而皆准的方法。
在大数据处理的领域中,ETL和ELT是两个经常被数据工程师提到的工具,而有很多数据工程师对这两种工具的区别和使用和定位有一定的模糊,其实它们分别代表了两种不同的数据集成方法。...什么是ETL?ETL,即“提取(Extract)”、“转换(Transform)”、“加载(Load)”,是一种经典的数据集成方法。...一个典型的ETL流程图,很多情况下流程可能会更复杂什么是ELT?...由于数据首先被加载到目标系统中,因此可以更快地进行数据查询和分析,这对于需要实时响应的业务场景非常有用。...,使用简单,功能强大Kettle是全球使用最广泛的ETL工具,安装简单,功能强大,但是使用比较复杂总结ETL和ELT是两种不同的数据集成方法,它们各有优劣,适用于不同的场景和需求。
这就是为什么云计算变得越来越多元化的原因,根据调研机构IDC公司的数据,2018年超过85%的企业有望采用多云策略。...这种“多米诺效应”是企业的各种业务过多依赖单一服务时可能发生故障的一个主要例子。...拥有自动冗余(无论是涉及企业自己的数据中心还是其他云计算提供商)可能会花费更多的费用,但这往往是值得的。 商业应用不能“一刀切” 你会只在一家商店购买各种款式的衣服吗?当然不会。...企业正在经历一个类似的评估过程,因为他们确定什么类型的平台或服务适合其应用。...结论 云计算是一种令人惊异的资源,而发展到多云是一种自然的演变,因为人们理解对单个云计算供应商过分信任有着一定的风险。
自 2002 年以来,命名空间一直是 Linux kernel 的一项功能。从那时起,它们已经演变成 Linux 安全的一个非常重要的方面。...如何在 Linux 上创建命名空间 假设您想要创建两个网络命名空间,然后允许它们相互连接。 第一步是创建命名空间。...我们将这些命名空间称为 net1 和 net2,并使用以下命令创建它们: sudo ip netns add net1 sudo ip netns add net2 接下来,我们必须为两个接口创建一个管道...现在我们必须将我们的命名空间与管道关联起来,如下所示: sudo ip link set veth0 netns net1 sudo ip link set veth1 netns net2 下一步是为每个虚拟接口提供一个...您所做的本质上是创建了两个可以相互访问但不能被任何其他资源访问的网络命名空间。这就是命名空间的全部意义。
我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)? 在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗? 它们的作用范围是什么?...它们的大小由什么决定? 哪个更快? 答案一 栈是为执行线程留出的内存空间。当函数被调用的时候,栈顶为局部变量和一些 bookkeeping 数据预留块。...当函数执行完毕,块就没有用了,可能在下次的函数调用的时候再被使用。栈通常用后进先出(LIFO)的方式预留空间;因此最近的保留块(reserved block)通常最先被释放。...它们的作用范围是什么? 调用栈是一个低层次的概念,就程序而言,它和“作用范围”没什么关系。如果你反汇编一些代码,你就会看到指针引用堆栈部分。就高级语言而言,语言有它自己的范围规则。...它们记录那个页面属于那个应用程序。不过你不用关心这些,因为你仅仅在你的编程语言中分配和释放内存,和一些错误检查(出现分配失败和释放失败的原因)。 它们的大小由什么决定?
Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,用于在Web页面中实现异步数据交互,实现页面局部刷新 优点:可以实现异步通信效果,页面局部刷新...,带来更好的用户体验 JSON是一种轻量级的数据交换格式,看着像对象,本质是字符串 优点:轻量级、易于人的阅读和编写,便于js解析,支持复合数据类型
在语言火爆程度不断更迭变化的背后透露的是技术的革新以及主流编程工具不断变化发展。 也正是这种快速的变化,才使得人们都觉得IT行业是个不断更新,需要持续学习的行业。...算法为什么重要 01. 算法是程序的灵魂 在编程世界中, 算法+数据结构=程序。 如果将数据结构比喻成程序的肉体和骨架,那么算法就是这个程序的灵魂。...正如李开复在《算法的力量》一书中写到:“算法是计算机科学领域最重要的基石之一,…… 编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论...但是黑箱的内部是什么样子,可能你永远也不清楚。 这样就无形中给自己的认知和视野加上了一层壁垒,开发者很难有属于自己的思维方式,就更不要提创新了。...无论是参加编程比赛,还是考研或是参加大厂招聘的笔试面试,归根到底也是一种应试。要想通过考试,刷题是必不可少的一个环节。
为什么要用 redis 而不用 map/guava 做缓存? 缓存分为本地缓存和分布式缓存。...以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着 jvm 的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性...缺点是需要保持 redis 或 memcached 服务的高可用,整个程序架构上较为复杂。...重启的时候可以再次加载进行使用,而 Memecache 只是把数据全部存在内存之中 集群模式:memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但是 redis 目前是原生支持...cluster 模式的 Memcached 是多线程,非阻塞 IO 复用的网络模型;Redis 使用的是单线程的多路 IO 复用模型 ?
为什么 如果说数据透视表是Excel历史上的第一个伟大发明,PowerBI就是第二个。...在上一讲中,我们谈到PowerBI这个强大的工具可以帮我们解决很多问题,然而市面上的数据分析软件有很多,为什么笔者偏偏这么看好这款工具呢?...2 由Excel衍生而来的 在前一篇《什么是PowerBI》中,我们提到本质上PowerBI就是整合了Excel三大插件利器,并加入了社交分享的功能。...Excel是全世界应用最广泛的数据分析软件,如果你是个Excel使用者,一定也可以很快上手这个PowerBI,从Excel到PowerBI自然地过渡。如果是其他软件,你的学习时间可能会更长。...因为这款软件的开发初衷是针对非IT类人群,傻瓜化的操作以及人性化的界面设计大大降低了学习门槛。
这里我们谈谈百分比计算的原则,一并解释为什么不存在100%的情况。 无论你的硬件多快,你会发现这里永远都不会出现“击败了全国100%人的电脑”。...首先让我们思考一个问题,全国所有电脑的性能分布会是一个什么图形?也许你会不假思索的说是金字塔形,底层最多,而越往上越少。其实这恰好是错的,我们多数时候认为的金字塔分布事实上是正态分布。...如图就是一个正态分布的例子,X轴表示的是得分,Y轴表示的是人数。由于跑分软件通常没有上限,X轴也是没有尽头的。当软件需要计算你超过了多少人的电脑时,只需计算一下左侧阴影部分的面积即可。...这就是为什么,你永远也无法超过100%人的电脑。
用户users 表中对 create_time 字段建有索引 现在查询某个时间段的用户,通过explain发现下面这个sql 没有用到索引 explain select * from users...可以看到,这回使用了索引 为什么只是缩小了查询范围,其他什么都没有改,就可以使用索引了?
我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)? 在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗? 它们的作用范围是什么?...它们的大小由什么决定? 哪个更快? 答案一 栈是为执行线程留出的内存空间。当函数被调用的时候,栈顶为局部变量和一些 bookkeeping 数据预留块。...当函数执行完毕,块就没有用了,可能在下次的函数调用的时候再被使用。栈通常用后进先出(LIFO)的方式预留空间;因此最近的保留块 (reserved block)通常最先被释放。...它们的作用范围是什么? 调用栈是一个低层次的概念,就程序而言,它和“作用范围”没什么关系。如果你反汇编一些代码,你就会看到指针引用堆栈部分。就高级语言而言,语言有它自己的范围规则。...它们记录那个页面属于那个应用程序。不过你不用关心这些,因为你仅仅在你的编 程语言中分配和释放内存,和一些错误检查(出现分配失败和释放失败的原因)。 它们的大小由什么决定?
我们都知道,小米是以硬件起家的,手机是小米公司的起源处。但是,小米在发展过程当中却走出了一条和国内的手机硬件生产厂商不一样的道路。 这条道路是什么呢?是生态系统。...小米的底层逻辑是一样的,不同的是小米用一种更加开放的姿态来看到外部竞争者,从而将自己的生态系统变成了一个开放、包容的生态。 [if !...可能有人会说,小米的优越性就只有这么两条,凭什么它就能够上市,而且估值这么高呢?还能获得同股不同权的待遇,这也太大逆不道了吧?...那么,为什么小米递交IPO申请的时候会有这么多的质疑呢?小米的估值难道真的配不上它的真实身价吗? 肯定不是这样。资本市场是多么精明啊,难道大型投行会拿自己的身家性命来给一个不靠谱的公司做担保吗?...尽管手机业务依然是小米的盈利重点,但是我们可以看到小米的产业布局其实已经深入到了人们生活的各个环节。
EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。...为什么是EasyExcel? Java解析、生成Excel比较有名的框架有Apache poi、jxl。...直接读即可 如果我们的自动化框架设计思路是在Excel中保存我们的用例,那么假如用例内容包括以下内容。
什么是CPU与GPU,它们之间有什么关系 一、CPU CPU,全称是“Central Processing Unit”,中文名为“中央处理器”。...它是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。以下是关于 CPU 的详细介绍: 1....指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。...现代GPU拥有强大的并行处理能力,可以同时处理大量的像素和顶点数据,这使得它们在处理3D图形时尤为高效。 类型分类:GPU可以分为核心显卡和独立显卡。...总之,CPU和GPU是计算机系统中的两个关键组成部分,它们各自承担不同的任务,但又相互协作,共同实现计算机的各种功能和应用
领取专属 10元无门槛券
手把手带您无忧上云