共有3914页,39138篇文章。

go语言杂谈

基于drone构建CI-CD系统

kubernetes集群三步安装 CI 概述 用一个可描述的配置定义整个工作流 程序员是很懒的动物,所以想各种办法解决重复劳动的问题,如果你的工作流中还在重复一些事,那么可能就得想想如何优化了 持续集成就是可以帮助我们解决重复的代码构建,自动化测试,发布等重复劳动,通过简单一个提交代码的动作,解决接下来要做的很多事。 容器技术使这一切变得更完美。 典型的一个场景: 我们写一个前端的工程,假设是基于vue.js的框架开发的,提交代码之后希望跑一跑测试用例,然后build压缩一个到dist目录里,再把这个目录的静态文件用nginx代理一下。 最后...

阅读该文章
go语言杂谈

(golang学习)3. go线程、协程理解

1.进程、线程、协程区别 a.各自特点 参考《详细介绍 进程、线程和协程的区别》 进程:拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度; 线程:拥有自己独立的栈和共享的堆,共享堆,不共享栈,标准线程由操作系统调度; 协程:拥有自己独立的栈和共享的堆,共享堆,不共享栈,协程由程序员在协程的代码里显示调度。 协程与线程:每个单位时间内,一个CPU只能处理一个线程(操作系统:thread),线程是CPU处理的单位或单元,底层资源占用中等(比进程少)。线程中程序的执行过程是:同步阻塞的(依次执行),非抢占式的(依代码编写顺序)。开发上比较清晰明了。协程是“...

阅读该文章
爬虫

node爬虫实践总结

网络爬虫 (又被称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 随着web2.0时代的到来,数据的价值愈发体现出来。无论是在目前火热的人工智能方向,还是在产品侧的用户需求分析,都需要获取到大量的数据,而网络爬虫作为一种技术手段,在不违反主体网站基本要求的情况下是获取数据成本最低的手段。与此同时,爬虫技术也飞速发展。 了解爬虫,首先要了解一个君子协议。 robot.txt协议 该协议是搜索引擎从业者和网站站长通过邮件讨论定下的,有几个重要的特点: robot.txt协议是蜘蛛访问网站的开关,决定蜘蛛可以抓...

阅读该文章
go语言杂谈

Go 内存管理之二

## 概述 之前在 [povilasv.me](https://povilasv.me/) 上,我们一起探讨了 [GO 内存管理](https://povilasv.me/go-memory-management/) [GCTT 译文](https://studygolang.com/articles/14956),并且留下了两个小的 Go 程序,它们运行时分配的虚拟内存大小显著不同。 首先,我们一起来看一下占用很多虚拟内存的程序 `ex1`。它的代码如下: ```go func main() { http...

阅读该文章
滚动条

使用CSS隐藏元素滚动条

如何隐藏滚动条,同时仍然可以在任何元素上滚动?首先,如果需要隐藏滚动条并在内容溢出时显示滚动条,只需要设置overflow:auto样式即可。想要完全隐藏滚动条只需设置overflow:hidden即可,但是这样一来将导致元素内容不可滚动。时至今日,还没有任何一条CSS规则可以使元素可以隐藏滚动条的同时依然可以滚动内容,只能通过针对特定浏览器设置滚动条样式来实现。Firefox浏览器对于Firefox,我们可以将滚动条宽度设置为none: scrollbar-width: none; /* Firefox */ IE浏览器对于IE,我们需要使用-ms-prefix属性定义滚动条样式: -ms-...

阅读该文章
go语言杂谈

如何处理 Go 语言中的错误

## 精通 Go 语言实用错误处理方式 ![images](https://raw.githubusercontent.com/studygolang/gctt-images/master/error-handling-in-go/1_BmEMrWVjQVUs5bwWTn_AIg.png) *这篇文章是[“在你进入到 Go 语言的世界之前”](https://medium.com/gett-engineering/before-you-go-go-bf4f861cdec7) 系列中的一部分。在这里,我们可以一起探索 Golang 的世界,让你了解用 ...

阅读该文章
面试

Web前端面试之什么是闭包?

前言 在我面试时问出的一系列问题里,闭包通常是我问的第一个或最后一个问题。坦白地说,如果你连闭包也弄不明白,你是不会在 JavaScript 的道路上走多远的。 你别东张西望,说的就是你。你真的理解如何构建一个严谨的 JavaScript 应用?你真的理解代码背后发生的事情或者说一个应用程序是如何工作的?我表示怀疑。如果连个闭包问题都搞不清的话,真是有点够呛。 你不仅仅应该了解闭包的机制,更应该了解闭包为什么很重要,以及能够很容易地回答出闭包的几种可能的应用场景。 闭包在 JavaScript 中常用来实现对象数据的私有,在事件处理和回调函数中也常常会用到它,此外还有偏函数应用(partial...

阅读该文章
go语言杂谈

Go 语言是 Google 的语言,不是我们的

> GCTT 观点:有一个组织把控 Go 的发展方向,这其实一定程度上是一件好事,否则 Go 不知道又发展成什么了。 在 Twitter 上,我看到了[下面的问题](https://twitter.com/kapoorsunny/status/1130150301468700674)([via](https://old.reddit.com/r/golang/comments/bqiyyb/generics_in_go/)): > 在 Go 话题下有很多人在讨论泛型,为什么我们不能拥有像 OpenGo 这样的东西,通过社区就可以实现 Go...

阅读该文章
代码

写业务代码最容易掉的8种坑

1、客户端的使用 我们在使用Redis、ElasticSearch、RabbitMQ、Mongodb等中间件或存储的时候肯定都会使用客户端包来和这些系统通讯,我们也会使用Http的一些客户端来发Http请求。在使用这些客户端包的时候,非常容易犯错的一个地方就是Client的使用方式,比如有一个叫做RedisClient的类,是Redis操作的入口。你应该是每次使用new RedisClient().get(KEY)呢还是注入一个单例的RedisClient呢? 我们知道,这些组件的客户端往往需要和服务端通过TCP连接进行远程通讯,考虑到性能,客户端一般都维护连接池做长链接,如果RedisCli...

阅读该文章
go语言杂谈

Go 的 Protocol Buffer 教程

欢迎程序员们!在这个教程里面,我们将学习如何在你的 Go 应用中使 protocol Buffers 数据格式。我们将详细讲述这种数据格式,以及为什么这种数据格式优于传统的数据格式,例如 XML 甚至 JSON。在我们写更多复杂的例子之前,我们将从一个简单的例子开始编写运行。 在这个教程的最后,你会对 protoco Buffe 有一个基础的了解,并且你将可以顺利的写出更好的系统。 ## 视频教程 https://www.youtube.com/embed/NoDRq6Twkts?ecver=2 ## Pr...

阅读该文章

推荐图集: