Go语言中文网 为您找到相关结果 128

一起了解什么是高并发

我们在找工作时,经常在招聘信息上看到有这么一条:有构建大型互联网服务及高并发等经验,想到高并发,我们第一想到了媒体上经常出现的新闻阿里双11每秒处理xx万订单,瞬间觉得高并发是一种很屌的技术,很高大上,如果像笔者这种没做过大型服务的普通程序员,在此根据网上的资料,对高并发写一下我个人的看法 高并发的概念 这里我引用一段架构师之路公众号究竟啥才是互联网架构高并发中的一段话来描述: 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求 那么很多请求,具体达到多少请求才算是高并发系统呢?这个也没有明确数量上的定义,根据网上很多大型互联网公司的相关高并发博客,一般PV在千万级别以上的公司才会涉及到这个概念,所以...阅读全文

博文 2017-09-06 11:35:14 tomorrowwu

你可能不知道的的linux文件权限管理

目录的 rwx 权限 当前用户:vagrant:vagrant创建 testdir 目录,进入 testdir 目录内。创建文件 test。 $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls testdir/ ls: cannot open directory testdir/: Permission denied 修改 testdir 权限为 400,尝试执行 ls testdir $ chmod 400 testdir ls -l testdir/ ls: cannot access testdir/test: Permission d...阅读全文

博文 2018-11-19 18:34:46 Y_xx

GO 开发者对 GO 初学者的建议

注:原文地址为 Advise from Go developers to Go programming newbies 以促进 India 的 go 编程作为 GopherConIndia 承诺的一部分。我们采访了 40 位 Gophers(一个 Gopher 代表一个 GO 项目或是任何地方的 GO 程序员),得到了他们关于 GO 的意见。从 2014 年的八月到十一月,我们将每个星期发表两篇采访稿。 如果你正好刚刚开始 go 编程,他们对于我们一些问题的答案可能会对你有非常有用。看看这些。 应该做: 通读 the Go standard library 和 Effective Go,为了学习 GO 的规范,Effective Go 是被高度推荐的,尤其是如果你有其他语言的背景。 在 Go...阅读全文

博文 2017-02-09 13:40:59 yexiaobai

Cadmin 前后端分离后台开发项目

Cadmin 是一个前后端分离的后台开发项目集合,各项目基于前后端接口交互文档进行开发, 便于开发者选择自己熟悉的技术栈进行开发. 在线文档地址:https://baiy.github.io/Cadmin/ 功能 为适应更多的业务场景, 系统尽可能只集成最基础的后台功能, 以减少对业务的干扰. 大致功能如下: 用户/用户组: 后台用户基础信息维护和登录状态保持 权限/请求/菜单: 对前端API请求权限校验和菜单进行配置 请求调度: 请求前端API请求进行调度, 分配给对应的业务模块处理 相关链接 前后端交互接口协议:https://baiy.github.io/Cadmin... 数据库:https://baiy.github.io/Cadmin... PHP服务端 github: http...阅读全文

博文 2019-10-22 18:02:40 baiy

golang的gc流程

一 经典的GC算法 引用计数(reference counting) 标记-清扫(mark & sweep) 复制收集(Copy and Collection) 二 标记-清扫(mark & sweep)算法 golang的gc算法主要是基于标记-清扫(mark & sweep)算法,在了解go的gc先了解一下传统的标记-清扫(mark & sweep)算法。 这个算法有2个操作 标记 清除 mark and sweep算法在执行的时候,需要程序暂停( stop the world ),大致的步骤是: stop the world 暂停程序执行 找到root根对象可以到达的对象做好标记 清除没有做标记的对象 start the world 开始程序执行 三 golang的清除流程 (三色并发...阅读全文

96元购买一年景安快云服务器

96元购买一年景安快云服务器 原价960元一年 刚好 阿里云的活动结束了 景安就接上来了 需要的朋友们可以参加 新用户才可以96元购买 1核CPU 2G内存 1M宽带 50G SSD硬盘服务器 活动链接:https://www.zzidc.com:443/main/huodong/onCloudBuy?groomid=eTGdimieXwM%3D 活动对象是个人实名认证的新用户 新用户:是指账户内没有任何有效订单的个人用...阅读全文

兄弟连区块链培训教程图形用户界面1:初识Walk

很多人喜欢Go语言,其实是因为Go语言有其独特的语言属性在支撑着其在编程语言界的发展,今天兄弟连Go语言+区块链培训老师给大家介绍一下关于Go语言图形用户界面1:初识Walk,下面我们一起来看一下吧。( http://bt.itxdl.cn/ ) Go与GUI——GO语言的图形界面Walk GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。 关于Walk界面库(官方介绍):Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。 安装Walk 在浏览这部分前,请确定已经配置安装完毕go语言的环境。如果没有,可以参考go官网...阅读全文

博文 2018-09-21 16:34:46 兄弟连区块链培训

亿牛云代理告诉你什么样的代理ip才是高质量的代理ip?

高质量的代理ip,必须要符合3个特点: 1、高匿名 2、私密性 3、高质量     虽然现在市面上有很多提供代理ip资源的服务商,可以说想要找到代理ip资源很容易,但是想要找到真实可靠的高质量代理ip资源还是很难的,虽然代理ip市场的发展越来越快,各种各样的代理ip提供商层出不穷,尽管都能够满足用户各类的需求,但是因为各种业务的需求不同,能够找到一个性价比高又质量好的服务商还是很困难的。    不过代理ip资源市场上也不乏拥有这样的代理ip,比如说亿牛云代理,不仅可以提供高质量的代理ip,而且可以根据客户的业务需求定制代理iip,最主要的是他们家的代理实行的是业务独享的方式,这对客户来说是个很好的服务,客户业务独享他们家的代理,那使用的效果肯定是跟其他的代理商业务共享的有很大的优势...阅读全文

Go 1.14 中接口的菱形组合

按照[部分重叠的接口提议](https://github.com/golang/proposal/blob/master/design/6977-overlapping-interfaces.md),Go 1.14 现在允许嵌入有部分方法重叠的接口。本文是一篇解释这次修改的简要说明。 我们先来看 io 包中的三个关键接口:io.Reader、io.Writer 和 io.Closer: ```go package io type Reader interface { Read([]byte) (int, error) } type Writer interface { Write([]byte) (int, error) } type Closer interface { Close() e...阅读全文

博文 2020-05-31 20:25:34 lxbwolf

go垃圾回收

GC算法 1. 引用计数 每个单元维护一个域,保存其他单元指向它的引用数量,当引用的数量为0时,将其回收。 优点: 算法易实现 内存管理与用户程序交织在一起,将GC的代价分散到整个程序,不用STW 缺点 不能处理循环引用 维护引用计数降低运行效率 2. 标记-清扫 是一种自动内存管理,基于追踪的垃圾收集算法。垃圾回收程序对所有的存活单元进行一次全局遍历确定哪些单元可以回收。算法分为两部分:标记和清扫。标记阶段表明所有存活单元,清扫阶段将垃圾回收。 优点: 避免了引用计数不能处理循环引用的缺点 缺点: STW(挂起程序) 三色标记算法:对标记阶段的改进(标记过程和用户程序并发进行) 起初所有对象都是白色 从根出发扫描所有可达对象,标记为灰色,放入待处理队列 从队列取出灰色对象,将其引用对象标记...阅读全文

vim ~/.vimrc

autocmd BufWritePre *.go :Fmt set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#begin() " 让vundle管理插件版本,必须 Plugin 'VundleVim/Vundle.vim' " 以下范例用来支持不同格式的插件安装. " 请将安装插件的命令放在vundle#begin和vundle#end之间. " Github上的插件 " 格式为 Plugin '用户名/插件仓库名' " 以下范例用来支持不同格式的插件安装. " 请将安装插件的命令放在vundle#begin和vundle#end之间. " Gi...阅读全文

博文 2018-07-30 17:34:54 关外飞雁

2018-12-04 连接云服务器搭建Golang环境

一、1.ssh root@地址登录服务器。2.登录服务器失败vim /Users/zt/.ssh/known_hosts在/Users/zt/.ssh/known_hosts删除对应的数据 error 二、步骤我用的阿里云服务器 ubuntu 设置后终端root密码 1.ssh root@X.X.X.X2.(1)ubuntu指令 addgroup 用户组名 centOS指令 可以用groupadd 用户组名(2)useradd -g 用户组 用户名 adduser -g 用户组 用户名 同样 centOS ubuntu (usermod -g 用户组 用户名 //将已有用户加入到已有用户组)(3)passwd 用户名 设置用户密码(4)cd /home 进入home目录 输入ls 查看新建的...阅读全文

博文 2018-12-04 22:34:42 酱酱酱酱_1bbc

程序员应该如何保护用户的密码

最近几年的新闻中一直有互联网头部公司系统被攻击导致用户密码泄露的新闻。那密码被破解肯定和当初项目伊始时选择的密码哈希方案造成的历史包袱有关。我们不讨论这些互联网巨头应该采用什么方案防止用户密码被破解,我知道的方案人家养的那些技术大拿更知道了。我们就来说一下,如果我们有机会自己从零开始做一个系统时,应该选择什么样的哈希算法有效防止用户的密码不被破解。 既然想保护用户密码不被破解,就先了解下破解密码的手段吧。 攻击密码的主要方法 我们需要防御的两种主要的密码攻击方式是: 字典攻击 暴力攻击 它们的工作方式非常简单:使用预先生成的密码哈希列表并进行简单的比较,以找到创建所需哈希的字符串。对于未加盐的密码,可以下载大量预先生成的密码列表。然后只需要简单查找即可。这种列表称被为彩虹表。 如果密码使用了...阅读全文

博文 2020-04-11 10:32:43 KevinYan_a990

解码Redis最易被忽视的CPU和内存占用高问题

我们在使用Redis时,总会碰到一些redis-server端CPU及内存占用比较高的问题。下面以几个实际案例为例,来讨论一下在使用Redis时容易忽视的几种情形。 一、短连接导致CPU高 某用户反映QPS不高,从监控看CPU确实偏高。既然QPS不高,那么redis-server自身很可能在做某些清理工作或者用户在执行复杂度较高的命令,经排查无没有进行key过期删除操作,没有执行复杂度高的命令。 上机器对redis-server进行perf分析,发现函数listSearchKey占用CPU比较高,分析调用栈发现在释放连接时会频繁调用listSearchKey,且用户反馈说是使用的短连接,所以推断是频繁释放连接导致CPU占用有所升高。 1、对比实验 下面使用redis-benchmark工具分...阅读全文

博文 2019-09-26 21:32:50 aside section ._1OhGeD

2018-12-04 连接云服务器搭建Golang环境

一、连接出现的错误 1.ssh root@地址登录服务器。 2.登录服务器失败 vim /Users/zt/.ssh/known_hosts 在/Users/zt/.ssh/known_hosts删除对应的数据 error 二、步骤 我用的阿里云服务器 ubuntu 设置后终端root密码 1.ssh root@X.X.X.X 终端连接服务器 X.X.X.X是IP地址 (1)ubuntu指令 addgroup 用户组名 centOS指令 可以用groupadd 用户组名 (2)useradd -g 用户组 用户名 adduser -g 用户组 用户名 同样 centOS ubuntu (usermod -g 用户组 用户名 //将已有用户加入到已有用户组) (3)passwd 用户名 设置用...阅读全文

博文 2018-12-05 17:34:54 酱酱酱酱_1bbc

CVE-2019-16097

漏洞名称: Harbor任意管理员注册 漏洞简介: 因注册模块对参数校验不严格,可导致任意管理员注册,tui~,就是对has_admin_role压根就没有校验,在普通用户注册基础上增加该值属性为ture即可直接注册管理员,恶臭! 漏洞危害: 攻击者可以通过注册管理员账号来接管Harbor镜像仓库,从而写入恶意镜像,最终可以感染使用此仓库的客户端。 影响范围: 1.7.0-1.7.5 1.8.0-1.8.2 漏洞复现: 大约如下这个样子,但是,虽然注册功能默认开启,但确实是可以关闭,关闭之后注册账号功能处空白,且漏洞无法复现。 什么?懒得开Burp,我也懒,,,还懒得传github,,,就丢这儿吧。 from urllib.parse import urljoin import reques...阅读全文

博文 2020-04-19 03:32:46 RabbitMask

QuickBI助你成为分析师-数据门户权限相关

摘要: 数据门户也叫数据产品,起到菜单作用来展示数据,您可以使用数据门户功能构建例如经营分析系统应用等。在创建数据门户时常遇到报表权限问题,请参考本文。 数据门户也叫数据产品,起到菜单作用来展示数据,您可以使用数据门户功能构建例如经营分析系统应用等。在创建数据门户时常遇到报表权限问题,下面针对几个场景分别分析: 场景一 产品标准版是针对个人开发场景,不支持多用户协同开发,但是有时会遇到要求其他用户查看到自己的数据门户,又可以针对仪表板查看进行权限限制。那么问题来了:数据门户支持分享操作,但是分享操作,被分享者可以查看数据门户中所有仪表板,如果才能做到查看部分仪表板限制呢? 1.创建仪表板 创建‘各区域年度利润金额分析’、‘用户订单详情’仪表板。 ![TB1...阅读全文

2019-02-26 在ubuntu上调试go-ethereum

参考2018-11-22 Debug以太坊go-ethereum实战 这个在windows上调试挺方便的,但是放到ubuntu上死活debug出错,goland到底存在啥问题呢,实在找不到原因,就想到一个折中的方法来解决:使用goland启动go-ethereum,然后使用dlv调试,方法如下: 1、用su修改文件,然后重启 使用dlv attach的时候回出现类似下面的错误 Could not attach to process. If your uid matches the uid of the target process 需要修改文件/etc/sysctl.d/10-ptrace.conf,将此文件下的kernel.yama.ptrace_scope = 1 改为0, 允许普通用户...阅读全文

博文 2019-02-26 11:34:47 oracle3

RSCHA认证第五讲管理本地LINUX用户和组

关于作者,目前在拉勾网任职运维开发部的负责人,长期从事运维开发工作,有多年的运维技能培训能力,培训了多批运维同学,至今大致有300人左右; 发现一问题,好多内容好多年都在重复得讲,没有一个产物直接输出给大家。计划利用空闲时间将多年的知识(分享的内容,包括技能,心得,管理和爱好)沉淀到我的公众号: 北漂悟道之路 qrcode_for_gh_df893b8ca13b_344.jpg 感兴趣的同学可以关注一下我的公众号。 技能:擅长python开发,django框架开发,Kubernetes架构、运维开发架构,Linux运维,Hadoop运维和流行监控;了解golang开发和C++开发。 爱好:美食,自驾和旅游 希望了解作者的同学可以加我微信号:XiaoJiaQingShi RH124系列课程的目...阅读全文

博文 2019-08-09 07:32:45 多多北漂悟道之路

golang的几个问题

面试中有遇到几个golang的问题,记录一下 recover能处理所有的异常吗 根据目前查到的资料和实践, recover能处理程序主动触发的panic和除0以及空指针访问、异常地址访问等错误,因此可以认为是能处理所有异常了。 golang中常量是怎么实现的 这个问法还是很奇怪的, 从汇编中看是对字符串常量加了一个标号,同时设置为SRODATA,也就是只读,对数字常量直接在代码中作为立即数使用了 简单描述下golang的gc算法 golang现行的gc算法是三色标记法,三色指的是在gc过程中会把对象标记给黑,灰,白三色。 三色标记法是对标记-清除算法的优化,目的是减少stop the world的时间。 标记-清除算法: 对象只有黑白两色 stop the world,即停止所有gorout...阅读全文

博文 2019-07-01 00:32:42 王小二黑

Go Web编程--SecureCookie实现客户端Session管理

在Web应用开发中Session是在用户和服务器之间进行交换的非持久化交互信息。当用户登录时,可以在用户和服务器之间生成Session,然后来回交换数据,并在用户登出时销毁Session。gorilla/sessions软件包提供了易于使用的Go语言Session实现。该软件包提供了两种不同的实现。第一个是文件系统存储,它将每个会话存储在服务器的文件系统中。另一个是Cookie存储,它使用我们上篇文章讲的SecureCookie在客户端上存储会话。同时还提供了用户自定义Session存储实现的选项,我们可以根据应用的需求自己实现Session存储。因为我们的教程是学会使用为目的就不大费周章的去实现MySQL或者Redis版本的Session存储了,我们直接使用软件包提供的Cookie实现来完...阅读全文

博文 2020-03-12 09:32:42 Kevin

Go语言(十二)web编程

web编程 web编程基础 web的工作方式 http协议介绍 http请求体 http响应体 Web程序开发 基于“net/http”封装的web服务相关的功能 使用简单 func sayhelloName(w http.ResponseWriter,r *http.Request) { r.ParseForm() //参数解析 fmt.Printf("r.Form:%v\n",r.Form) fmt.Printf("Path:%v\n",r.URL.Path) fmt.Printf("Schema:%v\n",r.URL.Scheme) fmt.Printf("r.Form[url_long]:%v\n",r.Form["url_long"]) for k,v := range r.Fo...阅读全文

博文 2020-04-16 11:33:54 wx5b285b48ed74e

这个机器人应用,可以让机器人变成火警情报员

_可编程全地形机器人HEXA在正式面向用户时,曾发起“HEXA人类导师计划”,得到不少用户的购买申请,随着体验的深入,不少用户开发出了许多有趣实用的机器人应用,我们将陆续把这些应用的代码分享出来,感兴趣的伙伴们可以尝试体验。今天分享的是用户RiverLLZ开发的火情警报的机器人应用(Skill)——Fire Marshall Rob_ ![输入图片说明](https://static.oschina.net/uploads/img/201711/10142843_0MWN.png "在这里输入图片标题") 我在入手HEXA之前,曾玩过Arduino套件。所以在拿到HEXA之后很自然就想把两样”混搭”一下。在Arduino套件里我有一个火焰传感器,是之前在网上买的,非常便宜。要是能...阅读全文

CentOS7开启SSH并且安装Docker与oh-my-zsh

开启SSH 修改SSH配置文件/etc/ssh/sshd_config vi /etc/ssh/sshd_config 修改38行PermitRootLogin和65行PasswordAuthentication为yes 设置密码, 输入命令 passwd 重启SSH服务使修改生效 service sshd restart ##centos 7 安装zsh配置oh-my-zsh 安装: yum install -y zsh 设置默认shell: chsh -s /bin/zsh 安装Git: yum install -y git 安装oh-my-zsh(自动) -- 网络问题可能会报错 -- curl: (7) Failed connect to raw.githubusercontent....阅读全文

博文 2020-04-23 10:32:51 Ozixue