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

我在使用 Go 过程中犯过的低级错误

循环中引用迭代器变量 循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。...默认情况下,发送和接收都是阻塞的,直到另一方准备好。这允许Goroutine在没有显式锁或条件变量的情况下进行同步。...子程序将在第6行阻塞,直到父程序在第9行收到来自ch的结果。同时,父程序将在select处阻塞,直到子程序向ch发送结果(第9行)或超时发生(第11行)。...另一个解决方法是在第6行使用一个带有空默认情况的选择语句,这样如果没有Goroutine收到ch,就会发生默认。尽管这个解决方案可能并不总是有效。...不使用 -race 选项 我经常见到的一个错误是在测试 go 应用的时候没有带 -race 选项。

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

    纠正 | 我在持续交付课程中的授课错误

    在DevOps Master中讲持续交付一课,其中讲到发布频率的篇章,中文版里面的翻译是这样的(来源于精益企业): ? 英文版本是这样的(原版书): ?...同样的位置,请注意【灰度发布】和【Dark lauching】的表述。直到有个学员不断的问我灰度发布到底是什么?我在课堂讲过,灰度发布这个术语貌似是不存在的,但 一直没有去看英文原书。...于是今天就去认真查了一下什么是dark lauching?...I like "dark launching", so I'll mostly use that in this post :-) 其实dark lauching,就是不改变客户端程序(变更)的情况下,...启动了新的功能,类似特性开关,当打开之后,用户变可以使用新的功能。

    1.5K10

    反思我在管理中犯过的重大错误

    近一年来,我在管理中犯下的2个重要错误。该错误导致团队结构不清晰,骨干核心人员不稳定,易流失。...1、资源错配 2、逮着一个人疯狂用 目录 1、背景描述; 2、我是如何犯错的,以及我为什么犯错; 3、这两个错误带来了哪些影响; 4、规避和改进方式; 一、背景描述 成立3年的初创公司,10人编制的测试团队...组内结构划分可见下图所示: 二、我是如何犯错的,以及我为什么犯错 错误一:资源错配 对于组长的选择,以及组内骨干的选择,如下图所示: 其中标记为组长的,是在团队内部小组内被任命为小组长,标记为骨干的...我喜欢将所有有挑战性的、开拓边界的任务给到这类员工。 我为什么会这样做: 本质上是 个人的喜好问题(因为我也属于这类人)。...; 坏的影响: 1、其他员工可能会感觉偏心; 2、被一直用的那个人,对涨薪、奖金的预期较高,很难满足,最后导致人员离职; 四、为什么说它是管理上的重大错误 上述的两个问题,最直接的就是导致了团队结构不稳

    1.1K10

    Git在Linux下的使用

    *回退版本:使用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/

    1.6K10

    vagrant在windows下的使用

    的网络有三种模式 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命令是不能正常启动,(未知原因

    38820

    组长指出了我使用react常犯的错误

    背景 年底了,换了项目组,新的项目组使用react,从vue到react,我只花了一天的时间,看了官方简单的文章之后,就觉得这玩意很简单啊,比起vue的那么api来说,这根本没有学习成本好吧,十分迅速的就进入了...react的项目开发,并且洋洋得意,根据我多年的经验来看,这波肯定会得到领导的赏识 很快,我就做完了我的需求,把代码提交上去,组长可能确实比较闲,还review了我的代码,并且指出了一系列的问题,并告诉我说学习...react最难的部分,并不是知道怎么使用它,而是要知道怎么能够编写良好,干净的react代码 主要给我提了六点错误,我相信在座的各位,可能需要对号入座 在不需要使用state的时候使用state 涉及到项目中的代码逻辑...,提交的时候从state上再把数据取到,这一点确实很像vue的双向绑定,通过state的方式实现了,看着表面没有问题,并且页面也呈现了,submit的数据也取到了 但是实际上,我们并没有在别的地方使用这个...,并且页面没有多次刷新 useState的回调函数 那什么情况下使用useState呢?

    89330

    在命令行下,Mysql显示各个端所使用的字符集命令

    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编码,报错解决

    69920

    lombok在IntelliJ IDEA下的使用

    lombok是一款可以精减java代码、提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码。...代码越少,意味着出bug的可能性越低。 官网地址:https://projectlombok.org/ 首页有一段几分钟的演示视频,看完就明白是怎么回事了。...,各种注解的详细用法,请参考:https://projectlombok.org/features/index.html IDEA下使用时,可以通过插件的形式安装,插件下载地址:https://github.com...选择下载的zip包安装,重启idea即可。 另外,还有一个关键设置: ?...为了让设置生效,建议再重启一次idea,然后就可以开心的编码了,可以ide里可以直接看到生成的方法:(下图中打红圈的都是自动生成的) ?

    87690

    Kettle在Linux下的使用小记

    最近有个业务数据变更的需求,要将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命令行下的启动

    3.3K20

    总结一些,我在书写 CSS 的时候,经常犯的错误!

    作者: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 我记得曾经遇到过这样的错误

    44320

    Swagger问题:我希望我的Swagger在生产的时候使用,在发布的时候不使用

    Swagger问题:我希望我的Swagger在生产的时候使用,在发布的时候不使用 简介:本文讲解如何解决,我希望我的Swagger在生产的时候使用,在发布的时候不使用。...对于Swagger的讲解,看这篇文章:Swagger使用教程 ,在上面这一篇文章中也有我这个演示代码的下载地址。...解决方法 这里就涉及到的是,springboot里面的另外两种,配置文件的知识了,application-dev.properties,application-pro.properties。...application-dev.properties application-pro.properties 通过spring.profiles.active指定配置文件内容,这个可以在运维的时候设置...然后在代码层面上进行下面的修改,就饿可以完成了,只要是当前的配置的文件是application-dev.properties,就是开发环境,就可以正常显示。

    5400

    Atomikos在微服务场景下的使用

    Atomikos是一个轻量级的分布式事务管理器,实现了Java Transaction API (JTA)规范,可以很方便的和Spring Boot集成,支持微服务场景下跨节点的全局事务。...三个服务需要加入到一个全局事务中,要么全部成功,任何一个服务失败,都会造成事务回滚,数据的状态始终保持一致性。 蚂蚁金服开源的Seata就是为了解决这类问题,在微服务架构下提供分布式事务服务。...传统的应用服务器通过JTA/JTS也能解决分布式场景下的事务问题,但需要和EJB绑定在一起才能使用。...:StorageService的具体实现 business-service:用户访问入口 事务上下文的传播 在项目主工程的pom文件中引入Atomikos依赖,注意要包括transactions-remoting...下一步我准备为Atomikos增加dubbo的支持,即事务上下文可以通过dubbo进行传播。

    92710

    git与github在ubuntu下的使用

    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使用小记

    1.1K30
    领券