“为什么加班的总是你?”其中一个原因就是原始表格不规范。 不规范表格的典型特点 这个原始表格可能是你自己做出来的,可能是别人给你的,也可能是从软件里面导出来的。...但是,假如财务经理跟会计说,请把2018 年第一个季度的订单做出以下数据分析:订单金额排列前三名的构成比例、最畅销的前三个商品的种类以及构成、畅销的商品中最畅销的种类是哪个接口的,并且要求会计一个小时以内提交结果...为什么会崩溃? 因为这是一张不规范的原始表格! 仔细观察一下,首先日期就不规范,既有日期格式也有文本格式的日期。...(8)相同商品的二级属性分别放在不同列不便于日后进行筛选 所以,财务经理给会计布置的一连串财务统计以及分析的任务,没有几个小时是做不下来的。...此时会计是觉得这个领导是故意刁难人还是默默的加班? 因此不规范的原始表格就是“为什么加班的总是你?”的一个原因,不规范的表格给你的工作效率造成了很大的阻碍,那毫无疑问加班的肯定总是你。
如果把做一款产品比做盖房子,那么业务流程图好比图纸,图纸如果出了问题在后面施工的过程中将面临的问题就是拆了建建了拆(交互原型图),每个产品都是由许多功能组成的,功能是把众多的需求以产品的形式呈现的用户面前...那么有小伙伴会问为什么一定要做业务流程图,而不能直接用原型图呢?...简单点说业务流程图是以产品的视角来看产品,而交互原型是以用户的视角来看产品,或许你还是不懂我在讲的是什么鬼,那么就举个例子来进一步说明一下。 ?...业务流程图怎么做 从上面的几点中我们知道了,为什么我们的交互原型图为什么总是改改改,总的来说还是我们底层逻辑东西没有搭建好。那么业务流程图应该怎么做呢?...拿上面的注册业务流程图举例: 要完成的事项:注册 哪些人会参与:注册用户、系统 数据是怎么流转的:主要是“黑盒子”部分 异常:业务流程图中已经标注 二、制作流程图的软件 我习惯用Axure做,
今天讲的这个小问题,没有用过 PyCharm 的同学会完全不知所云,但用过的人,可能有一半以上概率会遇到这个算不上 bug 但也可能让人迷惑的坑。...情况就是:当你写了一段代码,点击 PyCharm 右上角的绿色小三角运行程序时,发现结果跟你预期的完全不相干。然后,无论你怎么修改代码,结果丝毫不会改变。甚至你一怒之下删光所有代码,竟然仍有输出!...其实原因也很简单:在 PyCharm里面,切换了当前编辑的 py 文件后,默认运行的代码文件是不会跟着变的。这时候用快捷键或者点运行按钮执行的都还是一开始设定的那个代码文件。 ?...或者在设置里重新设定下 run context configuration 的快捷键,用这个快捷键来运行,就会是当前的 py 文件了。...不过这样一来,如果你不是写单个文件的代码,而是开发有固定执行入口的项目,就反倒不方便了。所以具体就看你自己的需要了。 ?
一说到页面的性能优化,大家可能都会想起雅虎军规、2-5-8原则、3秒钟首屏指标等规则,这些规则在开发过程中不是强制要求的,但是有时候为了追求页面性能的完美和体验,就不得不对原有的代码进行修改和优化。...下面整理出一些常用的性能优化要点,同时再罗列一下雅虎军规、2-5-8原则、3秒钟首屏指标这三个常用规则的要点。...,节省加载时间,所有静态资源都要在服务器端设置缓存,并且尽量使用长缓存(「使用时间戳更新缓存」) 缓存一切可缓存的资源 使用长缓存 使用外联的样式和脚本 「压缩代码」:减少资源大小可加快网页显示速度,...「首屏加载」:首屏快速显示可大大提升用户对页面速度的感知,应尽量针对首屏的快速显示做优化 「按需加载」:将不影响首屏的资源和当前屏幕不用的资源放到用户需要时才加载,可大大提升显示速度和降低总体流量(「...」:过多的font-size影响CSS树的效率 「值为0时不需要任何单位」:为了浏览器的兼容性和性能,值为0时不要带单位 「标准化各种浏览器前缀」 无前缀属性应放在最后 CSS动画属性只用-webkit
然而,这会带来一些潜在的问题。例如,在单元格B2中输入数值,在单元格B3中有一个公式,当B2中的值大于3时,输入B2中的值,否则输入空,如下图1所示。 ? 图1 可以看到,一切都很完美!...但是,修改单元格B2中的数值为1,此时的结果如下图2所示。 ? 图2 看到了什么?单元格B3中的值大于0,判断为TRUE;大于1000000,也判断为TRUE。这是怎么回事?...还是回到公式: =IF(B2>3,B2,"") 当条件不满足时,会在单元格中输入空。双引号里面没有包含什么,Excel将其视为文本,虽然什么也没有,但它仍然是一个文本字符串。...这也是在上图2所示的工作表中看到的其比1000000都还大的原因。 此时,如果我们在工作表中筛选大于0的值,那么由公式生成的空单元格也会包含在其中。...当然,我们可以直接在公式中指定0: =IF(B2>3,B2,"0") 然而,如果我们不喜欢这样让0显示出来,而是喜欢在这种情形中让单元格看起来为空呢?可以使用条件格式,如下图3所示。 ?
如果你看了我前面的文章,懂得了流程管理:实施ERP一定要懂流程管理,那么,这篇文章会让你清晰的了解一下实施调研的过程,为什么要做实施调研,以及实施调研做好了会带来哪些好处。...每个客户的ERP实施方案不会相同,只有通过调研,才能找到准确、合理、符合客户企业特性、客主双方均会满意的实施步骤、详细计划。...image.png 为什么要做实施调研 一个ERP项目,不论是客户还是ERP供应商,特别是客户,一般会经历ERP供应商的售前调研、实施调研两大调研过程。...流程讨论时,可以将各部门绘制的流程、调研了解的流程、ERP规划建设的流程进行对比分析,指出利弊,可以很快确认ERP中的管理流程。...先期调研,客户方最多了解的还是对ERP基础知识、电脑基础水平的差距,制定改进计划,如搭建扩充局域网、增加电脑布点、对不会电脑操作的ERP员工进行培训等。
不过近几年,我经常在知乎上看到很多人在说为什么敏捷总是不成功,敏捷很难,敏捷不好,甚至敏捷不适合我,与我无关。这些问题看似简单,实则是一些常见的误区。1、敏捷与我无关敏捷与我无关。...几次的演练就是让你总结出不好的地方,下一次可以改进。这不就是工作中敏捷的例子吗?生活中的敏捷,举个我儿子的例子:孩子在商场看到了一个恐龙玩具,他很想要,可是我拒绝他了。...4、对敏捷有误解这么多年了,我还是可以在网上看到一些评论,比如:我们跑敏捷为什么要写文档?敏捷有那么多会议干嘛,不浪费时间吗?这些都是对敏捷的误解。首先,敏捷也会有文档的,不是说敏捷了就不写文档。...团队中的良好沟通也会让大家更有默契,更容易互相补位,有利于T型人才(一专多能)的发展,从而提升效率。总结当我们在面对一些新观点出现的时候,我们总是会有畏惧的心理,这还是源于我们的意识。...所以,千万不要习惯性拒绝新事物,要切实的去了解一下新事物,仔细思考其本质,千万不要自欺欺人,妄下结论。所以,现在想想,你的敏捷为什么这么难?
事务的起源 对于大部分程序员来说,他们的任务就是把现实世界的业务场景映射到数据库世界。...这时设计数据库的大叔们就需要采取一些措施来让访问相同数据(上例中的A账户和B账户)的不同状态转换(上例中的T1和T2)对应的数据库操作的执行顺序有一定规律,这也是我们后边章节要仔细唠叨的内容。...所以说,数据库某些操作的原子性和隔离性都是保证一致性的一种手段,在操作执行完成后保证符合所有既定的约束则是一种结果。那满足原子性和隔离性的操作一定就满足一致性么?...这也不一定,只要最后的结果符合所有现实世界中的约束,那么就是符合一致性的。...持久性(Durability) 当现实世界的一个状态转换完成后,这个转换的结果将永久的保留,这个规则被设计数据库的大叔们称为持久性。
这样复杂的要求都能够用公式解决,这样的解决方法都能够想到!...({4,5,5,5,5,5,4})精确对应,并且在它们各自的数组中占据相同的位置,那么可以得出结论,与该特定的1×6数组相对应的字符串必定与单元格B3中字符串的组成字母相同。...下一个要考虑的字符串,是单元格E2中的字符串(“adel”),只有四个字符的长度,不会超过我们公式的初始部分(该部分检查该字符串是否与B3中的长度相同)。...}的结果,能够返回TRUE。...至此,公式的其余部分就非常简单了。
本文介绍在使用必应(Bing)搜索时,在搜索结果列表界面点开某个搜索结果后,再回到搜索结果界面时,页面自动回到顶部的解决方法。 ...最近,在使用Edge浏览器进行必应搜索时,发现一个问题——在如下图所示的搜索结果列表界面中,点击任意一个结果网页进行浏览后,再一次回到搜索结果列表的界面,这个界面会自动回到界面顶部(如下图所示,就是回到界面顶部的样子...因为我们在浏览搜索结果时,往往会点开多个不同的结果页面逐一查看;那么如果每次浏览完毕一个结果页面、退回到上图所示的结果列表时,这个搜索结果的列表界面都自动回到顶部,那么还需要手动将界面拉回我们刚刚浏览到的位置...因为我这里是在Edge浏览器中操作的,所以就可以到这个网站(https://microsoftedge.microsoft.com/addons/detail/tampermonkey/iikmkjmpaadaobahmlepeloendndfphd...但是尽管如此,不知道为什么,目前必应搜索官方还是没有消除这个Bug,或者说给出一个对于这一问题的官方、具体解决方法——当然,微软社区倒是有回答问题的志愿者提到用这个插件来解决这个问题。
] 公式计算得出,其中tab是一个哈希表。...为什么要保证 capacity 是2的次幂呢? 1)在get方法实现中,实际上是匹配链表中的 Node[] tab 中的数据。...- 1) & hash,当n为2次幂时,会满足一个公式:(n - 1) & hash = hash % n 2.为什么要通过 (n - 1) & hash 决定桶的索引呢?...2)既然是通过hash的方式,那么不可避免的会出现hash冲突的场景。hash冲突就是指 2个key 通过hash算法得出的哈希值是相等的。...尽量避免 bug 手法2、HashMap 为什么线程不安全?3、3种骚操作,教你查看 Java 字节码! 4、疯了!同事又问我为什么不能用 isXXX5、不能用 + 拼接字符串?这次我要吊打面试官!
小树最近在开发公司 App 的一个新的功能,需要在用户上线的时候,给关注了她的用户发送一条推送消息。小树很快就完成了开发, 但测试人员却反馈说无法正常接收到推送。...这可让小树着急死了,但小树调用的是原来的推送接口,对推送的相关业务并不熟悉。于是小树准备寻求资深工程师小黑的帮助。...不同设备的同一应用,它们的 DeviceToken 是不同的。同一设备的不同应用,它们的 DeviceToken 也是不同的。...---- 你所看到是推送系列文章中的一篇,更多关于推送的文章: 《测试妹子的呐喊:为什么总是收不到推送?》 《开发小哥的困惑:为何要用第三方推送?》...《官方老爹之痛:为什么苹果能收到推送,而安卓不行?》
开篇是一个页面流程图的基本做法事例,我们通过这张图可以一目了然的看清楚用户是如何用我们的产品的,而我们的交互原型图大家都知道更多的细节用axure或sketch做的一个模块一个模块,你很难以用户的视角看清楚一个产品或功能的全貌...也许有小伙伴还是没太看懂页面流程图是啥,那么我画也个微信的页面流程图吧(只画一部分了,而且是简单的画了下,下面会举详细的例子) ?...微信页面流程 从这个图是否能清晰的看到整个产品的全貌,看产品的每个流程是怎么走的,交互原型图是做不到这点的,而且这里可以快速体验检测哪里有问题,发现问题做调整比在交互原型里去调整方便的很多,这就是页面流程图...注册业务流程图png 聪明的你应该发现了,页面流程图就是业务流程图中四方形的部分以及菱形的异常,不过在页面流程图中给用户看的异常和给后台看的异常是不同的,给用户看的异常就是弹窗。...关于工具和团队协作 我个人习惯用axure,当然sketch和其它的软件都木有问题了,怎么方便怎么做,有利于团队沟通快速推进项目,管他黑猫白猫能抓到耗子就是好猫。
即使是一些适用于 JavaScript 的插件,也会额外需要无数的文件。有时,这会让人觉得烦杂恼人——但至少是有用的! 3.“有没有这个功能的插件?” 为什么要重新发明轮子?...在 Internet Explorer 中渲染网页的历史充满了艰辛考验,是我们有目共睹或亲身体验过的。 从 5.5 版本升级到 IE9、IE10,总是需要争取到更高级浏览器的支持。...“哦,天哪,我以前为什么不写点注释呢?” 当涉及到比较基础的前端 HTML / CSS / JS 时,我们没有必要写注释。...当我一筹莫展时,我往往会选择从头开始,因为这样才有可能找到完成项目 的正确道路。 ? 为什么程序员发现不了自己的 Bug? ?...作为开发就和我们成人一样看到问题总是以自己的世界观来理解,导致理所当然的就这样就对了,而真正的真相就被隐藏了。 当程序员面对 Bug 的时候,如何机智甩锅?
为什么你的数据分析成果总是难以落地?数据分析的价值总是远远低于预期?相信看完这篇文章,每个人都能找到一个属于自己的答案。...01 遵循数据分析标准流程 数据分析遵循一定的流程,不仅可以保证数据分析每一个阶段的工作内容有章可循,而且还可以让分析最终的结果更加准确,更加有说服力。...、重审过程; 6)成果部署,分析结果应用。...02 明确数据分析目标 在数据分析前期,要做到充分沟通、理解业务规则、关注业务痛点、了解用户需求、换位思考,明确为什么要做数据分析,要达到一个什么目标。...与外部人员沟通效不顺畅,可能造成前期需求不清,中间业务逻辑混乱,最终导致数据分析结果差强人意。与内部人员沟通效率低,可能造成分析进度滞后,分析工作开展不畅等诸多问题,直接影响分析效果。
有网友在腾讯举报中心公众号留言——“我在微信群里玩抢红包游戏,莫名其妙被举报为赌博,究竟是为啥?” 小助手:Excuse me ?这位网友,你确定你真的只是单纯的抢红包而不是参与红包赌博?...按照《刑法》规定,以营利为目的的聚众赌博或以赌博为业开设赌场的,都将构成犯罪。其群主的行为就等同于开赌场,属于犯罪行为,群成员“抢红包”也是涉赌的违法行为,要受到治安处罚。...那么问题来了,为什么输的总是你? 小助手拿出压箱底的活儿告诉你—— 不是你手气不好,而是你输给了这群以红包赌博为职业的幕后黑手! ?...新人进群,需缴纳几十到几百不等的押金,押金的最终流向,无非是落入了担保人或群主的口袋。 终极boss——群主 群主作为红包赌博游戏的最终赢家, 为了规避打击,往往会建立很多红包群,甚至花钱买群。...Q2、手机上使用外挂,对我个人信息有啥影响? A、外挂软件不仅会对其他用户造成严重骚扰,并存在收集用户隐私信息、盗取用户帐号密码等安全风险。
https://blog.csdn.net/10km/article/details/52383961 最近需要一段计算数据md5校验码的代码,从网上找一个可以,验证可用,就拿来用了,感谢原作者...下面是完整代码,只有一个.h文件,代码中的两处中文注释是我为了消除编译警告而修改代码加的 另外,原始代码中使用了msvc才支持的#pragma region/endregion 预处理指令,无法在其他编译器上通过编译...,所以也做了修改: 在使用到#pragma region/endregion的地方都用#if _MSC_VER ......已经在windows和linux下验证,与Java下MD5结果一致。....h",不要将它包含到其他的.h文件中,以避免宏定义污染传递到其他的cpp文件引起混乱。
前言 想必大家编写代码时肯定和我一样,也遇到过汉字乱码的问题。特别是,有时候和上下游对接接口,不能统一编码格式的话,一堆乱码问题,让人头皮发麻。 那么为什么会有这么多的乱码问题? 什么是字符编码?...但是,这是我自己定义的编码规则,我同桌阿霄就不乐意了。他非要认为 ESC 应该定义为 1101 1000,好家伙正好和我定义的二进制数字顺序相反。...那结果肯定不用说了,我把 0001 1011 这串数字给他之后,按照他的编码规则来解,肯定是 &$#!这样的东西。 所以,乱码问题说到底,就是编码和解码的规则对应不上导致的。...对于单字节的符号,第一位设为0,后边 7 位对应这个字符的ASCII码值。因此,像“A"这样的英文字母,UTF-8 编码和 ASCII 编码是相同的。...细心的同学可能发现了,我上边转换的汉字可以用 char 类型来存储,这是为什么呢? 这是因为,在 Java 中,默认使用的字符集就是 Unicode,可以容纳 100 多万个字符,其中就包括汉字。
突然发现拖延症已经严重影响到了我。 什么是拖延症,简单来说就是个人选择而已。每时每刻,面临辛苦的选项与逃避的选项时,倾向于选择更安逸的那一个。一而再再而三,就成了拖延。...很早之前我就计划专注某个方面写一个系列,但是直到今日,仍没有结果,实在是有些惭愧,想从新逼迫自己进步,不知道能坚持多久。...言归正传,谈下pytest,很多人会有疑问,网上都那么多pytest文章了,为什么我还要专门写呢,其实很简单。...第二,刚好有测试妹子给我提供了一些简单的pytest的小案例,我也正有此意,那这篇文章就这样来了。 先声明:我写的技术文主要还是以理解为主,不一定专业,如果看完还是不会,那一定是我写的不够好。...,每次我执行的时候会用pytest.main('-s 文件名') 其实这里的-s是可以根据不同的需求进行替换的,这里我们替换成-v,那么执行结果就变成了 =======================
本次的练习是:如下图1所示,有两列数据,要求在列B中输入数据后,自动匹配其上方最近一次出现的该数据并提取对应的列A中的数据放置到列C对应的单元格中,例如,单元格B6中输入1后,与其上方的单元格B3中的数据相同...(这是最近一名网友的提问,特引于此作为一道公式练习题) ? 图1 要求在单元格C4中输入公式,然后拖放复制该公式至下方数据区域。 先不看答案,自已动手试一试。...解决方案 下面是我编写的一个数组公式。...(B3: 用来获取单元格B11上方区域B3:B10中与B11中的值相同的数据所在的行号,结果为: {"",4;"","","",8,"",10} 然后,使用LARGE函数获取最近相同值所在的行号值(即数组中最大值...),公式中的LARGE函数解析为: LARGE({"",4;"","","",8,"",10},1) 结果为: 10 传递给INDEX函数,得到: INDEX(A1:A11,10) 结果为单元格A10中的值
领取专属 10元无门槛券
手把手带您无忧上云