循环中引用迭代器变量 循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。...默认情况下,发送和接收都是阻塞的,直到另一方准备好。这允许Goroutine在没有显式锁或条件变量的情况下进行同步。...子程序将在第6行阻塞,直到父程序在第9行收到来自ch的结果。同时,父程序将在select处阻塞,直到子程序向ch发送结果(第9行)或超时发生(第11行)。...另一个解决方法是在第6行使用一个带有空默认情况的选择语句,这样如果没有Goroutine收到ch,就会发生默认。尽管这个解决方案可能并不总是有效。...不使用 -race 选项 我经常见到的一个错误是在测试 go 应用的时候没有带 -race 选项。
1. display_errors = Off;//控制php是否输出错误;在生产环境中输出会泄露敏感信息;建议记录错误而不是将它们发送到STDOUT off :不显示任何错误;stderr :向STDERR...显示错误(仅影响CGI/CLI) ;On/stdout :向STDOUT显示错误(就是直接在屏幕打印错误) 2. log_errors = On ;//将错误记录到服务器指定的日志;STDERR ; 或者...直接在屏幕打印出错误,如果不开启display_errors,就不会显示 ? error_log指定的错误日志中也会显示 ?...配置中指定的地方;如果是3就发送到第三个参数指定的文件中 error_log("我是一个错误!")...; 在错误日志中会有记录 ?
在DevOps Master中讲持续交付一课,其中讲到发布频率的篇章,中文版里面的翻译是这样的(来源于精益企业): ? 英文版本是这样的(原版书): ?...同样的位置,请注意【灰度发布】和【Dark lauching】的表述。直到有个学员不断的问我灰度发布到底是什么?我在课堂讲过,灰度发布这个术语貌似是不存在的,但 一直没有去看英文原书。...于是今天就去认真查了一下什么是dark lauching?...I like "dark launching", so I'll mostly use that in this post :-) 其实dark lauching,就是不改变客户端程序(变更)的情况下,...启动了新的功能,类似特性开关,当打开之后,用户变可以使用新的功能。
近一年来,我在管理中犯下的2个重要错误。该错误导致团队结构不清晰,骨干核心人员不稳定,易流失。...1、资源错配 2、逮着一个人疯狂用 目录 1、背景描述; 2、我是如何犯错的,以及我为什么犯错; 3、这两个错误带来了哪些影响; 4、规避和改进方式; 一、背景描述 成立3年的初创公司,10人编制的测试团队...组内结构划分可见下图所示: 二、我是如何犯错的,以及我为什么犯错 错误一:资源错配 对于组长的选择,以及组内骨干的选择,如下图所示: 其中标记为组长的,是在团队内部小组内被任命为小组长,标记为骨干的...我喜欢将所有有挑战性的、开拓边界的任务给到这类员工。 我为什么会这样做: 本质上是 个人的喜好问题(因为我也属于这类人)。...; 坏的影响: 1、其他员工可能会感觉偏心; 2、被一直用的那个人,对涨薪、奖金的预期较高,很难满足,最后导致人员离职; 四、为什么说它是管理上的重大错误 上述的两个问题,最直接的就是导致了团队结构不稳
*回退版本:使用git log查看提交历史;使用git log --pretty=oneline 精简显示 使用git reset --hard commit_id 回退到版本号为commit_id...*分支: 1、创建分支 git checkout -b branchname 创建并切换到改分区,相当于一下两个命令: git branch branchname ...、git stash pop 恢复时会删除stash中的内容 *远程库信息产看使用git remote (-v)加上-v显示信息更加详细 *分支推送到远程库:即将所有本地的提交推送到远程库...使用git push origin branchname 推送自己的修改 2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并 3、如果合并有冲突,解决冲突,在本地提交...branch --set -upstream branch origin/branchname *在本地创建与远程对应的分支:git branch -b branchname origin/
在springboot下操作rabbitMQ。 1.pom文件配置 pom文件配置如下: <!...concurrency: 5 #消费端最小并发数 max-concurrency: 10 #消费端最大并发数 prefetch: 5 # 一次请求中预处理的消息数量...} catch (IOException e) { log.error("RabbitMQ,IO异常,异常原因为:{}", e.getMessage()); } } } 4.测试 上述代码在springboot...45.515 INFO 14692 --- [ntContainer#0-4] com.dhb.rabbitmq.demo.Consumer : 消费者获取消息内容:testmsg 在RabbitMQ...的后台界面,队列queue的绑定关系如下:
的网络有三种模式 1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置: config.vm.network :forwarded_port, guest...开启这个后,如果vagrant已经启动了,在命令行输入 vagrant reload 重启机器,就可以再宿主机伤使用 localhost:8080来访问虚拟机的localhost:80 。...2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置: config.vm.network :private_network...默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如 ln -fs /vagrant/...中的配置都不会保留) vagrant reload (重启) ==============补充===================== 在本地使用vagrant up命令是不能正常启动,(未知原因
背景 年底了,换了项目组,新的项目组使用react,从vue到react,我只花了一天的时间,看了官方简单的文章之后,就觉得这玩意很简单啊,比起vue的那么api来说,这根本没有学习成本好吧,十分迅速的就进入了...react的项目开发,并且洋洋得意,根据我多年的经验来看,这波肯定会得到领导的赏识 很快,我就做完了我的需求,把代码提交上去,组长可能确实比较闲,还review了我的代码,并且指出了一系列的问题,并告诉我说学习...react最难的部分,并不是知道怎么使用它,而是要知道怎么能够编写良好,干净的react代码 主要给我提了六点错误,我相信在座的各位,可能需要对号入座 在不需要使用state的时候使用state 涉及到项目中的代码逻辑...,提交的时候从state上再把数据取到,这一点确实很像vue的双向绑定,通过state的方式实现了,看着表面没有问题,并且页面也呈现了,submit的数据也取到了 但是实际上,我们并没有在别的地方使用这个...,并且页面没有多次刷新 useState的回调函数 那什么情况下使用useState呢?
win10中,在命令行情况下,Mysql显示各个端所使用的字符集命令: Microsoft Windows [版本 10.0.16299.64] (c) 2017 Microsoft Corporation...HY000): Incorrect string value: '\xB3\xAC\xBC\xB6\xB9\xDC...' for column 'userName' at row 1 #客户端传来的数据的编码是...gbk,而Mysql针对客户端默认使用的是utf8,所以会报错 mysql> mysql> show variables like 'character%'; #显示各个端所使用的字符集,只对当前对话窗口有用...-----------+-----------+-------+------+----------+--------+ 1 row in set (0.00 sec) #因为Mysql针对默认结果集使用的是...utf8编码,而我们的pc端使用的是gbk编码,所以会报错 mysql> set character_set_results=gbk; #设置Mysql针对数据返回结果集使用字符集为gbk编码,报错解决
lombok是一款可以精减java代码、提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码。...代码越少,意味着出bug的可能性越低。 官网地址:https://projectlombok.org/ 首页有一段几分钟的演示视频,看完就明白是怎么回事了。...,各种注解的详细用法,请参考:https://projectlombok.org/features/index.html IDEA下使用时,可以通过插件的形式安装,插件下载地址:https://github.com...选择下载的zip包安装,重启idea即可。 另外,还有一个关键设置: ?...为了让设置生效,建议再重启一次idea,然后就可以开心的编码了,可以ide里可以直接看到生成的方法:(下图中打红圈的都是自动生成的) ?
最近有个业务数据变更的需求,要将1个已生成的500w记录写回到另一个表里面。 这里的需求比较简单,可以通过pt-archiver来做,也通过kettle之类工具来做。...kettle的话比较重,可支持的数据整型功能也更强大。...我这里是用kettle来搞的(复习下kettle,弄个demo,指不定后面有更复杂的业数据需求要找DBA介入) 配置JDBC连接的时候,建议加上字符集设定等几个参数: defaultFetchSize...文件的时候,建议使用相对路径: 写法 ${Internal.Job.Filename.Directory}/xxxx.ktr kettle自定义JVM内存大小: vim spoon.sh 找到下面...if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then PENTAHO_DI_JAVA_OPTIONS="-Xms2048m -Xmx2048m" fi job命令行下的启动
具体victoriametrics的功能和使用,我这里就不介绍了,官方文档上很全面的。 这里说下我的拓扑和架构。...prometheus的部署使用kube-prometheus的 operator方式部署。 victoriametrics的部署使用sts方式部署。...victoriametrics在我们这是作为历史数据存储用,非核心的监控数据库。 victoriametrics全套的技术栈组件也很多,引入太多,人力不足。...prometheus crd的修改 kubectl get Prometheus -n monitoring k8s -oyaml 下面是我修改后的配置: 注意是加了个remoteWrite的配置项,...并且我把存储换成了nfs盘。
作者:Ahmad shaded 译者:前端小智 来源:sitepoint 当我们非常专注写代码时候,我们往往会无意识的写出一些无效CSS代码。 我把这种称为 “潜意识错误”。...导致这种错误后,我们经常会反问自己:“为什么我写出这样低级错误?” 不过,这些错误都比较好解决,不需要花很多时间,只要纠正一下就行了。 跟着本文看看,我会经常写哪些有趣的 CSS 错误。...Font Size 我在font-size和font-weight之间经常犯错误,如下所示: .title { font-size: bold; } Opacity 我也不知道啥原因,但有时我会忘记写百分比...1fr 1fr; } CSS 变量 对于 CSS 变量的使用,我也经常忘记写 var : .title { color: --brand-color; } 正确的写法如下: .title {...CSS calc() 如果你的代码没有高亮的提示的功能,你也许也会这样写: .elem { font-size: clac(14px + 1vw); } CSS color 我记得曾经遇到过这样的错误
在cmd里面运行python程序的时候因为程序里面写了中文,导致报错。 后来上网搜寻资料,但是很多都是让在首加入 #coding:gb2312 就可以了。...但是我并没有成功,所以找到一下方法,是成功的。...代码如下: # print absolute value of an integer:#encoding:utf-8 a = raw_input("请输入你的名字:".decode('utf-8').
Swagger问题:我希望我的Swagger在生产的时候使用,在发布的时候不使用 简介:本文讲解如何解决,我希望我的Swagger在生产的时候使用,在发布的时候不使用。...对于Swagger的讲解,看这篇文章:Swagger使用教程 ,在上面这一篇文章中也有我这个演示代码的下载地址。...解决方法 这里就涉及到的是,springboot里面的另外两种,配置文件的知识了,application-dev.properties,application-pro.properties。...application-dev.properties application-pro.properties 通过spring.profiles.active指定配置文件内容,这个可以在运维的时候设置...然后在代码层面上进行下面的修改,就饿可以完成了,只要是当前的配置的文件是application-dev.properties,就是开发环境,就可以正常显示。
Atomikos是一个轻量级的分布式事务管理器,实现了Java Transaction API (JTA)规范,可以很方便的和Spring Boot集成,支持微服务场景下跨节点的全局事务。...三个服务需要加入到一个全局事务中,要么全部成功,任何一个服务失败,都会造成事务回滚,数据的状态始终保持一致性。 蚂蚁金服开源的Seata就是为了解决这类问题,在微服务架构下提供分布式事务服务。...传统的应用服务器通过JTA/JTS也能解决分布式场景下的事务问题,但需要和EJB绑定在一起才能使用。...:StorageService的具体实现 business-service:用户访问入口 事务上下文的传播 在项目主工程的pom文件中引入Atomikos依赖,注意要包括transactions-remoting...下一步我准备为Atomikos增加dubbo的支持,即事务上下文可以通过dubbo进行传播。
Hazelcast是一款由Hazelcast开发的基于jvm环境的为各种应用提供分布式集群服务的分布式缓存解决方案。可以嵌入到java、c++、.net等开发的产品中使用。...,在Hazelcast中创建了一个map之后,在节点A通过put方法添加数据,在节点B就能通过get方法获得该数据。...是一个非常好用的分布式缓存。 本文介绍在springboot环境中,如何使用hazelcast。 1.pom配置 需要导入的包: 在springboot的web环境中来使用的话,spring-boot-starter-cache是必须的。...这样就实现了要给简单的hazel的使用demo。
https://hadoop.apache.org/releases.html图片解压后配置相关环境图片系统变量新增HADOOP_HOME图片Path配置图片四、winutils安装windows环境下还需要装个东西来替换掉...hadoop里的bin文件才行图片下载地址:https://github.com/steveloughran/winutils使用了和hadoop相近的版本,测试没问题直接复制替换图片再次测试:spark-shell...图片五、pyspark使用# 包的安装pip install pyspark -i https://pypi.doubanio.com/simple/pyspark测试使用from pyspark import...local[K]: 指定使用几个线程来运行计算,比如local[4]就是运行4个worker线程。...py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils.isEncryptionEnabled does not exist in the JVM在连接
最近公司大数据集群统一升级了 kerberos,那原先 的opentsdb就不能使用了,需要使用keytab方式登陆验证。...在百度找了好久没找到解决方案,还是组里勇哥看opentsdb源码才发现opentsdb怎么验证keytab....下面是具体代码片断: 未使用kerberos 时候,直接使用下面的旧代码: HBaseClient hbaseClient = new HBaseClient(zookeeper); 激活了kerberos...java.security.auth.login.config", "D:/kbs/ksm_jaas.conf"); System.setProperty("zookeeper.sasl.client", "false"); //下面行只在本地打开...maven jar包,低版本的opentsdb的确不支持kerberos net.opentsdb <artifactId
1、Git的安装 我使用了ubuntu 10.04 ,默认情况下,ubuntu 中并没有安装,所以首先需要在系统中进行 git 的安装。...sudo apt-get install git-core 安装完成后,在终端中输入 git 就可以看到相关的命令了。如果只是需要使用git来管理本地的代码,那么现在就可以使用了。...使用命令:ssh-keygen -C 'you email address@gmail.com' -t rsa 会在用户目录 ~/.ssh/ 下建立相应的密钥文件 可以使用 ssh -v git@github.com...管理自己的项目 这种情况是自己在本地有一些代码,需要利用 github 来管理自己的项目,可以按照下面的步骤进行。 1、建立仓库 在需要建立项目的文件夹中,使用 git init 进行仓库的建立。... # 若想知道目前工作树的状态,可以輸入 git status 参考资料: 1、Git与Github在Windows环境下的使用指南 2、使用GIT管理源代码 3、git/github使用小记
领取专属 10元无门槛券
手把手带您无忧上云