这种似乎失控的编码方式,让我想到了邪恶的“GoTo”语法,很多编程语言里都有它, 但是都不建议你用它。因为邪恶的不是GoTo本身,而是滥用GoTo的我们。...题眼基本表达了我的论点,随着本文的深入会对该论点做加一个约束条件。现在容我开始论证它~ 都说抛异常很重,到底重在哪里? 不整虚的,我们用测试数据来说话。...当接口应答只是true/false的时候,抛异常会是个很匪夷所思的设计; 当下层方法不断的抛出各种异常,然后汇总到拦截器里处理时,或者需要对异常拆开做判断,再自定义成合理的应答话术;或者将好不容易区分开的不同异常...我的态度 任何的系统架构设计,都是在不断的在做天人交战,利弊权衡。鲜有绝对的对与错,只有在当前组织环境内相对的合理与不合理。对于异常用作流程控制这件事,我是投反对票。
“我”为什么做测试 本篇所指的“我”,其实不光是作者本人,而是大多数从业软件测试的人员。 什么是测试?其实关于测试的名词解释,作者不再进行阐述。...用最简短的话来描述测试,就是发现软件缺陷,并验证功能可用。 为什么做测试?...也有之前是做产品的、售前的、人力的、客服的、运维的、会计的等等。而且只要把测试理论和用例编写等一些必要的知识点掌握了,还是很好转成测试的,这也就是大家所认为的点点点就行。...,如何做的等。...本篇其实没有所谓的指导思想,看似说了一些,但好像什么都没有说,只是单纯的聊聊一些感受,也是想让同行反思一下,为什么要做测试,如何让自己的测试职业发展更好。为什么说如何让自己发展更好?
C++11标准出来之前,你返回个对象心里都惴惴不安,怕new之后忘了delete,怕内存泄漏,怕影响效率什么的。现在C++11,14标准出来以后,写代码没有那么痛苦了,跟写脚本差不多了。...什么rvo copy ellision,各种优化过程都成为标准了,返回对象根本不是问题。还有智能指针加持,一般都很难写出内存泄露的代码来。就拿occt来说,通篇都找不到一个指针操作。...C++你可以写得很精细注重效率,也可以用各种库搞得糙快猛,这就很难得了。尤其是还有Qt等第三方工具的助力,开发效率刚刚的。...并且C++嵌入python,就能用python做二次开发,嵌入js ,就能用js做开发。你就是图个方便!...工业软件就没人用C#,写界面不能跨平台,写求解器更是难做(C++的数值计算库很多)。写云服务又不是主流,只能干一点那种工厂的数据监控 ,采集,一点可视化了。这都是绑在win下用的。
Redis监控体系应该细化到什么程度? 为什么使用ELK构建监控体系?...解决方案 为什么会选择Elastic-Stack技术栈呢?...Q2:直播中讲到的大key,hash要改成什么?分片吗?...A:1、没有深度使用过MongoDB;2、基于Elastic-Stack做慢查询报表平台思路与Redis一样的,不管什么指标+日志全部都采集到ES完事。...Q9:如果公司缺乏足够的人力物力,是用ES、Prometheus还是Zabbix做监控比较适合呢?能分别说一下它们各自最适用的情况吗?
这里大学的信息可以从中国大学 MOOC这里抓取: 我们用 puppeteer 来爬取大学的校徽、名字、介绍,然后用这些信息来生成 pdf 等。...}); await browser.close(); cache = universityList; return universityList; } } 这里用...SSE(server sent event) 的方式返回数据: SSE 类似这样用: 改下 AppController @Sse('list') async universityList() {...接下来生成 ppt,用 pptxgenjs 这个包。 用法很简单: new 一个实例,添加一个 Slide,然后添加 text image 等内容,最后写入文件。...://github.com/QuarkGluonPlasma/nestjs-course-code/tree/main/ppt-generate 总结 我们使用 puppeteer 抓取了大学的信息,用
这就是为什么我们为你找来了这些最好的笔记工具。快来看看——你会爱上它们的,同样欢迎在留言区评论你最喜爱的笔记软件! 1....所以既然Quiver如此牛,为什么将它列在第三位呢?因为它只能在Mac上使用。虽然Mac是相當不錯的编程环境,但大多数编码器仍然在Windows或Linux上。我们认为这是相当负面的影响。 4....是什么让它看起来像维基呢?主要是因为可以在整个笔记本中插入链接,跳转到其他页面。 ?...MarkdownEditing为你提供了用markdown语法记笔记的途径。 ? Sublime Text理论上要花上你70美元,但免费期其实永远不会结束。
用过很多云笔记软件,后来我发现还是 Typora 适合我。...于是我买了阿里云的 OSS 来做图床。OSS 是面向对象存储服务,其实就是一个可以提供任何资源存储的服务,我们的图片就是一种资源。...用 Github。Github 是一个代码托管平台,但不仅仅可以托管代码,还可以托管其他任何文件,你可以把它当网盘用。以前还可以用 Gitee 的,但因为国内环境,不太建议。...对于普通用户,可能还是市面上现成的云笔记方案更好,也不是所有人都喜欢用 Markdown。这里只是提供一种实现方案。...另外,我建议你尽量不要选择国产笔记软件,你的笔记内容可能会因为一些特殊的原因丢失或锁定。
作者:牧小熊,华中农业大学,Datawhale成员 最近有同学和我说《觉醒年代》好好看,于是我后知后觉地查了一下,不查不知道,这部剧豆瓣评分9.3,微博讨论度26亿+。《觉醒年代》都是哪些人在看?...通过分析我看可以看到,微博讨论用户群中女性占比达到80.25%。...在开始做词云之前,要先删除停顿词,停顿词往往没有有效的含义还会占据大量位置,影响词云的效果。
2.2 基本原理 看到这里可能会有小伙伴问了:如果我想识别别的图片该怎么改?可以支持视频和摄像头吗?实际应用中应该怎么修改YOLOv5的代码呢?...这里我用了YOLOv5官方给的推理模型,其中包含很多类别,大家也可以自己训练一个只有“人”这一类别的模型,详细过程可以参考: 在识别出物体坐标后输入emotic模型就可以得到对应的情感,即 pred_cat..., pred_cont = inference_emotic(im0, (int(xyxy[0]), int(xyxy[1]), int(xyxy[2]), int(xyxy[3]))) 这里我将原来的图片可视化做了些改变...下面的网络负责提取图像背景特征,预训练模型用的是场景分类模型places365,输入是 的彩色图片,输出同样是是512个 的特征图。
上周我整理了一篇 学了 Python 能用来做什么?,介绍了下 Python 当下的一些应用场景,给打算学习或刚学习此语言的同学一个参考。当然也有人说这个内容太水了,甚至觉得我是抄来的。...其实那篇文章本是个引子,主要是我想回顾下自己用 Python 做过的事情。后来发现内容太多就拆成了两篇。今天就来分享下我自己的 Python 开发经历。(这不会再有人说是网上抄来的吧。)...网站后台 做项目是最快的学习方式。我比较幸运,在还不会 Python 的时候就接到了一个兼职项目:和同学一起开发一个文书翻译网站。...期间我和另一位 ACM 班的学弟用11天就开发了一个完整的网站产品。 ? 一个小众的项目,或许有同学还知道 2. 游戏后台 这是我主导技术开发的一个创业项目。...放个摄像头意思一下 在大约十年前,我在学校的时候,做了一个基于摄像头的动作识别系统,当时是用的 C++。
书接上文:当我做 hackathon 时我在做什么(1)。 前文中提到,我做的第二个项目是个可视化的项目,名字叫 deneb。deneb 是天鹅座的一等星,也是夏季大三角和北十字两个星群的端点之一。...嗯,deneb - vega - altair,聪明的你一定想到了我为什么起这样一个名字: ? 为什么是 vega-lite? 在数据可视化这块,我自己走了不少弯路。...如果你需要能够对可视化的图表做简单的动画,plotly 也能胜任。 我一度以为 plotly 是我的真命天子,直到有一天我敲开了 altair [4] 这个潘多拉魔盒。...他觉得我们在做数据分析的时候,更多是一种探索,而分类是反探索的,因为当你用某种类型的图表来表达数据的时候,你已经对如何分析数据有了先入为主的看法。 那么什么是图表呢?...vega-lite 主要有这样几种对象: mark:这是属于 Geometric Objects 范畴的东西,就是你用什么图形来表述数据。比如 "bar"。
所以你用 WordPress,有人鄙视你,很正常的事情,他别的事情做不好,总要在一些奇怪的点去找优越感,我还曾经碰到过,问我用什么语言和数据库,因为我只会 WordPress,所以我说 PHP+MySQL...当然一个人最好不要有什么优越感,会蒙蔽你的双眼,如果你非要有,最好是基于自己的能力的优越感,而不是基于自己的环境和使用的工具,比如摄影师,他们得到认可是基于他们的摄影作品,而不是用的摄影器材是最贵的这些表面的东西...所以如果你用 WordPress 来写博客,能不能把写博客这件事情解决好,如果能,那就是最好的事情,别人鄙夷不鄙夷,又有什么重要呢?...我觉得我比那些还停留在嘴炮上 WordPress 代码不行,不够优雅的人,然后并没有什么真实输出的人,极客和摇滚多了。...WordPress 不仅可以做博客,还可以建企业站点,如果你和我一样深入使用,你会发现它几乎无所不能,具体可以看看我这里罗列的案例。
/bin/sh -c #(nop) ADD file:b3ebbe8bd304723d4… 204MB 总结来看,就是直接把文件追加到容器里面,然后一个CMD里面加了个bash,至于这个文件里面有什么内容呢...其次我们可以分析那些中间件镜像是如何做的。...然后其他中间件镜像,是不是可以在这个操作系统镜像基础上接着做呢?...2.这个是虚拟机生成的镜像,所以和标准的Centos7.9(200M)的差距还是很大的,当然我这个操作系统里面自带的东西也比标准的镜像更多。...制作中间件镜像 只要找到了对应的物料,也可以用同样的方法制作,但是这个物料可能不好找,参数由于Docker命令的限制也无法看到完整的,就不容易完全复刻官方的镜像,只能根据自己的实际情况来配置。
我本来计划为 quenya 项目支持 GRPC backend,之前已经有了思路,但一直没时间做。...当我写到 groupby_apply 时,我发现:额错了,额真滴错了。...这是个非常合理的需求,然而 rustler 并不允许我这么做。...(s_eq_u8, u8, eq); 然而,rust 编译器又一次让我撞墙。编译器给出的错误信息不够直白,说的净是那些什么 TokenStream 啦,什么 Group 啦,之乎者也让人看不懂的错误。...我这辈子也没写过这么多无趣的代码。什么 TMD 叫搬砖,这 TMD 就叫 TMD 搬砖。
我的方法论 清晰可见的目标 我喜欢在做一件事情前把目标能够表达清楚,然后脑海里有一个当我成功达到后这东西该长什么样的草图。...我在开工的同时,准备好了 demo 要用的 slides 和 Jupyter Notebook,我用 Marp 做 slides,在 vscode 里安装了 Marp 和 Jupyter 的插件,这样,...excalidraw 在 vscode 里也有对应的插件,但似乎没那么好用,所以我一直都还是用 web 版本。 为什么说它好用呢?...比如我做的这个: ? 工具本身并没有限制我。...其实像 excalidraw 这样的好工具反而能解放我的大脑,因为我不再需要焦虑用什么样的图形才能更好地表达(使用 visio 或者类似工具时我总有类似焦虑),我也不再需要焦虑该为图形配什么样的颜色,因为
我记得我问,“你在玩什么游戏?” “我还没给它起过什么名字呢,”他回答。我不明白他的意思。 他为什么要叫它什么呢?然后他解释说,这是他自己用BASIC语言写的。 我的大脑爆炸。...我喜欢电脑游戏,但我不知道人们可以自己开发游戏。还没等我反应过来,我朋友的爸爸就开始教我如何用BASIC编程了,于是我开始用磁带建立自己的软件库。 几年后,我发现这个人以写软件为生。...他告诉我,除了经济上的回报,工作不需要提供任何东西,我的经历也证实了他的观点。 我的雇主在推销产品,让股东和董事会成员满意。这就是世界的方式。为更大的善做贡献是你在业余时间或退休后做的事。...在SysDig帮助其他使用Kubernetes集群和容器化DevOps的程序员 从TRS-80上用BASIC语言编写程序,到使用Kubernetes与基于云的容器化DevOps环境一起工作,这是一条漫长的道路...问问你能做什么。 我绕了一圈。这个从火箭科学家那里学会了编程的男孩现在是一名高级软件工程师,他正在帮助年轻人学习编程的诀窍,以便他们能够挑战计算机科学的边界。
地理信息的GEO与AI搜索的GEO不同 提到GEO,很多人会想到地理优化,不过今天我们要聊的GEO,不是CEO哈,别搞错了。...结合目前生成式引擎的特性,我总结了5个可落地的GEO技巧,覆盖从内容创作到技术优化的全流程。 技巧1 预训练思维创作内容 生成式AI的知识来自预训练数据。...结构化数据是一种机器可读的代码,能明确告诉AI这是什么内容。 自然语言标签是在内容中用自然语言强调关键信息,比如核心结论、数据来源、注意事项。...操作步骤 用AI挖掘长尾意图 在内容中设置补充信息模块 用FAQ页面聚合长尾问题 技巧5 监测AI引用数据 传统SEO用排名、流量、转化率衡量效果,GEO需要新的指标,AI引用次数、引用位置、内容完整度...挑战1 你永远不知道AI为什么选了它 生成式AI的内容选择机制是黑箱,它不会告诉你为什么引用A而不是B,也不会公开具体的权重规则。
GitLab CI/CD 通过这样做: 运行自动化脚本(串行或并行) 代码Review并获得批准 构建并测试你的应用 就像在你本机中看到的那样,使用Review Apps预览每个合并请求的更改 代码Review...Package 用Container Registry存储Docker镜像 用NPM Registry存储NPM包 用Maven Repository存储Maven artifacts 用Conan Repository...GitLab CI/CD 快速开始 .gitlab-ci.yml文件告诉GitLab Runner要做什么。...创建一个 .gitlab-ci.yml 文件 通过配置.gitlab-ci.yml文件来告诉CI要对你的项目做什么。它位于仓库的根目录下。...部署应用 到目前为止,你应该看到管道正在运行,但是它到底在运行什么呢? 管道内部分为4个阶段,我们可以查看每个阶段有几个作业在运行,如下图: 构建 -> 测试 -> 部署 -> 性能测试 ?
GitLab CI/CD 通过这样做: 运行自动化脚本(串行或并行) 代码Review并获得批准 构建并测试你的应用 就像在你本机中看到的那样,使用 Review Apps 预览每个合并请求的更改 代码...Review Apps 部署更改,以预览每个分支上的应用程序更改 Package: 用 Container Registry 存储 Docker 镜像 用 NPM Registry 存储 NPM 包 用...pipelines 使用安全测试报告(Security Test reports)检查应用程序漏洞 GitLab CI/CD 快速开始 .gitlab-ci.yml 文件告诉 GitLab Runner 要做什么...创建一个 .gitlab-ci.yml 文件 通过配置 .gitlab-ci.yml 文件来告诉 CI 要对你的项目做什么。它位于仓库的根目录下。...[外链图片转存中…(img-0qKffSoF-1610462909583)] 部署应用 到目前为止,你应该看到管道正在运行,但是它到底在运行什么呢?
二、编写页面 首先我先确定好用什么框架写这个系统,效率会高很多。在layui和bootstrap中我选择了后者,因为后者的界面我更喜欢,大家也可以使用自己喜欢的框架编写。...另外,这些参数我们需要告诉GPT并让其判断使用什么类型的数据去储存它,以免调用或储存时出错。...> 查看以上代码就知道,我使用的是比较简单的哈希加密。 本来没想着加密,我想着有些人可能会输入一些比较隐私的密码,比如银行卡密码、QQ密码或者各种个人常用密码做登录密码,这样会导致密码泄露。...管理页面 现在我们还缺一个管理系统,本来我没想着做的,但是在测试系统时发了很多垃圾内容,想着清理掉,弄个管理页面方便些,也想着后期管理用户和消息很清晰,就做了。...管理入口我用同样的方式,在前端加了这个按钮,然后整体排版了下。 ? 因为这个项目只是为了测试GPT能力,所以以上管理页面的加密功能并不能完全保证安全性,仅供参考。