首页
学习
活动
专区
工具
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过程踩到一个坑。

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

1K10

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

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

1.7K10

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

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

41720

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

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

53140

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

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

35320

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

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

3K21

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

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

38730

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

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

78220

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

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

56441

是这么刷题

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

37830

异常处理那些事儿

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

99330

AndroidView研究自学之路

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

41410

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

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

58570

BigData包含什么?

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

1.4K110

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

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

2.4K30
领券