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

教你轻松做一个响应式网站

在响应式还未流行的时候,很多企业与互联网公司都觉得响应式网站应该是大企业才用的上,大企业才有资金去投入。对于这个问题小编只能说,没错放在前段时间做一个响应式网站的确需要高投入,而且还很耗时间。但是放在今天来讲,小编可以告诉你,以现在的互联网技术,做一个响应式网站快的只需要几个小时,需要细致完成的也就几天时间。这样的发展速度,让众人所惊叹! 在响应式还未流行的时候,很多企业与互联网公司都觉得响应式网站应该是大企业才用的上,大企业才有资金去投入。对于这个问题小编只能说,没错放在前段时间做一个响应式网站的确需要高投入,而且还很耗时间。但是放在今天来讲,小编可以告诉你,以现在的互联网技术,做一个响应式网站快的只需要几个小时,需要细致完成的也就几天时间。这样的发展速度,让众人所惊叹! 现在...阅读全文

go database/sql包sql.Open不是长连接

sql.Open 不会创建连接 ,只会创建一个DB实例,同时会创建一个go程来管理该DB实例的一个连接池(是长连接,但不是在Open的时候创建)。 在调用Begin()取一个连接,回滚或者提交得时候归还。如果你直接使用时Exec()执行,则每次会从连接池里面取出一个连接,到Exec执行完毕的时候归还。可以通过参数来调节连接池的大小。 golang sql包已经做了并发处理,自己通过channel的方式维护了一个连接池,所以没有必要在go程中加锁共享。 关于每次sql.Open,我觉得应该是一个不恰当的做法,这会导致连接得不到重用,并产生过多的短时间关闭的连接,给数据库造成没必要的压力...阅读全文

博文 2015-12-23 04:00:01 s630405377

程序员在家办公挣得更多

程序员在家办公挣得更多 --- 对于程序员来说,凭借自身的技能和经验,外加一些简单的IM沟通,就可以独立完成工作,只要需求明确,那么和其他人面对面沟通的必要性是很有限的。 所以,已经有很多程序员辞职成为自由职业者,边旅游边工作。他们时间自由的同时,财务也更加自由:有数据显示,自由开发者获得的平均报酬要比那些在办公室工作的开发者高出40%。 这些自由开发者在靠谱的IT众包平台上寻找适合自己的任务,完成在线合同和交付任务等一系列交易环节,过程无需任何线下操作,第三方平台完全保证交易双方的利益。只要完成需求方的开发任务,就可以得到相应的报酬。 --- **IT开发众包平台是如何保证程序员安全云工作的?** 拿“[云沃客][1]”网站为例,IT众包流程如下: ![1....阅读全文

我们已经拉开了差距之二

图片发自简书App 我的大学同学,现在是某知名教育机构的讲师,看了看她的朋友圈,惊叹!有人正在过着我想要的生活。压力了,焦虑了,Golang分布架构师,是讲啥的,我百度了一下,什么都不懂了,我们的差距,毕业十年就如此之大了。现在的我还在自认为努力学习,奋斗中,而早奋斗的人已经品尝胜利的果实了,还赶趟吗?与其苦苦挣扎不去釜底抽薪吧!不能放弃成长,种树最好是十年前,其次是现在,虽然短时间不能追上她的,至少会变得更好,梦想要有,每天都拿出来看看,行动,努力实现它...阅读全文

博文 2020-01-12 23:32:50 爱咋咋地康立娜

golang:使用timingwheel进行大量ticker的优化

Ticker 最近的项目用go实现的服务器需要挂载大量的socket连接。如何判断连接是否还存活就是我们需要考虑的一个问题了。 通常情况下面,socket如果被客户端正常close,服务器是能检测到的,但是如果客户端突然拔掉网线,或者是断电,那么socket的状态在服务器看来可能仍然是established。而实际上该socket已经不可用了。 为了判断连接是否可用,通常我们会用timer机制来定时检测,在go里面,这非常容易实现,如下: ticker := time.NewTicker(60 * time.Second) for { select { case <-ticker.C: if err := ping(); err != nil { close() } } } 上面我们使用一个...阅读全文

博文 2014-10-15 00:01:22 siddontang

程序员在家办公挣得更多

**程序员在家办公挣得更多** --- 对于程序员来说,凭借自身的技能和经验,外加一些简单的IM沟通,就可以独立完成工作,只要需求明确,那么和其他人面对面沟通的必要性是很有限的。 所以,已经有很多程序员辞职成为自由职业者,边旅游边工作。他们时间自由的同时,财务也更加自由:有数据显示,自由开发者获得的平均报酬要比那些在办公室工作的开发者高出40%。 这些自由开发者在靠谱的IT众包平台上寻找适合自己的任务,完成在线合同和交付任务等一系列交易环节,过程无需任何线下操作,第三方平台完全保证交易双方的利益。只要完成需求方的开发任务,就可以得到相应的报酬。 --- **IT开发众包平台是如何保证程序员安全云工作的?** 拿“[云沃客][1]”网站为例,IT众包流程如下: ...阅读全文

为物联网而生:高性能时间序列数据库HiTSDB商业化首发!

摘要: 近日,阿里云宣布高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 正式商业化。 近日,阿里云宣布高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 正式商业化。 先跟大家聊一下什么叫时序数据。简单的说,就是时间上分布的一系列数值,关键字是数值,我们一般认为的时序数据是什么时间发生了什么事情,但是在时序数据这个领域里定义的时序数据全都是跟数值有关的。也就是说,如果只是一个带有时间戳的一条数据并不能叫做时序数据。举个例子,比如像我早上8点半上楼吃了个饭这条记录,相当于一个日志,这个本身不构成一个时序数据,但是如果某个餐厅早上8点...阅读全文

Golang net/http: HTTP/1.x transport connection broken: malformed HTTP status code "HTTP/1.1"

简述今日用golang开发微信小程序 请求wechat服务接口碰到一个问题记录一下 请求发生了错误 用golang 标准库请求发生了错误 胡乱猜想协议不对 服务器挂了???之后用了postman 工具模拟请求了一下如下 并没有网络错误 此时之前猜想的微信服务器出了问题排除了。最后我仔细看了下请求的日志终于发现了问题 参数之间有了空格 原因参数之间有空格所以才会报net/http: HTTP/1.x transport connection broken: malformed HTTP status code "HTTP/1.1"总结犯错误到是没什么,低级错误真是害死人,太耽误时间了!!...阅读全文

博文 2019-10-18 19:32:48 aside section ._1OhGeD

golang 时间加减

time包中的Add和Sub的用法,Add用于计算某个时间之前和之后的时间点,Sub用于计算两个时间差 package main import ( "fmt" "strings" "time" ) func main() { // Add 时间相加 now := time.Now() // ParseDuration parses a duration string. // A duration string is a possibly signed sequence of decimal numbers, // each with optional fraction and a unit suffix, // such as "300ms", "-1.5h" or "2h45m". // ...阅读全文

博文 2019-08-29 14:33:46 Steven_25bb

Golang多线程文件传输

Golang多线程文件传输 ------------------------------ 前段时间抽空用Golang简单实现了一下多线程文件传输。 采用的方式为将待传输的文件拆分成多部分由多个协程同时传输。服务端在全部数据接收完成后将文件拼接还原为原文件。 服务端编译后直接执行,客户端至少需要带一个参数:待发送文件名 。另外更多参数中,第二参数为指定服务端最终生成的文件名。第三个参数为单次发送数据包的大小(单位:Byte),最大不超过18K。第四个参数为待发送文件拆分的个数,其对应发送的协程数量。 好了,下面是全部代...阅读全文

博文 2015-06-17 20:02:30 LvanNeo

PostgreSQL 的指标记录仪 Pome

Pome 是 **Po**stgres **Me**trics 的意思。Pome 是一个 PostgreSQL 的指标仪表器,用来跟踪你的数据库的健康状况。项目目前还在非常初级的阶段,还有许多特性没有补全。 [更多内容](http://rachbelaid.com/introducing-pome) [](http://rachbelaid.com/introducing-pome) **Pome 目前收集了下列的指标:** * 数据库大小(Database size) * 表格大小(Tables size) * 索引大小(Indexes size) * 连接数(Number of Connections) * 臃肿表格的比率( Ratio of the most bloat...阅读全文

开发者必备的swift技巧

不管是swift语言还是其他什么编程语言,如果我们在使用中,能掌握一部分小技巧的话,往往都能达到事半功倍的效果,今天和大家分享的就是swift开发中的一些小技巧,一起来看看吧。 通过Guard来验证方法   Swift的guard语句让代码更简洁、更安全。guard语句会检查一到多个情况,找出不符合else部分的调用。而else部分需要return,break,continue或throw语句来终止方法的执行,也就是说终止程序控制的执行。   我们使用guard语句来减少代码混乱,并避免在if/else语句中的嵌入。由于在guard语句的else部分中,代码必须转移程序控制的范围,如果出现无效的情况,简单地采用if语句来调用return语句更为安全。在编译时这些bug仍...阅读全文

App开发者:一个你从未体验过的自动化测试平台

“测试”在移动互联网界应该是耳熟能详的词汇了,目前几乎所有开发者在进行研发的过程中都要进行应用的测试,常用的使用模式大致有三类: 完全黑盒、基于脚本、基于录制回放 但使用过的朋友应该知道这三类模式都存在很难解决的缺陷,那么同作为开发的笔者,也是尝试、更换了无数的测试平台与工具,最终对自己的工作效率或者效果提升都不明显,而接下来,笔者将向大家推荐一款最近正在试用的一个自动化测试平台,目前来说效果还不错,经过笔者的研究和梳理总结,整理出了这个平台的构架与理念,希望各位做开发、测试的朋友能够有机会来尝试一番。 逻辑架构 ![图片 1.png](http://studygolang.qiniudn.com/170214/79ee116e9126cdad8e5a8ebe00...阅读全文

PostgreSQL 管理系统 pgweb

pgweb 是一个采用 Go 语言开发的基于 Web 的 PostgreSQL 管理系统。 主要特性: * 可连接到本地和远程服务器 * 浏览表格和表格数据 * 读取表格详情,包括结构、大小、索引和行数 * 执行 SQL 查询和运行分析 * 导出查询结果到 CSV * 查看查询历史记录 支持 PostgreSQL 9.1-9.3,服务器启动参数:

Usage:
  pgweb [OPTIONS]

Application Options:
  -v, --version  Print version
  -d, --debug    Enable debug...阅读全文

开源项目 2014-10-27 16:00:00 sosedoff

Greenlets间如何实现互相通信?

  Greenlets互相通信之Event   1.为什么引入Event;   2.Event是什么;   3.编程实例。   为什么引入Event   1.windows中有Events,作为线程间同步的方法;   2.Gevent中则是Greenlet间“同步”的一种方法;   3.获得某个时机;   4.比如学校,下课铃响了,大家可以放学回家了;   5.如果纯手工,如何实现?   代码实例:   # -*- coding: utf-8 -*-   import gevent   from gevent.event import Event, AsyncResult   evt = AsyncResul...阅读全文

云计算学习需要多长时间呢?云计算是什么?

云计算,是大家都比较熟悉的,经过最近几年的发展,云计算已经获得了很大的关注和重视,吸引了越来越多人的眼球和关注,也有不少人的想要学习linux云计算。 但是对于零基础的人员来说,根本不知道什么是云计算?其实简单的来说,云计算就是一种资源交付、使用模式,通过网络获得应用所需要的资源,提供资源的网络叫做云,云中可以进行无线的拓展,随时可以进行获取的。 可以按需进行购买,就好比百度云盘一样,属于云计算里面的公有云。那么云计算听起来复杂,学习会很难吗?学习周期是多长? 其实从划分上来说,云计算分为了公有云、私有云、混合云等多种,不给大家一一讲解这三种的具体表现,但是大家一定要记住,云计算运维相对于编程语言来说,更容易入门,也非常容易掌握,对于零基础的人员来说是非常不错的选择。 对比编程语言来说,编程...阅读全文

博文 2019-11-13 16:34:15 zhouzhou2018

记录从android开发转golang后台开发

自从golang问世之后 一直就对其非常感兴趣,也同时利用业余时间去学习相关知识。当初也是凭着兴趣爱好去学习这门新语言,也没想到现在有机会转做服务器golang开发。服务器开发相关知识犹如汪洋大海,学习起来真是非常辛苦,但自己还是下定决心去做了。怎么说呢,毕竟已经从事Android开发五年,觉得自己应该尝试去学习一下新的东西,挑战一下自己。尝试着站在服务器开发的角度上来看业务问题,这完全是另外一片视野空间。经常有同事问我,为什么选择golang 而不是选择Java等成熟的编程语言,其实这里是这么想的,我觉得任何语言其实都是让我们达到目的的一种方式,没有必要去对比其中的优劣。转做服务器已经有一段时间了,现在才有时间出来写写自己的感想,第一次写感想,云里来雾里去的...阅读全文

博文 2018-07-07 15:34:43 诸葛烤红薯

关于golang 文件映射的API

var mapper = &mmapper{ active: make(map[*byte][]byte), mmap: mmap, munmap: munmap, } func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { return mapper.Mmap(fd, offset, length, prot, flags) } func Munmap(b []byte) (err error) { return mapper.Munmap(b) } 在文件syscall_linux.go中 记录以...阅读全文

博文 2015-11-26 02:00:23 u011363248

golang 爬取教务系统的成绩 goquery的使用

const ( login_url string="你的网页"//登陆页 post_url string="你的URL"//跳转页(隐藏路由) main_url string="你的URL"//进入学生专区页 score_url string="你的URL"//成绩页面 creit_url string="你的URL" ) func Login(id string,password string,kksj string,xsfs string) (interface{} interface{},interface{},interface{}){ course_url := "http://jwcxxcx.ccsu.cn/jwxt/tkglAction.d...阅读全文

golang gui介绍

在之前说句:努力过自己想要的生活,珍惜你我他,如果自己的控制力不行,请像办法提升自己不要浪费时间。你可以做任何事情。 首先我们找到go作为21世纪的c语言,饱受开源社区的喜欢,我们都知道c语言是世界上最强大的语言,c可以做一切,go作为21世界c也同理。 当时golang官网没有出gui库,但是有我们玩go玩的6的开发了很多库可以让我们参考 **walk的git地址为:http://github.com/lxn/walk 开发文档为:http://godoc.org/github.com/lxn/walk** package main import ( "log" ) import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarat...阅读全文

博文 2020-04-27 19:32:49 南苑bert

后端工程师入手了树莓派 pi 3B和SIM 900

po 主是苦逼码农一枚,软件工程师,做服务端方向,主要写 nodejs & golang 偶尔写点 python,所以这是一篇刚刚拥有第一个开发板的小白写的小白文,以上是背景 前段时间为了改善生活买了一块树莓派3,装了 debian 8 jessie。 1. 换清华的源: sudo vi /etc/apt/sources.list 注释掉其他的源插入这两个: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-fr...阅读全文

博文 2017-06-15 19:06:38 HughFace

golang:使用timingwheel进行大量ticker的优化

Ticker 最近的项目用go实现的服务器需要挂载大量的socket连接。如何判断连接是否还存活就是我们需要考虑的一个问题了。 通常情况下面,socket如果被客户端正常close,服务器是能检测到的,但是如果客户端突然拔掉网线,或者是断电,那么socket的状态在服务器看来可能仍然是established。而实际上该socket已经不可用了。 为了判断连接是否可用,通常我们会用timer机制来定时检测,在go里面,这非常容易实现,如下: ticker := time.NewTicker(60 * time.Second) for { select { case <-ticker.C: if err := ping(); err != nil { close() } } } 上面我们使用一个...阅读全文

博文 2015-08-19 03:00:00 moxiaopeng

go mod replace 记录

cloud.google.com/go => github.com/GoogleCloudPlatform/google-cloud-go latestgolang.org/x/crypto => github.com/golang/crypto latestgolang.org/x/exp => github.com/golang/exp latestgolang.org/x/image => github.com/golang/image latestgolang.org/x/lint => github.com/golang/lint latestgolang.org/x/mobile => github.com/golang/mobile latestgolang.org/x/mod...阅读全文

博文 2019-08-09 20:32:58 福州王子

Vs - 基于 d3.js 和 vue.js 的数据可视化

### Vs 概述 > Vs 是一个基于 `d3.js` 和 `vue.js` 的数据可视化分析包,适用于图表,dashboard 制作。 [Github Repo](https://github.com/GopherJ/Vs) ### 目前支持的组件 - `d3Bar` - `d3Line` - `d3Pie` - `d3ProgressArc` - `d3SankeyCircular` - `d3Timelion` - `d3Timeline` ### 主依赖 - `d3.js v4` - `vue.js v2.5` ### 安装 ```javascript npm i -S GopherJ/Vs ``` ### 使用 > 建...阅读全文

使用golang的channel的坑

很多时候我们经过使用有缓冲channel作为通信控制的功能,以至有一些误解和坑出现。 ## 误解一:有缓存channel是顺序的 执行下面代码。 ``` package main import ( "time" "math/rand" ) func main(){ cache:=make(chan int,4) go func() { for i:=0;i< 10;i++ { cache<-i } }() go getCache(cache) go getCache(cache) go getCache(cache) ...阅读全文

golang -- 时间日期总结

golang时间处理 相关包 "time" 时间戳 当前时间戳 ? 1 2 fmt.Println( time .Now().Unix()) # 1389058332 str格式化时间 当前格式化时间 ? 1 2 fmt.Println( time .Now().Format( "2006-01-02 15:04:05" )) // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5 # 2014-01-07 09:42:20 时间戳转str格式化时间? 1 2 3 str_time := time .Unix(1389058332, 0).Format( "2006-01-02 15:04:05" ) fmt.Println(str_time) # 20...阅读全文

博文 2015-08-31 15:00:01 徐学良

2019年7月复盘

柳传志复盘方法论 1、回顾目标:当初目的或期望是什么 2、评估结果:和原定目标相比有哪些亮点和不足 3、分析原因:事情成功和失败根本原因,包括主观和客观两方面 4、总结经验:需要实施哪些新举措,叫停哪些项目等 本月周复盘汇总 2019第27/52周复盘 2019第28/52周复盘 2019第29/52周复盘 2019第30/52周复盘 2019第31/52周复盘 1、7月计划完成情况 []《论语》每周写1/2篇解读。 [] 跟上混沌商学院的课程。 [] 跑步6.47/50公里。 [] 完成Golang的课程。 [] 股票相关内容和写作方式学习。 [] /3篇周期文章的编辑。 7月书单:《投机者的扑克》、《狙击牛熊市》、《优势投资法则》、《外汇交易的10堂必修课》、《一个农民的亿万传奇》、《战...阅读全文

博文 2019-08-03 22:32:40 空灵一月

新网站的运营每天更新内容及数量的问题

新建的网站一般需要大概半个月时间才会收录。而这段时间需要你定期更新网站内容。最好是每天更新一次,千万别偷懒哦。这个区间是最重要的,最好就是每天更新一个类型的内容。并且内容不能复制,必须是原创内容。别再搞那些为原创,这种真的没什么用。不要为了收录而刻意去做。我们做网站必须端正心态,做的任何事情必须以用户体验为中心,不要为了追求一定的利益去做。最好就是写一些自己感兴趣而且比较在行的内容。这样更新起来不费力,而且也不累。 如果你是按照用户体验来运营网站,那么你的出发点就是更好的做内容,而更不会去复制或者随便乱写一些无意义的东西。这样坚持做下去肯定会带来不错的效果。至于外链方面也不要太激进,不要一次性大量发很多,要发就发高质量的内容加外链。最好做到定期去做,别一时兴起来了就短时间增加的太多。下面总...阅读全文

程序员如何预估自己的项目开发时间?

项目时间的估算对项目的成败至关重要。项目时间管理包括了项目按时完成所需的各个过程。但是,在实际项目中,经常出现项目延期,估算严重不准确的现象。预估时间本身就很难。每个程序员的估计都会跟真正需要的时间有些差距。估计时间短了说明有些事情被忽略了(编译,测试,提交代码)。估计时间超了说明任务太大,难以理解。对于资历较浅的程序员,这种估计误差是混乱的,他们经常会轻视一些任务,同时又对一些稍微有难度的任务过分高估。我认为,对一个有经验的程序员,一个任务的时间应该在半小时到24小时之间,超出24小时的任务都需要拆分。程序员在脑中想一想可能会认为要60小时,但实际上即使是很有经验的程序员也需要将任务分成可控的模块再来分析做决定。还有一个很重要的需要认识到的一点是,编程上的经验并不等同于时间估计上的经验。一...阅读全文

博文 2018-09-28 08:59:43 androidstarjacksky

golang esl api

通过ESL 调取FS的状态,比如show calls : 用golang eventsocket 实现 conn, err := eventsocket.Dial("192.168.5.32:8021","ClueCon") if err != nil { this.emitError(so, 413) return "" } ev, _ := conn.Send(fmt.Sprintf("api show calls")) calls := strings.Split(ev.Body, "\n") for i := 1; i < len(calls)-3; i++ { //处理每一条记录 ...阅读全文

博文 2016-01-12 03:00:00 logo-fox

Golang函数执行模板(log,耗时,panic)

有些函数执行前后,需要加日志、记录耗时、还要处理panic,都是些重复性的东西。 所以弄了个模板式的东西,碰到这类需求,直接把相关函数和参数,丢到run函数去就不用管了,省得浪费时间。 先上个调用例子: //函数执行模板 //author: Xiong Chuan Liang //date: 2015-3-19 package main import ( "fmt" "log" "os" "utils" ) func main() { log.SetOutput(os.Stdout) w := utils.NewWorker() w.Run("myPrintf()", myPrintf, "aa", "bb") } func myPrintf(args ...interface{}) (in...阅读全文

博文 2015-06-17 20:23:36 xcltapestry

学习hadoop需要多长时间?学习hadoop开发

hadoop是大数据开发学习重要知识点,也是大数据开发工作必备技能,有些人员想学习hadoop,更多的是关系培训时间和学费,那么hadoop培训到底需要多长时间呢? 首先我们要了解的是,hadoop培训的时间长短,跟以下几个因素有关。 首先培训多久跟学习者的自身基础水平有关,同样的内容,之前有过相关基础的人来学习,肯定要比没有基础的人更快,这个是正常现象。既然谈到了有没有基础这个事情,就多说一句,如果你有java的经验,那么在学习hadoop等大数据相关的内容的时候,会更容易理解,学习效率也更高。而对于什么基础都没有的,也不要担心,调整好心态,一步步来,最终结果取决于自己,而不是取决于是否有基础。 另外既然谈到培训,那么最重要的必然就是课程,目前市面上的hadoop大数据培...阅读全文

程序员如何预估自己的项目开发时间?

项目时间的估算对项目的成败至关重要。项目时间管理包括了项目按时完成所需的各个过程。但是,在实际项目中,经常出现项目延期,估算严重不准确的现象。 预估时间本身就很难。每个程序员的估计都会跟真正需要的时间有些差距。估计时间短了说明有些事情被忽略了(编译,测试,提交代码)。估计时间超了说明任务太大,难以理解。 对于资历较浅的程序员,这种估计误差是混乱的,他们经常会轻视一些任务,同时又对一些稍微有难度的任务过分高估。我认为,对一个有经验的程序员,一个任务的时间应该在半小时到24小时之间,超出24小时的任务都需要拆分。程序员在脑中想一想可能会认为要60小时,但实际上即使是很有经验的程序员也需要将任务分成可控的模块再来分析做决定。 还有一个很重要的需要认识到的一点是,编程上的经验并不等同于时间估计上的经...阅读全文

博文 2018-09-28 09:34:39 程序员小灰

【职场轶事】与求职者的一段对话引发的思考

早上八点,上班的地铁上,我习惯性的打开工作微信查看。有一个陌生人要求加我为好友,出于猎头的直觉(又是一名求职者),我马上通过他的请求。刚一通过请求他便发来信息(我暂且用A来称呼他)。“你好,你们公司还招人吗?”A发来微信。“你好,请问是从哪里看到我的招聘信息的?”我发问到。作为一名专业的猎头,利用的渠道实在是太多了,所以会先确定一下求职者是通过哪个渠道找到我的。“某某社区”A回答到。 随后我向他说明自己是猎头,并不是甲方公司及确定他是否找我推荐职位后,就进入了职位沟通环节。我习惯性的先了解对方的背景,所以我随即便向他索要简历,这也是减少双方在没必要的环节浪费时间。他回答说没有现成的简历,我便开始询问一些常规性的却也是至关重要的问题:1.你工作几年了?答:五年2.什么学校毕业的?答:某某工学院...阅读全文

博文 2018-08-16 09:51:18 kelasong

[golang]一定要设置超时

运行了好长时间的进程忽然挂了,结果打出好长的堆栈,显然是goroutine泄漏了。 逻辑很简单只是定时从指定api取值而已,怎么会泄漏呢? net/http.(*Transport).getConn //获取连接 /usr/local/go/src/net/http/transport.go:1004 created by net/http.(*Transport).getConn //建立新连接 /usr/local/go/src/net/http/transport.go:998 net.(*Resolver).LookupIPAddr //DNS查询 /usr/local/go/src/net/lookup.go:227 created by internal/singleflight...阅读全文

博文 2019-01-06 18:34:46 一桶冷水

通过leetcode学算法——动态规划(dp)

先贴问题: Delete Operation for Two Strings Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 the same, where in each step you can delete one character in either string. 说白了就是找到两个字符串非连续最大公共字符串。如果对dp算法很熟悉的很快就能想到这个问题的解法,然而我并不是很熟悉,所以用了一个很挫很慢的方法,个人理解应该是分治法,很多步骤被重复算了很多次。 写的很搓,轻喷。 下面就要介绍一下简单易懂的dp算法啦,先上代码(leetco...阅读全文

博文 2017-08-02 03:06:31 Tibbersshao

Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】...阅读全文

博文 2016-10-08 10:00:04 tree2013

golang 学习记录

package main /* #include #include struct CType { int Id; int Id2; }; typedef struct CType TheCType; TheCType *getTheArray(int length){ TheCType *ctype; ctype = malloc(length*sizeof(TheCType)); return ctype; } void Free(TheCType *ctype){ free(ctype); } */ import "C" import ( //"fmt" "reflect" //"time" "unsafe" ) var theGoSlice [...阅读全文

博文 2014-10-04 19:27:30 984195889

raft简单介绍

一致性算法 - Raft Raft 状态 一个 Raft 集群包含若干个服务器节点;通常是 5 个,这允许整个系统容忍 2 个节点的失效,每个节点处于以下三种状态之一: follower(跟随者) :所有结点都以 follower 的状态开始。如果没收到 leader消息则会变成 candidate状态。 candidate(候选人):会向其他结点“拉选票”,如果得到大部分的票则成为leader。这个过程就叫做Leader选举(Leader Election)。 leader(领导者):所有对系统的修改都会先经过leader。 Raft 一致性算法 Raft通过选出一个leader来简化日志副本的管理,例如,日志项(log entry)只允许从leader流向follower。 基于lead...阅读全文

博文 2018-08-06 11:34:53 kakushao

基于time的ticker封装的定时器

本人最近新学GO,为了能够深入了解GO,于是计划使用GO实现一个高并发、IO密集操作的ETL程序。闲话不多说,今天完成了ETL中最基本的要素,定时器。首先了解到GO中的time.Ticker不适用到高精度的定时器,因为ETL任务周期设定是1分钟,故此处无需高精度的定时器(对于高精度的定时器,在网上看到有人使用时间轮实现timewheel,我也看了实现,并且也按其思路实现了一版,此处略去)。封闭的类型:TimeTicker,使用示例代码如下:func main() { var tt *timeticker.TimeTicker = timeticker.New(3*time.Second) //创建一个3秒钟执行一次任务的定时器 e := tt.AddJob(job, true) //向此定时...阅读全文

博文 2018-04-11 22:36:24 duy_2018

go指南:映射练习

题目 题目地址https://tour.go-zh.org/moretypes/23 练习:映射 实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。 你会发现 strings.Fields 很有帮助。 答案 package main import ( "golang.org/x/tour/wc" "strings" ) func WordCount(s string) map[string]int { sFields := strings.Fields(s) var resMap = map[string]int{} for _,v := range sFields{ resMap[...阅读全文

自己业余时间学习GO语言,参考网上文章,利用layUI+Go+MySQL写了个小网站(博客+后台管理+即将开始的进销存系统)

#### 自己业余时间学习GO语言,参考网上文章,利用layUI+Go+MySQL写了个小网站(博客+后台管理+即将开始的进销存系统),欢迎大家提意见,多交流,有能一起开发进销存的最好了 ### [我的测试网站 http://www.haowd.top](http://www.haowd.top "我的测试网站") ### 第一次用WEB方面的程序,见笑了,大家多指导。 #### 部分代码示例: **控制器:** ``` package controllers import ( "strings" "github.com/astaxie/beego" "github.com/lwx3i/ydd/models" "github.com/lwx3i/ydd/util" ) // NextPrep...阅读全文

golang 时间和日期

//当前时间 t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) fmt.Println(t.Year(), int(t.Local().Month()), t.Day()) //时间戳10位 秒 fmt.Println(time.Now().Unix()) //时间戳13位 毫秒 fmt.Println(time.Now().UnixNano() / 1e6) //时间戳转时间 sec := time.Now().Unix() fmt.Println(time.Unix(sec, 0).Format("2006-01-02 15:04:05")) //时间转时间戳 fmt.Println(time.Date(2020, ...阅读全文

博文 2020-05-31 09:32:47 对方正在输入_5723

没想到总结也挺费时间的

这个防盗链真是烦,图片要自己一个一个上传。 时间没把握好,睡得多了点,玩的多了点,明天两篇阅读。 四月份的计划:计划尽量固定时间段 1.上午三番茄,中午13:00睡一会,下午四个番茄【主java,基础知识;副golang的区块链】 2.背单词都在傍晚,和15分钟的听力,一篇阅读连在一起 3.半小时阅读 4.晚上,听力精听课 额外:要多翻看单词本,可以看看笔记,整理下逻辑结构,补充相应的复习视频 多出来的边角时间,可以刷b站,看视频。 要知道人家有的自学的,一天学10小时,光是时间,一天就顶我好几天,以后,学习量是会慢慢增加的...阅读全文

博文 2020-03-31 23:32:46 div密码错误div