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

xxl-jobgolang客户端

# xxl-job go-client xxl-job golang 客户端 > 自动注册 > BEAN模式 > kill掉耗时任务 # Example ``` package main import ( xxl "github.com/xxl-job/go-client" "github.com/xxl-job/go-client/example/task" ) func main() { exec := xxl.NewExecutor( xxl.ServerAddr("http://127.0.0.1/xxl-job-admin"), xxl.ExecutorIp("127.0.0.1"), //可自动获取 xxl.Execu...阅读全文

开源项目 2020-07-16 23:29:57 如水

Go Agent

在这片神奇的土地上,FQ应该是每个网友必需掌握的技能,FQ的首要,就是F过心里的Q。心中无Q,才是最重要的。本教程介绍用 GAE(Google App Engine)FQ的方法。GAE的官方介绍:“Google App Engine,在Google的基础架构上运行您的网络应用程序。” GAE的优点很多,首先它是完全免费的,并且非常稳定,其次它提供大流量,足够让你在YouTube上看各种视频了。 注意事项! 本教程开始之前需要准备Gmail账号和Chrome浏览器。go agent在这里http://www.dengyukeji.com/thread-567-1-1.html下载。 操作步骤 1、打开:https://appengine.google.com/,输入gmail用户密码登入。 2...阅读全文

博文 2015-06-18 09:09:14 dengyukeji

一个轻量级的分布式定时任务调度平台-Cloudtask

什么是Cloudtask? Cloudtask 是一个轻量级的分布式定时任务管理平台,它非常轻量小巧,使用简单,我们可以上传、暂停/启动任务,克隆一个任务,修改任务的执行命令,或者查看任务的调度状态、执行日志,开发人员可以采用自己最熟悉的编程语言来编写任务程序,可以是一个控制台程序,也可以是一段 shell 脚本,上传至平台后设置定时执行规则即可。 设计方案 Cloudtask 后端为无状态服务,通过 Zookeeper 实现集群各节点间的发现与协调,节点以心跳方式注册到注册中心,中心服务器统一管理着所有集群,任务调度以集群方式进行分配,具有良好的可扩展性,任务分配信息按集群划分并将分配数据存储到 Zookeeper 节点,保持分配数据的一致性。 更多文档 https://cloudtask...阅读全文

分布式定时任务库dcron分布式定时任务库

## dcron 分布式定时任务库 ### 原理 基于redis同步节点数据,模拟服务注册。然后将任务名 根据一致性hash 选举出执行该任务的节点。 ### 流程图 ![dcron流程图](https://github.com/LibiChai/dcron/raw/master/dcron.png) ### 特性 - 负载均衡:根据任务数据和节点数据均衡分发任务。 - 无缝扩容:如果任务节点负载过大,直接启动新的服务器后部分任务会自动迁移至新服务实现无缝扩容。 - 故障转移:单个节点故障,10s后会自动将任务自动转移至其他正常节点。 - 任务唯一:同一个服务内同一个任务只会启动单个运行实例,不会重复执行。 - 自定义存储:通过实现driver接口...阅读全文

开源项目 2019-08-13 15:14:20 LibiChai

分布式任务调度平台forest

# 分布式任务调度平台 ## 前言 在企业系统开发过程中难免少不了一些定时任务来进行定时触发执行任务,对于非分布式环境系统中,我们只需要在对应系统中内部集成一些调度库进行配置定时触发即可。 比如:使用Spring框架集成quartz,只需要进行一些简单的配置就能定时执行任务了。但是随着企业的系统越来越多、逐步从单一应用慢慢演变为微服务集群。 在分布式集群系统中主要面临出如:任务的重复执行、没有统一定时任务配置、任务节点故障转移、任务监控&报警等一些列的功能都是要在分布式系统中进行解决。 此分布式的定时任务调度平台,它非常轻量小巧,使用简单,后端以中心服务器为调度核心,负责集群中各种任务的动态分配和调度执行。 在平台前端支持Web界面可视化管理,我们可以创建、暂...阅读全文

开源项目 2019-07-26 10:09:46 busgo

统一任务调度平台scheduler for golang

在企业项目开发中会定时执行对应的job,对于一些简单少的job可以直接使用调度器调度执行任务。当随着公司的业务越来越多,执行任务越来越多。那么直接使用任务调度器调度任务执行会变得臃肿,而且对于任务是动态配置不可实现。如:想某一个时刻停止任务的执行、删除此任务然后修改更新任务执行时间等,如某一个任务配置到多台机器上如何做到不可用时,进行转移等问题。 为了解决此类问题,我们需要对任务的调度和执行进行分开。有统一的任务调度中心-专门进行任务的调度分发任务工作,各个任务的具体任务执行分配到个个项目中。从而达到对任务的统一配置和管理。 #基础环境 #GO环境 cd /usr/local/src/ mkdir -p $HOME/gocode/src # tar -zxf go1.8.3.linux-am...阅读全文

博文 2017-07-11 11:04:02 13614

高性能任务调度引擎Volcano

Volcano 是基于 Kubernetes 的批处理系统,源自于华为云 AI 容器。Volcano 方便 AI、大数据、基因、渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异构芯片管理,高性能任务运行管理等能力。 ## 整体架构 ![volcano](https://static.oschina.net/uploads/img/201907/03110508_8Omm.png) Volcano 提供一整套目前 K8S 在批量和弹性工作负载处理中缺失的机制,包括: 1. 机器学习/深度学习 2. 生物信息学/基因组学 3. 其他“大数据”应用 这些类型的应用程序通常运行在Volcano集成的Tensorflow,Spark,PyTorch,MPI等通用域框架上...阅读全文

Goland安装Goimports工具

我们在使用命令go get拉取golang官方网站里面的包的时候是拉取不下来的,因为有墙的原因,有种方法,是:科,学,上。网。另外一种方法就是安装一个gopm的工具。 1. 从github拉取gopm > go get github.com/gpmgo/gopm (注意:go get 工具要使用git,你的提前安装git工具,如果没有安装请提前安装好) 然后在你的GOPATH目录的./bin目录下就有了gopm工具的可执行文件。 然后就可以使用gopm工具拉取golang官网的三方包了。 拉取Goimports的文件 > gopm get -g -v -u golang.org/x/tools/cmd/goimports 然后就可以使用go的install或者build工具编译成可执行程序。...阅读全文

博文 2019-02-17 20:34:43 _AlphaBaby_

beego框架中如何动态加载模板?

练手一个项目,登陆后首页会首先加载模板文件生成左侧菜单栏,这些模板文件通过beego模板语法来加载。本意想把模板语法作为字符串保存到数据库中,从数据库中取出来然后循环输出到首页的html文件中,而不是直接写在首页的html文件中。但是发现,这样动态得到的模板语法字符串不能被解析。具体情况如下: 1、在controller中这样写: // loginController.go 登陆控制器 package controllers import ( "github.com/astaxie/beego" ) type LoginController struct { beego.Controller ...阅读全文

给开发者介绍一款可连接AS和Eclipse实现远程调试的工具

**前言**: 移动开发者们在开发一款APP或者手游的时候,都会用到模拟器或者真机来调试应用,可是模拟器的缺点大家都知道,速度慢、卡顿、调试结果跟实际情况有差别。而真机的购机成本又很高。所以想为大家推荐一款新型开发工具,可以用来代替模拟器和传统的[真机调试](http://www.testbird.com/tphone-remote-debug/ ) 方法。 **[Testbird——云手机](https://dt.testbird.com/sign_up/?i18n=zh-cn&cl=eBn2yB&invite=YjX97B/ ) ** 从本质上来讲,云手机也属于真机调试,但是你却不需要花费很多钱去购买,因为它的操作模式可以让你从你的电脑端上远程连接到位于Testbi...阅读全文

google hosts 2015 最新版本

chromr浏览器注意:在地址栏里输入 "chrome://flags/",然后查找QUIC,启用该协议,同时建议启用 "SPDY/4",能让访问更流畅。 #google hosts 2015#更新时间:2015年1月13日#持续更新地址:http://www.cnblogs.com/echoyy/ #base services 64.233.168.87 google.com 64.233.168.87 www.google.com 64.233.168.87 m.google.com 64.233.168.87 scholar.google.com 64.233.168.87 translate.google.com 64.233.168.87 books.google.com 64.2...阅读全文

博文 2015-01-16 18:00:01 echoyy

Go 程序在 macOS 上的打包功能

这篇文章简单地说明了如何在 macOS 上打包一个 Go 的程序,包括引用或者不引用外部资源。作为一个原生的 Cocoa 程序它是可以下载、安装和运行的。开发过程并不需要 XCode,cgo 或者其他特殊的库文件。 在此文章结尾处,你的 Go 程序将会被打包进一个 `.app` 文件,成为一个拖放安装的只读 DMG 文件。这也适用于其他非 Go 语言的程序。 关于这个端到端的解决方案的主题还有其他很多的指导文章,有的讲的比我想要做的内容多很多,有的又是采用不同的方式,而我想呈现给你的是如何将文件打包的过程。 **要求**:你必须要有一个 macOS。此方法不会在 Windows 或者 Linux 上生效。事实上,它也可能生效,但是你必须要手动或者借助某些疯狂的工具来制作和 macOS 相关的...阅读全文

分布式后台任务队列模拟(Golang)

最近研究了下gowoker,这东西代码少而精,Golang真是很适合实现这类东西。 我去掉参数配置,JSON,Redis这些东西,用goworker的方式做了个最简单的实现。 实现如下功能: 1. worker向JobServer注册可执行的功能 2. JobServer轮询,有job就执行,没有则继续轮询 3. client向JobServer提出任务请求,并传入参数 4. JobServer依请求丢给worker执行(可并发或串行执行) 5. JobServer继续轮询 我弄的这个代码很少,其中队列用数组代替,同时省掉了很多东西, 但保留了其goroutine与channel最基础的实现。 如果想看goworker的,可以参考下我这个,应当可以更快的弄明白goworker。 演示例子及运...阅读全文

博文 2015-06-17 20:03:48 xcltapestry

Go 语言的 CMS 工具库 Qor

Qor 是基于 Golang 开发的的CMS 一系列工具库,基于 Qor可以快速搭建网站的后台管理系统。 Qor 的工作库包含: 1,后台管理:可以对数据库进去 CURD 管理,支持一对一,一对多,多对多关联关系维护等等 2,支持上传图片到云以及 filesystem,resize、crop 图片等等 3,Publish 发布系统,可以修改数据,并且经过检查后,再发布到正式环境中 4,状态机,可以用于开发工作流的系统 5,I18n,翻译,可以通过在 WEB 界面翻译,并将翻译保存到数据库中 6,L10n,本地化,不同于翻译,他可以针对某个地区来对内容,或者数据结构进行本地化。 7,Roles,权限管理 8,Exchange,通过 Excel,CSV 导入导出数据 9,Wo...阅读全文

Google资深工程师深度讲解Go语言

课程地址:http://icourse8.com/go_pachong.html
课程地址:http://icourse8.com/go_pachong.html
课程目录第1章 课程介绍第2章 基础语法第3章 内建容器第4章 面向“对象”第5章 面向接口第6章 函数式编程第7章 错误处理和资源管理第8章 测试与性能调优第9章 Goroutine第10章 Channel第11章 http及其他标准库第12章 迷宫的广度优先搜索第13章 开始实战项目第14章 单任务版爬虫第15章 并发版爬虫第16章 数据存储和展示第17章 分布式爬虫第18章 课程总结 class Solution: def isMonotonic(self, A: List[int])...阅读全文

博文 2019-05-24 20:35:12 zhongjunr

轻量级的分布式定时任务调度平台Cloudtask

一个轻量级的分布式定时任务调度平台-Cloudtask ![image](https://static.oschina.net/uploads/img/201803/23165643_69Aq.jpg) **什么是Cloudtask?** Cloudtask 是一个轻量级的分布式定时任务管理平台,它非常轻量小巧,使用简单,我们可以上传、暂停/启动任务,克隆一个任务,修改任务的执行命令,或者查看任务的调度状态、执行日志,开发人员可以采用自己最熟悉的编程语言来编写任务程序,可以是一个控制台程序,也可以是一段 shell 脚本,上传至平台后设置定时执行规则即可。 **架构设计** **![image](https://static.oschina.net/uploads/img/2018...阅读全文

开源项目 2018-03-23 17:30:02 网友

Go语言开发工具LiteIDE

Go语言最初在2009年11月对外公布,在2011年3月16日发布第一个release,第一个正式版本Go1于2012年3月28日推出。在Go语言的正式版本推出后,Eclipse、IntelliJ IDEA、vim、emacs、gedit、SublimeText2、Textmate、Textpad、SciTE、Notepad++等IDE和编辑器开始纷纷有了各自的Go语言插件。 LiteIDE是一款专为Go语言开发而设计的跨平台轻量级集成开发环境(IDE),基于Qt开发,支持Windows、Linux和Mac OS X平台。LiteIDE的第一个版本发布于2011年1月初,是最早的面向Go语言的IDE之一。到2013年1月为止,LiteIDE已经发布到版本X16。 LiteIDE主要特点 支持...阅读全文

博文 2014-10-17 10:00:01 hypnosis01

分布式任务调度平台-forest

# 分布式任务调度平台 > 演示地址:http://122.51.106.217:6579 ## 前言 在企业系统开发过程中难免少不了一些定时任务来进行定时触发执行任务,对于非分布式环境系统中,我们只需要在对应系统中内部集成一些调度库进行配置定时触发即可。 比如:使用Spring框架集成quartz,只需要进行一些简单的配置就能定时执行任务了。但是随着企业的系统越来越多、逐步从单一应用慢慢演变为微服务集群。 在分布式集群系统中主要面临出如:任务的重复执行、没有统一定时任务配置、任务节点故障转移、任务监控&报警等一些列的功能都是要在分布式系统中进行解决。 此分布式的定时任务调度平台,它非常轻量小巧,使用简单,后端以中心服务器为调度核心,负责集群中各种任务的动态分配和调度执行。 在平台前端支持W...阅读全文

博文 2019-10-23 11:27:45 busgo

windows 下 LITE IDE go lang 安装配置使用

下载地址 liteide:http://sourceforge.net/projects/liteide/files windows 环境 下载下来是个压缩包,解压缩 作者:风来了.呆狐狸 配置 目录说明 E:\go E:\go\go #go.bat文件存放目录,该目录就是GO lang ZIP 压缩包解压缩后的目录,GO 环境核心目录 E:\go\GOPATH #扩展包或下载目录 E:\go\Dev #开发项目存储目录 GO 环境配置请看 http://blog.csdn.net/fenglailea/article/details/41444203 打开liteide 目录下 bin文件夹,liteide.exe 右击创建桌面快捷方式。 然后 双击 启动, 菜单栏 查看-> 管理GOPA...阅读全文

博文 2014-12-05 01:00:02 wljk506

Go语言开发分布式任务调度 轻松搞定高性能Crontab

第1章 课程介绍本章中将介绍一下本课程的基本内容,包括:我们要做什么、要求什么基础、将学会哪些工具、收获哪些独家干货,以及课程具体安排。第2章 如何执行shell命令执行"定时任务"其实就是执行"shell命令"。在本章中,将首先带大家区分"程序"与"命令",接着了解bash命令解释器的2种工作模式,并图示分析shell执行任务的底层原理与涉及的系统调用。最后,我们使会用Go语言的Command标准库,实现任务的执行,输出捕获,杀死任务等重要功能。 ...第3章 如何解析cron表达式cron表达式是配置定时任务执行周期的核心工具。在本章中,将首先分析cron表达式的构成以及解析逻辑,并利用开源项目cronexpr解析cron表达式并计算任务的下次调度时间。之后,我们将利用其实现任务并发调度...阅读全文

博文 2019-03-14 01:34:41 18304356293

构建开发者能力金字塔,化解年龄焦虑 2018-9-10

构建开发者能力金字塔,化解年龄焦虑很多开发者对年龄很焦虑。要入行时,到处找人问,程序员到底是不是青春饭。干了几年,快30了,开始担忧,到底能干到多少岁,该不该转管理。过了30了,开始跟着大家讨论,35岁到底是不是程序员的一道坎,要是干不成管理,是不是该转行了。过了35了,开始在知乎上翻回答,看40以上的程序员都干什么去了。……一开始我也是焦虑的,不过后来想明白了,精力的不足,可以用经验、技巧和方法论来弥补。这个道理,从《天龙八部》中也可以看出来。《天龙八部》第39章——“解不了,名缰系嗔贪”——中有几段文字,描写了大轮明王鸠摩智如何借助小无相功运使少林七十二绝技,惊倒玄生、玄慈等少林高僧,非常精彩。(想看的小伙伴可以戳这里:大轮明王鸠摩智教你找核心竞争力。)对鸠摩智来讲,少林七十二绝技是外在...阅读全文

阿里巴巴高级专家为你为你讲解分布式系统开发——调度技术

课程介绍 本章知识针对分步式系统中的调度技术进行阐述,比较Hadoop MR,Yarn等系统见的区别,并指出阿里Fuxi系统在任务调度和资源调度时的处理方法,并对未来发展进行展望。 讲师简介: 陶阳宇,阿里巴巴高级专家,主要从事大型分布式系统和高并发系统的开发,在系统架构设计,性能优化等方面有丰富积累,参与研 发了阿里云”飞天”分布式平台,支持5000节点大规模集群,主持研发了在线服务框架FuxiService、实时计算系统FuxiOnlinejob等多个线上产品,2015年带领团队在世界排序大赛SortBenchmark’2015中夺得冠军,打破两项世界纪录。曾在国际会议VLDB、CSDN等杂志发表过多篇技术文章,作为教师讲授清华大学大数据课程。 课程目标 ...阅读全文

Golang Walk 托盘菜单

最近在用Golang开发一个客户端。客户端打开之后,会打开系统浏览器然后弹出一个网页。 目前已经写的差不多了,但是有个问题疑惑着我,Golang有没有类似C# contextMenu的东西呢,我在 github.com 上看到了 walk. 一个非常不错的golang gui开发框架,这个实现了类似于C# ContextMenu的东西 下面是一个非常简单的小示例: package main import ( "github.com/lxn/walk" "log" ) func GuiInit() { mw, err := walk.NewMainWindow() if err != nil { log.Fatal(err) } //托盘图标文件 icon, err := walk.Resou...阅读全文

博文 2019-03-24 14:34:45 smoothcraft

Win7下搭建Go语言开发环境

Win7下搭建Go语言开发环境 1 下载适合window版本的Go安装包,下载地址http://code.google.com/p/go/downloads/list 2 下载适合window本本的LiteIDE,下载后解压即可使用 下载地址http://code.google.com/p/golangide/downloads/list 3 解压下载的Go安装包,开始配置环境变量 4 新建一个名为GOROOT的环境变量 5 在系统的Path环境变量中添加go的bin目录 6 打开LiteIDE的bin目录下的liteide.exe,开始配置Go的编译环境,依次点击菜单栏上的的:查看 -> 选项 -> LiteEnv,因为电脑上装的32位系统,所以双击win32.env进行环境变量编辑 7 ...阅读全文

分布式数据传输中间件DTLE

**DTLE是一个开源的数据传输中间件**,其针对的核心场景如下:  **跨数据中心的数据传输**:DTLE能在数据中心间进行可靠数据传输,并提供链路压缩以降低传输成本 **云间数据同步/迁移**:DTLE能提供在公有云间架设数据同步通道,以支持数据容灾等需求 **数据汇聚**:DTLE能将多个数据源汇聚到同一个数据源,以提供数据分析/数据转储的功能 **数据订阅**:DTLE能将数据源的变更消息发往Kafka等消息中间件,以支持数据订阅通知/缓存失效通知等需求 **跨数据中心的双向复制**:DTLE能在数据中心间提供双向复制通道,以配合业务实现数据双写   **分布式架构**:DTLE在数据传输这个基本场景上,使用了成熟的分布式任务调度架构,可以便捷地在集群中配置大量的数据传...阅读全文

谷歌 Go 语言迎来三岁生日

谷歌Go语言近日迎来了3周岁生日。谷歌在2009年11月首次宣布推出Go语言项目,截止到今天,已有数百个外部贡献者加入并参与贡献,也有大量的组织或机构开始转向Go语言,其中包括BBC Worldwide、 Canonical、CloudFlare、Heroku、Novartis、SoundCloud等。谷歌自己也使用该语言开发了一些Web应用程序以及Doodles等。 Go语言结合了动态语言易于编写的特性和静态语言的高效性,最初定位于网络服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以帮助开发者创建并行任务。Go开发团队曾表示,编译完成的Go程序运行速度接近C语言实现的程序。 今年3月份,谷歌发布了Go语言的第1个稳定版本,在此之后,谷歌又为该项目增加了一个包管理系统goi...阅读全文

博文 2014-10-09 16:00:08 wangguo

Uber如何使用go语言创建高效的查询服务

在2015年初我们创建了一个微服务,它只做一件事(也确实做得很好)就是地理围栏查询。一年后它成了Uber高频查询(QPS)服务,本次要讲的故事就是我们为什么创建这个服务,以及编程语言新秀Go如何帮我们快速创建和扩展该服务。 背景 在Uber,一个地理围栏就是在地表人为定义的地理区域(或多边形几何区域)。地理围栏在Uber被广泛用于基于地理位置的设置。向用户展示给定区域有哪些产品可以使用,根据特殊需要(如机场)定义区域,并在乘车高峰时在相邻区域实施动态定价是我们产品的重要应用场景。 一个科罗拉多地理围栏示例。 第一步是通过用户手机获取地理位置信息如经纬度,进而确定用户所在地理围栏。这个功能分散在多个服务或模块中。因为我们从整体架构向微服务架构迁移,我们选择将这个功能做成一个新的微服务。 使用G...阅读全文

博文 2016-05-04 11:00:00 zengmingen

本站全面启用 HTTPS

HTTPS 已经成为了标配,Apple 公司在 iOS 推行 HTTPS,Google 在最新版本的 Chrome 浏览器中,对于有表单的页面,如果是 HTTP,会在地址栏直接显示“不安全”字样,安全性受到越来越多的重视。 为了顺应潮流,即日起,本站启用 HTTPS,目前 HTTP 方式还可以访问,一段时间后,会做自动重定向。欢迎大家使用 HTTPS 访问本站! 注:一些主题中,图片可能是 http 的,这样的页面,暂时不做处理...阅读全文

golang web 从网页地址栏获得参数,然后输出

地址栏输入http://localhost:8880/user?Id=1&name=guo package mainimport ( //"database/sql" //_ "github.com/mattn/go-sqlite3" "fmt" "log" "net/http" //"strconv")func addUser(w http.ResponseWriter, req *http.Request) { userId := req.FormValue("Id") name := req.FormValue("name") out := userId + "-" + name log.Println(out) fmt.Fprintf(w, out)}func sayHello(w ...阅读全文

博文 2015-08-09 11:00:02 石头军

分享一个快速构建 RESTful API的Go 框架snake

snake snake 一款适合于快速开发业务的Go框架,主要是提供API服务。 技术栈 框架路由使用 gin 路由 中间件使用 gin 框架的中间件 数据库组件 gorm 文档使用 swagger 生成 配置文件解析库 viper 使用 JWT 进行身份鉴权认证 校验器 validator 也是 gin 框架默认的校验器,当前最新是v9版本 任务调度 cron 包管理工具 go module 测试框架 goConvey CI/CD Github Actions 特性 遵循 RESTful API 设计规范 基于 GIN WEB 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、请求频率限制、追踪 ID 等) 基于 GORM 的数据库存储 JWT 认证 支持 Swagger 文档(基于...阅读全文

博文 2020-04-11 14:32:42 如来神掌

请教:如果设置让窗体不在任务栏里出现(测试设置窗体WS_EX_TOOLWINDOW属性无效果)

下面是测试代码,是我哪里弄错了,请高手指教,谢谢。 ```go package main import ( "github.com/lxn/walk" "github.com/lxn/walk/declarative" "github.com/lxn/win" ) func main() { form := new(walk.MainWindow) declarative.MainWindow{ AssignTo: &form, Title: "test", Size: declarative.Size{300, 300}, }.Create() setFormStyle(form) form.Run(...阅读全文

Golang 在windows下walk窗口界面设计二

先看下window窗口的定义,这下就明朗了,walk的窗口是结构是这样定义的 type MainWindow struct { AssignTo **walk.MainWindow //关联 Name string //窗口名 一旦设置了无法更改 Enabled Property //是否禁用 Visible Property //可视化 Font Font //字体 MinSize Size //最小化尺寸 MaxSize Size//最大化尺寸 ContextMenuItems []MenuItem //窗口菜单栏 OnKeyDown walk.KeyEventHandler //键盘按下 OnKeyPress walk.KeyEventHandler //键盘按下前的事件,不把按键的结...阅读全文

博文 2017-03-18 05:00:37 大洋的顶端

Go 博客平台 Pipe 1.6.0 发布,支持 sitemap

[Pipe](https://github.com/b3log/pipe) 是一款小而美的开源博客平台,使用 golang、Vue.js 编写。 v1.6.0 主要是支持了 sitemap 和 RSS 输出。 关于**独立账号体系**的特性正在通过社区进行投票,欢迎大家[前来支持](https://github.com/b3log/pipe/issues/117)! ### 安装 [下载](https://pan.baidu.com/s/1jHPtHLO)最新的 Pipe 包解压,进入解压目录直接运行 pipe/pipe.exe 可执行文件即可。 从 1.5.0 升级只需将已有的配置拷贝覆盖即可,启动后会自动升级。 ### 文档 * [Pipe 用...阅读全文

Goroutine协程池ants

ants是一个高性能的协程池,实现了对大规模goroutine的调度管理、goroutine复用,允许使用者在开发并发程序的时候限制协程数量,复用资源,达到更高效执行任务的效果。 功能: 1. 实现了自动调度并发的goroutine,复用goroutine 2. 提供了友好的接口:任务提交、获取运行中的协程数量、动态调整协程池大小 3. 资源复用,极大节省内存使用量;在大规模批量并发任务场景下比原生goroutine并发具有更高的性...阅读全文

一文读懂什么是进程、线程、协程

进程 我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源的分配和管理,统领整个计算机硬件;应用程序则是具有某种功能的程序,程序是运行于操作系统之上的。 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。 进程一般由程序、数据集合和进程控制块三部分组成。 程序用于描述进程要完成的功能,是控制进程执行的指令集; 数据集合是程序在执行时所需要的数据和工作区; 程序控制块(Program Control Block,简称PCB),包含进程的描述信息和控制信息,是进程存在的唯一标志。 进程具有的特征: 动态性:进程是程...阅读全文

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

待机任务调度与警报工具GoAlert

GoAlert 是一个待机任务调度与警报工具,支持自动上报与通知(通过 SMS 或语音通话),以在正确的时间以正确的方式自动通知到对应的负责人。 ![image](https://static.oschina.net/uploads/space/2019/0617/143154_NUY1_3820517.png) 特性: * 可以自定义 GoAlert 给他人发送通知,保证在你不方便的时候也不会错过任何警报 * 管理团队任务,控制待机人员并快速查看相关信息 * GoAlert 为现有监控和遥测系统的外部集成提供了便利的选项 * 可以通过适合移动设备的 Web UI 或简单的单字符 SMS 回复来确认和关闭警...阅读全文

开源项目 2019-07-05 12:30:01 target

golang runtime实现多核并行任务

首先我们需要明确一下并行跟并发的区别,并发一般是被内核通过时间片或者中断来控制的,遇到io阻塞或者时间片用完的时会转移线程的使用权。一个核的情况下不可能有并行的情况,因为同一时间只有一个任务在调度。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/2016/03/05/golang-runtime%E5%AE%9E%E7%8E%B0%E5%A4%9A%E6%A0%B8%E5%B9%B6%E8%A1%8C%E4%BB%BB%E5%8A%A1/ Golang默认所有的任务都在一个cpu核里,如果想使用多核来跑goroutine的任务,需要配置runtime.GOMAXPROCS。 GOMAXPROCS的数目根据自己任务量分配就可...阅读全文

博文 2017-04-04 19:21:47 rfyiamcool

解决Jetbrains的开发工具不能运行或调试(run/debug)go/golang程序[Intellj Idea,Webstorm,PyCharm,PhpStrom,Android Studio]

Go插件 首先确保装了go插件:Files-Settings-Plugins-Browse repositories,搜索Go,然后Install 设置Project SDK 需要给你打开的项目设置一个Go的SDK它才能辨别这是Go的项目,如果没设置请先设置:File-Project Structure,选择Go的SDK,如果还没添加就New一个 设置完后根据提示Reload一下 Run package 如果运行单个文件,比如:main.go,代码里用了其它文件里定义的函数、struct等,这时直接运行会报undefined的错。这时我们需要运行整个包而不是单个文件,Run-Edit Configurations-点左上角的”+”-Go Application,这时可能会看到类似这样: 给它...阅读全文

博文 2016-10-04 17:00:00 QQ245671051

go任务调度7(etcd的watch的用法)

监听etcd中的kv变化,常用来做集群中的配置下发、状态同步,非常有价值。 package main import ( "go.etcd.io/etcd/clientv3" "time" "fmt" "context" "go.etcd.io/etcd/mvcc/mvccpb" ) func main() { var ( config clientv3.Config client *clientv3.Client err error kv clientv3.KV watcher clientv3.Watcher getResp *clientv3.GetResponse watchStartRevision int64 watchRespChan <-chan clientv3.WatchR...阅读全文

博文 2019-04-20 18:35:10 梁十八

windows下liteIDE搭建go开发环境

windows下liteIDE搭建go开发环境 1. 下载安装go http://code.google.com/p/golangide/downloads/list 2. 下载LiteIDE最新版本并安装 http://code.google.com/p/golangide/downloads/list 3. 环境变量配置如下 4. 配置LiteIDE使用的GO编译环境 点击查看->选项,打开页面如下:选择Litenv进行配置, 选择适用于自己的版本,我选择是wine64env需要修改几个地方 请仔细看图。 菜单栏:查看-> 选项 -> LiteEnv 如果是 32 位就双击并编辑 win32.env ,如果是 64 位的双击并编辑 win64.env 以 win64.env 为例,编辑以...阅读全文

博文 2015-06-18 09:02:47 chenglinhust

Sublime Text 2搭建Go开发环境

本文在已安装Go环境的前提下继续。 1、安装Sublime Text 2 2、安装Package Control。 运行Sublime,按下 Ctrl+`(`在1键左边),然后输入以下内容: import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').w...阅读全文

博文 2014-10-21 11:00:00 LvanNeo

Sublime Text 3 安装Go语言相关插件gosublime时 搜不到gosublime

在windows下golang开发环境搭建时(具体步骤网上很多,百度搜索括号前的文字即可找到),遇到了很尴尬的情况(如下图),百度也没有找到想类似的情况, 解决办法:手动安装gosublime插件:1.从 工具栏--- Preferences----可以看到 Browse Package(第一个就是),打开后,即找到了插件安装路径,如:C:\Users.....AppData\Roaming\Sublime Text 3\Packages 2.打开网页https://github.com/DisposaBoy/GoSublime,下载gosublime的zip包,解压到上一步的路径上3.解压后的文件名字改为GoSublime (注意要下载master分支的zip,下载后文件名为GoSubli...阅读全文

博文 2019-11-14 23:33:31 更多精彩内容Mac 环境下将Sublime Text 3 作为Ruby on Rails 编辑器的安装及配置王振华1990Sublime Text 无法使用Package Control或插件安装失败的解决方法 云端漫记自用Sublime Text 插件

谷歌发布 Go 1.1 正式版本

谷歌Go语言开发团队今天发布了1.1正式版本。 Go是谷歌于2007年9月启动设计的编程语言,最初定位于web服务、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以帮助开发者创建并行任务。Go将动态语言易于编写的特性和静态语言的高效性相结合,具备良好的易用性和极佳的执行效率。 与1.0版本相比,该版本的主要改进如下: 1. 性能改进 与1.0版本相比,该版本对编译器和链接器、垃圾回收、goroutine(Go语言的并发机制)调度、map实现、部分标准库进行了优化,基于该版本构建的Go代码运行速度将会明显提升。 2. 语言本身的变化 语言本身有一些细微的变化,其中两个需要注意的变化是:放宽了return语句的限制(可以简化现有代码中多余的return语句,使程序更加简洁)、引入了方法...阅读全文

Go语言近况

Go语言是Google公司的实验性语言,以BSD协议开放源代码。Go语言在Inferno操作系统相关的研究工作基础上开发,最初由Rob Pike等Google工程师在2007年9月启动设计工作,在2009年11月正式对外发布。 Go将动态语言易于编写的特性和静态语言的高效性相结合,具备良好的易用性和极佳的执行效率。Go语言最初定位于网络服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以方便的帮助开发者创建并行任务。Go语言具有效率极高的编译器,目前Go编译器能在Linux、FreeBSD以及Mac OS X平台下运行,但暂时没有对Windows环境提供编译支持。Go开发团队曾在博客中表示,编译完成的Go程序运行速度接近C语言实现的程序。 在今年五月份举办的Google I/O...阅读全文

博文 2014-12-08 02:00:03 aylixuan

Go语言近况

Go语言是Google公司的实验性语言,以BSD协议开放源代码。Go语言在Inferno操作系统相关的研究工作基础上开发,最初由Rob Pike等Google工程师在2007年9月启动设计工作,在2009年11月正式对外发布。 Go将动态语言易于编写的特性和静态语言的高效性相结合,具备良好的易用性和极佳的执行效率。Go语言最初定位于网络服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以方便的帮助开发者创建并行任务。Go语言具有效率极高的编译器,目前Go编译器能在Linux、FreeBSD以及Mac OS X平台下运行,但暂时没有对Windows环境提供编译支持。Go开发团队曾在博客中表示,编译完成的Go程序运行速度接近C语言实现的程序。 在今年五月份举办的Google I/O...阅读全文

南京招聘Golang工程师

工作地点:南京市楚翘城,双休五险一金,10K-20K,物联网行业 核心技能: •Go, C++/C, Lua •高并发/并行处理/队列/任务调度相关工作经历 大型系统项目经验佳 还期望您可能具备: •集群, Docker部署; •Linux 基础; •JavaScript/Node.js; •内存库:Redis, mongo…; •关系数据库: Postgres, MySQL...; •MQ 相关: MQTT,CoAP...; •会 Java/C#, 有强烈学习意愿. 其他: •欢迎完美主义者/小偏执狂:-) 岗位职责: •各种姿势 Coding; •做好TDD驱动或开发者驱动测试; •任务/故障跟踪...阅读全文

GC(垃圾回收)必须Stop-the-world?

GC(垃圾回收)必须Stop-the-world? 并发编程的许多困难都源于对象生存期问题,当对象在线程之间传递时,要确保它们安全地释放就变得很麻烦。因此GC可以使得并发编程变得容易。但是实GC也是一个挑战,但是一次实现,就可以解决人们手动管理内存的麻烦(C语言),大大提高的开发效率和避免了许多Bug。 但是GC也是有成本的,他会影响程序的效率,GC是一个非常挑战的工作,很多计算机科学家在上面耗费了数十年不断的提升效率。 GC算法设计时,会考虑几个重要指标: 程序吞吐量:GC对程序效率的影响,也就花费在GC的时间和程序处理正常业务的时间比; GC吞吐量:单位时间内垃圾回收的数量; 暂停时间:Stop-the-world 的时间; 并发:垃圾回收机制如何使用多核; 等等还有很多 很多人问为什么...阅读全文

博文 2019-10-30 14:04:17 _西门吹牛