就算有,不搞清楚以前的逻辑和背景,就直接抛掉这些历史包袱是不对的。在修改别人写的代码的时候,我们需要信奉黑格尔的名言:“存在即合理”。一定要弄清楚之前这样编写代码是出于什么样的考虑。...在我视角需求是这样的:就是一个查询接口的改造,改造前代码逻辑被前人做复杂了,这次一些从下游拿数据来拼接返回值的逻辑可以改成从下游(数据基础服务)简单取部分数据,另外一部分写死。...详细方案设计在别人写的代码上做修改,做详细设计时,第一步要做的是充分评估改动影响;第二步是画流程图梳理改动前后的调用链和数据流,列出修改点;第三步是定好测试关键案例,确保结果的正确性。...HR小姐姐说不是单单问我,要问我们在场所有人一个问题:“代码都读过了,为什么有些人还对逻辑不清楚?”其中一个架构师回答到:“就是你上学的时候读鲁迅的书和现在读鲁迅的书的区别。”...其实我想说:“治学三境界了解一下”,但是想想为这句话我要解释两分钟诗词,在述职评分现场,肉眼可见的在拽,岂不是在给自己减分。所以我选择了沉默。这里自己的地盘提一嘴。
前言 在我动笔写这篇文章的时候,我刚刚从我的项目中删除了最后一行JQuery代码。至于我为何要这么做,请听闰土娓娓道来。前几年我还在想,假如有一天,前端世界里不能再直接操作dom了,我该怎么办?...那么接下来,正文从这开始~ 熟悉闰土的朋友都知道,我是从JQ时代过来的前端,在刚接触react和vue这类MVVM框架的时候,完全可以用一脸懵逼来形容我,最为贴切。...但是,这样的想法一开始就是错误的,因为你已经用了vue作为开发框架,就不能再按照jquery的思想去直接操作dom了。 当时还被笼罩在jq旧时代的我,可以说是被难住了。...而修改数据通过操作界面实现。 在写完了这个demo后,我感觉到了Vue的确有它的魅力所在。它的MVVM让业务逻辑变得更加清晰和简单。...jQuery本质上只是一个简化了的操作函数库而已,代表的是优化过的JavaScript dom操作。
「我也不知道当初是怎么决定在一起合作的。」他说。 「我们加入谷歌之前就是搭档了。」Jeff 说。 「但我记不清为什么要在一台电脑上编程,而不是在两台电脑上干活。」Sanjay 说。...在设计房子时,他发现虽然自己喜欢设计空间,但并没有耐心去完成「适合 Sanjay 的部分」:横梁的细节、螺栓以及保证整个设计不至于分崩离析。 「我不知道为什么别人不这么干——合作编程。」...Sanjay 在咖啡机旁说道。现在是八点三十二分。 在喝完卡布奇诺之后,他们走到电脑前。Jeff 将一把椅子从自己凌乱的桌子前转到 Sanjay 的桌子上,Sanjay 的桌子一尘不染。...「所以这一块代码有 120 KB,需要 8 秒的运行时间。」 「那是 120,000 个堆栈调用,不是 KB。」 「额,我是说有多少 KB 的文本。」 「哦,这样,抱歉。」...Sanjay 谨慎地说道,「不,我……」 「所以我们要忽略眼前的问题?」Jeff 生气地说道。 「不,我是说,我们正在思考眼前看到的是什么类型的问题。我们可以记个笔记,不是吗?」 「OK。」
对于 MySQL 慢 SQL 的分析 在之前的文章,我提到过 SQL 调优一般通过下面三个工具: EXPLAIN:这个是比较浅显的分析,并不会真正执行 SQL,分析出来的可能不够准确详细。...这个数据是通过采集表以及索引数据得出的,并且并不是全量采集,而是抽样采集。...这样就会造成优化器认为走主键扫描消耗最少。但是实际上并不是这样,因为这是采样的,没准后面有很多很多不是这个用户的记录,对大表尤其如此。...这也引出了一个新的可能大家也会遇到的问题,我在原有索引的基础上,加了一个复合索引(举个例子就是原来只有 idx_user_id,后来加了 idx_user_status_pay),那么原来的只按照 user_id...并且统计数据不是全量统计,是抽样统计。所以在表的数据量很大的时候,这个统计数据很难非常准确。
我的工作环境一直是Mac,Mac用于办公和程序开发的体验个人觉得是非常酷的。...于是我开始了我的捣鼓之路了~ 一、Macbook安装Elasticsearch Elasticsearch的安装和配置是支持Mac系统的,下载适配Mac的安装包即可,但是在我安装的过程中就发现了配置上存在不少与在...我碰到的差异点例如: Linux下需要修改/etc/security/limits.conf配置文件,配置文件描述符和最大线程数限制,而Mac系统却没有这个配置文件。...经过一番倒腾和资料查找,以上问题都没很好解决,我又尝试了其他的一些软件,也多多少少会有这些问题或者其他兼容性问题,于是我熄了在Mac上搭建相关软件的心。...页面查看当前的容器 4.修改环境信息 我们希望通过Docker容器进行部署环境配置,那么就要求我们的改动必须能够持久化,而不是一旦重启容器就丢失改动。
BiaoChenXuYing 前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化...如果你数据库的连接要账号和密码的,要创建数据库管理员,不然直接连接即可。 在 mongo shell 中创建管理员及数据库。...至于为什么要写这样的配置: try_files $uri $uri/ @router; location @router{ rewrite ^.*$ /index.html last;...,因为码云上可以创建免费的私有仓库,我在本地把码上传到 Gitee.com 上,再进入服务器用 git 把代码拉取下来就可以了,非常方便。...基于 node + express + mongodb 的 blog-node 项目文档说明 4. 服务器小白的我,是如何将node+mongodb项目部署在服务器上并进行性能优化的
如果你是文案工作者,你得到处跑,在不同的电脑上同步文章,学git(涉秘内容你可以选择私有仓库)。 如果你要在不同平台上发文章,觉得图片同步是个麻烦事,学git。...桌面版,自动会有个git shell (我在这里展示用的这个,比较好看,方便介绍命令。...我这里用的git shell,比较友好(但是命令都是通用的)。Git shell里面,windows和linux的常用命令都可以用!是不是很赞。 ? 打开后是一个控制台,然后就可以输入命令了 ?...注意:这个命令是克隆了一个仓库而不是简单的拷贝了文件下来,还保存了有关仓库的信息,基本就是克隆出了一个小的本地仓库。(有个.git目录) 然后可以cd进去看看 ?...用SSH连接并推送到远程仓库 如果大家是在自己的电脑上,墙裂建立大家使用这种模式!! 下面说下ssh的模式怎么用,首先你要创建一个私钥,就是在自己电脑里的钥匙。 ? ?
在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。 配置管理是服务器管理和 DevOps 的一个非常重要的方面。...Ansible 的轻量级特性与这个主题特别相关,因为我们可能不希望运行一整台服务器而只是为了自动化我们的笔记本电脑和台式机的设置。...原因是我们真的不知道我们的工作站在某一时刻的状态。也许我关闭了台式电脑,或者笔记本电脑可能会被挂起并放在我的包里。...接下来,我们需要一个 Git 仓库来保存我们的配置。满足此要求的最简单方法是在 GitHub 上创建一个空的仓库,或者如果有的话,也可以使用自己的 Git 服务器。...如果你使用的是 Red Hat 平台,你可以将其更改为 yum 而不是 apt,或者如果你正在使用 Fedora,则将其更改为 dnf。name 行只是提供有关我们任务的信息,并将显示在输出中。
本文将介绍一些技术和实践,让开发人员能够在几秒钟或几分钟内从零开始完成整个项目定制开发环境,例如: 在新员工第一天上班的笔记本电脑上; 在第二台旅行用的笔记本电脑上; 在一个设计师的工作站上,他需要在不熟悉后端技术栈的情况下...,尝试在本地跨多个内部代码库做出视觉变更; 在一个顾问的笔记本电脑上,同时托管着十几个不相关的代码库; 或者是托管在云端的共享实例中。...如果因为在开发人员的笔记本电脑上项目构建失败而导致的摩擦已经成为过去,会怎样? 如果你在洗车时感到无聊,顺便写几行代码呢? 这就是开发者体验的未来,而你现在就可以开始感受。...最终,在进行了大量的故障排除之后,发现他收到的系统更新与项目所依赖的某个库不兼容。没有人知道怎样帮助他,因为其他人的电脑上没有这个问题! 开发容器可以大大减少这种“在我的电脑上没问题”的现象。...五年后,我们会对过去认为在第一次提交代码之前花几天时间安装开发者笔记本电脑是多么正常的事情而嗤之以鼻。但你不需要等那么久,只要稍加努力,你就可以让自己和团队从开发容器中获得好处。
近年来,苹果的笔记本电脑硬件设计决策让我感到非常痛苦,因此我不打算继续在这个平台上开展个人工作了。虽然最新的硬件有所改善,但既然已经做了决定,近期内我都不打算回头了。...我的第一个选择是 Linux 桌面系统,与不稳定和可访问性问题苦苦斗争了几个月后,我承认我一直在寻找某种稳定、可靠的替代方案,我希望找到某个足够强大的解决方案,不仅能够完成工作,甚至还可以提供一些新功能...Powertoys 还有一个令我心动的附加功能是它的键盘管理器,我可以通过它将Ctrl键映射到CAPS LOCK ,这样 Ctrl 键就在我小指旁边,非常方便使用。...无论是虚拟环境、poetry,还是集成了 pipx 之类的shell 安装与管理命令行脚本工具,都可以在Windows 的 Powershell 下正常工作。...能够在商品硬件上拥有一个UNIX 环境,就好像上天赐给凡人的礼物一样。 虽然我仍然 Linux 桌面版具有非凡的潜力,但对我来说,缺乏可访问性等功能实在是无法忍受,而且也严重影响生产力。
这时我才意识到,多年来我在我收集的电脑上安装了各种Linux发行版以保持它们的服务,我已经被宠坏了。实际上,我早已摆脱了必须购买一台闪亮的新笔记本电脑的现实。...我这样做并不是因为我是个小气鬼。使用各种计算机配置让我在软件测试和为LinuxInsider撰写Linux Picks and Pans评论方面有优势。这是我在过去几十年里一直保持的。...我上一次买新的笔记本电脑,除了几款高端的Chromebook之外,是在八年前。我登陆互联网,开始通过搜索“Linux电脑”来寻找我的新数字工作伙伴。...在我搜索Linux电脑的过程中,Chromebook经常出现。但实际的Linux硬件就不是这样了。 另一个例子是联想网站。我搜索了一下Linux笔记本电脑,点击了联想Linux产品页面的链接。...因此,我新购买的Windows笔记本电脑,尽管我最终预装了Windows 10,而不是只安装了Linux,但最终还是遭到了同样的命运。没有微软的Windows系统了,你好,Linux。
尽管这样说有点伤人,但作为 JetBrains 及其工具的忠实拥趸,IntelliJ 似乎已经变得过重,无法在 2020 年初的笔记本电脑上正常运行,而这台笔记本电脑又不是很高端的产品。...但我偶然发现自己在旧编辑器之战中坚定地站在 Emacs 一边,正如我们将看到的那样。我想,有一天,我可能会跳到另一边去看看,但那一天并不会很快到来。 可能有人会问:为什么不是 VS Code?...为了回答 Emacs 是否真的更轻的问题,我实际上在一个星期六的 24 小时内截图了我的笔记本电脑的电池使用情况,当时我花了一天的大部分时间在 IntelliJ 编码,然后第二天做了同样的事情,但是使用...我之所以知道是因为笔记本电脑总是在我使用它的时候明显变慢了。像工作区切换动画这样的体验变得极其糟糕。...这些因素加在一起,让我几乎不可能继续在我的小笔记本电脑上使用 IntelliJ,或者至少让我感到真的很不舒服。 最后的感想 很长一段时间以来,我一直想写一篇关于这个问题的文章。
例如在我的电脑,这个仓库位于 /Users/michael/learngit。...,而真正的内容并没有进入版本库, History就是版本库,需要注意的是这是本地的版本库,存在于本地的电脑中,相当于你电脑上一个你的私人钱财管理员。...实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。...假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。...因为那个提交是在 dev分支上,而 master分支此刻的提交点并没有变: ? 现在,我们把 dev分支的工作成果合并到 master分支上: git merge命令用于合并指定分支到当前分支。
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。...假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。...推送本地代码到github 你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作...如果你没有修改,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。...下一步,就可以把本地库的所有内容推送到远程库上: git push -u origin master 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master
例如,某些测试操作在速度较快的集群上可能只需要 10 分钟,而在速度较慢的笔记本电脑上则有可能需要长达 20 个小时。...我现在通过最新的 Virtual Box 在 iMac 上的虚拟机 (VM) 中运行 16.04 LTS 桌面版,通过 Virtual Box 在 Mac 笔记本电脑上运行 18.04 LTS 桌面版,...您当然可以使用虚拟机进行 Kubernetes 开发,我就是这样做的,所以,如果您没有资源来构建自己的服务器,请不要灰心。...: 运行端到端 Kubernetes 测试以往通常需要配置无密码的 ssh(使用密钥而不是密码)。...但是,出于遗留的原因,Kubernetes 包被命名为 k8s.io/kubernetes,而不是您可能想到的 github.com/kubernetes/kubernetes。
搭建Hexo博客-第5章-一些我用到的小技巧 这大概是这组博客地最后一篇文章了,在这篇文章里,我想和大家分享一些我写博客时用到的小技巧。...Vs Code 我用的编辑器是 Vs Code ,这里有一些常用的小技巧。...点击 查看 -> 终端,就可以调出 git bash 了。 在 Vs Code 的 bash 里第一次向服务器部署时,可能会看到这样的错误。...按图步骤可安装插件 markdownlint ,这个插件可以帮助我们纠正 MarkDown 文档中的格式错误。 GitHub 和 Coding 博客只能在自己的电脑上编辑吗?...当然不是,我们使用的 GitHub ,它能够支持多人协作,当然可以在其他地方同步编辑。记得我在第一篇文章里提到 GitHub 的分支吗?现在我就来教你如何使用它实现同步编辑。
而分布式版本控制器没有中央服务器的概念,每个人电脑上的数据都是一个版本库,大家都可以做自己的修改,最后再比对修改即可。 Git 流行的另一个原因就是它是分布式的,非常易于多人协作。...这样以后使用方便,剩下的一路 Next 下去就好了。 在实际应用中,一般不会在两台电脑之间通过局域网传输版本库,我们会使用一个集中的平台同步更改,这个集中的平台就是 GitHub 。...你可以通过点击 Read the guide 当中的 Hello World 项目来了解 GitHub 的用法。 首先是绑定本地 Git。在桌面上单击鼠标右键,选择 Git Bash Here。...如果你是第一次使用 pull 、 push 、 clone 这些命令,可能会看到这样的警告 这是由于电脑第一次用 SSH 协议连接 GitHub 时需要确认 Key 的指纹信息真的来自于 GitHub...其实 Coding 并不只是国内的 GitHub 那么简单,它的目标更远大,具体可以看这篇文章 为什么 Coding 不是中国的 Github,但我们目前只需要用它来托管博客,所以把 Coding 和
在很多情况下,在笔记本电脑或工作站上运行一个Jupyter Notebook就足够了。然而,如果您正在处理大型数据集、执行计算开销较大的数据处理或学习复杂模型,您可能需要比笔记本电脑更强大的额外功能。...如果您的远程服务器具有图形用户界面(GUI),那么您就很幸运了。您可以使用远程桌面软件来访问远程服务器,或者像您的笔记本电脑一样使用Jupyter Notebook。 但是,许多服务器没有GUI。...如果处于这种情况,可以通过在笔记本电脑上编写一个python脚本来设置实验,在数据的一小部分上运行它来验证它是否可以运行,将它复制到远程服务器,然后从命令行执行它。...在我的例子中,我与其他没有在共享环境中安装Jupyter的人共享一个远程服务器。因此,我的第一步是转到我的项目文件夹,激活虚拟环境,并启动notebook服务器。...;而不是换行。
为了修复这个bug,我不得不深挖Git的历史,才找出26年前Guido van Rossum (龟叔,Python创立者) 所做的一处更改。那个时候,线程还是很深奥的东西。 我的故事是这样的。...我成功地重现了我电脑上的错误,并且为PyGILState_Ensure()写了一个修复程序。 一年后,2017年11月,卡辛斯基问道: 此修复发布了吗? 我在更新日志中找不到......也许是我太害羞,或者羞于承担导致性能退步的责任。 在圣诞节假期之前,我没有做任何决定,而test_embed.test_bpo20891()在macOS buildbots上仍然是随机失败。...我使用了CPU隔离,在我的笔记本电脑上手动运行这些基准测试: vstinner@apu$ python3 -m perf compare_to ref.json patch.json --table Not...当一个C线程开始使用Python API时,在创建GIL时就可以发现这样的Bug。 我推出了第一个修复程序,但在macOS上发现了一个新的不同的竞态条件。
就在前不久coolstar大佬发布了chimera1n的脚本 咱也不是大佬,只能在危险的边缘试探 只有无限接近死亡才会知道怎么操作 小声bb:今天我自己都不知道rootfs了几次了 因为coolstar...执行更新,成功: brew update 最后用这个命令检查无错误: brew doctor 这样海外和已经有系统全局代理设置的朋友们就可以直接使用 brew 命令安装软件了。...接着换源: 直接使用 Homebrew 还需要更改默认源,不然谁用谁想打人,原因你懂的。以下是将默认源替换为国内 USTC 源的方法。...| bash 命令执行完会自动注销,,注销完毕桌面就可以看到熟悉的sileo了 首先刷新下源地址,然后更新一下提示更新的依赖, 搜索libhook,安装 然后重启设备,重新引导越狱,不要问为什么,...没有为什么 然后就可以愉快的玩耍了 写在最后 本篇教程部分内容来源于网络,如有侵权,请联系我删除
领取专属 10元无门槛券
手把手带您无忧上云