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

使用 Go 过程犯过低级错误

循环中引用迭代器变量 循环迭代器变量是一个每次循环迭代采用不同值单个变量。如果我们一直使用一个变量,可能会导致不可预知行为。...WaitGroup类型共享变量,如下面的代码所示,第7行Wait()只有第5行Done()被调用len(tasks)次时才能解除阻塞,因为它被用作调用第2行Add()参数。...另一个解决方法是第6行使用一个带有空默认情况选择语句,这样如果没有Goroutine收到ch,就会发生默认。尽管这个解决方案可能并不总是有效。...不使用 -race 选项 经常见到一个错误是测试 go 应用时候没有带 -race 选项。...race // to build the package $ go install -race pkg // to install the package 启用竞争检测器后,编译器将记录在代码访问内存时间和方式

2K10

极力推荐5款一直使用Chrome优秀插件!

本文转载自趣说软件,禁二次转载 Chrome浏览器是目前世界上使用率最高浏览器,由于Chrome浏览器性能强悍、速度流畅、安全稳定、丰富扩展插件库等众多优点备受网友热爱,其中也有很大一部分网友使用...近期收到一些小伙伴们私信让推荐一些Chrome上比较好用扩展插件,总结了以下几个推荐给大家,当然大家没有必要把推荐全部安装上,选择自己需要即可!...1、Stylus 很多小伙伴总是私信我,问我百度搜索页面怎么变成这个样子呀,没错就是使用这款插件,它不仅仅支持更改百度搜索页面,也支持其他众多网站 关于谷歌浏览器插件安装不再多...插件安装完成以后,例如我们打开百度网页,然后点击浏览器右上方插件图标,点击【查找更多样式】或者点击【查找适合此网站更多样式】按钮,然后大家自己选择喜欢点击使用即可,其他网站大家自行去体验!...,并且还有丰富自定义选项,可以用来保护视力,关爱眼睛,对于小编来说,凌晨1点钟还奋斗电脑面前浏览网页内容,当然要保护好眼睛啦!

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

很开心,使用mybatis过程踩到一个坑。

这是why技术第14篇原创文章 实际开发过程踩到了mybatis一个坑,觉得值得记录、分享一下。 先说说这个坑是什么吧。...org.apache.ibatis.logging.jdbc.BaseJdbcLogger143行,debug方法打印了日志,这行日志就是突破口。...在这个地方,整个sql都拿到了,如果往回走,就能很快找到sql是在哪里产生。 那我BaseJdbcLogger143行,打上断点,并运行起来。...是的,无脑使用了CV大法。导致欢声笑语写出了bug。orderStatus传入类型是一个Byte,和""做判断有任何意义吗?...之前《面试了15位来自211/985院校2020届研究生之后思考》这篇文章写到一段话,用在这里也很合适: ?

1.7K10

很开心,使用mybatis过程踩到一个坑。

实际开发过程踩到了mybatis一个坑,觉得值得记录、分享一下。 先说说这个坑是什么吧。如果你踩过这个坑,并且知道具体原因,那这篇文章可以加深你印象。...org.apache.ibatis.logging.jdbc.BaseJdbcLogger143行,debug方法打印了日志,这行日志就是突破口。...在这个地方,整个sql都拿到了,如果往回走,就能很快找到sql是在哪里产生。 那我BaseJdbcLogger143行,打上断点,并运行起来。...是的,无脑使用了CV大法。导致欢声笑语写出了bug。orderStatus传入类型是一个Byte,和""做判断有任何意义吗?...之前《面试了15位来自211/985院校2020届研究生之后思考》这篇文章写到一段话,用在这里也很合适: ?

1K10

算法工程师技术深度到底是什么?

现在理解技术深度——一个场景落地某个方法,有效了知道哪些因素有效,无效了知道哪里存在问题。推荐系统少有知识,多为经验,你某个业务场景下用某个技术拿到了结果,这个叫经验。...大家都觉得冗长,开始思考这个问题之前,有两个同学已经开始尝试训练过程完成聚,来简化流程。他们有idea,并付诸实践了,但是没有拿到效果,后面就不了了之了。...开始思考这个问题,就在家附近公园里有了idea,思维推演了几遍,回家开源小数据集合上把代码写了(数据量小,单机足够,数据质量高,方便分析),确定方法work之后,在业务数据集上做了实验和数据分析...面试时候经常遇到,某个方法为什么尝试呢?”试过,没有效“。在想,如果做这个方向同学只试了一遍,就放弃了,那么他给出来结论也就是,”试过,没有效“。...优化就是有效,然后我们看里面的每一个优化点,他都试过,至今也搞不懂原因。搞定I2I这件事,这个03年以前技术,能叫有深度么?

42220

用了Stream后,代码反而越写越丑?

Stream.of("i", "am", "xjjdog").map(toUpperCase()).map(toBase64()).collect(joining(" ")); 上面这种代码写法,就非常推荐...平常代码review,这种糅杂一块代码,真的是数不胜数,你完全搞不懂代码的人意图。 合理换行是代码青春永驻配方。 2. 舍得拆分函数 为什么函数能够越写越长?...可读性方面,将一大坨代码,拆分成有意义函数,是非常有必要,也是重构精髓所在。lambda表达式,这种拆分更是有必要。 将拿一个经常在代码中出现实体转换示例来说明一下。...这种方式还有一个好处,能够强烈暗示API使用者,多多使用Stream相关函数,以便能够统一代码风格。...并行流一个老生常谈问题,就是线程安全问题。迭代过程,如果使用了线程不安全,那么就容易出现问题。比如下面这段代码,大多数情况下运行都是错误

53840

带你见识一下,JAVA方法爆炸!

要想了解JavaAPI有多变态,就不得不提一下队列这个接口,许多工作多年的人,依然是对此非常迷惑。虽然队列是计算机算法一个基本结构,但它并不仅仅只有add这个方法。...既然无法向队列添加元素,又没有指定队列大小地方。那这个队列,有什么鸟用! 2. Queue方法 了解这个队列使用之前,我们来看一下Queue接口所定义方法。...平常编码,也推荐使用非异常api,但Java为什么提供了两套方法,来供我们使用呢?...所以,它们又多了一堆API,分别来描述到底是队头还是队尾进行操作。...个人微信xjjdog0,欢迎添加好友,进一步交流。 推荐阅读: 1. 玩转Linux 2. 什么味道专辑 3. 蓝牙如梦 4. 杀机!

35620

原型图+交互设计+UI图,到底啥关系

对整个产品交互逻辑要表现清楚,比如提交数据按钮需要呈现加载状态,创建新数据表单,在哪个地方使用弹窗,哪个地方使用页面,空白数据页面使用表情还是添加新数据引导呢?给UI设计师提供UI设计思路。...最初只是想画个草图,但唯恐哪里没表达清楚,不断在里面搞设计,简直就是个坑!这浪费了多少白花花时间啊!...到头来该想没想清楚该理没理顺该做没做好可做可不做模糊不清… 如果画原型,交互搞不懂产品,UI搞不懂交互,技术搞不懂UI背后逻辑,领导看不到产品经理思路…那么问题就来了!...现在是先跟交互设计师纸上、白板上充分讨论交流,让他明白产品和功能以及用户需求,接着讨论大概交互怎么做,交互设计师下去用工具(推荐sketch,没有集是设计师就自己画也挺快)做像素级线稿,准备背后需求...之后就是前端工程师静态页面设计,程序员技术实现,TEST了。整个过程,PM沟通能力得到了最大程度提现。

3K21

他喵,BAT 大佬这份刷题笔记太强了!

这是三个月前一个读者给我私信,他困惑让心有戚戚焉!于是赶紧问了身边一些就职于大厂朋友,他们不约而同地给我推荐了这份刷题笔记。 ? 细致地研究了一周后,感觉发现了宝藏!赶紧发给了这位读者。...听他这么一说,就有信心了,赶紧给我公众号读者朋友们分享一下。 这本笔记作者 LeetCode 刷了几百道题,并且将题目分门别地整理好了。...不管你使用编程语言是 Java、C++,还是 Go,都可以学习,适合刷题同学反复学习。认真地揣摩其中框架思维,你会发现,这是一本非常用心刷题类书籍。...这份笔记不仅排版十分精美,内容也异常充实,每一题都是细致讲解,有时候还会配上图片,就怕你搞不懂,大大良心啊! ? ?...也就是说,这份刷题笔记解答都是大厂考核时候标准答案,如果说你吃透了这份刷题笔记,可以吊打面试官了——当然了,吃透会比较难,但如果能应付面试,就直了呀,,就值了呀!

39630

python调用win32api 拉起wps问题排查解决方案

唤醒客户端调用打印机,但是实现过程其他生产环境没办法使用,不是出现报错就是未知错误,期间找了很多方案,最后整合一下处理结果,建议大家配合文章查看,不然就搞不懂在说啥 问题排查 第一个问题,pywintypes.com_error...: (-2147221005, ‘无效字符串’, None, None) 通过编译后tk软件在其他电脑上能运行但是不会处理,猜想应该是代码错误导致停止运行了 验证方法是,在其他电脑上运行源代码...,发现出现错误 pywintypes.com_error: (-2147221005, '无效字符串', None, None) 解决办法 报错代码是这一段,大概就是调用wps出错,因为...() # 程序代码 # 程序代码 # 释放资源 pythoncom.CoUninitialize() 于是调用打印代码第一行写入线程初始化 pythoncom.CoInitialize()...总结 以上就是记录今天遇到问题,pywin32api打印机问题完美解决,不过调用只能是wps

85420

百度搜索资源平台上线快速收录

也是今天一大早看我博客闭站通过没。才偶然间看到。(闭站原因也很简单,就是个人博客不能分享技术文章。所以正在转企业备案,搞不懂我们这些实名制站长是还能做个啥????????...为什么不查一下没备案XXX网站,搞不懂这个正侧。) 使用说明 1、快速收录仅限于提交移动端页面及移动端自适应页面。...2、快速收录工具可以向百度搜索主动推送资源,缩短爬虫发现网站链接时间,对于高实效性内容推荐使用快速收录工具,实时向搜索推送资源。 3、资源不符合移动资源标准,依然会占用配额,请您谨慎选择提交类型。...2.开通范围:4 月 15 日前搜索资源平台完成熊掌 ID 站点绑定,且当前仍处于绑定状态站点。 3.开通方式:您可在原熊掌 ID 绑定站点中选择一个继承提交权益,默认提交配额为 10。...4.提交方式:快速收录包含手动提交和 API 提交两种方式,使用 API 提交方式请使用平台提供最新接口进行推送。

57241

是这么刷题

大家刷《代码随想录》时候,都会有疑惑: 第一遍刷完应该用多久? 第一遍需要把每道题目都弄清楚么? 刷了一遍,感觉都忘了怎么办? 需要刷两遍么?...直呼离谱,呼完了就是心慌慌,怎么办啊,整个大学没刷过题,毕业暑假才知道有leetcode这个网站,不管了先去某乎搜一下刷题攻略,众多大佬回答就相中了代码随想录这个攻略,可能觉得名字很有意思...暑假一下就过去了,没刷几道题,人家都快与家人分别了,哪里有心情刷题嘛,终于九月冲破重重困难杀到了美国,九月份也是正式刷题开始。...噩梦开始地方! 第一遍完全搞不懂,纯粹是比着抄也试过自己推演,推着推着就把自己推懵了,实在搞不懂,好久才把这部分题目抄完流泪心想下面不会这么难了吧。 然后就来到了回溯章节。...对了还有一个很感谢carl地方,有次闲着没事看了看书里前面的内容,有一篇讲的是代码规范,主要是空格、括号和运算符规范使用还有命名规范啥看了之后觉得很有道理,强行让自己把代码规范了过来。

38430

异常处理那些事儿

你好,是梁松华。今天想和你聊的话题是异常处理那些事儿。 异常处理是很多新手搞不懂逻辑,别人代码有时进行了异常捕获,有时又不进行捕获,到底是为啥?有什么科学依据嘛?...这种代码确定容易让人迷惑,所以今天就来捋一捋异常处理,帮你一次性搞懂它。 开篇先和你交个底,异常处理确实复杂并且颇有争议。所以我先从系统分类角度来剖析一下异常处理,让你了解一下异常处理一般套路。...说完了系统维度,再来说说每个模块或者每个分层维度方法。或许你看到过这样代码,每个模块下每个方法都使用了try-catch捕获异常,这样真的对吗?或者说,异常处理边界在哪里?...相反例子是,原子类处理数据库持久化,我们可以使用try-catch进行异常捕获,当更新失败时,直接返回错误标识,而不需要通过抛异常方式,告知执行失败了。...比如,包装依赖接口原子调用方法时,喜欢使用Java1.8提供Optional,它是一个包括可选值包装,这意味着Optional可以包含错误信息,还可以为空也就是表示执行正常。

1K30

AndroidView研究自学之路

写这篇博客呢是研究了view将近一个月之后,算是对自己学习做一个总结,进而反思一下学习方法,本博文涉及代码分析。...是否觉得代码好多方法和字段都搞不懂? 是否有种深陷沼泽,眼前一片漆黑无力感? 是否有种无从下手迷茫? 如果你有这种感觉,那么要告诉你,是时候停下来了,是的,是时候反思了,跳出来看看整体。...这是问自己第一个问题----为什么要有view? 带着这个问题,去翻看view注释,仅此而已,我们要做就是翻看一下Android对于view说明。你就会有答案。...对于view添加有两种方式 Java代码动态添加 xml布局文件添加 Chapter Four,为什么要自定义view?...这类问题可以参考另一篇博客 Android6.0源码分析之View(一) 第三步,重写onMeasure方法,onMeasure就做了一件事,就是将所测量宽高保存起来,这个view已经做了处理

41610

BigData包含什么?

说个小事情,和本文没有什么太多联系,算是自己吐槽罢了, 被这些人(指第一段的人)搞得,有什么小生和一些创业小子找我时候,“我们是依托于云计算,将我们产品360°无缝链到我们每一个客户手中...,基于互联网+理论和思想,再通过我们生态链......”听他(这位是个学生,以为朋友把推荐给他)一顿说,还有计划未来一年要拉风投......真的是不敢想象。...(他具体做什么就不透露了) 他说:“我们这款产品,面向校园里所有的学生,有想过做校园电商,进军这块领域,感觉不错,有信心做出自己产品来,一年内拉到风投。”...他团队人数倒是给我报很清楚,营销,团队理念,都说出来了,就是第三段那些话,不知道百度哪里“团队管理营销大师”听来,一个月计划,说是乱七八糟......没头没尾。...这三者属于云计算三个模式。 机器学习 数据挖掘算法之决策树算法 聚,时间序列,推荐系统,回归分析,文本挖掘,决策树,贝叶斯分类,神经网络等。

1.4K110

AndroidView研究自学之路 Android6.0源码分析之View(一)Android6.0源码分析之View(二)

是否觉得代码好多方法和字段都搞不懂? 是否有种深陷沼泽,眼前一片漆黑无力感? 是否有种无从下手迷茫? 如果你有这种感觉,那么要告诉你,是时候停下来了,是的,是时候反思了,跳出来看看整体。...简单打个比方,把framework层代码看成是一座座高山,而且是人工假山,在你想翻越这座高山之前你要先看看地图,看看路在哪里,规划一下上山和下山路线。...这是问自己第一个问题----为什么要有view? 带着这个问题,去翻看view注释,仅此而已,我们要做就是翻看一下Android对于view说明。你就会有答案。...对于view添加有两种方式 Java代码动态添加 xml布局文件添加 Chapter Four,为什么要自定义view?...这类问题可以参考另一篇博客 Android6.0源码分析之View(一) 第三步,重写onMeasure方法,onMeasure就做了一件事,就是将所测量宽高保存起来,这个view已经做了处理

59070

芋道 Spring Boot API 接口文档 Swagger 入门

问题二,接口规范。 当团队里没有同意明确接口规范时,又或者代码 Review 做不是很好情况下,千奇百怪、各式各样 API 接口可能就产生了。...因为后端 API 代码API 接口两个地方,我们无法保证提交 API 代码同时,及时更新文档。有的时候,我们甚至会遗忘更新 API 接口。...从使用习惯上,比较喜欢先添加 SpringMVC 注解,再添加 Swagger 注解。 因为已经使用了 Swagger 注解,所以和方法上注释,一般可以删除了,除非有特殊诉求。...@Api 注解废弃属性,建议使用,有 value、description、basePath、position 。...非常推荐生产中,使用它,嘿嘿。 4.

2.5K30
领券