销售交上来的东西总是稀奇古怪,比如有一列是要填日期,交上来的表格里,有的读出来是日期类型,有的读出来是字符串类型,这都还好说,日期类型直接用,字符串按格式解析成日期,就好了。...但这天发现有个销售交上来的表格里,这一列读出来是数字类型。 比如 2024-02-01,读出来对应数字 45323。 怎么将这个数字转换成日期呢?...2024-02-01,读出来是 45323,咋按 1900-01-01 作为第一天,反算出来 45323 却是 2024-02-02 了呢?...有意思了……于是继续在维基百科的 Microsoft Excel 词条上找到了佐证信息: Excel的时间系统中,会认为1900年2月29日是有效日期,也就是1900年为闰年,但实际上并不是。...这是源于模仿早期竞品Lotus 1-2-3上的缺陷而引入的特性,由于Lotus 1-2-3的时间纪元以1900年起始,之后的时间为差值累加,导致其时间体系一开始就认为1900年是闰年,而Excel为了兼容
人工智能的腾空出世,让许多人心存疑惑,这究竟对人类来说,是机遇,是挑战,还是某种未知的危险?成为了一个饱受争议的问题。...现在,人工智能的出现,人们还是会担心它所带来的危机,当然,有后顾之忧是正确的。但是,新技术不是让人失业,而是让人做更有价值的事情,让人不去重复自己,而是去创新,让人的工作能够进一步进化。
去年,Dan Abramov在JSConf冰岛提出Suspense,在处理React应用程序中的异步数据获取时,Suspense被认为是一种提升开发者开发体验的巨大改进。...Promise(或者在组件渲染期间调用的任何东西,例如新的静态方法getDerivedStateFromProps); React捕获抛出的Promise并在组件树上查找最接近的Suspense组件,它充当一种边界...所以为什么Suspense是一种巨大的突破呢? 要了解这个问题,让我们来看看,目前如何在我们的应用程序中处理数据提取。...provider还可以作为缓存的一种形式,如果数据已经存在或加载,则阻止我们多次请求相同的数据,例如,由另一个组件触发。...但至少现在我们将所有数据和加载状态放在一个中心位置,这是一种改进。
DDD是架构设计的一种方法,在DDD中的模型驱动设计里面有两种设计方法,一种是战略设计,用来识别用户问题,一种是战术设计,用来指导落地问题的解决方法。 因此DDD是可以担当起建设那座桥梁的重任。...所以,事件风暴是一种工作坊的形式,在这个过程就是要建立业务与研发人员,在描述需求事物上的通用语言。...领域驱动设计里面的【领域】两个字,透露出了一种【范围】意识,这也就是我们经常在DDD中强调边界的原因,因为范围本身就有边界的概念。...再联想到微服务设计要按照功能来进行拆分,这也是为什么DDD能够很好的指导微服务建设的原因之一,它们都强调了【边界】。...那么战略设计最重要的是要干什么呢,我认为就是为了“归堆”,象上面我们说的边界也好,范围也好,乃至【域】也好,都是为了进行分组,当然,DDD中还有个更专业的词,限界上线文。 ?
大家好,我是rainbowzhou。 今天和大家聊聊岗位职责方面的话题,例如,如果你提到过你有培训的经历,面试官反问你,你有提到你给客户做过培训,为什么是测试来做?培训内容是什么?你认为应该谁来做?...以下是我的思考和回答,希望能够对你有所帮助。...培训内容是我们产品的使用方法、注意事项、常见问题等进行了培训。 Why not?测试人员的职责是确保产品或服务符合质量标准。...我认为测试来做培训是基于以下几个原因: 测试与客户有着较好的沟通和理解,能够了解客户的需求、期望、痛点等,以及为客户提供合适的解决方案和建议。...我认为培训不应该是测试单方面的行为,而应该是一个团队协作的过程,测试可以与其他部门进行密切的沟通和协调,充当桥梁的作用,以确保培训的质量和效果。
为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD、Tiptop、用友等产品,深深觉得SAP是贵的有道理! ...很可惜的是,纵观世界上这么多的ERP系统,真正能够为用户考虑而且有自己的核心竞争力的并不多。 我认为一套好的ERP系统,不仅仅是一套软件,更是一个管理思想。...因此采用稳定且效率高的数据库是很有必要的。如果一款ERP系统只能支持单一的数据库真的是可以摒弃了。ERP系统是长期工程,至少要以10年的眼光来看待它。...如果哪家ERP厂商吹捧说自己公司的产品是基于B/S模式所以有优势的说法绝对是忽悠人的。其实B/S没有什么不好,但是因为你是B/S模式,客户端只能限制在IE浏览器上使用那就绝对是大错特错了。...就连不同的采购类别设置不同的订单号码段都不支持,跟SAP比起来基本上是属于很小型的系统定制。Tiptop引以自豪的一方面是它的开源,所以通过开发可以实现无限的可能情况。
,换句话讲不陪大家玩了,但这种可能性也是小的可怜,毕竟谷歌通过安卓系统已经搭建了一整套的生态体系,很多人不是很理解为什么谷歌花了这么长的时间打造的安卓系统不收费怎么去挣钱,而且谷歌还是一家彻头彻尾的商业公司...很多人疑惑谷歌是怎么通过安卓赚钱的,最简单的一种方式谷歌内置自己的应用在特别在浏览器应用里面由于安卓系统使用范围非常广泛,直接内置谷歌的浏览器这自带多大的流量体系,所以谷歌浏览器是全球最大的移动端导流工具...,大家拿他也没什么太好的方式,已经在市场上占据了绝对的领袖地位,说话也比较硬气,而且欧盟罚款对于普通企业来讲可能已经是天文数字了,但对于谷歌这种巨无霸公司来讲九牛一毛,谈不上伤筋动骨,倒是有一种说法谷歌在研发一种新的操作系统...,带有收费性质的一种系统,目前还没有得到确实的落实。...现在很多主流的开源体系都是商业公司在提供主流的推动,虽然是开放代码但在技术走向上以及资源调配上还是倾向于主推公司,开源更像是商业大公司玩的一种手段,虽然代码开源但可以让全世界的程序员为之服务,并且在技术走向上引导对于自己有利
比如OpenSystem Lite是自由的,但OpenSystem是商用,非自由的。那对不起,OpenSystem Lite也不能被认为是自由的操作系统,因为它会引发混淆。...还有一些其它的要求,上面几个是一些主要的点。 三) 现在你理解了,为什么主流的Linux发行版本不被认可是自由的操作系统了吧。 因为: 自由系统的要求挺高的 某种程度上说,甚至有点不切实际了。...四) 好吧,还是简单的说下为什么主流的发行版本不符合自由系统的哪些点。...Debian/Ubuntu 其实Debian是我认为主流发行版本中最接受自由系统的了,Debain最开始就是由自由软件基金会赞助的一个发行版本。...一个软件只要申明它的许可证,并属于开源许可证协议的一种,就可以被认为是开源软件。 那同样的,一个软件想要被认为是自由软件,自然得符合自由许可证协议。 那它们之间有什么关系或异同么。
◎简介 Homer,是 bastienwirtz 在 Github 上开源的静态网站首页生成器,通过简单的 yaml 配置文件就能实现,目前版本为 v21.03.2。...heathcheck 功能 实现快捷键:/ 开始搜索,Escape 停止搜索,Enter 打开首个匹配结果,Alter/Option + Enter 在新标签开启结果 Homer ◎使用 Homer 是一个完全静态的...html/js 管理面板,使用 webpack 从 /src 中进行生成。...for showing Chuck Norris facts as messages: # url: https://api.chucknorris.io/jokes/random # mapping...red # optional color for card to set color directly without custom stylesheet 可以看到,提供了包括:标题、子标题、图表、主题、颜色风格
我们来实现一下这个效果,首先定义一个用于请求接口的 promise const getApi = async () => { const res = await fetch('https://api.chucknorris.io...一个程序员是否经验丰富,是否成熟,都是体现在这些生产环境的细节中 完整代码如下 const getApi = async () => { const res = await fetch('https://api.chucknorris.io...与此同时,反馈到数据上,虽然前面多次的请求已经成功,但是对于组件状态来说,这个中间过程中一直有请求在发生,此时 React 认为中间的请求产生的数据为无效数据。...02、是好是坏 很显然,仅从 UI 结果上来说,这样的处理方式确实是非常合理的,我们不需要过多的干涉数据的处理,非常的轻松。但问题是,每次请求都成功发生。...和取消上一次的请求相比,无论是从体验上,还是从效率上来说,无疑都是更差的一种方案。 因此,我们可以简单基于目前的代码,使用禁用按钮的方式,来防止重复请求。
://api.chucknorris.io/jokes/random') return res.json() } 有了这个 api 之后,我们可以直接在父组件中调用该方法。...为了解决这个问题,我们在前面一章的案例中,使用了一种并不简洁的方案,来防止 getMessage() 的冗余执行。...const getMessage = async () => { const res = await fetch('https://api.chucknorris.io/jokes/random')...我们借助了 useState 的另外一种方式来初始化。...这种方式初始化的结果是,createTodos() 只会在组建首次创建时执行一次,后续组件再 re-render,就不再执行了。
有的后端不愿意配合前端页面结构修改接口,前端也沟通不下来,只能自己咬牙在混乱的接口情况下写页面,就导致了无论是组件的划分也好还是页面的复杂度也好都变得杂乱无章。从而增加了开发成本。...重新考虑初始化 和之前的方案一样,我们先定义父组件的请求接口 const getMessage = async () => { const res = await fetch('https://api.chucknorris.io...一种是通过点击按钮来初始化接口。另外一种就是组件首次渲染就要初始化接口。...我们之前的案例中,使用了取巧的方式,在函数组件之外提前获取了数据,这会导致访问任何页面该数据都会加载,因此并非合适的手段 // 我们之前的案例这样做是一种取巧的方式 const api = getMessage...例如,我们声明一个子组件如下所示 const getApi = async () => { const res = await fetch('https://api.chucknorris.io/jokes
文章末尾给出了完整代码 演示效果: 使用css,html我们将建立一个按钮,该按钮: light-mode和dark-mode之间的变化 默认为用户首选的配色方案 更改标签以反映用户的首选配色方案。...为什么没有JavaScript? 我的目标之一是使每个工具都可以不使用javascript,以一定程度上简化代码,同时也是个挑战。...我需要一种dark-mode 无需javascript进行切换的方法,同时仍然默认为visitor preferred-color-scheme。...我们将仅使用两种颜色,一种用于背景,另一种用于文本: :root { --bg:#F4F0EB; --text:#141414; } #dark-mode:checked ~ .color-scheme-wrapper...默认为访客的首选配色方案。 现在让我们使其默认为用户的首选项。 为了定位用户的偏好,我们可以使用@media查询。
不论是 macOS 还是 Windows 下,我们都不推荐使用系统自带终端。无论是可拓展性还是可编程性都被「系统自带」这样的特点限制。...由于 Hyper 是基于 Electron 的,所以它的插件、主题等等可拓展性都非常强大。几行简单的 Javascript、HTML、 CSS 代码,你就可以定制自己的插件。...官方首页推荐了 4 种不同颜色的主题,你可以在官方主题地址 https://hyper.is/themes 直接查看并安装。...这里我们将介绍的 ZSH 是我认为在类 Unix 系统下最优雅的 Shell 程序 。...perl rake-fast scw systemadmin tugboat yii boot2docker chucknorris
假设这个理解是成立的,那么运维开发工程师平时只写一些零零散散的脚本,那算得上是运维开发工程师不?笔者认为算不上,顶多就是运维工程师,运维工程师对脚本(python、shell)的开发能力是必备的。...笔者认为,应该具备打造运维工具、产品的能力,也就是全栈:运维技能+全栈开发技能=运维开发工程,而根本的目标是:研发运维领域相关工具、产品。...也是一种积极、健康的生活观、生活方式。不经历风雨怎能见彩虹? HTML 段落可以把 HTML 文档分割为若干段落。段落总是从新行开始,通常是一个文本块。... 为什么起名彩虹运维技术栈社区 彩虹象征的寓意是美好...也就是说HTML是内容,CSS是控制内容如何显示,比如颜色、字体、布局等等,实际开发中,内容和样式的控制是分离的。小栗子:改变字体颜色和大小设置 HTML 元素的样式,可以通过 style 属性完成。
当我提交提示“解释为什么人们应该购买我们的机器人真空吸尘器”时,ChatGPT 生成了一份清单,列出了该设备提供的好处。这个列表有一些问题。首先,它太长了(它有7个点,每个点是两句话)。...该工具提供了一些关于颜色选择的建议,但没有具体细节,例如实际的 HEX 颜色。我认为输出对于视觉设计师来说是一个很好的起点,并为他们提供关于他们想要使用的颜色的有力论据。...当我要求该工具为响应式登陆页面编写代码时,该工具创建了一个非常简单的响应式 Web——它同时提供了 HTML 和 CSS 源代码。编辑搜图ChatGPT 生成的响应式网页。...不幸的是,这段代码看起来不像我们可以在实际项目中使用的代码,因为它创建了一个非常基本的页面。编辑搜图在 Codepen 中使用 ChatGPT 生成的 HTML 和 CSS 代码。...GPT 是一种大型语言模型,语言翻译可能是它最早用于的实际任务之一。因此很容易假设该工具可以轻松地将页面上的文本从一种语言翻译成另一种语言。令人惊讶的是,翻译结果很一般——译文听起来有点粗糙和机械化。
上述代码是不合法的,因为 标签打开在 标签之后(因此 被认为是 的子元素),所以 必须在 元素关闭之前关闭...“HTML 5 文档类型没有提到数字 “5” 的原因是:W3C 认为以前的文档类型定义太混乱了,借机吧任何 HTML 版本的信息都给简化掉了。...Web 开发人员依靠特定的 HTML 标签来增强网页显示: 为整个 HTML 文档定义了一种字体 为它包含的文本定义字体,颜色和大小 将所有内容水平居中...因此,CSS 本身一文不值,除非与 HTML 文档相关联。 CSS 通过设置字体、颜色,定义边距、定位元素、动画交互等等,使 HTML 文档栩栩如生。 CSS 是如何工作的?...*/ p{ color: blue;} /* 类名 */ .message{ color: green;} /* id */ #introduction{ color: red;} 由于浏览器只能选择一种颜色应用于该段落
除了下划线、斜体和粗体,CSS 删除线也是通过 HTML 元素传达信息的好方法。今天,我们将看看如何在CSS或 HTML 中使用删除线(称为划线),为什么要使用它,以及什么时候不应该使用它。...什么是 CSS 删除线?CSS 删除线实际上是指“文本装饰:划线”。但它可以称为罢工,因为它的 HTML 版本是罢工。line-through 是一种文本装饰,它在文本中添加一条线以将其取消。...现在,眨眼在过去曾经非常流行,但它被认为是令人讨厌的近乎潜在的危险(对于那些有癫痫发作的人)。上划线也很少使用;它们就像下划线,但位于文本上方。其他文本装饰属性是什么?...• 文本装饰颜色。设置由 text-decoration-line 添加的线条的颜色。这些属性可以更改放置在文本上的线条、样式和颜色,例如蓝色下划线。如何使用删除线 HTML 标记?...因此,如果您需要确保您的文本在任何浏览器中都可读, 标签是一个很好的后备方案。CSS 也可用于设置删除线文本的样式。例如,您可以使线条变粗、更改颜色或使其闪烁。
有时,两种或三种颜色搭配在一起看起来很合适。我们却无法解释为什么,但我们知道这是对的。 对此,色彩理论给出了满意的答案,那就是当你知道答案时,为什么还要猜测几种颜色搭配起来看起来很好的原因呢?...色轮 虽然我们认为颜色是艺术中使用的东西,但色轮真正起源于科学;艾萨克牛顿爵士开发了第一个色轮,并于 1665 年在研究白光和反射时发表。查看下面色轮的演变。 牛顿的理论将颜色与音符联系起来。...单色:一种颜色的品种 类比:色轮上相邻的颜色 互补:色轮上彼此直接相对的颜色 三色:在色轮上均匀分布的三种颜色 拆分互补:在色轮上彼此相邻的两种互补配色方案 Tetradic:在色轮上不相邻的两种互补配色方案...其它 颜色主题中的一些术语经常被混淆,但理解它们很重要。 颜色是我们用来描述任何色调、色调、色调和色调的术语。红色是一种颜色,浅红色是一种颜色,深红色是一种颜色,依此类推。...为什么有些人在一起看起来很好,而有些人则不好,为什么有些人让你感到快乐而有些人让你感到悲伤,这背后是有原因的。您不必成为平面设计师即可掌握并运用这些知识:颜色适合所有人。
二、按钮中的css 网页中,html是骨架,css是化妆师,JavaScript是动作指导。...: 文字对齐方式,一个按钮肯定是居中会漂亮点 color:颜色,里面元素的颜色,这里为什么不设置background-color呢?...如果需要学习一下的话,看这个一个疗程就了:https://www.runoob.com/css3/css3-buttons.html 2.5、常用按钮色调 这个是我收集整理的按钮颜色表,供参考。...* { margin: 0; padding: 0; } 其二,这里就要涉及到一个盒模型的知识,一种是IE的盒模型,一种是W3C的盒模型。...是这样子的,我们知道,大部分按钮的文字颜色基本一致,但是背景颜色却各有不同,这里是找共性,所以我们不需要设置background-color,到某个具体类的时候再设置,这样子会不会更合理一些呢。
领取专属 10元无门槛券
手把手带您无忧上云