首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RxJava 容易忽视细节: subscribeOn() 方法没有按照预期地运行

此时 RxJava 没有改变线程,是因为 subscribeOn() 方法已经完成了工作,订阅已经在其他线程上进行了。这时,没有理由 RxJava 会再次更改线程。所以,会看到上述运行结果。 二....当我们 subject 发射第一个值时,第一个观察者已经被订阅。由于订阅代码在我们调用 onNext() 时已经完成,因此订阅调度程序没有任何作用。...在这种情况下,当我们调用 onNext() 它类似于 PublishSubject 工作方式。 第二和第三个观察者都在初始 onNext() 之后订阅。...所有后续发射值都发生在订阅之后,因此,值再次与 onNext() 在同一线程上发出,类似于 PublishSubject 工作方式。...本文介绍了几种方式,RxJava 即使调用了 subscribeOn() 方法,线程切换也不会起作用。任何细微使用线程切换地方,都需要非常注意。

1.7K10

某个crontab定时任务没有按照我们预期执行,我们要如何进行故障排查

某个crontab定时任务没有按照我们预期执行,我们要做故障排查步骤如下:查看日志:首先,查看crontab执行相关日志,可以使用命令 grep CRON /var/log/syslog 来查看...cron日志记录。...如果没有找到相关日志,可以尝试查看 /var/log/cron 或 /var/log/messages。检查crontab文件:检查crontab文件路径和内容是否正确。...cron任务执行时间依赖于系统时间,因此如果服务器时间错误,可能会导致cron任务未按预期执行。检查其他系统资源:确认系统资源是否足够。...如果服务器CPU、内存或磁盘空间资源不足,可能会导致cron任务未能正常执行。日志调试:在crontab中增加输出日志,以便更详细地了解任务执行情况。

67381
您找到你想要的搜索结果了吗?
是的
没有找到

Git 工作正确打开方式

前言 一直在使用git做版本控制,也一直工作很顺利,直到和别人发生冲突时候。这才注意到git 工作流并不是那么简单。比如,之前遇到清理历史。...学习git工作流 1....但我们应该知道使用revert而不是reset. 但revert只能回滚指定commit,或者连续commit,而且revert不能revert merge操作。...2.10 新merge方式: rebase 通过开始普通流程发现,每次merge时候,都会多出一条新提交信息,这让历史看起来很奇怪。...按照前几次做法,E和F交叉在本地提交,每次commit时间戳也是交叉,最终合并到master时候,历史并没有被拆散。而是像我们期待一样,顺序下来。这才是我们想要

1.7K61

工作中是如何使用Git

本文首发于政采云前端团队博客:工作中是如何使用 Git https://www.zoo.team/article/how-to-use-git image.png 前言 最近在网上有个真实发生案例比较火...莫慌,按照下面四个步骤走,保证你可以顺利使用 Git 进行拉取代码! 下载 Git 下载地址 (https://git-scm.com/downloads) ,选择自己系统对应版本下载即可。...,Revert 开头,后面跟撤回 commit-msg 信息之前 commit 记录并没有消失,此时也达到了代码回退效果 ?...回滚我们提交有二种方式,一种是上文提到git revert命令外,还可以使用 git reset 命令,那么它们两者有什么区别呢?...目前我们工作区是很干净没有任何修改操作,此时,修改一下代码再次查看状态,可以看到,1.js 这个文件被修改了。 ?

1.7K30

PowerBI中命名规范——“没有人比我更懂命名方式……”

千万不要说:“没有人比我更懂度量值命名方式……” ? 其实呢,这种数据集一般还都工作得很好,通常也是由专业 BI 开发人员构建,但这些命名方式,简直是今后维护中噩梦。...从最开始学习并使用PowerBI,就受困于这个问题,其实一直到现在都并没有真正实践最优命名方式,几年之前使用数据库时面对问题,如今在powerbi中仍然遇到。...所以我个人建议是在搭建模型最初就想好命名方式,并将其作为一个贯穿始终重要工作。...觉得可以从以下这几个方面出发: 按照人类正常逻辑能够读懂词语,而不是任何类型技术命名或者自创简写命名,尽量写全单词,单词之间用空格。...如果你命名方式并不规范,那么你在视觉对象中使用这些列和度量值时必须重命名列和度量值,你一定懂在说什么,想想浪费了多少时间吧。 说差不多了。

1.7K20

你可能会忽略 Git 提交规范

Git Commit 规范可能并没有那么夸张,但如果你在版本回退时候看到一大段糟心 Commit,恐怕会懊恼不已吧。所以,严格遵守规范,利人利己。...git reflog—— 显示本地代码库 HEAD 更改日志。这个命令很适合查找丢失工作。 用 Git 进行检查并不麻烦。相比之下,Git 中有不少删除和撤销提交以及文件改动操作。...git reset 和 git checkout 既可用于提交也可用于单个文件修改,而 git revert 只能用在提交层面。...如果你只需要处理尚未合并到协作远程工作本地提交,你可以使用这三者中任何一条命令。如果是协同工作且需要撤销远程分支中提交,那么就用 git revert。...git revert my commit—— 撤销 my_commit 中更改。 当用 revert 撤销改动时,它会产生新提交。

43610

珍藏多年 Git 问题和操作清单

git revert commit git revert是提交一个新版本,将需要revert版本内容再反向修改回去, 版本会递增,不影响之前提交内容 `git revert` 和 `git reset...git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新commit内容和要revert内容正好相反,能够抵消要被revert内容。...而按照 Git 默认策略,如果远程分支和本地分支之间提交线图有分叉的话(即不是 fast-forwarded),Git 会执行一次 merge 操作,因此产生一次没意义提交记录,从而造成了像上图那样混乱...不过,如果你对使用 git 还不是十分熟练的话,建议是 git pull --rebase多练习几次之后再使用,因为 rebase 在 git 中,算得上是『危险行为』。...另外,还需注意是,使用 git pull --rebase比直接 pull 容易导致冲突产生,如果预期冲突比较多的话,建议还是直接 pull。

60220

珍藏多年 Git 问题和操作清单

git revert commit git revert是提交一个新版本,将需要revert版本内容再反向修改回去, 版本会递增,不影响之前提交内容 `git revert` 和 `git reset...git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新commit内容和要revert内容正好相反,能够抵消要被revert内容。...而按照 Git 默认策略,如果远程分支和本地分支之间提交线图有分叉的话(即不是 fast-forwarded),Git 会执行一次 merge 操作,因此产生一次没意义提交记录,从而造成了像上图那样混乱...不过,如果你对使用 git 还不是十分熟练的话,建议是 git pull --rebase多练习几次之后再使用,因为 rebase 在 git 中,算得上是『危险行为』。...另外,还需注意是,使用 git pull --rebase比直接 pull 容易导致冲突产生,如果预期冲突比较多的话,建议还是直接 pull。

1.3K21

IDEA 中如何完成 Git 版本回退?

基于命令行 1.1 工作代码想撤销 可能有一天正在写代码,写了很久发现写错了,想恢复到一开始状态,一个笨办法就是把刚刚写代码一行一行删除,不过这种方式成本太高,我们可以通过git checkout...git status 命令,此时工作状态已经发生变化,然后我们执行了 git checkout -- git01.txt 命令,表示撤销之前操作,让 git01.txt 恢复到之前状态,该命令执行成功之后...2.1 未提交就撤销 对于第一小节前两种撤销操作,即修改文件还没 commit,此时想要撤销,方式很简单,点击 IDEA 右上角撤销按钮: 如果你修改了文件,无论有没有执行 git add 命令...电脑上 IDEA 在这块操作中有个偶发性问题,就是撤销掉 commit 之后,IDEA 检测不到文件处于未提交状态,需要把 IDEA 关掉重新打开,IDEA 就能发现文件处于未提交状态了,此时就可以按照...操作方式如下: 找到需要回滚地方,右键单击,选择 Revert Commit: 此时会弹出来一个提交对话框,就是一个普普通通 commit 对话框,如下: commit 之后,可以看到内容已经撤销了

2.2K30

这才是真正 Git——分支合并

或许只是你预期不对。本文通过讲解三向合并和 Git 合并策略,step by step 介绍 Git 是怎么做一个合并,让大家对 Git 合并结果有一个准确预期,并且避免发生合并事故。...他又得重新做了一下 revert,并且迷茫怀疑是 Git bug。...如下图 很明显答案是不能,如上图例子,Git 没法确定这一行代码是修改,还是对方修改,或者之前就没有这行代码,是我们俩同时新增。此时 Git 没办法帮我们做自动合并。...(这句话理解需要这篇文章基础知识) 对于合并时候要使用 git merge 还是 git rebase 争论,个人看法是没有银弹,根据团队和项目习惯选择就可以。...这个例子理解原理之后解决方法有很多,这里简单带过两个方法:1. revert 节点 E'之后,此时 dev 分支要抛弃删除掉,重新从 E'节点拉出分支继续工作,而不是在原 dev 分支上继续开发节点

1.4K30

Git 命令 reset 和 revert 区别

id 来标识工作变更与改动。...实践出真理 为了直接明白了解其原理,这里在 github 上创建一个空白仓库,按照上图创建三次提交: commit b0ef8f9125226af8f06ff1aba7c1f1fc83adea9b...,目前我们是使用 git reset --hard 方式,其实这里存在着三种方式,TODO 下一篇 git 操作讲一下。.../demo.git + b98f95e...6b166ed master -> master (forced update) github 此时我们可以看到远程也没有了我们之前提交三次记录而是只有第一次提交记录...总结 git reset和git revert都是属于重新恢复工作区以及远程提交方式,但这两种操作有着截然不同结果: git reset是将之前提交记录全部抹去,将 HEAD 指向自己重置提交记录

2.9K51

Git 如何优雅地回退代码

前言 从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂操作没有使用过...出来混总是要还,前些天就遇到了 Git 里一种十分糟心场景,并为之前没有深入理解 Git 命令付出了一下午时间代价。...”利益于”我们不太干净提交记录,要完成从 C 版本到 N 版本 revert需要倒序执行 revert 操作几十次,如果其中顺序错了一次,最终结果可能就是不对。...遗憾是,当天没有理解到 rebase 这种思想,又由于试了几个方法都不行太过于慌乱,在 rebase 完成后,向主分支合并被拒之后对这些方式可行性产生了怀疑,又加上有同事提出听起来更可行方式...为了让五个小时不白费,复盘一下当时场景,学习并总结一下四种代码回退方式revert 适合需要回退历史提交不多,且无合并冲突情景。

92710

Git 如何优雅地回退代码

前言 ---- 从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂操作没有使用过...出来混总是要还,前些天就遇到了 Git 里一种十分糟心场景,并为之前没有深入理解 Git 命令付出了一下午时间代价。...利益于”我们不太干净提交记录,要完成从 C 版本到 N 版本 revert需要倒序执行 revert 操作几十次,如果其中顺序错了一次,最终结果可能就是不对。...遗憾是,当天没有理解到 rebase 这种思想,又由于试了几个方法都不行太过于慌乱,在 rebase 完成后,向主分支合并被拒之后对这些方式可行性产生了怀疑,又加上有同事提出听起来更可行方式...为了让五个小时不白费,复盘一下当时场景,学习并总结一下四种代码回退方式revert 适合需要回退历史提交不多,且无合并冲突情景。

78840

Git 这样回退代码,才足够优雅

出来混总是要还,前些天就遇到了 Git 里一种十分糟心场景,并为之前没有深入理解 Git 命令付出了一下午时间代价。...利益于” 我们不太干净提交记录,要完成从 C 版本到 N 版本 revert需要倒序执行 revert 操作几十次,如果其中顺序错了一次,最终结果可能就是不对。...遗憾是,当天没有理解到 rebase 这种思想,又由于试了几个方法都不行太过于慌乱,在 rebase 完成后,向主分支合并被拒之后对这些方式可行性产生了怀疑,又加上有同事提出听起来更可行方式...在从文件管理系统内,将 bak 文件夹下 除了 .git 文件夹下所有内容复制粘贴到原项目目录下。git 会纯从文件级别识别到变更,然后更新工作区。...为了让五个小时不白费,复盘一下当时场景,学习并总结一下四种代码回退方式revert 适合需要回退历史提交不多,且无合并冲突情景。

86350

【工具箱】GIT使用场景

在使用Git时,就处于这种知其然而不知其所以然状态。现在,再来补补课。...Git并不保存文件前后变化差异数据,更像是把变化文件做一个快照,然后记录在一个微型文件系统中。每次提交更新时,会比较这个快照。若文件没有变化,Git则只对上次保存快照作一个链接。...然而,这并不足以说明一个文件在不同工作区域所展现状态。认为两种状态足以表达Git文件,即:未跟踪(Untracked)和已跟踪(Tracked)。...例如: git commit -m "first commit" 有时候,我们希望取消已暂存文件。例如说,工作目录中增加了两个文件,然后暂存了它们。...由于Git提交记录是由HEAD指针指向当前分支。重置就是搬动这个指针到指定snapshot。如果说revert是一种安全撤销方式,则reset就是一种危险撤销方式

66940

是如何做到:不切换 Git 分支,同时在多个分支上工作

git stash | git stash pop 暂存工作内容,然后再切换到 hotfix 第二种方式较第一种还好很多,可是面对下面这些场景,stash 依旧不是很好解决方案 我们面对场景 正在...: 用简单的话来解释 git-worktree 作用就是: 仅需维护一个 repo,又可以同时在多个 branch 上工作,互不影响 上面红色框线命令有很多,我们常用其实只有下面这四个:  git.../JIRAID-Title, hotfix/JIRAID-Title, 如果仅仅按照上面命令新建 worktree,分支名称中 / 会被当成文件目录来处理 git worktree add .....文件是没有,为了保持清洁,我们还需要进一步清理 git worktree prune 这个命令就是清洁兜底操作,可以让我们工作始终保持整洁 总结 到这里,你应该理解,整个 git-worktree...只维护一个 repo,创建多个 worktree,操作间行云流水 实践:通常使用 git worktree,我会统一目录结构,比如 feature 目录下存放所有 feature worktree

1.3K20

Git 不要只会 pull 和 push,学学这 5 条提高效率命令(下)

使用git作为代码版本管理,早已是现在开发者必备技能,但是大多数开发者还是只会最基本保存,拉去,推送,遇到一些commit管理问题就束手无策,或者用一些不优雅方式解决。...下面分享一些在开发工作中实践过实用命令,这些都能够大大提交工作效率,还能解决不少疑难场景。...revert描述:给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交,这就要求你工作树是干净没有来自头部修改)。将现有的提交还原,恢复提交内容,并生成一条还原记录。...revert合并提交后,再次合并分支会失效还是上面的场景,在master分支revert合并提交后,然后切到v2.0分支修复好bug,再合并到master分支时,会发现之前被revert修改内容没有重新合并进来...设置git短命令对于我这种喜欢桥命令行而不用图形化工具爱好者来说,设置短命令可以很好提高效率,下面介绍两种设置短命令方式

34720

Git 不能只会 pull 和 push,试试这5条提高效率命令吧!

可大多数工程师还是只会最基本保存、拉取、推送,遇到一些commit管理问题就束手无策,或者用一些不优雅方式解决。 本文分享在开发工作中实践过实用命令。...该命令将保存本地修改,并恢复工作目录以匹配头部提交。 stash 命令能够将还未 commit 代码存起来,让你工作目录变得干净。 应用场景 猜你心里一定在想:为什么要变干净?...cherry-pick 描述 给定一个或多个现有提交,应用每个提交引入更改,为每个提交记录一个新提交。这需要您工作树清洁(没有从头提交修改)。...revert 描述 给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交。这就要求你工作树是干净没有来自头部修改)。...设置 Git 短命令 对这种喜欢敲命令而不用图形化工具爱好者来说,设置短命令可以很好提高效率。下面介绍两种设置短命令方式

37940

Git 不能只会 pull 和 push,试试这5条提高效率命令吧!

可大多数工程师还是只会最基本保存、拉取、推送,遇到一些commit管理问题就束手无策,或者用一些不优雅方式解决。 本文分享在开发工作中实践过实用命令。...stash 命令能够将还未 commit 代码存起来,让你工作目录变得干净。 应用场景 猜你心里一定在想:为什么要变干净?...cherry-pick 描述 给定一个或多个现有提交,应用每个提交引入更改,为每个提交记录一个新提交。这需要您工作树清洁(没有从头提交修改)。...revert 描述 给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交。这就要求你工作树是干净没有来自头部修改)。...设置 Git 短命令 对这种喜欢敲命令而不用图形化工具爱好者来说,设置短命令可以很好提高效率。下面介绍两种设置短命令方式

50020

Git撤销&回滚操作(git reset 和 get revert)

俗话说,老虎也有打盹时候。我们提交代码,也会有出错时候。 今天不小心把不该提交文件给提交了。...为了搞清楚原理,画流程图,找到了一个好工具:https://www.draw.io/ git工作工作区:即自己当前分支所修改代码,git add xx 之前!...revert # 撤销指定版本,撤销也会作为一次提交进行保存 3) git revertgit reset区别 git revert 用一次新commit来回滚之前...: 场景一: 糟了,刚把不想要代码,commit到本地仓库中了,但是还没有做push操作!...情况二:删除最后一次远程提交 方式一:使用revert git revert HEAD git push origin master 方式二:使用reset git reset --hard HEAD

31.4K54
领券