正是因为 Android 上的 UI 编程从根本上就是异步的,所以造成了如此之多的回调。从测量、布局、绘制,到调度插入,整个过程都是异步的。...suspendCancellableCoroutine 在 Kotlin 协程库中,有很多协程的构造器方法,这些构造器方法内部可以使用挂起函数来封装回调的 API。...#2: 在协程被挂起的时候,异步 UI 操作被取消或者抛出异常。并不是所有的操作都有已取消或出错的状态,但是这些操作有。...接下来我们就可以这样使用了: viewLifecycleOwner.lifecycleScope.launch { // 将该视图设置为不可见,再设置一些文字 titleView.isInvisible...#2: 在协程被挂起的时候,Animator 被取消 。我们通过 onAnimationCancel() 回调来监听动画被取消的事件,通过调用协程的 cancel() 方法来取消挂起的协程。
如果您希望回顾之前的内容,可以在这里找到——《在 View 上使用挂起函数》。 让我们学以致用,在实际应用中进行实践。 遇到的问题 我们有一个示例应用: Tivi,它可以展示 TV 节目的详细信息。...使用协程解决问题 在前一篇文章中,我们已经学习了如何使用挂起函数封装回调 API。...新的挂起函数隐藏了所有复杂的操作,从而得到了一个线性的调用方法序列,让我们来探究更深层次的细节......在 TV 节目的例子中,实际上处理了几种不同的异步状态: // 确保指定的季份列表已经展开,目标剧集已经被加载 viewModel.expandSeason(nextEpisodeToWatch.seasonId...对于所有 API,将回调、监听器、观察者封装为挂起函数的方式基本相同。希望您此时已经能感受到我们文中例子的重复性。那么接下来还请再接再厉,将您的 UI 代码从链式回调中解放出来吧!
在IDEA中如何初始化Git,把项目推送到Git上 登录Gitee(码云)账号,新建仓库 先按如下步骤简单新建一个仓库: ? ? 创建成功后,会出现下图中所示的原始文件: ?...在IDEA上的Terminal中进行操作 注意: 可能有些朋友刚打开Terminal的时候,会出现一些问题,比如不出现弹框等等 ?...在Terminal中输入Git命令 touch README.md touch .gitignore 复制代码 依次输入两个命令,在项目中创建两个文件。 ?...git pull git push -u -f origin master 复制代码 此时再看Gitee,已经推送成功了,到这,Git的初始化已经完成了 ?...把这个分支推送到远程Git上 git push origin HEAD -u 复制代码 ? ? 到这,Git的初始化以及创建新的分支都已经完成了,这个是我根据自身项目创建的,仅供参考!
前言: 本文介绍了如何使用git在码云上创建远程仓库,并将本地的代码push到码云的远程仓库上。...[--global] --unset user.email 4.认识⼯作区、暂存区、版本库 ⼯作区:是在电脑上你要写代码或⽂件的⽬录。...在本地我们可以使⽤ git remote 命令,来查看远程库的信息,如: ⽤ git remote -v 显⽰更详细的信息: 上⾯显⽰了可以抓取和推送的origin的地址。...(+) create mode 100644 file.txt 提交时要注意,如果我们之前设置过全局的 name 和 e-mail,这两项配置需要和 gitee 上配置的用户名和邮箱一致,否则会出错。...或者从来没有设置过全局的 name和 e-mail,那么我们第一次提交时也会报错。这就需要我们重新配置下了,同样要注意需要和 gitee 上配置的用户名和邮箱一致。
最近在使用Git,切身体会到了Git在分支管理、离线开发的优越性,它可以在本地仓库为不同的任务创建不同的分支。...安装git 如果没有安装git,可以从 http://git-scm.com/downloads下载安装。...git安装的时候会附带git-svn(建议安装最新版本)。...2、进入到新克隆的目录下 cd trunk 3、当前所在的分支为master,可以使用git branch校验 git branch 4、在本地做修改,并提交到本地...git svn --help git svn help git help svn git --help svn 或者可以查看 官网提供的帮助文档。
本文介绍在Linux操作系统的Ubuntu版本中,配置分布式开源版本控制系统Git,随后基于Git克隆GitHub中项目的代码的详细方法。 ...在之前的文章Git介绍及其与GitHub的基本使用以及配置Git并克隆GitHub代码的方法中,我们介绍了在Windows电脑中Git的下载、安装方法;而本文则就对在Ubuntu系统中实现这一操作的方法加以介绍...接下来,我们还需要对Git加以用户名和邮箱的设置;后续Git将会使用这些信息来标识你在提交代码时的身份。首先,我们可以输入如下的代码,查看当前我们的用户名和邮箱设置情况。...接下来,我们通过如下的代码,设置我们的用户名和邮箱(记得替换下述代码中的汉字部分为你的信息);这里原理上我们可以随意配置自己的用户名和邮箱,不过为了今后使用方便,建议大家选择和自己GitHub(或类似网站...这里需要注意,我们克隆项目后,项目文件就会保存在终端当前的路径下;因为我这里终端执行上述代码时是在默认路径,所以如下图所示,我的项目就被保存在了Home文件夹中。 至此,大功告成。
在服务器上搭建 Git 现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。...NOTE 这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac 或 Windows 服务器上同样可以运行这些服务。...它只取出 Git 仓库自身,不要工作目录,然后特别为它单独创建一个目录。 把裸仓库放到服务器上 既然你有了裸仓库的副本,剩下要做的就是把裸仓库放到服务器上并设置你的协议。...目录拥有可写权限,那么他将自动拥有推送权限。...如果你想在你的仓库上设置更复杂的访问控制权限,只要使用服务器操作系统的普通的文件系统权限就行了。
不少博主,出于安全、稳定的考虑,在自己的服务器上使用了 Debian 操作系统。...Unattended-Upgrade::MailOnlyOnError "true"; Unattended-Upgrade::Automatic-Reboot "false"; 注意:如果您希望服务器在必要时重新启动...,您可以将自动重新引导设置为true。...使用 “apticron” 来管理 APT 更新的自动执行 Apticron 我们已经在第一步安装,在此略过。更新 apticron.conf 的配置文件。...打开 /etc/apticron/apticron.conf将电子邮件变量设置为您的电子邮件地址,这样您就可以收到更改列表。
文章目录 安装 Git 更多文章等待更新... 下载 前往 Git 官网 (https://git-scm.com)....如果选择第 1 个,则只能在 Git Bash 中使用,可能会出现问题 剩下的都可以保持默认,一路 Next,然后点击 Install。 等待安装完毕。...测试 在文件夹处右击,点击 Git Bash Here 进入 Git Bash。...(或是在开始菜单中找到 Git Bash) 输入 git --version 查看版本,正确输出版本信息即代表安装成功。 大功告成!
1.背景 现在大多数人都采用git进行版本管理,在git下面进行开发被越来越多的程序员所接受。还有越来越多的人参与开源社区的建设。...现在有一个问题就是,在windows环境下,如何在git客户端上通过ssh key的方式配置多个账号。不需要输入git的用户名和密码,使得更加方便高效。 2....SSH Key的生成 在windows上打开git的bash客户端命令行窗口: 之后执行ssh-keyget,生成rsa的公钥和私钥。...ssh-keygen -t rsa -C mail@mail.com 执行结果如下: 生成的文件命名为 id_rsa_gitlab 私钥的密码可以不用设置,也可以根据个人情况进行设置。...3.gitlab配置 在gitlab上,账户的Settings中进行配置: 在左侧的sshKey中: 将公钥中的文本内容copy到下列位置: copy之后如下: title可以自定义配置
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧。作用其实也就是由服务端接收到消息然后推送到订阅的客户端。 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息。...只需要在服务端增加一个模块用于接收用户订阅与数据的推送就完成了主体功能。 在xmpp协议里可以扩展组件,这样我们写一个组件,然后连接到xmpp服务器,这样就可以应用于不同的xmpp服务器。...需要用到的jar包 用到的了whack的core,在maven工程里直接引用即可,相关的依赖包会自动加载进来 org.igniterealtime.whack...推送服务就是等待或者获得需要推送的消息数据后向用户广播出去的服务。...步骤: 数据通过推送接口写入到推送服务 推送服务将数据写入到消息队列 发送线程检测到消息后取出并发给订阅的客户端 在此我写了一个PushServer的类用于表示推送服务,这个类里包含了: 一个消息队列
在 Ubuntu 20.04 上设置默认 Java 版本 如果您的系统 Ubuntu 20.04 上安装了多个 Java 版本,那么您可以使用以下命令检查默认 Java 版本: $ Java --version...现在,使用 update-alternatives 命令更改默认 Java 版本,如下所示: $ sudo update-alternatives --config java 您将在系统上看到以下输出...120.04) OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing) libin@oak:~$ 设置默认...Java 版本 已安装的 Java 版本列表显示在终端窗口中。...终端上将显示提示,要求您输入要设置为默认 Java 版本的选项编号。 输入要保留为默认 Java 版本的数字,然后按 Enter。 设置后,您可以检查系统上设置的默认 Java 版本。
如何你想为你的虚拟机分配 IP 地址并使其可从你的局域网访问,则需要设置网络桥接器。默认情况下,虚拟机使用 KVM 创建的专用网桥。但你需要手动设置接口,避免与网络管理员发生冲突。...怎样安装 brctl 输入以下 apt-get 命令: $ sudo apt install bridge-utils 怎样在 Debian Linux 上设置网桥 你需要编辑 /etc/network...不过,我建议在 /etc/network/interface.d/ 目录下放置一个全新的配置。...步骤 2 - 更新 /etc/network/interface 文件 确保只有 lo(loopback 在 /etc/network/interface 中处于活动状态)。...步骤 4 - 重新启动网络服务 在重新启动网络服务之前,请确保防火墙已关闭。防火墙可能会引用较老的接口,例如 eno1。一旦服务重新启动,你必须更新 br0 接口的防火墙规则。
-global --unset user.password # 查看全局密码 git config --global user.password 备注:如下,笔者实践中,没有设置全局密码,所以只进行以下操作...参数说明: -t要生成的秘钥的类型 -c 用于识别这个秘钥的注释 如上图,在指定目录下(例中为C:\Users\cassmall\.ssh)生成公私钥文件 ? 5....在Gitee网站上添加公钥 用户1身份登录Gitee网站,打开id_rsa.pub公钥文件,复制内容到 Gitee.com –>设置 ->安全设置-SSH公钥,如下操作 ?...修改局部Remote origin 为每给repository设置remote origin $ git remote rm origin $ git remote add origin git@gitee.com2...配置局部用户名和邮件 为每个repository设置局部用户名和邮件(注意:每个用户涉及都仓库都要设置 # 配置局部用户名 git config user.name "user1_name" 说明:user1
“定时运行” 让我们展开本系列前两篇文章中你所设置的 Minetest 服务器作为如何使用定时器单元的第一个例子。如果你还没有读过那几篇文章,可以现在去看看。...这样做的原因可能是,在启动之前可能会用到其他的服务,例如发邮件给其他玩家告诉他们游戏已经准备就绪,你要确保其他的服务(例如网络)在开始前完全启动并运行。...当 minetest.timer 的时间到来时,引导已经在几秒之前完成了。 另一件事情是 systemd 给自己设置了一个误差幅度margin of error(默认是 1 分钟)来运行东西。...这有助于在多个资源密集型进程resource-intensive processes同时运行时分配负载:通过分配 1 分钟的时间,systemd 可以等待某些进程关闭。...你也可以检查系统上所有的定时器何时运行或是上次运行的时间: systemctl list-timers --all 图 2:检查定时器何时运行或上次运行的时间 最后一件值得思考的事就是你应该用怎样的格式去表示一段时间
在Mac OS X机器上设置Jenkins CI服务器的指南。您希望在公司中拥有“移动持续集成”,而CI服务器的最终选择是Jenkins。...在本文中,我将坚持使用自制软件。在继续操作之前您需要在Mac上安装和配置JDK。 要安装,请运行一个简单的shell命令。...尝试一下,创建几个构建项目,这些项目具有一些基础知识,例如签出git仓库和运行简单的build命令。很快您会收到一条错误消息,提示詹金斯(Jenkins)内存不足。...使用-Xms和Xmx标志设置最小和最大堆大小。512 Mb在大多数时间为我工作。 配置垃圾收集器,类卸载和永久空间。...您将必须安装插件,为git存储库配置SSH密钥,并执行许多其他管理任务,以使您的Jenkins CI盒更快。 分享结束 关于作者 泽阳,DevOps领域实践者。
在 Ubuntu 系统上配置 Nginx Git 服务器 多年前发表过一篇在 Windows 系统上配置 Apache Git 服务器的博文, 主要是用 Apache 的 Basic 认证 + git-http-backend...安装 git-core、 nginx 和 fcgiwrap 输入下面的命令安装需要的这三个软件包: apt-get install git-core nginx fcgiwrap 配置 nginx 我的目的是在...nginx 的默认网站下添加一个虚拟目录 /git/ , 通过访问 /git/xxx.git 的形式来访问服务器上的 xxx.git 代码库, 这就需要修改一下 nginx 默认网站的配置文件 /etc.../git-http-backend; fastcgi_param GIT_HTTP_EXPORT_ALL ""; # git 库在服务器上的跟目录 fastcgi_param GIT_PROJECT_ROOT...test.git 注意检查一下 test.git 的权限, 如果权限不足的话, 使用这个命令设置一下权限: chmod a+rw -R test.git 重启 nginx 并测试 输入命令重启 nginx
创建仓库: 到https://gitee.com (码云)注册一个账号,然后 创建一个git 仓库, 这个仓库可以设置为私有或者public. 2...."Your Name" 在pycharm的右下角会弹出一个窗口,大意是:project 在gitee上创建成功,但是初始化提交失败......,默认会查找当前的系统用户名以及对应的domain 生成一个 username@domain的用户,但是这个用户在gitee上是找不到的),所以要进行如下的配置: 找到git 的安装路径(在pycharm...因为git commit 仅仅是把code 提交到本地的repo,要上传到gitee, 那么要用git push, 也就是在pycharm中也需要进行push才可以在gitee上看到代码....要查看之前的代码是否用的“不公开邮箱”提交的,那么用git log命令. 5. 小结: 通过上面的步骤,基本上就配置好了git 仓库和pycharm的关联.
在 Windows 系统上配置 Apache Git 服务器 本文介绍如何在 Windows 系统上配置 Apache Git 服务器, 以及使用 AD 进行认证用户认证。...改为: # 设置 Git 代码库的根目录 SetEnv GIT_PROJECT_ROOT C:/GitRepos # 默认通过 HTTP 导出所有的 Git 代码库 SetEnv GIT_HTTP_EXPORT_ALL...现在, 可以用 git 新建一个测试库, 打开一个命令行窗口, 在 C:\GitRepos 目录下输入下面的命令: git init --bare Test.git 再开一个新的命令行窗口, 输入下面的命令进行测试...设置代码库权限 现在, Windows 上的 Git 服务器已经可以运行了, 通常情况下, 需要为每个库配置权限, 比如上面的 Test.git 只允许特定用户或者特定用户组访问, 则需要在 git.conf...注意问题 整个配置过程比较复杂, 在 Windows 上配置的资料也比较少, 很容易出错, 所以在配置的过程中, 给出如下的建议: 将 Apache 的 LogLevel 设置为 DEBUG (在http.conf
该脚本将帮助你确定高 CPU 消耗进程在 Linux 上运行了多长时间。 # vi /opt/scripts/long-running-cpu-proc.sh#!...pruntime"done | column -techo "--------------------------------------------------" 给 long-running-cpu-proc.sh 设置可执行的...24:14daygeek 6301 Web 57:40---------------------------------------------------- 2)检查高内存消耗进程在...Linux 上运行了多长时间的 Bash 脚本 该脚本将帮助你确定最大的内存消耗进程在 Linux 上运行了多长时间。...| column -techo "--------------------------------------------------" 给 long-running-memory-proc.sh 设置可执行的
领取专属 10元无门槛券
手把手带您无忧上云